Abstract
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 instructions. Also, as in disk-based index, B3-tree is failure-atomic since it makes every 8-byte store instruction transform a consistent index into another consistent index without the help of expensive logging. Since expensive logging becomes unnecessary, the number of cacheline flush instructions required for B3-tree is significantly reduced. Our performance study shows that B3-tree outperforms other state-of-the-art persistent indexes in terms of insert and delete performance. While B3-tree shows slightly worse performance for point query performance, the range query performance of B3-tree is 2x faster than FAST and FAIR B-tree because the leaf page size of B3-tree can be set to 8x larger than that of FAST and FAIR B-tree without degrading insertion performance. We also show that read transactions can access B3-tree without acquiring a shared lock because B3-tree remains always consistent while a sequence of 8-byte write operations are making changes to it. As a result, B3-tree provides high concurrency level comparable to FAST and FAIR B-tree.
- Joy Arulraj, Andrew Pavlo, and Subramanya R. Dulloor. 2015. Let’s talk about storage 8 recovery methods for non-volatile memory database systems. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. ACM, 707--722.Google Scholar
- Trevor Brown. 2015. Reclaiming memory for lock-free data structures: There has to be better way. In Proceedings of the 34th ACM Symposium on the Principles of Distributed Computing (PODC’15).Google Scholar
Digital Library
- Shimin Chen and Qin Jin. 2015. Persistent B+-Trees in non-volatile main memory. In Proceedings of the VLDB Endowment (PVLDB) 8, 7 (2015), 786--797.Google Scholar
Digital Library
- Vijay Chidambaram, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Optimistic crash consistency. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP).Google Scholar
- Nachshon Cohen and Erez Petrank. 2015. Efficient memory management for lock-free data structures with optimistic access. In Proceedings of the 27th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA’15).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).Google Scholar
- Ru Fang, Hui-I Hsiao, Bin He, C. Mohan, and Yun Wang. 2011. High performance database logging using storage class memory. In Proceedings of the 27th International Conference on Data Engineering (ICDE). 1221--1231.Google Scholar
Digital Library
- Thomas E. Harta, Paul E. McKenney, Angela Demke Brown, and Jonathan Walpole. 2007. Performance of memory reclamation for lockless synchronization. J. Parallel and Distrib. Comput. 67 (2007), 1270--1285.Google Scholar
Digital Library
- Yiming Huai. 2008. Spin-transfer torque MRAM (STT-MRAM): Challenges and prospects. AAPPS Bulletin 18, 6 (2008), 33--40.Google Scholar
- Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi. 2014. NVRAM-aware logging in transaction systems. Proceedings of the VLDB Endowment 8, 4 (2014).Google Scholar
- Deukyeon Hwang, Wook-Hee Kim, Youjip Won, and Beomseok Nam. 2018. Endurable transient inconsistency in byte-addressable persistent b+-trees. In Proceedings of the 16th USENIX Conference on File and Storage (FAST).Google Scholar
- Intel. 2018. Intel and Micron produce breakthrough memory technology. https://newsroom.intel.com/news-releases/intel-and-micron-produce-breakthrough-memory-technology.Google Scholar
- Olzhas Kaiyrakhmet, Songyi Lee, Beomseok Nam, Sam H. Noh, and Young-Ri Choi. 2019. SLM-DB: Single-level key-value store with persistent memory. In Proceedings of the 17th USENIX Conference on File and Storage (FAST).Google Scholar
- Changkyu Kim, Jatin Chhugani, Nadathur Satish, Eric Sedlar, Anthony D. Nguyen, Tim Kaldewey, Victor W. Lee, Scott A. Brandt, and Pradeep Dubey. 2010. FAST: Fast architecture sensitive tree search on modern CPUs and GPUs. In Proceedings of 2010 ACM SIGMOD International Conference on Management of Data (SIGMOD).Google Scholar
Digital Library
- Wook-Hee Kim, Jinwoong Kim, Woongki Baek, Beomseok Nam, and Youjip Won. 2016. NVWAL: Exploiting NVRAM in write-ahead logging. In Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).Google Scholar
Digital Library
- Wook-Hee Kim, Beomseok Nam, Dongil Park, and Youjip Won. 2014. Resolving journaling 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).Google Scholar
- Aasheesh Kolli, Steven Pelley, Ali Saidi, Peter M. Chen, and Thomas F. Wenisch. 2016. High-performance transactions for persistent memories. In Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 399--411.Google Scholar
- HP Enterprise Lab. 2018. Quartz. https://github.com/HewlettPackard/quartz.Google Scholar
- 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).Google Scholar
- Se Kwon Lee, K. Hyun Lim, Hyunsub Song, Beomseok Nam, and Sam H. Noh. 2017. WORT: Write optimal radix tree for persistent memory storage systems. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST).Google Scholar
- 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.Google Scholar
- Philip L. Lehman and S. Bing Yao. 1981. Efficient locking for concurrent operations on B-trees. ACM Transactions on Database Systems 6, 4 (1981), 650--670.Google Scholar
Digital Library
- Victor Leis, Alfons Kemper, and Thomas Neumann. 2014. Exploiting hardware transactional memory in main-memory databases. In Proceedings of the 30th International Conference on Data Engineering (ICDE).Google Scholar
Cross Ref
- Lucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang, and Thomas Willhalm. 2019. Evaluating persistent memory range indexes. Proceedings of the VLDB Endowment (PVLDB) 13, 4 (2019), 574--587.Google Scholar
Digital Library
- Sparsh Mittal and Jeffrey S. Vetter. 2016. A survey of software techniques for using non-volatile memories for storage and main memory systems. IEEE Transactions on Parallel and Distributed Systems 27, 5 (May 2016), 1537--1550.Google Scholar
Digital Library
- Sparsh Mittal, Jeffrey S. Vetter, and Dong Li. 2015. A survey of architectural approaches for managing embedded DRAM and non-volatile on-chip caches. IEEE Transactions on Parallel and Distributed Systems 26, 6 (June 2015), 1524--1537.Google Scholar
Digital Library
- Moohyeon Nam, Hokeun Cha, Young ri Choi, Sam H. Noh, and Beomseok Nam. 2019. Write-optimized dynamic hashing for persistent memory. In Proceedings of the 17th USENIX Conference on File and Storage (FAST).Google Scholar
Digital Library
- Gihwan Oh, Sangchul Kim, Sang-Won Lee, and Bongki Moon. 2015. SQLite optimization with phase change memory for mobile applications. Proceedings of the VLDB Endowment (PVLDB) 8, 12 (2015), 1454--1465.Google Scholar
Digital Library
- Jiaxin Ou, Jiwu Shu, and Youyou Lu. 2016. A high performance file system for non-volatile main memory. In Proceedings of the 11th European Conference on Computer Systems (EuroSys 16).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 2016 ACM SIGMOD International Conference on Management of Data (SIGMOD).Google Scholar
Digital Library
- Jun Rao and Kenneth A. Ross. 1999. Cache conscious indexing for decision-support in main memory. In Proceedings of the 25th International Conference on Very Large Data Bases (VLDB).Google Scholar
- Jun Rao and Keneeth A. Ross. 2000. Making B+-trees cache conscious in main memory. In Proceedings of 2000 ACM SIGMOD International Conference on Management of Data (SIGMOD).Google Scholar
Digital Library
- Jihye Seo, Wook-Hee Kim, Woongki Baek, Beomseok Nam, and Sam H. Noh. 2017. Failure-atomic slotted paging for persistent memory. In Proceedings of the 22nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).Google Scholar
- Kai Shen, Stan Park, and Meng Zhu. 2014. Journaling of journal is (almost) free. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST).Google Scholar
Digital Library
- Abraham Silberschatz, Henry Korth, and S. Sudarshan. 2005. Database Systems Concepts. McGraw-Hill.Google Scholar
- Santhosh Srinath, Onur Mutlu, Hyesoon Kim, and Yale N. Patt. 2007. Feedback directed prefetching: Improving the performance and bandwidth-efficiency of hardware prefetchers. In Proceedings of IEEE 13th International Symposium on High Performance Computer Architecture (HPCA).Google Scholar
- 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).Google Scholar
- Haris Volos, Guilherme Magalhaes, Ludmila Cherkasova, and Jun Li. 2015. Quartz: A lightweight performance emulator for persistent memory software. In Proceedings of the 15th Annual Middleware Conference (Middleware’15).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).Google Scholar
- Youjip Won, Jaemin Jung, Gyeongyeol Choi, Joontaek Oh, Seongbae Son, Jooyoung Hwang, and Sangyeun Cho. 2018. Barrier-enabled io stack for flash storage. In Proceedings of the 11th USENIX Conference on File and Storage (FAST).Google Scholar
- H.-S. Philip Wong, Simone Raoux, SangBum Kim, Jiale Liang, John P. Reifenberg, Bipin Rajendran, Mehdi Asheghi, and Kenneth E. Goodson. 2010. Phase change memory. Proc. IEEE 98, 12 (2010), 2201--2227.Google Scholar
Cross Ref
- 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).Google Scholar
- Yiying Zhang and Steven Swanson. 2015. A study of application performance with non-volatile main memory. In Proceedings of the 31st International Conference on Massive Storage Systems (MSST).Google Scholar
Cross Ref
- Pengfei Zuo and Yu Hua. 2017. A write-friendly hashing scheme for non-volatile memory systems. In Proceedings of the 33rd International Conference on Massive Storage Systems and Technology (MSST).Google Scholar
Index Terms
B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory
Recommendations
clfB-tree: Cacheline Friendly Persistent B-tree for NVRAM
Special Issue on NVM and StorageEmerging 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 ...
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 ...
Mellow writes: extending lifetime in resistive memories through selective slow write backs
ISCA '16: Proceedings of the 43rd International Symposium on Computer ArchitectureEmerging 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 ...






Comments