摘要

在多核处理器环境中,并行程序对处理器共享资源,如最后一级缓存、内存控制器等的争用会造成其性能下降。对程序性能进行准确地预测能够为协同调度提供决策依据,从而减少争用导致的性能损失。传统的基于重用距离的性能建模方法的预测效果好,但由于开销较大而无法动态实施。针对此不足,基于机器学习提出一种支持动态预测程序性能损失的方法。选取硬件性能指标用于度量程序对共享资源的使用强度,建立双层预测模型:以协同运行时的性能指标作为输入,估计程序的竞争度和敏感度或其独立运行时的性能指标,预测出任意两个程序间的性能损失。仿真实验结果表明,相比启发式调度算法,基于该预测方法的调度结果对不同数据集有更小的整体性能损失。

  • 单位
    计算机软件新技术国家重点实验室; 南京大学

全文