Page 133 - 《软件学报》2021年第8期
P. 133

杨世贵  等:基于强化学习的温度感知多核任务调度                                                        2415


                 至关重要的一部分.一个准确、全面的环境状态模型更有助于找到最优的任务分配策略,也能够促进任务调度
                 器快速地收敛到最优的策略.
                    温度感知任务调度器的最终目的是要实现系统温度的优化,因此在建模系统状态时,首先对系统温度相关
                 的因素进行分析.目前,大部分基于 Linux 的操作系统都使用“ondemand”调频模式,在此模式下,系统根据 CPU 当
                 前的利用率来动态地调节运行频率             [27] :系统负载较高,则提高频率来加速任务的运行;负载降低后,系统降低运
                 行频率达到节能的目的.为了观察影响系统温度的不同要素,我们采用了与第 4 节相同的实验环境,在系统中反
                 复调用 parsec 测试集中的 facesim 程序,同时采集任务所在内核的运行频率、利用率和温度,采集的系统数据绘
                 制在图 7 中.通过观察可以看到:系统的利用率和运行频率均与温度有很高的相关性,当利用率和运行频率大幅
                 度上升时,温度也会大幅度上升;反之,温度也随之下降.因此,我们将每个处理器的运行频率和利用率作为强化
                 学习中状态的一部分.然而,将所有处理器核心的运行频率和利用率加入到系统状态中会导致状态的维度很大,
                 当系统处理核心增加之后,不利于算法的可扩展性,也会导致强化学习的系统开销增加.因此,我们将同一个内
                 核的利用率和运行频率以相加的形式合并到一个变量中.然而在不同的调频模式下,频率和利用率对温度的影
                 响不一致,因此我们对它们进行加权求和,公式如下:
                                                    t
                                                   L =  F ×  i t  w +  f  U ×  i t  w u               (3)
                                                    i
                 其中,w f ,w u 分别为频率和利用率对应的权重值,且两个参数满足 w f +w u =1.通过实验结果发现,在“ondemand”调频
                                               t
                 模式下的最佳权重为:w f =0.3,w u =0.7.U 为 t 时刻核 i 的利用率,计算机中内核利用率是介于 0 和 1 之间的值,频
                                               i
                 率则一般处于 200MHz 至 4GHz 之间,两个指标之间数值相差较大.当指标间的水平相差很大时,直接使用原始
                 指标值作为状态,就会突出数值较高的指标对系统状态的影响,同时削弱数值较低指标的作用.因此,为了确保
                                                                          t
                 频率和利用率处于同一数值范围内,对频率进行归一化处理                     [28] ,式(3)中 F 表示为 t 时刻核 i 的归一化运行频
                                                                          i
                 率.运行频率的归一化处理方式如下:
                                                     t
                                                    F =  F currently _ i  / F max                     (4)
                                                     i
                 其中,F currently_i 为核 i 的当前频率,F max 为核的最大运行频率.



















                          Fig.7    Relationship between operating frequency and core utilization with core temperature
                                       图 7   运行频率和内核利用率与内核温度之间的关系

                    我们在真实系统中对比了合并利用率和频率作为系统状态和单独使用利用率和频率作为状态下的实验效
                 果,发现合并状态后的效果并未差于将两个状态分开表示.
                    为了全面反映当前系统的状态,除了系统利用率和频率信息,还需要考虑系统的温度信息.现有方法如 LTB,
                 直接使用所有内核的当前温度作为系统状态.然而系统温度变化很快,仅用内核的当前温度并不能较好地反映
                 系统的温度变化趋势.在温度管理的文献中,通常同时使用当前温度和温度梯度来表示当前系统的温度变化趋
   128   129   130   131   132   133   134   135   136   137   138