Shared Virtual Memory: Its Design and Performance Implications for Diverse Applications

2024年05月10日
  • 简介
    离散GPU加速器为超级计算机和数据中心提供了巨大的计算能力,但它们具有单独的内存域。在编程中跨设备和主机域进行显式内存管理是繁琐且容易出错的。为了提高编程的可移植性和生产力,统一内存(UM)将GPU内存集成到主机虚拟内存系统中,并在它们之间提供透明的数据迁移和GPU内存超额订阅。然而,当前的UM技术会导致应用程序的显着性能损失。随着AMD GPU越来越多地集成到世界领先的超级计算机中,了解其共享虚拟内存(SVM)并减轻性能影响是必要的。在这项工作中,我们深入探讨了SVM的设计,检查了它与应用程序的数据访问之间的交互,并定量分析了它对各种应用程序的性能影响并确定了性能瓶颈。我们的研究发现,SVM采用了一种对需求分页的积极预取策略。当GPU内存没有超额订阅时,这种预取是有效的。然而,在驱逐策略的配合下,它会导致某些应用程序在超额订阅下出现过度抖动和性能下降。我们讨论了SVM感知算法和SVM设计更改以减轻性能影响。据我们所知,这项工作是对SVM技术的首次深入和全面研究。
  • 图表
  • 解决问题
    本论文旨在解决GPU加速器和主机虚拟内存之间显式内存管理的繁琐和容易出错的问题,并研究AMD GPU的Shared Virtual Memory(SVM)在应用程序中的性能影响。
  • 关键思路
    论文提出Unified Memory(UM)技术,将GPU内存集成到主机虚拟内存系统中,并提供透明的数据迁移和GPU内存超额订阅。同时,论文发现SVM使用一种积极的预取策略,导致在GPU内存超额订阅时出现过度抖动和性能下降。
  • 其它亮点
    论文对SVM技术进行了深入和全面的研究,并提出了SVM感知算法和SVM设计更改来缓解性能影响。实验使用了多个应用程序和数据集,并提供了开源代码。
  • 相关研究
    相关研究包括《Improving Data Locality with Hybrid Shared Memory for GPU Multicore Processors》和《Optimizing GPU Memory Management for Data-Intensive Applications》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论