Javascript must be enabled to continue!
HEAPO
View through CrossRef
In this work, we developed a Heap-Based Persistent Object Store (HEAPO) to manage persistent objects in byte-addressable Nonvolatile RAM (NVRAM). HEAPO defines its own persistent heap layout, the persistent object format, name space organization, object sharing and protection mechanism, and undo-only log-based crash recovery, all of which are effectively tailored for NVRAM. We put our effort into developing a
lightweight
and
flexible
layer to exploit the DRAM-like access latency of NVRAM. To address this objective, we developed (i) a native management layer for NVRAM to eliminate redundancy between in-core and on-disk copies of the metadata, (ii) an expandable object format, (iii) a burst trie-based global name space with local name space caching, (iv) static address binding, and (v)
minimal
logging for
undo-only
crash recovery. We implemented HEAPO at commodity OS (Linux 2.6.32) and measured the performance. By eliminating metadata redundancy, HEAPO improved the speed of creating, attaching, and expanding an object by 1.3×, 4.5×, and 3.8×, respectively, compared to memory-mapped file-based persistent object store. Burst trie-based name space organization of HEAPO yielded 7.6× better lookup performance compared to hashed B-tree-based name space of EXT4. We modified memcachedb to use HEAPO in maintaining its search structure. For hash table update, HEAPO-based memcachedb yielded 3.4× performance improvement against original memcachedb implementation which uses mmap() over ramdisk approach to maintain the key-value store in memory.
Association for Computing Machinery (ACM)
Title: HEAPO
Description:
In this work, we developed a Heap-Based Persistent Object Store (HEAPO) to manage persistent objects in byte-addressable Nonvolatile RAM (NVRAM).
HEAPO defines its own persistent heap layout, the persistent object format, name space organization, object sharing and protection mechanism, and undo-only log-based crash recovery, all of which are effectively tailored for NVRAM.
We put our effort into developing a
lightweight
and
flexible
layer to exploit the DRAM-like access latency of NVRAM.
To address this objective, we developed (i) a native management layer for NVRAM to eliminate redundancy between in-core and on-disk copies of the metadata, (ii) an expandable object format, (iii) a burst trie-based global name space with local name space caching, (iv) static address binding, and (v)
minimal
logging for
undo-only
crash recovery.
We implemented HEAPO at commodity OS (Linux 2.
6.
32) and measured the performance.
By eliminating metadata redundancy, HEAPO improved the speed of creating, attaching, and expanding an object by 1.
3×, 4.
5×, and 3.
8×, respectively, compared to memory-mapped file-based persistent object store.
Burst trie-based name space organization of HEAPO yielded 7.
6× better lookup performance compared to hashed B-tree-based name space of EXT4.
We modified memcachedb to use HEAPO in maintaining its search structure.
For hash table update, HEAPO-based memcachedb yielded 3.
4× performance improvement against original memcachedb implementation which uses mmap() over ramdisk approach to maintain the key-value store in memory.

