2017 IEEE 23rd International Conference on Parallel and Distributed Systems (ICPADS) (2017)
Shenzhen, Guangdong, China
Dec 15, 2017 to Dec 17, 2017
Heterogeneity in memory is becoming increasingly common in high-end computing. Several modern supercomputers, such as those based on the Intel Knights Landing or NVIDIA P100 GPU architectures, already showcase multiple memory domains that are directly accessible by user applications, including on-chip high-bandwidth memory and off-chip traditional DDR memory. The next generation of supercomputers is expected to take this architectural trend one step further by including NVRAM as an additional byte-addressable memory option. Despite these trends, allocating and managing such memory are still tedious tasks. In this paper, we present hexe, a highly flexible and portable memory allocation toolkit. Unlike other memory allocation tools such as malloc, memkind, and cudaMallocManaged, hexe presents a rich and portable memory allocation framework that allows applications to carefully and precisely manage their memory across the various memory subsystems available on the system. Together with a detailed description of the design and capabilities of hexe, we present several case studies where the flexible memory allocation in hexe allows applications to achieve superior performance compared with that of other memory allocation tools.
parallel machines, random-access storage, storage management
L. Oden and P. Balaji, "Hexe: A Toolkit for Heterogeneous Memory Management," 2017 IEEE 23rd International Conference on Parallel and Distributed Systems (ICPADS), Shenzhen, Guangdong, China, 2018, pp. 656-663.