当前位置:
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
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
中文翻译:
在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大小的页面,也具有足够的软件支持也具有相当大的实际意义,反过来又激发了架构师继续在大页面上进行投资/创新。