由于受诸多因素的影响,片上多核处理器(Chip Multiprocessor, CMP),又称多核微处理器,已成为构造现代高性能微处理器的唯一技术途径,是处理器发展的必然趋势。本书是讲授多核体系结构设计和优化的第一本著作。
通过对比CMP与传统单处理器的优缺点,本书仔细研究了如何针对两种常见但截然不同的工作负载来更好地设计CMP:高度并行且对吞吐率敏感的应用和并行度较低但对延迟敏感的应用。对吞吐率敏感的应用,如可迅速处理多个独立事务的服务器工作负载,需要综合考虑CMP中所有可能限制吞吐率的部件,如处理器核心、片上缓存和片外存储器接口。对延迟敏感的应用,如桌面应用,其关注的焦点是如何降低内核间的通信延迟,以及如何帮助程序员简化已有程序代码的多线程化。书中介绍了多种可用于CMP系统的并行编程的技巧,并重点讨论了斯坦福大学在该领域的相关研究工作。本书还关注了线程级猜测(Thread-level Speculation, TLS)和事务型内存(Transactional Memory)。TLS是一种将标准的串行程序自动切分成CMP上多个并行线程的方法。事务型内存模型使用硬件而非传统软件锁机制来保证一段指令的原子代码执行,可以显著减少并行编程的工作量,降低并行代码的出错概率。通过阅读本书,读者可以在较短时间内熟悉和掌握片上多处理器研究的主流技术和最新的研究成果,为片上多处理器领域的科研和应用带来新的思路和灵感。
作者简介
Kunle Olukotun
博士是美国斯坦福大学计算机系教授,是当今计算机设计领域著名的学者和开拓者。他领导了第一个片上多处理器系统Hydra的开发,推动了片上多处理器的研究热潮,同时建立了Afara Websystems公司,该公司最终被Sun公司收购并将其处理器重命名为Niagara。目前,他担任斯坦福大学普适并行实验室(Pervasive Parallelism Lab, PPL)领导人,该实验室的目标是把并行计算推广到所有的应用领域中。
Lance Hammond
是事务型缓存一致性与内存一致性的主要设计者之一,其最新信息可以从他的个人主页http://www.mavam.com/lance获得。
James Laudon
是Sun公司的一名杰出工程师。他的工作经历涉及多线程、多处理器和性能模型等领域。在他的博士论文中提出的交叉多线程概念被应用在UltraSPARC T1片上多处理器中。目前他正致力于研究UltraSPARC T1片上多处理器的下一代产品的体系结构。
斯坦福大学
无
由于受诸多因素的影响,片上多核处理器(Chip Multiprocessor, CMP),又称多核微处理器,已成为构造现代高性能微处理器的唯一技术途径,是处理器发展的必然趋势。本书是讲授多核体系结构设计和优化的第一本著作。 通过对比CMP与传统单处理器的优缺点,本书仔细研究了如何针对两种常见但截然不同的工作负载来更好地设计CMP:高度并行且对吞吐率敏感的应用和并行度较低但对延迟敏感的应用。对吞吐率敏感的应用,如可迅速处理多个独立事务的服务器工作负载,需要综合考虑CMP中所有可能限制吞吐率的部件,如处理器核心、片上缓存和片外存储器接口。对延迟敏感的应用,如桌面应用,其关注的焦点是如何降低内核间的通信延迟,以及如何帮助程序员简化已有程序代码的多线程化。书中介绍了多种可用于CMP系统的并行编程的技巧,并重点讨论了斯坦福大学在该领域的相关研究工作。本书还关注了线程级猜测(Thread-level Speculation, TLS)和事务型内存(Transactional Memory)。TLS是一种将标准的串行程序自动切分成CMP上多个并行线程的方法。事务型内存模型使用硬件而非传统软件锁机制来保证一段指令的原子代码执行,可以显著减少并行编程的工作量,降低并行代码的出错概率。通过阅读本书,读者可以在较短时间内熟悉和掌握片上多处理器研究的主流技术和最新的研究成果,为片上多处理器领域的科研和应用带来新的思路和灵感。 作者简介 Kunle Olukotun 博士是美国斯坦福大学计算机系教授,是当今计算机设计领域著名的学者和开拓者。他领导了第一个片上多处理器系统Hydra的开发,推动了片上多处理器的研究热潮,同时建立了Afara Websystems公司,该公司最终被Sun公司收购并将其处理器重命名为Niagara。目前,他担任斯坦福大学普适并行实验室(Pervasive Parallelism Lab, PPL)领导人,该实验室的目标是把并行计算推广到所有的应用领域中。 Lance Hammond 是事务型缓存一致性与内存一致性的主要设计者之一,其最新信息可以从他的个人主页http://www.mavam.com/lance获得。 James Laudon 是Sun公司的一名杰出工程师。他的工作经历涉及多线程、多处理器和性能模型等领域。在他的博士论文中提出的交叉多线程概念被应用在UltraSPARC T1片上多处理器中。目前他正致力于研究UltraSPARC T1片上多处理器的下一代产品的体系结构。 斯坦福大学
汪东升 王海霞 李鹏:暂无简介
多核处理器是处理器发展的必然趋势。无论是移动/嵌入式应用、桌面应用还是服务器应用,都将采用多核的架构。然而多核处理器的研发和应用还有问题,诸如多核处理器设计、验证和调试、设计空间、编程模型等挑战性问题还有待于深入的探讨。本书是讲授多核体系结构设计和优化的第一本著作。
本书在简单介绍了片上多处理器的基本概念后,着重从提高吞吐量和缩短响应时延两方面探讨片上多处理器的基本技术与设计方法。本书还介绍了多核处理器的编程技巧,包括线程级猜测和事务型内存等热点技术。通过阅读本书,读者可以在较短时间内熟悉和掌握片上多处理器研究的主流技术和最新的研究成果,为片上多处理器领域的科研和应用带来新的思路和灵感。
本书的作者Kunle Olukotun博士是美国斯坦福大学计算机系教授,是当今计算机设计领域著名的学者和开拓者。他领导了第一个片上多处理器系统Hydra的开发,推动了片上多处理器的研究热潮。同时,他创建了Afara Websystems公司,该公司最终被Sun公司收购并将其处理器重命名为Niagara。Lance Hammond是事务型缓存一致性与内存一致性(TCC)的主要设计者之一。Lames Laudon提出了交叉多线程(interleaved multithreading)的概念并在UltraSparc T1中得以应用。
感谢机械工业出版社对出版本书的支持,感谢清华大学微处理器与SoC技术研究中心的顾瑜、嵩天(现在北京理工大学)、郭三川和李崇民等博士在翻译和校对过程中所付出的辛勤努力。由于时间仓促及译者水平有限,文中难免有不当之处,还望读者批评指正。
汪东升
2008年9月于清华园
出版者的话
译者序
摘要
第1章 CMP简介 1
1.1 一个新途径:片上多处理器 5
1.2 应用程序的并行性图景 6
1.3 一个简单的例子:超标量与CMP 9
1.4 本书:超越基本的CMP 19
参考文献 20
第2章 吞吐率优化技术 21
2.1 简单内核与服务器应用 24
2.1.1 处理器内部对多线程的需求 25
2.1.2 最大化单个芯片上的处理器
内核数量 27
2.1.3 提供足够的缓存和主存访问
带宽 27
2.2 与吞吐率有关的片上多处理器
案例研究 27
2.2.1 案例1:Piranha服务器CMP 28
2.2.2 案例2:Niagara服务器CMP 37
2.2.3 案例3:Niagara-2服务器CMP 49
2.2.4 基于简单内核的CMP系统的
局限性 52
2.3 通用服务器CMP分析 53
2.3.1 模拟大规模设计空间 53
2.3.2 选择设计要点 56
2.3.3 实验结果 58
2.3.4 讨论 60
参考文献 63
第3章 自动的延迟优化技术 65
3.1 伪并行:“帮手”线程 66
3.2 采用线程级猜测实现
自动并行 68
3.3 TLs系统的一个实例:Hydra 75
3.3.1 Hydra基础设计 76
3.3.2 在Hydra中加入TLS 78
3.3.3 使用冲突统计获得的反馈信息 87
3.3.4 性能分析 92
3.3.5 完全自动化的TLS支持:
Jrpm系统 95
3.4 自动并行化的总结思考 107
参考文献 108
第4章 基于手工并行编程的延迟优化
技术 110
4.1 使用TLS支持事务型内存 112
4.1.1 一个例子:使用TLS对堆排序
进行并行化 112
4.1.2 使用TLS对SPEC2000进行并行化 123
4.2 事务型一致性:更普遍的
事务型内存 125
4.2.1 TCC硬件 127
4.2.2 TCC软件 131
4.2.3 TCC性能 137
4.3 事务型内存与常规共享内存的
混合方案 147
参考文献 148
第5章 一个多核的世界:CMP的
未来 150
参考文献 153
作者介绍 154