摘??要: GridFTP協(xié)議的功能及特點(diǎn),并對(duì)其性能及應(yīng)用與實(shí)現(xiàn)作了討論,。
關(guān)鍵詞: GridFTP? 文件傳輸? 條狀數(shù)據(jù)? 并行數(shù)據(jù)
?
網(wǎng)格中已有許多大型的存儲(chǔ)系統(tǒng),。這些存儲(chǔ)系統(tǒng)往往側(cè)重于不同的需求,為客戶提供不同的服務(wù):如高性能存儲(chǔ)系統(tǒng)側(cè)重于實(shí)現(xiàn)快速傳送存儲(chǔ)設(shè)備和并行機(jī)或群聚計(jì)算機(jī)之間的龐大文件;分布式文件系統(tǒng)則側(cè)重于支持海量存儲(chǔ)與負(fù)載平衡。
由于采用了不同的軟件及數(shù)據(jù)訪問(wèn)協(xié)議,大部分存儲(chǔ)系統(tǒng)并不兼容,。若要訪問(wèn)多個(gè)存儲(chǔ)系統(tǒng),應(yīng)用程序必須采用多種方法來(lái)檢索所需數(shù)據(jù),這顯然是低效的。在具體應(yīng)用中,許多地理上分布的應(yīng)用程序或用戶需要訪問(wèn)大量數(shù)據(jù),要求各種存儲(chǔ)系統(tǒng)之間能快速而有效地傳輸大量數(shù)據(jù),。一種簡(jiǎn)單的解決辦法是通過(guò)建立一個(gè)客戶層或者網(wǎng)關(guān),給用戶提供統(tǒng)一接口以打破由相互不匹配的存儲(chǔ)系統(tǒng)協(xié)議所造成的分區(qū),。這種方法不要求供應(yīng)商支持一種新的協(xié)議,但由于增加了一個(gè)抽象層,所以實(shí)現(xiàn)跨系統(tǒng)數(shù)據(jù)傳輸?shù)拇鷥r(jià)較大,且實(shí)現(xiàn)這種方法是一項(xiàng)很復(fù)雜的工作。為此,Globus提出了GridFTP機(jī)制,它基于標(biāo)準(zhǔn)FTP協(xié)議,并對(duì)其進(jìn)行了全面擴(kuò)展,可實(shí)現(xiàn)對(duì)多種存儲(chǔ)系統(tǒng)的支持,并提供統(tǒng)一的用戶訪問(wèn)界面,。
1?GridFTP協(xié)議功能及特點(diǎn)
GridFTP基于標(biāo)準(zhǔn)的FTP協(xié)議,。這是因?yàn)镕TP協(xié)議是目前因特網(wǎng)上使用最普遍的數(shù)據(jù)傳輸協(xié)議。它具有如下特點(diǎn),。
(1)FTP協(xié)議有大量的技術(shù)基礎(chǔ),且易于理解,。(2)FTP協(xié)議是數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)協(xié)議之一,易于擴(kuò)展體系結(jié)構(gòu),且支持一些擴(kuò)展的動(dòng)態(tài)發(fā)現(xiàn),。(3)目前已有針對(duì)FTP協(xié)議的大量擴(kuò)展及其實(shí)現(xiàn),其中一些對(duì)于Grid環(huán)境的數(shù)據(jù)傳輸很有用。(4)除了客戶/服務(wù)器傳輸(如put/get或者遠(yuǎn)程read/write),它也支持由第三方用戶控制的2個(gè)服務(wù)器之間的直接傳送,。(5)由于數(shù)據(jù)及控制信道在不同套接字上相分離,這使并行及條狀傳輸?shù)忍卣鞲菀讛U(kuò)展,。
在FTP協(xié)議(RFC 969)及其擴(kuò)展所定義的特征中,標(biāo)準(zhǔn)的FTP實(shí)現(xiàn)一般只支持其中一個(gè)子集。為了使網(wǎng)格數(shù)據(jù)傳輸協(xié)議具有更好的適應(yīng)性,GridFTP除了應(yīng)具有普遍使用的數(shù)據(jù)傳輸協(xié)議所提供的基本功能外,還必須是可擴(kuò)展的,。為了滿足網(wǎng)格的需要,GridFTP在FTP的基礎(chǔ)上增加了如下一些新的特征,其中一些已經(jīng)成為標(biāo)準(zhǔn),。
(1)自動(dòng)調(diào)整TCP緩沖/窗口大小。手工方式設(shè)置TCP緩沖/窗口大小容易出錯(cuò),且對(duì)用戶要求較高,。因此GridFTP對(duì)標(biāo)準(zhǔn)的FTP指令集及數(shù)據(jù)信道協(xié)議進(jìn)行了擴(kuò)展,。針對(duì)具體的文件大小及類(lèi)型,使GridFTP支持手動(dòng)或自動(dòng)設(shè)置大文件以及小文件集合的TCP緩沖大小。由于使用優(yōu)化的TCP緩沖/窗口大小設(shè)置,從而有效地提高了數(shù)據(jù)傳輸性能,。
(2)支持GSI及Kerberos安全機(jī)制,。傳輸或存取文件時(shí),靈活可靠的安全鑒別、完整性檢查,、健壯性及保密性都非常重要,。當(dāng)用戶要求控制不同層次上的數(shù)據(jù)完整性及保密性的設(shè)定時(shí),GridFTP必須支持GSI(Grid Security Infrastructure)及Kerberos認(rèn)證。GSI支持用戶代理,、資源代理,、認(rèn)證機(jī)構(gòu)和協(xié)議的實(shí)現(xiàn),是Globus的安全基礎(chǔ)構(gòu)件包,是保證網(wǎng)格計(jì)算安全性的核心。
(3)第三方控制的數(shù)據(jù)傳輸,。為了管理許多大型數(shù)據(jù)集,GridFTP提供了經(jīng)過(guò)鑒別的由第三方控制的數(shù)據(jù)傳輸功能,。這種功能允許用戶或應(yīng)用程序啟動(dòng)、監(jiān)視和控制其他2個(gè)地點(diǎn)的數(shù)據(jù)傳輸,為使用多個(gè)地點(diǎn)的資源提供了保障,。GridFTP在保留FTP的第三方數(shù)據(jù)傳輸功能上增加了GSS-API(Generic Security Service-API)安全認(rèn)證,。
(4)并行數(shù)據(jù)傳輸。并行數(shù)據(jù)傳輸就是在一個(gè)數(shù)據(jù)服務(wù)器上,將數(shù)據(jù)文件分段后在多種數(shù)據(jù)連接上傳輸數(shù)據(jù),。在廣域網(wǎng)中,客戶端及服務(wù)器之間或2個(gè)服務(wù)器之間需要高帶寬,。使用多個(gè)并行的TCP流與使用單一的TCP流相比能有效地提高數(shù)據(jù)傳輸?shù)目値挕ridFTP通過(guò)指令及數(shù)據(jù)信道的擴(kuò)展支持并行數(shù)據(jù)傳輸,。
(5)條狀數(shù)據(jù)傳輸,。條狀數(shù)據(jù)傳輸是指應(yīng)用程序使用多個(gè)TCP流來(lái)傳輸分布在多個(gè)服務(wù)器上的數(shù)據(jù)。在網(wǎng)格環(huán)境中,大規(guī)模的數(shù)據(jù)可分布放置在多個(gè)存儲(chǔ)點(diǎn)上,。GridFTP能啟動(dòng)條狀傳輸,條狀傳輸可以在并行傳輸?shù)幕A(chǔ)上進(jìn)一步提高總帶寬及數(shù)據(jù)傳輸速度,。
(6)部分文件傳輸。許多應(yīng)用程序只需要訪問(wèn)某個(gè)遠(yuǎn)程文件的一部分,。而標(biāo)準(zhǔn)的FTP只能傳輸整個(gè)文件或從文件某個(gè)特殊位置開(kāi)始的剩余部分,因此需要特定的數(shù)據(jù)傳輸支持,。GridFTP引入新的FTP指令以支持從一個(gè)文件的任意位置開(kāi)始傳輸數(shù)據(jù)。
(7)支持可靠的數(shù)據(jù)傳輸及數(shù)據(jù)重傳,。對(duì)于許多處理數(shù)據(jù)的應(yīng)用程序來(lái)說(shuō),保證數(shù)據(jù)傳輸?shù)目煽啃院苤匾?。處理短暫的?shù)據(jù)傳輸故障和服務(wù)器故障等是不可缺少的容錯(cuò)手段,。GridFTP支持可靠的數(shù)據(jù)傳輸及數(shù)據(jù)重傳,并把它擴(kuò)展到新的數(shù)據(jù)通道協(xié)議中。
2?GridFTP性能
在2臺(tái)工作站上進(jìn)行GridFTP數(shù)據(jù)傳輸?shù)男阅軠y(cè)試,。其中一臺(tái)工作站在美國(guó)Illinois州的Argonne National Laboratory,另一臺(tái)在美國(guó)California州的Lawrence Berkeley National Laboratory,二者之間通過(guò)ES-Net(www.es.net)進(jìn)行連接,。二個(gè)工作站都運(yùn)行Linux操作系統(tǒng),具有數(shù)據(jù)讀寫(xiě)速度約為60MBps的RAID存儲(chǔ)系統(tǒng)。在2臺(tái)工作站之間最慢的網(wǎng)絡(luò)部分是千兆以太網(wǎng),。當(dāng)并行的TCP流增加時(shí)Iperf與GridFTP的數(shù)據(jù)傳輸性能比較如圖1所示,。
?
Iperf是測(cè)量網(wǎng)絡(luò)性能的工具,通過(guò)它可以得到網(wǎng)絡(luò)的最大吞吐量。由圖1可以看出,當(dāng)并行TCP流達(dá)到7~10條時(shí),GridFTP的通信性能可達(dá)到200Mbps,。Iperf及GridFTP之間的性能差異主要是由GridFTP中存在的安全鑒別開(kāi)銷(xiāo),、發(fā)送性能狀態(tài)信息的開(kāi)銷(xiāo)及檢查點(diǎn)設(shè)置開(kāi)銷(xiāo)引起的。根據(jù)計(jì)算,GridFTP的性能可達(dá)到Iperf性能的78%,。
在一段時(shí)間內(nèi),受測(cè)試節(jié)點(diǎn)的磁盤(pán)性能的限制,在2個(gè)節(jié)點(diǎn)之間進(jìn)行GridFTP傳輸時(shí)的性能會(huì)略小于圖1所顯示的性能:當(dāng)傳輸過(guò)程中出現(xiàn)不同的網(wǎng)絡(luò)問(wèn)題(網(wǎng)絡(luò)設(shè)備掉電,、DNS出錯(cuò)等)時(shí),傳輸性能會(huì)陡降。但當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),數(shù)據(jù)傳輸又繼續(xù)開(kāi)始,。這主要是因?yàn)镚ridFTP協(xié)議支持?jǐn)?shù)據(jù)傳輸自動(dòng)重傳,這樣一旦網(wǎng)絡(luò)恢復(fù)正常,中斷的數(shù)據(jù)傳輸可繼續(xù)進(jìn)行,。
3? 實(shí)現(xiàn)及應(yīng)用
Globus項(xiàng)目是美國(guó)多個(gè)組織共同對(duì)計(jì)算網(wǎng)格的構(gòu)建進(jìn)行的研究。目前的Globus可被視為計(jì)算網(wǎng)格技術(shù)的典型代表和事實(shí)上的規(guī)范,。
為了實(shí)現(xiàn)GridFTP協(xié)議,Globus項(xiàng)目主要實(shí)現(xiàn)了GridFTP函數(shù)庫(kù)(globus_ftp_control_library及globus_ftp_client_library),、GridFTP客戶端、GridFTP服務(wù)器端及一系列的相關(guān)工具,。GridFTP服務(wù)器端主要是通過(guò)對(duì)自由軟件wuftpd進(jìn)行改寫(xiě)及擴(kuò)展來(lái)實(shí)現(xiàn)的,。GridFTP客戶端則通過(guò)對(duì)ncftp改寫(xiě)及擴(kuò)展實(shí)現(xiàn)。
函數(shù)庫(kù)globus_ftp_control_library實(shí)現(xiàn)了控制通道API,主要提供了管理GridFTP連接(包括相互鑒別,、創(chuàng)建控制及數(shù)據(jù)通道,、在數(shù)據(jù)通道上讀寫(xiě)數(shù)據(jù))的功能,并且支持并行數(shù)據(jù)傳輸、條狀數(shù)據(jù)傳輸及第三方數(shù)據(jù)傳輸?shù)取?/P>
函數(shù)庫(kù)globus_ftp_client_library主要實(shí)現(xiàn)GridFTP客戶端API,提供高層客戶端數(shù)據(jù)傳輸功能,包括完整文件get操作及put操作,、對(duì)并行數(shù)據(jù)傳輸進(jìn)行控制及設(shè)置,、部分文件傳輸操作和設(shè)置TCP緩沖大小等。
4?GridFTP的發(fā)展前景
GridFTP 2.0版本已基本能滿足網(wǎng)格需求,預(yù)計(jì)2~3年內(nèi)GridFTP將成為主要網(wǎng)格數(shù)據(jù)傳輸協(xié)議,。然而GridFTP協(xié)議還有一個(gè)主要的問(wèn)題:數(shù)據(jù)信道的連接與數(shù)據(jù)流必須在同一個(gè)方向上,也就是說(shuō)數(shù)據(jù)信道不能是雙向的,。在防火墻中這將引起問(wèn)題,。因此GridFTP還需要一些附加特征及其開(kāi)發(fā)技術(shù),如全雙工協(xié)議,、管道指令和Web服務(wù)等。
為了解決上述問(wèn)題,Globus工作組將開(kāi)發(fā)附加協(xié)議,。GridFTP協(xié)議實(shí)際上是由許多下一層的子協(xié)議組成,。這個(gè)新的數(shù)據(jù)傳輸協(xié)議將實(shí)現(xiàn)雙向數(shù)據(jù)傳輸、管道指令,、擴(kuò)展塊模式的所有功能和其他可能的特征,。此外,GridFTP還要有一個(gè)統(tǒng)一的Web服務(wù)接口,。如果需要向下兼容,新協(xié)議可以作為一個(gè)新的模式整合到現(xiàn)存的GridFTP協(xié)議中。
參考文獻(xiàn)
1?? 肖儂.基于高速網(wǎng)絡(luò)的網(wǎng)格計(jì)算技術(shù).http://www.chinagrid.net/grid/talksanddocs.htm,2000-07-02
2?? 都志輝,陳渝,劉鵬.網(wǎng)格計(jì)算.北京:清華大學(xué)出版社,2002
3?? Hethmon P,Elz R.GridFTP:Universal Data Transfer for the?Grid.RFC 2389,2002
4?? Allcock B,Lee L M,Tuecke S.GridFTP:A Data Transfer?Protocol for the Grid.RFC 2228,2002
5?? Postel J,Reynolds J.GridFTP Update(STD 9).RFC 959,2002