[ 
https://issues.apache.org/jira/browse/CASSANDRA-4292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-4292:
--------------------------------------

    Attachment: 4292.txt

Attaching patch to get initial feedback.

The basic idea is to create ThreadPoolExecutor per disk, and when submitting 
flush task, it is bound to one of executor based on disk space.
In this version, I set thread pool size to 1. This is fine when your data 
directories are all on spinning disks, but for SSD, you might want to increase 
this value. In order to set pool size per disk, we need to create new config 
option. Current global _memtable_flush_writers_ option is no longer used in 
this patch.
                
> Per-disk I/O queues
> -------------------
>
>                 Key: CASSANDRA-4292
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4292
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Yuki Morishita
>             Fix For: 1.2
>
>         Attachments: 4292.txt
>
>
> As noted in CASSANDRA-809, we have a certain amount of flush (and compaction) 
> threads, which mix and match disk volumes indiscriminately.  It may be worth 
> creating a tight thread -> disk affinity, to prevent unnecessary conflict at 
> that level.
> OTOH as SSDs become more prevalent this becomes a non-issue.  Unclear how 
> much pain this actually causes in practice in the meantime.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to