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

[jira] [Comment Edited] (CASSANDRA-6843) Reclaim overwritten off-heap memtable space early

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

Benedict edited comment on CASSANDRA-6843 at 4/21/14 3:29 PM:
--------------------------------------------------------------

So, in order to make this more palatable, I think it may be possible to make a dramatically simpler patch based on CASSANDRA-6694 only, that simple delegates to unsafe.allocateMemory() and unsafe.freeMemory(). A round of both clocks in at around 100-200ns, so in the grand scheme of things isn't very hefty, but the code complexity here should be pretty minimal to zero. We can have NativeAllocator configurably allocate from a block or simply the exact amount requested, and if the latter we can buffer any free() requests up and periodically commit any that were buffered prior to the latest OpOrder.Barrier issuance.

I would quite like to see this minor change make it into 2.1, as it should be really helpful to those users with an overwrite workload. We can then kick the zero-copy and off-heap-gc work down the road for now (i.e. abandon them for the time being).

[~xedin] [~slebresne] what do you think?


was (Author: benedict):
So, in order to make this more palatable, I think it may be possible to make a dramatically simpler patch based on CASSANDRA-6696 only, that simple delegates to unsafe.allocateMemory() and unsafe.freeMemory(). A round of both clocks in at around 100-200ns, so in the grand scheme of things isn't very hefty, but the code complexity here should be pretty minimal to zero. We can have NativeAllocator configurably allocate from a block or simply the exact amount requested, and if the latter we can buffer any free() requests up and periodically commit any that were buffered prior to the latest OpOrder.Barrier issuance.

I would quite like to see this minor change make it into 2.1, as it should be really helpful to those users with an overwrite workload. We can then kick the zero-copy and off-heap-gc work down the road for now (i.e. abandon them for the time being).

[~xedin] [~slebresne] what do you think?

> Reclaim overwritten off-heap memtable space early
> -------------------------------------------------
>
>                 Key: CASSANDRA-6843
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6843
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>              Labels: performance
>             Fix For: 3.0
>
>
> Perform GC on the off-heap memtable arenas



--
This message was sent by Atlassian JIRA
(v6.2#6252)