论文标题

虚拟块接口:传统虚拟内存框架的灵活替代方案

The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory Framework

论文作者

Hajinazar, Nastaran, Patel, Pratyush, Patel, Minesh, Kanellopoulos, Konstantinos, Ghose, Saugata, Ausavarungnirun, Rachata, Oliveira Jr., Geraldo Francisco de, Appavoo, Jonathan, Seshadri, Vivek, Mutlu, Onur

论文摘要

计算机在系统设计,新兴内存技术和应用记忆需求方面继续多样化。不幸的是,将常规的虚拟内存框架不断适应每个可能的系统配置都是具有挑战性的,并且通常会导致性能丧失或需要非平凡的解决方法。为了应对这些挑战,我们提出了一个新的虚拟内存框架,即虚拟块接口(VBI)。我们根据关键思想设计VBI,即将内存管理职责委派给硬件可以降低与虚拟内存相关的开销和软件复杂性。 VBI向应用程序引入了一组可变大小的虚拟块(VB)。每个VB都是全球可见VBI地址空间的连续区域,应用程序可以在单独的VB中分配每个语义上有意义的信息单位(例如,数据结构)。 VBI将访问保护范围从内存分配和地址翻译脱离。当操作系统控制哪些程序可以访问哪些VB,而内存控制器中的专用硬件管理VBS的物理内存分配和地址翻译。这种方法使多种架构优化能够有效,灵活地迎合不同且日益多样化的系统配置,以及(2)消除传统虚拟内存的关键效率低下。我们在两个重要用例中证明了VBI的好处:(1)减少地址翻译的开销(对于本机执行和虚拟机环境),因为VBI减少了翻译请求的数量和关联的内存访问; (2)两个异质的主内存体系结构,其中VBI提高了管理快速内存区域的有效性。对于这两种情况,VBI都显着提高了传统虚拟内存的性能。

Computers continue to diversify with respect to system designs, emerging memory technologies, and application memory demands. Unfortunately, continually adapting the conventional virtual memory framework to each possible system configuration is challenging, and often results in performance loss or requires non-trivial workarounds. To address these challenges, we propose a new virtual memory framework, the Virtual Block Interface (VBI). We design VBI based on the key idea that delegating memory management duties to hardware can reduce the overheads and software complexity associated with virtual memory. VBI introduces a set of variable-sized virtual blocks (VBs) to applications. Each VB is a contiguous region of the globally-visible VBI address space, and an application can allocate each semantically meaningful unit of information (e.g., a data structure) in a separate VB. VBI decouples access protection from memory allocation and address translation. While the OS controls which programs have access to which VBs, dedicated hardware in the memory controller manages the physical memory allocation and address translation of the VBs. This approach enables several architectural optimizations to (1) efficiently and flexibly cater to different and increasingly diverse system configurations, and (2) eliminate key inefficiencies of conventional virtual memory. We demonstrate the benefits of VBI with two important use cases: (1) reducing the overheads of address translation (for both native execution and virtual machine environments), as VBI reduces the number of translation requests and associated memory accesses; and (2) two heterogeneous main memory architectures, where VBI increases the effectiveness of managing fast memory regions. For both cases, VBI significanttly improves performance over conventional virtual memory.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源