MaPHeA: A Framework for Lightweight Memory Hierarchy-aware Profile-guided Heap Allocation

Deok Jae Oh, Yaebin Moon, Do Kyu Ham, Tae Jun Ham, Yongjun Park, Jae W. Lee, Jung Ho Ahn, Eojin Lee

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)

Abstract

Hardware performance monitoring units (PMUs) are a standard feature in modern microprocessors, providing a rich set of microarchitectural event samplers. Recently, numerous profile-guided optimization (PGO) frameworks have exploited them to feature much lower profiling overhead compared to conventional instrumentation-based frameworks. However, existing PGO frameworks mainly focus on optimizing the layout of binaries; they overlook rich information provided by the PMU about data access behaviors over the memory hierarchy. Thus, we propose MaPHeA, a lightweight Memory hierarchy-aware Profile-guided Heap Allocation framework applicable to both HPC and embedded systems. MaPHeA guides and applies the optimized allocation of dynamically allocated heap objects with very low profiling overhead and without additional user intervention to improve application performance. To demonstrate the effectiveness of MaPHeA, we apply it to optimizing heap object allocation in an emerging DRAM-NVM heterogeneous memory system (HMS), selective huge-page utilization, and controlling the cacheability of the objects with the low temporal locality. In an HMS, by identifying and placing frequently accessed heap objects to the fast DRAM region, MaPHeA improves the performance of memory-intensive graph-processing and Redis workloads by 56.0% on average over the default configuration that uses DRAM as a hardware-managed cache of slow NVM. By identifying large heap objects that cause frequent TLB misses and allocating them to huge pages, MaPHeA increases the performance of the read and update operations of Redis by 10.6% over the transparent huge-page implementation of Linux. Also, by distinguishing the objects that cause cache pollution due to their low temporal locality and applying write-combining to them, MaPHeA improves the performance of STREAM and RADIX workloads by 20.0% on average over the system without cacheability control.

Original languageEnglish
Article number2
JournalACM Transactions on Embedded Computing Systems
Volume22
Issue number1
DOIs
Publication statusPublished - 2022 Dec 13

Bibliographical note

Funding Information:
This work was partly supported by the R&D program of MOTIE/KEIT (10077609), by the Engineering Research Center Program through the National Research Foundation of Korea (NRF) funded by the Korean Government MSIT (NRF-2018R1A5A1059921), and by Inha University Research Grant. Jung Ho Ahn is with the Department of Intelligence and Information, the Institute of Computer Technology, the Research Institute for Convergence Science, and the Inter-University Semiconductor Research Center, Seoul National University, Seoul, South Korea.

Funding Information:
This work was partly supported by the R&D program of MOTIE/KEIT (10077609), by the Engineering Research Center Program through the National Research Foundation of Korea (NRF) funded by the Korean Government MSIT (NRF-2018R1A5A1059921), and by Inha University Research Grant. Jung Ho Ahn is with the Department of Intelligence and Information, the Institute of Computer Technology, the Research Institute for Convergence Science, and the Inter- University Semiconductor Research Center, Seoul National University, Seoul, South Korea.

Publisher Copyright:
© 2022 Association for Computing Machinery.

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'MaPHeA: A Framework for Lightweight Memory Hierarchy-aware Profile-guided Heap Allocation'. Together they form a unique fingerprint.

Cite this