You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "graham sanderson (JIRA)" <ji...@apache.org> on 2014/10/22 02:55:35 UTC

[jira] [Commented] (CASSANDRA-6890) Standardize on a single read path

    [ https://issues.apache.org/jira/browse/CASSANDRA-6890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14179429#comment-14179429 ] 

graham sanderson commented on CASSANDRA-6890:
---------------------------------------------

I haven't followed this entire thread - I just happened across it - so this may be moot at this point, but I thought I'd throw it out there.

&bq. mmap is better for the number of reasons but mostly because we have to do less syscalls and less copies (especially cross mode boundary). So I would, as well, vote to leave it and remove buffered I/O instead.

We just observed this in the wild on similar high end machines to that on which we run C* (40 cores, lots of high perf disks, RAM etc). With a large number of reader threads (in this cased doing random pread64 I/O against a single fd) we were seeing a *significant* cliff where performance dropped off alarmingly quickly (very high user and kernel CPU, with little to no actual disk I/O). In this case the data files fit in the page cache which obviously makes the problem more visible. Anyway.

> Standardize on a single read path
> ---------------------------------
>
>                 Key: CASSANDRA-6890
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6890
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Joshua McKenzie
>            Assignee: Joshua McKenzie
>              Labels: performance
>             Fix For: 3.0
>
>         Attachments: 6890_v1.txt, mmap_gc.jpg, mmap_jstat.txt, mmap_perf.txt, nommap_gc.jpg, nommap_jstat.txt
>
>
> Since we actively unmap unreferenced SSTR's and also copy data out of those readers on the read path, the current memory mapped i/o is a lot of complexity for very little payoff.  Clean out the mmapp'ed i/o on the read path.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)