接前一篇文章:论文译读 —— STUN: Reinforcement-Learning-Based Optimization of Kernel Scheduler Parameters 4(2)
4. STUN的设计
4.3 奖励算法
奖励是一个值,指示工作负载性能是否正在改善。通过细分和应用奖励,STUN可以更有效地更新Q-table,并减少学习时间。STUN奖励函数中的一些奖励和惩罚规则的想法如下:
- 对性能的显著改善给予高额奖励
- 如果性能显著下降,则给予处罚
- 根据之前的表现给予奖励
default_bench用作性能标准的变量,以代表算法的规则。这是在不更改参数的情况下,在Linux默认设置下的测试工作负载结果。请注意,结果表示测试工作负载的性能。与过滤过程一样,基于大于20%和小于20%的结果,奖励是不同的,以检查性能是否受到显著影响。从default_bench上提高20%以上的结果设置为上限,而低于20%的结果则设置为下限。如果结果比上限好,奖励是200,这是一个很大的奖励;如果低于下限,奖励为−50,这是一个惩罚;当性能在20%的范围内变化时,如果性能高于先前的结果,则奖励是100;否则,返回值0。算法1是获得奖励的算法表示。