MegaMmap: Blurring the Boundary Between Memory and Storage for Data-Intensive Workloads
Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis SC · IEEE Computer Society
Abstract
Large-scale data analytics, scientific simulation, and deep learning codes in HPC perform massive computations on data greatly exceeding the bounds of main memory. These out-of-core algorithms suffer from severe data movement penalties, programming complexity, and limited code reuse. To solve this, HPC sites have steadily increased DRAM capacity. However, this is not sustainable due to financial and environmental costs. A more elegant, low-cost, and portable solution is to expand memory to distributed multitiered storage. In this work, we propose MegaMmap: a software distributed shared memory (DSM) that enlarges effective memory capacity through intelligent tiered DRAM and storage management. MegaMmap provides workload-aware data organization, eviction, and prefetching policies to reduce DRAM consumption while ensuring speedy access to critical data. A variety of memory coherence optimizations are provided through an intuitive hinting system. Evaluations show that various workloads can be executed with a fraction of the DRAM while offering competitive performance.
Connected work
Citation
@inproceedings{logan2024megammap,
author = {Logan, Luke and Kougkas, Anthony and Sun, Xian-He},
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis SC},
title = {MegaMmap: Blurring the Boundary Between Memory and Storage for Data-Intensive Workloads},
year = {2024},
month = nov,
publisher = {IEEE Computer Society},
volume = {},
number = {},
pages = {1725-1742},
keywords = {HPC, Systems Software, Memory Tiering, Storage Tiering},
doi = {10.1109/SC41406.2024.00114},
url = {https://dl.acm.org/doi/abs/10.1109/SC41406.2024.00114},
}