Persistent Scripting

Wed Sep 14 | 9:30am
Location:
Salon V
Abstract

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.

Learning Objectives

  • Attendees will learn the implementation of a novel persistent memory allocator that is compatible with conventional malloc/free and that integrates with relative ease into complex legacy code bases.
  • Attendees will walk through a detailed case study in which the new allocator is integrated into a scripting language interpreter, thereby endowing scripts run by the allocator with transparent persistence.
  • Attendees will learn crash-tolerance mechanisms that prevent failures such as power outages and OS kernel panics from corrupting persistent data in persistent scripting.

---

Related Sessions