Automatic code conversion for non-volatile memory

Jinsoo Yoo, Yongjun Park, Seongjin Lee, Youjip Won

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Non-Volatile Memories (NVMs), such as Phase Change Memories (PCMs) and Resistive RAMs (ReRAMs), have been recently proposed as a main memory due to their higher capacity and low leakage power consumption compared to traditional DRAMs. In order to support the NVM-based systems, many software platforms are developed and they provide user-level programming interfaces. However, many existing applications are already written based on the conventional DRAM-based systems; thus, programmers have to rewrite or modify the code in order for the code to successfully run on NVM-based systems. In order to solve this problem, we introduce a code-conversion tool named a Code Regenerator that transforms applications that are originally designed for conventional operating systems using DRAM as a main memory into applications that runs on HEAPO which is a non-volatile memory based software platform. The code regenerator consists of code profiler and code generator. Among all dynamic and static memory objects of an application, code profiler profiles the code to find the objects that fit well into the characteristics of NVM. Based on the profiling result, code generator re-writes the target application code to exploit NVM through HEAPO programming interfaces based on the profiling result. In this paper, we demonstrate that applications transformed through code regenerator stably run on NVM platform without manual code modification. By allocating read-intensive memory objects to NVM, the regenerated applications reduce the energy consumption by up to 44% compared to that of the original applications.

Original languageEnglish
Title of host publicationProceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018
PublisherAssociation for Computing Machinery
Number of pages6
ISBN (Electronic)9781450351911
Publication statusPublished - 2018 Apr 9
Event33rd Annual ACM Symposium on Applied Computing, SAC 2018 - Pau, France
Duration: 2018 Apr 92018 Apr 13

Publication series

NameProceedings of the ACM Symposium on Applied Computing


Conference33rd Annual ACM Symposium on Applied Computing, SAC 2018

Bibliographical note

Publisher Copyright:
© 2018 ACM.

All Science Journal Classification (ASJC) codes

  • Software


Dive into the research topics of 'Automatic code conversion for non-volatile memory'. Together they form a unique fingerprint.

Cite this