CachedArrays: Optimizing Data Movement for Heterogeneous Memory Systems

Mark Hildebrand, Jason Lowe-Power, Venkatesh Akella. IPDPS 2024

Paper on IEEEXplore Local Paper Download IPDPS Presentation Download SC HMEM Workshop Presentation Source Code

We propose a new framework called CachedArrays and a set of APIs to address the data tiering problem in large scale heterogeneous and disaggregated memory systems. The proposed framework operates at a variable size object granularity and allows the programmer to specify semantic hints about future use of data via a Policy API, which are used by a Data Manager to choose when and where to place a particular data object using a data management API, thus bridging the semantic gap between the programmer and the platform-specific hardware details, and optimizing overall performance. We evaluate the proposed framework on a real hardware platform with terabytes of memory consisting of NVRAM and DRAM on large scale ML training workloads such CNNs that exhibit different data access and usage patterns. We show that CachedArrays outperforms hardware caches, and can exploit many of the algorithmic-specific optimizations of prior works.

CachedEmbeddings builds on top of CachedArrays.

author = {Hildebrand, Mark and Lowe-Power, Jason and Akella, Venkatesh},
title = { {CachedArrays}: Optimizing Data Movement for Heterogeneous Memory Systems},
year = {2024},
url = {},
doi = {10.1109/IPDPS57955.2024.00055},
booktitle = {Proceeding of the 2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)}