MICCO: An Enhanced Multi-GPU Scheduling Framework for Many-Body Correlation Functions
-
出处:2022IEEE MICCO:多体关联函数的增强型多GPU调度框架
-
主要工作:首先对数据重用和负载平衡的相互作用进行了全面的研究,并提出了局部重用模式和重用边界两个新概念,研究两者之间实现最佳权衡的机会。在此基础上,MICCO提出了一种启发式调度算法和一种基于机器学习的回归模型来生成重用边界的最优设置。
-
动机:
- 多体相关函数是计算和内存密集型,现有的基于图的多GPU调度器无法捕获这些以数据为中心的特征,从而导致多体相关函数计算性能不佳。
- 数据重用和负载均衡形成了一种权衡关系。
-
影响负载均衡和数据重用均衡的因素:多体相关函数计算的执行主要包括三个部分:内核计算、内存分配和数据通信,后两者称为内存操作。数据重用主要降低内存操作成本。
- 局部重用的影响:如果调度程序能够捕获所有的数据重用,并以最佳的数据重用-负载均衡组合为目标进行穷举搜索,则可以找到最优的任务调度方案。但是实际存在两个问题:许多情况下可能全局信息不可用(特别是动态生成收缩图时);搜索空间太大,NP难问题。本文提出利用局部重用模式信息动态搜索局部最优调度方案。
- 重用边界:数据重用时允许的负载不均衡的级别。
-
多GPU调度框架
MICCO的设计侧重于这些方面:
- 探索重复张量的数据重用机会。
- 改善负载均衡以保持GPU繁忙。
- 在考虑内存调出的情况下实现最佳的数据重用-负载均衡权衡。
主要由两部分组成
MICCO将每个向量的数据特征提取到回归模型中(①)。回归模型生成最优复用边界(②)。启发式算法对张量对进行分类(③),共同管理三条策略
- 启发式调度算法
- 预训练的轻量级回归模型