999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Paxos的強(qiáng)一致性復(fù)制在天文數(shù)據(jù)存儲(chǔ)中的應(yīng)用研究*

2019-01-24 03:48:46劉應(yīng)波
天文研究與技術(shù) 2019年1期
關(guān)鍵詞:一致性

童 彬, 王 鋒, 劉應(yīng)波,2, 張 帆

(1.昆明理工大學(xué)云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南昆明 650500;2.云南省科學(xué)技術(shù)情報(bào)研究院,云南昆明 650051)

近幾年來(lái),我國(guó)天文觀測(cè)設(shè)備的研制取得了較大的進(jìn)展。以太陽(yáng)觀測(cè)為例,1 m新真空太陽(yáng)望遠(yuǎn)鏡(New Vacuum Solar Telescope,NVST)和光學(xué)/近紅外太陽(yáng)爆發(fā)探測(cè)儀(Optical and Near-Infrared Solar Eruption Tracer,ONSET)望遠(yuǎn)鏡已經(jīng)相繼投入觀測(cè)。其中,1 m太陽(yáng)望遠(yuǎn)鏡主要是通過(guò)焦面設(shè)備采集獲取太陽(yáng)光球和色球的高分辨率圖像。圖像用天文普適圖像傳輸系統(tǒng)(Flexible Image Transport System,F(xiàn)ITS)格式保存。以其中一個(gè)焦面設(shè)備的CCD(分辨率2 048×2 048)為例,每個(gè)像素存儲(chǔ)時(shí)使用16位編碼,則編碼后文件大小為8 MB。若要求設(shè)備每秒采集10幀,則采集速率為80 MB/s。當(dāng)4個(gè)焦面設(shè)備同時(shí)采集時(shí),采集數(shù)據(jù)的峰值可達(dá)320 MB/s。按平均日觀測(cè)時(shí)間7.5小時(shí)計(jì)算,每天觀測(cè)數(shù)據(jù)量達(dá)到8.24 TB。

為確保這些海量科學(xué)觀測(cè)資源的存儲(chǔ),傳統(tǒng)方法采用直接附加存儲(chǔ)、網(wǎng)絡(luò)附加存儲(chǔ)或存儲(chǔ)區(qū)域網(wǎng)絡(luò)技術(shù),通過(guò)廉價(jià)磁盤(pán)冗余陣列提高數(shù)據(jù)的安全性,但在實(shí)際應(yīng)用中會(huì)受到諸如無(wú)法實(shí)時(shí)擴(kuò)充空間、存儲(chǔ)速度受限于總線、多機(jī)共享困難等問(wèn)題的困擾。近幾年,分布式存儲(chǔ)系統(tǒng)領(lǐng)域出現(xiàn)了基于廉價(jià)硬件分布式存儲(chǔ)的系統(tǒng)構(gòu)架方法,在有效控制成本的前提下可靠地保存超過(guò)PB級(jí)總量的數(shù)據(jù)且具有良好的訪問(wèn)性能,為海量天文數(shù)據(jù)的存儲(chǔ)帶來(lái)了新的思路[1-2]。

在天文觀測(cè)系統(tǒng)中,采集工作站負(fù)責(zé)將焦面探測(cè)設(shè)備(如CCD)生成的數(shù)據(jù)提交至存儲(chǔ)系統(tǒng)。原始觀測(cè)圖像一般先緩存在工作站有限的內(nèi)存中,編碼后再盡快提交至存儲(chǔ)系統(tǒng),以免造成內(nèi)存的溢出。外掛式存儲(chǔ)通常由硬件機(jī)制保證數(shù)據(jù)的安全性,可靠性較高;而組成分布式存儲(chǔ)系統(tǒng)的廉價(jià)存儲(chǔ)節(jié)點(diǎn)平均失效率為0.034%[3],數(shù)據(jù)安全性能和數(shù)據(jù)恢復(fù)手段均比外掛式存儲(chǔ)設(shè)備復(fù)雜。為了彌補(bǔ)存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù)安全性的不足,只能通過(guò)復(fù)制手段把數(shù)據(jù)拷貝至多個(gè)節(jié)點(diǎn)中以確保存儲(chǔ)數(shù)據(jù)的安全性,而組成分布式存儲(chǔ)系統(tǒng)的硬件并不具有保證所有復(fù)制過(guò)程無(wú)差錯(cuò)的數(shù)據(jù)復(fù)制,因此每當(dāng)復(fù)制操作執(zhí)行之后還需確認(rèn)所有拷貝的存儲(chǔ)狀態(tài)。只有當(dāng)所有參與復(fù)制的節(jié)點(diǎn)均完成數(shù)據(jù)持久化存儲(chǔ)后才能確保最低的數(shù)據(jù)丟失概率,進(jìn)而使得工作站達(dá)到確認(rèn)存儲(chǔ)完成并安全釋放內(nèi)存的條件。為滿(mǎn)足釋放條件,復(fù)制操作必須具有確定數(shù)據(jù)達(dá)成一致性的能力。

復(fù)制操作過(guò)程中數(shù)據(jù)的多份冗余存儲(chǔ)在有效提高數(shù)據(jù)安全性的同時(shí),不可避免地增加了“確定存儲(chǔ)狀態(tài)”的復(fù)雜度。基于以太網(wǎng)構(gòu)建的分布式存儲(chǔ)系統(tǒng)存在消息丟失和復(fù)制兩種異常,在此條件下容忍分布式存儲(chǔ)中的所有錯(cuò)誤并達(dá)成一致性結(jié)果至少需要三輪信息交換。如何在分布式天文數(shù)據(jù)的存儲(chǔ)過(guò)程中,在保障觀測(cè)數(shù)據(jù)復(fù)制成功的同時(shí),能夠讓復(fù)制的數(shù)據(jù)副本一致是需要重點(diǎn)研究的問(wèn)題。

1 相關(guān)工作

軟件復(fù)制過(guò)程中的一致性相關(guān)算法一直以來(lái)都是該領(lǐng)域研究的熱點(diǎn)和難點(diǎn)。復(fù)制算法可分為事務(wù)復(fù)制、虛同步復(fù)制以及狀態(tài)機(jī)復(fù)制3種,事務(wù)復(fù)制方法的普適步驟是先復(fù)制,后同步,其同步(一致性達(dá)成)的方式選擇靈活,可以獲得最強(qiáng)的容錯(cuò)能力。

在高容錯(cuò)一致性達(dá)成算法方面,文[4-5]的Paxos算法被認(rèn)為是解決一致性最有效的算法,但實(shí)現(xiàn)也有一定困難,因此產(chǎn)生了其他一致性算法,例如Zap,Raft等。這些算法中最核心的Quorum商議理論被認(rèn)為是當(dāng)前高容錯(cuò)前提下解決一致問(wèn)題最通用的方法[6]。圍繞Quorum商議方法產(chǎn)生了很多各具特色的改進(jìn),例如文[7]在消息延遲數(shù)量上減少了一個(gè)輪次,文[8]將FastPaxos與ClassicalPaxos用于分布式提交方面,比經(jīng)典的2PC方法具有更強(qiáng)的容錯(cuò)能力。

常規(guī)的復(fù)制場(chǎng)景通常追求最小的復(fù)制完成時(shí)間,例如Isis協(xié)議可以實(shí)現(xiàn)至少一輪至多三輪消息交換即可完成復(fù)制;用于MySQL數(shù)據(jù)庫(kù)中日志復(fù)制的主從協(xié)議則更加簡(jiǎn)單高效,完全利用傳輸控制協(xié)議的有序特性實(shí)現(xiàn)有序單播,保證復(fù)制結(jié)果的一致。在這些研究中,復(fù)制延遲的減少都是以容錯(cuò)性為代價(jià)的,上述兩種算法對(duì)通訊及進(jìn)程產(chǎn)生異常的種類(lèi)都有苛刻限制。在實(shí)踐過(guò)程中,天文觀測(cè)數(shù)據(jù)存儲(chǔ)時(shí)對(duì)復(fù)制完成時(shí)間并不敏感,更加重視算法的容錯(cuò)能力與數(shù)據(jù)安全性。過(guò)分注重存儲(chǔ)完成時(shí)間,弱化提交完成時(shí)一致性結(jié)果的復(fù)制算法并不適用于天文場(chǎng)景。

文[8]提出的一系列基于Quorum商議方法都可以實(shí)現(xiàn)高容錯(cuò),但用于實(shí)現(xiàn)強(qiáng)一致性復(fù)制或者事務(wù)語(yǔ)義有一定前提。要實(shí)現(xiàn)分布式環(huán)境下的事務(wù),不但需要達(dá)成一致性的方法,而且為了保證并發(fā)事務(wù)執(zhí)行,必須要對(duì)讀寫(xiě)操作串行化。而基于Quorum商議的算法需要三輪消息交換與兩輪日志持久化才可以通過(guò)決議選出一個(gè)操作,用于實(shí)現(xiàn)串行化將過(guò)多地增加事務(wù)完成的時(shí)間,很難在延遲上達(dá)到常規(guī)的復(fù)制場(chǎng)景的需求,因此不可行。但天文觀測(cè)數(shù)據(jù)的特殊性在于存儲(chǔ)系統(tǒng)中的FITS文件不允許更改和刪除,且任意FITS文件之間兩兩獨(dú)立無(wú)任何相關(guān)性,因此可以避免發(fā)生并發(fā)寫(xiě)。無(wú)須考慮并發(fā)串行化的事務(wù)僅需對(duì)FITS文件持久化的結(jié)果達(dá)成一致即可,避免了引入有序多播機(jī)制的巨大開(kāi)銷(xiāo)。在此種特殊的場(chǎng)景下,事務(wù)復(fù)制方法變得具有可用性。

2 改進(jìn)的細(xì)粒度數(shù)據(jù)復(fù)制算法

定義1:數(shù)據(jù)復(fù)制原子性,如果整個(gè)FITS文件的復(fù)制結(jié)果只能是“提交”或“回滾(復(fù)制失敗)”,那么算法就滿(mǎn)足原子性。

在觀測(cè)數(shù)據(jù)存儲(chǔ)的場(chǎng)合下,回滾失敗的處理方法不適合FITS文件的實(shí)時(shí)存儲(chǔ)。在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)中,較多寫(xiě)操作在事務(wù)提交前僅執(zhí)行日志操作并改變內(nèi)存中對(duì)應(yīng)數(shù)據(jù),因此可以不考慮事務(wù)中已影響的記錄數(shù)目,一旦事務(wù)失敗執(zhí)行回滾即可。但在高速觀測(cè)數(shù)據(jù)流復(fù)制中執(zhí)行回滾操作,必將放棄大量已經(jīng)成功復(fù)制的數(shù)據(jù)塊,浪費(fèi)過(guò)多的輸入輸出資源,嚴(yán)重制約應(yīng)用,尤其是采用分布式存儲(chǔ)的場(chǎng)合。除此之外,回滾操作還將在一個(gè)短時(shí)間內(nèi)增加采集工作站內(nèi)存中緩存的觀測(cè)數(shù)據(jù)的總量,一旦數(shù)據(jù)來(lái)不及存儲(chǔ),數(shù)據(jù)丟失,將影響數(shù)據(jù)存儲(chǔ)的安全性。因此,在保證一致性的前提下恰當(dāng)減弱事務(wù)回滾發(fā)生的條件有利于FITS文件的存儲(chǔ),這是能夠保障天文數(shù)據(jù)觀測(cè)過(guò)程中數(shù)據(jù)存儲(chǔ)的有效方案,既保障了一定的存儲(chǔ)性能,又提高了數(shù)據(jù)存儲(chǔ)的安全性。

要減少事務(wù)回滾的發(fā)生概率,需要對(duì)原子性的要求作改進(jìn),使得異常發(fā)生情況下采集服務(wù)器(下稱(chēng)客戶(hù)端)有機(jī)會(huì)對(duì)提交進(jìn)行補(bǔ)償。為了處理這種問(wèn)題,論文改進(jìn)了數(shù)據(jù)復(fù)制方法,主要思路是借助減少數(shù)據(jù)提交粒度的方法。

定義2:一個(gè)FITS文件被切割成P個(gè)數(shù)據(jù)塊:[P1,...,Pn],對(duì)應(yīng)存儲(chǔ)狀態(tài)為[S1,...,Sn],每個(gè)狀態(tài) S ∈ { ″replicated″, ″unreplicated″}, ″replicated″: 表示數(shù)據(jù)塊i為已復(fù)制, 反之為未復(fù)制, 當(dāng)且僅當(dāng)?Pi∈[P1,...,Pn],Si=″replicated″,即所有塊都達(dá)成 “提交”決議時(shí),F(xiàn)ITS文件提交成功。

為了說(shuō)明復(fù)制操作的過(guò)程,設(shè)P值為2,即需要復(fù)制2份。參考Paxos算法(文中涉及的投票、編號(hào)等術(shù)語(yǔ)均來(lái)自該算法)[4-5],將復(fù)制操作(下稱(chēng)算法)中執(zhí)行的過(guò)程依邏輯劃分成5部分,每部分均接收并發(fā)送特定消息,這5部分為Client,Proposer,Acceptor,Learner與StorageNode。采集工作站中包含Client與Proposer兩個(gè)角色,二者只是邏輯上的劃分。算法實(shí)例的運(yùn)行最先由這兩個(gè)角色同時(shí)發(fā)起。Client發(fā)起實(shí)際的數(shù)據(jù)復(fù)制操作,向負(fù)責(zé)數(shù)據(jù)持久化的StorageNode傳輸FITS文件;Proposer與3個(gè)Acceptor配合發(fā)起對(duì)存儲(chǔ)結(jié)果的裁決,之后Acceptor,StorageNode與Learner這3部分之間發(fā)生一系列消息傳遞用于完成FITS數(shù)據(jù)的復(fù)制。圖1描述了整個(gè)消息傳遞與日志記錄的流程,復(fù)制算法詳細(xì)步驟如下:

步驟0:Client選定復(fù)制組[SN0,SN1,SN2],并決定主要拷貝所在的組[SN0,SN1],執(zhí)行主從復(fù)制; 同時(shí)向 Leader Proposer提交 BeginCommit([SN0,SN1],[SN0,SN1,SN2])消息;

步驟1a:Leader Proposer收到BeginCommit消息后,按照自己的日志選擇一個(gè)比所有已發(fā)起的投票號(hào)都要大的編號(hào),然后向所有的Acceptor發(fā)送Prepare(N,[SN0,SN1,SN2])消息,嘗試開(kāi)始編號(hào)為N的決議投票;

步驟1b:Acceptor1收到Prepare(N)消息后,如果沒(méi)有向別的進(jìn)程承諾過(guò)不表決小于N的投票,則向Leader Proposers回復(fù)Promise(N,V1)消息,V1表示Acceptor1承諾過(guò)的最大投票編號(hào)。同時(shí)Acceptor0與Acceptor2也執(zhí)行相同的邏輯;

步驟2a1:Leader Proposer收到半數(shù)以上Promise(N,Vx),x∈{0,1,2}的消息后,根據(jù)Promise消息中的(V0,V1,V2)值計(jì)算Max(V0,V1,V2),如果Leader Proposer處于正常流程,則應(yīng)滿(mǎn)足條件N=Max(V0,V1,V2),此時(shí)依據(jù)BeginCommit消息中指示的復(fù)制組,向所有組內(nèi)成員發(fā)送Prepare(N)消息;

步驟2a2:SN0收到Prepare消息后,在自身的存儲(chǔ)中查詢(xún)主從復(fù)制的執(zhí)行情況,如果已經(jīng)完成FITS文件的復(fù)制,則向所有的Acceptor廣播Accept(N,[P0,P1])消息,其中P0=P1=″replicated″。同時(shí)SN1與SN2也執(zhí)行相同的邏輯;

步驟2b:Acceptor1需要依據(jù)步驟1a中Prepare消息獲得的復(fù)制服務(wù)器列表,等待每份復(fù)制的完成向量SN x.[P0,P1],x∈{0,1,2}。從所有SN節(jié)點(diǎn)返回的復(fù)制完成向量可以判斷復(fù)制是否完全完成,但此處不必做判斷,只需將生成決議的結(jié)果向量r=[SN0.[P0,P1],SN1.[P0,P1],SN2.[P0,P1]],并通過(guò)消息Accepted(N,r)發(fā)送給Leader Proposer;

步驟3:Leader Proposer接收到半數(shù)以上的Acceptor發(fā)來(lái)的Accepted消息即可認(rèn)為已經(jīng)對(duì)提交結(jié)果達(dá)成一致,廣播一致結(jié)果至所有的SN和Client節(jié)點(diǎn)。

至此已達(dá)成對(duì)提交結(jié)果的一致性決策結(jié)果[P1,P2]。如果i∈{1,2},Pi=″unsuccessful″,則Client應(yīng)對(duì)復(fù)制失敗的數(shù)據(jù)塊進(jìn)行重試。重試的操作等價(jià)于重新執(zhí)行一次復(fù)制算法的實(shí)例。很多情況下該操作可以代替回滾,但要完全避免回滾發(fā)生是不可能的,例如,采集服務(wù)器硬件異常發(fā)生在FITS文件未完全提交的情況下,必須執(zhí)行回滾操作代替重試操作。如果不執(zhí)行回滾則永遠(yuǎn)不能達(dá)成含義為提交成功的一致結(jié)果,而且有可能導(dǎo)致存儲(chǔ)復(fù)制操作陷入循環(huán)。

由圖1可以看出,算法以Quorum商議①Q(mào)uorum商議,即大多數(shù)協(xié)商決策,一般認(rèn)為在對(duì)某個(gè)決議的過(guò)程中,某決議得到了超過(guò)半數(shù)的投票,即認(rèn)為通過(guò)。文中因算法上下文需要因此沿用該詞。為核心,結(jié)合主備復(fù)制的優(yōu)點(diǎn),保證了高效并發(fā)與強(qiáng)一致性。文件復(fù)制路徑由多主節(jié)點(diǎn)的主備復(fù)制算法決定,主節(jié)點(diǎn)故障時(shí)系統(tǒng)的性能損失較小。在一致性達(dá)成算法上,步驟1a與步驟1b沿用了Classic Paxos協(xié)議的第1輪過(guò)程,主要用于保證Quorum商議中的B3約束[5];步驟2a1與步驟2a2之間,設(shè)有一個(gè)上限時(shí)間,用于限制復(fù)制完成的時(shí)間。這兩步加入了復(fù)制過(guò)程與一致性算法之間的必要交互流程,在保證不破壞Quorum商議中可進(jìn)展條件的情況下計(jì)算FITS分片的持久化狀態(tài)向量。當(dāng)然由于Quorum商議方法可以支持完全異步的網(wǎng)絡(luò)模型,此處用于失效判定的算法選擇很多,例如累積失效檢測(cè)器[9],定長(zhǎng)失效檢驗(yàn)等方法都是可行的。

圖1 無(wú)異常情況下復(fù)制算法執(zhí)行路徑與一致性達(dá)成的過(guò)程Fig.1 Replication algorithm execution path and the consistency-reaching produce under no fault condition

3 算法性能分析

研究[10-11]表明,同時(shí)加強(qiáng)容錯(cuò)與一致性存在矛盾,更強(qiáng)的一致性約束與復(fù)制延遲也存在必然矛盾,復(fù)制延遲對(duì)訪問(wèn)性能有一定的影響。鑒于上述矛盾,算法設(shè)計(jì)時(shí)最重要的工作是根據(jù)具體的應(yīng)用場(chǎng)景,在容錯(cuò)性、一致性與延遲之間給出最優(yōu)的平衡[12-13]。

假設(shè)將FITS文件切分成兩部分,有N個(gè)StorageNode進(jìn)程,并且系統(tǒng)為容忍F個(gè)進(jìn)程失敗設(shè)立了2F+1個(gè)acceptor,在只將Prepare類(lèi)型的消息發(fā)送給F+1(acceptor中的大多)個(gè)acceptor的情況下,其日志延遲和消息延遲情況如表1。如果數(shù)據(jù)的持久化時(shí)間、日志持久化的耗時(shí)、消息的發(fā)送時(shí)間均相同,由表1可知消息延遲與日志延遲的總量為7,由于數(shù)據(jù)持久化過(guò)程與一致性達(dá)成過(guò)程可能并發(fā)執(zhí)行,最終由復(fù)制算法造成的延遲倍數(shù)在7~8之間(簡(jiǎn)稱(chēng)為放大系數(shù)),即1次復(fù)制操作比不使用復(fù)制操作帶來(lái)7~8倍的延遲,但從保障一致性的角度來(lái)看,即使不采用基于Quorum商議算法,使用傳統(tǒng)經(jīng)典的2PC方式,雖然能夠節(jié)省1次日志寫(xiě)入時(shí)間,但同樣有5~6倍的延遲,因此采用Quorum商議達(dá)到一致性的方式具有可行性。

算法在復(fù)制數(shù)據(jù)塊時(shí),僅要求采集工作站將數(shù)據(jù)提交至單臺(tái)存儲(chǔ)節(jié)點(diǎn),并稱(chēng)該節(jié)點(diǎn)為主節(jié)點(diǎn),再由主節(jié)點(diǎn)執(zhí)行后續(xù)的復(fù)制。此種方法稱(chēng)為主備復(fù)制,是被動(dòng)復(fù)制方式的一種。相比與其對(duì)應(yīng)的主動(dòng)復(fù)制,被動(dòng)復(fù)制算法在容錯(cuò)性上略弱[14]。

主動(dòng)復(fù)制中,由采集服務(wù)器直接傳輸數(shù)據(jù)至所有存儲(chǔ)節(jié)點(diǎn),就可以避免主備復(fù)制中由主節(jié)點(diǎn)失敗導(dǎo)致的后續(xù)問(wèn)題。假設(shè)復(fù)制份數(shù)為3,每臺(tái)機(jī)器失效的概率均為p,被動(dòng)復(fù)制異常的概率為p3+2p2+p,而主動(dòng)復(fù)制為p3。

為便于討論,假設(shè)發(fā)生異常后即回滾。設(shè)執(zhí)行復(fù)制所需的一致性開(kāi)銷(xiāo)為C,復(fù)制粒度為M,F(xiàn)ITS文件的大小為S,回滾產(chǎn)生的IO代價(jià)為M/2。

每次復(fù)制時(shí),異常可能帶來(lái)的IO代價(jià)為

其中,p,C,S均為常數(shù),M與異常可能帶來(lái)的IO代價(jià)成正比,與復(fù)制一個(gè)FITS文件的一致性開(kāi)銷(xiāo)成反比。通過(guò)實(shí)驗(yàn)測(cè)定失效概率p與一致性開(kāi)銷(xiāo)為C可確定復(fù)制粒度M的最優(yōu)值。

p和C與硬件有直接關(guān)系,需要在實(shí)際生產(chǎn)環(huán)境中測(cè)得,因此只能給出測(cè)定M的方法,無(wú)法給出一個(gè)表征M普適的常數(shù)。

表1 日志延遲和消息延遲Table 1 Delay caused by Log and Message-Passing

4 實(shí)驗(yàn)及討論

實(shí)驗(yàn)服務(wù)器集群拓?fù)浣Y(jié)構(gòu)如圖2,該集群由16臺(tái)搭載單塊SATA硬盤(pán)和一塊千兆網(wǎng)卡的存儲(chǔ)服務(wù)器充當(dāng)StorageNode角色,3臺(tái)同樣配置的服務(wù)器充當(dāng)Acceptor角色;1臺(tái)搭載6塊千兆網(wǎng)卡的采集工作站充當(dāng)Client和Proposer角色,向集群提交隨機(jī)生成的FITS文件并生成2份拷貝。分塊大小取4 MB,并發(fā)復(fù)制實(shí)例為節(jié)點(diǎn)數(shù)的兩倍共32個(gè),復(fù)制時(shí)間如圖3,上方曲線為達(dá)成一致性復(fù)制的時(shí)間,下方曲線為僅傳輸FITS文件所用的時(shí)間,二者比值時(shí)延均值在1.67左右,不到1 s,表明在存儲(chǔ)FITS文件的時(shí)候,可以同時(shí)通過(guò)引入一致性保障機(jī)制,保證分布式實(shí)時(shí)存儲(chǔ)的可行性,即在高速存儲(chǔ)和一致性要求之間進(jìn)行了有效的平衡。

復(fù)制算法使得分布式存儲(chǔ)系統(tǒng)在獲得一致性的同時(shí)讓訪問(wèn)延遲成為需要關(guān)注的性能參數(shù),減少同步延遲可以減少數(shù)據(jù)在采集工作站中緩存的時(shí)間,有利于在采集工作站發(fā)生單點(diǎn)故障的時(shí)候減少數(shù)據(jù)丟失的數(shù)量。另外,在一致性與延遲的矛盾中,文中算法傾向容錯(cuò)性較強(qiáng)的一致性達(dá)成方法,不可避免地增加了復(fù)制數(shù)據(jù)之間的一致性達(dá)成時(shí)間,也就決定了算法不適合KB級(jí)的小數(shù)據(jù)復(fù)制。但針對(duì)天文圖像數(shù)據(jù)的普遍大小MB級(jí)的情況,綜合考慮復(fù)制算法能夠?qū)﹀e(cuò)誤異常的處理,采用Quorum商議適合天文高速觀測(cè)數(shù)據(jù)存儲(chǔ)的場(chǎng)景。

圖2 實(shí)驗(yàn)環(huán)境設(shè)計(jì)Fig.2 Experimental environment

圖3 數(shù)據(jù)復(fù)制耗時(shí)與數(shù)據(jù)提交耗時(shí)的對(duì)比Fig.3 Time elapse comparison of replication operation and the commit operation

理論認(rèn)為,在不存在欺騙的異步網(wǎng)絡(luò)模型中能夠容忍所有異常的一致性算法最低需要交換3輪消息[10],本文描述的算法也使用了3輪,但是對(duì)于復(fù)制數(shù)據(jù)的大小不同,其影響程度不同。在外掛式存儲(chǔ)中延遲主要由機(jī)械硬盤(pán)的硬件性能決定,磁盤(pán)調(diào)度等算法因素造成的影響較小;但在分布存儲(chǔ)過(guò)程中,復(fù)制算法中的商議過(guò)程不但發(fā)生了3輪通訊還執(zhí)行4次(最少可減少到2次)記錄日志操作。系統(tǒng)在寫(xiě)入KB為單元的小數(shù)據(jù)時(shí),同樣的數(shù)據(jù)量需要更多的信息交換,對(duì)復(fù)制結(jié)果的商議過(guò)程耗時(shí)遠(yuǎn)遠(yuǎn)高于機(jī)械硬盤(pán)存儲(chǔ)數(shù)據(jù)的延遲,從而造成整體訪問(wèn)延遲成倍增加。而FITS文件的典型值處在4 MB以上時(shí),由于復(fù)制算法引入的通訊和傳輸延遲在整體延遲中所占比例減少,硬盤(pán)訪問(wèn)速度依舊為延遲的主要因素,通過(guò)分析和實(shí)驗(yàn)來(lái)看,兩倍的延遲在可容忍的范圍,可以采用訪問(wèn)延遲較低的固態(tài)硬盤(pán)作為數(shù)據(jù)復(fù)制暫存盤(pán),這樣能極大提高性能。

5 結(jié)束語(yǔ)

在上述對(duì)比實(shí)驗(yàn)和理論分析中,本文提出的算法具有如下特點(diǎn):(1)與主動(dòng)復(fù)制方法相比,降低了采集工作站的IO開(kāi)銷(xiāo),增加了復(fù)制階段發(fā)生錯(cuò)誤的概率,即減弱了可用性。(2)與經(jīng)典的2PC方法相比,增加了一定的延遲,獲得了容忍半數(shù)節(jié)點(diǎn)宕機(jī)的能力,即加強(qiáng)了可用性;(3)與直接寫(xiě)入外掛式存儲(chǔ)器相比,延遲較高,但放大系數(shù)在可接受的范圍內(nèi)。雖然相應(yīng)的改進(jìn)增加了延遲,但這些改進(jìn)更利于安全存儲(chǔ)FITS文件,在性能上完全可以滿(mǎn)足高速觀測(cè)數(shù)據(jù)可靠存儲(chǔ)的需要,具有實(shí)際應(yīng)用價(jià)值。

猜你喜歡
一致性
注重整體設(shè)計(jì) 凸顯數(shù)與運(yùn)算的一致性
遼寧教育(2022年19期)2022-11-18 07:20:42
關(guān)注減污降碳協(xié)同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
商用車(chē)CCC認(rèn)證一致性控制計(jì)劃應(yīng)用
注重教、學(xué)、評(píng)一致性 提高一輪復(fù)習(xí)效率
對(duì)歷史課堂教、學(xué)、評(píng)一體化(一致性)的幾點(diǎn)探討
IOl-master 700和Pentacam測(cè)量Kappa角一致性分析
基于CFD仿真分析的各缸渦流比一致性研究
ONVIF的全新主張:一致性及最訪問(wèn)控制的Profile A
方形截面Rogowski線圈的一致性分析
基于事件觸發(fā)的多智能體輸入飽和一致性控制
主站蜘蛛池模板: 2022精品国偷自产免费观看| 日韩不卡高清视频| 一级在线毛片| 欧美笫一页| 国产精品主播| 丁香婷婷激情网| 一区二区三区高清视频国产女人| 免费毛片a| 亚洲精品自产拍在线观看APP| 亚洲欧洲日本在线| 亚洲精品免费网站| 人人爽人人爽人人片| 国产伦片中文免费观看| 欧美成a人片在线观看| 欧美视频免费一区二区三区| 国产69精品久久久久妇女| 成人在线第一页| 91久久青青草原精品国产| 青青草原国产一区二区| 一本久道热中字伊人| 欧美日韩精品在线播放| 中文字幕一区二区视频| 日本不卡视频在线| 亚洲a级毛片| 日韩精品欧美国产在线| 九九九精品视频| 国产成人亚洲精品无码电影| 六月婷婷激情综合| 亚洲色图另类| 免费高清a毛片| 99精品在线看| 一本大道无码日韩精品影视| 国产男女免费完整版视频| 免费人成视网站在线不卡| 成年片色大黄全免费网站久久| 国产性生大片免费观看性欧美| 久久亚洲国产视频| 国产综合欧美| 色婷婷国产精品视频| 2021国产乱人伦在线播放| 就去色综合| 被公侵犯人妻少妇一区二区三区| 久久久精品国产亚洲AV日韩| 亚洲第一网站男人都懂| 国产福利影院在线观看| 亚洲日本精品一区二区| 国产乱论视频| 亚洲中久无码永久在线观看软件| 欧美色99| 国产成人精品午夜视频'| 欧美日韩在线成人| 国产欧美在线观看视频| 国产白浆一区二区三区视频在线| 91视频99| 亚洲欧美精品日韩欧美| 无码一区18禁| 91年精品国产福利线观看久久| 黄色污网站在线观看| 日韩人妻无码制服丝袜视频| 国产一级特黄aa级特黄裸毛片| 色欲综合久久中文字幕网| 中文字幕自拍偷拍| 久视频免费精品6| 欧美精品成人| 人妖无码第一页| 精品自拍视频在线观看| 国产精品真实对白精彩久久| 免费看的一级毛片| 亚洲精品自在线拍| 伊人久久影视| 国产精品视频导航| 不卡午夜视频| 午夜视频免费试看| 夜夜操国产| 亚洲人成影院午夜网站| 丰满的熟女一区二区三区l| 亚洲欧美另类日本| 日韩资源站| 99在线国产| 久久这里只精品热免费99| 尤物亚洲最大AV无码网站| 9cao视频精品|