Abstract
Hardware performance monitoring units (PMUs) are a standard feature in modern microprocessors for high-performance computing (HPC) and embedded systems, by providing a rich set of microarchitectural event samplers. Recently, many profile-guided optimization (PGO) frameworks have exploited them to feature much lower profiling overhead than conventional instrumentation-based frameworks. However, existing PGO frameworks mostly focus on optimizing the layout of binaries and do not utilize 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 improves application performance by guiding and applying the optimized allocation of dynamically allocated heap objects with very low profiling overhead and without additional user intervention. To demonstrate the effectiveness of MaPHeA, we apply it to optimizing heap object allocation in an emerging DRAM-NVM heterogeneous memory system (HMS), and to selective huge-page utilization. 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. Also, by identifying large heap objects that cause frequent TLB misses and allocating them to huge pages, MaPHeA increases the performance of read and update operations of Redis by 10.6% over the transparent huge-page implementation of Linux.
Original language | English |
---|---|
Title of host publication | LCTES 2021 - Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems, co-located with PLDI 2021 |
Editors | Jorg Henkel, Xu Liu |
Publisher | Association for Computing Machinery |
Pages | 24-36 |
Number of pages | 13 |
ISBN (Electronic) | 9781450384728 |
DOIs | |
Publication status | Published - 2021 Jun 22 |
Event | 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES 2021 - Virtual, Online, Canada Duration: 2021 Jun 22 → … |
Publication series
Name | Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES) |
---|
Conference
Conference | 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES 2021 |
---|---|
Country/Territory | Canada |
City | Virtual, Online |
Period | 21/6/22 → … |
Bibliographical note
Funding Information:This work was supported by the R&D program of MOTIE/ KEIT (10077609) and the Future Semiconductor Device Development Program funded by MOTIE and KSRC (10080613).
Publisher Copyright:
© 2021 ACM.
All Science Journal Classification (ASJC) codes
- Software