论文标题

3PO:编程的范围内存的预摘要用于遗忘应用

3PO: Programmed Far-Memory Prefetching for Oblivious Applications

论文作者

Branner-Augmon, Christopher, Galstyan, Narek, Kumar, Sam, Amaro, Emmanuel, Ousterhout, Amy, Panda, Aurojit, Ratnasamy, Sylvia, Shenker, Scott

论文摘要

使用位于远程计算机或远处内存的内存,作为交换空间是满足现代数据中心应用程序不断增长的内存需求的一种有希望的方法。长期以来,操作系统一直依靠预摘要来掩盖从交换空间到主内存的获取页面的延迟。不幸的是,随着传统的预摘要启发式的启发式,当应用程序使用遥远的记忆时,性能仍然会降低。在本文中,我们建议一种针对内存应用程序的新的预取技术。我们将精力集中在记忆密集型,遗忘的应用程序上,其内存访问模式独立于其输入,例如矩阵乘法。对于这类应用程序,我们观察到,我们可以在不依赖启发式方法的情况下完美地预取页。但是,在不需要大量应用程序修改的情况下,预取完美摘要具有挑战性。 在本文中,我们描述了3PO的设计和实施,该系统为一般遗忘应用提供了预先计划的预摘要。我们证明,3PO可以加速应用程序,例如,与Linux的Prefetcher相比,将它们运行的​​速度快30-150%。我们还使用3PO来了解基于分页的系统中预取的基本软件间接费用,以及当我们在限制本地内存下运行申请时,他们施加的最低性能罚款。

Using memory located on remote machines, or far memory, as a swap space is a promising approach to meet the increasing memory demands of modern datacenter applications. Operating systems have long relied on prefetchers to mask the increased latency of fetching pages from swap space to main memory. Unfortunately, with traditional prefetching heuristics, performance still degrades when applications use far memory. In this paper we propose a new prefetching technique for far-memory applications. We focus our efforts on memory-intensive, oblivious applications whose memory access patterns are independent of their inputs, such as matrix multiplication. For this class of applications we observe that we can perfectly prefetch pages without relying on heuristics. However, prefetching perfectly without requiring significant application modifications is challenging. In this paper we describe the design and implementation of 3PO, a system that provides pre-planned prefetching for general oblivious applications. We demonstrate that 3PO can accelerate applications, e.g., running them 30-150% faster than with Linux's prefetcher with 20% local memory. We also use 3PO to understand the fundamental software overheads of prefetching in a paging-based system, and the minimum performance penalty that they impose when we run applications under constrained local memory.

扫码加入交流群

加入微信交流群

微信交流群二维码

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