《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于集群的MPI主從式并行文件傳輸系統的研究與實現

基于集群的MPI主從式并行文件傳輸系統的研究與實現

2008-07-22
作者:龔 梅1, 王 鵬2,1

??? 摘 要: 研究并實現了一種基于PC集群系統" title="集群系統">集群系統的MPI主從式" title="主從式">主從式并行文件傳輸系統。通過引入一個監控節點實時監控當前各真實節點上的連接數、請求任務量以及各節點的實際處理能力,并衡量不同內容節點的負載,以實現集群內各節點負載均衡" title="負載均衡">負載均衡,從而更合理地實現并行文件I/O" title="I/O">I/O的任務分配。結果顯示,該系統具有近似線性加速比,即文件I/O傳輸速度隨著并行節點數量的增多而提高。
??? 關鍵詞: 集群? MPI? 主從式? 并行文件I/O

?

??? 隨著高性能微處理器、高速網絡、高性能分布計算三種技術的標準工具的飛速發展[1-2],以及應用對計算性能的無止境需求和并行編程環境的不斷成熟,集群系統已成為價格合理的并行計算工具,并得到了飛速的發展。在需要提供高度可靠的服務以及強大的計算能力的環境中,集群系統以廉價而又容易獲取的硬件和免費或常用軟件為支撐[1],發揮著越來越明顯的優勢。
??? 并行計算是由運行在多個部件上的小任務合作來求解一個規模很大的計算問題的一種方法[3]。并行計算通過降低單個問題求解時間、增加問題求解規模、提高問題求解精度,進而提供更好的容錯能力、更高的可用性、可擴展性 [1,4]。隨著Internet的迅猛發展,人們對信息共享的速度和質量都有了更大的需求。傳統的信息共享(文件傳輸等)是簡單的多對一結構,即多個客戶端" title="客戶端">客戶端向一臺服務器發出請求,服務器根據請求分時做出應答。然而隨著客戶數連接請求的增多及網絡帶寬的限制,數據傳輸面臨著極大的瓶頸,其主要表現為請求響應延緩、數據傳輸速度緩慢或根本無法和服務器成功建立連接等。為了解決這種局限問題,本文研究并提出基于PC集群的MPI主從式并行文件服務系統。該系統通過利用PC集群的強大功能、MPI消息傳遞接口的支撐以及并行算法的引入,充分地利用網絡資源和廉價的PC機硬件資源,有效地解決了現有網絡資源信息共享、大量頻繁文件傳輸問題。經過實驗證明,該系統能夠在在多平臺、多學科、異構的環境下協同工作。
1 集群MPI并行通信程序設計
??? MPI(Message Passing Interface)是一種與語言及平臺無關、可以被廣泛使用的編寫消息傳遞程序的標準[4- 5]。MPI是目前應用最廣、效率最高、超大規模并行計算最可信賴的平臺,幾乎被所有并行計算環境(共享和分布式存儲并行機、集群系統等)和流行的多進程操作系統(UNIX、Linux、Windows NT)所支持[4],基于它開發的應用程序具有最佳的可移植性、功能強大、性能高、適應面廣、使用方便、可擴展性好等優點。
??? MPICH是MPI1.2標準的一個完全實現,是應用范圍最廣的一種并行分布式環境[4,6]。它包含一套程序設計、并行程序設計、環境組件、并行性能可視化工具及正確性等運行環境,提供文件并行I/O,支持MPMD(Multiple Program Multiple Data)編程和異構集群等。通過MPICH可以非常容易地連接現有的計算機組建集群進行高性能集群計算。
?? ?MPI消息傳遞的并行編程主要是通過調用消息傳遞庫MPI函數來進行的[6]。它實現了處理機間的數據交換、并行任務之間的同步和收/發數據的功能和接口[4],并提供同步算法和異步算法的完全支持。
2 系統實現
2.1主從式 PC集群拓撲結構的實現

??? 計算機集群系統,簡稱集群,是互相連接的多個獨立計算機的集合,整個集合作為一個單獨、統一的計算資源來使用[1]。這些計算機可以是單機或多處理器系統(PC機或工作站),每個節點都有自己的存儲器、I/O設備和操作系統。集群系統具有可擴展性好、開發周期短、對現有軟硬件資源繼承性好、編程性好以及投資成本小等特點。其中最大特點就是能夠實現負載均衡[2,4,6]
??? 集群主要用于并行計算,在構建計算集群系統時,盡量讓所有節點使用相同的硬件配置。本文實現的集群系統主要采用主從式架構來進行數據運算,如圖1所示。

?

?

??? 集群系統通常由若干計算機通過網絡連接而成,有一臺計算機作為主節點(Master Node),Master上面有兩塊網絡接口卡(NIC),一塊NIC擁有Public IP,與 Internet 連接,另一塊NIC為Private IP,與集群機連接[2],對外負責提供集群的服務接口,對內負責集群的管理;其他計算機作為從節點(Slave Node),采用的是private IP。Master與slave以高速網絡連接,一般使用者允許從Master以RSH登入其他Node。Master提供NIS服務,作為與各Node的賬號分享[6],Node可與Master享有相同的賬號數據庫,以便于管理;Master還提供NFS服務,作為與各Node檔案的分享,Node的系統盡量簡化,專司其職,是計算服務的主要提供者[2,6]
2.2 主從式并行文件I/O監控調度策略
??? 在集群服務器系統中,各個節點需要協同工作來處理一個請求,請求的合理分配將決定對請求響應的質量,這就是集群系統中一個關鍵性的問題——負載均衡問題[7]。本文研究的集群系統中,有一個監控節點,主要負責監控集群系統各個節點的負載均衡情況,以便于主節點及時調控任務分配。在系統中,先給系統中各個節點賦予一個任務分配時的權值Wi。監控節點所監控的各節點內容如下:
??? (1)請求的大小。可以引入當前處理時間t,作為用一個標準節點處理對應請求時的處理時間[7]。t與請求文件的長度FileLength、請求的內容Type(如請求網頁或文件的內容、類型)、請求所觸發的操作等有關,即t=g1(Type, FileLength)。一個節點的當前負載可以表示為:當前請求節點上所有請求的處理時間之和與這個節點的權值的比值,即:

???

??? (2)由于集群系統不同的服務,對系統負載影響的參數也不同。對于Web服務、Ftp服務等,主要是文件傳輸的網絡負載的影響最大;同時由于動態請求和頻繁的文件I/O操作,影響也比較大,故節點的真實負載根據參考文獻[2]為:

???

??? 有關。故節點的真實負載也就和節點的權值、當前節點負載以及新到請求的當前處理時間有關。
??? 通過監控節點對各個真實節點的網絡使用情況、處理器使用情況和利用率以及內存使用情況等參量的實時監控和計算,讓通信和每個節點的帶寬使用情況關聯起來,從而控制集群系統負載均衡,并將監控的信息顯示提供給用戶的視圖中,以更合理地分配請求任務。
2.3 基于MPI的主從式并行文件傳輸的實現
??? 如何協調各節點任務量,將任務均勻分配到各計算節點以及各節點如何進行通信是影響并行程序性能的主要因素。任務分配前,各節點的負載均衡問題由前面一節的監控調度策略控制,具體的任務分配和請求轉發則由主節點控制,進程通信則可由MPI提供良好的支持。
2.3.1 程序結構
??? (1)主節點處理流程
??? ①與用戶的http、ftp、tcp等建立連接請求,并處理用戶請求。
??? ②從監控節點獲取集群系統監控信息,掌握系統各節點的負載情況。
??? ③進行負載均衡、任務分配以及匯總重組相關子節點信息等功能。
??? 具體的處理流程圖如圖2所示。

?

?

??? 實現時應注意,主節點會根據監控節點提供的信息,一方面顯示性能數據視圖,另一方面對當前各個子節點的負載情況進行編號,編號原則是以負載最輕編號最小,相同負載情況下,隨機按序編號,編號越大,負載越大。這樣在進行任務分配時,也是優先考慮編號小的節點,并將以文件塊為單位的剩余塊數分給這個小編號節點。
??? (2)子節點處理流程
?? ?子節點擁護有主節點的文件系統目錄列表信息,可以提供相應的文件數據服務。它接收主節點的任務分配,并緩存到自己的任務隊列中;同時向監控節點報告自己的負載的相關信息。當子節點的任務隊列不為空時,就依次從該隊列中取出任務,并與客戶端建立連接,進行數據傳輸服務。具體處理流程圖如圖3所示。

?

??? 實際操作時,當并行文件操作的各個子節點在向客戶進行數據傳輸時,注意要合理地重組好文件,也就是在并行程序實現時,必須注意文件指針的操作問題。
2.3.2 任務分配
??? 本集群系統中,主節點維護一個完整的面向緩存的文件系統目錄列表、真實文件系統和數據信息。完成的功能有:
??? (1)面向具體的客戶端:負責客戶端請求連接與斷開;同時當主節點接收到來自客戶端的第一次文件傳輸請求時,就立即將本節點上的文件系統中所有的目錄列表信息返回給客戶。
??? (2)面向集群系統中各個子節點:如果主節點接收到的客戶端信息為下載傳輸具體文件時,則根據監控節點的具體反饋信息,對子節點進行負載均衡,然后對客戶請求進行任務分解和請求轉發,動態調度各個子節點,由各個子節點并行提供數據服務。
??? (3)面向監控節點:主節點在對客戶任務進行動態分解之前,首先根據監控節點反饋信息,了解各子節點負載情況,然后遵循集群系統中最輕負載節點優先調度的原則,進行任務分配和請求轉發;同時將監控的信息以用戶視圖的形式動態顯示出來。
??? 為了緩解主節點和子節點之間的通信量,系統中其他子節點也同樣擁有簡化的輕量級的主節點文件目錄索引表以及文件數據。子節點擁有一個任務隊列,用于緩存分配到的各個任務,主節點也擁有一個面向客戶端的請求隊列和面向子節點的任務分配隊列,用于并行化操作。同時系統中主節點根據監控節點的反饋信息,及時地對系統中的各個子節點按負載大小進行編號,用rank來表示。
??? 本系統實現的是基于MPI的主從式并行文件傳輸,并行化操作具體到各個文件傳輸和I/O上,采用的任務分配策略為“塊分配”策略,即將各個具體文件操作連續地分成若干任務塊[4],集群中每個子節點負責一個塊的操作。
??? 假設一個文件大小為fileSize,集群子節點的個數為nodeNo。為了實現并行化文件操作,首先計算出各個子節點至少分配到的文件塊大小AveFileSize,即:
???
??? 如果子節點的個數不能整除文件大小,則有:
??? HeavyNodeSize=fileSize MOD nodeNo
??? 將文件剩余為HeavyNodeSize大小的塊分給集群系統中最輕量級負載的子節點,也即當前時刻系統中編號最小的那個子節點。這樣編號為rank的子節點分得的文件塊大小為:

???

???

??? 有了各個節點分配的塊大小,就可以進行任務分配。
3 性能測試
??? 測試環境為具有六個CPU的集群服務器系統,其中一個作為主節點,一個作為監控節點,其余四個作為服務子節點。本系統選擇了對MB以上文件請求的服務情況,測試結果如圖4所示。

?


??? 系統中,由于引入了負載均衡策略,系統能夠動態地調度各子節點,進行任務分配和請求轉發,最大程度地提高了系統資源利用率和服務器的性能。通過集群系統的并行化操作,大大縮短了傳統多對一模式時對多個客戶端請求大文件傳輸時的服務時間。利用MPI不連續發送功能和消息接口通信功能,有效縮減了系統通信量。同時隨著系統服務節點數的增多,相應地減小了大文件的操作時間,提高了用戶響應速率。
??? 本文研究并實現了基于PC機集群系統的MPI主從式并行文件I/O系統。該系統中,某個節點如果出現故障,不會影響到系統其他服務,并由系統及時將故障部分任務重新分配,可靠性高。系統性能測試表明,本系統具有很好的可擴展性和很高的性價比。如何將計算智能用于本系統,以改進其調度的性能并增強系統的魯棒性,將是下一步的研究內容。

參考文獻
[1] ?DIETZ H. Linux parallel processing[J/OL]. v980105,5 January 1998.
[2] ?章文嵩.Linux服務器集群系統[J/OL]. http://www-900.ibm.com/developerWorks/cn/linux/cluster/lvs/part1/.2002-04.
[3] ?HWANG K, XU Z. Scalable parallel computing: Technology, Architecture, Programming [M]. WCB/McGrawHill,NY,1998.
[4] ?SIMITCI H. Pablo MPI instrumentation user guide. Technical Report, University of Illinois Urbana at Urbana Champaign, 1996.
[5] ?劉華,徐煒民,孫強.基于MPI并行程序的性能評測可視化工具[J]. 計算機工程, 2004,30(10).
[6] ?王瑩,屈一新. PC集群的建立與MPI并行環境的實現及其應用[J].北京化工大學學報, 2001,28(4).
[7] ?任彥琦,彭勤科,胡保生.一種基于內容的Web集群服務器負載均衡算法[J].計算機工程, 2005,31(2).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 9久久99久久久精品齐齐综合色圆 | 在线看精品 | 精品午夜寂寞影院在线观看 | 亚洲精品一区二区三区四区 | 国产精品漂亮美女在线观看 | 亚洲国产一成人久久精品 | 久久亚洲精品视频 | 欧美性猛交xxx免费看人妖 | 视频二区精品中文字幕 | 日本www在线播放 | 美女张开大腿让男人桶 | 欧美一级在线全免费 | 日韩在线不卡一区在线观看 | 看片亚洲| 91精品国产91久久久久青草 | 久久网免费 | 精品区| 一级片美女 | 视频一二三区 | cao美女 | 日韩精品在线播放 | 亚洲国产午夜看片 | 欧美在线高清视频播放免费 | 综合网自拍 | 日本亚洲国产 | 国产免费麻豆 | 欧美一线视频 | 99j久久精品久久久久久 | 欧美一级看片a免费观看 | 久久久久久亚洲精品中文字幕 | 看a网站 | 亚洲爱爱天堂 | 亚洲男人网 | 亚洲一区二区三区久久精品 | 国产精品久久人人做人人爽 | 一个人看的日本www的免费视频 | 男人天堂中文字幕 | 久久精品免观看国产成人 | 亚洲综合精品成人 | 夜色成人性y | 国产乱码精品一区二区三区卡 |