You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2014/06/13 00:52:02 UTC

[jira] [Updated] (HBASE-11323) BucketCache all the time!

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

stack updated HBASE-11323:
--------------------------

    Attachment: ReportBlockCache.pdf

Small report.  Constant row sizes so its going to give an odd view comparing the block cache deploys; lrublockcache to bucketcache offheap and bucketcache onheap. Mostly just pictures.  Here is high-level takeaway:

"LruBucketCache has lower latency and uses less CPU in all cases (all-in-cache ~20% better, mostly-in-cache ~7% better, mostly-out-of-cache about the same). Bucket cache does almost half the GC and has slightly better 95th and 99th percentiles when cache misses.  Offheap performs slightly better than onheap bucket cache.

Need to redo with different sized rows."

> BucketCache all the time!
> -------------------------
>
>                 Key: HBASE-11323
>                 URL: https://issues.apache.org/jira/browse/HBASE-11323
>             Project: HBase
>          Issue Type: Sub-task
>          Components: io
>            Reporter: stack
>             Fix For: 0.99.0
>
>         Attachments: ReportBlockCache.pdf
>
>
> One way to realize the parent issue is to just enable bucket cache all the time; i.e. always have offheap enabled.  Would have to do some work to make it drop-dead simple on initial setup (I think it doable).
> So, upside would be the offheap upsides (less GC, less likely to go away and never come back because of full GC when heap is large, etc.).
> Downside is higher latency.   In Nick's BlockCache 101 there is little to no difference between onheap and offheap.  In a basic compare doing scans and gets -- details to follow -- I have BucketCache deploy about 20% less ops than LRUBC when all incache and maybe 10% less ops when falling out of cache.   I can't tell difference in means and 95th and 99th are roughly same (more stable with BucketCache).  GC profile is much better with BucketCache -- way less.  BucketCache uses about 7% more user CPU.
> More detail on comparison to follow.
> I think the numbers disagree enough we should probably do the [~lhofhansl] suggestion, that we allow you to have a table sit in LRUBC, something the current bucket cache layout does not do.



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