A Software-based NVM Emulator Supporting Read/Write Asymmetric Latencies

Atsushi KOSHIBA  Takahiro HIROFUCHI  Ryousei TAKANO  Mitaro NAMIKI  

IEICE TRANSACTIONS on Information and Systems   Vol.E102-D    No.12    pp.2377-2388
Publication Date: 2019/12/01
Publicized: 2019/07/06
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2019PAP0018
Type of Manuscript: Special Section PAPER (Special Section on Parallel and Distributed Computing and Networking)
Category: Computer System
middleware,  non-volatile memory,  performance emulation,  asymmetric read/write latencies,  write-back awareness,  

Full Text: PDF(1.6MB)>>
Buy this Article

Non-volatile memory (NVM) is a promising technology for low-energy and high-capacity main memory of computers. The characteristics of NVM devices, however, tend to be fundamentally different from those of DRAM (i.e., the memory device currently used for main memory), because of differences in principles of memory cells. Typically, the write latency of an NVM device such as PCM and ReRAM is much higher than its read latency. The asymmetry in read/write latencies likely affects the performance of applications significantly. For analyzing behavior of applications running on NVM-based main memory, most researchers use software-based emulation tools due to the limited number of commercial NVM products. However, these existing emulation tools are too slow to emulate a large-scale, realistic workload or too simplistic to investigate the details of application behavior on NVM with asymmetric read/write latencies. This paper therefore proposes a new NVM emulation mechanism that is not only light-weight but also aware of a read/write latency gap in NVM-based main memory. We implemented the prototype of the proposed mechanism for the Intel CPU processors of the Haswell architecture. We also evaluated its accuracy and performed case studies for practical benchmarks. The results showed that our prototype accurately emulated write-latencies of NVM-based main memory: it emulated the NVM write latencies in a range from 200 ns to 1000 ns with negligible errors from 0.2% to 1.1%. We confirmed that the use of our emulator enabled us to successfully estimate performance of practical workloads for NVM-based main memory, while an existing light-weight emulation model misestimated.

open access publishing via