Defining a high-level programming model for emerging NVRAM technologies

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Byte-addressable non-volatile memory is poised to become prevalent in the near future. Thanks to device-level technological advances, hybrid systems of traditional dynamic random-access memory (DRAM) coupled with non-volatile random-access memory (NVRAM) are already present and are expected to be commonplace soon. NVRAM offers orders of magnitude performance improvements over existing storage devices. Due to NVRAM's low overheads, many future applications are expected to leverage the fine-grain durable storage provided by NVRAM. Many frameworks for programming NVRAM have been proposed. Unfortunately, these existing frameworks closely mirror the underlying hardware. This lack of abstraction hurts programmer productivity, makes it easy to write buggy code, and limits the compiler's effectiveness. Furthermore, this low level of abstraction does not match the expectations of managed language users. To rectify this situation, in this paper we describe a new high-level NVRAM programming model amenable to managed languages. Because our model is defined at a high level, it is intuitive, not prone to user bugs, and is flexible enough to allow language implementers to perform many optimizations while still adhering to the model. In addition to proposing this model, we also briefly describe how Java can be extended to support our new model. Finally, we present some initial results on the performance overheads of creating durable applications in NVRAM and describe what future work we intend to complete.

Original languageEnglish (US)
Title of host publicationProceedings of the 15th International Conference on Managed Languages and Runtimes, ManLang 2018 (formerly PPPJ)
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450364249
DOIs
StatePublished - Sep 12 2018
Event15th International Conference on Managed Languages and Runtimes, ManLang 2018 - Linz, Austria
Duration: Sep 12 2018Sep 13 2018

Publication series

NameACM International Conference Proceeding Series

Other

Other15th International Conference on Managed Languages and Runtimes, ManLang 2018
CountryAustria
CityLinz
Period9/12/189/13/18

Keywords

  • Java
  • Non-Volatile Memory
  • Programming Model

ASJC Scopus subject areas

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications

Fingerprint Dive into the research topics of 'Defining a high-level programming model for emerging NVRAM technologies'. Together they form a unique fingerprint.

  • Cite this

    Shull, T., Huang, J., & Torrellas, J. (2018). Defining a high-level programming model for emerging NVRAM technologies. In Proceedings of the 15th International Conference on Managed Languages and Runtimes, ManLang 2018 (formerly PPPJ) (ACM International Conference Proceeding Series). Association for Computing Machinery. https://doi.org/10.1145/3237009.3237027