skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: NVL-C: Static Analysis Techniques for Efficient, Correct Programming of Non-Volatile Main Memory Systems

Conference ·

Computer architecture experts expect that non-volatile memory (NVM) hierarchies will play a more significant role in future systems including mobile, enterprise, and HPC architectures. With this expectation in mind, we present NVL-C: a novel programming system that facilitates the efficient and correct programming of NVM main memory systems. The NVL-C programming abstraction extends C with a small set of intuitive language features that target NVM main memory, and can be combined directly with traditional C memory model features for DRAM. We have designed these new features to enable compiler analyses and run-time checks that can improve performance and guard against a number of subtle programming errors, which, when left uncorrected, can corrupt NVM-stored data. Moreover, to enable recovery of data across application or system failures, these NVL-C features include a flexible directive for specifying NVM transactions. So that our implementation might be extended to other compiler front ends and languages, the majority of our compiler analyses are implemented in an extended version of LLVM's intermediate representation (LLVM IR). We evaluate NVL-C on a number of applications to show its flexibility, performance, and correctness.

Research Organization:
Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1261318
Resource Relation:
Conference: HPDC'16 - Kyoto, , Japan - 5/31/2016 12:00:00 AM-6/4/2016 12:00:00 AM
Country of Publication:
United States
Language:
English

References (13)

Better I/O through byte-addressable, persistent memory conference January 2009
Failure-atomic msync(): a simple and efficient mechanism for preserving the integrity of durable data conference January 2013
How Persistent Memory Will Change Software Systems journal August 2013
Storage management in the NVRAM era journal October 2013
Phase change memory architecture and the quest for scalability journal July 2010
Page placement in hybrid memory systems conference January 2011
NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories
  • Coburn, Joel; Caulfield, Adrian M.; Akel, Ameen
  • Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems - ASPLOS '11 https://doi.org/10.1145/1950365.1950380
conference January 2011
Principles of transaction-oriented database recovery journal December 1983
OpenARC: open accelerator research compiler for directive-based, efficient heterogeneous computing conference January 2014
In-Memory Big Data Management and Processing: A Survey journal July 2015
Mnemosyne: lightweight persistent memory journal March 2011
Phase-Change Technology and the Future of Main Memory journal January 2010
FITL: extending LLVM for the translation of fault-injection directives conference January 2015

Similar Records

Opportunities for nonvolatile memory systems in extreme-scale high-performance computing
Journal Article · Mon Jan 12 00:00:00 EST 2015 · Computing in Science and Engineering · OSTI ID:1261318

Program Development Tools and Infrastructures
Technical Report · Mon Mar 12 00:00:00 EDT 2012 · OSTI ID:1261318

Blackcomb: Hardware-Software Co-design for Non-Volatile Memory in Exascale Systems
Technical Report · Wed Nov 26 00:00:00 EST 2014 · OSTI ID:1261318

Related Subjects