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

2414                                   Journal of Software  软件学报 Vol.32, No.8,  August 2021

                    根据图 5 所示的结果,在该程序执行 850 次后,DSM 方法在训练很多次之后仍然不能够达到一个较为稳定
                 的结果,出现了很多延迟低但温度很高和延迟高却温度很低的情况.这是因为该方法的奖励函数中虽然同时考
                 虑了温度和性能,但是并未对二者进行有效的权衡,造成了系统的温度波动以及程序的程序执行时间变化,并不
                 能够满足制定的延迟约束条件.
                    从本节对现有方法的讨论可以看出,现有的基于强化学习的温度感知调度算法仍然存在一些问题.为了改
                 善现有方法的缺陷,本文提出了全新的温度感知调度算法 ReLeTA,通过全新的建模方式来实现高效的温度感
                 知多核处理器调度.
                 4    ReLeTA 温度感知调度方法

                    本节将对提出的算法进行全面的讨论,包括对算法的总体设计以及建模方法都进行了详细描述.
                 4.1   模型概述

                    图 6 展示了 ReLeTA 的整体框架,目前,ReLeTA 的调度算法是在用户空间(user space)实现,在未来考虑将其
                 实现于操作系统内核中.作为一个多核系统的任务调度器,当一个新的应用程序到达后,ReLeTA 从底层硬件获
                 取状态信息,随后与操作系统进行交互,通过 CPU_affinity 将程序分配到对应的处理核心上.系统完成程序分配
                 之后返回奖励值,并根据奖励值来更新策略.其中,底层硬件是处理器的内核,现代 CPU 在每个计算内核上都设
                 有传感器,可以直接读取处理器当前的运行温度.在工作过程中,操作系统将所获取的处理器频率、利用率以及
                 温度信息传递给 ReLeTA 来优化调度策略.整个 ReLeTA 算法的系统开销较小,通常在 1ms 之内,详细的系统开
                 销实验结果可见第 5 节表 8.在下面的章节中,将详细介绍 ReLeTA 如何使用从底层获取的系统信息.

























                                               Fig.6   ReLeTA framework model
                                                   图 6   ReLeTA 框架模型
                 4.2   温度感知的强化学习建模
                    对 Q-Learning 来说,最重要的部分就是设置有效的环境状态模型、动作空间及奖励函数,使智能体也就是
                 温度感知调度器可以快速地学习到一个策略来有效降低系统的温度.本节将详细介绍 ReLeTA 如何对这几个方
                 面进行建模.
                    (1)  环境状态模型
                    强化学习需要一个精确的环境模型,可以准确地反映出系统变化和奖励以及智能体动作之间的关系,从而
                 帮助智能体快速学习到一个最优的策略.因此,环境状态模型是否能精确地体现当前系统的状态,是任务调度器
   127   128   129   130   131   132   133   134   135   136   137