Skip to main content
QUICK REVIEW

[论文解读] Kernelet: High-Throughput GPU Kernel Executions with Dynamic Slicing and Scheduling

Jianlong Zhong, Bingsheng He|arXiv (Cornell University)|Mar 21, 2013
Parallel Computing and Optimization Techniques参考文献 31被引用 5
一句话总结

Kernelet 是一种 GPU 运行时系统,通过将内核动态切分为低占用率的子内核,并使用基于马尔可夫链的性能模型进行协同调度,从而在共享 GPU 环境中提升吞吐量。它通过动态切分和智能调度实现更优的资源利用,在 NVIDIA Tesla C2050 和 GTX680 GPU 上分别实现了最高 31.1% 和 23.4% 的性能提升。

ABSTRACT

Graphics processors, or GPUs, have recently been widely used as accelerators in the shared environments such as clusters and clouds. In such shared environments, many kernels are submitted to GPUs from different users, and throughput is an important metric for performance and total ownership cost. Despite the recently improved runtime support for concurrent GPU kernel executions, the GPU can be severely underutilized, resulting in suboptimal throughput. In this paper, we propose Kernelet, a runtime system with dynamic slicing and scheduling techniques to improve the throughput of concurrent kernel executions on the GPU. With slicing, Kernelet divides a GPU kernel into multiple sub-kernels (namely slices). Each slice has tunable occupancy to allow co-scheduling with other slices and to fully utilize the GPU resources. We develop a novel and effective Markov chain based performance model to guide the scheduling decision. Our experimental results demonstrate up to 31.1% and 23.4% performance improvement on NVIDIA Tesla C2050 and GTX680 GPUs, respectively.

研究动机与目标

  • 解决在共享 GPU 环境中,由于单个高占用率内核执行导致的 GPU 利用率低下问题。
  • 提升 GPU 集群和云环境中多个用户内核竞争 GPU 资源时的吞吐量。
  • 通过将内核动态切分为可协同调度的小型单元并调节占用率,实现 GPU 内核的有效并发执行。
  • 开发一种轻量级且精确的性能模型,能够在无需大量性能分析的情况下预测并发内核执行的性能。
  • 设计一种运行时系统,透明地管理内核切分与调度,以最大化 GPU 利用率。

提出的方法

  • 在线程块级别动态将 GPU 内核切分为子内核(切片),实现与其他内核切片的协同调度。
  • 调节切片占用率,以实现多个内核之间的资源互补使用,避免资源争用。
  • 采用一种新颖的基于马尔可夫链的性能模型,利用内核的关键特征(如占用率和内存访问模式)预测并发切片的执行时间。
  • 利用性能模型指导调度决策,选择能最大化 GPU 利用率并最小化空闲时间的切片组合。
  • 与现有 GPU 运行时系统集成,透明运行,无需访问源代码或修改内核。
  • 通过将切片粒度限制在线程块级别,避免过度提交小切片,从而避免运行时开销。

实验结果

研究问题

  • RQ1通过实现更优的资源共享,动态切分 GPU 内核是否能提升共享 GPU 环境中的吞吐量?
  • RQ2如何调节切片大小和占用率,以在并发内核执行期间最大化 GPU 利用率?
  • RQ3轻量级性能模型是否能无需大量性能分析,准确预测并发内核执行的行为?
  • RQ4在共享 GPU 环境中,多个内核协同调度时,何种调度策略能最大化 GPU 利用率?
  • RQ5与静态内核合并或单体内核执行相比,动态切分在吞吐量和效率方面表现如何?

主要发现

  • Kernelet 在 NVIDIA Tesla C2050(Fermi)上实现最高 31.1% 的 GPU 吞吐量提升,在 GTX680(Kepler)上实现最高 23.4% 的性能提升,覆盖多种工作负载。
  • 基于马尔可夫链的性能模型仅依赖占用率和内存访问模式等关键内核指标,即可准确预测并发执行性能,且输入需求极少。
  • 动态切分使即使在单个内核占用率较高的情况下,也能有效实现 GPU 资源的时间共享,克服了传统内核合并方法的局限性。
  • 该系统在无需访问源代码或修改内核运行时的情况下实现显著性能提升,适用于共享和云环境。
  • 由性能模型指导的调度决策可提升资源利用率,减少空闲时间,提高整体 GPU 效率。
  • 与现有方法(如内核合并和静态调度)相比,该方法通过细粒度切分创造了更多调度机会,表现更优。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。