Automatic Code Conversion for Non-Volatile Memory

被引:0
|
作者
Yoo, Jinsoo [1 ]
Park, Yongjun [1 ]
Lee, Seongjin [2 ]
Won, Youjip [1 ]
机构
[1] Hanyang Univ, Seoul, South Korea
[2] Gyeongsang Natl Univ, Jinju, South Korea
关键词
Non Volatile Memory; Compiler; Code Generator;
D O I
10.1145/3167132.3167246
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:1071 / 1076
页数:6
相关论文
共 50 条
  • [1] Non-volatile memory
    Casagrande, Giulio
    Chung, Shine
    [J]. Digest of Technical Papers - IEEE International Solid-State Circuits Conference, 2008, 51
  • [2] PROGRAM CODE REGENERATION METHOD FOR NON-VOLATILE MEMORY PLATFORM
    Lee, Seongsu
    Won, Youjip
    [J]. PROCEEDINGS OF 2016 5TH IEEE INTERNATIONAL CONFERENCE ON NETWORK INFRASTRUCTURE AND DIGITAL CONTENT (IEEE IC-NIDC 2016), 2016, : 172 - 175
  • [3] Non-volatile memory
    Sofer, Yair
    Oowaki, Yukihito
    [J]. Digest of Technical Papers - IEEE International Solid-State Circuits Conference, 2005, 48
  • [4] Developments of non-volatile memory
    Panov, Ivan V.
    Kalinin, Sergey V.
    [J]. EDM 2006: 7TH ANNUAL INTERNATIONAL WORKSHOP AND TUTORIALS ON ELECTRON DEVICES AND MATERIALS, PROCEEDINGS, 2006, : 15 - 17
  • [5] Dependable Non-Volatile Memory
    Martens, Arthur
    Scholz, Rouven
    Lindow, Phil
    Lehnfeld, Niklas
    Kastner, Marc A.
    Kapitza, Ruediger
    [J]. SYSTOR'18: PROCEEDINGS OF THE 11TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, 2018, : 1 - 12
  • [6] Nanocrystals for non-volatile memory
    不详
    [J]. ELECTRONICS WORLD, 2000, 106 (1776): : 914 - 914
  • [7] NON-VOLATILE SEMICONDUCTOR MEMORY
    KLEIN, R
    TCHON, WE
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1982, 10 (2-3): : 129 - 138
  • [8] Volatile and Non-Volatile Single Electron Memory
    Touati, A.
    Kalboussi, A.
    [J]. JOURNAL OF NANO- AND ELECTRONIC PHYSICS, 2013, 5 (03)
  • [9] VINTER: Automatic Non-Volatile Memory Crash Consistency Testing for Full Systems
    Kalbfleisch, Samuel
    Werling, Lukas
    Bellosa, Frank
    [J]. PROCEEDINGS OF THE 2022 USENIX ANNUAL TECHNICAL CONFERENCE, 2022, : 933 - 949
  • [10] Non-volatile memory based on nanostructures
    Kalinin, Sergei
    Yang, J. Joshua
    Demming, Anna
    [J]. NANOTECHNOLOGY, 2011, 22 (25)