基于MPI的并行文件傳輸服務器群.doc_第1頁
基于MPI的并行文件傳輸服務器群.doc_第2頁
基于MPI的并行文件傳輸服務器群.doc_第3頁
基于MPI的并行文件傳輸服務器群.doc_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于MPI的并行文件傳輸服務器群 黃松林1 王 鵬1, 2 嚴偉才1 李裕森1 聶 治3(1. 成都信息工程學院并行計算實驗室 四川 成都 610225;2. 電子科技大學 四川 成都 610054;3.成都理工大學 四川 成都 610059)摘 要:本文運用MPI、COM/ActiveX和面向緩存等技術設計并實現了文件并行傳輸理論的新模型,將傳統的最小負載均衡調度單位縮小至低于單文檔大小,并將命令處理和數據服務相分離。文中給出了系統拓撲圖、命令處理流程圖和核心模塊的設計原理圖。實際測試結果表明,該系統增強了處理并發(fā)請求的能力和帶寬,大大提高了數據傳輸速率,證明了這一設計方案的可行性和有效性。關鍵詞:并行文件傳輸協議;MPI;并行文件I/O;集群監(jiān)控中圖分類號:TP393文獻標識碼:ATree-Structure Web Server Clusters Based on MPIHuang Songlin1 Wang Peng1, 2 Yan Weicai1 Li Yusen1 Nie Zhi3(1.Parallel Computing Laboratory, Chengdu University of Information Technology, Sichuan, Chengdu, 610225; 2. University of Electronic Science and Technology of China, Sichuan, Chengdu, 610054; 3. Chengdu University of Technology, Sichuan Chengdu 610059)Abstract: This paper discusses a new model of paralleled transfer theory of files in detail with technology of MPICOM/ActiveX and caching-oriented,which effectively reduce to single document for traditional least load balance scheduling units.System topology graph、the deal flow charts of command and the diagram of central module are described in the same time.The circulation result shows:this system enhances the ability of parallel query and increases the data transfer velocity, moreover, validates the feasibility of this model. Key Words:PFTP ; MPI; Paralleled File I/O; Cluste Monitor.1 引言隨著網絡技術的發(fā)展和普及,人們對FTP傳輸的速度與穩(wěn)定性要求越來越高。從結構上講,FTP屬于客戶/服務器結構,是一種簡單的多對一結構,即多臺客戶機向一臺服務器發(fā)出請求,此服務器對各個客戶機分時作出應答。隨著并行FTP用戶的增加, 服務器的網絡傳輸效率會顯著下降, 表現為:數據傳輸速度不穩(wěn)定,服務器對請求響應遲緩,甚至拒絕應答,傳統的解決方法是限制客戶的連接數。本文將并行計算理論應用到傳統的FTP系統中,通過增加服務器結點的數量來增加帶寬和同時訪問連接數,并對這些服務器結點進行集中控制和管理,以確保整個系統中對用戶是透明的,多臺服務器節(jié)點并行地傳輸同一個文件的不同塊,因而既增大了系統帶寬又提高了文件傳輸速度?;谶@種思想的并行文件傳輸服務器群,可以有效地解決現有FTP系統存在問題1-5。2 MPI及相關技術MPI (Message Passing Interface) 是由MPI論壇開發(fā)的一個非專利且獨立于平臺的消息傳遞函數庫的與語言無關的標準規(guī)范,而不特指某一具體實現6。MPI是目前最重要的并行編程工具,它具有移植性好、功能強大、效率高等優(yōu)點,而且有多種不同的實現版本,幾乎所有的并行計算機廠商都提供對它的支持,這是其他并行編程環(huán)境所無法比擬的。MPI不僅提供了多種通訊模式,其打/解包收發(fā)不連續(xù)數據功能有效的減少了通訊次數;他的擴充版本MPI-2提供文件并行I/O ,能夠方便的實現文件的并行讀寫。基于這些原因,本文選用了MPI作為服務端系統的開發(fā)平臺。3 基于MPI的并行文件傳輸服務器群模型3.1 并行服務器群的拓撲結構服務器節(jié)點呈層疊結構排列,分為調度節(jié)點與子結點。調度結點只有一個,調度服務器可能在下層搜尋負載最輕的子節(jié)點和進行并行I/O操作。子結點有多個,結點數可擴展,增加層內節(jié)點數目即可提升系統處理大批量請求的能力。當然,服務樹具體的規(guī)模應以實際需求和單個服務器性能而定。監(jiān)控結點只有一個,獨立于服務器群。如圖1圖1 PFTP系統拓撲圖【注:11,接收用戶請求。12分析消息中包含的文檔大小,文件并行I/O。13,本地數據服務。14,MPI消息傳遞。15,響應客戶請求;21,收集各結點監(jiān)控數據。22,讀取監(jiān)控數據】3.2 并行服務器群的調度策略傳統的分布式調度策略和負載均衡算法所采用的最小調度單位為文件甚至為本次連接,很難實現理想中的負載均衡。我們的目標是要設計并行服務的調度策略。模型中主服務器(單臺)所維護的文件索引列表面向緩存,當解析到用戶發(fā)出信息為列表目錄時,立即在該索引表中應列表信息并返回用戶;對應解析為下載信號時則根據用戶所創(chuàng)線程數和子服務器實時負載對任務分解、動態(tài)調度,并由子服務器(多臺)并行提供數據服務,調度算法遵循在并行粒度范圍內按最輕網絡流量負載節(jié)點優(yōu)先調度的法則,使得各子服務器在任意時刻其負載量均趨于一致,整體負載更加均衡。具體流程請參考表1。表1 主服務器處理用戶的不同命令b a獲取列表信息下載文件第一步讀取文件索引表調用任務分配算法第二步由主服務器返回用戶由子服務器并行返回用戶(a. 用戶命令;b. 主服務器處理步驟)與分布式系統一樣7, 文件并行傳輸系統(稱為PFTP系統)把命令處理和數據服務分離,并分別在不同的機器上執(zhí)行,能有效的在不增加連接數的前提下增加帶寬。子服務器能具體到對某一個文件進行并行服務,且任一子服務器間無交互,很容易實現分布化。主服務器的內存中文件索引列表覆蓋了鏡像子服務器內共享目錄的全部信息。對應在子服務器內存有簡化版的文件索引表,只具有文件編號和路徑的映射功能。主服務器直接返回列表信息于用戶避免的大量的費時的tcp轉接操作,而在所有服務器均設置文件索引表則優(yōu)化了任務分配時的內部網絡通信。主服務器申請load集合,用于緩存當前各子服務器實際文件服務負載信息,該全局信息為任務的精確調度提高了依據。該load集合的維護采用異步模式,即能在每次調度時直接于內存中獲得信息又能根據子服務器的狀態(tài)改變或當前文件服務完畢而發(fā)往主服務器的信號引起主服務器動態(tài)改變load集合的值。子服務器申請一隊列用于緩存主服務器分配的任務,該隊列設有超時功能,在規(guī)定時限內一旦有用戶通過連接驗證立即將對應任務取出并按任務規(guī)定的偏移量I/O和提高數據服務。3.3 并行服務器群的MPI實現3.3.1 文件索引表 本文提出的并行文件傳輸服務器群建立在MPI的消息傳遞機制之上. 為了減少主服務器給子服務器通信的數據量, 在各子服務器內存中維護了同樣的文件索引表(字符串數組), 數組的下標代表文件編號, 相應的字符串代表此文件的完整路徑。 主服務器只需告訴子服務器文件編號, 子服務器就能從文件索引表得到完整路徑。 但這樣做的結果是主服務器每更改一次文件列表都要對子服務器上的索引表進行更新。而對數組進行增加/減少元素開銷比較大, 但穩(wěn)定運行的服務器都不會經常變動文件,這種運行期間的文件列表更新操作是很少的, 所以不會對服務器性能造成影響。3.3.2 服務器命令處理流程圖根據不同命令的處理情況, 將常用的命令分為以下5個組。1 申請數據通道命令, 用于主服務器傳送文件列表信息給客戶; 2 讀文件列表命令; 3 寫文件列表命令; 4 讀寫文件命令; 5 其它命令。 主服務器初始化完成后等待客戶發(fā)送命令請求, 接收到客戶端命令后, 通過命令解析,根據以上分類,進行不同的處理。流程圖如下:圖2 命令處理流程圖本文提出的并行文件傳輸服務器群建立在MPI的消息傳遞機制之上。 由主節(jié)點維護文件列表(沒有數據文件),各子服務器必須具有相同的文件。 主服務器根據子服務器的負載進行任務分配, 然后各個子服務器同時發(fā)送數據到客戶端。其基本流程圖如下:3.3.3 客戶端的實現COM (Component Object Model, 組件對象模型)是Microsoft創(chuàng)建的一種編程規(guī)范, 它允許任意兩個組件互相通信, 在二進制級別上重用代碼。 activeX是COM規(guī)范的一個實現。 客戶端以activeX插件的形式實現, 它能夠在Microsoft 的 Internet Explorer中被html代碼調用, 這樣就將c/s和b/s應用無縫集成。用戶第一次訪問時插件將自動下載并注冊。 在客戶端的角度看,基本流程如圖3:圖3. 時序圖3.4 并行服務器的監(jiān)控模型為了確保服務器各個服務器節(jié)點安全地運行,增加一個節(jié)點作為監(jiān)控節(jié)點,該節(jié)點獨立運行于windows平臺。監(jiān)控內容包含: 機器名,CPU利用率,內存利用率,網卡流量,用戶線程數,結點負載和系統時間等。服務器各結點每隔一秒寫入一條記錄。為了便于顯示數據,采用B/S模式,用圖形把當前各個節(jié)點的狀態(tài)動態(tài)地顯示在網頁上。紅色的柱形描述每秒各節(jié)點狀況,曲線圖描述各個節(jié)點最近10秒的記錄。這樣,管理員即使在遠程,也能查看到系統的運行狀況。4. 系統實際運行性能評價表2為系統在不同節(jié)點數的情況下傳輸不同大小的文件所需要的時間,從表中我們可以看出,采用本文所提出的并行FTP(PFTP)系統后,系統的傳輸速度隨著節(jié)點數的增加呈線性增長趨勢。證明系統性能達到我們的設計要求。表2 不同節(jié)點數下系統文件傳輸時間實測表 節(jié)點數文件大?。∕B)12341012秒6秒4秒3秒5061秒31秒21秒16秒100124秒42秒43秒32秒200248秒130秒86秒64秒5. 結語本文通過采用層疊式服務器結構及MPI作為通訊實現了并行文件傳輸?;贛PI的并行文件傳輸服務器群,可以很好地解決文件下載速度與并行連接上限等問題。通過系統數據傳輸性能進行實測,取得了良好的效果,驗證了這種方案的可行性。該模型具有較高的性價比,實現了低成本、高性能服務器構架方法。在理論上,只需增加子服務器結點的個數,即可提高服務器的性能,這就為網絡視頻傳輸,網絡硬盤等存在大量數據傳輸的應用提供了一種新的思路。參考文獻:1 Zhang XL,Barrientos M,Chen JBSeltzer M.HACC : An architecture for cluster-based Web servers.Proceedings of the 3rd USENIX Windows NT Symposium.1999.155-164.2 Yang CS, Luo MY. Efficient support for content-based routing in web server clusters.Proceeding of the 2nd USENIX/IEEE Symposium on Internet Technologies and Systems. 1999.3 徐忻,吳介一. Web服務結構模型的研究與實現J. 微計算機信息,2006,5-3:103-105。4 Cohen A, Rangarajan S, Slye H. On the performance of TCP splicing for URL-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論