Rethinking the Memory Hierarchy for Modern Languages
Author(s)
Tsai, Po-An; Gan, Yee Ling; Sanchez, Daniel
DownloadAccepted version (923.5Kb)
Terms of use
Metadata
Show full item recordAbstract
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.
Date issued
2018-12Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
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
ISBN
9781538662403