关键词:
温度感知
多核任务调度
多处理器片上系统
滑动窗口
动态电压/频率调整
热点
摘要:
近几年,越来越多的新型嵌入式系统需要高性能、高集成度的处理器来满足其相关的嵌入式设计约束,例如减小系统的物理尺寸或者降低功耗。在这种情况下,多处理器片上系统(Multiprocessor systems-on-chips, MPSoCs)成为了解决这一问题的一个比较理想的方案,并且引起了学术界和工业界的共同关注。然而,随着处理器内核数目和集成度的增加,芯片内部功耗值和发热量急剧增加,芯片内部温度也随之上升。高温热点和大的温度变化增加了系统的冷却成本,降低了系统的可靠性和性能,严重制约了高性能微处理器在实时系统中的应用和发展。在满足实时系统截止期和芯片阈值温度的约束下,如何执行任务调度、降低芯片能耗是一个亟需解决的热点问题。
在研究了多种关于多处理器片上系统的温度管理技术的基础上,提出了两种温度感知的动态任务调度算法。首先,本文提出了一种MPSoCs中基于滑动窗口模型的温度感知动态任务调度算法Prob-HN。该算法根据各个内核以及其邻居单元的当前温度和历史温度,计算内核的任务分配概率,然后选择一个概率最大的空闲内核来执行任务。在考虑内核的历史温度影响时,定义了一个温度滑动窗口模型,用来记录最近门个任务到达时各单元的温度,同时,考虑到距离当前时间越远的历史温度对当前的影响越小的情况,定义了一个衰减函数,对不同时间的历史温度分配不同的影响权重。在考虑内核邻居单元的温度时,为了权衡算法的精确度和复杂度,将物理位置直接相邻的单元定义为邻居单元,只考虑分组内邻居单元之间的温度影响,不考虑分组间单元之间的温度影响。
针对支持DVFS的MPSoCs中实时任务的调度问题,本文提出一种温度感知动态任务调度算法Prob-V。该算法首先根据内核自身的温度以及其邻居单元的温度,为每一个空闲内核计算一个任务分配概率,然后选择任务分配概率最大的空闲内核来执行就绪的任务。当第一步中选定内核来执行就绪任务之后,算法将依据两个定理为选定的内核确定合适的电压/频率状态,在保证任务可以在截止期之前完成的情况下使内核的最高温度最低。
为了对本文提出的温度感知的动态任务调度算法进行评估,本文使用HotSpot5.0作为功率-温度建模工具,根据具体的多处理器片上系统的特性开发了一个连续运行的动态调度模拟器。该模拟器可以方便的对各种多处理器片上系统中的温度感知的动态任务调度算法进行评估;可以根据需要生成各种周期性、带依赖关系的随机任务集,或者低、中、高负载的固定任务集;可以将算法执行过程中处理器各组成部分的温度以图形化的形式进行动态显示。利用本动态调度模拟器,对文中提出的温度感知调度算法的性能进行了评估,所有结果均是根据UltraSPARC T1处理器芯片上收集的数据得出的。实验结果表明,本文提出的两个调度算法与已有算法相比均能够有效的减少高温热点的累计时间,降低芯片内部各单元在空间和时间上的温度变化,从而实现相对较低并且时间稳定、空间均衡的温度分布。