Rethinking the Memory Hierarchy for Modern Languages

We present Hotpads, a new memory hierarchy designed from the ground up for modern, memory-safe languages like Java, Go, and Rust. Memory-safe languages hide the memory layout from the programmer. This prevents memory corruption bugs and enables automatic memory management. Hotpads extends the same i...

Full description

Bibliographic Details
Main Authors: Tsai, Po-An, Gan, Yee Ling, Sanchez, Daniel
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Format: Article
Language:English
Published: Institute of Electrical and Electronics Engineers (IEEE) 2020
Online Access:https://hdl.handle.net/1721.1/128647
_version_ 1826203836374581248
author Tsai, Po-An
Gan, Yee Ling
Sanchez, Daniel
author2 Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
author_facet Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Tsai, Po-An
Gan, Yee Ling
Sanchez, Daniel
author_sort Tsai, Po-An
collection MIT
description We present Hotpads, a new memory hierarchy designed from the ground up for modern, memory-safe languages like Java, Go, and Rust. Memory-safe languages hide the memory layout from the programmer. This prevents memory corruption bugs and enables automatic memory management. Hotpads extends the same insight to the memory hierarchy: it hides the memory layout from software and takes control over it, dispensing with the conventional flat address space abstraction. This avoids the need for associative caches. Instead, Hotpads moves objects across a hierarchy of directly addressed memories. It rewrites pointers to avoid most associative lookups, provides hardware support for memory allocation, and unifies hierarchical garbage collection and data placement. As a result, Hotpads improves memory performance and efficiency substantially, and unlocks many new optimizations.
first_indexed 2024-09-23T12:44:00Z
format Article
id mit-1721.1/128647
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T12:44:00Z
publishDate 2020
publisher Institute of Electrical and Electronics Engineers (IEEE)
record_format dspace
spelling mit-1721.1/1286472022-09-28T09:43:28Z Rethinking the Memory Hierarchy for Modern Languages Tsai, Po-An Gan, Yee Ling Sanchez, Daniel Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science We present Hotpads, a new memory hierarchy designed from the ground up for modern, memory-safe languages like Java, Go, and Rust. Memory-safe languages hide the memory layout from the programmer. This prevents memory corruption bugs and enables automatic memory management. Hotpads extends the same insight to the memory hierarchy: it hides the memory layout from software and takes control over it, dispensing with the conventional flat address space abstraction. This avoids the need for associative caches. Instead, Hotpads moves objects across a hierarchy of directly addressed memories. It rewrites pointers to avoid most associative lookups, provides hardware support for memory allocation, and unifies hierarchical garbage collection and data placement. As a result, Hotpads improves memory performance and efficiency substantially, and unlocks many new optimizations. NSF (Grant CAREER-1452994) 2020-11-24T22:38:46Z 2020-11-24T22:38:46Z 2018-12 2018-10 2019-07-03T13:39:35Z Article http://purl.org/eprint/type/ConferencePaper 9781538662403 https://hdl.handle.net/1721.1/128647 Tsai, Po-An et al. "Rethinking the Memory Hierarchy for Modern Languages." 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), October 2018, Fukuoka, Japan, Institute of Electrical and Electronics Engineers, December 2018. © 2018 IEEE en http://dx.doi.org/10.1109/micro.2018.00025 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Institute of Electrical and Electronics Engineers (IEEE) MIT web domain
spellingShingle Tsai, Po-An
Gan, Yee Ling
Sanchez, Daniel
Rethinking the Memory Hierarchy for Modern Languages
title Rethinking the Memory Hierarchy for Modern Languages
title_full Rethinking the Memory Hierarchy for Modern Languages
title_fullStr Rethinking the Memory Hierarchy for Modern Languages
title_full_unstemmed Rethinking the Memory Hierarchy for Modern Languages
title_short Rethinking the Memory Hierarchy for Modern Languages
title_sort rethinking the memory hierarchy for modern languages
url https://hdl.handle.net/1721.1/128647
work_keys_str_mv AT tsaipoan rethinkingthememoryhierarchyformodernlanguages
AT ganyeeling rethinkingthememoryhierarchyformodernlanguages
AT sanchezdaniel rethinkingthememoryhierarchyformodernlanguages