23多核并行編程 - windows程序設計

23多核并行編程 - windows程序設計

ID:9927430

大?。?.45 MB

頁數(shù):120頁

時間:2018-05-15

23多核并行編程 - windows程序設計_第1頁
23多核并行編程 - windows程序設計_第2頁
23多核并行編程 - windows程序設計_第3頁
23多核并行編程 - windows程序設計_第4頁
23多核并行編程 - windows程序設計_第5頁
資源描述:

《23多核并行編程 - windows程序設計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第23章多核并行編程本章先介紹超線程和多核處理器技術(shù),再給出并行編程的基本概念和內(nèi)容,重點討論基于多核CPU的并行計算的若干具體編程方法,包括通用的OpenMP和微軟公司的PPL、TPL和PLINQ。23.1超線程與多核處理器Intel公司的超線程(Hyper-Threading,HT)技術(shù)將一個物理處理器核模擬成兩個邏輯核,可并行執(zhí)行兩個線程,從而能有效提高處理器的運行效率。一直以來,處理器芯片廠商都是通過不斷提高主頻來提高處理器的性能(例如Intel于2004年12月12日推出的Pentium4HT570J處理器的主頻就達

2、到了3.8GHz)。但是隨著單個芯片上集成的晶體管數(shù)越來越多(如Intel于2007年11月11日推出的Core2ExtremeQX9650處理器包含8.2億個晶體管),傳統(tǒng)處理器體系結(jié)構(gòu)技術(shù)面臨瓶頸,很難單純通過提高主頻來提升性能。而且在主頻的提高同時,帶來的功耗猛增和散熱困難等問題非常嚴重,這些也是直接促使單核轉(zhuǎn)向多核的深層次原因。從應用需求來看,日益復雜的多媒體、科學計算、虛擬化等多個應用領(lǐng)域都呼喚更為強大的計算能力。在這樣的背景下,各主流處理器廠商將產(chǎn)品戰(zhàn)略從提高芯片的時鐘頻率轉(zhuǎn)向多線程和多內(nèi)核方面??傊?,不能永遠靠加

3、快頻率的方法來提高處理器的性能,頻率高到一定程度以后,必然要轉(zhuǎn)向多核(multi-core)技術(shù),這是由芯片的先天性質(zhì)所決定的。23.1.1SMT與超線程SMT(SimultaneousMultiThreading,同時多線程)使用硬件多線程來改善超標量CPU的整體性能,它允許執(zhí)行多個(如2~16個或更多)獨立的線程來更好地利用現(xiàn)代處理器架構(gòu)所提供的資源。超線程是Intel公司研發(fā)的一種在一個實體處理器核中提供兩個邏輯線程的技術(shù),是SMT技術(shù)的特例。1.超標量與流水線超標量(superscalar)CPU架構(gòu),使用單顆核心來實

4、現(xiàn)一種被稱為指令集并行120(instruction-levelparallelism)的并行運算形式,它能夠在相同的時鐘頻率下增加CPU的吞吐量。超標量處理器,通過同時分派多條指令給處理器上的冗余功能單元,可以在一個時鐘周期內(nèi)執(zhí)行一條以上的指令。每個功能單元(functionalunit)不是單獨的CPU核,而是在單個CPU內(nèi)的一個執(zhí)行資源,例如一個ALU(ArithmeticLogicUnit,算術(shù)邏輯單元)、一個位移器(bitshifter)或一個乘法器(multiplier)。在典型情況下,超標量CPU同時也是流水線的

5、,它們是兩種不同的性能增強技術(shù)。非流水線的超標量CPU或流水線的非超標量CPU在理論上也是可能的。流水線(pipeline,管道/管線),是一個串連在一起的數(shù)據(jù)處理元素的集合,其中的一個元素的輸出是下一個元素的輸入。流水線中的元素常常以并行或時間片方式執(zhí)行,在這種情況下,在元素之間常常插入一些數(shù)量的緩沖存儲器。指令流水線(instructionpipelines)是與計算機相關(guān)的流水線(其他流水線有圖形流水線和軟件流水線等)中的一種,它被用于處理器中,允許在同一時鐘周期(circuitry)內(nèi)重疊執(zhí)行多個指令。時鐘周期通常分割

6、成階段,包括指令解碼、算術(shù)和寄存器讀取階段,其中每個階段每次處理一條指令,參見圖23-1。圖23-1簡單的超標量流水線圖23-2超線程通過每次讀取和分派兩個指令,在每個指令周期可以完成最多兩個指令2.超線程Intel的超線程(HT,Hyper-Threading,早期曾叫Super-Threading)技術(shù)利用特殊的硬件指令,把兩個邏輯內(nèi)核模擬成兩個物理芯片,讓單個處理器核都能使用線程級并行計算,進而兼容多線程操作系統(tǒng)和軟件,減少了CPU的閑置時間,提高的CPU的運行效率。參見圖23-2。120采用超線程及時可在同一時間里,應

7、用程序可以使用芯片的不同部分。雖然單線程芯片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠?qū)σ粭l指令進行操作。而超線程技術(shù)可以使芯片同時進行多線程處理,使芯片性能得到提升。Intel表示,超線程技術(shù)讓(P4)處理器在只增加5%的芯片面積的情況下,就可以換來15%~30%的效能提升。但實際上,在某些程序或未對多線程編譯的程序而言,超線程反而會降低效能。除此之外,超線程CPU技術(shù)也需要主板芯片組和操作系統(tǒng)的配合,才能充分發(fā)揮超線程的效能。Intel公司的i865PE和i875P及更新的芯片組。微軟公司的WindowsXP、Wi

8、ndowsVista和Windows7等操作系統(tǒng)都能較好地支持Intel的超線程CPU。2002年2月Intel公司在其推出的代號為Prestonia的130nm新款至強(Xeon)處理器中首次采用超線程技術(shù)。Intel在其2003年5月21日推出的代號為Northwood的

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。