Pm-gawk

Persistent Scripting

Persistent scripting brings the benefits of persistent memory programming to high-level interpreted languages. More importantly, it brings the convenience and programmer productivity of scripting to persistent memory programming. We have integrated a novel generic persistent memory allocator into a popular scripting language interpreter, which now exposes a simple and intuitive persistence interface: A flag notifies the interpreter that a script’s variables reside in a persistent heap in a specified file. The interpreter begins script execution with all variables in the persistent heap ready for immediate use. New variables defined by the running script are allocated on the persistent heap and are thus available to subsequent executions. Scripts themselves are unmodified and persistent heaps may be shared freely between unrelated scripts. Experiments show that our persistent gawk prototype offers good performance while simplifying scripts, and we identify opportunities to reduce interpreter overheads.

Publications

2022

  1. MICRO
    AgileWatts: An Energy-Efficient CPU Core Idle-State Architecture for Latency-Sensitive Server Applications
    Jawad Haj-Yahya, Haris Volos, Davide B. Bartolini, Georgia Antoniou, Jeremie S. Kim, Zhe Wang, Kleovoulos Kalaitzidis, Tom Rollet, Zhirui Chen, Ye Geng, Onur Mutlu, and Yiannakis Sazeides
    In MICRO ’22: Proceedings of the 55th IEEE/ACM International Symposium on Microarchitecture 2022
  2. MICRO
    AgilePkgC: An Agile System Idle State Architecture for Energy Proportional Datacenter Servers
    Georgia Antoniou, Haris Volos, Davide B. Bartolini, Tom Rollet, Yiannakis Sazeides, and Jawad Haj-Yahya
    In MICRO ’22: Proceedings of the 55th IEEE/ACM International Symposium on Microarchitecture 2022
  3. NVMW
    Persistent Scripting
    Zi Fan Tan, Jianan Li, Haris Volos, and Terence Kelly
    In NVMW ’22: 13th Annual Non-Volatile Memories Workshop 2022
  4. ACM Queue
    Persistent Memory Allocation: Leverage to move a world of software
    Terence Kelly, Zi Fan Tan, Jianan Li, and Haris Volos
    ACM Queue magazine 2022
  5. TOCS
    Unified Holistic Memory Management Supporting Multiple Big Data Processing Frameworks over Hybrid Memories
    Lei Chen, Jiacheng Zhao, Chenxi Wang, Ting Cao, John Zigman, Haris Volos, Onur Mutlu, Fang Lv, Xiaobing Feng, Guoqing Harry Xu, and Huimin Cui
    ACM Transactions on Computer Systems 2022

Software

Github (ucy-coast/pmgawk)

$ git clone https://github.com/ucy-coast/pmgawk.git

Archive

pmgawk-0.1.0.tar.gz (May 2, 2022)