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

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

5. 评估

在本节中,我们评估了使用强化学习实现的STUN的性能。以下是我们希望通过评估确认的要点: 

  • 基于学习迭代次数的STUN性能

我们通过改变段(episode)计数N和Max_T的值来分析结果,这两个值是决定强化学习中迭代总数的因素。

  • micro-benchmark测试的性能

为了证实STUN的详细性能改进,我们选择了一个micro-benchmark,如hackbench,并将其在STUN优化的调度器参数下的性能与在默认调度器环境下的性能进行了比较。

  • 实际工作负载下的性能

为了评估STUN对实际工作负载的性能影响,我们运行了一个使用Haar Cascades的人脸检测应用程序,并比较了优化和默认(参数)设置下应用程序的执行时间和帧率。

  • 基于CPU核心数量的改善

为了确认CPU核的数量是否影响STUN的性能,我们比较了性能提升率,通过在4核、44核和120核机器中优化Sysbench。

5.1 环境

表2显示了评估中使用的机器的硬件规格。

STUN是在Python 3.6.9版本环境中实现的,4核和44核机器使用Linux内核版本4.15,120核机器使用Linux内核版本5.4。此外,用于学习的测试工作负载如下:

  • Hackbench

作为评估Linux内核调度器性能的基准,它(hackbench)创建通过套接字或管道进行通信的进程,并测量每对发送和接收数据所需的时间。作为运行hackbench的选项,目标机器核数量被给定,并且核数乘以40个任务被应用作为进程,以测量执行时间。

  • 使用Haar CasCades的人脸检测应用

人脸检测应用程序使用OpenCV(一种图像处理库)提供的基于机器学习的物体检测算法。它(应用程序)从视频文件的帧中找到一个人的脸和眼睛。我们将默认应用程序修改为高度并行的多线程应用程序,以利用许多underlying核。

  • Sysbench

Sysbench是一个基于LuaJIT的多线程基准测试工具集。尽管主要用于对数据库进行基准测试,但其也用于创建任意复杂的工作负载。在本评估中,我们生成了CPU内核的数量×10个线程,并使用1秒内执行的事件总数作为结果。

猜你喜欢

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