You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/09/15 03:51:58 UTC

[jira] Created: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

improve throughput for normal inserts on many-core systems
----------------------------------------------------------

                 Key: CASSANDRA-444
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Jonathan Ellis
             Fix For: 0.5


move the serialization of commitlog Row to the calling thread, not the CL executor

shard the memtable lock

others?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-444:
-------------------------------------

    Attachment: 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
                0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
                0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756957#action_12756957 ] 

Jun Rao commented on CASSANDRA-444:
-----------------------------------

Yes, I was thinking about CLHM.

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757663#action_12757663 ] 

Hudson commented on CASSANDRA-444:
----------------------------------

Integrated in Cassandra #202 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/202/])
    r/m memtableLock; it is redundant wrt flusherLock
patch by jbellis; reviewed by junrao for 
cleanup; r/m unused code
patch by jbellis; reviewed by junrao for 
serialize row outside of commitlog executor to improve parallelizability
patch by jbellis; reviewed by junrao for 
move per-key locking inside Memtable and shard it.
patch by jbellis; reviewed by junrao for 


> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-444:
-------------------------------------

    Attachment:     (was: 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt)

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-444:
-------------------------------------

    Attachment: 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
                0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-444:
----------------------------------------

    Assignee: Jonathan Ellis

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756505#action_12756505 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

NBHM is threadafe, but resolve is not (neither the merge/addColumn, or the put call.  you could fix the put with the NBHM atomic put op, but since if you miss and have to merge, you need to take out the lock anyway, it doesn't seem like much of a win to avoid the simpler, single lock call)

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757243#action_12757243 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

committed.

2 is the smallest value that doesn't force a rehash when you do a single insert.  (The default is 16; you can supply a size of 0 but it will still allocate a backing array of size 1.)

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756347#action_12756347 ] 

Jun Rao commented on CASSANDRA-444:
-----------------------------------

Why do we need keyLocks in Memtable? NonBlockingHashMap is thread-safe for writes too, right?

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757241#action_12757241 ] 

Jun Rao commented on CASSANDRA-444:
-----------------------------------

+1. Rerun the performance test.
run1: 2m24s
run2: 2m30s

Seems to improve a bit.

Also, do we really need to initialize memtablesToFlush with a capacity of 2? Most of the time, memtablesToFlush will be empty.


> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756223#action_12756223 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

02
    serialize row outside of commitlog executor to improve parallelizability

01
    CASSANDRA-444 move per-key locking inside Memtable and shard it


> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756859#action_12756859 ] 

Jun Rao commented on CASSANDRA-444:
-----------------------------------

The patch looks fine. Did the same test as in http://issues.apache.org/jira/browse/CASSANDRA-445 with the patch. The results are:
run1: 2m42s
run2: 2m32s

Doesn't seem to improve performance much.

Could you add a link to how the concurrency bug in NonBlockingHashMap was fixed?

Can I commit #444 before this one?


> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756530#action_12756530 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

On second thought, in a workload where rows are infrequently updated, it could be a win to use putIfAbsent.  patch 03 does this.

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-444:
-------------------------------------

    Attachment: 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
                0003-cleanup-r-m-unused-code.txt
                0002-serialize-row-outside-of-commitlog-executor-to-improve.txt
                0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Chris Goffinet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Goffinet closed CASSANDRA-444.
------------------------------------


> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-444:
-------------------------------------

    Attachment:     (was: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt)

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756896#action_12756896 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

I'm not aware of any bugs in NBHM. (Are you thinking of CLHM from CASSANDRA-405?)

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756859#action_12756859 ] 

Jun Rao edited comment on CASSANDRA-444 at 9/17/09 4:45 PM:
------------------------------------------------------------

The patch looks fine. Did the same test as in http://issues.apache.org/jira/browse/CASSANDRA-445 with the patch. The results are:
run1: 2m42s
run2: 2m32s

Doesn't seem to improve performance much.

Could you add a link to how the concurrency bug in NonBlockingHashMap was fixed?

Can I commit #445 before this one?


      was (Author: junrao):
    The patch looks fine. Did the same test as in http://issues.apache.org/jira/browse/CASSANDRA-445 with the patch. The results are:
run1: 2m42s
run2: 2m32s

Doesn't seem to improve performance much.

Could you add a link to how the concurrency bug in NonBlockingHashMap was fixed?

Can I commit #444 before this one?

  
> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-444) improve throughput for normal inserts on many-core systems

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757194#action_12757194 ] 

Jonathan Ellis commented on CASSANDRA-444:
------------------------------------------

rebased (combining old patches 2 and 3) and added patches 3 and 4 to finish cleaning out memtableLock in favor of Table.flusherLock

> improve throughput for normal inserts on many-core systems
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-444
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>         Attachments: 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0001-CASSANDRA-444-move-per-key-locking-inside-Memtable-and.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0002-serialize-row-outside-of-commitlog-executor-to-improve.txt, 0003-cleanup-r-m-unused-code.txt, 0003-use-putIfAbsent-to-avoid-locking-on-first-insert.txt, 0004-r-m-memtableLock-it-is-redundant-wrt-flusherLock.txt
>
>
> move the serialization of commitlog Row to the calling thread, not the CL executor
> shard the memtable lock
> others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.