CARAT: a case for virtual memory through compiler- and runtime-based address translation

CARAT: a case for virtual memory through compiler- and runtime-based address translation
复制标题

CARAT:通过基于编译器和运行时的地址转换实现虚拟内存的案例

DOI:
10.1145/3385412.3385987
复制
发表时间:
2020
期刊:
Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
影响因子:
--
通讯作者:
Dinda, Peter
Dinda, Peter
中科院分区:
--
文献类型:
--
作者:
Suchy, Brian;Campanoni, Simone;Hardavellas, Nikos;Dinda, Peter

文献摘要

参考文献

被引文献

相似文献

虚拟存储器是现代计算机系统中的关键抽象。它的通用模型,分页,目前正在看到相当大的创新,但其实现仍然是功耗/延迟增加硬件(例如,TLB、页面浏览缓存、页面浏览器等)和软件(操作系统内核)。我们提出了一种新的虚拟内存模型,编译器和基于运行时的地址转换(CARAT),而不是编译器和操作系统内核之间的协同设计。CARAT可以在没有任何硬件支持的情况下运行,尽管它也可以被改造成传统的分页模型,并且可以利用更简单的硬件支持。CARAT使用编译时转换和优化结合紧密耦合的运行时/内核交互来生成在物理地址空间中有效运行的程序,但仍然允许内核维护保护并动态管理物理内存,类似于使用传统虚拟内存的可能性。我们认为CARAT的可行性,通过实证研究的应用程序的特点和内核的行为,以及通过设计,实施和性能评估的CARAT原型。因为我们的原型在IR级别工作(特别是通过LLVM位代码),所以它可以应用于大多数C和C++程序,并且限制很少或没有限制。
Virtual memory is a critical abstraction in modern computer systems. Its common model, paging, is currently seeing considerable innovation, yet its implementations continue to be co-designs between power-hungry/latency-adding hardware (e.g., TLBs, pagewalk caches, pagewalkers, etc) and software (the OS kernel). We make a case for a new model for virtual memory, compiler- and runtime-based address translation (CARAT), which instead is a co-design between the compiler and the OS kernel. CARAT can operate without any hardware support, although it could also be retrofitted into a traditional paging model, and could leverage simpler hardware support. CARAT uses compile-time transformations and optimizations combined with tightly-coupled runtime/kernel interaction to generate programs that run efficiently in a physical address space, but nonetheless allow the kernel to maintain protection and dynamically manage physical memory similar to what is possible using traditional virtual memory. We argue for the feasibility of CARAT through an empirical study of application characteristics and kernel behavior, as well as through the design, implementation, and performance evaluation of a CARAT prototype. Because our prototype works at the IR level (in particular, via LLVM bitcode), it can be applied to most C and C++ programs with minimal or no restrictions.
通过减少地址转换墙来保护虚拟内存
DOI: --
发表时间: 2017
期刊: IEEE Micro
影响因子: 3.6
作者:
A. Bhattacharjee
通讯作者: A. Bhattacharjee
快速虚拟内存的范围转换
DOI: 10.1109/mm.2016.10
发表时间: 2016
期刊: IEEE Micro
影响因子: 3.6
作者:
Jayneel Gandhi;Vasileios Karakostas;Furkan Ayar;A. Cristal;M. Hill;K. McKinley;M. Nemirovsky;M. Swift;O. Unsal
通讯作者: O. Unsal
通过机会虚拟缓存减少内存引用能量
DOI: 10.1145/2366231.2337194
发表时间: 2012
期刊: 2012 39th Annual International Symposium on Computer Architecture (ISCA)
影响因子: --
作者:
Arkaprava Basu;M. Hill;M. Swift
通讯作者: M. Swift
DOI: 10.1109/cgo.2017.7863736
发表时间: 2017
期刊: 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
影响因子: --
作者:
Nick P. Johnson;Jordan Fix;S. Beard;Taewook Oh;T. Jablin;David I. August
通讯作者: David I. August
一级存储系统
DOI: --
发表时间: 1962
期刊: IRE Transactions on Electronic Computers
影响因子: --
作者:
T. Kilburn;D. Edwards;M. Lanigan;F. Sumner
通讯作者: F. Sumner