Understanding and analysis of B+ trees on NVM towards consistency and efficiency

2020 
The emerging non-volatile memory (NVM) possesses DRAM-like performance and disk-like persistency, driving a trend of building single-level storage systems by replacing DRAM and disks. Using NVM as the universal main memory brings opportunities and challenges to the design of new persistent in-memory data structures. In this context, several prior works have designed consistent and persistent B+ trees on NVM. However, All of them evaluate performance of B+ trees by applying an NVM performance simulator and can not provide concrete guidance on how to develop B+ trees with good performance on NVM. In this paper, by using Optane DCs, we aim to study and analyze the influence factors of designing B+ trees on NVM through a series of experiments and provide guidance on how to design efficient B+ trees on NVM. According to our experiments and analysis, we draw several conclusions which are either not presented in prior works, or contrary to current ideas. We discover that the performance of B+ trees is greatly affected by data formats. For example, we analyze the software layer optimizations and hardware layer optimizations separately and find that software layer optimizations do not always improve performance. Furthermore, B+ trees place multiple entries on one node and the shift and balance overhead of FPTree accounts for 39% of the total overhead.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    53
    References
    0
    Citations
    NaN
    KQI
    []