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

用于并行計算的PC集群系統(tǒng)構(gòu)建

2009-01-01 00:00:00張宜生李德群
計算機應用研究 2009年3期

(華中科技大學 材料成形與模具技術(shù)國家重點實驗室, 武漢 430074)

摘要:

在注射成形模擬研究過程中,涉及材料的牛頓和非牛頓黏性流動模擬和注射成形后期的冷卻過程模擬,以及隨時間變化各處的壓力變化等科學和工程領(lǐng)域經(jīng)常應用大規(guī)模科學計算。隨著基于網(wǎng)格的計算和數(shù)據(jù)處理日益復雜,很多計算一般PC系統(tǒng)無法滿足要求,需要超級計算環(huán)境。因為不斷追求更高的計算精度和日益復雜的對象而擴大計算規(guī)模,傳統(tǒng)的串行處理方式難以滿足這些要求。因此,現(xiàn)代高性能計算的低成本、高效率成為選擇并行計算的解決方式。重點闡述如何構(gòu)建一個用于并行計算的PC集群系統(tǒng),結(jié)合實例闡明MPI的實現(xiàn)方法,以及對PC集群系統(tǒng)進行了性能評測。

關(guān)鍵詞:集群系統(tǒng); 并行計算; Linux; 消息傳遞接口; PVFS

中圖分類號:TP393文獻標志碼:A

文章編號:10013695(2009)03104202

PC cluster system build for parallel computing

LI Min, ZHANG Yisheng, LI Dequn

(State Key Laboratory of Material Processing Die Mould Technology, Huazhong University of Science Technology, Wuhan 430074, China)

Abstract:

The materials involved in the Newton and Newton viscous flow simulation and the latter part of the cooling process simulation in the injection molding, and the changes in the pressure during the simulation of injection molding process need largescale scientific computing. As gridbased computing and dataprocessing increasingly complex, many PC computing systems can not meet the general requirements, need super computing environment to finish the computing job. as constant pursuit of higher accuracy and the target of an increasingly complex and expand the scale of calculation, the traditional serial calculation cant meet these requirements. Therefore, highperformance computing, lowcost, high efficiency, became a choice of parallel computing solutions. This paper focused on how to build a PC cluster system for parallel computing , with examples clarify the implementation of MPI, and how the PC cluster system performanced evaluation.

Key words:cluster system; parallel computing; Linux; MPI; PVFS



隨著科學工程要求,作為非線性數(shù)值模擬研究主要手段之一的計算機,其性能要求也不斷提高,單一的計算機系統(tǒng)已經(jīng)不能滿足實驗和研究的要求。而現(xiàn)在用于大型計算和分析的并行計算的發(fā)展為數(shù)值模擬的發(fā)展提供了一個越來越寬闊而高效的平臺。因此,建立一種具有高性能和高擴展性而且易于維護和使用的集群系統(tǒng)非常必要。

1集群系統(tǒng)的研究

1.1集群的概念

簡單地說,集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網(wǎng)絡資源。這些單個的計算機系統(tǒng)就是集群的節(jié)點(node)。一個理想的集群是,用戶從來不會意識到集群系統(tǒng)底層的節(jié)點,在用戶看來,集群是一個系統(tǒng),而非多個計算機系統(tǒng)。集群系統(tǒng)的管理員可以隨意增加和刪改集群系統(tǒng)的節(jié)點。圖1是目前最基本的,也是最容易搭建的集群構(gòu)架。

1.2集群分類

根據(jù)不同的標準,常見的集群分類有以下幾種:

a) 故障切換集群。最簡單的故障切換集群只有兩個節(jié)點,即保持活動的節(jié)點和保持等待并不斷監(jiān)視活動的節(jié)點,一旦活動節(jié)點崩潰,這個等待著的節(jié)點便立即接手,這樣就保持了一個系統(tǒng)能在緊急情況下持續(xù)發(fā)揮作用。

b)負載平衡集群。該集群通常用在繁忙的網(wǎng)站服務器,使用數(shù)個節(jié)點做同一個站點的主機,每一個網(wǎng)頁的新請求被動態(tài)地發(fā)送到負載較低的那個節(jié)點上。

c)高性能集群。這些集群被用來運行并行程序,這些通常是對時間有較高要求的情況,所以科學領(lǐng)域中對高性能集群有特別的興趣,科學家們通常會想在普通的硬件上以較少的時間運行仿真器和其他對運算能力有高要求的程序。

1.3集群系統(tǒng)的設計要點

集群中存在著大量的冗余可用資源,如處理器、內(nèi)存和磁盤等,這就要求系統(tǒng)設計必須滿足五個要點:a)RAS性能,要充分考慮系統(tǒng)的可靠性(reliability)、可用性(available)、可維護性(serviceability)。b)單一系統(tǒng)映像SSI通過組合各節(jié)點上的操作系統(tǒng)提供對資源的統(tǒng)一訪問,表現(xiàn)為一個單一的系統(tǒng)。c)作業(yè)管理(job management)。因為集群要獲得較高的系統(tǒng)使用率,所以作業(yè)管理軟件需要提供批處理、負載均衡和并行處理等功能。d)并行文件系統(tǒng)PFS。由于機群上大量并行應用,需要大量I/O操作,要有PFS支持。e)高效通信。由于節(jié)點間的連線比較長,而且使用的標準通信協(xié)議下的商用協(xié)議開銷比較大,影響到系統(tǒng)的性能,需要一個高效的通信子系統(tǒng)。

2PC集群系統(tǒng)配置及瓶頸的解決

2.1集群系統(tǒng)的軟件配置

由于高性能計算機價格昂貴,在科學計算領(lǐng)域中,人們開始將注意力投向通過普通PC機或工作站的集群來代替昂貴的超級計算機。用于科學計算并行集群的最廣泛的操作系統(tǒng)平臺是Linux,其價廉、高效的網(wǎng)絡性能及可靠性得到廣泛認同。因此,選擇了 RedHat Linux EL4(內(nèi)核2.4.2)作為每個節(jié)點的操作系統(tǒng)。

并行通信庫是一層中間件,它可以使用戶程序發(fā)送/接收消息,只需通過簡單調(diào)用庫函數(shù)即可統(tǒng)一訪問集群的不同節(jié)點,不管節(jié)點上運行的是什么操作系統(tǒng)。這類消息傳遞接口庫軟件中,廣泛應用的是MPI(message passing interface)和PVM(parallel virtual machine),它們均能提供簡便的消息傳遞API接口,并支持多數(shù)的并行計算體系結(jié)構(gòu)和操作系統(tǒng)。

與PVM相比較,MPI得到了更多的支持,它運行效率更高并且已經(jīng)是國際標準。MPI以語言獨立的形式提供了一個接口庫, Fortran 和C語言中可以直接對這些庫中函數(shù)進行調(diào)用。MPI1標準提供了與C、Fortran77等語言的綁定;MPI2標準將語言綁定擴展到Fortran90和C++。因此選用了應用廣泛、可免費獲取的MPI工具集MPICH1.2.5作為集群并行程序的開發(fā)環(huán)境,該工具集支持MPI1標準,部分支持MPI2標準。

2.2集群計算瓶頸的解決

集群中有大量的信息交互,如進程間數(shù)據(jù)傳輸、進程間數(shù)據(jù)同步等。通信性能對于集群并行計算非常重要,如果通信性能不能滿足交互的需要,將導致計算性能快速下降。在集群組成的各個部分中,通信瓶頸主要集中在網(wǎng)絡的延遲和帶寬方面。根據(jù)有關(guān)的實驗資料表明,如果集群中每個計算節(jié)點采用單個100 Mbps以太網(wǎng)卡,節(jié)點數(shù)量達到4個節(jié)點后通信瓶頸將非常嚴重;節(jié)點數(shù)量達到8個節(jié)點時,由于通信堵塞計算反而比一個節(jié)點還慢。

通過應用網(wǎng)卡捆綁技術(shù)來部分地解決這一瓶頸:首先,在每個計算節(jié)點上安裝配置雙100 Mbps以太網(wǎng)卡,并通過一個多通道綁定程序?qū)崿F(xiàn)雙網(wǎng)卡捆綁;其次,通過配置交換機端口,將集群內(nèi)部網(wǎng)絡劃分為兩個虛擬局域網(wǎng)VLAN。這樣數(shù)據(jù)包被拆分成兩等分從兩塊網(wǎng)卡同時輸入/輸出,使進程間的交換數(shù)據(jù)能夠通過兩塊網(wǎng)卡并行傳輸,通信性能因而得到很大提高。經(jīng)筆者測試,在雙節(jié)點上傳輸長度為64 Byte的數(shù)據(jù)包,平均傳輸時間約為62 μs,長度在200 Byte以下的包,平均傳輸時間小于100 μs。

一些程序經(jīng)常會在磁盤上讀寫大量的數(shù)據(jù),這時文件I/O成為計算中最慢的一個步驟。更快的硬盤驅(qū)動器能夠改善此問題,但是總有不夠的時候。當一個硬盤分區(qū)在所有的節(jié)點之間共享時(如使用NFS)這個問題更突出了,而這在Linux集群中是很常見的。這就是并行文件系統(tǒng)能派上用場的地方。并行文件系統(tǒng)將一個文件分散在許多不同節(jié)點的硬盤上,這些節(jié)點被稱做I/O節(jié)點。當一個程序試圖讀一個文件時,那個文件的每個小部分被并行地讀取。這樣減少了每一個磁盤控制器的負載并允許它們接收更多的請求。

PVFS是開源并行文件系統(tǒng)中一個很好的例子;在一個Linux集群上使用標準IDE磁盤的環(huán)境下,磁盤的性能已經(jīng)超過了1 GBps。PVFS可以作為Linux內(nèi)核模塊或者可以被編譯進Linux內(nèi)核,后臺實現(xiàn)的概念是很簡單的,如圖2所示。

3PC集群系統(tǒng)的實現(xiàn)與簡單的性能測試

PC集群系統(tǒng)拓撲示意圖如圖3所示。使用p 個節(jié)點計算c=Ab。 其中:A 是m 階矩陣; b 是m維向量。假設m=np (如不能整除將剩余部分放在最后一個進程中),在每個進程中存放A 的n 列和對應的b 的n 個分量。

本文通過使用相同的數(shù)據(jù),測試不同的節(jié)點數(shù)采集的計算數(shù)據(jù),如下所示:

program redsct

include  mpif.h

integer lda, cols, maxnp

parameter (lda = 100, cols = 100, maxnp = 5)

integer myid, p, mycomm, ierr, m, n, counts(maxnp)

real a(lda, cols), b(cols), c(lda), sum(lda)

logical sct

call mpi_init( ierr )

call mpi_comm_dup( mpi_comm_world, mycomm, ierr)

call mpi_comm_rank( mycomm, myid, ierr )

call mpi_comm_size( mycomm, p, ierr )

print *,  Process , myid,  of , p,  is running

if (p .gt. maxnp) goto 999

m = 100

sct = .1.

sct = .true.

call initab(m, myid, p, n, a, lda, b, sum)

call locmv(m, n, a, lda, b, sum)

if sct = true, call reduce_scatter, otherwize call allreduce

if(sct) then

call mpi_allgather(n, 1, mpi_integer, counts, 1, mpi_integer, mycomm, ierr)

call mpi_reduce_scatter(sum, c, counts, mpi_real, mpi_sum, mycomm, ierr)

else

call mpi_allreduce(sum, c, m, mpi_real, mpi_sum, mycomm, ierr)

endif

print *, The values of c are , c(1), c(2)

call mpi_comm_free(mycomm, ierr)

call mpi_finalize(ierr)

stop

end

subroutine initab(m, myid, np, k, a, lda, b, sum)

主站蜘蛛池模板: 亚洲无码高清一区二区| 国产老女人精品免费视频| 亚洲欧美精品一中文字幕| 日韩精品久久久久久久电影蜜臀| 日韩欧美国产综合| 偷拍久久网| 中文字幕亚洲精品2页| 国产AV毛片| 久久亚洲国产视频| 国产成人无码Av在线播放无广告| 久久国产精品娇妻素人| 午夜不卡视频| 午夜无码一区二区三区| 欧美精品v欧洲精品| 青青草原国产免费av观看| 色婷婷在线播放| 色悠久久综合| 欧美亚洲国产精品久久蜜芽| 亚洲国产精品无码AV| 国产成人AV男人的天堂| 国产乱子伦无码精品小说| 麻豆a级片| 亚洲精品无码不卡在线播放| 色窝窝免费一区二区三区| 国产91成人| 欧美精品黑人粗大| 亚洲精品成人片在线观看| 成人一级免费视频| 奇米精品一区二区三区在线观看| 欧美区国产区| 国内精品九九久久久精品| 精品免费在线视频| 成人午夜天| 亚洲欧美日韩动漫| 国产久草视频| 国产精品内射视频| AV不卡在线永久免费观看| 亚洲色欲色欲www在线观看| 国产美女免费| 国产国模一区二区三区四区| 97影院午夜在线观看视频| 91在线免费公开视频| 精品国产自在现线看久久| 亚洲午夜福利精品无码不卡 | 日本成人一区| 亚洲一区二区日韩欧美gif| 亚洲不卡av中文在线| 97视频在线观看免费视频| 国产精品久久久久久久久kt| 91在线中文| 亚洲中文在线看视频一区| 欧美影院久久| 国产美女丝袜高潮| 亚洲成A人V欧美综合| 国产高颜值露脸在线观看| 丁香五月亚洲综合在线| 在线欧美日韩国产| 亚洲日韩久久综合中文字幕| 无码乱人伦一区二区亚洲一| 日韩欧美国产中文| 国产精品无码制服丝袜| 在线a网站| 亚洲伊人天堂| 青青草久久伊人| 国产欧美日韩在线一区| 久久96热在精品国产高清| 幺女国产一级毛片| 国产一级视频在线观看网站| 国产真实自在自线免费精品| 谁有在线观看日韩亚洲最新视频| 免费女人18毛片a级毛片视频| 亚洲精品黄| 亚洲精品第一在线观看视频| 亚洲天堂啪啪| 热99re99首页精品亚洲五月天| 在线观看亚洲人成网站| 日本在线免费网站| 亚洲午夜福利在线| 久久一级电影| 亚洲午夜久久久精品电影院| 香蕉久久国产超碰青草| 四虎永久免费在线|