中文

HALCONE:一种面向多GPU系统的硬件级基于时间戳的缓存一致性方案

硬件体系结构 2020-07-09 v1

摘要

尽管多GPU(MGPU)系统在计算密集型工作负载中极为流行,但存储层次结构和数据移动中的若干低效问题导致了GPU资源的浪费,并给MGPU系统的编程带来了困难。首先,由于缺乏硬件级一致性,MGPU编程模型要求程序员在GPU内存之间复制并反复传输数据。这导致了对宝贵的GPU内存的低效使用。其次,为了在MGPU系统中维持一致性,使用低带宽和高延迟的片外链路传输数据会导致系统性能下降。第三,由于程序员需要手动维护数据一致性,通过对MGPU系统进行编程以最大化其吞吐量极具挑战性。为了解决上述问题,我们提出了一种面向MGPU系统的轻量级基于时间戳的一致性协议HALCONE,并修改了GPU的存储层次结构以支持物理共享内存。HALCONE将计算单元(CU)级的逻辑时间计数器替换为缓存级逻辑时间计数器,以减少一致性流量。此外,HALCONE引入了一种新型时间戳存储单元(TSU),在主存中无额外性能开销的情况下执行一致性操作。我们提出的HALCONE协议以极小的性能开销(小于1%)维持了MGPU存储层次结构中的数据一致性。使用一组标准MGPU基准测试,我们观察到具有共享内存和HALCONE的4-GPU MGPU系统的性能平均比使用现有RDMA的4-GPU MGPU系统以及最近提出的HMG一致性协议分别高出4.6倍和3倍。我们使用不同的GPU数量(2、4、8和16)以及不同的CU数量(每个GPU 32、48和64个CU)对11个标准基准测试展示了HALCONE的可扩展性。

关键词

引用

@article{arxiv.2007.04292,
  title  = {HALCONE : A Hardware-Level Timestamp-based Cache Coherence Scheme for Multi-GPU systems},
  author = {Saiful A. Mojumder and Yifan Sun and Leila Delshadtehrani and Yenai Ma and Trinayan Baruah and José L. Abellán and John Kim and David Kaeli and Ajay Joshi},
  journal= {arXiv preprint arXiv:2007.04292},
  year   = {2020}
}

备注

13 pages, 9 figures