999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多核處理器并行計算模型研究

2011-01-01 00:00:00李靜梅,張岐,王軍鋒
智能計算機與應用 2011年5期

摘 要:針對并行計算機體系結構中沒有通用的計算模型這一問題,分析了一些現有的典型計算模型,在同步性、通信方式、參數方面進行比較,以LogGP模型為基礎提出一種改進的mzLogGP模型。利用MPI并行算法對滿足節點計算資源非獨占、網絡存在擁塞條件下的并行程序進行分析與測試,通過增加memory層次化層數和網絡擁塞指數這兩個參數,計算其計算開銷和通信開銷,將實測時間與預測時間進行比較,可知隨節點數的增加系統誤差不斷減小,說明該新模型能改善并行應用在多核處理器集群平臺上運行的性能,具有較好的可擴展性.

關鍵詞:

中圖分類號: TP301 文獻標識碼: A 文章編號:2095-2163(2011)03-0009-05

Research of Parallel Computing Model based on Multi-core Processor

LI Jingmei, ZHANG Qi, WANG Junfeng

Abstract, As there is not a universal model in parallel computer architecture, the paper analyzes some existing typical models , comparing them in synchronization, communication, parameters, then proposes a new model: mzLogGP based on LogGP . After that, the paper analyzes and tests the parallel process using the MPI parallel algorithm in the environment of non-exclusive nodes on the computing resources and existing network congestion, and calculates the computational overhead and communication overhead by increasing two parameters: network congestion and layers of memory hierarchy. In the end, by comparing the measured time with the predicted time, the paper shows that with the increase in the number of nodes, the system error decreases. The results demonstrate that the new model can improve running performance of parallel application in the platform of multi-core processor cluster, and has better scalability.

Key words,

0 引言

在單核處理器中,通過提升CPU頻率來提高CPU性能的方法,已經促使CPU頻率達到了極限,功耗問題達到瓶頸。因此,目前處理器的發展已由純粹的頻率提升逐漸轉向了多核和并行應用的研究方向上。截止2007年11月排名世界Top500的超級計算機中,約87.6%的處理器采用多核芯片,并且約81.2%的超級計算機采用了集群[1]結構—以MPI為主導的并行應用的主流計算平臺。并行計算的應用需要一個統一的計算模型來與硬件所匹配。因此,如何提高并行計算在多核處理器上的應用,更好地發揮處理器的性能優勢成為當前面臨的主要問題。本文通過分析與研究各種典型的并行計算模型的優缺點以及對一些經典常用模型的擴展分析,提出一種改進的基于多核處理器機群平臺的橫向memory層次化的LogGP[2]并行計算模型,并采用典型并行算法對其進行性能測試。

1 典型并行計算模型

并行計算模型[3]是并行算法設計的基礎,是從不同的并行計算機體系結構模型中抽象出來的。針對這種新的并行體系結構,解決并行應用面臨的問題,需要與之適應的并行計算模型。然而,不像串行計算機那樣,全世界基本上都在使用馮#8226;諾伊曼的計算模型;并行計算機沒有統一的計算模型。

理想的并行計算模型應該具有以下特征:獨立的體系結構;提供軟件開發方法;使用簡單;性能有保障;可計算成本。根據上述特征,現有計算模型按照其通訊方式可分為共享存儲類模型、消息傳遞模型和層次模型.

1.1 共享存儲類模型

早先的并行計算模型為共享存儲類模型,分為PRAM模型、QSM模型等。

(1)PRAM模型

PRAM(Parallel Random Access Machine)模型也稱之為共享存儲的SIMD模型,是早期最有影響力的理論模型之一,作為一種抽象的并行計算模型,被廣泛地用來評估并行算法的理論性能。PRAM模型由若干具有本地存儲器的處理器和一個具有無限容量的共享存儲器組成,處理器由公共的時鐘進行控制,以同步方式運行。

(2)QSM模型

QSM(Queue Shared Memory)[4]模型是一個多指令、多數據流(MIMD)機器的共享存儲模型,由若干個處理機組成,適用于同步算法,每個處理機都執行一個同步操作隊列,每個同步操作包含:讀、計算、寫三個步驟。

1.2 消息傳遞模型

隨著分布存儲并行機的發展,提出了各類消息傳遞模型:BSP、LogP、C3等。

(1)BSP模型

BSP[5](Bulk Synchronous Parallel)模型是由哈佛大學Validate提出的,作為體系結構和計算機語言之間的橋梁,是一種由一系列超級步組成的、分布存儲的MIMD計算模型。BSP模型的計算機由三部分組成:計算單元(處理器-存儲器對);單元間點對點通信;組件之間的同步機制。

(2)LogP模型

LogP[6]是1993年Culler等人提出的以MPC為背景的多處理機模型,具有分布存儲、點到點通信等特點。其通信網絡有一組參數來描述: L表示通信延遲; o表示通信開銷; g表示通信時間間隔; p表示處理器/存儲模塊個數。

(3)C3模型

C3(Computation, Communication, Congestion)模型是有Hambrusch和Khokhar等人提出的一個用于粗粒度并行算法設計和分析的并行計算模型,此模型分析計算通信和通信中出現的潛在擁擠。

1.3 層次模型

UMH(Uniform Memory Hierarchy)模型是Alpern等人提出的,該模型是抽象化的存儲層次結構,概括了計算機層次訪問技術中與性能有關的特征。

2 常用并行計算模型的擴展

2.1 異步PRAM模型

由于PRAM模型是同步模型,用戶雖然感覺不到,但是所有指令均是按照同步方式操作的,浪費時間;分布式存儲的異步MIMD機器,超出了共享單一存儲器的作用范圍;未能描述當今并行體系結構使用的最普遍的兩種技術:線程技術和流水線預取技術。所以對PRAM進行擴展,得到異步PRAM模型[7],簡記為APRAM,計算過程如圖1所示。該模型由p個處理器組成,每個處理器都有其局部時鐘和局部程序,通過添加同步路障(Synchronization Barrier)來控制程序的執行;共享全局存儲器;取消全局時鐘,各處理器一步、獨立地執行各自的指令。定量化的成本參數是APRAM模型比PRAM更接近于實際的并行機。

2.2 CSA-BSP模型

BSP模型中,超步即連續的兩個同步之間的周期,如圖2所示。

每個超步由計算、通信和同步組成,但是同步操作使得超步之間相互無關,限制了處理機之間的異步執行 ,可能導致出現互相等待,降低了處理機的執行效率。為改進BSP程序的性能,提出了一些建立在BSP模型基礎上的擴展模型:異步BSP模型(A-BSP);HBSP模型;計算-發送段BSP模型(CSA-BSP)。CSA-BSP模型中一個計算-發送段(CS段)由計算部分和數據部分組成,CS-超步是由一系列計算-發送段和接受語句組成的。相對于A-BSP模型,CSP-BSP模型中,進程執行超步時,不必完成其所有計算,只需完成發送數據所在的CS-段的計算,即可執行下一條指令。

2.3 LogP模型擴展

LogP模型是帶有緩沖的異步消息傳遞機制,采用異步通信的互聯網絡,具有良好的移植性,能體現出多線程技術。通過參數l、o和g刻畫了通信網絡的特性,屏蔽了網絡拓撲、選路算法和通信協議等細節,加上參數p刻畫了并行機的主要瓶頸。對于每個節點處理器,接收和發送消息時均要付出開銷o,但由于并行機的硬件效率問題,LogP模型不支持長消息處理;在共享主存模式中,遠距離讀寫操作視為兩次消息傳遞,沒有考慮計算機硬件與軟件的影響:Cache命中率、進程同步和流水線預取技術等。基于對LogP模型的改進,又提出了很多擴展模型,如:LogGP、LogGPS、LogGPC、LogPQ等。LogGP模型對長消息做了特別處理,添加參數G,代表長消息每字節間距,如圖3所示。

LogGPS是對LogGP的擴展,添加同步機制,定義一個表示消息長度閾值的參數S。LogGPC是在LogGP的基礎上添加通信網絡和網絡接口。LogPQ則是添加消息隊列,處理機發送和接收隊列。

多核處理器,將多個相對簡單、同構的處理器核集成到同一塊芯片上,而且這些處理器核都共享片上高速緩存(Cache)。其中,片上多核處理器(CMP)技術的主要特點有:功耗低、延遲小、線程級并行等。隨著多核處理器的普遍應用,大規模并行計算機都采用了多核處理器,構件集群平臺,多核處理器集群的比較見表1。所以,在并行體系結構上,需要與之相適應的并行計算模型。第一節介紹的計算模型大多是以單核處理器為基礎開發的,針對共享存儲器結構和分布式存儲結構的。近代計算機中,由于寄存器、高速緩存、主存對并行計算機性能影響越來越大,不同層次memory間流動的性能受數分布的影響,存在系統通信開銷。Memory層次化并行計算模型也越來越少重視,如:memory LogP、LognP/Log3P。

現代的并行計算平臺大多是建立在多核處理器機群平臺上的,基于此原因,本文提出一個新的并行計算模型mzLogGP,這是基于多核機群平臺的、考慮異構性和節點計算能力的非獨占性的模型,充分考慮了網絡擁塞對節點間通信存在的影響以及memory層次化對多核處理器機群消息通信性能的影響。其中,m代表多核環境下memory層次化的深度, z代表考慮網絡擁塞指數,表示消息在當前網絡存在擁塞和不存在擁塞時傳遞所消耗的時間比,用于反映網絡擁塞的程度。

3 mzLogGP模型

并行系統由多個計算節點通過網絡連接組成。任何兩個計算節點之間可以進行通信,當網絡中存在過多的數據包時,網絡性能會下降,由此而引發網絡擁塞。 mzLogGP模型是應用于多核處理器機群平臺的模型,考慮到了網絡方面對通信開銷所帶來的影響,使測得進程通訊開銷更精確。網絡擁塞程度,延時大小和帶寬都是造成網絡損耗主要原因,所以,可以選擇更高性能的硬件資源,使得集群系統盡可能地減少網絡損耗。

mzLogGP模型的參數有:P,o,l,g4個LogP的基本參數,根據第一節所講,P代表處理器/存儲器模塊個數(節點個數),由多核處理器組成的并行系統一般有P個計算節點個數;o表示程序執行時互聯網絡的通信開銷,包括發送開銷和接收開銷;L表示網絡中消息傳遞所產生的延遲;g表示處理器可連續進行消息發送或接收的最小時間間隔。對于一個具體的并行機,網絡傳送一個M位的消息所花的時間為

T(M,H)=Tsend+[M/w]+H?觹r+Trev (1)

其中,w為通道帶寬;H表示H個跨步(Hops);Tsend為接收開銷,即處理器向網絡傳輸數據前為網絡接口準備數據的時間;Trev為接收開銷,即處理器收到最后一條數據的處理時間;[M/w]為處理器發送消息到網上所需的時間;H?觹r為最后一個數據通過網絡到達目標節點的時間。在LogP模型中,對網絡的容量增加了限制,以防止網絡重載,出現資源競爭而浪費時間,模型參數選取如下:系統通訊開銷o=( Tsend+Trev)/2,L=H?觹r+[M/w],g=[M/b],b為處理器對剖寬度。

LogP模型擴展參數:G,S,l,m,z。由于LogP模型中不支持長消息傳遞,引入參數G,代表節點發送或接收消息時單位長度數據的時間間隔;S表示單位時間內處理器處理的消息數,即計算速度;l表示同步時間機制,用于各個超步之間路障同步對并行程序執行時間影響的描述;z為網絡擁塞的程度,表示消息在當前網絡存在擁塞和不存在擁塞時傳遞所消耗的時間比, 用于考慮網絡中傳遞消息的額外時間開銷。

在多核處理器機群平臺上,由于多核處理器中CPU和存儲器能量提升失衡,不能滿足高性能計算對硬件資源的需求,導致需要更多的核供計算使用,使多核不斷地向眾核發展,從而使處理器墻問題更加嚴重,非一致性訪問內存成為必然的發展趨勢;因存儲器的差異而導致的帶寬和通信延遲不匹配,使得并行更加層次化。因此,這里引入m參數,表示memory層次化深度,方便計算因memory存取過程而產生的通訊開銷。

mzLogGP并行計算模型中,考慮影響系統通信開銷的兩大因素:memory和network。引入參數m計算memory中的通信開銷;引入參數z計算網路中的通信開銷。結構如圖4所示。

由于緩存和主存互聯結構的差異,多核處理器中片內通信、片間通信以及處理器節點間通信帶寬和延遲不同,導致memory層次化加深,這一過程中的通信統稱為節點內通信。對于短消息的傳遞,節點內通信較小,處理器各個核之間通信延遲較小;當傳送較長消息,處理器負荷增加,核間通信延遲增大,與節點間通信接近。劃分通信等級使測得的程序實際執行時間更加精確,以減小誤差。

并行程序可劃分為若干個超級步[7](Superstep),用路障(B-arrier)分隔兩個相鄰的超級步,每個超級步中計算節點之間互相進行點對點通信。并行程序執行的總時間是所有計算節點的運行時間和節點間的通信時間的總和。一個超級步中包含若干個計算節點,所有超級步的計算時間和通信時間的總和為程序執行時間。假設一個并行程序由n個超級步組成,則預測模型的通信時間開銷為:

T=Ti+Tj+nlnet (2)

其中,Ti為超級步的節點內計算時間;Tj為超級步節點間通信時間;lnet為互聯網絡中的通信延遲。節點間通信時間受互聯網絡中帶寬和延遲的影響,而節點內的計算時間為:

Ti=om+lm (3)

om表示處理器/存儲器處理時間;lm為消息在處理器和存儲器內的執行開銷,減小這個開銷的有效方法是改變中間件、硬件的性能,提高數據的吞吐率或帶寬。由于多核處理器機群平臺上,消息傳遞包括網絡傳遞、CPU/memory處理、內存拷貝和緩存操作等,這些通信中間件的性能關系著這條消息傳遞的效率,通信層次明顯。軟件層次的memory層次化反映在中間件的性能上,網絡通信開銷從硬件層次反映了通信網絡的性能。mzLogGP模型刻畫了多核處理器機群計算平臺處理器通信和網絡通信的性能瓶頸和特征。

mzLogGP模型節點間通信與LogGP差別不大,其特征是可能存在網絡擁塞;是否獨自占有計算資源,節點是同構還是異構。首先考慮網絡中不存在擁塞,節點獨占計算資源,這是理想的網絡信息傳遞模式。

這種情況下,節點處理器向另一節點處理器發送一條短消息,需要的時間為:om+lm+onet+L,其中,onet是網絡中接受或發送消息的通信開銷。當發送長消息時,需要考慮參數G,假設一條消息長度為x字節,消息的通信開銷為:om+lm+onet+(x-1)G+L,其中,處理器在第一個字節發送前,為網絡接口的準備時間即為消息的發送時間,消息分為x等分,每個字節的發送需要G時間;網絡的通信延遲為L。接收方的處理器和發送方的處理器在接收或發送消息時不能進行其他操作。

當發送多條消息時,處理器發送完一條消息后,至少要等待g時間才能發送第二條消息,第二條消息進入網絡的時間為om+lm+(x1-1)G+g,由于處理器連續處理消息的最小時間間隔的限制,處理器不能不間斷地連續發送或接收數據。

理想的無網絡擁塞情況下,消息傳遞效率最高,現實中很難實現,當網絡中存在擁塞時,節點不能享有全部的計算資源,需要一定的時間來處理網絡擁塞所造成的延遲。消息在網絡中傳遞會出現等待現象,所以考慮了網絡擁塞指數z,消息的通信開銷為om+lm+(x1-1)z?觹G+g+zL。

并行程序的執行時間,在沒有重疊操作的情況下為:

T=Tcom+Tp+Tconn (4)

其中,Tcom=Ti,為節點內的計算時間; Tp為并行執行的開銷時間,包括進程切換、結束等時間;Tconn為網絡中的交互通信時間,受帶寬、路障、延遲等影響。層次化存儲器中,一個層次包含三個參數:帶寬、延遲和容量,分為縱向和橫向層次化,模型支持節點內和節點間通信互連拓撲,抽象化了memory橫向和縱向層次化,大大優化了節點內的計算時間。 因網絡擁塞所產生額外開銷,是造成并行執行的預測時間開銷和實測時間開銷的關鍵原因。mzLogGP模型即采用了memory層次化技術,減少了節點內執行計算因CPU和memory速度不匹配而產生的額外開銷;考慮了網絡擁塞情況,驗證消息在網絡中傳遞時所帶來的額外損耗。

4 模型評價與分析

本實驗采用4節點機群,每個節點有2顆4核處理器,操作系統內核版本是Linux kernel 2.6.18,開發環境為mpich 2-1.3.2p1+VC6.0,采用MPI-Send、MPI-Recv接口測試RTT的方法獲取通信的時間開銷,分別對不同大小、不同步長的數據進行了點對點通信和一對多集合通信的測試。

實驗采用單字節消息的連續發送、連續Ping_Pong、一次Ping_Pong以及盡可能大數據的消息的Ping_Pong等,得到MPI環境下,節點參數如表2所示。

下面測試mzLogGP模型在網絡擁塞指數z=1.1的情況下的程序執行時間。實驗以Jacobi 迭代算法[8]為例,用mz-LogGP模型對算法的執行過程進行分析,在搭建的多核處理器機群平臺上驗證模型的有效性和實用性。

Jacobi 迭代具有良好的局部性,可取得很高的并行性,可將參加迭代的數據按塊分割,如圖5所示,各塊之間處理相鄰元素通信外,各塊內部也可進行獨立的并行計算,可降低計算的通信開銷,有利于并行效果。

假設需要迭代的數據是M?觹M的二維數組A(M,M),令M=4?觹N,按圖5進行數據劃分,則分布在四個不同進程上的數據分別是:進程0,A(M,1,N), 進程1,A(M,N+1,2?觹N),進程2,A(M,2?觹N+1,3?觹N),進程3,A(3?觹N+1,M)。

根據mzLogGP模型的原理,在算法的每個步驟之間插入Barrier語句,將該算法分成4個超級步,以4級memory橫向層次化技術求出機群平臺上程序執行的節點內計算時間,再利用表2給出的參數,計算出Jacobi 迭代算法在mzLogGP模型下的分別傳送512KB和2MB數據所運行的時間,并將實驗測得實際運行時間與預測時間作比較。上述算法考慮了在阻塞指數z=1.1的情況,MPI環境下。

主站蜘蛛池模板: 欧美a网站| 久久免费精品琪琪| 欧美中文字幕在线二区| 无码精品福利一区二区三区| 国产精品自在在线午夜区app| 国产成人综合在线观看| 国产一区二区三区夜色| 二级特黄绝大片免费视频大片| 国产一区二区三区精品久久呦| 国产欧美精品专区一区二区| 国产精品v欧美| 国内黄色精品| 高清欧美性猛交XXXX黑人猛交| 毛片久久久| 久久永久免费人妻精品| 白浆视频在线观看| 成年人午夜免费视频| 日本免费福利视频| 新SSS无码手机在线观看| 无码中文字幕乱码免费2| 青草视频久久| 免费精品一区二区h| 国禁国产you女视频网站| 免费高清a毛片| 最新国产成人剧情在线播放| 好吊色妇女免费视频免费| 制服丝袜亚洲| 日韩 欧美 小说 综合网 另类| 拍国产真实乱人偷精品| 国产av剧情无码精品色午夜| 日韩视频免费| 亚洲AⅤ永久无码精品毛片| 五月婷婷激情四射| 亚洲一区色| 国产精品无码AV片在线观看播放| 老汉色老汉首页a亚洲| 免费全部高H视频无码无遮掩| A级全黄试看30分钟小视频| 欧美啪啪视频免码| 亚洲综合二区| 国产精品久久久久鬼色| 99热这里只有精品在线观看| 欧美在线精品一区二区三区| 人妻精品久久无码区| 伊人无码视屏| 国产乱子伦精品视频| 亚洲人成在线精品| 欧美一区二区福利视频| 国产一区在线视频观看| 亚洲人成人伊人成综合网无码| 国产精品午夜电影| 亚洲欧美人成人让影院| 国产精品微拍| 亚洲综合极品香蕉久久网| 综合久久五月天| 农村乱人伦一区二区| 国产 日韩 欧美 第二页| 在线看片国产| 亚洲AV无码久久精品色欲| 亚洲精品国产首次亮相| 18禁黄无遮挡网站| 久久国产高清视频| 丝袜国产一区| 欧美一级在线看| 久久综合九九亚洲一区| 国产一区二区人大臿蕉香蕉| 99无码熟妇丰满人妻啪啪| 亚洲国产成人无码AV在线影院L| 欧美精品啪啪一区二区三区| 91免费片| 亚洲性影院| 99久久成人国产精品免费| 中文字幕第4页| 日韩精品高清自在线| 特黄日韩免费一区二区三区| 久久久久亚洲精品成人网| 亚洲人成亚洲精品| 最新精品久久精品| 日韩高清成人| 无码AV动漫| 亚洲小视频网站| 超清无码一区二区三区|