TY - GEN
T1 - Languages must expose memory heterogeneity
AU - Guo, Xiaochen
AU - Shrivastava, Aviral
AU - Spear, Michael
AU - Tan, Gang
N1 - Publisher Copyright:
© 2016 ACM.
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.
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
T3 - ACM International Conference Proceeding Series
SP - 251
EP - 256
BT - MEMSYS 2016 - Proceedings of the International Symposium on Memory Systems
PB - Association for Computing Machinery
T2 - 2nd International Symposium on Memory Systems, MEMSYS 2016
Y2 - 3 October 2016 through 6 October 2016
ER -