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

Anastasia Braginsky commented on HBASE-19282:
---------------------------------------------

bq. My intention for asking that was to do in a PoC way and measure the diff.. 
Ya when MSLAB is on heap all are on heap only.
I fully understand what you are saying and in HBASE-19506 I have said that the 
JIRA is opened to check the issue. It is not a one line fix to check, and is 
not related to this JIRA, therefore can not be done as part of this JIRA. But 
we will do it on separate JIRA. You are welcome to use this JIRA as well.

bq.  The diff is whether u want to waste the 2 MB chunks for much smaller sized 
index. The index is going to stick there for some more time until flushes. Or 
else the MSLAB should have been gives more space total considering the index 
chunk needs also.
Clearly it sounds not reasonable to waste the 2 MB chunks. However the index is 
not there till the flush-to-disk, but till next merge; and the more merges we 
do the bigger the index is. One chunk index serves 2^19 cells (about half 
million), therefore it is not likely to have more then one index chunk per 
MSLAB. From here, I do not think MSLAB should have more space total considering 
the index chunk needs.

bq. Say for index we need a size of 0.5 MB. We use the 2 MB chunk for this. Any 
way the total chunks in MSLAB pool is fixed. So this might cause a request for 
chunk for storing the cells, to create an on demand one. 
bq. So will end up making a 2 MB on heap chunk instead we would have just 
created a 0.5 MB earlier.
This is very clear, that fixed-size-chunks can be underutilized. I am with you 
for creating a variable-size chunks. However, all chunks need to be created via 
ChunkCreator. Please pay attention that to allocate an on-demand memory 
off-heap is expensive. And you can not reuse those variable-size chunks (put 
them into pool). So this is not a trivial answer whether it 100% worth to make 
a variable-sized chunks.



> CellChunkMap Benchmarking and User Interface
> --------------------------------------------
>
>                 Key: HBASE-19282
>                 URL: https://issues.apache.org/jira/browse/HBASE-19282
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anastasia Braginsky
>         Attachments: CCM Benchmarking.pdf
>
>
> We have made some experiments how working with CellChunkMap (CCM) influences 
> the performance when running on-heap and off-heap. Based on those results it 
> is suggested to tie the MSLAB usage (off-heap or on-heap) with CCM index 
> usage.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to