前言
处理器已经进入多核与众核时代。多核与众核处理器已占85%以上的市场份额。随着高性能计算、媒体应用、人工智能、大数据以及信号处理等领域的快速发展,众核处理器正成为处理器架构的主要发展方向。例如在实时多媒体应用、信号处理、科学计算和网络领域的计算密集型应用,要求处理器必须提供非常高的计算密度和每秒几十亿次操作的性能。传统的通用架构处理器性能偏低,能耗偏高,已经不适合计算密集型应用。众核处理器能有效地利用廉价晶体管提供高密度计算,且具备可编程灵活性,因而受到了学术界和工业界越来越广泛的关注。
近年来,不同领域的应用算法越来越复杂多样,需要处理的数据量也越来越大,但某些应用不具有良好的天然并行性。这导致众核处理器即使采用仔细的任务划分进行并行计算,但是线程间频繁的通信开销也会大大削弱通过并行计算所获得的加速比收益,性能、存储、能耗问题日益严重。因此,本书共分6章,针对众核处理器重点介绍架构优化、运算资源优化、存储优化、通信优化以及能耗与温度优化等方面的关键技术进行讲解。
第1章是绪论。首先从微电子领域的摩尔定律和丹纳德缩减定律出发,论述了当前处理器的发展方向,回顾了应用的特性和处理器设计的发展历程和关系,概括了目前处理器正朝着新架构和众核化方向发展的趋势。其次,从发掘指令级并行度、提高运算资源利用率以及编程灵活性等多方面引出本书主要讨论的众核处理器。最后,对众核处理器涉及的设计难点、挑战和关键技术进行了综述。
第2章介绍众核处理器架构。首先从计算、存储、通信三方面概述了处理器架构的设计与优化技术。其次从该架构的存储机制、存储层次结构、共享和私有Cache以及片上网络通信机制等多方面详细介绍瓷片众核处理器架构。最后综述了国内外优秀研究成果,并对比其优势和缺陷,为众核处理器架构设计,尤其瓷片众核处理器架构设计与优化提供了技术方案参考。
第3章介绍众核处理器存储优化技术。首先介绍了存储层次结构和优化目标。其次系统介绍了时空局部性感知的自适应Cache设计,实现了对应用程序实际时间局部性和空间局部性的动态监控,并分别讨论了基于共享末级Cache模型和基于私有末级Cache模型的两种自适应Cache结构。最后介绍混合快速突发支持的片上网络,明显提升瓷片众核处理器的存储访问效率。
第4章介绍处理器核运算资源优化技术。首先介绍一种基于流程序同构多线程和核心联合的调度策略来提高流架构的运算单元利用率,其次介绍一种运算单元利用率感知的核心映射和调度策略, 用以提高片上网络多核流处理器的运算单元利用率,同时考虑能量消耗。
第5章介绍基于片上网络的通信优化技术。提出基于虚拟电路交换的片上网络混合策略,以及最小化通信延时和功耗的路径分配算法,并介绍片上网络众核编译框架协同设计技术。
第6章介绍众核处理器能耗与温度优化技术。讨论众核处理器能耗和温度优化的原理以及相关数学模型,分别从处理器核指令调度和众核多任务调度两方面实现了处理器能耗和温度优化。首先提出了一种面向漏电功耗和温度控制协同优化的指令编译设计流程,可以有效地实现功耗和温度的同时优化。其次提出一个基于温度管理的任务映射机制,通过平衡多任务负载实现峰值温度的最优化。最后为了减少引入额外的通信开销提出了子网格分配策略,综合考虑了当前的计算核温度、临近核的温度影响、物理位置的影响,以及通信开销,提高性能的同时避免温度优化损失。
本书偏重于介绍众核处理器的设计与优化技术,对从事众核处理器设计与实现方面的研发人员有很好的指导意义。本书的作者长期从事研究生与本科生教学与指导工作,因此本书对从事众核处理器研究的研究生也有很好的指导意义。
感谢蒋国跃博士和曹姗博士对本书撰写工作做出的极大贡献,两位博士在博士生期间的研究工作支撑了本书部分章节的撰写。李兆麟统筹规划全书结构,王明羽负责书稿撰写工作,本书的全部研究成果都是在魏少军与李兆麟共同指导下完成的。
感谢清华大学出版社的大力支持,编辑老师认真细致的工作保证了本书的质量。
由于著者水平有限,书中难免有不足之处,恳请读者批评指正!
著者
2020年10月