Optimal Data Placement for Data-Centric Algorithms on NVM-Based Hybrid Memory

Yongping Luo,Peiquan Jin,Shouhong Wan
DOI: https://doi.org/10.1109/dsaa49011.2020.00035
2020-01-01
Abstract:Non-volatile memory (NVM) as a new kind of future memory has several special properties such as non-volatility, read/write asymmetry, and byte address-ability. This makes it difficult to directly replace DRAM with NVM in the current memory hierarchy. Thus, a practical way is to construct a hybrid memory composed of both NVM and DRAM. Such hybrid memory architecture introduces many new challenges for existing algorithms. In this paper, we focus on the data placement issue in NVM-based hybrid memory systems, i.e., how to place the data on DRAM and NVM for a data-centric algorithm so that it can achieve high performance on hybrid memory. Particularly, we propose an optimal data placement model (ODP) to properly store data structures on DRAM and NVM during the execution of an algorithm. We present the theoretical proof to ODP to ensure the correctness of the model. To demonstrate the efficiency of ODP, we apply the ODP to two kinds of data-centric algorithms, namely sorting and database join. For sorting algorithms, we implement four ODP-based sorting algorithms, including Insertion Sort, Selection Sort, Heapsort, and Merge Sort. For join algorithms, we implement four ODP-based join strategies, including Nested Loops Join, Sort Join, Hash Join, and Virtual Partitioning Join. We conduct comparative experiments to evaluate the performance of the sorting/join algorithms. The results show that the ODP-based sorting/join strategies are much faster than the classical sorting/join algorithms that are not NVM-aware. In addition, the ODP-based implementation can reduce more NVM writes, showing that it is more NVM-friendly.
What problem does this paper attempt to address?