Languages must expose memory heterogeneity

Xiaochen Guo, Aviral Shrivastava, Michael Spear, Gang Tan

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

2 Scopus citations


The last decade has seen an explosion in new and innovative memory technologies. While certain technologies, like transactional memory, have seen adoption at the language level, others, such as sandboxed memory, scratchpad memory, and persistent memory, have not received any systematic programming language support. This is true even though the underlying compiler-level mechanisms for these mechanisms are similar. In this paper, we argue that programming languages must be enhanced to expose heterogeneous memory technologies to programmers, so that they can enjoy the benefits of those technologies and be able to reason about programs that use the advanced features of novel memory technologies. We sketch a language design that allows programmers to specify memory requirements and behaviors, for both data and code. We further describe how a compiler can support such a language and suggest hardware improvements that can improve efficiencies of heterogeneous memories.

Original languageEnglish (US)
Title of host publicationMEMSYS 2016 - Proceedings of the International Symposium on Memory Systems
PublisherAssociation for Computing Machinery
Number of pages6
ISBN (Electronic)9781450343053
StatePublished - Oct 3 2016
Event2nd International Symposium on Memory Systems, MEMSYS 2016 - Washington, United States
Duration: Oct 3 2016Oct 6 2016

Publication series

NameACM International Conference Proceeding Series


Other2nd International Symposium on Memory Systems, MEMSYS 2016
Country/TerritoryUnited States


  • Concurrency
  • Nonvolatile memory
  • Sandboxing
  • Scratchpad memory
  • Security
  • Transactional memory

ASJC Scopus subject areas

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


Dive into the research topics of 'Languages must expose memory heterogeneity'. Together they form a unique fingerprint.

Cite this