[ 
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)

Reply via email to