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...
Main Authors: | , , |
---|---|
Other Authors: | |
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 |