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