论文部分内容阅读
近年来,随着半导体技术的发展,处理器中晶体管密度和主频逐渐提高,一方面新增的硬件资源所能带来的每周期性能提升空间越来越小,传统的单核处理器已难以满足人们对计算性能的需求,另一方面随着处理器芯片体积的缩小,而芯片的散热能力增长有限,使得芯片在高负荷运行时的稳定性降低,并造成性能下降。传统的单核处理器已无法满足人们对计算性能以及功耗的需求,加上处理器的应用领域逐渐多元化,对处理器的需求更加多样化,因此异构多核处理器逐渐成为现代计算机系统的主流解决方案。对于异构多核处理器来说,为了充分利用其高性能与低功耗兼具的特点以及异构特性,需要解决的一个重要问题是应用程序的动态映射(调度)问题。一个好的异构调度策略需要能够感知异构处理器各个处理核之间的异构性和应用程序行为的不同特性,在对不同映射方案进行高效评估的基础上,动态地进行应用程序到处理核的映射。这种决定某个线程应该映射到哪个处理核的问题类似于机器学习技术已成功得到应用的推荐系统要解决的推荐问题,因此本文围绕机器学习方法在异构多核调度策略上的应用展开研究。针对异构多核处理系统上的应用程序动态映射和调度问题,提出了一种基于机器学习技术来快速准确评估程序性能和程序行为阶段变化检测技术来有效确定重映射时机从而最大化系统性能的映射和调度解决方案。该方案一方面通过合理选择处理核和程序运行时的静态和动态特征来有效感知异构处理所带来的计算能力和工作负载运行行为的差异,从而能够构建更加准确的预测模型;另一方面通过引入阶段检测技术来尽可能减少在线映射计算的次数,从而能够提供更加高效的调度方案。并通过实验与Linux默认的CFS调度方法进行对比,在系统性能与资源利用率方面均取得了更好的效果。随着处理核数量的增加,当异构多核平台上的处理核处于高负荷运作时,散热系统可能无法满足处理芯片的散热需求,从而发生暗硅危机导致芯片的晶体管资源利用率降低,同时高温环境也将降低芯片的可靠性和寿命。因此为了保证在此情况下调度方法仍能很好的运作,本文在异构感知调度方法的基础上进一步提出了一种使用动态安全功率预算为不同的处理核设置不同的功率预算,尽可能确保在映射后处理核运行时的温度不会高于临界温度,从而避免暗硅危机产生的满足热安全的调度方法,在充分利用功率预算以保证热安全的前提下,尽可能提高系统的吞吐量和资源利用率。