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

[jira] [Comment Edited] (HBASE-21874) Bucket cache on Persistent memory

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

Anoop Sam John edited comment on HBASE-21874 at 2/15/19 6:01 AM:
-----------------------------------------------------------------

bq.but PmemIOEngine extends FileMmapEngine which advertises itself as persistent
We will need to make isPersistent () to be false in PmemIOEngine for now unless we make sure the persistent nature been tested wrt FT and perf.  As a 1st step we thought of adding it an IOEngine almost same perf with off heap engine and with lower cost!

You can see the FileIOEngine and FileMmapIOEngine implements sync()
{code}
public void sync() throws IOException {
    if (fileChannel != null) {
      fileChannel.force(true);
    }
  }
{code}
This is still happening for the PmemIOEngine also.  Anyway the cache persistence is valid if RS down gracefully. So that we can persist the blocks info meta and on restart use that to rebuild the cache.  So short ans is yes still the persistence is there.
The pmem APIs are to make sure that the persistence been guaranteed even in case of abrupt power downs!   



was (Author: anoop.hbase):
bq.but PmemIOEngine extends FileMmapEngine which advertises itself as persistent
We will need to make isPersistent () to be false in PmemIOEngine for now unless we make sure the persistent nature been used and tested.  As a 1st step we thought of adding it an IOEngine almost same perf with off heap engine and with lower cost!

> Bucket cache on Persistent memory
> ---------------------------------
>
>                 Key: HBASE-21874
>                 URL: https://issues.apache.org/jira/browse/HBASE-21874
>             Project: HBase
>          Issue Type: New Feature
>          Components: BucketCache
>    Affects Versions: 3.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-21874.patch, HBASE-21874.patch, Pmem_BC.png
>
>
> Non volatile persistent memory devices are byte addressable like DRAM (for eg. Intel DCPMM). Bucket cache implementation can take advantage of this new memory type and can make use of the existing offheap data structures to serve data directly from this memory area without having to bring the data to onheap.
> The patch is a new IOEngine implementation that works with the persistent memory.
> Note : Here we don't make use of the persistence nature of the device and just make use of the big memory it provides.
> Performance numbers to follow. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)