数学:并行计算:a_method_for_estimating_task_granularity_for_automating_gpu_cycle_sharing
A Method for Estimating Task Granularity for Automating GPU Cycle Sharing
GPUサイクル共有を自動化するためのタスク粒度推定手法
AI总结
目的
本论文旨在自动估算和调整科学计算任务(guest tasks)在GPU周期共享系统中的最佳粒度,以兼顾资源提供者(host)的主任务(如图形渲染)帧率和科学计算任务的加速效果。目标是通过自动化方式,减轻任务粒度手工调整带来的开发者负担,同时确保主任务体验(如显示60fps画面)不被影响,最大化guest任务的并行加速。
手法
空カーネル(空kernel)间接推定法
论文提出用“空kernel”反复执行,间接测量host任务的执行时间,从而推算出guest任务能安全利用的GPU“空闲时间”长度。这种方法无需更改host程序,即便在host程序代码不可获取的环境下也可适用。
自动任务分割与粒度调整
将大型guest任务(如矩阵乘法)自动划分为多个subtask(子任务),每个subtask的执行时间不超过host的空闲时间。
通过动态算法,逐步试探并调整subtask的粒度(线程块数),在不影响host帧率的情况下使guest计算效率最大化。
算法流程包括:推定空闲时间→逐步调整线程块数→评估能否在空闲期内完成→自动输出最优线程块数。
-
结果
推定精度与性能
自动推定的subtask粒度与全遍历(exhaustive search)手动调优结果非常接近(一般误差在1以内)。
采用该方法后,即使在guest任务并发执行的情况下,host帧率始终可被维持在目标值(如60fps)。
guest任务的性能损失被控制在最大5%以内,说明自动化调优效果接近手工极限。
-
-
其他内容与亮点
方法的无侵入性:无需获取或改写host程序,易于部署在实际资源共享与志愿计算环境。
和相关工作的关系:相比依赖输入设备监测、操作系统/驱动级检测的既有方案,本文方法可细粒度利用毫秒级GPU空闲时间,有效提升科学计算吞吐量。
与GPU preemption机制对比:硬件preemption虽可抑制帧率极端下降,但不能保证高帧率或最大化科学计算效率,必须结合协作分割与自动调优。
未来工作
消除host任务帧率固定假设
当前方法假定host帧率(如60fps)为固定值,未来将拓展支持动态变化帧率的主任务,使系统可适应更多样化的主流host负载和现实环境。
更广泛的host类型适配
未来可扩展到处理不只图形渲染、包括更复杂、多样化的host任务,以及进一步减少推定与调整的运行时开销。
/var/www/DokuWikiStick/dokuwiki/data/pages/数学/并行计算/a_method_for_estimating_task_granularity_for_automating_gpu_cycle_sharing.txt · Last modified: 2025/07/20 08:14 by zhonghui