陸穎華馬廷淮*曹 浩李德泉
1)(南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院,南京210044)2)(國(guó)家氣象信息中心,北京100081)
大量氣象數(shù)據(jù)小文件自適應(yīng)優(yōu)化傳輸
陸穎華1)馬廷淮1)*曹 浩1)李德泉2)
1)(南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院,南京210044)2)(國(guó)家氣象信息中心,北京100081)
為滿足氣象實(shí)時(shí)資料傳輸中大量氣象數(shù)據(jù)小文件的高時(shí)效傳輸需求,對(duì)其中的數(shù)據(jù)傳輸服務(wù)進(jìn)行優(yōu)化,提出一種基于實(shí)時(shí)網(wǎng)絡(luò)狀況的自適應(yīng)數(shù)據(jù)傳輸優(yōu)化方法。該方法采用優(yōu)化網(wǎng)絡(luò)傳輸協(xié)議并使用文件壓縮技術(shù),通過(guò)獲取網(wǎng)絡(luò)傳輸線路上的實(shí)時(shí)參數(shù),實(shí)時(shí)調(diào)整壓縮參數(shù)和網(wǎng)絡(luò)傳輸參數(shù)以優(yōu)化傳輸性能。在自適應(yīng)壓縮時(shí),通過(guò)試驗(yàn)分析和歸納,確立了氣象數(shù)據(jù)小文件標(biāo)準(zhǔn)為文件小于50 KB;根據(jù)網(wǎng)絡(luò)實(shí)時(shí)狀況,設(shè)計(jì)了基于實(shí)時(shí)網(wǎng)絡(luò)狀況自適應(yīng)調(diào)整壓縮等級(jí)的算法。在自適應(yīng)傳輸參數(shù)調(diào)優(yōu)中,研究了TCP緩沖區(qū)大小和TCP并發(fā)連接數(shù)在Grid FTP協(xié)議中的重要性,針對(duì)實(shí)時(shí)網(wǎng)絡(luò)狀況,分別設(shè)計(jì)了自適應(yīng)調(diào)整TCP緩沖區(qū)大小和TCP并發(fā)連接數(shù)的算法,算法提升傳輸性能65%。對(duì)以上提出各自適應(yīng)參數(shù)調(diào)整算法進(jìn)行試驗(yàn)驗(yàn)證表明,融合壓縮和網(wǎng)絡(luò)傳輸?shù)淖赃m應(yīng)調(diào)優(yōu)方法能顯著提升氣象小數(shù)據(jù)文件的傳輸性能近500倍。
氣象數(shù)據(jù);小文件;壓縮;傳輸優(yōu)化
氣象觀測(cè)資料作為各類(lèi)觀測(cè)的有效數(shù)據(jù)記錄,是對(duì)天氣過(guò)程進(jìn)行預(yù)測(cè)及對(duì)大氣活動(dòng)規(guī)律進(jìn)行研究的重要依據(jù),其有效交換是氣象業(yè)務(wù)和科研的基礎(chǔ)。目前,通過(guò)國(guó)內(nèi)通信系統(tǒng)、國(guó)際通信系統(tǒng)及同城服務(wù)系統(tǒng)組成的通信業(yè)務(wù)系統(tǒng),建立了臺(tái)站、省級(jí)、國(guó)家級(jí)3級(jí)資料傳輸與服務(wù)體系[1-2],該體系承擔(dān)絕大部分氣象觀測(cè)資料的傳輸任務(wù),實(shí)現(xiàn)了穩(wěn)定可靠、完整、及時(shí)地收集、存儲(chǔ)和共享實(shí)時(shí)氣象觀測(cè)資料。
近幾年,隨著氣象現(xiàn)代化業(yè)務(wù)的發(fā)展及精細(xì)化預(yù)報(bào)、短時(shí)臨近預(yù)報(bào)的不斷發(fā)展,對(duì)資料傳輸?shù)男畔⒘?、?zhǔn)確性和時(shí)效性不斷提出新要求。如何進(jìn)一步提高各類(lèi)數(shù)據(jù)傳輸?shù)臅r(shí)效性也一直是提升氣象業(yè)務(wù)服務(wù)能力的熱點(diǎn)問(wèn)題。
根據(jù)目前我國(guó)的業(yè)務(wù)現(xiàn)狀,數(shù)據(jù)傳輸與服務(wù)分為兩種典型情況:一種是大量的小數(shù)據(jù)文件傳輸與服務(wù),如區(qū)域自動(dòng)氣象站和雷達(dá)產(chǎn)品數(shù)據(jù)。對(duì)于自動(dòng)氣象站資料,區(qū)域自動(dòng)氣象站(全國(guó)約4萬(wàn))正常情況下為每小時(shí)上傳,國(guó)家級(jí)自動(dòng)氣象站未來(lái)將加密至分鐘級(jí)觀測(cè)并上傳,該類(lèi)型文件大小多為千字節(jié)量級(jí)。多普勒天氣雷達(dá)每次體掃實(shí)時(shí)生成約40種產(chǎn)品,每種雷達(dá)產(chǎn)品的數(shù)據(jù)量不等,按平均50 KB計(jì)算,以上數(shù)據(jù)每6 min生成1次。另一種情況是單個(gè)數(shù)據(jù)容量大,數(shù)據(jù)傳輸及服務(wù)往往需分割,如數(shù)值預(yù)報(bào)產(chǎn)品和衛(wèi)星數(shù)據(jù)等。數(shù)值預(yù)報(bào)產(chǎn)品中,歐洲中期天氣預(yù)報(bào)中心(ECWMF)1個(gè)時(shí)次的集合預(yù)報(bào)產(chǎn)品大約50 GB,其大氣集合預(yù)報(bào)模式(中國(guó)周邊區(qū)域)單個(gè)文件為330 MB。
數(shù)據(jù)傳輸服務(wù)需要解決兩個(gè)問(wèn)題:一是大量異構(gòu)文件的傳輸問(wèn)題。由于氣象部門(mén)采用的多種探測(cè)儀器、軟件系統(tǒng)和通信系統(tǒng),產(chǎn)生了不同文件類(lèi)型的數(shù)據(jù),比如文本文件、二進(jìn)制文件;以及不同數(shù)據(jù)內(nèi)容的文件,比如氣溫?cái)?shù)據(jù)或是降水?dāng)?shù)據(jù)。為了實(shí)現(xiàn)氣象數(shù)據(jù)在氣象各部門(mén)之間的共享,需要考慮異構(gòu)數(shù)據(jù)在網(wǎng)絡(luò)環(huán)境下的傳輸問(wèn)題。二是數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性問(wèn)題。由于本文重點(diǎn)關(guān)注大量氣象數(shù)據(jù)小文件,因此該問(wèn)題就轉(zhuǎn)變?yōu)槿绾螐暮A慨悩?gòu)文件中過(guò)濾出大量小文件并高效傳輸,以提高傳輸時(shí)效。通過(guò)對(duì)以上兩個(gè)問(wèn)題的解決方法分析,本文旨在給出一個(gè)整體的解決方案,充分利用整個(gè)氣象信息網(wǎng)絡(luò)上各個(gè)節(jié)點(diǎn)的計(jì)算機(jī)資源、存儲(chǔ)資源,發(fā)揮網(wǎng)絡(luò)資源的整體效益,進(jìn)而切實(shí)提高氣象部門(mén)的信息共享水平。
解決以上問(wèn)題首先要過(guò)濾大量異構(gòu)文件并進(jìn)行高效壓縮,其次要優(yōu)化網(wǎng)絡(luò)傳輸協(xié)議的參數(shù)設(shè)置,實(shí)現(xiàn)壓縮數(shù)據(jù)的快速傳輸。
由于氣象數(shù)據(jù)中存在大量異構(gòu)小文件,將小文件壓縮成一個(gè)大文件傳輸將有效減少輸入/輸出(I/O)訪問(wèn)次數(shù),將有效提高數(shù)據(jù)傳輸效能。數(shù)據(jù)壓縮技術(shù)一般分為兩類(lèi):無(wú)損壓縮和有損壓縮。無(wú)損壓縮要求經(jīng)壓縮還原后能產(chǎn)生精確的數(shù)據(jù)副本,有損壓縮則是以一定的精度損失換取較高的數(shù)據(jù)壓縮率。氣象數(shù)據(jù)傳輸過(guò)程中不可失真,擬采用基于LZO(Lempel Ziv Oberhumer)[3]算法的無(wú)損壓縮技術(shù)。
在氣象領(lǐng)域,提高數(shù)據(jù)傳輸時(shí)效的一個(gè)解決方案是建立高效的數(shù)據(jù)網(wǎng)格,通過(guò)Grid FTP部件實(shí)現(xiàn)網(wǎng)格環(huán)境中的數(shù)據(jù)傳輸任務(wù)。文獻(xiàn)[4-6]采用網(wǎng)格技術(shù)設(shè)計(jì)建立氣象數(shù)據(jù)網(wǎng)格環(huán)境,并將傳輸服務(wù)作為其核心部分,嘗試高效管理各類(lèi)氣象文件,從而使管理繁雜的氣象數(shù)據(jù)變得更加高效和穩(wěn)定。其中,文獻(xiàn)[6]給出了國(guó)家氣象計(jì)算網(wǎng)格的設(shè)計(jì)說(shuō)明。數(shù)據(jù)網(wǎng)格同樣可以應(yīng)用于氣象學(xué)領(lǐng)域[7-8],使用Globus Toolkit 4.0構(gòu)建網(wǎng)格服務(wù),通過(guò)GridFTP協(xié)議傳輸大規(guī)模氣象數(shù)據(jù),并大量使用了并行傳輸技術(shù)。
采用GridFTP并對(duì)其進(jìn)行傳輸優(yōu)化是常用方法。針對(duì)Grid FTP的研究主要分為兩個(gè)方面:一是修改Grid FTP協(xié)議本身的實(shí)現(xiàn)方式,GridFTP為開(kāi)發(fā)者提供了可以擴(kuò)展的接口[9],Tian等[10]描述了一個(gè)兼容遠(yuǎn)程內(nèi)存直接存?。≧DMA)的遠(yuǎn)程擴(kuò)展輸入輸出接口(RXIO),它基于Grid FTP中擴(kuò)展輸入輸出接口XIO系統(tǒng)設(shè)計(jì)實(shí)現(xiàn),兼容RDMA特性。試驗(yàn)結(jié)果顯示它能夠顯著提升Grid FTP性能,降低32%的網(wǎng)絡(luò)時(shí)延。Alberto等[11]通過(guò)優(yōu)化數(shù)據(jù)存儲(chǔ)接口(DSI)來(lái)體現(xiàn)如何讀寫(xiě)存儲(chǔ)系統(tǒng),并結(jié)合并發(fā)文件系統(tǒng)(MAPFS)設(shè)計(jì)了一個(gè)新的DSI。二是動(dòng)態(tài)調(diào)整Grid FTP協(xié)議的網(wǎng)絡(luò)參數(shù),文獻(xiàn)[12-13]提出了Grid FTP自動(dòng)參數(shù)配置機(jī)制,該機(jī)制利用網(wǎng)絡(luò)狀態(tài)試驗(yàn)結(jié)果來(lái)優(yōu)化TCP并發(fā)連接數(shù),如吞吐量和Grid FTP數(shù)據(jù)通道的往返時(shí)間。文獻(xiàn)[14-17]描述了如何將自適應(yīng)調(diào)整緩沖區(qū)大小機(jī)制整合到Grid-FTP中,以此來(lái)提升TCP性能。另外,OTN/WDM網(wǎng)絡(luò)并行傳輸優(yōu)化框架[18]可支持高速因特網(wǎng)。文獻(xiàn)[19-20]呈現(xiàn)了一組新模型——使用最低信息和最低開(kāi)銷(xiāo)來(lái)預(yù)測(cè)并發(fā)數(shù)和緩沖區(qū)大小的最優(yōu)值。
考慮到氣象數(shù)據(jù)中存在大量異構(gòu)小文件且要求傳輸過(guò)程中不失真,將小文件采用無(wú)損壓縮技術(shù)生成一個(gè)大文件傳輸將有效減少I(mǎi)/O訪問(wèn)次數(shù),并提高數(shù)據(jù)傳輸效能。
1.1 大量小文件的定義
1.1.1 文件大小閾值的設(shè)定
氣象數(shù)據(jù)文件大小多為2 KB~60 MB,可通過(guò)試驗(yàn)方法確定需要壓縮的文件大小閾值。根據(jù)氣象數(shù)據(jù)文件大小,分別考察了1 KB,10 KB,50 KB,100 KB,250 KB,500 KB和1000 KB共7種數(shù)據(jù),并分別為各種數(shù)據(jù)準(zhǔn)備了1000個(gè)和10000個(gè)文件組成的兩組數(shù)據(jù)。所有數(shù)據(jù)采用相同傳輸方法,計(jì)算性能提升百分比(圖1)。
圖1表明,兩組數(shù)據(jù)呈相同的變化趨勢(shì),可以得出將大量小文件壓縮為幾個(gè)有限的體積較大的文件,其傳輸效率會(huì)有很大提升。試驗(yàn)結(jié)果顯示,當(dāng)文件超過(guò)50 KB時(shí),其性能提升度明顯下降。因此,將數(shù)據(jù)文件低于50 KB的氣象數(shù)據(jù)文件定義為氣象數(shù)據(jù)小文件,傳輸前宜先進(jìn)行壓縮。
1.1.2 壓縮包文件數(shù)設(shè)定
壓縮技術(shù)對(duì)網(wǎng)絡(luò)傳輸?shù)挠绊懼饕瑑蓚€(gè)方面:壓縮/解壓時(shí)間和壓縮后的文件大小。壓縮技術(shù)對(duì)網(wǎng)絡(luò)傳輸性能提升在不同的網(wǎng)絡(luò)環(huán)境下不同。一般來(lái)說(shuō),網(wǎng)絡(luò)帶寬越小,壓縮技術(shù)對(duì)傳輸性能的提升越明顯。帶寬越大,網(wǎng)絡(luò)傳輸本身性能尚可,但仍需壓縮和解壓時(shí)間,總體性能是否提升有待考察。所以采用壓縮技術(shù)應(yīng)滿足以下條件:
式(1)中,tT為某組文件不壓縮時(shí)的傳輸時(shí)間,tzip為該組文件的壓縮時(shí)間,tZT為該組文件壓縮后的傳輸時(shí)間,tuzip為該組壓縮文件傳輸后的解壓時(shí)間。
小數(shù)據(jù)文件數(shù)量很多,在傳輸前將其壓縮為一個(gè)文件,然后進(jìn)行傳輸,最后接收端進(jìn)行解壓,期待提升整個(gè)文件的傳輸效率。壓縮時(shí)需要確定每個(gè)壓縮文件中所包含的文件數(shù)量。
圖1 不同大小文件壓縮后傳輸性能提升情況Fig.1 Different transmission performances with different file sizes
基于式(1),全部文件的傳輸時(shí)間表示為
式(2)中,N表示所有的文件數(shù)量,n表示每組文件數(shù)量,表示組數(shù),s為文件大小,Tc表示每個(gè)字節(jié)所需的壓縮時(shí)間(則每組壓縮時(shí)間為T(mén)cns),Td表示每個(gè)字節(jié)所需的解壓時(shí)間(每組解壓縮時(shí)間為T(mén)dns),r為壓縮倍數(shù)(壓縮后的文件大小為),Tt表示1個(gè)字節(jié)的傳輸時(shí)間,β為網(wǎng)絡(luò)時(shí)延,R表示其他開(kāi)銷(xiāo)。
最佳傳輸方案要求T(N,n,s)取最小值,因此基于上述公式對(duì)n求偏導(dǎo)得到其最小值,
由式(3)可知,需要確定β,Tc,Td和s才可確定每組的文件數(shù)n。其中,s為50 KB。使用ping命令確定β,參考LZO相關(guān)數(shù)據(jù)確定Tc和Td:25×10-3s≤β≤500×10-3s,0.241×10-7s/B≤Tc≤1.35×10-7s/B,0.9×10-8s/B≤Td≤1.23×10-7s/B。代入式(3),得
結(jié)果表明:n與文件總量密切相關(guān),氣象文件總量大,則n的取值區(qū)間也比較大。由圖1可知,當(dāng)批量傳輸文件時(shí),文件數(shù)少,傳輸性能高。因此,n的取值應(yīng)盡可能大,即減少壓縮包數(shù)量。
1.2 基于LZO的改進(jìn)壓縮算法
本文基于LZO算法[3],使用現(xiàn)有的lzop算法庫(kù),通過(guò)設(shè)置lzop命令的各個(gè)參數(shù)控制整個(gè)壓縮流程。lzop命令共有9個(gè)壓縮級(jí)別:級(jí)別1表示壓縮速度最快,但壓縮率最低;級(jí)別9表示壓縮速度最慢,但壓縮率最高。
自適應(yīng)的壓縮算法要根據(jù)網(wǎng)絡(luò)實(shí)時(shí)狀況調(diào)整壓縮級(jí)別。本算法使用往返時(shí)延(RTT)來(lái)判斷當(dāng)前網(wǎng)絡(luò)的擁塞狀況,比較當(dāng)前RTT和上一次測(cè)量的RTT,最終判斷是否需要改變壓縮等級(jí)。其中,當(dāng)需要增加壓縮等級(jí)時(shí),需要進(jìn)行多次傳輸進(jìn)行確認(rèn),以免出現(xiàn)瞬時(shí)網(wǎng)絡(luò)波動(dòng)現(xiàn)象,本算法設(shè)定該傳輸次數(shù)初始值為0,傳輸次數(shù)閾值為2。
算法分為兩個(gè)部分,其流程如圖2所示。流程圖左邊是主線程的壓縮數(shù)據(jù)文件,右邊是獲取實(shí)時(shí)優(yōu)化壓縮等級(jí)參數(shù)進(jìn)程。算法執(zhí)行中,實(shí)時(shí)測(cè)量RTT的值,將計(jì)算得出的壓縮等級(jí)L和當(dāng)前RTT值存入數(shù)據(jù)庫(kù),同時(shí)將保留一份到內(nèi)存中,以供主線程和下次計(jì)算過(guò)程使用。在主線程中,如果內(nèi)存中當(dāng)前壓縮等級(jí)為空,則使用lzop默認(rèn)的壓縮等級(jí)3來(lái)壓縮該組文件。其中,為了減少壓縮時(shí)間,采用了lzop最新支持的命令parallel進(jìn)行并行壓縮,其命令格式為$parallel lzop:::*.lzo。
圖2 自適應(yīng)壓縮算法流程圖Fig.2 Flow chart of adaptive compression algorithm
1.3 自適應(yīng)壓縮傳輸試驗(yàn)
試驗(yàn)的硬件環(huán)境設(shè)置為3臺(tái)服務(wù)器,其中服務(wù)器含有兩個(gè)網(wǎng)絡(luò)接口卡,即可以將服務(wù)器用作路由器,由此可以實(shí)現(xiàn)類(lèi)似路由器的配置,另外兩臺(tái)服務(wù)器通過(guò)該服務(wù)器互連。每個(gè)服務(wù)器包含dual 2.66-GHz Intel(R)Core(TM)處理器、2 GB 內(nèi)存和1000 Mbps的網(wǎng)絡(luò)接口卡(NIC)。數(shù)據(jù)傳輸采用Grid FTP服務(wù),使用默認(rèn)參數(shù)設(shè)定的Grid FTP傳輸協(xié)議,在保證傳輸協(xié)議和傳輸參數(shù)等相同的前提下評(píng)估自適應(yīng)數(shù)據(jù)壓縮算法。
試驗(yàn)數(shù)據(jù)為南京信息工程大學(xué)氣象臺(tái)氣溫、空氣濕度、土壤濕度等觀測(cè)數(shù)據(jù),大小為230 MB,其中小文件共194245個(gè)。共進(jìn)行3組試驗(yàn):試驗(yàn)A1傳輸過(guò)程中不使用壓縮技術(shù),試驗(yàn)A2傳輸數(shù)據(jù)前壓縮所有的小文件,試驗(yàn)A3傳輸過(guò)程中應(yīng)用自適應(yīng)壓縮算法。在3次試驗(yàn)中,保持了網(wǎng)絡(luò)傳輸參數(shù)的一致。每一組試驗(yàn)進(jìn)行10次操作,取平均值作為參考依據(jù)。其試驗(yàn)結(jié)果:試驗(yàn)A1傳輸時(shí)間為3425 s,試驗(yàn)A2為10 s,試驗(yàn)A3為7 s,試驗(yàn)A1和A2體現(xiàn)了應(yīng)用壓縮技術(shù)的優(yōu)勢(shì),試驗(yàn)A2和A3,其差距并不明顯,試驗(yàn)中僅相差3 s,但試驗(yàn)結(jié)果也說(shuō)明自適應(yīng)壓縮算法具有一定優(yōu)勢(shì)。
數(shù)據(jù)網(wǎng)格Globus平臺(tái)采用Grid FTP作為文件傳輸協(xié)議,是一個(gè)基于ftp的高性能、安全、可靠的數(shù)據(jù)傳輸協(xié)議。寬帶網(wǎng)CMAnet具有分布式傳輸、網(wǎng)絡(luò)帶寬低、網(wǎng)絡(luò)時(shí)延高等特點(diǎn)。本文采用NETEM工具模擬寬帶網(wǎng)CMAnet,設(shè)置網(wǎng)絡(luò)時(shí)延為30 ms,丟包率為1%,包重復(fù)率為1%,包損壞率為0.2%。該協(xié)議針對(duì)高帶寬廣域網(wǎng)進(jìn)行了優(yōu)化,提供了一些非常適合數(shù)據(jù)網(wǎng)格環(huán)境的服務(wù)[9,21-22]。其中,優(yōu)化并行傳輸和TCP緩沖區(qū)大小是有效提高傳輸效率的兩個(gè)重要方面。
2.1 并行傳輸和TCP緩沖區(qū)
為檢驗(yàn)并行傳輸和TCP緩沖區(qū)大小對(duì)傳輸性能的影響,本文設(shè)計(jì)了兩組試驗(yàn)來(lái)分別驗(yàn)證并行傳輸條數(shù)和緩沖區(qū)大小的優(yōu)化設(shè)置的可能性。兩組試驗(yàn)均在搭建的Globus平臺(tái)上,采用Grid FTP傳輸大小為10 MB的文件從一臺(tái)服務(wù)器傳輸?shù)搅硪慌_(tái)服務(wù)器。
試驗(yàn)結(jié)果表明,隨著并行流條數(shù)的增加,文件傳輸更加高效,但當(dāng)并行流條數(shù)超過(guò)5時(shí),傳輸時(shí)間趨于穩(wěn)定。
隨著TCP緩沖區(qū)不斷擴(kuò)大,文件傳輸也更加高效。但當(dāng)TCP緩沖區(qū)超過(guò)100 KB后,傳輸時(shí)間趨于平緩,且有增大的趨勢(shì)。這表明對(duì)于每次傳輸,TCP緩沖區(qū)大小都有一個(gè)最優(yōu)值,即BDP(帶寬-時(shí)延積)值,因此,傳輸前將TCP緩沖區(qū)大小設(shè)置為BDP變得非常必要。
TCP緩沖區(qū)和并行傳輸均消耗CPU和內(nèi)存資源。同時(shí),設(shè)置過(guò)多的并行流條數(shù)和過(guò)大的TCP緩沖區(qū),可能導(dǎo)致網(wǎng)絡(luò)擁塞。因此在改進(jìn)GridFTP的時(shí)候,需綜合考慮,合理分配各種資源,達(dá)到最優(yōu)化。
2.2 基于Grid FTP的自適應(yīng)參數(shù)調(diào)整算法
氣象網(wǎng)格中網(wǎng)絡(luò)環(huán)境經(jīng)常變動(dòng),帶寬和時(shí)延并不穩(wěn)定,而二者都對(duì)文件傳輸有明顯影響。因此,為了獲得理想性能,可以針對(duì)帶寬和時(shí)延進(jìn)行優(yōu)化,即根據(jù)當(dāng)前網(wǎng)絡(luò)狀況實(shí)時(shí)地改變網(wǎng)絡(luò)參數(shù)值。
2.2.1 自適應(yīng)TCP緩沖區(qū)調(diào)整試驗(yàn)
文獻(xiàn)[13]指出,當(dāng)TCP緩沖區(qū)大小設(shè)置為BDP(帶寬-時(shí)延積)的值時(shí),可達(dá)到最優(yōu)值。對(duì)于給定的鏈路,本文將TCP緩沖區(qū)大小設(shè)置為當(dāng)前BDP的值。
自適應(yīng)TCP緩沖區(qū)調(diào)整算法流程如圖3所示。該算法分為兩個(gè)部分:流程圖主線程采用ABUF(Auto-Negotiate Buffer Size)調(diào)整緩沖區(qū)大小,并實(shí)時(shí)計(jì)算BDP值。在保持其他網(wǎng)絡(luò)傳輸條件的一致性的前提下,本文通過(guò)兩組試驗(yàn)來(lái)驗(yàn)證自適應(yīng)TCP緩沖區(qū)調(diào)整的有效性,試驗(yàn)B1使用固定的TCP緩沖區(qū)傳輸數(shù)據(jù),即200 KB;試驗(yàn)B2是在傳輸過(guò)程中采用自適應(yīng)BDP調(diào)整算法。試驗(yàn)數(shù)據(jù)同1.3節(jié),試驗(yàn)結(jié)果如圖4所示。
圖3 自適應(yīng)TCP緩沖區(qū)調(diào)整算法流程圖Fig.3 Flow chart of adaptive TCP buffer size adjustment
圖4 自適應(yīng)TCP緩沖區(qū)調(diào)整試驗(yàn)結(jié)果Fig.4 Result of adaptive buffer size adjustment
由圖4可知,對(duì)于這兩組試驗(yàn),自適應(yīng)TCP緩沖區(qū)調(diào)整比固定緩沖區(qū)下傳輸性能有明顯提高。
2.2.2 自適應(yīng)TCP并發(fā)數(shù)設(shè)置試驗(yàn)
采用TCP并發(fā)傳輸技術(shù)可以進(jìn)一步提高網(wǎng)絡(luò)傳輸性能。如何得到最優(yōu)TCP連接數(shù),是TCP并發(fā)傳輸中的一個(gè)關(guān)鍵問(wèn)題。目前,已經(jīng)有了這方面的研究成果,如Grid FTP-APT算法[18]。該算法基于式(5)和式(6)[17]:
其中,N為T(mén)CP并發(fā)連接數(shù),W為每個(gè)TCP連接的緩沖區(qū)大小,B為鏈路瓶頸帶寬,R為T(mén)CP連接的往返時(shí)延,p*為鏈路丟包率。上式表明帶寬G會(huì)隨著N的數(shù)目增加而不斷增加,而N過(guò)大時(shí)將降低所獲取的帶寬G。
Chen等[18]指出,當(dāng)TCP連接數(shù)不斷增長(zhǎng)時(shí),傳輸性能將有極大值出現(xiàn),其最優(yōu)TCP連接數(shù)為10~30。當(dāng)TCP并發(fā)連接數(shù)增加時(shí),數(shù)據(jù)的整體傳輸速率隨之也提升,但到后期,數(shù)據(jù)傳輸時(shí)間趨于平穩(wěn)。另外,網(wǎng)絡(luò)測(cè)量為即時(shí)測(cè)量,網(wǎng)絡(luò)背景流量在時(shí)刻變化,傳輸時(shí)間有著極大的瞬時(shí)性,波動(dòng)較大。所以,并不能僅通過(guò)一次測(cè)量來(lái)判斷網(wǎng)絡(luò)狀況。針對(duì)這個(gè)問(wèn)題,GridFTP-APT作出以下假設(shè):使用1 s的時(shí)間傳輸數(shù)據(jù),所獲得的傳輸數(shù)據(jù)的值能夠準(zhǔn)確反映網(wǎng)絡(luò)狀況。
使用Grid FTP-APT得到最優(yōu)TCP連接數(shù)后,將在后面的所有傳輸過(guò)程中一直使用,假設(shè)網(wǎng)絡(luò)狀況穩(wěn)定,不會(huì)改變。然而,網(wǎng)絡(luò)實(shí)時(shí)流量變化使最優(yōu)TCP連接數(shù)不斷發(fā)生改變,因此,需要一種動(dòng)態(tài)算法,可以隨著網(wǎng)絡(luò)狀況的變化自適應(yīng)改變TCP并發(fā)連接數(shù),始終能夠保證得到較好的傳輸性能。
但如果TCP連接數(shù)過(guò)大,將導(dǎo)致網(wǎng)絡(luò)吞吐量下降,這是因?yàn)樵诳偞翱诖笮〔蛔兊那疤嵯?,每條TCP鏈接的窗口容量將會(huì)很小,容易造成某些鏈路發(fā)生超時(shí)、丟包、重傳等網(wǎng)絡(luò)狀況;同時(shí)Grid FTP服務(wù)器和客戶端用于處理TCP協(xié)議棧的開(kāi)銷(xiāo)增加。目前并沒(méi)有比較充分的研究成果,如何在多變的網(wǎng)絡(luò)環(huán)境中決定TCP并發(fā)連接數(shù)仍是一個(gè)有待解決的難題。
根據(jù)網(wǎng)絡(luò)實(shí)時(shí)狀況自適應(yīng)調(diào)整TCP并發(fā)連接數(shù)。其中,網(wǎng)絡(luò)實(shí)時(shí)狀況的量化方法是基于鏈路往返時(shí)延實(shí)現(xiàn)的,即實(shí)時(shí)獲取鏈路的RTT值。通過(guò)比較當(dāng)前網(wǎng)絡(luò)時(shí)延和上一次獲取的網(wǎng)絡(luò)時(shí)延,確定當(dāng)前網(wǎng)絡(luò)的狀況,進(jìn)而判斷當(dāng)前使用的TCP連接數(shù)是否需要更改。判斷準(zhǔn)則:若實(shí)時(shí)網(wǎng)絡(luò)時(shí)延降低10%,則將TCP并發(fā)連接數(shù)增長(zhǎng)20%;若實(shí)時(shí)網(wǎng)絡(luò)時(shí)延增長(zhǎng)5%,且滿足限定條件,則將TCP并發(fā)連接數(shù)減1[17];若實(shí)時(shí)網(wǎng)絡(luò)時(shí)延在這兩者之間,則維持當(dāng)前TCP并發(fā)連接數(shù)不變。
通過(guò)3組試驗(yàn)來(lái)驗(yàn)證自適應(yīng)TCP緩沖區(qū)調(diào)整的有效性:試驗(yàn)C1串行傳輸數(shù)據(jù),試驗(yàn)C2傳輸數(shù)據(jù)時(shí)使用固定的TCP并發(fā)連接數(shù)4,試驗(yàn)C3傳輸過(guò)程中采用自適應(yīng)TCP并發(fā)連接數(shù)自適應(yīng)調(diào)整算法。在3組試驗(yàn)中,保持其他網(wǎng)絡(luò)傳輸條件一致,即3組試驗(yàn)設(shè)置了相同的TCP緩沖區(qū)大小,三者使用了globus-url-copy命令將文件從客戶端傳輸?shù)椒?wù)器。試驗(yàn)數(shù)據(jù)仍然采用1.3節(jié)中的試驗(yàn)數(shù)據(jù)進(jìn)行傳輸試驗(yàn)。采用串行傳輸需10093 s,采用固定并行和自適應(yīng)并行傳輸分別為5134 s和3827 s,從試驗(yàn)結(jié)果可看出采用并行傳輸?shù)膬?yōu)勢(shì)。而對(duì)于固定并行傳輸和自適應(yīng)并行傳輸,其差距不明顯,但該試驗(yàn)結(jié)果仍可以說(shuō)明自適應(yīng)調(diào)整TCP并發(fā)連接數(shù)算法的優(yōu)越性。
本研究將整合基于LZO的改進(jìn)壓縮算法和自適應(yīng)傳輸參數(shù)調(diào)優(yōu)算法,設(shè)計(jì)一套整體的大量氣象小文件傳輸算法框架,并用試驗(yàn)加以驗(yàn)證,算法流程如圖5所示。在收到數(shù)據(jù)請(qǐng)求后,立即啟動(dòng)新線程,用于采集實(shí)時(shí)網(wǎng)絡(luò)狀況,并計(jì)算實(shí)時(shí)最優(yōu)緩沖區(qū)值、實(shí)時(shí)最優(yōu)TCP連接數(shù)和實(shí)時(shí)最優(yōu)壓縮等級(jí),并將其分成兩份,一份放入數(shù)據(jù)庫(kù)供后期統(tǒng)計(jì)使用,一份放入內(nèi)存中供主線程使用。需要說(shuō)明的是,壓縮過(guò)程和傳輸過(guò)程分屬于不同的線程,即存在壓縮線程和傳輸過(guò)程,讀寫(xiě)文件的路徑都為數(shù)據(jù)請(qǐng)求中指定的路徑,壓縮線程將壓縮后的文件放在相同路徑下,傳輸線程傳輸該路徑中的文件。
基于網(wǎng)格試驗(yàn)平臺(tái),將自適應(yīng)算法應(yīng)用于數(shù)據(jù)傳輸中。通過(guò)3組試驗(yàn)來(lái)驗(yàn)證自適應(yīng)優(yōu)化傳輸?shù)挠行裕涸囼?yàn)D1使用Grid FTP默認(rèn)參數(shù)傳輸未經(jīng)壓縮的文件,試驗(yàn)D2使用Grid FTP固定傳輸參數(shù)傳輸已壓縮的文件,其中TCP緩沖大小設(shè)為100 KB,TCP并發(fā)連接數(shù)設(shè)為4,LZO壓縮等級(jí)設(shè)為3,試驗(yàn)D3在傳輸過(guò)程中采用本文自適應(yīng)算法。在3組試驗(yàn)中,保持了其他網(wǎng)絡(luò)傳輸條件的一致,三者使用了globus-url-copy命令將文件從客戶端傳輸?shù)椒?wù)器。試驗(yàn)數(shù)據(jù)與1.3節(jié)中的試驗(yàn)數(shù)據(jù)一致。
試驗(yàn)D2相對(duì)于試驗(yàn)D1在性能上有明顯提升,由試驗(yàn)D1的3400 s降低到D2的10 s。但本文在此基礎(chǔ)上,針對(duì)本文特定應(yīng)用進(jìn)行深入研究,試驗(yàn)D3性能(7 s)相對(duì)于試驗(yàn)D2又有了進(jìn)一步的提升。
圖5 自適應(yīng)綜合傳輸算法流程Fig.5 Flow chart of combined adaptive transmission algorithm
本文以國(guó)家氣象數(shù)據(jù)網(wǎng)格為應(yīng)用背景,研究了如何高效傳輸大量氣象數(shù)據(jù)小文件,給出了一套整體優(yōu)化方案。具體表現(xiàn)在以下幾點(diǎn):
1)在分析各類(lèi)氣象文件種類(lèi)及其特性的基礎(chǔ)上,得到大量氣象數(shù)據(jù)小文件的限定范圍為小于50 KB。
2)根據(jù)網(wǎng)絡(luò)帶寬和往返時(shí)延(RTT)經(jīng)常變動(dòng)特性,設(shè)計(jì)基于實(shí)時(shí)計(jì)算帶寬-時(shí)延積(BDP)的自適應(yīng)TCP緩沖區(qū)大小和并發(fā)連接數(shù)的設(shè)置方法,并自適應(yīng)調(diào)整文件壓縮等級(jí)。
3)基于相同的試驗(yàn)環(huán)境和數(shù)據(jù),本文提出的氣象數(shù)據(jù)小文件傳輸方法與傳統(tǒng)方法相比,傳輸速度提升近500倍,特別是小文件壓縮傳輸帶來(lái)了顯著的傳輸性能提高。
[1] 李集明,熊安元.氣象科學(xué)數(shù)據(jù)共享系統(tǒng)研究綜述.應(yīng)用氣象學(xué)報(bào),2004,15(增刊Ⅰ):1-9.
[2] 高梅,接連淑,張文華.氣象科研數(shù)據(jù)共享系統(tǒng)建設(shè).應(yīng)用氣象學(xué)報(bào),2004,15(增刊Ⅰ):17-25.
[3] [2012-05-12].http:∥zh.wikipedia.org/wiki/LZO.
[4] 鄧?yán)?,王?guó)復(fù),孫超,等.基本氣象資料共享系統(tǒng)建設(shè).應(yīng)用氣象學(xué)報(bào),2004,15(增刊Ⅰ):33-38.
[5] 祝婷,李湘.WMO信息系統(tǒng)中氣象元數(shù)據(jù)的設(shè)計(jì)與實(shí)現(xiàn).應(yīng)用氣象學(xué)報(bào),2012,23(2):238-244.
[6] Ma Tinghuai,Ge Jian,Cao Hao,et al.Design and Implementation of Virtual Resources Management in Meteorology Grid.9th International Conference on Grid and Cooperative Computing(GCC),2010:58-63.
[7] 高峰,王國(guó)復(fù),喻雯,等.氣象數(shù)據(jù)文件快速下載服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).應(yīng)用氣象學(xué)報(bào),2010,21(2):243-249.
[8] 周錚嶸,王錚,何文春.分布式氣象元數(shù)據(jù)同步系統(tǒng)的探索研究.應(yīng)用氣象學(xué)報(bào),2010,21(1):121-128.
[9] Allcock W.Grid FTP:Protocol Extensions to FTP for the Grid∥Global Grid Forum.2003.
[10] Tian Y,Yu W K,Vetter J S.RXIO:Design and implementation of high performance RDMA-capable Grid FTP.Computers&Electrical Engineering,2012,38(3):772-784.
[11] Alberto S,María S P,Pierre G,et al.A Parallel Data Storage Interface to Gridftp∥Robert M,Zahir T.OTM Conferences(2),Lecture Notes in Computer Science.2006:1203-1212.
[12] Takeshi I,Hiroyuki O,Makoto I.Automatic Parameter Configuration Mechanism for Data Transfer Protocol Grid FTP.2006 International Symposium on Applications and the Internet(SAINT'06),2006:32-38.
[13] Thulasidasan S,F(xiàn)eng W,Gardner M K.Optimizing Grid FTP Through Dynamic Right-sizing.Proceedings of IEEE International Symposium on High Performance Distributed Computing,2003.
[14] Ma Teng,Luo Junzhou.Optimizing Large File Transfer on Data Grid.Lecture Notes in Computer Science,2005:455-460.
[15] Ito T,Ohsaki H,Imase M.On Parameter Tuning of Data Transfer Protocol Grid FTP in Wide-area Grid Computing.Proceedings of Second International Workshop on Networks for Grid Applications(Grid Nets 2005),2005:415-421.
[16] Ito T,Ohsakih I.Grid FTP-APT:Automatic Parallelism Tuning Mechanism for Data Transfer Protocol Grid FTP.Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid,2006:454-461.
[17] Patrick M,Ezra K,Martin S,et al.MNEMONIC:A Network Environment for Automatic Optimization and Tuning of Data Movement over Advanced Networks.Proceedings of 18th International Conference on Computer Communications and Networks,2009:1-7.
[18] Chen X,Jukan A.Optimized Parallel Transmission in OTN/WDM Networks to Support High-Speed Ethernet with Multiple Lane Distribution(MLD).IEEE/OSA Journal of Optical Communications and Networking(JOCN),2012:248-258.
[19] Yildirim E,Yin D P,Kosar T.Prediction of optimal parallelism level in wide area Data transfers.IEEE Trans Parallel Distrib Syst,2011,22(12):2033-2045.
[20] Yin D P,Yildirim E,Kulasekaran S,et al.A data throughput prediction and optimization service for widely distributed many-task computing.IEEE Trans Parallel Distrib Syst,2011,22(6):899-909.
[21] [2012-02-15].http:∥www.globus.org/datagrid/gridftp.html.
[22] Bresnahan J,Link M,Kettimuthu R,et al.Grid FTP Pipelining.Teragrid Conference,2007:1-6.
Adaptive Optimization in Small Size File Transmission of Massive Meteorological Data
Lu Yinghua1)Ma Tinghuai1)Cao Hao1)Li Dequan2)
1)(School of Computer&Software,Nanjing University of Information Science&Technology,Nanjing210044)
2)(National Meteorological Information Center,Beijing100081)
The data transfer and service architecture constructed by National Meteorological Information Center is the fundament for most meteorological data transmission.How to improve the timeliness of transmission of various data is a hot topic to enhance capabilities of meteorological services.
According to requirements of transmission performance of massive small files,transmission parameters are optimized.And a self-adapting data transmission method is proposed based on real-time network status,which emphasizes network transmission protocol and file compression.Compression parameters and network transmission parameters are adjusted in real-time operation.
Meteorological data include a great amount of heterogeneous small files,therefore compressing small files into a big file when being transformed will effectively reduce I/O accesses.First,50 KB is defined as the threshold for small meteorological data files through experiments.Then,by analyzing the file transfer time,the appropriate file amount in compressed packages is calculated to achieve the best transmission efficiency.Finally,considering the variability of network conditions and real-time network conditions,a selfadapting compression methods based on real-network is designed by means of real-time adjusting the compression level.This entire compression process is controlled by setting various parameters of lzop commands on the basis of the lzop algorithm library and the LZO algorithm.To achieve the goal of adjusting compression levels according to real-time network conditions,RTT(round trip time)is taken advantage of judging the current state of the network congestion.By comparing current RTT and previous RTT,changing the compression level or not is decided.
In network transmission optimization,conclusions are made that TCP buffer and parallel transmission will consume memory resources according to experiments in Globus platform.At the same time,more parallel streams and larger size of TCP buffers will result in network congestion.Then,the self-adapting adjustment algorithm of TCP buffer size and the concurrent connection number algorithm of TCP based on real-network parameters are designed.Finally,the entire transmission framework of massive small files is designed by combining self-adapting compression method and transmission parameters optimization.Complete experiments are carried out based on the integration of self-adapting algorithm,showing that proposed optimization methods can improve the transmission performance sharply.
meteorological data;small files;compression;transmission optimization
陸穎華,馬廷淮,曹浩,等.大量氣象數(shù)據(jù)小文件自適應(yīng)優(yōu)化傳輸.應(yīng)用氣象學(xué)報(bào),2014,25(5):629-637.
2013-11-07收到,2014-05-26收到再改稿。
江蘇省教育廳青藍(lán)工程中青年學(xué)術(shù)帶頭人項(xiàng)目“基于云計(jì)算的氣象數(shù)據(jù)共享平臺(tái)”,江蘇省“六大人才高峰”高層次人才項(xiàng)目(2012-WLW-022)
*通信作者,email:thma@nuist.edu.cn