片上多處理器(chip multiprocessor),又稱多核微處理器或簡稱CMP,已成為構造現代高性能微處理器的技術途徑。本書在簡單介紹了片上多處理器的基本概念后,著重于從提高吞吐率和縮短響應時延兩方面探討片上多處理器的基本技術與設計方法。同時介紹了多核處理器的編程技巧,包括線程級猜測和事務型內存等熱點技術。通過閱讀本書,讀者可以在較短時間內熟悉和掌握片上多處理器研究的主流技術和的研究成果,為片上多處理器領域的科研和應用帶來新的思路和靈感。
由于受諸多因素的影響,片上多核處理器(Chip Multiprocessor,CMP),又稱多核微處理器,已成為構造現代高性能微處理器的技術途徑,是處理器發展的必然趨勢。本書是講授多核體系結構設計和優化的本著作。
通過對LLCMP與傳統單處理器的優缺點,本書仔細研究了如何針對兩種常見但截然不同的工作負載來更好地設計CMP:高度并行且對吞吐率敏感的應用和并行度較低但對延遲敏感的應用。對吞吐率敏感的應用,如可迅速處理多個獨立事務的服務器工作負載,需要綜合考慮CMP中所有可能限制吞吐率的部件,如處理器核心、片上緩存和片外存儲器接口。對延遲敏感的應用,如桌面應用,其關注的焦點是如何降低內核間的通信延遲,以及如何幫助程序員簡化已有程序代碼的多線程化。書中介紹了多種可用于CMP系統的并行編程的技巧,并重點討論了斯坦福大學在該領域的相關研究工作。本書還關注了線程級猜測(Thread-level Speculation,TLS)和事務型內存(Transactional Memory)。TLS是一種將標準的串行程序自動切分成CMP上多個并行線程的方法。事務型內存模型使用硬件而非傳統軟件鎖機制來保障一段指令的原子代碼執行,可以顯著減少并行編程的工作量,降低并行代碼的出錯概率。通過閱讀本書,讀者可以在較短時間內熟悉和掌握片上多處理器研究的主流技術和的研究成果,為片上多處理器領域的科研和應用帶來新的思路和靈感。
奧魯克斯,博士是美國斯坦福大學計算機系教授,是當今計算機設計領域著名的學者和開拓者。他領導了及時個片上多處理器系統Hydra的開發,推動了片上多處理器的研究熱潮,同時建立了Afara Websystems公司,該公司最終被Sun公司收購并將其處理器重命-名為Niagara。目前,他擔任
出版者的話
譯者序
摘要
第1章 CMP簡介
1.1 一個新途徑:片上多處理器
1.2 應用程序的并行性圖景
1.3 一個簡單的例子:超標量與CMP
1.4 本書:超越基本的CMP
參考文獻
第2章 吞吐率優化技術
2.1 簡單內核與服務器應用
2.2 與吞吐率有關的片上多處理器
2.3 通用服務器CMP分析
參考文獻
第3章 自動的延遲優化技術
3.1 偽并行:"幫手"線程
3.2 TLS系統的一個實例:Hydra
3.3 自動并行化的總結思考
參考文獻
第4章 基于手工并行編程的延遲優化技術
4.1 使用TLS支持事務型內存
4.2 事務型一致性:更普遍的事務型內務
4.3 事務型內存與常規共享內存的混合方案
參考文獻
第5章 一個多核的世界:CMP的未來
參考文獻
作者介紹