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
来源
33RD ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING | 2018年
关键词
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 条
  • [21] A Graphene-Based Non-Volatile Memory
    Loisel, Loic
    Maurice, Ange
    Lebental, Berengere
    Vezzoli, Stefano
    Cojocaru, Costel-Sorin
    Tay, Beng Kang
    CARBON NANOTUBES, GRAPHENE, AND EMERGING 2D MATERIALS FOR ELECTRONIC AND PHOTONIC DEVICES VIII, 2015, 9552
  • [22] Persistence Programming Models for Non-volatile Memory
    Boehm, Hans-J.
    Chakrabarti, Dhruva R.
    ACM SIGPLAN NOTICES, 2016, 51 (11) : 55 - 67
  • [23] ECC-Based Bit-Write Reduction Code Generation for Non-Volatile Memory
    Tawada, Masashi
    Kimura, Shinji
    Yanagisawa, Masao
    Togawa, Nozomu
    IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS COMMUNICATIONS AND COMPUTER SCIENCES, 2015, E98A (12) : 2494 - 2504
  • [24] Non-volatile memory based in-memory computing technology
    Zhou Zheng
    Huang Peng
    Kang Jin-Feng
    ACTA PHYSICA SINICA, 2022, 71 (14)
  • [25] ZnO as dielectric for optically transparent non-volatile memory
    Salim, N. Tjitra
    Aw, K. C.
    Gao, W.
    Wright, Bryon E.
    THIN SOLID FILMS, 2009, 518 (01) : 362 - 365
  • [26] Atlas: Leveraging Locks for Non-volatile Memory Consistency
    Chakrabarti, Dhruva R.
    Boehm, Hans-J.
    Bhandari, Kumud
    ACM SIGPLAN NOTICES, 2014, 49 (10) : 433 - 452
  • [27] Object-Oriented Recovery for Non-volatile Memory
    Cohen, Nachshon
    Aksun, David T.
    Larus, James R.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [28] Non-volatile Memory Devices Based on Chalcogenide Materials
    Wang, Fei
    Wu, Xiaolong
    PROCEEDINGS OF THE 2009 SIXTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: NEW GENERATIONS, VOLS 1-3, 2009, : 5 - +
  • [29] Object-Oriented Recovery for Non-volatile Memory
    Cohen, Nachshon
    Aksun, David T.
    Larus, James R.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [30] Makalu: Fast Recoverable Allocation of Non-volatile Memory
    Bhandari, Kumud
    Chakrabarti, Dhruva R.
    Boehm, Hans-J.
    ACM SIGPLAN NOTICES, 2016, 51 (10) : 677 - 694