论文译读 —— STUN: Reinforcement-Learning-Based Optimization of Kernel Scheduler Parameters 4(2)

接前一篇文章:论文译读 —— STUN: Reinforcement-Learning-Based Optimization of Kernel Scheduler Parameters 4(1)

4. STUN的设计

4.2 参数筛选

并非所有参数都会影响性能,即使这些值会根据调度程序策略或工作负载而改变。 例如,图3中显示了在FIFO策略的范围内将sched_r_timeslice_ms值(依次)增加10,并通过执行Sysbench记录结果值。

x轴表示参数值,y轴表示Sysbench产生的事件总数。在FIFO策略中,CPU被占用,直到按照顺序进入的所有作业终止。此外,sched_r_tiemslice_ms是一个参数,用于确定rr策略中每个任务的CPU使用时间。如图3所示,Sysbench表示一个介于2500和3000之间的常数值,无论参数值从0到1000变化。

筛选(过滤)过程通过最小化不必要的用以提高性能的训练缩短了训练时间,并减少内存使用以更有效地执行优化。在Q-learning算法中使用所有5个调度器策略和9个参数会浪费大量内存并增加学习时间。因此,有必要找到一个对性能有显著影响的参数。为了实现有效的学习,STUN通过筛选过程选择调度器策略和用于优化的参数。

STUN对于每种策略逐个将单个参数值更改为最小值、最大值和默认值,并记录测试工作负载中的性能变化。此时,其它参数固定为默认值。过滤进程会删除不影响应用程序整体性能的参数。为了识别参数,出于测量误差的考虑,过滤过程使用了20%的阈值。由于根据系统状况可能存在10-15%的误差,我们认为20%的性能差异是有意义的,并测试了最优值的参数。

在整个筛选过程中,这些策略和参数之间的关系是已知的,因此仅使用对性能影响最大的参数作为学习变量。因此,过滤过程缩短了学习时间并减少了内存使用,从而允许更有效地实现优化。

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/131439627
今日推荐