中文

SPARTA:一种用于加速器地址转换的分而治之方法

硬件体系结构 2020-01-22 v1 操作系统

摘要

虚拟内存(VM)对硬件加速器的可用性和可编程性至关重要。遗憾的是,由于面积和功耗限制使得难以采用通用CPU中使用的大型多级TLB,高效实现加速器VM颇具挑战。近期的研究提案主张对虚拟到物理地址映射施加诸多限制,以减小TLB规模或扩大其覆盖范围。然而,此类限制并不理想,因为它们放弃了传统VM的许多原有优势,例如按需分页和写时复制。我们提出SPARTA,一种分而治之的地址转换方法。SPARTA将地址转换拆分为加速器侧和内存侧两部分。加速器侧的转换硬件由一个仅覆盖加速器缓存层次结构(若有)的微型TLB组成,而主存访问的转换由共享的内存侧TLB执行。在内存侧执行内存访问的转换,使SPARTA能够将数据获取与转换重叠,并避免加速器间共享数据的TLB表项重复。为了进一步提升内存侧转换的性能和效率,SPARTA对内存空间进行逻辑划分,将转换委托给各分区的小型高效转换硬件。我们在索引遍历加速器上的评估表明,SPARTA几乎消除了转换开销,将其平均降低超过30倍(最高47倍),并将性能提升57%。同时,SPARTA仅需极少的加速器侧转换硬件,减少了系统中TLB表项总数,可随内存规模优雅扩展,并保留所有关键VM功能。

关键词

引用

@article{arxiv.2001.07045,
  title  = {SPARTA: A Divide and Conquer Approach to Address Translation for Accelerators},
  author = {Javier Picorel and Seyed Alireza Sanaee Kohroudi and Zi Yan and Abhishek Bhattacharjee and Babak Falsafi and Djordje Jevdjic},
  journal= {arXiv preprint arXiv:2001.07045},
  year   = {2020}
}