论文部分内容阅读
随着集成电路制造工艺的进步和需求推动,单片处理器包含的内核数量将呈现持续增长趋势,未来处理器芯片将集成上百乃至上千或者更多的处理器核,这类处理器通常被称为众核(Many-core)处理器。尽管并行编程、编译技术及并行编程模型经历了几十年的发展历程,但与硬件技术快速发展相比,软件技术进展迟缓。众核技术的快速发展,给并行应用的开发、并行编程模型、编译技术研究提出严峻挑战。一方面,众核并行编程难度大。与传统串行程序相比,针对众核处理器并行编程不仅需要考虑模块划分、逻辑结构和程序控制,而且需要考虑数据划分、线程同步、数据共享等一系列问题。在串行程序设计尚存在很多问题和挑战的情况下,实现针对众核处理器的高效并行编程将更加困难。因此,通过对现有并行编程模型在众核系统上进行性能分析,减少串行应用向众核系统并行程序转化的复杂度,能够实现众核系统的最大化并行性。另一方面,在众核系统上进行性能调优困难。随着处理器技术的不断发展,众核处理器片内核规模数日益庞大,如何确保应用程序性能和资源优化利用面临越来越多的挑战。特别是,基于异构众核的新型计算机系统,其结构更为复杂,当出现性能问题时,难以快速地定位问题并进行调优。此外,由于异构众核设计的特殊性,通过将大量硬件资源显式地交由软件管理,使得系统的性能更加依赖于软件实现技术。因此,如果不考虑众核处理器系统的特点,直接将传统优化方法应用到众核处理器系统中,势必会造成众核处理器的性能优势不能得到充分发挥,最终严重影响应用程序的执行效率。本论文围绕众核系统结构并行编程模型展开研究,探索在众核系统结构上提升并行编程模型性能的调度优化方法。首先介绍了几种典型众核并行编程模型;其次通过大量实验对其实际性能进行详细分析,并归纳总结出众核并行编程模型实际面临的性能优化难点问题;最后选择众核系统并行编程模型的调度问题作为切入点,基于动态控制和反馈理论,对资源分配、任务执行和运行时系统等功能进行了重组整合,提出了自适应调度模型框架A-SYS系统。