Affiliation:
1. ShanghaiTech University, China
2. Singapore University of Technology and Design, Singapore
3. University of Moratuwa, Sri Lanka
Abstract
In recent years, the next-generation non-volatile memory (NVM) technologies have emerged with DRAM-like byte addressability and disk-like durability. Computer architects have proposed to use them to build
persistent memory
that blurs the conventional boundary between volatile memory and non-volatile storage. However, ARM processors, ones that are widely used in embedded computing systems, start providing architectural supports to utilize NVM since ARMv8. In this article, we consider tailoring B+-tree for NVM operated by a 64-bit ARMv8 processor. We first conduct an empirical study of performance overhead in writing and reading data for a B+-tree with an ARMv8 processor, including the time cost of cache line flushes and memory fences for crash consistency as well as the execution time of binary search compared to that of linear search. We hence identify the key weaknesses in the design of B+-tree with ARMv8 architecture. Accordingly, we develop a new B+-tree variant, namely,
<underline>c</underline>
rash
<underline>r</underline>
ecoverable
<underline>A</underline>
RMv8-oriented
<underline>B
</underline>+-tree (Crab-tree). To insert and delete data at runtime, Crab-tree selectively chooses one of two strategies, i.e., copy on write and shifting in place, depending on which one causes less consistency cost. Crab-tree regulates a strict execution order in both strategies and recovers the tree structure in case of crashes. To further improve the performance of Crab-tree, we employ three methods to reduce software overhead, cache misses, and consistency cost, respectively. We have implemented and evaluated Crab-tree in Raspberry Pi 3 Model B+ with emulated NVM. Experiments show that Crab-tree significantly outperforms state-of-the-art B+-trees designed for persistent memory by up to 2.2× and 3.7× in write and read performances, respectively, with both consistency and scalability achieved.
Funder
Ministry of Education of Singapore
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference70 articles.
1. Everspin. 2018. MRAM Technology Attributes. Retrieved from https://www.everspin.com/mram-technology-attributes. Everspin. 2018. MRAM Technology Attributes. Retrieved from https://www.everspin.com/mram-technology-attributes.
2. GraphR: Accelerating Graph Processing Using ReRAM
3. Micron and Intel. 2015. 3D XPoint Technology. Retrieved from http://www.micron.com/about/innovations/3d-xpoint-technology. Micron and Intel. 2015. 3D XPoint Technology. Retrieved from http://www.micron.com/about/innovations/3d-xpoint-technology.
4. Leveraging 3D PCRAM technologies to reduce checkpoint overhead for future exascale systems
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献