核内调度问题的分层优化:缓存管理与性能均衡策略 问题 3 的模型建立与求解 模型设计与分析+实验分析
5.2 模型设计与分析
问题 3 的建模基于问题 1 生成的调度序列和问题 2 生成的缓存分配方案(包括地址偏 移和 Spill 操作列表),最终输出是一个优化后的调度方案,该方案需在以下多目标约束下寻求平衡:
(1)主要目标:最小化总执行时间,即所有节点完成执行的时间点。
(2)约束条件:总额外数据搬运量不能显著增加。这里的“不显著”通常意味着搬运 量的增长应控制在合理阈值内,以避免能效退化。
(3)可选目标:对执行时间和数据搬运量进行联合优化,寻找最优解。
对此,本文所构建的性能优化模型,会在问题 1 与问题 2 的基础上进一步实现了调度 方案的综合效能提升,优化策略构建于前期已生成的调度序列与缓存分配方案之上,不进 行耗时的迭代搜索或重复计算,降低优化过程的计算开销,满足实际部署中对响应速度的 要求,增强方法的工程实用性。在优化过程不依赖于特定算子的计算结构或领域知识,而 是完全基于 DAG 的通用属性进行决策,使其能够对于未在训练集中出现的未知算子类型也具备良好的泛化能力。
在本问题中,摒弃了黑箱式启发式算法或者元启发式算法,而是对于每一步优化决策 均有明确的逻辑依据和可追溯的推理链条,使得方法具有更好的可分析性,同时通过系统 性的实验设计与完备的评估流程,平衡“总执行时间”与“总额外数据搬运量”这两个核 心竞争指标,增强模型在复杂约束下进行多目标决策的科学性与鲁棒性。
但需要注意的是,这样的调优策略模型也会一定程度上导致解空间探索不足、缺乏自 适应性等局限性,具体的模型评价分析和相应的改进方向在第6章给出了详细的讨论与陈述。
5.3 实验分析
针对问题 3,本文旨在实现总执行时间与总额外数据搬运量两项关键指标的联合优化。 由于前两问的优化目标集中于降低数据搬运开销,未充分考量指令级并行性,所生成的调 度方案在总执行时间方面往往表现不佳。为减少数据搬运,调度策略倾向于将同一缓冲区 的相关操作集中排列,直至其被释放,该方式虽有利于数据局部性,却限制了不同硬件单 元间的并行执行机会,进而导致计算资源利用率下降和执行时间延长。
反之,若单纯以缩短执行时间为目标,调度序列将更积极地挖掘硬件并行能力,但可 能因此增大瞬时缓存压力,致使多个缓冲区的生命周期重叠程度升高。当总缓存需求超出 硬件容量时,将引发更多的 Spill 操作,不仅增加额外数据搬运量,其自身执行也进一步带来时间开销。
值得注意的是,两项指标之间并非简单的权衡关系,在某些情况下,通过优化数据复 用与流水排布,有可能在减少数据搬运的同时降低总执行时间。为实现有效的多目标优化, 本文综合采用了调度顺序调整、缓存分配策略细化以及 Spill 操作智能触发等一系列方法, 系统探索不同策略对性能指标的影响机制,以期在控制数据搬运成本的基础上显著提升执行效率。
在优化调度序列的过程中,本文通过为节点时间跨度 cp、依赖的缓冲区大小关系 delta 和 L0 节点分配优先度 isallocL0 等影响调度顺序的因素赋予不同权重,以调节总额外数据 搬运量与总执行时间之间的权衡关系,并据此搜索满足多目标需求的权重配置。总执行时 间随权重变化的计算结果如图8所示。
实验结果表明,当 cp 设置较高,而 delta 设置较低时,总执行时间普遍呈现下降趋势。 然而,在进一步分析中,可以发现总执行时间与 L0 节点分配权重 isallocL0 之间存在与算 子结构相关的交互影响。以 FlashAttention 和 Matmul 类算子为例,当 cp 权重过高时,总执 行时间不降反升。根据这样的结果,本文推测其原因为:过低的 delta 权重削弱了缓存占 用的控制能力,导致调度过程中缓存驻留压力增大,进而引入更多 Spill 操作节点。这些额 外操作反而抵消了并行性所带来的时间收益,造成总执行时间的增加。
同时,为满足赛题要求在尽可能减少总执行时间的同时不显著增加数据搬运量,本文进一步分析了卷积类算子在不同参数配置下两项指标的变化关系。如表5所示,对于 Conv Case0 数据集,当 cp 权重设为 0.9、delta 权重设为 0.1 时,总额外数据搬运量处于较低水 平;而在该基础上适当调整参数,可在搬运量未显著上升的前提下进一步降低总执行时间。 对于 Conv Case1 数据集,当 cp 与 delta 权重均设为 0.5 时搬运量较低;随后逐步提升 cp 权 重,总执行时间明显缩短,而搬运量仅小幅增加,体现出良好的权衡特性。遗憾的是,受时间所限,未能进行更细粒度的参数搜索以确定使得两项指标同时达到更优平衡的配置。
如图9 所示,本文所提调度算法在处理 Matmul Case0 时生成的时序流水图呈现出更为 紧凑的指令排布,反映出各硬件单元之间的空闲时间显著减少,从而有效降低了总执行时 间。