Languages must expose memory heterogeneity

Xiaochen Guo, Aviral Shrivastava, Michael Spear, Gang Tan

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

2 Citations (Scopus)

Abstract

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
Pages251-256
Number of pages6
Volume03-06-October-2016
ISBN (Electronic)9781450343053
DOIs
StatePublished - Oct 3 2016
Event2nd International Symposium on Memory Systems, MEMSYS 2016 - Washington, United States
Duration: Oct 3 2016Oct 6 2016

Other

Other2nd International Symposium on Memory Systems, MEMSYS 2016
CountryUnited States
CityWashington
Period10/3/1610/6/16

Fingerprint

Data storage equipment
Computer programming languages
Computer hardware
Explosions

Keywords

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

ASJC Scopus subject areas

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

Cite this

Guo, X., Shrivastava, A., Spear, M., & Tan, G. (2016). Languages must expose memory heterogeneity. In MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems (Vol. 03-06-October-2016, pp. 251-256). Association for Computing Machinery. https://doi.org/10.1145/2989081.2989122

Languages must expose memory heterogeneity. / Guo, Xiaochen; Shrivastava, Aviral; Spear, Michael; Tan, Gang.

MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems. Vol. 03-06-October-2016 Association for Computing Machinery, 2016. p. 251-256.

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

Guo, X, Shrivastava, A, Spear, M & Tan, G 2016, Languages must expose memory heterogeneity. in MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems. vol. 03-06-October-2016, Association for Computing Machinery, pp. 251-256, 2nd International Symposium on Memory Systems, MEMSYS 2016, Washington, United States, 10/3/16. https://doi.org/10.1145/2989081.2989122
Guo X, Shrivastava A, Spear M, Tan G. Languages must expose memory heterogeneity. In MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems. Vol. 03-06-October-2016. Association for Computing Machinery. 2016. p. 251-256 https://doi.org/10.1145/2989081.2989122
Guo, Xiaochen ; Shrivastava, Aviral ; Spear, Michael ; Tan, Gang. / Languages must expose memory heterogeneity. MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems. Vol. 03-06-October-2016 Association for Computing Machinery, 2016. pp. 251-256
@inproceedings{66aaf86930824426b4ae3a976be75421,
title = "Languages must expose memory heterogeneity",
abstract = "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.",
keywords = "Concurrency, Nonvolatile memory, Sandboxing, Scratchpad memory, Security, Transactional memory",
author = "Xiaochen Guo and Aviral Shrivastava and Michael Spear and Gang Tan",
year = "2016",
month = "10",
day = "3",
doi = "10.1145/2989081.2989122",
language = "English (US)",
volume = "03-06-October-2016",
pages = "251--256",
booktitle = "MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems",
publisher = "Association for Computing Machinery",

}

TY - GEN

T1 - Languages must expose memory heterogeneity

AU - Guo, Xiaochen

AU - Shrivastava, Aviral

AU - Spear, Michael

AU - Tan, Gang

PY - 2016/10/3

Y1 - 2016/10/3

N2 - 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.

AB - 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.

KW - Concurrency

KW - Nonvolatile memory

KW - Sandboxing

KW - Scratchpad memory

KW - Security

KW - Transactional memory

UR - http://www.scopus.com/inward/record.url?scp=84995483125&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84995483125&partnerID=8YFLogxK

U2 - 10.1145/2989081.2989122

DO - 10.1145/2989081.2989122

M3 - Conference contribution

AN - SCOPUS:84995483125

VL - 03-06-October-2016

SP - 251

EP - 256

BT - MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems

PB - Association for Computing Machinery

ER -