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