Rethinking the Memory Hierarchy for Modern Languages
Name
2018.hotpads.micro.pdf
Description
Accepted version
Size
923.6 KB
Format
Adobe PDF
Checksum (MD5)
4cee412b7727b93eb5c7f8f67ec4a4f4
Author(s) • •
Tsai, Po-An
Gan, Yee Ling
Sanchez, Daniel
Date Issued
December 2018
Journal
51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
Publisher
Institute of Electrical and Electronics Engineers (IEEE)
Citation
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
Version
Author's final manuscript
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1109/micro.2018.00025