摘 要: 以當(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)勢(shì),并圍繞傳輸機(jī)制介紹和討論了相關(guān)的服務(wù)以及它們的關(guān)聯(lián),闡述了有網(wǎng)格特點(diǎn)的數(shù)據(jù)傳輸與管理方式,探討了這方面進(jìn)一步研究的發(fā)展方向。
關(guān)鍵詞: 網(wǎng)格 數(shù)據(jù)管理 數(shù)據(jù)傳輸 GridFTP RFT RLS
在日新月異的計(jì)算機(jī)和通信設(shè)備的發(fā)展中,網(wǎng)格這一新興的基礎(chǔ)設(shè)施,正帶來(lái)新的網(wǎng)絡(luò)繁榮。
Globus項(xiàng)目是美國(guó)多個(gè)組織共同對(duì)計(jì)算網(wǎng)格的構(gòu)建進(jìn)行的研究。從1997年發(fā)行的GT2(Globus Toolkit 2)開(kāi)始,Globus被視為計(jì)算網(wǎng)格技術(shù)的典型代表和事實(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ù)著不可撼動(dòng)的位置,而且它在計(jì)算網(wǎng)格和服務(wù)網(wǎng)格等領(lǐng)域也是至關(guān)重要的,數(shù)據(jù)以高效、可靠、方便地移動(dòng)和復(fù)制關(guān)系到整個(gè)系統(tǒng)的效率。
數(shù)據(jù)管理的主要功能包括:數(shù)據(jù)的訪問(wèn)和控制,數(shù)據(jù)的拷貝和管理,以及與計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)的協(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é)議對(duì)以往協(xié)議的擴(kuò)展和改進(jìn)及其引申出的諸多數(shù)據(jù)傳輸與管理服務(wù)展開(kāi)討論。這些軟件或服務(wù)相輔相成,構(gòu)成了網(wǎng)格中不可或缺的數(shù)據(jù)管理部分。
2 數(shù)據(jù)傳輸——GridFTP協(xié)議
在模擬和傳感器技術(shù)發(fā)展的推動(dòng)下,數(shù)據(jù)集規(guī)模已經(jīng)增長(zhǎng)到TB數(shù)量級(jí),而且PB級(jí)的數(shù)據(jù)量將很快問(wèn)世。位于日內(nèi)瓦的歐洲粒子研究中心(CERN),目前正負(fù)電子對(duì)撞機(jī)(LEP)每年的數(shù)據(jù)是0.2~0.3TB,而幾年內(nèi)建成的緊湊μ介子螺線管(CMS)每年所產(chǎn)生的數(shù)據(jù)就將達(dá)到幾個(gè)PB。網(wǎng)格中現(xiàn)有的存儲(chǔ)系統(tǒng)如數(shù)量存儲(chǔ)系統(tǒng)、高性能存儲(chǔ)系統(tǒng)(DPSS、HPSS等)側(cè)重于實(shí)現(xiàn)快速傳送存儲(chǔ)設(shè)備和并行機(jī)或群聚計(jì)算機(jī)之間的龐大文件;而分布式文件系統(tǒng)(DFS)則側(cè)重于支持海量存儲(chǔ)與負(fù)載平衡,而這些系統(tǒng)間并不兼容。
訪問(wèn)、分析和處理分布在不同邏輯位置、存儲(chǔ)系統(tǒng)上的數(shù)據(jù),應(yīng)用程序要么選擇只支持某些存儲(chǔ)系統(tǒng),要么使用多種方法來(lái)獲取不同存儲(chǔ)系統(tǒng)上的數(shù)據(jù)。若能提供一種在異構(gòu)系統(tǒng)上的公共互用層將對(duì)存儲(chǔ)和用戶雙方都非常有利,因此一個(gè)普通的、但擴(kuò)展性強(qiáng)的數(shù)據(jù)傳輸協(xié)議呼之欲出。這樣的機(jī)制比建立一個(gè)分層的客戶端或網(wǎng)關(guān)要好得多,可以避免性能上的損失和過(guò)大的復(fù)雜性。
Globus提出了GridFTP協(xié)議,該協(xié)議不僅擁有現(xiàn)今使用的數(shù)據(jù)傳輸協(xié)議的特點(diǎn),還易于擴(kuò)展,支持更多的存儲(chǔ)系統(tǒng)。GridFTP基于FTP協(xié)議(因?yàn)镕TP是最為廣泛和實(shí)用的IETF標(biāo)準(zhǔn)協(xié)議),又有多個(gè)RFC標(biāo)準(zhǔn)定義了FTP及其擴(kuò)展,而且其中一些在網(wǎng)格環(huán)境中特別適用。下面將討論并比較當(dāng)前Internet和網(wǎng)格中依然存在的各種數(shù)據(jù)傳輸協(xié)議,并介紹Globus中GridFTP協(xié)議的實(shí)現(xiàn)和編程接口。
2.1 協(xié)議比較
(1)FTP(File Transfer Protocol)協(xié)議。專門用于數(shù)據(jù)傳輸?shù)膮f(xié)議,它遵循RFC959,目標(biāo)是促進(jìn)文件共享(包括計(jì)算機(jī)程序和數(shù)據(jù));鼓勵(lì)直接或通過(guò)程序使用遠(yuǎn)程計(jì)算機(jī);可靠有效地傳輸數(shù)據(jù)。RFC959定義的文件傳輸協(xié)議被RFC2228、RFC2640、RFC2773等更新。其中,RFC2228是FTP的安全擴(kuò)展;RFC2640對(duì)FTP進(jìn)行了國(guó)際化;RFC2773是用KEA和SKIPJACK對(duì)文件傳輸加密。SFTP(Secure FTP)使用加密方式傳輸認(rèn)證信息和數(shù)據(jù),如果對(duì)網(wǎng)絡(luò)安全性要求更高,則可以使用SFTP代替FTP,但它的傳輸效率比普通的FTP要低得多,通常用于傳輸小型敏感數(shù)據(jù)。
(2)HTTP(HyperText Transfer Protocol)協(xié)議。是萬(wàn)維網(wǎng)WWW(World Wide Web)的基礎(chǔ),在RFC2616中定義。它是一個(gè)簡(jiǎn)單的協(xié)議,客戶進(jìn)程建立一條同服務(wù)器進(jìn)程的TCP連接,然后發(fā)出請(qǐng)求并讀取服務(wù)器進(jìn)程的響應(yīng),服務(wù)器進(jìn)程關(guān)閉連接表示本次響應(yīng)結(jié)束。
(3)BBFTP是一個(gè)傳輸大型文件的FTP軟件,同時(shí)它也是基于FTP協(xié)議的一種新的數(shù)據(jù)傳輸協(xié)議。它能在高性能終端個(gè)人電腦之間可靠地傳輸和存儲(chǔ)數(shù)據(jù),尤其用來(lái)優(yōu)化傳輸大型文件(超過(guò)2GB),因?yàn)锽BFTP實(shí)現(xiàn)了RFC1323(TCP高性能擴(kuò)展)中定義的“大窗口”,使之更適合傳輸大文件,而不適合用來(lái)傳輸小文件。
以上協(xié)議或軟件部分重要特征的對(duì)比如表1所示。
下面就從表1中的對(duì)比說(shuō)明GridFTP協(xié)議適應(yīng)網(wǎng)格環(huán)境多樣性的特點(diǎn)。
(1)網(wǎng)格大都運(yùn)行在廣域網(wǎng)環(huán)境中,這就需要更高的帶寬。使用多個(gè)TCP流(即并行傳輸)可以更充分地利用并提高傳輸帶寬。而GridFTP中修改了RETR指令以使它可以指定TCP流的數(shù)目,同時(shí)引入了EBLOCK(Extended Block)模式(包括8位標(biāo)志符、64位長(zhǎng)度、64位偏移量和數(shù)據(jù)),以支持并行傳輸、部分傳輸和帶狀傳輸。
(2)窗口大小是TCP/IP中獲取最大帶寬的關(guān)鍵參數(shù),針對(duì)不同的網(wǎng)格環(huán)境、文件大小和文件集類型應(yīng)該設(shè)置不同的值。使用最優(yōu)的TCP緩沖區(qū)/窗口大小可以有效地提高數(shù)據(jù)傳輸性能。GridFTP增加的新指令SBUF和ABUF,就是分別用來(lái)手工指定和使用某種算法自動(dòng)調(diào)整TCP緩沖區(qū)/窗口大小。
(3)安全認(rèn)證是網(wǎng)格計(jì)算的重點(diǎn)和難點(diǎn)。Globus中GSI(Grid Security Infrastructure)使用PKI、X.25和SSL作為整個(gè)安全系統(tǒng)的基礎(chǔ),分為授權(quán)、雙重認(rèn)證、私有通信、安全私鑰、代理和單一系統(tǒng)登錄部分,建立了非集中管理的、包括多個(gè)不同組織的安全系統(tǒng)。而GridFTP支持GSI和Kerberos認(rèn)證,以滿足用戶控制不同層次上的數(shù)據(jù)完整性及保密性設(shè)定的要求。
(4)大規(guī)模的分布系統(tǒng)擁有大量的數(shù)據(jù)集,在存儲(chǔ)服務(wù)器間進(jìn)行第三方控制的傳輸是很有必要的。用戶可以啟動(dòng)和監(jiān)控2臺(tái)服務(wù)器間的數(shù)據(jù)傳輸,為使用多點(diǎn)資源提供了保障,而且無(wú)需進(jìn)行數(shù)據(jù)中轉(zhuǎn)。GridFTP在原有FTP標(biāo)準(zhǔn)第三方傳輸?shù)墓δ苌咸砑恿薌SSAPI(Generic Security Service API)安全機(jī)制。
許多時(shí)候網(wǎng)格計(jì)算只需要文件中的部分?jǐn)?shù)據(jù)或者一個(gè)數(shù)據(jù)子集,F(xiàn)TP和HTTP協(xié)議只支持從某一偏移量開(kāi)始到整個(gè)文件末的傳輸,而GridFTP使用ERET、ESTO等命令可支持部分文件傳輸。同時(shí)網(wǎng)格的特殊性也使得連接狀況較難預(yù)測(cè),因此傳輸中斷后的恢復(fù)必不可少,而GridFTP保留了FTP協(xié)議中的斷點(diǎn)續(xù)傳功能。
GridFTP除了具有以上在普通數(shù)據(jù)傳輸機(jī)制上的性能和功能改進(jìn)外,還有如下特性:
帶狀(Striped)傳輸使用多個(gè)TCP流來(lái)傳輸分布在多個(gè)服務(wù)器上的數(shù)據(jù),因?yàn)樵诰W(wǎng)格中數(shù)據(jù)往往會(huì)分布在多存儲(chǔ)點(diǎn)上,這樣就可以大大增加客戶端傳輸帶寬,提高速率。GridFTP使用擴(kuò)展的RETR指令,并有分區(qū)和分塊2種策略來(lái)進(jìn)行帶狀傳輸,SPAS、SPOR命令可分別用來(lái)設(shè)置被動(dòng)和主動(dòng)模式。
2.2 實(shí)現(xiàn)、性能及編程接口
(1)實(shí)現(xiàn)。Globus項(xiàng)目在GridFTP協(xié)議基礎(chǔ)上實(shí)現(xiàn)了GridFTP服務(wù)器端、GridFTP客戶端、API函數(shù)庫(kù)以及一系列的相關(guān)工具。最新的GT4中GridFTP服務(wù)器已不再基于wuftpd,而是重寫了代碼,實(shí)現(xiàn)了控制通道和數(shù)據(jù)通道完全分離。一個(gè)控制通道后面可以有多個(gè)數(shù)據(jù)通道(這就是帶狀傳輸服務(wù)器的實(shí)現(xiàn)方式)。服務(wù)器幾種可能的設(shè)置如圖2所示。
(2)性能。根據(jù)實(shí)驗(yàn),在千兆網(wǎng)絡(luò)環(huán)境下的單服務(wù)器對(duì)單客戶端傳輸性能:當(dāng)TCP流增多時(shí)傳輸帶寬有明顯的增大(達(dá)到200Mbps)??偟膩?lái)看,GridFTP的性能可達(dá)到Iperf(一種網(wǎng)絡(luò)帶寬和性能測(cè)試工具)的78%;在萬(wàn)兆網(wǎng)絡(luò)(30G)環(huán)境下的帶狀服務(wù)器對(duì)單客戶端傳輸性能:當(dāng)進(jìn)行內(nèi)存到內(nèi)存?zhèn)鬏敃r(shí),隨著帶狀數(shù)的增加,傳輸帶寬幾乎呈線性增長(zhǎng)(斜率接近1),32個(gè)數(shù)據(jù)節(jié)點(diǎn)時(shí)可以達(dá)到27Gbps的帶寬,近90%的利用率;當(dāng)進(jìn)行磁盤到磁盤傳輸時(shí),由于受到存儲(chǔ)系統(tǒng)的限制,但仍然達(dá)到了17.5Gbps的帶寬。帶狀傳輸性能測(cè)試如圖3所示。
(3)編程接口。除了GT自帶的用于通道控制和實(shí)現(xiàn)客戶端的2個(gè)API庫(kù)ftp_control_library和fip_client_library外,還有CoG(Commodity Grid)工具集。它是提供給網(wǎng)格用戶、管理者,特別是開(kāi)發(fā)人員使用的高級(jí)框架,為開(kāi)發(fā)網(wǎng)格應(yīng)用程序提供了更快速簡(jiǎn)易的通道。目前CoG工具集有Java CoG、Python CoG等,它不僅是集成高級(jí)網(wǎng)格服務(wù)的工具,還是提供統(tǒng)一分布計(jì)算技術(shù)訪問(wèn)接口的中間件[3]。CoG可用于GT中(正在開(kāi)發(fā)的CoG 4.0將兼容最新的GT4),Java CoG為Globus開(kāi)發(fā)了jglobus包,其中包括AXIS、數(shù)據(jù)傳輸、GASS、GRAM、MDS和安全等組件。
3 可靠文件傳輸——RFT服務(wù)
GridFTP客戶端要求一直保持開(kāi)啟,連接直到傳輸完成為止。而一旦失去與服務(wù)器的連接則需要人工參與重啟傳輸。為了傳輸任務(wù)的可靠性,一個(gè)基于無(wú)用戶的、提交傳輸任務(wù)后即可釋放的服務(wù)是十分必要的。
可靠文件傳輸(Reliable File Transfer,RFT)是基于WSRF(Web Services Resource Framework)的一個(gè)網(wǎng)格服務(wù),提供一個(gè)永久、易調(diào)用、可靠的文件傳輸服務(wù)。它支持GridFTP的第三方數(shù)據(jù)傳輸和部分文件管理功能(如批量刪除文件等),可以監(jiān)測(cè)傳輸動(dòng)態(tài)及性能,自動(dòng)恢復(fù)傳輸?shù)裙δ堋FT的整體架構(gòu)如圖4所示。
可靠文件傳輸服務(wù)接收來(lái)自客戶端GUI的傳輸請(qǐng)求,該請(qǐng)求可永久存放在數(shù)據(jù)庫(kù)中(Globus一般采用PostgreSQL),然后調(diào)用傳輸客戶端啟動(dòng)第三方傳輸。通過(guò)調(diào)用數(shù)據(jù)庫(kù)保存的傳輸任務(wù)和狀態(tài)來(lái)實(shí)現(xiàn)出錯(cuò)恢復(fù)這一重要機(jī)制。最后用戶可以從各種GUI界面查詢不同信息。
為了主動(dòng)地檢測(cè)傳輸失敗并恢復(fù)傳輸,RFT從應(yīng)用層、網(wǎng)絡(luò)層和系統(tǒng)層等獲取可用的信息,處理不同的傳輸錯(cuò)誤(如進(jìn)程異常結(jié)束或失敗、網(wǎng)絡(luò)超時(shí)或中斷、服務(wù)器崩潰或重啟等),使用不同的對(duì)策進(jìn)行自動(dòng)管理傳輸任務(wù),包括協(xié)商緩沖區(qū)大小、多流傳輸、恢復(fù)傳輸和結(jié)束傳輸。
4 數(shù)據(jù)副本管理——RLS和DRS服務(wù)
網(wǎng)格是一個(gè)整體環(huán)境。為了降低訪問(wèn)延遲,改善數(shù)據(jù)局部性,保證分布式應(yīng)用的質(zhì)量,提高執(zhí)行效率和性能,往往需要建立數(shù)據(jù)的遠(yuǎn)程只讀副本。同時(shí)可以根據(jù)需要,在完成數(shù)據(jù)傳輸復(fù)制后把它標(biāo)識(shí)為副本,以便其他客戶端使用。
副本定位服務(wù)(Replica Location Service,RLS)維護(hù)并提供數(shù)據(jù)項(xiàng)邏輯名和數(shù)據(jù)項(xiàng)的一個(gè)或多個(gè)副本所在位置之間的映射。RLS框架基于LRC本地狀態(tài)、RLI集體狀態(tài)、RLI軟狀態(tài)維護(hù)等幾種機(jī)制。它實(shí)現(xiàn)成一種分布式服務(wù),允許用戶在一致性、空間開(kāi)銷、可靠性、更新代價(jià)和查詢代價(jià)之間做出權(quán)衡。
數(shù)據(jù)副本服務(wù)(Data Replication Service,DRS)是GT4 Beta測(cè)試版新增的組件。該組件的主要功能是確認(rèn)用戶需要的一組文件是否存在于網(wǎng)格中,然后產(chǎn)生本地的副本,即用RFT把網(wǎng)格中需要的文件傳輸?shù)奖镜?,并自?dòng)向RLS注冊(cè)新副本。DRS遵循WSRF規(guī)范,并發(fā)布一個(gè)WS資源(副本資源),它保存了提交復(fù)本的交互狀態(tài),允許用戶查詢或提交各種不同的資源屬性以監(jiān)視資源的狀態(tài)。DRS在完成數(shù)據(jù)傳輸后還“關(guān)心”數(shù)據(jù)的去向,可以說(shuō)是連接數(shù)據(jù)傳輸和副本管理的一座橋梁。
5 總結(jié)及未來(lái)的工作
本文介紹了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é)議,但還有一些問(wèn)題尚待解決:GridFTP需要發(fā)送方進(jìn)行TCP連接,這不利于穿越防火墻;即使不同服務(wù)器上擁有數(shù)據(jù)的多個(gè)復(fù)本,帶狀傳輸也只支持使用并行文件系統(tǒng)的服務(wù)器。在帶狀傳輸時(shí),應(yīng)該用一個(gè)負(fù)載平衡代理服務(wù)器來(lái)協(xié)調(diào)單控制通道及多數(shù)據(jù)通道的工作,以處理單點(diǎn)故障等,使高效傳輸能順利完成。
參考文獻(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)格計(jì)算技術(shù).北京:電子工業(yè)出版社,2004
4 黃斌,彭小寧,肖儂等.數(shù)據(jù)網(wǎng)格環(huán)境中數(shù)據(jù)傳輸服務(wù)的研究與實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用研究,2004;(1)
5 彭定,傅秀芬,謝翠萍等.網(wǎng)格數(shù)據(jù)傳輸協(xié)議探討.微型機(jī)與應(yīng)用,2004;(6)