Non-volatile memory (NVM) has the potential to become a mainstream memory technology and challenge DRAM. Researchers evaluating the speed, endurance, and abstractions of hybrid memories with DRAM and NVM typically use simulation, making it easy to evaluate the impact of different hardware technologies and parameters. Simulation is, however, extremely slow, limiting the applications and datasets in the evaluation. Simulation also precludes critical workloads, especially those written in managed languages such as Java and C#. Good methodology embraces a variety of techniques for evaluating new ideas, expanding the experimental scope, and uncovering new insights. This paper introduces a platform to emulate hybrid memory for managed languages using commodity NUMA servers. Emulation complements simulation but offers richer software experimentation. We use a thread-local socket to emulate DRAM and a remote socket to emulate NVM. We use standard C library routines to allocate heap memory on the DRAM and NVM sockets for use with explicit memory management or garbage collection. We evaluate the emulator using various configurations of write-rationing garbage collectors that improve NVM lifetimes by limiting writes to NVM, using 15 applications and various datasets and workload configurations. We show emulation and simulation confirm each other's trends in terms of writes to NVM for different software configurations, increasing our confidence in predicting future system effects. Emulation brings novel insights, such as the non-linear effects of multi-programmed workloads on NVM writes, and that Java applications write significantly more than their C++ equivalents. We make our software infrastructure publicly available to advance the evaluation of novel memory management schemes on hybrid memories.
Original languageEnglish
Title of host publication2019 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)
PublisherIEEE
Pages93-105
Number of pages13
ISBN (Electronic)978-1-7281-0746-2
ISBN (Print)978-1-7281-0747-9
DOIs
Publication statusPublished - 22 Apr 2019
Event2010 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) - Madison, United States
Duration: 24 Mar 201926 Mar 2019
http://www.ispass.org/ispass2019/

Publication series

NameProceedings - 2019 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2019

Conference

Conference2010 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)
CountryUnited States
CityMadison
Period24/03/1926/03/19
Internet address

ID: 45784097