基于机器学习的异构感知多核调度方法
发布时间:2020-12-25 02:32
异构多核处理器已成为现代嵌入式系统的主流解决方案,而好的在线映射或调度方法对其充分发挥高性能和低功耗的优势起着至关重要的作用。针对异构多核处理系统上的应用程序动态映射和调度问题,提出一种基于机器学习、能快速准确评估程序性能和程序行为阶段变化的检测技术来有效确定重映射时机从而最大化系统性能的映射和调度解决方案。该方案一方面通过合理选择处理核和程序运行时的静态和动态特征来有效感知异构处理所带来的计算能力和工作负载运行行为的差异,从而能够构建更加准确的预测模型;另一方面通过引入阶段检测来尽可能减少在线映射计算的次数,从而能够提供更加高效的调度方案。最后,在SPLASH-2数据集上验证了所提出调度方案的有效性。实验结果表明,与Linux默认的完全公平调度(CFS)方法相比,所提出的方法在系统计算性能方面提高了52%,在CPU资源利用率上提高了9.4%。这表明所提方法在系统计算性能和CPU资源利用率方面具备优良的性能,可以有效提升异构多核系统的应用动态映射和调度效果。
【文章来源】:计算机应用. 2020年10期 北大核心
【文章页数】:7 页
【部分图文】:
整体框架
图2展示了运行SPEC2006基准程序测试集的gcc程序时其IPC值随时间片变化的情况。图2中的横坐标表示时间片的编号,每个时间片对应的纵坐标表示gcc程序在该时间片的IPC平均值。IPC值相对稳定的时间片区间可以看作一个程序稳定运行的阶段,从图2可以看出程序在运行时其IPC值会随着时间发生阶段性的变化,这种阶段性变化会在相邻两个时间片的IPC发生明显变化时出现。此外,还可以看到每个阶段横跨的时间有长有短,有的阶段维持的时间跨度甚至多达成百上千个时间片。由于在每个阶段程序行为相对稳定,因此就可以只在阶段发生切换时对现有的系统映射进行调整计算并寻找下一个阶段的最优映射方案,从而大大减少映射计算的次数,有效地降低在线计算的时间开销。由于阶段切换时相邻两个时间的IPC变化较为明显,因而通过检测IPC变化幅度就可以检测阶段是否发生切换。为此本文通过在每个处理核上设置一个阶段检测器来完成阶段检测,工作原理是比较在相邻两个时间片所采集到的处理核上所运行线程的IPC值的变化幅度与所设阈值的大小,如果变化幅度高于所设阈值则认为阶段发生切换。IPC波动幅度δipc的计算公式为:,
在激活函数的使用上本文选择了Re LU(Rectified Linear Unit)函数,该函数不含任何复杂的运算(如指数级运算),只拥有很小的计算量,可以最大限度地降低异构多核调度中产生的在线预测时间开销。同时,Re LU函数在训练过程中也可以有效避免梯度饱和问题,防止训练失败的情况出现。详细的ANN连接结构如图3所示。ANN性能预测器属于机器学习中的回归模型,因此本文使用回归模型常用的均方误差(Mean Squared Error,MSE)损失函数来对ANN性能预测器进行训练。使用MSE函数训练ANN性能预测器时,整个ANN的梯度会随MSE值的增大而增大,而MSE值趋于0时网络的梯度则会减小,因此采用固定的学习率即可保证整个网络可以有效地收敛,并在训练结束时取得良好的预测效果,所以本文将学习率设置为固定的0.001。
【参考文献】:
期刊论文
[1]基于机器学习的异构多核处理器系统在线映射方法[J]. 安鑫,张影,康安,陈田,李建华. 计算机应用. 2019(06)
[2]性能非对称多核处理器下异构感知调度技术[J]. 赵姗,杨秋松,李明树. 软件学报. 2019(04)
本文编号:2936780
【文章来源】:计算机应用. 2020年10期 北大核心
【文章页数】:7 页
【部分图文】:
整体框架
图2展示了运行SPEC2006基准程序测试集的gcc程序时其IPC值随时间片变化的情况。图2中的横坐标表示时间片的编号,每个时间片对应的纵坐标表示gcc程序在该时间片的IPC平均值。IPC值相对稳定的时间片区间可以看作一个程序稳定运行的阶段,从图2可以看出程序在运行时其IPC值会随着时间发生阶段性的变化,这种阶段性变化会在相邻两个时间片的IPC发生明显变化时出现。此外,还可以看到每个阶段横跨的时间有长有短,有的阶段维持的时间跨度甚至多达成百上千个时间片。由于在每个阶段程序行为相对稳定,因此就可以只在阶段发生切换时对现有的系统映射进行调整计算并寻找下一个阶段的最优映射方案,从而大大减少映射计算的次数,有效地降低在线计算的时间开销。由于阶段切换时相邻两个时间的IPC变化较为明显,因而通过检测IPC变化幅度就可以检测阶段是否发生切换。为此本文通过在每个处理核上设置一个阶段检测器来完成阶段检测,工作原理是比较在相邻两个时间片所采集到的处理核上所运行线程的IPC值的变化幅度与所设阈值的大小,如果变化幅度高于所设阈值则认为阶段发生切换。IPC波动幅度δipc的计算公式为:,
在激活函数的使用上本文选择了Re LU(Rectified Linear Unit)函数,该函数不含任何复杂的运算(如指数级运算),只拥有很小的计算量,可以最大限度地降低异构多核调度中产生的在线预测时间开销。同时,Re LU函数在训练过程中也可以有效避免梯度饱和问题,防止训练失败的情况出现。详细的ANN连接结构如图3所示。ANN性能预测器属于机器学习中的回归模型,因此本文使用回归模型常用的均方误差(Mean Squared Error,MSE)损失函数来对ANN性能预测器进行训练。使用MSE函数训练ANN性能预测器时,整个ANN的梯度会随MSE值的增大而增大,而MSE值趋于0时网络的梯度则会减小,因此采用固定的学习率即可保证整个网络可以有效地收敛,并在训练结束时取得良好的预测效果,所以本文将学习率设置为固定的0.001。
【参考文献】:
期刊论文
[1]基于机器学习的异构多核处理器系统在线映射方法[J]. 安鑫,张影,康安,陈田,李建华. 计算机应用. 2019(06)
[2]性能非对称多核处理器下异构感知调度技术[J]. 赵姗,杨秋松,李明树. 软件学报. 2019(04)
本文编号:2936780
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2936780.html