Sarah Jelinek has uploaded a new change for review.
http://gerrit.cloudera.org:8080/2498
Change subject: Add implementation of the block cache on NVM running in
persistent mode.
......................................................................
Add implementation of the block cache on NVM running in persistent mode.
This commit adds support for a persistent memory cache based on libnvml[1].
The cache is configured using a new flag --nvm_cache_persistent, which is a
boolean flag. The default value is true which means that the NVM cache
is persisted by default.
For testing purposes, the new cache implementation can also be run on
any old other mount point (eg /dev/shm or a normal file system) though
there is not likely to be a performance advantage.
The code changes contained are:
* introduce the new flag to select allowing the cache to run on NVM in
persistent mode
* introduce the new cache implementation which provides retention of cache
data
on process reboot. This implementation makes use of the libpmemobj APIs to
support persistence of the key and value data per cache entry.
* support for re-populating the block cache with the existing entries
upon restart of the cache
* cfile-test now includes another parameter that tests the block
cache in persistent mode
* cache-test now includes another parameter that tests the cache in
persistent mode
Change-Id: I2dcf474bce9f2375b0ddde38312db7d82a81835c
Change-Id: I9b89df86c2a6a7c5ec725d5ba27c064f63185bba
---
M src/kudu/cfile/cfile_reader.cc
M src/kudu/util/cache.cc
M src/kudu/util/nvm_cache.cc
3 files changed, 36 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/98/2498/1
--
To view, visit http://gerrit.cloudera.org:8080/2498
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b89df86c2a6a7c5ec725d5ba27c064f63185bba
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Sarah Jelinek <[email protected]>