《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 多核系統(tǒng)效率與任務(wù)屬性關(guān)系的優(yōu)化策略

多核系統(tǒng)效率與任務(wù)屬性關(guān)系的優(yōu)化策略

2009-09-29
作者:石 瑋1,李雨前2,汪自云1

  摘? 要: 通過對(duì)多核應(yīng)用技術(shù)進(jìn)行系統(tǒng)效率與任務(wù)屬性關(guān)系的優(yōu)化分析,,得出系統(tǒng)所接受任務(wù)的不同屬性與對(duì)應(yīng)的系統(tǒng)效率之間的指令級(jí)仿真結(jié)果,證明了系統(tǒng)面向的任務(wù)屬性與選擇的多核系統(tǒng)性能存在科學(xué)的性價(jià)比,,從而保證了期望的系統(tǒng)計(jì)算力與整體架構(gòu)之間符合原本的科學(xué)性與經(jīng)濟(jì)性,。
  關(guān)鍵詞: 多核系統(tǒng)效率;任務(wù)屬性;指令級(jí)仿真

?

?  多核CPU支持的緊耦合并行結(jié)構(gòu)對(duì)面向移動(dòng)計(jì)算或高性能計(jì)算機(jī)(HPC)系統(tǒng)的技術(shù)支持是時(shí)下業(yè)界研究的熱點(diǎn),。然而,并行體系結(jié)構(gòu)設(shè)計(jì)與應(yīng)用表明:系統(tǒng)的并行處理能力與系統(tǒng)的整體效率不一定成正比,。對(duì)于確定的任務(wù),,計(jì)算量增加,系統(tǒng)效率可能下降[1],。所以,,在引入多核結(jié)構(gòu)提升系統(tǒng)并行處理能力過程中,充分考慮系統(tǒng)所處理任務(wù)的屬性是獲得高系統(tǒng)效率的關(guān)鍵因素之一,。
?  人們?cè)谧非笥?jì)算機(jī)高速度運(yùn)行,、高可靠性的今天,更加注重系統(tǒng)效率[2-3],。尤其是摩爾定理遇到瓶頸時(shí),,驅(qū)動(dòng)了多核CPU設(shè)計(jì),同時(shí)基于多核的并行程序設(shè)計(jì)也隨之成為研究熱點(diǎn),,多核并行硬件和軟件協(xié)調(diào)進(jìn)步仍然延續(xù)著ENIAC以來的相輔相成發(fā)展的技術(shù)路線,,成為新概念上的研究領(lǐng)域。
?  對(duì)計(jì)算機(jī)性能準(zhǔn)確建模非常復(fù)雜[4],,其中最基本的因素包括存儲(chǔ)器層次結(jié)構(gòu),、操作系統(tǒng)、互聯(lián)網(wǎng)絡(luò),、處理機(jī)技術(shù),、高速緩存與存儲(chǔ)管理、延遲包容或吸收機(jī)制,、算法設(shè)計(jì)與編程語言等,。然而,這些技術(shù)細(xì)節(jié)僅僅源自計(jì)算機(jī)系統(tǒng)本身,,而隨著非科學(xué)計(jì)算的處理任務(wù)日趨顯現(xiàn)(如流媒體處理,、模式識(shí)別、圖像處理,、知識(shí)發(fā)現(xiàn),、多媒體庫操作等),,傳統(tǒng)的并行處理機(jī)制與結(jié)構(gòu)所追求的并行能力指標(biāo)將不再適應(yīng)新屬性任務(wù)處理,研究任務(wù)屬性與系統(tǒng)效率或整體性能,,將成為并行處理體系結(jié)構(gòu)設(shè)計(jì)與應(yīng)用的重要課題,。
1 并行系統(tǒng)的并行能力與效率描述
?  在研究并行處理技術(shù)過程中,因?yàn)閂on Neumann機(jī)的存儲(chǔ)程序結(jié)構(gòu)及系統(tǒng)的整體處理能力,,取決于系統(tǒng)的全部處理節(jié)點(diǎn)或多核訪問內(nèi)存的機(jī)制與效率[2],。所以,當(dāng)代典型的并行機(jī)系統(tǒng)都重點(diǎn)研究訪問內(nèi)存的技術(shù)與方法,。
1.1? 幾種典型的并行機(jī)系統(tǒng)
??? 當(dāng)前典型的并行機(jī)系統(tǒng)有共享存儲(chǔ)的對(duì)稱多處理機(jī)SMP(Symmetric Multi-Processor),、大規(guī)模并行處理機(jī)MPP(Massively Parallel Processor)、分布式共享存儲(chǔ)器多處理機(jī)DSM(Distributed Shared Memory),、工作站機(jī)群COW(Cluster of Workstations)和跨地域性的,、用高速網(wǎng)絡(luò)將異構(gòu)性計(jì)算節(jié)點(diǎn)連接起來滿足用戶分布式計(jì)算要求的網(wǎng)格計(jì)算環(huán)境GCE(Grid Computational Environment)。
1.2? 并行計(jì)算機(jī)訪存模型
  均勻存儲(chǔ)訪問模型(Uniform Memory Access),,其重要特征是物理存儲(chǔ)器被所有處理器均勻共享,,所有處理器訪問任何存儲(chǔ)字的時(shí)間相同;每臺(tái)處理器都帶私有高速緩存,,外圍設(shè)備也可以一定形式共享,。也稱為緊耦合系統(tǒng)(Tightly Coupled System)。當(dāng)所有處理器都能等同地訪問所有I/O設(shè)備,、能同樣地運(yùn)行程序(如操作系統(tǒng)內(nèi)核,、I/O服務(wù)程序等)時(shí),稱為對(duì)稱多處理機(jī)(SMP),。
  非均勻存儲(chǔ)訪問模型(Non-uniform Memory Access),所共享的存儲(chǔ)器在物理上是分布在所有的處理機(jī)中,,其所有本地存儲(chǔ)器的集合就組成了全局地址空間,。處理器訪問存儲(chǔ)器的時(shí)間不一樣,訪問本地存儲(chǔ)器LM或群內(nèi)共享存儲(chǔ)器CSM較快,,而訪問外地存儲(chǔ)器或全局共享存儲(chǔ)器GSM(Global Share Memory)較慢,。每臺(tái)處理器照例可帶私有高速緩存,外設(shè)也可以某種形式共享,。
  全高速緩存存儲(chǔ)訪問模型(Cache-Only Memory Access),,各處理器節(jié)點(diǎn)中沒有存儲(chǔ)層次結(jié)構(gòu),全部高速緩存組成了全局地址空間,。利用分布的高速緩存目錄D進(jìn)行遠(yuǎn)程高速緩存的訪問,,緩存容量一般都大于二級(jí)高速緩存容量。數(shù)據(jù)開始可任意分配,,隨著進(jìn)程的推進(jìn),,數(shù)據(jù)最終被遷移到相應(yīng)存儲(chǔ)空間,。
  高速緩存一致性非均勻存儲(chǔ)訪問模型(Cache-Coherent Non-uniform Memory Access),絕大多數(shù)商用系統(tǒng)都使用基于目錄的高速緩存一致性協(xié)議,,比較SMP優(yōu)化了可擴(kuò)展性,,是一種分布共享存儲(chǔ)的多處理機(jī)系統(tǒng)。隨著進(jìn)程推進(jìn),,數(shù)據(jù)自遷移到所用的空間,。
  非遠(yuǎn)程存儲(chǔ)訪問模型(No-Remote Memory Access),所有存儲(chǔ)器是私有的,,不支持遠(yuǎn)程存儲(chǔ)器訪問,。
1.3? 系統(tǒng)加速比與效率
  多處理器加速比和處理機(jī)效率可分別表示為:
    

  因?yàn)樽罴鸭铀俦仁蔷€性的,即:SP=Op,,所以最佳效率就是常數(shù),,即:E=Const (0≤Const≤1)。
  由(1)式知,,P增加,,則E下降,但能夠通過優(yōu)化算法使E增加,。當(dāng)然是增加了算法優(yōu)化過程的工作量(Workload),,即由于付出Workload開銷,在系統(tǒng)處理機(jī)數(shù)量增加時(shí)維持系統(tǒng)效率不變,。這就是本文提出的基于任務(wù)屬性分析結(jié)果,,科學(xué)地選擇多核系統(tǒng)結(jié)構(gòu)的概念。所以,,始終保持一定效率常數(shù)的優(yōu)化系統(tǒng),,應(yīng)該能夠?qū)崟r(shí)對(duì)系統(tǒng)內(nèi)參與運(yùn)行的處理機(jī)數(shù)量實(shí)現(xiàn)科學(xué)調(diào)度,這等同于大規(guī)模作戰(zhàn)系統(tǒng)的指揮,,必須科學(xué)地調(diào)兵遣將,。
2? 指令級(jí)并行與多核CPU
  實(shí)現(xiàn)指令級(jí)并行(ILP)處理的基本要求是被執(zhí)行指令序列不存在指令與數(shù)據(jù)相關(guān),系統(tǒng)能在同一絕對(duì)時(shí)間或相對(duì)時(shí)間內(nèi)并行執(zhí)行多個(gè)任務(wù)指令或線程,,現(xiàn)代多核CPU能支持片內(nèi)多線程平行推進(jìn),。如果任務(wù)的指令序列存在相關(guān)性,平行推進(jìn)過程將出現(xiàn)“參差不齊”或線程暫停而阻塞相關(guān)核的運(yùn)行線程現(xiàn)象,。所以,,需要事先找出指令代碼中合適的指令序列段(S),如果執(zhí)行S的時(shí)鐘周期能正好等于原來被阻塞的延遲時(shí)間(Delay),,則能有效地緩沖或吸收線程阻塞,,繼續(xù)維持多核的多線程平行推進(jìn)。
  現(xiàn)代多核CPU實(shí)際上引入了多線程平行推進(jìn)過程中自適應(yīng)進(jìn)程遷移技術(shù),,即當(dāng)某核的線程被阻塞時(shí),,能自動(dòng)完成相應(yīng)線程上的進(jìn)程段遷移,,相當(dāng)于上述執(zhí)行S而吸收線程阻塞。
如上分析,,指令級(jí)并行度與多核CPU支持的系統(tǒng)效率緊密關(guān)聯(lián),。如何利用軟硬件技術(shù)去最大限度地開發(fā)處理機(jī)中的指令級(jí)并行性,關(guān)鍵在于要知道何時(shí)及如何改變指令順序,。在實(shí)際運(yùn)用中,,這種改變過程必須由編譯器或硬件正確實(shí)現(xiàn)。顯而易見,,多核系統(tǒng)如果不能保證多核多線程平行推進(jìn),,則更多的核可能更影響多核系統(tǒng)的整體效率,這成為目前對(duì)多核CPU結(jié)構(gòu)研究的重點(diǎn),。
3?不同屬性的任務(wù)對(duì)多核CPU處理能力與效率的影響分析
  應(yīng)用系統(tǒng)對(duì)計(jì)算力或計(jì)算機(jī)的處理能力的需求是可以標(biāo)定的,。尤其是對(duì)于給定的科學(xué)計(jì)算問題,所需要的處理時(shí)間幾乎能預(yù)估,。而面向非科學(xué)計(jì)算問題的處理,,處理系統(tǒng)要開銷的時(shí)間往往不可預(yù)知。比如,,在一個(gè)大型網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)內(nèi)完成相應(yīng)的知識(shí)發(fā)現(xiàn),,需要開銷的時(shí)間可能各不相同,因待發(fā)現(xiàn)問題的算法(約束方程)而異,。產(chǎn)生“不同”的原因其實(shí)與發(fā)現(xiàn)問題(處理任務(wù))的屬性相關(guān),,如果任務(wù)(Task)是可細(xì)粒度劃分的,則由多核CPU支持的并行系統(tǒng)處理效率高,。由于細(xì)粒度劃分算法的工作開銷(Workload),,保證了多核CPU的多線程能平行推進(jìn),實(shí)現(xiàn)高的并行效率,。
  考慮一種理想狀態(tài),,被處理任務(wù)可劃分為均勻的四大模塊,且并行系統(tǒng)由四核CPU支持,,宏觀上生成四條平行的流水線,由于每條流水線上的指令序列不存在任何相關(guān)性,,則四核的指令級(jí)線程將平行推進(jìn),,處理效率最高。如果Task客觀上只能分成均勻的兩大模塊(分成均勻的四塊將出現(xiàn)相關(guān)),,且同樣在四核CPU系統(tǒng)上運(yùn)行,,其系統(tǒng)效率將可以如下計(jì)算:
  設(shè)四核處理均勻四模塊的時(shí)間為T4,則兩核處理均勻兩模塊的時(shí)間為2T4,。
  如果由四核處理均勻兩模塊任務(wù)序列,,且指令級(jí)并行過程中存在的相關(guān)性產(chǎn)生的線程阻塞花費(fèi)的吸收開銷為TP,,當(dāng)且僅當(dāng)TP≤2T4時(shí),該并行系統(tǒng)才是功能上與四核處理四模塊等價(jià)的,,但性價(jià)比則大大降低,。
  因此,明晰應(yīng)用系統(tǒng)的屬性更能指導(dǎo)并行系統(tǒng)的選擇或構(gòu)建,,科學(xué)地分析系統(tǒng)整體效率或系統(tǒng)結(jié)構(gòu)選擇,,在并行系統(tǒng)不斷發(fā)展進(jìn)程中應(yīng)該具有重要意義。
4?任務(wù)屬性與系統(tǒng)效率實(shí)際仿真實(shí)例
  本文采用VC6.0編程對(duì)多核并行處理進(jìn)行仿真,,仿真結(jié)果如圖1和圖2所示,。

?

?

  比較圖1、圖2,,可以得到以下結(jié)論:
  動(dòng)態(tài)效率(圖中第二條曲線)始終低于靜態(tài)效率(理想效率),。動(dòng)態(tài)效率是多核改變?cè)噶顖?zhí)行順序,同時(shí)受核自身的空間,、當(dāng)前任務(wù)量影響,。
  靜態(tài)效率(圖中第一條曲線)是任務(wù)在隨機(jī)生成時(shí),靜態(tài)順序執(zhí)行,,運(yùn)用Amdahl定律計(jì)算出來的,。第二曲線低于第一曲線原因分析如下:
  (1)動(dòng)態(tài)執(zhí)行中多核之間協(xié)同發(fā)生同步等待延時(shí),系統(tǒng)效率下降,;
  (2)某時(shí)刻處理單元空閑,,產(chǎn)生等待延時(shí),系統(tǒng)效率下降,;
  (3)改變指令原有的執(zhí)行順序,,引起效率變化。
  第二曲線比第一曲線長(zhǎng)是因?yàn)楫a(chǎn)生延時(shí)等待,。當(dāng)系統(tǒng)中核的負(fù)載均衡,,即線程可平行推進(jìn)時(shí),動(dòng)態(tài)效率更接近靜態(tài)的理想效率,,這與實(shí)際非常吻合,,說明了基于Amdahl定律計(jì)算系統(tǒng)效率是可行的。
當(dāng)系統(tǒng)中有一個(gè)或多個(gè)核長(zhǎng)時(shí)間空閑時(shí),,則整個(gè)系統(tǒng)效率明顯下降,。
  當(dāng)任務(wù)分配不均勻,指令相關(guān)產(chǎn)生的等待或吸收,,則動(dòng)態(tài)效率非常不穩(wěn)定,。
  以上結(jié)論基于最初的指令級(jí)抽象、分配、執(zhí)行策略,,但由于是靜態(tài)調(diào)度,,Krste Asanovic的工作[5]指出了其4個(gè)主要的缺點(diǎn):
  (1)不可預(yù)料的轉(zhuǎn)移;
  (2)可變的內(nèi)存延遲(無法預(yù)料的cache不命中),;
  (3)代碼大小的爆炸,;
  (4)編譯器的復(fù)雜性。
  所以,,仿真證明了任務(wù)屬性與多核CPU支持的并行系統(tǒng)效率之間存在的緊密關(guān)系,,是指導(dǎo)提高應(yīng)用系統(tǒng)性價(jià)比的重要因素。
  多核處理器是處理器發(fā)展的必然趨勢(shì),。無論是移動(dòng)或嵌入式應(yīng)用,、桌面應(yīng)用還是服務(wù)器應(yīng)用,都將采用多核的架構(gòu)[6],。
  多核處理器要想發(fā)揮出威力,,關(guān)鍵在于并行化軟件支持,多核設(shè)計(jì)帶動(dòng)并行化計(jì)算的推進(jìn),,而給軟件帶來的影響更是革命性的[7],。面對(duì)多核系統(tǒng),需要有并行編程的思想才有可能充分利用資源,,而人類的思維模型習(xí)慣于線性思維,,對(duì)“面”或者更為復(fù)雜的立體編程模式,效率會(huì)下降很多,。
  仿真結(jié)果證明了多核CPU支持的并行系統(tǒng)效率提升與確定系統(tǒng)所面向的任務(wù)屬性至關(guān)重要,,它將有效地指導(dǎo)業(yè)界的應(yīng)用系統(tǒng)優(yōu)化設(shè)計(jì)。


參考文獻(xiàn)
[1] ?郭云芳.計(jì)算機(jī)仿真技術(shù)[M].北京:北京航天航空大學(xué)出版社,1991:1-2.
[2] ?康繼昌.現(xiàn)代并行計(jì)算機(jī)原理[M].北京:西北工業(yè)大學(xué)出版社,1997.
[3] ?陳樹清.并行計(jì)算機(jī)的現(xiàn)狀與發(fā)展趨勢(shì)[J].計(jì)算機(jī)世界,1997,(15).
[4] ?JOROAN F,,GITA A.并行處理基本原理[M].遲利華,劉杰,譯.北京:清華大學(xué)出版社,2004:35-310.
[5] ?ASANOVIC K.VLIW/EPIC:靜態(tài)調(diào)度的指令級(jí)并行.http://www.core.org.cn/.2008.
[6] ?汪東升.多核引領(lǐng)計(jì)算機(jī)架構(gòu)質(zhì)變[J].計(jì)算機(jī)世界,2008,(40):43-45.
[7] ?姜波.多核引發(fā)變革:服務(wù)器軟件的并行化革命.http://net.yesky.com/.2008.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]