[论文解读] Efficient Resource Sharing Through GPU Virtualization on Accelerated High Performance Computing Systems
本文提出了一种GPU虚拟化框架,可在异构HPC系统中通过SPMD模型实现多个微处理器对GPU的高效共享。通过管理并发内核执行并重叠I/O与计算操作,该方法实现了高达7.4倍的加速,且虚拟化开销极低,从而实现了对未充分利用的CPU核心的完全利用,并提升了CPU/GPU资源不平衡集群中的GPU资源效率。
The High Performance Computing (HPC) field is witnessing a widespread adoption of Graphics Processing Units (GPUs) as co-processors for conventional homogeneous clusters. The adoption of prevalent Single- Program Multiple-Data (SPMD) programming paradigm for GPU-based parallel processing brings in the challenge of resource underutilization, with the asymmetrical processor/co-processor distribution. In other words, under SPMD, balanced CPU/GPU distribution is required to ensure full resource utilization. In this paper, we propose a GPU resource virtualization approach to allow underutilized microprocessors to effi- ciently share the GPUs. We propose an efficient GPU sharing scenario achieved through GPU virtualization and analyze the performance potentials through execution models. We further present the implementation details of the virtualization infrastructure, followed by the experimental analyses. The results demonstrate considerable performance gains with GPU virtualization. Furthermore, the proposed solution enables full utilization of asymmetrical resources, through efficient GPU sharing among microprocessors, while incurring low overhead due to the added virtualization layer.
研究动机与目标
- 解决GPU加速HPC系统中因CPU/GPU比例失衡导致的微处理器资源利用率低下问题。
- 克服SPMD编程模型中要求CPU-GPU一对一映射以实现完全资源利用的局限性。
- 在不牺牲性能或引入高虚拟化开销的前提下,实现多个微处理器对GPU的高效共享。
- 开发一个运行时虚拟化层,为每个微处理器暴露一个虚拟GPU(vGPU),抽象物理GPU资源的竞争。
- 证明虚拟化可通过并发执行、重叠操作和减少上下文切换开销实现显著的性能提升。
提出的方法
- 设计一个用户空间运行时虚拟化层,用于管理多个微处理器之间的GPU资源分配。
- 为每个进程暴露一个虚拟GPU(vGPU)接口,模拟专用GPU访问,同时共享单个物理GPU。
- 通过利用Fermi架构支持最多16个并发内核的特性,实现在单个GPU上并发执行多个GPU内核。
- 通过调度GPU操作以隐藏延迟,优化I/O与内核计算的重叠。
- 通过在进程间保持持久的GPU状态和资源池,最小化上下文切换和初始化开销。
- 开发一个分析性执行模型,用于预测性能增益,并根据应用特征指导虚拟化设计。
实验结果
研究问题
- RQ1在SPMD执行模型下,GPU虚拟化能否有效实现多个微处理器共享单个GPU?
- RQ2通过虚拟化可实现多大的性能增益?这些增益在不同应用类型(I/O密集型、计算密集型、混合型)中如何变化?
- RQ3在虚拟化GPU环境中,I/O与内核计算的重叠程度在多大程度上可以实现?
- RQ4与直接GPU访问相比,虚拟化的开销如何?是否能在各种工作负载下保持较低水平?
- RQ5所提出的虚拟化框架能否在CPU/GPU比例失衡的系统中实现高GPU利用率?
主要发现
- 所提出的GPU虚拟化框架在8个进程并行环境下,对七个基准测试的加速比范围为1.4倍至7.4倍。
- 计算密集型基准测试(如MG和CG)获得了最高性能增益(最高达7.4倍),主要得益于I/O与内核执行的有效重叠。
- I/O密集型基准测试(如Black Scholes和VecAdd)获得了中等增益(1.4倍至2.5倍),主要通过I/O与内核的重叠实现。
- 大型计算密集型内核(如静电势ES)增益有限(约1.5倍),原因在于重叠潜力极低且GPU占用率高。
- 虚拟化层开销极低,实验结果与分析性能模型高度吻合。
- 该框架成功通过高效共享GPU,实现了对未充分利用CPU核心的完全利用,即使在CPU/GPU比例较高的系统中亦如此。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。