《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 網(wǎng)格數(shù)據(jù)傳輸及相關(guān)服務(wù)研究
網(wǎng)格數(shù)據(jù)傳輸及相關(guān)服務(wù)研究
歐佳凡,黃林鵬,孫永強(qiáng)
(上海交通大學(xué) 計算機(jī)系,上海200030)
摘要: 以當(dāng)前最流行的網(wǎng)格環(huán)境Globus Toolkit為例,結(jié)合業(yè)界的最新進(jìn)展,介紹了網(wǎng)格環(huán)境下的數(shù)據(jù)管理與傳輸,比較了與普通網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)傳輸?shù)牟煌屯怀龅膬?yōu)勢,并圍繞傳輸機(jī)制介紹和討論了相關(guān)的服務(wù)以及它們的關(guān)聯(lián),闡述了有網(wǎng)格特點的數(shù)據(jù)傳輸與管理方式,探討了這方面進(jìn)一步研究的發(fā)展方向。
Abstract:
Key words :

摘   要: 以當(dāng)前最流行的網(wǎng)格環(huán)境Globus Toolkit為例,結(jié)合業(yè)界的最新進(jìn)展,介紹了網(wǎng)格環(huán)境下的數(shù)據(jù)管理與傳輸,比較了與普通網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)傳輸的不同和突出的優(yōu)勢,并圍繞傳輸機(jī)制介紹和討論了相關(guān)的服務(wù)以及它們的關(guān)聯(lián),闡述了有網(wǎng)格特點的數(shù)據(jù)傳輸與管理方式,探討了這方面進(jìn)一步研究的發(fā)展方向。
關(guān)鍵詞: 網(wǎng)格  數(shù)據(jù)管理  數(shù)據(jù)傳輸  GridFTP  RFT  RLS

  在日新月異的計算機(jī)和通信設(shè)備的發(fā)展中,網(wǎng)格這一新興的基礎(chǔ)設(shè)施,正帶來新的網(wǎng)絡(luò)繁榮。
Globus項目是美國多個組織共同對計算網(wǎng)格的構(gòu)建進(jìn)行的研究。從1997年發(fā)行的GT2(Globus Toolkit 2)開始,Globus被視為計算網(wǎng)格技術(shù)的典型代表和事實上的規(guī)范。圖1是Globus聯(lián)盟于2005年4月底發(fā)布的GT4.0的組件構(gòu)成內(nèi)容,新版本的Web服務(wù)組件將基于WSRF(Web Services Resource Framework),且完全兼容Web Service標(biāo)準(zhǔn);非Web服務(wù)組件也將服從各種標(biāo)準(zhǔn)規(guī)范,強(qiáng)調(diào)質(zhì)量、魯棒性、易用性及文檔完備性[2]。本文將從整體的角度闡述最新版本的GT4中數(shù)據(jù)的管理及傳輸。
  從圖1可以看到,數(shù)據(jù)管理的重要地位,不僅在處理海量數(shù)據(jù)的數(shù)據(jù)網(wǎng)格,在數(shù)據(jù)管理尤其是數(shù)據(jù)傳輸更是占據(jù)著不可撼動的位置,而且它在計算網(wǎng)格和服務(wù)網(wǎng)格等領(lǐng)域也是至關(guān)重要的,數(shù)據(jù)以高效、可靠、方便地移動和復(fù)制關(guān)系到整個系統(tǒng)的效率。

  數(shù)據(jù)管理的主要功能包括:數(shù)據(jù)的訪問和控制,數(shù)據(jù)的拷貝和管理,以及與計算、網(wǎng)絡(luò)和存儲的協(xié)同調(diào)度。目前,GT中的數(shù)據(jù)管理主要包括:GridFTP、RFT(Reliable File Transfer)、RLS(Replica Location Service,代替了舊版本的Globus Replica Catalog和Globus Replica Management)、DRS(Data Replication Service,GT3.9.5即GT4 Beta版中新引入的服務(wù))、OGSA-DAI等。本文將圍繞數(shù)據(jù)傳輸,特別是GridFTP協(xié)議對以往協(xié)議的擴(kuò)展和改進(jìn)及其引申出的諸多數(shù)據(jù)傳輸與管理服務(wù)展開討論。這些軟件或服務(wù)相輔相成,構(gòu)成了網(wǎng)格中不可或缺的數(shù)據(jù)管理部分。
2  數(shù)據(jù)傳輸——GridFTP協(xié)議
  在模擬和傳感器技術(shù)發(fā)展的推動下,數(shù)據(jù)集規(guī)模已經(jīng)增長到TB數(shù)量級,而且PB級的數(shù)據(jù)量將很快問世。位于日內(nèi)瓦的歐洲粒子研究中心(CERN),目前正負(fù)電子對撞機(jī)(LEP)每年的數(shù)據(jù)是0.2~0.3TB,而幾年內(nèi)建成的緊湊μ介子螺線管(CMS)每年所產(chǎn)生的數(shù)據(jù)就將達(dá)到幾個PB。網(wǎng)格中現(xiàn)有的存儲系統(tǒng)如數(shù)量存儲系統(tǒng)、高性能存儲系統(tǒng)(DPSS、HPSS等)側(cè)重于實現(xiàn)快速傳送存儲設(shè)備和并行機(jī)或群聚計算機(jī)之間的龐大文件;而分布式文件系統(tǒng)(DFS)則側(cè)重于支持海量存儲與負(fù)載平衡,而這些系統(tǒng)間并不兼容。
  訪問、分析和處理分布在不同邏輯位置、存儲系統(tǒng)上的數(shù)據(jù),應(yīng)用程序要么選擇只支持某些存儲系統(tǒng),要么使用多種方法來獲取不同存儲系統(tǒng)上的數(shù)據(jù)。若能提供一種在異構(gòu)系統(tǒng)上的公共互用層將對存儲和用戶雙方都非常有利,因此一個普通的、但擴(kuò)展性強(qiáng)的數(shù)據(jù)傳輸協(xié)議呼之欲出。這樣的機(jī)制比建立一個分層的客戶端或網(wǎng)關(guān)要好得多,可以避免性能上的損失和過大的復(fù)雜性。
  Globus提出了GridFTP協(xié)議,該協(xié)議不僅擁有現(xiàn)今使用的數(shù)據(jù)傳輸協(xié)議的特點,還易于擴(kuò)展,支持更多的存儲系統(tǒng)。GridFTP基于FTP協(xié)議(因為FTP是最為廣泛和實用的IETF標(biāo)準(zhǔn)協(xié)議),又有多個RFC標(biāo)準(zhǔn)定義了FTP及其擴(kuò)展,而且其中一些在網(wǎng)格環(huán)境中特別適用。下面將討論并比較當(dāng)前Internet和網(wǎng)格中依然存在的各種數(shù)據(jù)傳輸協(xié)議,并介紹Globus中GridFTP協(xié)議的實現(xiàn)和編程接口。
2.1 協(xié)議比較
  (1)FTP(File Transfer Protocol)協(xié)議。專門用于數(shù)據(jù)傳輸?shù)膮f(xié)議,它遵循RFC959,目標(biāo)是促進(jìn)文件共享(包括計算機(jī)程序和數(shù)據(jù));鼓勵直接或通過程序使用遠(yuǎn)程計算機(jī);可靠有效地傳輸數(shù)據(jù)。RFC959定義的文件傳輸協(xié)議被RFC2228、RFC2640、RFC2773等更新。其中,RFC2228是FTP的安全擴(kuò)展;RFC2640對FTP進(jìn)行了國際化;RFC2773是用KEA和SKIPJACK對文件傳輸加密。SFTP(Secure FTP)使用加密方式傳輸認(rèn)證信息和數(shù)據(jù),如果對網(wǎng)絡(luò)安全性要求更高,則可以使用SFTP代替FTP,但它的傳輸效率比普通的FTP要低得多,通常用于傳輸小型敏感數(shù)據(jù)。
  (2)HTTP(HyperText Transfer Protocol)協(xié)議。是萬維網(wǎng)WWW(World Wide Web)的基礎(chǔ),在RFC2616中定義。它是一個簡單的協(xié)議,客戶進(jìn)程建立一條同服務(wù)器進(jìn)程的TCP連接,然后發(fā)出請求并讀取服務(wù)器進(jìn)程的響應(yīng),服務(wù)器進(jìn)程關(guān)閉連接表示本次響應(yīng)結(jié)束。
  (3)BBFTP是一個傳輸大型文件的FTP軟件,同時它也是基于FTP協(xié)議的一種新的數(shù)據(jù)傳輸協(xié)議。它能在高性能終端個人電腦之間可靠地傳輸和存儲數(shù)據(jù),尤其用來優(yōu)化傳輸大型文件(超過2GB),因為BBFTP實現(xiàn)了RFC1323(TCP高性能擴(kuò)展)中定義的“大窗口”,使之更適合傳輸大文件,而不適合用來傳輸小文件。
以上協(xié)議或軟件部分重要特征的對比如表1所示。

  下面就從表1中的對比說明GridFTP協(xié)議適應(yīng)網(wǎng)格環(huán)境多樣性的特點。
  (1)網(wǎng)格大都運(yùn)行在廣域網(wǎng)環(huán)境中,這就需要更高的帶寬。使用多個TCP流(即并行傳輸)可以更充分地利用并提高傳輸帶寬。而GridFTP中修改了RETR指令以使它可以指定TCP流的數(shù)目,同時引入了EBLOCK(Extended Block)模式(包括8位標(biāo)志符、64位長度、64位偏移量和數(shù)據(jù)),以支持并行傳輸、部分傳輸和帶狀傳輸。
  (2)窗口大小是TCP/IP中獲取最大帶寬的關(guān)鍵參數(shù),針對不同的網(wǎng)格環(huán)境、文件大小和文件集類型應(yīng)該設(shè)置不同的值。使用最優(yōu)的TCP緩沖區(qū)/窗口大小可以有效地提高數(shù)據(jù)傳輸性能。GridFTP增加的新指令SBUF和ABUF,就是分別用來手工指定和使用某種算法自動調(diào)整TCP緩沖區(qū)/窗口大小。
  (3)安全認(rèn)證是網(wǎng)格計算的重點和難點。Globus中GSI(Grid Security Infrastructure)使用PKI、X.25和SSL作為整個安全系統(tǒng)的基礎(chǔ),分為授權(quán)、雙重認(rèn)證、私有通信、安全私鑰、代理和單一系統(tǒng)登錄部分,建立了非集中管理的、包括多個不同組織的安全系統(tǒng)。而GridFTP支持GSI和Kerberos認(rèn)證,以滿足用戶控制不同層次上的數(shù)據(jù)完整性及保密性設(shè)定的要求。
  (4)大規(guī)模的分布系統(tǒng)擁有大量的數(shù)據(jù)集,在存儲服務(wù)器間進(jìn)行第三方控制的傳輸是很有必要的。用戶可以啟動和監(jiān)控2臺服務(wù)器間的數(shù)據(jù)傳輸,為使用多點資源提供了保障,而且無需進(jìn)行數(shù)據(jù)中轉(zhuǎn)。GridFTP在原有FTP標(biāo)準(zhǔn)第三方傳輸?shù)墓δ苌咸砑恿薌SSAPI(Generic Security Service API)安全機(jī)制。
  許多時候網(wǎng)格計算只需要文件中的部分?jǐn)?shù)據(jù)或者一個數(shù)據(jù)子集,F(xiàn)TP和HTTP協(xié)議只支持從某一偏移量開始到整個文件末的傳輸,而GridFTP使用ERET、ESTO等命令可支持部分文件傳輸。同時網(wǎng)格的特殊性也使得連接狀況較難預(yù)測,因此傳輸中斷后的恢復(fù)必不可少,而GridFTP保留了FTP協(xié)議中的斷點續(xù)傳功能。
GridFTP除了具有以上在普通數(shù)據(jù)傳輸機(jī)制上的性能和功能改進(jìn)外,還有如下特性:
  帶狀(Striped)傳輸使用多個TCP流來傳輸分布在多個服務(wù)器上的數(shù)據(jù),因為在網(wǎng)格中數(shù)據(jù)往往會分布在多存儲點上,這樣就可以大大增加客戶端傳輸帶寬,提高速率。GridFTP使用擴(kuò)展的RETR指令,并有分區(qū)和分塊2種策略來進(jìn)行帶狀傳輸,SPAS、SPOR命令可分別用來設(shè)置被動和主動模式。
2.2 實現(xiàn)、性能及編程接口
  (1)實現(xiàn)。Globus項目在GridFTP協(xié)議基礎(chǔ)上實現(xiàn)了GridFTP服務(wù)器端、GridFTP客戶端、API函數(shù)庫以及一系列的相關(guān)工具。最新的GT4中GridFTP服務(wù)器已不再基于wuftpd,而是重寫了代碼,實現(xiàn)了控制通道和數(shù)據(jù)通道完全分離。一個控制通道后面可以有多個數(shù)據(jù)通道(這就是帶狀傳輸服務(wù)器的實現(xiàn)方式)。服務(wù)器幾種可能的設(shè)置如圖2所示。

  (2)性能。根據(jù)實驗,在千兆網(wǎng)絡(luò)環(huán)境下的單服務(wù)器對單客戶端傳輸性能:當(dāng)TCP流增多時傳輸帶寬有明顯的增大(達(dá)到200Mbps)??偟膩砜矗珿ridFTP的性能可達(dá)到Iperf(一種網(wǎng)絡(luò)帶寬和性能測試工具)的78%;在萬兆網(wǎng)絡(luò)(30G)環(huán)境下的帶狀服務(wù)器對單客戶端傳輸性能:當(dāng)進(jìn)行內(nèi)存到內(nèi)存?zhèn)鬏敃r,隨著帶狀數(shù)的增加,傳輸帶寬幾乎呈線性增長(斜率接近1),32個數(shù)據(jù)節(jié)點時可以達(dá)到27Gbps的帶寬,近90%的利用率;當(dāng)進(jìn)行磁盤到磁盤傳輸時,由于受到存儲系統(tǒng)的限制,但仍然達(dá)到了17.5Gbps的帶寬。帶狀傳輸性能測試如圖3所示。

  (3)編程接口。除了GT自帶的用于通道控制和實現(xiàn)客戶端的2個API庫ftp_control_library和fip_client_library外,還有CoG(Commodity Grid)工具集。它是提供給網(wǎng)格用戶、管理者,特別是開發(fā)人員使用的高級框架,為開發(fā)網(wǎng)格應(yīng)用程序提供了更快速簡易的通道。目前CoG工具集有Java CoG、Python CoG等,它不僅是集成高級網(wǎng)格服務(wù)的工具,還是提供統(tǒng)一分布計算技術(shù)訪問接口的中間件[3]。CoG可用于GT中(正在開發(fā)的CoG 4.0將兼容最新的GT4),Java CoG為Globus開發(fā)了jglobus包,其中包括AXIS、數(shù)據(jù)傳輸、GASS、GRAM、MDS和安全等組件。
3  可靠文件傳輸——RFT服務(wù)
  GridFTP客戶端要求一直保持開啟,連接直到傳輸完成為止。而一旦失去與服務(wù)器的連接則需要人工參與重啟傳輸。為了傳輸任務(wù)的可靠性,一個基于無用戶的、提交傳輸任務(wù)后即可釋放的服務(wù)是十分必要的。
可靠文件傳輸(Reliable File Transfer,RFT)是基于WSRF(Web Services Resource Framework)的一個網(wǎng)格服務(wù),提供一個永久、易調(diào)用、可靠的文件傳輸服務(wù)。它支持GridFTP的第三方數(shù)據(jù)傳輸和部分文件管理功能(如批量刪除文件等),可以監(jiān)測傳輸動態(tài)及性能,自動恢復(fù)傳輸?shù)裙δ?。RFT的整體架構(gòu)如圖4所示。

  可靠文件傳輸服務(wù)接收來自客戶端GUI的傳輸請求,該請求可永久存放在數(shù)據(jù)庫中(Globus一般采用PostgreSQL),然后調(diào)用傳輸客戶端啟動第三方傳輸。通過調(diào)用數(shù)據(jù)庫保存的傳輸任務(wù)和狀態(tài)來實現(xiàn)出錯恢復(fù)這一重要機(jī)制。最后用戶可以從各種GUI界面查詢不同信息。
  為了主動地檢測傳輸失敗并恢復(fù)傳輸,RFT從應(yīng)用層、網(wǎng)絡(luò)層和系統(tǒng)層等獲取可用的信息,處理不同的傳輸錯誤(如進(jìn)程異常結(jié)束或失敗、網(wǎng)絡(luò)超時或中斷、服務(wù)器崩潰或重啟等),使用不同的對策進(jìn)行自動管理傳輸任務(wù),包括協(xié)商緩沖區(qū)大小、多流傳輸、恢復(fù)傳輸和結(jié)束傳輸。
4  數(shù)據(jù)副本管理——RLS和DRS服務(wù)
  網(wǎng)格是一個整體環(huán)境。為了降低訪問延遲,改善數(shù)據(jù)局部性,保證分布式應(yīng)用的質(zhì)量,提高執(zhí)行效率和性能,往往需要建立數(shù)據(jù)的遠(yuǎn)程只讀副本。同時可以根據(jù)需要,在完成數(shù)據(jù)傳輸復(fù)制后把它標(biāo)識為副本,以便其他客戶端使用。
  副本定位服務(wù)(Replica Location Service,RLS)維護(hù)并提供數(shù)據(jù)項邏輯名和數(shù)據(jù)項的一個或多個副本所在位置之間的映射。RLS框架基于LRC本地狀態(tài)、RLI集體狀態(tài)、RLI軟狀態(tài)維護(hù)等幾種機(jī)制。它實現(xiàn)成一種分布式服務(wù),允許用戶在一致性、空間開銷、可靠性、更新代價和查詢代價之間做出權(quán)衡。
  數(shù)據(jù)副本服務(wù)(Data Replication Service,DRS)是GT4 Beta測試版新增的組件。該組件的主要功能是確認(rèn)用戶需要的一組文件是否存在于網(wǎng)格中,然后產(chǎn)生本地的副本,即用RFT把網(wǎng)格中需要的文件傳輸?shù)奖镜?,并自動向RLS注冊新副本。DRS遵循WSRF規(guī)范,并發(fā)布一個WS資源(副本資源),它保存了提交復(fù)本的交互狀態(tài),允許用戶查詢或提交各種不同的資源屬性以監(jiān)視資源的狀態(tài)。DRS在完成數(shù)據(jù)傳輸后還“關(guān)心”數(shù)據(jù)的去向,可以說是連接數(shù)據(jù)傳輸和副本管理的一座橋梁。
5  總結(jié)及未來的工作
  本文介紹了GT4中除OGSA-DAI外的數(shù)據(jù)管理組件,主要側(cè)重于數(shù)據(jù)的傳輸。GridFTP協(xié)議、軟件、服務(wù)的有機(jī)結(jié)合,組成了數(shù)據(jù)管理的重要部分,向用戶提供了完整的數(shù)據(jù)管理機(jī)制。
  GridFTP雖然已成為網(wǎng)格中的標(biāo)準(zhǔn)數(shù)據(jù)傳輸協(xié)議,但還有一些問題尚待解決:GridFTP需要發(fā)送方進(jìn)行TCP連接,這不利于穿越防火墻;即使不同服務(wù)器上擁有數(shù)據(jù)的多個復(fù)本,帶狀傳輸也只支持使用并行文件系統(tǒng)的服務(wù)器。在帶狀傳輸時,應(yīng)該用一個負(fù)載平衡代理服務(wù)器來協(xié)調(diào)單控制通道及多數(shù)據(jù)通道的工作,以處理單點故障等,使高效傳輸能順利完成。
參考文獻(xiàn)
1   Foster L,Kesselman C.The Grid 2:Blueprint for a New    Computing Infrastructure.2004
2   Madduri R K,Hood C S,Allcock W E.Reliable file Transfer in Grid Environments.LCN′02,2002
3   徐志偉,馮百明,李偉.網(wǎng)格計算技術(shù).北京:電子工業(yè)出版社,2004
4   黃斌,彭小寧,肖儂等.數(shù)據(jù)網(wǎng)格環(huán)境中數(shù)據(jù)傳輸服務(wù)的研究與實現(xiàn).計算機(jī)應(yīng)用研究,2004;(1)
5   彭定,傅秀芬,謝翠萍等.網(wǎng)格數(shù)據(jù)傳輸協(xié)議探討.微型機(jī)與應(yīng)用,2004;(6)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。