You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Joshua McKenzie (JIRA)" <ji...@apache.org> on 2014/04/29 21:14:16 UTC

[jira] [Commented] (CASSANDRA-6890) Remove mmap'ed i/o from read path

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

Joshua McKenzie commented on CASSANDRA-6890:
--------------------------------------------

I did some further performance testing for CASSANDRA-7001 to make sure there weren't any performance regressions and mmap'ed index file I/O performance on linux looks to have a decidedly different profile than on Windows.

|Linux Mmap v. Buffered||
|4 Thread Count|17.28%|
|8 Thread Count|21.73%|
|16 Thread Count|23.82%|
|24 Thread Count|31.01%|
|36 Thread Count|36.52%|
|54 Thread Count|27.72%|
|81 Thread Count|17.18%|
|121 Thread Count|11.88%|
|181 Thread Count|-3.39%|
|271 Thread Count|-4.47%|

|Windows Mmap v. Buffered|
|4 Thread Count|10.25%|
|8 Thread Count|7.81%|
|16 Thread Count|10.72%|
|24 Thread Count|13.88%|
|36 Thread Count|17.48%|
|54 Thread Count|28.81%|
|81 Thread Count|40.49%|
|121 Thread Count|40.78%|
|181 Thread Count|35.00%|
|271 Thread Count|33.00%|

This is controlling for dataset, stress application, and environment to some degree - clean non-tuned installs of win7 vs. ubuntu 14.04, so no changes in kernel params, file cache settings, kernel scheduler on either platform, etc.  Previous testing had the stress client running on the same host as the C* instance which unfavorably reflected on Windows as looks to be CPU-bound at a much lower thread-count than linux.

It's somewhat interesting to note that buffered I/O uses roughly 35% more privileged cpu-time than memory-mapped, whereas user, interrupt, and all other processor counters show comparable load between the two configurations.




> Remove mmap'ed i/o from read path
> ---------------------------------
>
>                 Key: CASSANDRA-6890
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6890
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Joshua McKenzie
>            Assignee: Joshua McKenzie
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: 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.2#6252)