片上多处理器体系结构:改善吞吐率和延迟的技术
分類: 图书,计算机/网络,计算机体系结构,
作者: (美)奥鲁克斯等著,汪东升等译
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 153印刷时间: 2009/01/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111253815包装: 平装编辑推荐
由于受诸多因素的影响,片上多核处理器(Chip Multiprocessor,CMP),又称多核微处理器,已成为构造现代高性能微处理器的唯一技术途径,是处理器发展的必然趋势。本书是讲授多核体系结构设计和优化的第一本著作。
通过对LLCMP与传统单处理器的优缺点,本书仔细研究了如何针对两种常见但截然不同的工作负载来更好地设计CMP:高度并行且对吞吐率敏感的应用和并行度较低但对延迟敏感的应用。对吞吐率敏感的应用,如可迅速处理多个独立事务的服务器工作负载,需要综合考虑CMP中所有可能限制吞吐率的部件,如处理器核心、片上缓存和片外存储器接口。对延迟敏感的应用,如桌面应用,其关注的焦点是如何降低内核间的通信延迟,以及如何帮助程序员简化已有程序代码的多线程化。书中介绍了多种可用于CMP系统的并行编程的技巧,并重点讨论了斯坦福大学在该领域的相关研究工作。本书还关注了线程级猜测(Thread-level Speculation,TLS)和事务型内存(Transactional Memory)。TLS是一种将标准的串行程序自动切分成CMP上多个并行线程的方法。事务型内存模型使用硬件而非传统软件锁机制来保证一段指令的原子代码执行,可以显著减少并行编程的工作量,降低并行代码的出错概率。通过阅读本书,读者可以在较短时间内熟悉和掌握片上多处理器研究的主流技术和最新的研究成果,为片上多处理器领域的科研和应用带来新的思路和灵感。
内容简介
片上多处理器(chip multiprocessor),又称多核微处理器或简称CMP,已成为构造现代高性能微处理器的唯一技术途径。本书在简单介绍了片上多处理器的基本概念后,着重于从提高吞吐率和缩短响应时延两方面探讨片上多处理器的基本技术与设计方法。同时介绍了多核处理器的编程技巧,包括线程级猜测和事务型内存等热点技术。通过阅读本书,读者可以在较短时间内熟悉和掌握片上多处理器研究的主流技术和最新的研究成果,为片上多处理器领域的科研和应用带来新的思路和灵感。
作者简介
奥鲁克斯,博士是美国斯坦福大学计算机系教授,是当今计算机设计领域著名的学者和开拓者。他领导了第一个片上多处理器系统Hydra的开发,推动了片上多处理器的研究热潮,同时建立了Afara Websystems公司,该公司最终被Sun公司收购并将其处理器重命-名为Niagara。目前,他担任斯坦福大学普适并行实验室(Pervasive Parallelism Lab,PPL)领导人,该实验室的目标是把并行计算推广到所有的应用领域中。
目录
出版者的话
译者序
摘要
第1章CMP简介
1.1一个新途径:片上多处理器
1.2应用程序的并行性图景
1.3一个简单的例子:超标量与CMP
1.4本书:超越基本的CMP
参考文献
第2章吞吐率优化技术
2.1简单内核与服务器应用
2.2与吞吐率有关的片上多处理器
2.3通用服务器CMP分析
参考文献
第3章自动的延迟优化技术
3.1伪并行:“帮手”线程
3.2TLS系统的一个实例:Hydra
3.3自动并行化的总结思考
参考文献
第4章基于手工并行编程的延迟优化技术
4.1使用TLS支持事务型内存
4.2事务型一致性:更普遍的事务型内务
4.3事务型内存与常规共享内存的混合方案
参考文献
第5章一个多核的世界:CMP的未来
参考文献
作者介绍
书摘插图
第1章 CMP简介
微处理器作为现代计算机系统的核心,在过去的许多年中,其性能一直呈指数增长,图1-1所示的Intel处理器就是一个典型例子。微处理器性能快速增长的主要原因有两点。首先,在摩尔定律的作用下,处理器和存储芯片的基本单元——晶体管的速度越来越快,从而使由众多晶体管搭建的处理器性能得到迅速提升。其次,利用芯片上数量众多的晶体管,现代微处理器设计者能从软件代码中挖掘更多的并行性来改善程序性能,因此微处理器的实际性能增长速度甚至比摩尔定律所预测的还要快。
长期以来,挖掘和利用程序代码中并行性的各种策略具有一个有趣的共同点,即对软件程序员保持透明。从20世纪70年代微处理器问世至今,除了少量改动外,其实现都遵从传统的冯•诺伊曼计算模型。对程序员来说,计算机系统就是由执行串行指令流的单核处理器,以及存放程序代码和数据的“存储器”所组成。处理器设计通常采用与前代处理器向前兼容的策略,其根本原因是这种策略更为经济。数十年来,硬件设计者的工作被限制在冯•诺伊曼抽象模型下,并在已有基础上改进系统性能。从存储器的角度看,为了继续维护冯•诺伊曼模型,设计者在处理器中增加了更大的缓存(cache)和寄存器堆,前者可以将“存储器”中频繁访问的部分数据存放在物理上更接近处理器的小型快速存储器中;后者则可以将最频繁使用的少量数据存放在更小、更快的、由编译器管理的“存储器”区域中。大多数处理器内部结构优化和改进的主要目的是实现以下两个目标或其中之一:增加处理器指令队列中每时钟周期可发射的指令数,以及超越摩尔定律,更快地提升处理器时钟频率。
……