Abstract
Emerging byte-addressable non-volatile memory (NVRAM) is expected to replace block device storages as an alternative low-latency persistent storage device. If NVRAM is used as a persistent storage device, a cache line instead of a disk page will be the unit of data transfer, consistency, and durability.
In this work, we design and develop clfB-tree—a B-tree structure whose tree node fits in a single cache line. We employ existing write combining store buffer and restricted transactional memory to provide a failure-atomic cache line write operation. Using the failure-atomic cache line write operations, we atomically update a clfB-tree node via a single cache line flush instruction without major changes in hardware. However, there exist many processors that do not provide SW interface for transactional memory. For those processors, our proposed clfB-tree achieves atomicity and consistency via in-place update, which requires maximum four cache line flushes. We evaluate the performance of clfB-tree on an NVRAM emulation board with ARM Cortex A-9 processor and a workstation that has Intel Xeon E7-4809 v3 processor. Our experimental results show clfB-tree outperforms wB-tree and CDDS B-tree by a large margin in terms of both insertion and search performance.
- Rudolf Bayer and Karl Unterauer. 1977. Prefix B-trees. ACM Trans. Database Syst. (TODS) 2, 1 (1977), 11--26. Google Scholar
Digital Library
- Shimin Chen and Qin Jin. 2015. Persistent B+-Trees in non-volatile main memory. Proc. VLDB Endow. (PVLDB) 8, 7 (2015), 786--797. Google Scholar
Digital Library
- Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making persisten objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). Google Scholar
Digital Library
- J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. C. Lee, D. Burger, and D. Coetzee. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP’09). Google Scholar
Digital Library
- Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System software for persistent memory. In Proceedings of the 9th ACM European Conference on Computer Systems (EuroSys’14). 15:1--15:15. Google Scholar
Digital Library
- Jorge Guerra, Leonardo Marmol, Daniel Campello, Carlos Crespo, Raju Rangaswami, and Jinpeng Wei. 2012. Software persistent memory. In Proceedings of the USENIX Annual Technical Conference (ATC’12). Google Scholar
Digital Library
- Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi. 2014. NVRAM-aware logging in transaction systems. Proc. VLDB Endow. 8, 4 (2014). Google Scholar
Digital Library
- Taeho Hwang, Jaemin Jung, and Youjip Won. 2014. HEAPO: Heap-based persistent object store. ACM Trans. Stor. (TOS) 11, 1 (2014). Google Scholar
Digital Library
- Dohee Kim, Eunji Lee, Sungyong Ahn, and Hyokyung Bahn. 2013. Improving the storage performance of smartphones through journaling in non-volatile memory. IEEE Trans. Consum. Electron. 59, 3 (2013), 556--561.Google Scholar
Cross Ref
- Junghoon Kim, Changwoo Min, and Young Ik Eom. 2014. Reducing excessive journaling overhead with small-sized NVRAM for mobile devices. IEEE Trans. Consum. Electron. 6, 2 (June 2014).Google Scholar
- Wook-Hee Kim, Beomseok Nam, Dongil Park, and Youjip Won. 2014. Resolving journling of journal anomaly in android I/O: Multi-version B-tree with lazy split. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’14). Google Scholar
Digital Library
- Eunji Lee, Hyokyung Bahn, and Sam H. Noh. 2013. Unioning of the buffer cache and journaling layers with non-volatile memory. In Proceedings of the 11th USENIX conference on File and Storage Technologies (FAST’13). Google Scholar
Digital Library
- Taemin Lee, Dongki Kim, Hyunsun Park, and Sungjoo Yoo. 2014. FPGA-based prototyping systems for emerging memory technologies. In Proceedings of the 25th IEEE International Symposium on Rapid System Prototyping (RSP’14).Google Scholar
Cross Ref
- Wongun Lee, Keonwoo Lee, Hankeun Son, Wook-Hee Kim, Beomseok Nam, and Youjip Won. 2015. WALDIO: Eliminating the filesystem journaling in resolving the journaling of journal anomaly. In Proceedings of the 2015 USENIX Anual Technical Conference (ATC’15). Google Scholar
Digital Library
- Ren-Shuo Liu, De-Yu Shen, Chia-Lin Yang, Shun-Chih Yu, Cheng-Yuan, and Michael Wang. 2014. NVM duet: Unified working memory and persistent store architecture. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). Google Scholar
Digital Library
- Youyou Lu, Jiwu Shu, and Long Sun. 2015. Blurred persistence in transactional persistent memory. In Proceedings of the 31st International Conference on Massive Storage Systems and Technology (MSST’15).Google Scholar
Cross Ref
- Iulian Moraru, David G. Andersen, Michael Kaminsky, Niraj Tolia, Nathan Binkert, and Parthasarathy Ranganathan. 2013. Consistent, durable, and safe memory management for byte-addressable non volatile main memory. In Proceedings of the ACM Conference on Timely Results in Operating Systems (TRIOS’13). Google Scholar
Digital Library
- Gihwan Oh, Sangchul Kim, Sang-Won Lee, and Bongki Moon. 2015. SQLite optimization with phase change memory for mobile applications. Proc. VLDB Endow. (PVLDB) 8, 12 (2015), 1454--1465. Google Scholar
Digital Library
- Ismail Oukid, Johan Lasperas, Anisoara Nica, Thomas Willhalm, and Wolfgang Lehner. 2016. FPTree: A hybrid SCM-DRAM persistent and concurrent B-tree for storage class memory. In Proceedings of the 2016 ACM SIGMOD International Conference on Management of Data (SIGMOD’16). Google Scholar
Digital Library
- Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory persistency. In Proceedings of the 41st International Symposium on Computer Architecture (ISCA’14). 265--276. Google Scholar
Digital Library
- Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, and Roy H. Campbell. 2011. Consistent and durable data structures for non-volatile byte-addressable memory. In Proceedings of the 9th USENIX conference on File and Storage Technologies (FAST’11). Google Scholar
Digital Library
- Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight persistent memory. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). Google Scholar
Digital Library
- Zhaoguo Wang, Hao Qian, Jinyang Li, and Haibo Chen. 2014. Using restricted transactional memory to build a scalable in-memory database. In Proceedings of the ACM SIGOPS/Eurosys European Conference on Computer Systems (EuroSys’14). Google Scholar
Digital Library
- Xiaojian Wu and A. L. Narasimha Reddy. 2011. SCMFS: A file system for storage class memory. In Proceedings of the ACM/IEEE SC2011 Conference. Google Scholar
Digital Library
- Jun Yang, Qingsong Wei, Cheng Chen, Chundong Wang, and Khai Leong Yong. 2015. NV-Tree: Reducing consistency const for NVM-based single level systems. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). Google Scholar
Digital Library
Index Terms
clfB-tree: Cacheline Friendly Persistent B-tree for NVRAM
Recommendations
B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory
In this work, we propose B3-tree, a hybrid index for persistent memory that leverages the byte-addressability of the in-memory index and the page locality of B-trees. As in the byte-addressable in-memory index, B3-tree is updated by 8-byte store ...
Mellow writes: extending lifetime in resistive memories through selective slow write backs
ISCA'16Emerging resistive memory technologies, such as PCRAM and ReRAM, have been proposed as promising replacements for DRAM-based main memory, due to their better scalability, low standby power, and non-volatility. However, limited write endurance is a major ...
Redesign the Memory Allocator for Non-Volatile Main Memory
Special Issue on Hardware and Algorithms for Learning On-a-chip and Special Issue on Alternative Computing SystemsThe non-volatile memory (NVM) has the merits of byte-addressability, fast speed, persistency and low power consumption, which make it attractive to be used as main memory. Commonly, user process dynamically acquires memory through memory allocators. ...






Comments