Abstract

Hybrid memory systems composed of emerging non-volatile memory (NVM) and DRAM have drawn increasing attention in recent years. To fully exploit the advantages of both NVM and DRAM, a primary goal is to properly place application data on the hybrid memories. Previous studies have focused on page migration schemes to achieve higher performance and energy efficiency. However, those schemes all rely on online page access monitoring (costly), and data migration at the page granularity may cause additional overhead due to DRAM bandwidth contention and maintenance of cache/TLB consistency. In this article, we present Object-level memory Allocation and Migration (OAM) mechanisms for hybrid memory systems. OAM exploits a profiling tool to characterize objects’ memory access patterns at different execution phases of applications, and applies a performance/energy model to direct the initial static memory allocation and runtime dynamic object migration between NVM and DRAM. Based on our newly-developed programming interfaces for hybrid memory systems, application source codes can be automatically transformed via static code instrumentation. We evaluate OAM on an emulated hybrid memory system, and experimental results show that OAM can significantly reduce system energy-delay-product by 61 percent on average compared to a page-interleaving data placement scheme. It can also significantly reduce data migration overhead by 83 and 69 percent compared to the state-of-the-art page migration scheme CLOCK-DWF and 2PP, respectively, while improving application performance by up to 22 and 10 percent.

Highlights

  • EMERGING byte-addressable non-volatile memory (NVM) technologies promise high density, near-zero static energy consumpution, and low cost per byte compared to DRAM

  • To mitigate the overhead of online page access monitoring and the cost of page migration in hybrid memory systems, we propose object-level memory allocation and migration mechanisms

  • Object-level memory Allocation and Migration (OAM) exploits offline profiling techniques to collect application memory access statistics, and classify the objects as stable and variable objects according to their memory access patterns

Read more

Summary

INTRODUCTION

EMERGING byte-addressable non-volatile memory (NVM) technologies promise high density, near-zero static energy consumpution, and low cost per byte compared to DRAM. To make a better data layout in hybrid memory systems, a recent work employs offline profiling tools to characterize memory access pattern at the granularity of application objects, and guides their static placements on either DRAM or NVM [15]. This scheme only considers a holistic view of memory access behaviors, and ignores the potential variation of memory access patterns, i.e., the object access frequency (hotness) may change dynamically in different execution phases.

BACKGROUND
DESIGN AND IMPLEMENTATION
System Overview
Object-Level Memory Access Profiling
Phase Identification and Object Classification
Initial Memory Allocation for Objects
Object Migration at Runtime
Experimental Methodology
Effectiveness of Static Memory Allocation
Effectiveness of Online Object Migration
Comparison of OAM With Page Migration Schemes
Adaptability to Different Datasets and Scales
Sensitivity to Different NVM Performance Features
RELATED WORK
Data Migration in Hybrid Memory Systems
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call