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.
ACM QueuePersistent Memory AllocationACM Queue magazine 2022
NVMWPersistent ScriptingIn NVMW ’22: 13th Annual Non-Volatile Memories Workshop 2022
$ git clone https://github.com/ucy-coast/pmgawk.git
pmgawk-0.1.0.tar.gz (May 2, 2022)