● 摘要
高性能计算机系统以其快速并行处理能力,在石油勘探、气象预报、生物模拟等领域都有广泛的应用。长期以来,性能一直是高性能计算机系统研制中优先考虑的主要目标。然而,随着性能的快速提升,系统规模越来越大,能耗也随之急剧增加,已成为制约系统发展的主要瓶颈之一。在能耗优化方面,目前已开展的研究工作主要集中在基础架构级、芯片部件级和系统级三个层次。并行作业调度是系统级能耗优化的核心技术,通过研究并行作业调度技术,从资源管理和作业调度方面优化系统能耗是当前的重点研究课题。
并行作业调度方面的能耗优化主要从基于动态电源管理、动态电压频率调节方法的能耗感知调度以及并行任务调度算法优化等方面进行。目前基于动态电源管理的能耗管理普遍采用基于超时阈值的控制策略,节点状态改变的滞后性会使作业执行产生较大延迟;基于动态电压频率调节的调度通过在任务静态松弛时间内,对处理器电压和频率的调节降低处理器能耗,松弛时间分为静态松弛时间和动态松弛时间,现有研究没有回收任务执行中的动态松弛时间,致使任务执行中空闲处理器的能耗未得到控制;任务调度算法的能耗优化集中在静态启发式算法,为降低通信开销,任务执行前会被聚合成多个任务组,执行过程中不再发生变化,而实际上由于并行程序条件跳转、通信等待等因素,任务的执行时间具有不确定性,仅根据预估时间进行静态聚类并不能保证任务与资源的动态适应性,会使系统通信开销加大,从而增加系统能耗。
本文针对上述面向能耗优化的并行任务调度技术中存在的问题,从基于动态电源管理的能耗管理、基于动态电压频率调节的并行任务调度,以及并行任务聚类方法等方面,研究了通过并行作业调度技术优化系统能耗的方法。具体的研究内容如下:
(1)在分析高性能计算机系统中负载变化的基础上,设计了一种自适应负载驱动的动态能耗管理方法AWDPM。该方法首先对大量高性能计算系统中实际应用负载特征进行分析,建立了负载变化模型,通过该模型预测负载变化和资源需求,在此基础上设计了基于负载预测的预唤醒节点方法,以减少由于节点唤醒造成的作业执行延迟。同时,为避免由于负载动态变化对预测准确性的影响,建立了动态反馈修正机制,即实时收集负载变化并动态修正模型,以保持对负载模型的适应性。负载模型形成中,为避免个别负载波动对负载模型带来的负面影响,采用格鲁布斯检验法剔除异常值。针对负载日变化模型符合伽马分布的案例研究表明,负载驱动的动态功耗管理方法在平均功耗仅有极少量增加的情况下,可以有效降低作业等待数和作业平均等待时间。大型模拟器Gridsim上进行的实验首先分析了预唤醒比例对能耗的影响,并在多个具有不同变化特征的负载模型下进行了模拟实验,实验结果表明,相比现有的超时阈值能耗管理方法,作业等待数平均减少40.6%,作业平均等待时间减少31.4%,增加的节点平均功耗仅为0.98%,节点状态的平均切换次数减少8.32%,该方法可有效降低现有能耗管理对系统性能和可靠性带来的负面影响,更好地权衡了系统的性能和能耗。
(2)针对任务间存在约束依赖关系的并行任务调度,在分析任务松弛时间的基础上,提出了一种基于动态电压频率调节的分阶段能耗感知调度方法NEASA。首先建立基于有向无环图的并行任务模型和能耗模型,然后分两阶段进行处理器频率调节。第一阶段在任务运行前,根据并行任务的静态松弛时间,基于任务模型推导出静态松弛时间内处理器的最优频率值;第二阶段则在任务运行过程中实时回收任务的动态松弛时间,相应调节动态松弛时间内的处理器频率,对推迟完成的任务则通过提高其后继任务执行的处理器频率以保证性能。该方法从静态和动态两个方面,通过调节处理器频率的方式,在不影响调度长度的前提下,降低空闲处理器能耗。实验结果表明,相比现有基于动态电压频率调节的能耗感知调度方法,对于随机测试集,NEASA可以在不增加调度长度的前提下,平均降低能耗约5.6%。对计算密集型应用能耗优化的优势更为明显,可以平均降低约10.8%的能耗。
(3)在任务间存在约束依赖关系和通信开销的并行任务调度中,针对静态聚类调度方法不能保证任务与资源的动态适应性的问题,提出了一种考虑通信能耗的动态聚类调度方法DCSA。该方法将聚类分为初步聚类和动态再聚类两步。首先,依据任务图中的关键路径,运用线性聚类方法将任务聚合为多个任务组。然后,任务执行中根据任务的实际完成时间与预估时间之间的误差,在不增加调度长度的情况下,进行动态再聚类。为降低系统开销,动态再聚类仅对未开始执行的任务进行。同时,对任务执行时间误差和能耗差异均设定了阈值,将其作为动态再聚类的条件。实验结果表明,与现有的静态聚类方法相比,DCSA在不增加调度长度的前提下,在通信密集型应用上可节省约10.2%的能耗。在随机应用上平均节省约5.78%的能耗。
相关内容
相关标签