HEAPO
- 29 December 2014
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Storage
- Vol. 11 (1), 1-21
- https://doi.org/10.1145/2629619
Abstract
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.Keywords
Funding Information
- Ministry of Knowledge Economy
- National IT Industry Promotion Agency
- Korea Evaluation Institute of Industrial Technology
- Ministry of Science, ICT and Future Planning
This publication has 18 references indexed in Scilit:
- A File Is Not a FileACM Transactions on Computer Systems, 2012
- NONVOLATILE SPINTRONICS: PERSPECTIVES ON INSTANT-ON NONVOLATILE NANOELECTRONIC SYSTEMSSPIN, 2012
- NVMalloc: Exposing an Aggregate SSD Store as a Memory Partition in Extreme-Scale MachinesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- Whole-system persistencePublished by Association for Computing Machinery (ACM) ,2012
- MnemosynePublished by Association for Computing Machinery (ACM) ,2011
- FRASHACM Transactions on Storage, 2010
- Scalable high performance main memory system using phase-change memory technologyACM SIGARCH Computer Architecture News, 2009
- BigtableACM Transactions on Computer Systems, 2008
- The Conquest file systemACM Transactions on Storage, 2006
- Burst triesACM Transactions on Information Systems, 2002