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

因為最佳加速比是線(xiàn)性的,即:SP=Op,所以最佳效率就是常數,即:E=Const (0≤Const≤1)。
由(1)式知,P增加,則E下降,但能夠通過(guò)優(yōu)化算法使E增加。當然是增加了算法優(yōu)化過(guò)程的工作量(Workload),即由于付出Workload開(kāi)銷(xiāo),在系統處理機數量增加時(shí)維持系統效率不變。這就是本文提出的基于任務(wù)屬性分析結果,科學(xué)地選擇多核系統結構的概念。所以,始終保持一定效率常數的優(yōu)化系統,應該能夠實(shí)時(shí)對系統內參與運行的處理機數量實(shí)現科學(xué)調度,這等同于大規模作戰系統的指揮,必須科學(xué)地調兵遣將。
2 指令級并行與多核CPU
實(shí)現指令級并行(ILP)處理的基本要求是被執行指令序列不存在指令與數據相關(guān),系統能在同一絕對時(shí)間或相對時(shí)間內并行執行多個(gè)任務(wù)指令或線(xiàn)程,現代多核CPU能支持片內多線(xiàn)程平行推進(jìn)。如果任務(wù)的指令序列存在相關(guān)性,平行推進(jìn)過(guò)程將出現“參差不齊”或線(xiàn)程暫停而阻塞相關(guān)核的運行線(xiàn)程現象。所以,需要事先找出指令代碼中合適的指令序列段(S),如果執行S的時(shí)鐘周期能正好等于原來(lái)被阻塞的延遲時(shí)間(Delay),則能有效地緩沖或吸收線(xiàn)程阻塞,繼續維持多核的多線(xiàn)程平行推進(jìn)。
現代多核CPU實(shí)際上引入了多線(xiàn)程平行推進(jìn)過(guò)程中自適應進(jìn)程遷移技術(shù),即當某核的線(xiàn)程被阻塞時(shí),能自動(dòng)完成相應線(xiàn)程上的進(jìn)程段遷移,相當于上述執行S而吸收線(xiàn)程阻塞。
評論