当前位置: X-MOL 学术arXiv.cs.PF › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Leveraging Architectural Support of Three Page Sizes with Trident
arXiv - CS - Performance Pub Date : 2020-11-24 , DOI: arxiv-2011.12092
Venkat Sri Sai Ram, Ashish Panwar, Arkaprava Basu

Large pages are commonly deployed to reduce address translation overheads for big-memory workloads. Modern x86-64 processors from Intel and AMD support two large page sizes -- 1GB and 2MB. However, previous works on large pages have primarily focused on 2MB pages, partly due to lack of substantial evidence on the profitability of 1GB pages to real-world applications. We argue that in fact, inadequate system software support is responsible for a decade of underutilized hardware support for 1GB pages. Through extensive experimentation on a real system, we demonstrate that 1GB pages can improve performance over 2MB pages, and when used in tandem with 2MB pages for an important set of applications; the support for the latter is crucial but missing in current systems. Our design and implementation of \trident{} in Linux fully exploit hardware supported large pages by dynamically and transparently allocating 1GB, 2MB, and 4KB pages as deemed suitable. \trident{} speeds up eight memory-intensive applications by {$18\%$}, on average, over Linux's use of 2MB pages. We also propose \tridentpv{}, an extension to \trident{} that effectively virtualizes 1GB pages via copy-less promotion and compaction in the guest OS. Overall, this paper shows that even GB-sized pages have considerable practical significance with adequate software enablement, in turn motivating architects to continue investing/innovating in large pages.

中文翻译:

在Trident中利用三个页面大小的架构支持

通常部署大页面以减少大内存工作负载的地址转换开销。Intel和AMD的现代x86-64处理器支持两个大页面大小-1GB和2MB。但是,以前在大页面上进行的工作主要集中在2MB页面上,部分原因是缺乏大量证据证明1GB页面对实际应用程序的获利能力。我们认为,实际上,系统软件支持不足导致了对1GB页面的未充分利用的硬件支持十年。通过在真实系统上的大量实验,我们证明了1GB的页面可以提高性能超过2MB的页面,并且与2MB的页面一起用于重要的应用程序集时可以提高性能。对后者的支持至关重要,但在当前系统中却缺少。我们在Linux中\ trident {}的设计和实现,通过动态透明地分配认为合适的1GB,2MB和4KB页面来充分利用硬件支持的大页面。与Linux对2MB页面的使用相比,\ trident {}可以将八个内存密集型应用程序平均提高{$ 18 \%$}。我们还建议使用\ tridentpv {},它是\ trident {}的扩展,可通过在来宾操作系统中进行无拷贝升级和压缩来有效地虚拟化1GB页面。总体而言,本文表明,即使具有GB大小的页面,也具有足够的软件支持也具有相当大的实际意义,反过来又激发了架构师继续在大页面上进行投资/创新。使用2MB页面。我们还建议使用\ tridentpv {},它是\ trident {}的扩展,可通过在来宾操作系统中进行无拷贝升级和压缩来有效地虚拟化1GB页面。总体而言,本文表明,即使具有GB大小的页面,也具有足够的软件支持也具有相当大的实际意义,反过来又激发了架构师继续在大页面上进行投资/创新。使用2MB页面。我们还建议使用\ tridentpv {},它是\ trident {}的扩展,可通过在来宾操作系统中进行无拷贝升级和压缩来有效地虚拟化1GB页面。总体而言,本文表明,即使具有GB大小的页面,也具有足够的软件支持也具有相当大的实际意义,反过来又激发了架构师继续在大页面上进行投资/创新。
更新日期:2020-11-25
down
wechat
bug