• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種輕量級(jí)分布式塊存儲(chǔ)的QoS方法*

    2019-01-02 06:56:26王利朋胡明生賈志娟
    關(guān)鍵詞:令牌存儲(chǔ)系統(tǒng)限流

    王利朋 胡明生 賈志娟 張 玉

    (鄭州師范學(xué)院信息科學(xué)與技術(shù)學(xué)院 鄭州 450044)

    1 引言

    QoS(Quality of Service)即配額,為服務(wù)系統(tǒng)提供了針對(duì)不同用戶或者不同數(shù)據(jù)流的不同優(yōu)先級(jí)服務(wù)的能力。在計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域中,QoS能夠在滿足用戶需求的前提下,提供了避免網(wǎng)絡(luò)延遲和擁塞的能力[1~2];在電信領(lǐng)域,尤其在電話、電視、視頻會(huì)議等一些對(duì)服務(wù)質(zhì)量要求很高的多媒體服務(wù)領(lǐng)域,QoS能夠根據(jù)不同需求定制服務(wù),提供不同優(yōu)先級(jí)服務(wù)能力;在存儲(chǔ)領(lǐng)域,QoS能夠根據(jù)系統(tǒng)配置,將IO數(shù)據(jù)流按照優(yōu)先級(jí)進(jìn)行資源分配,提高了存儲(chǔ)的服務(wù)質(zhì)量[3~4]。

    云計(jì)算時(shí)代,資源調(diào)度是一項(xiàng)非常困難的研究課題,這是由于數(shù)據(jù)中心規(guī)模龐大、資源類型復(fù)雜、以及云計(jì)算構(gòu)件具有可變性和不可預(yù)測(cè)性[5]。作為云計(jì)算公有基礎(chǔ)設(shè)施之一的云存儲(chǔ),對(duì)于資源有限的場(chǎng)景來(lái)說(shuō),如何根據(jù)用戶對(duì)存儲(chǔ)性能的需求進(jìn)而為用戶提供滿足其需求的服務(wù)便成為一種重要的研究課題。一般QoS限定的對(duì)象有IOPS、帶寬、時(shí)延、抖動(dòng)、丟包率等,具體在分布式存儲(chǔ)領(lǐng)域,常用的主要是帶寬和IOPS,而限定的指標(biāo)主要有權(quán)重(weight)、預(yù)留(reservation)、上限(limit)。

    作為近年來(lái)熱門的統(tǒng)一分布式存儲(chǔ)系統(tǒng),Ceph已在科研領(lǐng)域得到廣泛關(guān)注。Ceph本質(zhì)上是一個(gè)分布式對(duì)象存儲(chǔ)系統(tǒng),它首次提出了一種通過(guò)計(jì)算來(lái)獲取存儲(chǔ)位置的數(shù)據(jù)分配的算法,稱為CRUSH算法,具有良好的容錯(cuò)自修復(fù)能力[6~8],與大多數(shù)存儲(chǔ)系統(tǒng)采用表結(jié)構(gòu)來(lái)維護(hù)數(shù)據(jù)到存放位置映射關(guān)系的實(shí)現(xiàn)不同[9~11],上述方法避免了因查詢?cè)獢?shù)據(jù)服務(wù)器而引入性能瓶頸的問(wèn)題,同時(shí)緩解了增刪存儲(chǔ)設(shè)備時(shí)帶來(lái)的數(shù)據(jù)遷移問(wèn)題。李翔對(duì)CRUSH算法和其對(duì)象存儲(chǔ)服務(wù)進(jìn)行了詳細(xì)的分析,指出了Ceph在擴(kuò)展性和可靠性方面,相對(duì)于現(xiàn)有的存儲(chǔ)系統(tǒng)具備較大的優(yōu)勢(shì)[12]。作為一個(gè)PB級(jí)的開(kāi)源系統(tǒng),Ceph已在工業(yè)圈得到廣泛應(yīng)用[13]。

    實(shí)現(xiàn)QoS的一般方法都是統(tǒng)計(jì)每個(gè)連接傳輸?shù)臄?shù)據(jù)量,然后根據(jù)預(yù)定義的流量額度對(duì)傳輸進(jìn)行控制[14]。Mrittika等提出一種分布式存儲(chǔ)中實(shí)現(xiàn)動(dòng)態(tài)QoS的方法[15],該方法首先確定存儲(chǔ)節(jié)點(diǎn)的能力,并度量達(dá)到目標(biāo)服務(wù)質(zhì)量所關(guān)聯(lián)的性能指標(biāo),然后動(dòng)態(tài)地確定分布式存儲(chǔ)集群中計(jì)算設(shè)備的配置信息以實(shí)現(xiàn)定制服務(wù)的目的,本方法通過(guò)調(diào)度物理層資源進(jìn)而動(dòng)態(tài)實(shí)現(xiàn)QoS。

    思科改進(jìn)了兩種分別稱為shaping和policing的流控方法,這兩種方法均是基于令牌桶算法。policing方法是將超過(guò)限制的流量直接舍棄,輸出的波形呈現(xiàn)出一種具有波峰的鋸齒,而shaping的方法是將數(shù)據(jù)直接緩存起來(lái),然后按照時(shí)間序列以一定速率發(fā)送出去,輸出的波形是一種平滑曲線[16]。這兩種方法作為一種網(wǎng)絡(luò)層資源調(diào)度算法,主要應(yīng)用于數(shù)據(jù)中心的帶寬控制。Ajay等[17]提出了一種分布式存儲(chǔ)系統(tǒng)中對(duì)權(quán)重、預(yù)留和上限進(jìn)行IO資源調(diào)度的dmClock算法,該算法能夠?qū)M足預(yù)留和上限的IO資源按照權(quán)重進(jìn)行資源調(diào)度。

    具體在云計(jì)算環(huán)境中,針對(duì)共享存儲(chǔ)設(shè)備的虛擬機(jī)不能規(guī)劃資源以及系統(tǒng)管理員不能為運(yùn)行同一服務(wù)的不同虛擬機(jī)分配共享資源的問(wèn)題,Ajay等[18]提出一種稱為SRP的IO資源分配方法,SRP可以將一組虛擬機(jī)劃分到一個(gè)邏輯組中,邏輯組又稱為pool,SRP能夠支持邏輯組級(jí)或虛擬機(jī)級(jí)別的權(quán)重、預(yù)留和上限的限定。在SSD的復(fù)合IO應(yīng)用場(chǎng)景中,當(dāng)多虛擬機(jī)共享SSD資源時(shí),存在資源利用率低的問(wèn)題,尤其在突發(fā)IO流應(yīng)用場(chǎng)景中,Yang等[19]提出了一種稱為GREM的方法,GREM將SSD作為一種二級(jí)緩存,將整個(gè)SSD切分長(zhǎng)期域和短期域,動(dòng)態(tài)調(diào)整長(zhǎng)期域中運(yùn)行的虛擬機(jī)的IO的預(yù)留,以更充分地調(diào)用SSD資源。

    由于分布式存儲(chǔ)系統(tǒng)存在集群節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)多樣化、資源調(diào)度復(fù)雜等問(wèn)題,實(shí)現(xiàn)能夠同時(shí)對(duì)IOPS和帶寬進(jìn)行輕量級(jí)資源調(diào)度的方法十分有必要,本文將針對(duì)這一問(wèn)題進(jìn)行相應(yīng)的研究。

    2 相關(guān)工作

    目前在分布式存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)QoS存在兩種可能的實(shí)現(xiàn)算法,分別是經(jīng)典令牌桶算法和dmClock算法[17],下面將分別對(duì)其進(jìn)行討論。

    經(jīng)典令牌桶算法實(shí)現(xiàn)分布式存儲(chǔ)QoS功能,原理就是通過(guò)監(jiān)督進(jìn)入存儲(chǔ)網(wǎng)絡(luò)端口的流量速率,對(duì)超出流量進(jìn)行懲罰,調(diào)配各客戶端IO,使IO輸出輸入性能在預(yù)設(shè)范圍內(nèi)。令牌桶中令牌會(huì)在后臺(tái)按照預(yù)設(shè)速度自動(dòng)添加,令牌桶具有最大容量限制,如果令牌桶中的令牌數(shù)超過(guò)了該最大容量,新添加的令牌將會(huì)溢出。需要說(shuō)明的是,令牌桶中令牌更新過(guò)程與限定IO過(guò)程一般是異步執(zhí)行的。

    經(jīng)典令牌桶算法的原理示意圖如圖1所示。

    圖1 令牌桶算法圖解

    經(jīng)典令牌桶算法一般實(shí)現(xiàn)在客戶端,一旦出現(xiàn)故障,只會(huì)影響當(dāng)前用戶的數(shù)據(jù)傳輸,而不會(huì)將故障傳播給其他用戶,另外算法復(fù)雜度低,且由于沒(méi)有在分布式存儲(chǔ)服務(wù)端節(jié)點(diǎn)引入額外操作,對(duì)底層存儲(chǔ)系統(tǒng)的性能幾乎無(wú)影響。

    然而由于會(huì)存在以下三個(gè)問(wèn)題,是無(wú)法直接將經(jīng)典令牌桶算法應(yīng)用到分布式存儲(chǔ)中來(lái)限定IOPS和帶寬。首先添加令牌流程依賴于系統(tǒng)時(shí)間,如果系統(tǒng)時(shí)間出現(xiàn)異常,會(huì)導(dǎo)致經(jīng)典令牌桶算法出現(xiàn)故障。其次在限定帶寬時(shí),一次IO可能會(huì)需要一批令牌,如果令牌數(shù)不能滿足本次IO需求,本次IO便會(huì)被阻塞,只有等到桶中生成足夠多令牌后,數(shù)據(jù)流才會(huì)恢復(fù)執(zhí)行,這一阻塞過(guò)程導(dǎo)致底層存儲(chǔ)資源不能得到有效使用,當(dāng)表現(xiàn)在上層客戶端時(shí),此時(shí)出現(xiàn)的現(xiàn)象就是IO劇烈抖動(dòng)。最后在限定帶寬時(shí),IO數(shù)據(jù)長(zhǎng)度并不固定,而經(jīng)典令牌桶算法存在最大容量限制,如果某次IO數(shù)據(jù)長(zhǎng)度超過(guò)令牌桶最大容量,則會(huì)導(dǎo)致本次IO因?yàn)椴粫?huì)獲得足夠令牌而無(wú)限期阻塞。

    為了解決分布式存儲(chǔ)資源調(diào)度問(wèn)題,近些年來(lái)提出了dmClock算法,能夠在分布式存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)Qos功能,且功能相對(duì)于經(jīng)典令牌桶算法更為強(qiáng)大。dmClock算法能夠?qū)Ψ植际酱鎯?chǔ)I∕O資源的三種指標(biāo)進(jìn)行限定,分別是:權(quán)重(weight,縮寫(xiě)w,客戶端占共享IO資源的比重)、預(yù)留(reservation,縮寫(xiě)r,客戶端獲得的最小IO資源)、上限(limit,縮寫(xiě)l,客戶端可獲得的最高IO資源)。例如在對(duì)存儲(chǔ)系統(tǒng)IOPS進(jìn)行限定時(shí),dmClock算法首先保證輸出IOPS的最小值,對(duì)于沒(méi)有超過(guò)最大IOPS的IO資源,按權(quán)重再重新進(jìn)行分配。

    dmClock算法主要步驟如下[20]:

    1)指定參數(shù)值,包括r、w和l,服務(wù)端據(jù)此計(jì)算出IO請(qǐng)求預(yù)期被處理的時(shí)間標(biāo)簽。

    2)服務(wù)端處理滿足r標(biāo)簽的請(qǐng)求。

    3)服務(wù)端處理滿足l標(biāo)簽請(qǐng)求前提下的w標(biāo)簽請(qǐng)求。

    這里的時(shí)間標(biāo)簽是指某個(gè)請(qǐng)求預(yù)期被服務(wù)器處理的時(shí)間戳,如果以qi表示客戶機(jī)i的指定參數(shù)值,表示客戶機(jī)i的第r個(gè)請(qǐng)求對(duì)應(yīng)的時(shí)間標(biāo)簽,則其計(jì)算公式如下所示:

    在應(yīng)用到分布式存儲(chǔ)領(lǐng)域時(shí),作為一種分布式調(diào)度算法,dmClock本身也存在一定問(wèn)題。首先dmClock算法需要實(shí)現(xiàn)在存儲(chǔ)系統(tǒng)服務(wù)端底層的數(shù)據(jù)分派模塊中,一旦該算法出現(xiàn)錯(cuò)誤,會(huì)導(dǎo)致整個(gè)存儲(chǔ)系統(tǒng)崩潰,導(dǎo)致數(shù)據(jù)丟失,影響系統(tǒng)可用性;其次dmClock算法需要依賴數(shù)據(jù)存儲(chǔ)端和客戶端協(xié)同進(jìn)行限流處理,算法復(fù)雜度高,會(huì)降低存儲(chǔ)系統(tǒng)的整體性能。

    3 算法優(yōu)化

    3.1 方案架構(gòu)

    提出一種開(kāi)源分布式存儲(chǔ)系統(tǒng)Ceph塊存儲(chǔ)的QoS方案,方案以改進(jìn)后的經(jīng)典令牌桶算法進(jìn)行實(shí)現(xiàn),能夠?qū)OPS和帶寬同時(shí)進(jìn)行限流。為了方便論述,新算法稱為dbstb算法(Distributed Block Storage based on Token Bucket,dbstb),新算法包含了IOPS限流和帶寬限流兩個(gè)部分。

    dbstb算法吸收了經(jīng)典令牌桶算法中的概念,令牌是控制IO是否執(zhí)行的標(biāo)記,令牌桶是存儲(chǔ)令牌的存儲(chǔ)池,令牌桶具有最大容量。為了方便論述,對(duì)幾個(gè)重要參數(shù)進(jìn)行標(biāo)記。

    1)限定速率V:限定單位時(shí)間內(nèi)發(fā)送數(shù)據(jù)的速度。

    2)令牌桶最大容量MAX:用于突發(fā)流量控制。

    3)時(shí)間間隔Interval:向令牌桶添加令牌的間隔時(shí)間。

    4)等待時(shí)間β:所需令牌不能滿足時(shí),IO阻塞的時(shí)間。

    為了使阻塞時(shí)間最小,同時(shí)盡可能使當(dāng)前令牌數(shù)滿足本次IO所需數(shù)目,β的最小值滿足以下條件:βmin=max{bs/V,Interval},其中 bs為本次IO的數(shù)據(jù)長(zhǎng)度。

    在進(jìn)行限流操作時(shí),假如需要n支令牌,首先判斷當(dāng)前令牌桶是否存在n支令牌,如果當(dāng)前令牌桶中令牌數(shù)少于n,則本次IO將會(huì)被阻塞,阻塞時(shí)間為β。如果當(dāng)前令牌桶中令牌數(shù)等于或超過(guò)n,則從中取出n支令牌,并允許本次IO執(zhí)行。在限流的同時(shí),令牌桶中令牌添加過(guò)程作為后臺(tái)線程異步執(zhí)行,每隔1/Interval秒向令牌桶中添加V×Interval支令牌。如果令牌桶中的令牌數(shù)超過(guò)了MAX,新添加令牌將會(huì)溢出,也就是說(shuō)令牌桶填滿令牌的時(shí)間是由令牌桶最大容量、令牌填充速度和令牌流出速度三個(gè)方面共同決定的。

    dbstb算法具備一定的應(yīng)對(duì)突發(fā)IO洪流的作用,也就是允許某種程度的突發(fā)傳輸。在存儲(chǔ)領(lǐng)域,這種場(chǎng)景包括了開(kāi)機(jī)風(fēng)暴等。具體在dbstb算法中,是通過(guò)MAX參數(shù)進(jìn)行控制。

    需要說(shuō)明的是,對(duì)于不同限流場(chǎng)景,令牌對(duì)應(yīng)的指標(biāo)并不相同,一般以字節(jié)數(shù)、比特?cái)?shù)或IO次數(shù)等為目標(biāo)對(duì)象。例如在限定IOPS場(chǎng)景中,若IOPS上限為100,此時(shí)一次IO對(duì)應(yīng)了一支令牌。若限定此時(shí)令牌桶最大大小為120,在對(duì)客戶IO進(jìn)行限定時(shí),dbstb算法保證每秒向令牌桶中添加100支令牌,如果桶中令牌數(shù)量超過(guò)120,生成的令牌將會(huì)被丟棄。將令牌桶最大容量設(shè)置為120,表示允許最大為120 IOPS的IO突發(fā)洪流。當(dāng)用戶每發(fā)送一次IO,令牌桶中令牌減少1,如果令牌桶中令牌為空,則本次IO就會(huì)被阻塞一定時(shí)間。dbstb算法在限定帶寬時(shí),此時(shí)一支令牌對(duì)應(yīng)1Byte。如果當(dāng)前IO的數(shù)據(jù)長(zhǎng)度為100Bytes,則必須要從令牌桶中取100支令牌才能允許本次IO繼續(xù)執(zhí)行。

    dbstb算法主要是對(duì)Ceph塊存儲(chǔ)進(jìn)行IOPS和帶寬的上限控制,且對(duì)讀寫(xiě)操作分別進(jìn)行限定,需要說(shuō)明的是本研究對(duì)混合讀寫(xiě)操作同樣適用。

    dbstb算法對(duì)Ceph進(jìn)行適配時(shí),會(huì)為每一個(gè)卷操作分別定義四個(gè)令牌桶,分別為讀IOPS令牌桶、寫(xiě)IOPS令牌桶、讀帶寬令牌桶和寫(xiě)帶寬令牌桶。在Ceph中,用戶可以為指定卷設(shè)定讀寫(xiě)操作對(duì)應(yīng)的IOPS和帶寬上限值,限定值作為卷屬性被存儲(chǔ)起來(lái),這樣即使限流模塊出現(xiàn)故障,用戶配置也不會(huì)丟失。Ceph中有相應(yīng)的默認(rèn)配置參數(shù),也就是模板參數(shù),用戶也可以不用顯式設(shè)定對(duì)應(yīng)的選項(xiàng)值。dbstb算法對(duì)應(yīng)的模板參數(shù)包括讀IOPS限定值riops、讀帶寬限定值rbw、寫(xiě)IOPS限定值wiops、寫(xiě)帶寬限定值wbw以及QoS開(kāi)關(guān)選項(xiàng)sqos,其中sqos∈{True,F(xiàn)alse},True代表開(kāi)啟 QoS,F(xiàn)alse代表關(guān)閉QoS。

    在將dbstb算法適配到Ceph時(shí),創(chuàng)建卷時(shí)候,首先讀取集群限流模板參數(shù){riops,rbw,wiops,wbw,sqos},然后將模板參數(shù)作為卷屬性存儲(chǔ)到存儲(chǔ)集群中。刪除卷的時(shí)候,不需要引入額外的操作,Ceph原始流程會(huì)刪除限流參數(shù)信息。在修改限流參數(shù)時(shí),Ceph提供了相應(yīng)的操作接口,可方便修改限流配置信息。

    在讀寫(xiě)卷數(shù)據(jù)時(shí),卷對(duì)應(yīng)的限流配置會(huì)從底層存儲(chǔ)中讀取上來(lái),并用這些值初始化對(duì)應(yīng)的令牌桶。在基于dbstb算法對(duì)卷數(shù)據(jù)讀寫(xiě)IO執(zhí)行限流操作時(shí),步驟如下所示。

    1)讀取卷限流配置,如果不存在,則從模板參數(shù)中獲取,并以卷屬性形式寫(xiě)入到后端存儲(chǔ)中。

    2)判斷sqos是否為True,如果為False跳至第五步。

    3)基于dbstb算法IOPS限定步驟對(duì)IOPS執(zhí)行限流。

    4)基于dbstb算法帶寬限定步驟對(duì)帶寬執(zhí)行限流。

    5)將IO數(shù)據(jù)下發(fā)至底層存儲(chǔ)中。

    其中步驟3)和步驟4)將會(huì)在后面兩節(jié)中分別進(jìn)行闡述。

    卷限流模塊實(shí)現(xiàn)在Ceph的讀寫(xiě)API接口中,以Ceph 10.2.3為例,塊存儲(chǔ)讀寫(xiě)數(shù)據(jù)的API接口如表1所示。執(zhí)行成功一次API函數(shù),對(duì)存儲(chǔ)系統(tǒng)來(lái)說(shuō),就是執(zhí)行成功一次IO操作,此時(shí)便對(duì)應(yīng)了1個(gè)IOPS。如果用戶在1s內(nèi)成功調(diào)用10次IO函數(shù),此時(shí)存儲(chǔ)系統(tǒng)端的測(cè)出的IOPS便是10。對(duì)帶寬而言,則是對(duì)應(yīng)于這些API接口函數(shù)中單位時(shí)間中數(shù)據(jù)塊累加長(zhǎng)度。本文在對(duì)IOPS和帶寬進(jìn)行限定時(shí),需要在這些接口函數(shù)中進(jìn)行實(shí)現(xiàn),需要說(shuō)明的是在對(duì)帶寬限定時(shí),為了減少性能抖動(dòng),需要分塊操作后執(zhí)行帶寬限流操作。

    表1 Ceph的RBD端讀寫(xiě)接口

    3.2 dbstb限定IOPS流程

    客戶端在每發(fā)送一次IO,便需要在IOPS令牌桶中申請(qǐng)一支令牌,如果申請(qǐng)不到,本次IO便會(huì)被阻塞,直到獲取到足夠令牌后,本次IO才會(huì)恢復(fù)執(zhí)行。

    dbstb算法限定IOPS流程中更新令牌的算法如下所示:

    其中:MAXiops=αiops×Viops,MAXiops代表IOPS令牌桶中令牌的最大容量,αiops主要用于應(yīng)對(duì)IO洪峰,αiops≥1。Tiops(i)代表第i次IO操作時(shí)令牌桶中的令牌數(shù)量,另外令Tiops(1)=0。Viops為IOPS限定值,代表向令牌桶中添加令牌的速度。Interval代表本次IO操作與上一次IO操作之間的時(shí)間差,以秒為單位,第一次迭代時(shí),該數(shù)值為1。

    dbstb算法限定IOPS的算法步驟如下所示。

    1)判斷是否開(kāi)啟QoS功能,如果沒(méi)有,則跳轉(zhuǎn)至最后一步繼續(xù)執(zhí)行。

    2)根據(jù)式(2)更新IOPS令牌桶中令牌數(shù)量。

    3)判斷IOPS令牌桶中令牌數(shù)是否為0,如果是,則休眠β秒后,返回步驟2)繼續(xù)執(zhí)行。

    4)IOPS令牌桶中令牌數(shù)減1。

    5)將本次IO下發(fā)至底層存儲(chǔ)系統(tǒng)中。

    當(dāng)令牌桶中元素個(gè)數(shù)為0時(shí),則睡眠 βs,β≥max{bs/Viops,Interval}。如果 β 過(guò)大,令牌桶中令牌消耗完后,會(huì)導(dǎo)致客戶端的IO在βs內(nèi)下發(fā)不下去,進(jìn)而導(dǎo)致IO出現(xiàn)性能抖動(dòng),為了避免這種情況,一般設(shè)置 β≤1。

    迭代剛開(kāi)始時(shí),也就是i=1時(shí),給定Viops,Tiops(1)初始化為0,此時(shí) Interval初始化為1,一般將αiops=1.2,β=1,此時(shí) MAXiops=1.2Viops。

    3.3 dbstb限定帶寬流程

    dbstb算法在對(duì)帶寬進(jìn)行限流時(shí),一個(gè)Byte對(duì)應(yīng)一支令牌,每發(fā)送m Bytes的數(shù)據(jù),便需要m支令牌,否則便會(huì)阻塞IO,一直等到令牌桶中生成所需的令牌數(shù)為止。需要說(shuō)明的是,與IOPS限定策略不同,帶寬限定策略是在分布式存儲(chǔ)讀寫(xiě)接口函數(shù)完成分片之后,在對(duì)每片數(shù)據(jù)下發(fā)IO的時(shí)候再執(zhí)行帶寬控制流程。

    dbstb算法限定帶寬流程中令牌桶更新步驟與IOPS令牌桶更新的策略類似,其更新算法如下所示。

    其中bs(i+1)為第i+1次迭代時(shí)IO數(shù)據(jù)的長(zhǎng)度,Tbw(i)代表第i次迭代時(shí)帶寬令牌桶中的令牌數(shù)量,Vbw表示帶寬限定值,Interval代表本次IO操作與上一次IO操作之間的時(shí)間差,以秒為單位,第一次迭代時(shí),該數(shù)值為1。abw主要用于IO洪峰,αbw≥1。

    需要說(shuō)明的是,帶寬令牌桶最大容量并不是固定的,每次迭代時(shí)令牌桶最大容量都是變化的。這是由于如果某次IO的數(shù)據(jù)長(zhǎng)度超過(guò)了令牌桶最大容量,本次IO操作將會(huì)永遠(yuǎn)無(wú)法獲得足夠令牌數(shù),導(dǎo)致本次IO無(wú)限阻塞。為了解決該問(wèn)題,帶寬令牌桶最大容量不是固定的,而是根據(jù)數(shù)據(jù)塊大小和Vbw的變化而動(dòng)態(tài)變化的。需要說(shuō)明的是,如果IO數(shù)據(jù)塊大小波動(dòng)較大,就會(huì)導(dǎo)致令牌桶最大容量變化劇烈,進(jìn)而導(dǎo)致上層IO性能劇烈抖動(dòng)。另外如果本次IO數(shù)據(jù)量大,就會(huì)導(dǎo)致需求令牌數(shù)較多,進(jìn)而導(dǎo)致阻塞時(shí)間長(zhǎng),從而使得下層存儲(chǔ)資源一直處于空閑狀態(tài)。綜合上述兩種原因,需要先對(duì)數(shù)據(jù)塊進(jìn)行分片,然后再執(zhí)行帶寬控制策略。

    dbstb算法限定帶寬的算法步驟如下所示。

    1)IO數(shù)據(jù)塊按固定大小進(jìn)行分片。

    2)依次遍歷分片數(shù)據(jù),并根據(jù)式(3)更新帶寬令牌桶中令牌數(shù)量。

    3)判斷當(dāng)前令牌桶中令牌數(shù)是否滿足所需數(shù)量,不滿足則阻塞。

    4)帶寬令牌桶減去所需的令牌數(shù)。

    5)向底層存儲(chǔ)下發(fā)數(shù)據(jù),判斷是否遍歷完所有分片數(shù)據(jù),如果沒(méi)有,則返回步驟2)繼續(xù)執(zhí)行。

    4 性能分析

    4.1 可用性分析

    在將dbstb算法適配到Ceph中時(shí),可能會(huì)出現(xiàn)由于芯片故障或者惡意軟件等原因?qū)е孪到y(tǒng)時(shí)間被修改的情形,這樣會(huì)導(dǎo)致分布式存儲(chǔ)軟件Ceph出現(xiàn)故障而中斷業(yè)務(wù),影響系統(tǒng)的可用性。本文新提出的dbstb算法是基于一定時(shí)間間隔來(lái)更新令牌的,實(shí)現(xiàn)中是以開(kāi)機(jī)時(shí)間進(jìn)行計(jì)時(shí),并不是采用系統(tǒng)時(shí)間,這樣也就意味著即使系統(tǒng)時(shí)間被惡意篡改,也不會(huì)影響算法的正常執(zhí)行流程。

    dbstb算法只在當(dāng)前會(huì)話空間中生效,不同會(huì)話之間是相互獨(dú)立的,這樣也就意味著新算法僅對(duì)當(dāng)前連接有效,一旦限流模塊出現(xiàn)故障并導(dǎo)致連接斷開(kāi),再次重連后,dbstb算法重置系統(tǒng)環(huán)境并繼續(xù)執(zhí)行限流操作,故障不會(huì)傳遞給其他連接,同時(shí)也不會(huì)影響重連后數(shù)據(jù)操作流程。

    dbstb算法會(huì)在創(chuàng)建和打開(kāi)卷時(shí)進(jìn)行初始化,若當(dāng)前卷正在使用過(guò)程中,用戶重新設(shè)置算法相關(guān)參數(shù),設(shè)置會(huì)立即生效,這一過(guò)程無(wú)須重啟服務(wù),不會(huì)影響正常的業(yè)務(wù)流程,提高了存儲(chǔ)系統(tǒng)的可用性。

    4.2 穩(wěn)定性分析

    一般情況下,上層客戶端一般會(huì)通過(guò)異步或同步IO模型向存儲(chǔ)系統(tǒng)發(fā)送數(shù)據(jù)。當(dāng)使用異步模型發(fā)送IO數(shù)據(jù)時(shí),使用經(jīng)典令牌桶算法或某些改進(jìn)算法在進(jìn)行限流操作時(shí),就會(huì)出現(xiàn)IO抖動(dòng)問(wèn)題,影響分布式存儲(chǔ)系統(tǒng)IO性能的穩(wěn)定性。

    由于IOPS和帶寬之間存在一定的對(duì)應(yīng)關(guān)系,也就是 IOPS×bs=BandWidth,當(dāng)同時(shí)對(duì)IOPS和帶寬進(jìn)行限定時(shí),某一時(shí)刻可能只有一項(xiàng)指標(biāo)在起作用。例如塊大小為4K,IOPS限定為50,帶寬設(shè)定為512KB∕s,IOPS換算出對(duì)應(yīng)的帶寬值是200KB∕s,取其最小值生效,顯然此時(shí)只有IOPS限定值起作用。為了方便論述,下文進(jìn)行分析時(shí),將以IOPS為例進(jìn)行說(shuō)明,帶寬的分析類似。

    當(dāng)客戶端異步IO引擎一次下發(fā)的IO數(shù)量Num剛超過(guò)2Viops時(shí),檢測(cè)出的存儲(chǔ)系統(tǒng)IOPS數(shù)值會(huì)出現(xiàn)0、2Viops、0、2Viops…的劇烈抖動(dòng)現(xiàn)象,下面將對(duì)此現(xiàn)象進(jìn)行分析。經(jīng)典令牌桶算法進(jìn)行IOPS限定時(shí),執(zhí)行一次IO操作,便會(huì)消耗掉令牌桶中的一支令牌,如果當(dāng)前令牌桶中沒(méi)有令牌,那么IO操作便會(huì)被阻塞。若異步IO一次性下發(fā)的IO請(qǐng)求數(shù)超過(guò)了令牌添加速度的兩倍,必將會(huì)導(dǎo)致某一時(shí)間段內(nèi)令牌桶中令牌數(shù)不能滿足本次IO的需求量,進(jìn)而阻塞IO,導(dǎo)致這一時(shí)間段內(nèi)測(cè)量出的IOPS為0。此外由于經(jīng)典令牌桶算法具有保證IOPS平均值等于Viops的特性,因此,實(shí)時(shí)測(cè)試結(jié)果便會(huì)出現(xiàn)上述所看到的劇烈抖動(dòng)現(xiàn)象。

    實(shí)際情況中,上層客戶端一次性下發(fā)的IO數(shù)量都在τ=128以下,也就是Num≤τ,下面證明當(dāng)Viops>(τ/2)時(shí),則不會(huì)出現(xiàn)這種劇烈抖動(dòng)現(xiàn)象。

    定理1:Num=λViops,Num∈N ,Viops≥0,當(dāng)Num≤τ而且Viops>(τ/2)時(shí),不會(huì)出現(xiàn)劇烈抖動(dòng)現(xiàn)象。

    證明:由前面分析可知,若使性能不出現(xiàn)抖動(dòng),應(yīng)滿足0<λ<2,下面按不同情況進(jìn)行分析。

    當(dāng)0<λ≤1時(shí),此時(shí) Num≤Viops,可以得知令牌桶添加令牌的速度大于等于用戶一次性下發(fā)的IO數(shù)量,用戶下發(fā)的IO能夠一次性得到處理,此時(shí)不會(huì)出現(xiàn)劇烈抖動(dòng)現(xiàn)象。

    綜上可知,當(dāng) Num≤τ而且Viops>(τ/2)時(shí),不會(huì)出現(xiàn)劇烈抖動(dòng)現(xiàn)象。為避免出現(xiàn)劇烈抖動(dòng)現(xiàn)象,推薦IOPS上限的最小值應(yīng)該設(shè)為τ/2=64,也就是Viops>64。

    一般使用場(chǎng)景中,滿足用戶業(yè)務(wù)需求的IOPS一般都在100以上,故可將Viops的范圍定義為[100,1000000]。之所以設(shè)置為1000000,是因?yàn)閷?shí)際中很少會(huì)用到這么大數(shù)值,此外也可以避免因用戶誤輸入引發(fā)數(shù)據(jù)越界問(wèn)題。需要說(shuō)明的是,為了衡量引入限流模塊后對(duì)系統(tǒng)性能的影響,可將Viops設(shè)置為最大值1000000,同時(shí)開(kāi)啟QoS功能,此時(shí)雖然限流模塊已打開(kāi),但處于空轉(zhuǎn)狀態(tài)。

    4.3 數(shù)據(jù)安全性分析

    在實(shí)際應(yīng)用場(chǎng)景中,由于程序Bug或其它原因可能會(huì)導(dǎo)致卷限流模塊出現(xiàn)故障,可能會(huì)導(dǎo)致IO不能正常下發(fā),嚴(yán)重情況下會(huì)導(dǎo)致連接崩潰。下文將分析dbstb算法即使在故障業(yè)務(wù)場(chǎng)景中,仍然能夠保證數(shù)據(jù)完整性。

    上層客戶端的操作系統(tǒng)一般都實(shí)現(xiàn)了IO數(shù)據(jù)恢復(fù)的事務(wù)性機(jī)制,如果存儲(chǔ)端限流模塊出現(xiàn)故障,會(huì)導(dǎo)致存儲(chǔ)端沒(méi)有向客戶端返回讀寫(xiě)成功標(biāo)記,此時(shí)客戶端操作系統(tǒng)仍能保證數(shù)據(jù)的完整性。下面將分兩個(gè)場(chǎng)景對(duì)dbstb算法的數(shù)據(jù)安全性進(jìn)行論述。

    如果操作系統(tǒng)在向分布式存儲(chǔ)端發(fā)起IO請(qǐng)求時(shí),如果此時(shí)限流模塊發(fā)生故障并導(dǎo)致會(huì)話中斷,分布式存儲(chǔ)端并沒(méi)有成功下發(fā)IO請(qǐng)求,此時(shí)也不會(huì)向客戶端返回操作成功的消息?;謴?fù)連接后,由于操作系統(tǒng)沒(méi)有收到IO操作成功消息,操作系統(tǒng)會(huì)重新發(fā)送IO請(qǐng)求。

    第二個(gè)場(chǎng)景是分布式存儲(chǔ)端成功執(zhí)行IO操作,在向上層客戶端操作系統(tǒng)發(fā)送IO執(zhí)行成功消息之后,限流模塊發(fā)生了故障。由于此時(shí)IO請(qǐng)求已經(jīng)執(zhí)行成功,同時(shí)操作系統(tǒng)也認(rèn)為數(shù)據(jù)已經(jīng)寫(xiě)入到存儲(chǔ)端,故障恢復(fù)后,操作系統(tǒng)同樣能夠正常運(yùn)行。

    5 實(shí)驗(yàn)結(jié)果和分析

    5.1 實(shí)驗(yàn)設(shè)計(jì)

    在對(duì)IOPS和帶寬進(jìn)行限流時(shí),會(huì)存在多種因素會(huì)影響限流效果,例如常見(jiàn)的幾種操作系統(tǒng)都會(huì)合并順序IO,導(dǎo)致在客戶端觀察到的數(shù)值會(huì)高于存儲(chǔ)端測(cè)試出來(lái)的IOPS和帶寬值。如前文分析可知,IOPS、塊大小和帶寬之間存在對(duì)應(yīng)關(guān)系,IOPS和帶寬兩者之間的限流效果會(huì)相互影響。因此,在實(shí)驗(yàn)設(shè)計(jì)時(shí),將會(huì)綜合考慮這些因素,統(tǒng)一環(huán)境配置,為IOPS和帶寬設(shè)計(jì)出對(duì)應(yīng)的測(cè)試方法。

    為了避免操作系統(tǒng)合并IO對(duì)實(shí)驗(yàn)結(jié)果的影響,本研究將會(huì)利用FIO工具調(diào)用Ceph的RBD引擎進(jìn)行測(cè)試,同時(shí)只考察隨機(jī)IO。FIO詳細(xì)配置如圖2所示。

    圖2 FIO的配置參數(shù)

    對(duì)于隨機(jī)讀(randR)、隨機(jī)寫(xiě)(randW)、順序讀(seqR)和順序?qū)懀╯eqW),限流模塊并不能對(duì)其進(jìn)行區(qū)分,因此,對(duì)于IO操作類型,例如讀寫(xiě)、隨機(jī)順序等區(qū)別不做考察。

    本實(shí)驗(yàn)將對(duì)常見(jiàn)的三種應(yīng)用場(chǎng)景進(jìn)行測(cè)試,分別是遠(yuǎn)程桌面(Remote Desktop,RD)、在線事務(wù)處理(Online Transaction Processing,OLTP)和數(shù)據(jù)遷移(Data Migration,DM)。對(duì)于這三種業(yè)務(wù)流,RD是一種高IOPS低帶寬應(yīng)用場(chǎng)景,OLTP是一種高IOPS高帶寬應(yīng)用場(chǎng)景,而DM則是高帶寬低IOPS、分塊數(shù)據(jù)較大的應(yīng)用場(chǎng)景。這三種應(yīng)用場(chǎng)景對(duì)應(yīng)的參數(shù)設(shè)置如表2所示,需要注意的是這里的數(shù)值并不代表真實(shí)場(chǎng)景對(duì)應(yīng)的數(shù)值,而只是模擬場(chǎng)景下的實(shí)驗(yàn)參數(shù)。這三種業(yè)務(wù)流,均是采用FIO工具進(jìn)行模擬,在后續(xù)實(shí)驗(yàn)中,將分別在虛擬機(jī)上按照這三種應(yīng)用場(chǎng)景的配置來(lái)執(zhí)行FIO操作,以模擬這三種應(yīng)用場(chǎng)景。

    表2 三種應(yīng)用場(chǎng)景對(duì)應(yīng)的配置參數(shù)

    在考察dbstb算法性能時(shí),分布式存儲(chǔ)集群采用的硬件和軟件配置環(huán)境如表3所示,搭建集群時(shí)的配置參數(shù)如表4所示。

    表3 物理和軟件配置參數(shù)

    表4 分布式存儲(chǔ)集群配置參數(shù)

    在考察dmClock算法對(duì)存儲(chǔ)系統(tǒng)實(shí)時(shí)性能影響時(shí),dmClock采用的物理環(huán)境和軟件參數(shù)如文獻(xiàn)[12]所示,即虛擬機(jī)采用VMware ESX server,主機(jī) 為 Dell Poweredge 2950 server,2 Intel Xeon 3.0GHz CPU,8GB內(nèi)存,10*HDD,其中主機(jī)采用32 iodepth,集群采用基于FC SAN的EMC CLARiiONCX3-40磁盤存儲(chǔ)陣列。

    實(shí)驗(yàn)將重點(diǎn)考察算法對(duì)系統(tǒng)性能的影響,也就是考察相對(duì)性能損失,而不對(duì)絕對(duì)性能損失進(jìn)行分析,因此采用兩套不同物理環(huán)境是具有一定意義的。為了將dbstb和dmClock兩組實(shí)驗(yàn)結(jié)果統(tǒng)一起來(lái)進(jìn)行考察,本文定義了性能損失率這一指標(biāo)。在某一個(gè)時(shí)刻序列 {t0,t1,t2,…,tn} 時(shí)采集到的 IOPS值分別為 {?(t0),?(t1),?(t2),…,?(tn)} ,則時(shí)刻 ti對(duì)應(yīng)的性能損失率為

    5.2 實(shí)驗(yàn)結(jié)果及分析

    5.2.1 dbstb算法限流效果分析

    三種業(yè)務(wù)流均是在虛擬機(jī)上進(jìn)行模擬仿真,分別用三節(jié)點(diǎn)進(jìn)行模擬。VM1代表第一臺(tái)虛擬機(jī),其上運(yùn)行FIO工具來(lái)模擬執(zhí)行RD業(yè)務(wù)流,VM2代表第二臺(tái)虛擬機(jī),模擬OLTP業(yè)務(wù)流,VM3代表第三臺(tái)虛擬機(jī),模擬DM業(yè)務(wù)流。分布式存儲(chǔ)集群由5塊機(jī)械硬盤組成,1塊機(jī)械硬盤提供的IOPS能力大概為150左右,因此該分布式存儲(chǔ)集群提供的IOPS估計(jì)約為800左右,雙副本場(chǎng)景下,估算性能要除2。經(jīng)過(guò)實(shí)際測(cè)試發(fā)現(xiàn),該集群提供的最大IOPS能力約為350,這也符合上述估計(jì)。本組實(shí)驗(yàn)主要側(cè)重于對(duì)多業(yè)務(wù)場(chǎng)景中限流效果進(jìn)行功能性驗(yàn)證,以衡量dbstb算法是否能夠有效地將性能控制在約定范圍內(nèi)。

    測(cè)試流程如下,首先開(kāi)啟虛擬機(jī)VM1執(zhí)行RD業(yè)務(wù)流,此時(shí)先不啟動(dòng)QoS,主要目的是對(duì)分布式存儲(chǔ)系統(tǒng)進(jìn)行預(yù)熱。然后在第60s的時(shí)候,開(kāi)啟QoS,衡量限流模塊在RD業(yè)務(wù)場(chǎng)景中表現(xiàn)。在第130s,開(kāi)啟虛擬機(jī)VM2,執(zhí)行開(kāi)啟QoS流程的OLTP業(yè)務(wù)流,然后在170s,開(kāi)啟虛擬機(jī)VM3,執(zhí)行開(kāi)啟QoS流程的DM業(yè)務(wù)流。

    當(dāng)未開(kāi)啟QoS功能時(shí),對(duì)于VM1,可以看到性能抖動(dòng)比較劇烈,這是因?yàn)镃eph內(nèi)部并沒(méi)有做嚴(yán)格的恒流處理,容易受到外部業(yè)務(wù)數(shù)據(jù)流以及存儲(chǔ)集群設(shè)備的影響,進(jìn)而出現(xiàn)性能波動(dòng)的現(xiàn)象。

    從圖3實(shí)驗(yàn)數(shù)據(jù)可以看到,在對(duì)VM1執(zhí)行限流操作后,其性能曲線趨于平穩(wěn),在開(kāi)啟VM2和VM3后,兩者的性能曲線均在預(yù)設(shè)值附近,且其波動(dòng)范圍基本上都在15%以內(nèi)。dbstb算法通過(guò)自身的令牌調(diào)度機(jī)制,通過(guò)睡眠這一手段的調(diào)控,能夠有效地平滑IO輸出性能。也就意味著盡管Ceph本身并沒(méi)有提供恒流存儲(chǔ)能力,dbstb算法仍為分布式存儲(chǔ)系統(tǒng)提供了一定的平滑IO輸出性能的能力。

    從圖3可以發(fā)現(xiàn),在第60s時(shí),VM1開(kāi)啟了Qos服務(wù),此時(shí)無(wú)須重啟存儲(chǔ)軟件,實(shí)時(shí)IO性能顯示此時(shí)IOPS立即達(dá)到預(yù)設(shè)值附近,中間緩沖時(shí)間少于1s。dbstb算法本身并沒(méi)有建立一個(gè)數(shù)據(jù)緩存,一旦檢測(cè)到配置發(fā)生變化,能夠立即生效,使得其對(duì)配置變化的反應(yīng)十分敏感。

    圖3 多業(yè)務(wù)場(chǎng)景下性能結(jié)果

    表5代表限流生效后,各應(yīng)用場(chǎng)景下IOPS統(tǒng)計(jì)的平均值。從實(shí)驗(yàn)結(jié)果來(lái)看,各應(yīng)用場(chǎng)景下IOPS均值均在預(yù)設(shè)值附近,而且均小于預(yù)設(shè)值,且平均誤差均在2%以內(nèi),說(shuō)明dbstb算法具有良好的限流能力。

    表5 多業(yè)務(wù)場(chǎng)景下限流平均效果

    從表5可以看到隨著設(shè)置的IOPS上限值的減少,其平均誤差也隨著減少,這是因?yàn)镃eph本身并不是一個(gè)恒流分布式存儲(chǔ)系統(tǒng),設(shè)置的上限值越大,允許輸出IO的能力范圍越大,性能抖動(dòng)就會(huì)越大,導(dǎo)致平均誤差也就越大。

    5.2.2 多業(yè)務(wù)場(chǎng)景下系統(tǒng)性能分析

    為了考察dbstb算法和dmClock算法引入后對(duì)存儲(chǔ)系統(tǒng)性能的影響,將采用性能損失率這一指標(biāo)來(lái)對(duì)此進(jìn)行衡量。系統(tǒng)每隔60s開(kāi)啟一次新業(yè)務(wù)流,共五次業(yè)務(wù)流。

    在對(duì)比實(shí)驗(yàn)中,上層客戶端業(yè)務(wù)流采用的數(shù)據(jù)分塊大小為4K,IOPS上限為60,帶寬上限為240KB∕s,同樣利用安裝FIO軟件的虛擬機(jī)來(lái)模擬客戶端業(yè)務(wù)環(huán)境。本組實(shí)驗(yàn)之所以采用較小分塊大小數(shù)據(jù)塊,是因?yàn)樵谶@種業(yè)務(wù)場(chǎng)景中,IO輸出性能比較高,對(duì)損失率進(jìn)行評(píng)估時(shí)更為精確。

    在對(duì)dbstb算法進(jìn)行考察時(shí),首先開(kāi)啟QoS功能,然后將IOPS和帶寬上限值設(shè)置為最大,即IOPS為 1000000,帶寬 4096000000bytes∕s。上述參數(shù)值均超過(guò)了本實(shí)驗(yàn)中分布式存儲(chǔ)集群提供的最大性能值,其目的是使限流模塊處于空轉(zhuǎn)狀態(tài),這樣便能評(píng)估dbstb模塊對(duì)系統(tǒng)實(shí)時(shí)性能的影響。

    在對(duì)dmClock算法進(jìn)行考察時(shí),對(duì)于五次業(yè)務(wù)流,dmClock配置參數(shù) w 為1∶1∶2∶2∶2。

    實(shí)驗(yàn)每隔1s采樣一組IOPS數(shù)據(jù),在取得數(shù)據(jù)后,求取最大值,將實(shí)時(shí)IOPS值除以最大IOPS值,并用1減去上述值,進(jìn)而得到實(shí)時(shí)性能損失率。

    從圖4可以看到,作為一種實(shí)現(xiàn)在分布式存儲(chǔ)系統(tǒng)底層的算法,dmClock算法本身也存在一定性能波動(dòng),從圖中可以看到,隨著啟動(dòng)業(yè)務(wù)數(shù)量的增加,該算法對(duì)應(yīng)的性能損失率呈現(xiàn)上升趨勢(shì)。到第五個(gè)業(yè)務(wù)流開(kāi)啟后,存儲(chǔ)系統(tǒng)性能損失可達(dá)20%左右。

    圖4 dbstb與dmClock算法性能損失對(duì)比

    需要說(shuō)明的是,由于緩存、網(wǎng)絡(luò)以及業(yè)務(wù)啟動(dòng)時(shí)間的原因,從加入新業(yè)務(wù)再到業(yè)務(wù)數(shù)據(jù)傳遞到存儲(chǔ)系統(tǒng)中,然后再被檢測(cè)到需要一定的時(shí)間,所以在第120s開(kāi)啟第三個(gè)業(yè)務(wù)后,又等待了10s左右才出現(xiàn)了性能劇烈波動(dòng)。

    從圖4可以看到,dbstb算法相對(duì)于dmClock算法抖動(dòng)比較劇烈,一方面由于Ceph系統(tǒng)本身并沒(méi)有提供一套穩(wěn)定數(shù)據(jù)流輸出輸入能力的機(jī)制,導(dǎo)致性能波動(dòng)較大,另外一方面,此時(shí)設(shè)置的實(shí)驗(yàn)參數(shù)導(dǎo)致dbstb算法限流效果并沒(méi)有真正生效,只是在空轉(zhuǎn)。從實(shí)驗(yàn)結(jié)果中可以看到,250s左右dbstb算法的損失率可達(dá)25%左右。然而從損失率曲線總體走向來(lái)看,其平均性能損失率基本保持不變,不會(huì)因引入越來(lái)越多的業(yè)務(wù)流導(dǎo)致存儲(chǔ)系統(tǒng)總體性能下降,而且自引入第五個(gè)業(yè)務(wù)流后,dbstb算法的性能損失率基本控制在5%以內(nèi),其性能損失幾乎可以省略。

    之所以出現(xiàn)上述現(xiàn)象,這是dbstb算法和dmClock算法實(shí)現(xiàn)機(jī)制導(dǎo)致的。dbstb算法實(shí)現(xiàn)在客戶端,并沒(méi)有像dmClock算法實(shí)現(xiàn)在存儲(chǔ)系統(tǒng)底端,因此并沒(méi)有影響分布式存儲(chǔ)系統(tǒng)總體存儲(chǔ)能力。dbstb算法不會(huì)使存儲(chǔ)系統(tǒng)總體性能下降,這在對(duì)系統(tǒng)性能要求比較苛刻的存儲(chǔ)場(chǎng)景中,dbstb算法更為適合。

    6 結(jié)語(yǔ)

    提出了一種在分布式存儲(chǔ)開(kāi)源軟件Ceph塊存儲(chǔ)上控制IOPS和帶寬上限的限流方法,也就是dbstb算法。新算法實(shí)現(xiàn)在上層客戶端,具備較小的開(kāi)發(fā)復(fù)雜度,且不會(huì)降低存儲(chǔ)系統(tǒng)性能。新算法位于用戶會(huì)話空間中,不同會(huì)話空間中限流算法相互獨(dú)立,新算法實(shí)現(xiàn)模塊發(fā)生的故障不會(huì)傳播到其它會(huì)話空間中,具備良好的故障隔離性。新算法解決了帶寬控制中大塊IO不能下發(fā)的問(wèn)題,同時(shí)有效地降低了性能抖動(dòng)問(wèn)題。最后分析了避免性能劇烈抖動(dòng)滿足的理論條件,并對(duì)系統(tǒng)的可用性和數(shù)據(jù)安全性進(jìn)行了分析。實(shí)驗(yàn)結(jié)果顯示,在多業(yè)務(wù)場(chǎng)景中,dbstb算法平均誤差控制在2%以內(nèi),且不影響存儲(chǔ)系統(tǒng)性能。

    猜你喜歡
    令牌存儲(chǔ)系統(tǒng)限流
    稱金塊
    基于限流可行方案邊界集的最優(yōu)支路投切
    能源工程(2020年6期)2021-01-26 00:55:22
    分布式存儲(chǔ)系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
    哈爾濱軸承(2020年2期)2020-11-06 09:22:36
    基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
    天河超算存儲(chǔ)系統(tǒng)在美創(chuàng)佳績(jī)
    動(dòng)態(tài)令牌分配的TCSN多級(jí)令牌桶流量監(jiān)管算法
    交通事故條件下高速公路限流研究
    上海公路(2017年1期)2017-07-21 13:38:33
    高溫超導(dǎo)限流器
    華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲(chǔ)系統(tǒng)
    一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
    丝袜美足系列| 久久久久精品人妻al黑| 中文字幕av电影在线播放| 欧美另类一区| 日日撸夜夜添| 人人妻人人澡人人看| 少妇人妻 视频| 搡女人真爽免费视频火全软件| 日本午夜av视频| 午夜久久久在线观看| 日本色播在线视频| 久久99蜜桃精品久久| 亚洲精品久久久久久婷婷小说| 欧美xxⅹ黑人| 男女免费视频国产| 成年人免费黄色播放视频| 少妇的逼水好多| 日韩欧美一区视频在线观看| 久久国产精品男人的天堂亚洲 | 国产精品久久久久久久久免| 亚洲五月色婷婷综合| 老司机影院成人| 欧美人与性动交α欧美软件 | 精品少妇黑人巨大在线播放| 亚洲人成网站在线观看播放| 国产又爽黄色视频| 一级爰片在线观看| 一级爰片在线观看| 午夜免费男女啪啪视频观看| 熟女av电影| 精品人妻在线不人妻| 尾随美女入室| 尾随美女入室| 国产在线视频一区二区| 国产成人午夜福利电影在线观看| 捣出白浆h1v1| 国产一区二区三区综合在线观看 | 国产亚洲最大av| 国产亚洲最大av| 久久热在线av| 欧美精品av麻豆av| 久久ye,这里只有精品| 九色成人免费人妻av| 夫妻午夜视频| 狂野欧美激情性xxxx在线观看| 成人18禁高潮啪啪吃奶动态图| 在线观看免费高清a一片| 国精品久久久久久国模美| 亚洲四区av| 下体分泌物呈黄色| 97人妻天天添夜夜摸| 亚洲精品第二区| 一级黄片播放器| 激情视频va一区二区三区| videos熟女内射| 天天影视国产精品| 日韩精品免费视频一区二区三区 | 精品熟女少妇av免费看| 亚洲第一区二区三区不卡| 久久久久久久久久人人人人人人| 夫妻性生交免费视频一级片| 免费观看在线日韩| 亚洲av中文av极速乱| 两性夫妻黄色片 | 亚洲av电影在线观看一区二区三区| 两个人看的免费小视频| 校园人妻丝袜中文字幕| 王馨瑶露胸无遮挡在线观看| 一级毛片我不卡| www日本在线高清视频| 男男h啪啪无遮挡| 日韩制服丝袜自拍偷拍| 亚洲成人一二三区av| 精品国产一区二区三区四区第35| 色网站视频免费| 女性生殖器流出的白浆| 亚洲经典国产精华液单| 欧美日韩一区二区视频在线观看视频在线| 国产永久视频网站| 久久久亚洲精品成人影院| 最新的欧美精品一区二区| 哪个播放器可以免费观看大片| 五月伊人婷婷丁香| 搡女人真爽免费视频火全软件| 久久久久视频综合| 狂野欧美激情性xxxx在线观看| 黄片播放在线免费| av天堂久久9| 日日爽夜夜爽网站| av电影中文网址| 国产 精品1| 久久久久久人人人人人| 日韩制服丝袜自拍偷拍| 精品亚洲成国产av| 国产精品国产av在线观看| 国产一区二区三区综合在线观看 | 亚洲色图 男人天堂 中文字幕 | av在线播放精品| 国产亚洲最大av| 校园人妻丝袜中文字幕| 美女福利国产在线| 亚洲情色 制服丝袜| 成人漫画全彩无遮挡| 久久97久久精品| videossex国产| av女优亚洲男人天堂| 欧美成人午夜精品| 狠狠精品人妻久久久久久综合| 成人综合一区亚洲| 国产午夜精品一二区理论片| 岛国毛片在线播放| 国产av码专区亚洲av| 日韩av在线免费看完整版不卡| 黄片无遮挡物在线观看| 亚洲欧洲国产日韩| 久久久国产一区二区| 亚洲国产精品一区三区| 精品国产国语对白av| 黄色视频在线播放观看不卡| 妹子高潮喷水视频| 在线观看人妻少妇| 久久这里有精品视频免费| 免费在线观看完整版高清| 亚洲第一区二区三区不卡| 免费人妻精品一区二区三区视频| 国产国语露脸激情在线看| 一级片'在线观看视频| 在线观看美女被高潮喷水网站| 亚洲精品国产av成人精品| 久久99热6这里只有精品| 飞空精品影院首页| 国产一区有黄有色的免费视频| 欧美激情国产日韩精品一区| 免费观看av网站的网址| 国产永久视频网站| 少妇被粗大猛烈的视频| 一级毛片 在线播放| 亚洲欧洲精品一区二区精品久久久 | 精品一品国产午夜福利视频| 成年女人在线观看亚洲视频| 久久久a久久爽久久v久久| 午夜福利,免费看| 国产成人精品福利久久| 久久99一区二区三区| 欧美bdsm另类| 高清av免费在线| 看免费av毛片| 日韩欧美精品免费久久| 韩国高清视频一区二区三区| 久久精品国产a三级三级三级| 亚洲精品一二三| 日本免费在线观看一区| 国产一区二区三区av在线| 人人妻人人澡人人看| 国产激情久久老熟女| 视频中文字幕在线观看| 日本欧美国产在线视频| 99热全是精品| 亚洲精品一区蜜桃| 久久毛片免费看一区二区三区| 亚洲精品美女久久av网站| 午夜福利在线观看免费完整高清在| 国产精品偷伦视频观看了| 欧美日韩精品成人综合77777| 精品一区二区免费观看| 成人漫画全彩无遮挡| 9191精品国产免费久久| 久久久久网色| 免费黄网站久久成人精品| av视频免费观看在线观看| 精品少妇黑人巨大在线播放| 美女脱内裤让男人舔精品视频| 男女免费视频国产| 精品国产乱码久久久久久小说| 成人影院久久| 最近中文字幕高清免费大全6| 老司机亚洲免费影院| 女人被躁到高潮嗷嗷叫费观| 80岁老熟妇乱子伦牲交| 成年人免费黄色播放视频| 中文字幕人妻丝袜制服| 国产精品成人在线| 五月玫瑰六月丁香| 天堂8中文在线网| 99久国产av精品国产电影| 国产69精品久久久久777片| 九九爱精品视频在线观看| 久久毛片免费看一区二区三区| av有码第一页| 欧美亚洲 丝袜 人妻 在线| 色吧在线观看| 久久久久人妻精品一区果冻| 99久国产av精品国产电影| 18禁动态无遮挡网站| 久久久精品免费免费高清| 免费av不卡在线播放| 91午夜精品亚洲一区二区三区| 哪个播放器可以免费观看大片| 免费久久久久久久精品成人欧美视频 | 草草在线视频免费看| 丰满乱子伦码专区| 亚洲综合精品二区| 欧美丝袜亚洲另类| 免费黄频网站在线观看国产| 97超碰精品成人国产| 欧美最新免费一区二区三区| 国产熟女午夜一区二区三区| 欧美另类一区| 乱码一卡2卡4卡精品| 国产精品久久久久久久久免| 久久这里有精品视频免费| 永久免费av网站大全| 99久久中文字幕三级久久日本| 91在线精品国自产拍蜜月| 国产成人aa在线观看| 欧美97在线视频| 久久女婷五月综合色啪小说| 欧美精品一区二区大全| 亚洲一级一片aⅴ在线观看| 9色porny在线观看| 最近手机中文字幕大全| 国产无遮挡羞羞视频在线观看| 亚洲丝袜综合中文字幕| 看十八女毛片水多多多| 亚洲激情五月婷婷啪啪| 99热网站在线观看| 亚洲精品久久午夜乱码| 欧美日韩av久久| 男人添女人高潮全过程视频| 精品人妻熟女毛片av久久网站| 美女大奶头黄色视频| 高清av免费在线| 人妻人人澡人人爽人人| 香蕉精品网在线| 国产探花极品一区二区| 黄片无遮挡物在线观看| 国产男女内射视频| 99九九在线精品视频| 中文字幕制服av| 亚洲,欧美,日韩| 日韩av在线免费看完整版不卡| 午夜激情久久久久久久| 热99国产精品久久久久久7| 伊人久久国产一区二区| 成人亚洲精品一区在线观看| 蜜臀久久99精品久久宅男| 欧美另类一区| 国产69精品久久久久777片| 久久av网站| 男女边摸边吃奶| 国产成人精品婷婷| www日本在线高清视频| 久久久久久久亚洲中文字幕| 久久国产精品大桥未久av| 哪个播放器可以免费观看大片| 国产视频首页在线观看| 97精品久久久久久久久久精品| 成年女人在线观看亚洲视频| 国产成人精品无人区| 免费久久久久久久精品成人欧美视频 | 午夜久久久在线观看| 男女边吃奶边做爰视频| 毛片一级片免费看久久久久| 国产爽快片一区二区三区| 精品酒店卫生间| 午夜av观看不卡| 男男h啪啪无遮挡| 在线观看人妻少妇| 久久久久国产网址| 中文字幕人妻熟女乱码| 一区二区三区四区激情视频| 久热久热在线精品观看| 免费看光身美女| 极品人妻少妇av视频| 美国免费a级毛片| 久久婷婷青草| 亚洲精品久久久久久婷婷小说| 久久午夜综合久久蜜桃| 建设人人有责人人尽责人人享有的| 国产精品国产av在线观看| 久久久久精品久久久久真实原创| 国内精品宾馆在线| 一区二区日韩欧美中文字幕 | 夫妻午夜视频| 国产精品国产三级国产专区5o| 人妻一区二区av| 中文天堂在线官网| 免费av中文字幕在线| 欧美3d第一页| 国产有黄有色有爽视频| 亚洲成国产人片在线观看| 国产精品嫩草影院av在线观看| 在线观看免费视频网站a站| 超色免费av| 99九九在线精品视频| 精品国产一区二区三区四区第35| 亚洲av国产av综合av卡| 视频中文字幕在线观看| 亚洲av在线观看美女高潮| 亚洲av日韩在线播放| 男女国产视频网站| 国语对白做爰xxxⅹ性视频网站| 国产色婷婷99| 久久久久久久久久久久大奶| 男女边吃奶边做爰视频| a级毛色黄片| 大香蕉久久网| 亚洲国产欧美在线一区| 久久精品夜色国产| 欧美老熟妇乱子伦牲交| 男人操女人黄网站| 啦啦啦视频在线资源免费观看| 国产爽快片一区二区三区| 插逼视频在线观看| 免费久久久久久久精品成人欧美视频 | www日本在线高清视频| 午夜福利乱码中文字幕| 最新的欧美精品一区二区| 久久热在线av| 久久久久久久国产电影| 精品国产一区二区三区久久久樱花| 中文精品一卡2卡3卡4更新| 国产精品99久久99久久久不卡 | 青青草视频在线视频观看| 男人舔女人的私密视频| 一级毛片黄色毛片免费观看视频| 高清av免费在线| 日韩一区二区三区影片| 看免费成人av毛片| 一本色道久久久久久精品综合| 男人爽女人下面视频在线观看| 国产午夜精品一二区理论片| av免费观看日本| 婷婷色综合www| 久久久欧美国产精品| 在线观看一区二区三区激情| a级片在线免费高清观看视频| 街头女战士在线观看网站| 亚洲成人手机| 久久婷婷青草| 国产精品 国内视频| 啦啦啦视频在线资源免费观看| 一个人免费看片子| 亚洲精品自拍成人| 久久青草综合色| 精品亚洲成国产av| 母亲3免费完整高清在线观看 | av播播在线观看一区| 91精品国产国语对白视频| 久久久国产欧美日韩av| 一级片免费观看大全| xxxhd国产人妻xxx| 国产一区有黄有色的免费视频| 91午夜精品亚洲一区二区三区| 久久99热这里只频精品6学生| 欧美精品高潮呻吟av久久| 女性生殖器流出的白浆| 国产精品人妻久久久影院| 免费黄色在线免费观看| 国产精品.久久久| 亚洲内射少妇av| 国产日韩欧美视频二区| 免费大片黄手机在线观看| 色吧在线观看| 97人妻天天添夜夜摸| 久久精品人人爽人人爽视色| 777米奇影视久久| 秋霞在线观看毛片| 女性生殖器流出的白浆| 亚洲内射少妇av| 中文字幕制服av| 交换朋友夫妻互换小说| 黄色怎么调成土黄色| 高清在线视频一区二区三区| 大话2 男鬼变身卡| 久久热在线av| 精品人妻一区二区三区麻豆| 精品人妻偷拍中文字幕| 18禁在线无遮挡免费观看视频| 久久久精品免费免费高清| 中文字幕人妻熟女乱码| 国产精品一区www在线观看| 国产毛片在线视频| 国产一区亚洲一区在线观看| 亚洲人与动物交配视频| 五月开心婷婷网| 爱豆传媒免费全集在线观看| 韩国av在线不卡| 插逼视频在线观看| 夫妻午夜视频| 自线自在国产av| 久久免费观看电影| 成人无遮挡网站| 尾随美女入室| 在线观看三级黄色| 亚洲精品国产av蜜桃| 91午夜精品亚洲一区二区三区| av卡一久久| 国产成人午夜福利电影在线观看| 街头女战士在线观看网站| 久久久国产一区二区| 亚洲美女搞黄在线观看| 日韩一本色道免费dvd| 99久久综合免费| 亚洲,欧美精品.| 久久久久视频综合| 国产一级毛片在线| 国产精品久久久久久久电影| 欧美国产精品一级二级三级| 男人舔女人的私密视频| 免费高清在线观看视频在线观看| 人妻人人澡人人爽人人| 色5月婷婷丁香| av又黄又爽大尺度在线免费看| 亚洲五月色婷婷综合| 免费av不卡在线播放| 黑人猛操日本美女一级片| 十八禁高潮呻吟视频| 2022亚洲国产成人精品| 丰满少妇做爰视频| 欧美激情 高清一区二区三区| 精品久久蜜臀av无| 飞空精品影院首页| 在线天堂最新版资源| 观看美女的网站| 国产成人欧美| 久久久久久久久久久久大奶| 国产av国产精品国产| 蜜桃在线观看..| 成人国语在线视频| 中文字幕亚洲精品专区| 亚洲精品aⅴ在线观看| 一二三四中文在线观看免费高清| 久久久精品免费免费高清| 日本wwww免费看| 韩国av在线不卡| 久久国产精品大桥未久av| 人人澡人人妻人| 在线观看免费视频网站a站| 亚洲美女视频黄频| 99热全是精品| 大话2 男鬼变身卡| 美女福利国产在线| 免费在线观看完整版高清| 久久久久视频综合| 中文字幕制服av| 18在线观看网站| 久久午夜福利片| 伦精品一区二区三区| 激情五月婷婷亚洲| 欧美精品高潮呻吟av久久| 亚洲欧洲国产日韩| 青春草国产在线视频| 成年美女黄网站色视频大全免费| 亚洲精品av麻豆狂野| 亚洲人成网站在线观看播放| 成人国语在线视频| 18禁动态无遮挡网站| 国产免费福利视频在线观看| 嫩草影院入口| 99国产精品免费福利视频| 多毛熟女@视频| 久久久久久久亚洲中文字幕| 极品人妻少妇av视频| 黄色 视频免费看| av在线观看视频网站免费| 97人妻天天添夜夜摸| 日本-黄色视频高清免费观看| 久久 成人 亚洲| 不卡视频在线观看欧美| 国产精品一区二区在线不卡| 久久久精品免费免费高清| 亚洲精品乱久久久久久| 久久人人97超碰香蕉20202| 蜜臀久久99精品久久宅男| 一二三四在线观看免费中文在 | 精品久久蜜臀av无| av在线app专区| 又大又黄又爽视频免费| 天堂俺去俺来也www色官网| 午夜影院在线不卡| 新久久久久国产一级毛片| 国产精品成人在线| 一级黄片播放器| 汤姆久久久久久久影院中文字幕| av女优亚洲男人天堂| 欧美日韩一区二区视频在线观看视频在线| 久久韩国三级中文字幕| 捣出白浆h1v1| 美女xxoo啪啪120秒动态图| 精品人妻在线不人妻| 黑人高潮一二区| 97在线人人人人妻| 国产麻豆69| 国产欧美日韩一区二区三区在线| 中文欧美无线码| 亚洲精品成人av观看孕妇| 这个男人来自地球电影免费观看 | 日本午夜av视频| 如何舔出高潮| 久久99蜜桃精品久久| 少妇人妻精品综合一区二区| 寂寞人妻少妇视频99o| 中文字幕精品免费在线观看视频 | 好男人视频免费观看在线| 成人亚洲精品一区在线观看| 国产1区2区3区精品| 久久精品人人爽人人爽视色| 黄色毛片三级朝国网站| 黄色配什么色好看| 啦啦啦中文免费视频观看日本| 国产探花极品一区二区| 日韩成人av中文字幕在线观看| 亚洲精品美女久久久久99蜜臀 | 亚洲人与动物交配视频| 人成视频在线观看免费观看| 国产精品久久久久久精品电影小说| 永久网站在线| 高清欧美精品videossex| 中文字幕另类日韩欧美亚洲嫩草| 嫩草影院入口| 精品国产一区二区三区久久久樱花| 99九九在线精品视频| 国产精品一区二区在线观看99| 国产成人a∨麻豆精品| 看十八女毛片水多多多| 午夜福利视频精品| 性高湖久久久久久久久免费观看| 少妇猛男粗大的猛烈进出视频| 女性生殖器流出的白浆| 日日摸夜夜添夜夜爱| 黄色一级大片看看| av卡一久久| 女性生殖器流出的白浆| 18禁在线无遮挡免费观看视频| 国产男女超爽视频在线观看| 欧美精品av麻豆av| 精品亚洲成国产av| 自拍欧美九色日韩亚洲蝌蚪91| 97在线人人人人妻| 大香蕉久久成人网| 51国产日韩欧美| 久久99蜜桃精品久久| 中国国产av一级| 国产在线一区二区三区精| 亚洲一级一片aⅴ在线观看| 青春草视频在线免费观看| 黑人欧美特级aaaaaa片| 亚洲成色77777| 亚洲精品日本国产第一区| 蜜臀久久99精品久久宅男| 国产爽快片一区二区三区| 我的女老师完整版在线观看| 亚洲国产看品久久| 两个人看的免费小视频| 久久精品人人爽人人爽视色| 亚洲四区av| 婷婷色麻豆天堂久久| 国产一级毛片在线| 搡女人真爽免费视频火全软件| 国产高清三级在线| 九色成人免费人妻av| 国产午夜精品一二区理论片| 9色porny在线观看| 女性生殖器流出的白浆| 五月天丁香电影| 亚洲美女黄色视频免费看| 精品人妻一区二区三区麻豆| 啦啦啦在线观看免费高清www| 日韩成人伦理影院| 久久精品国产综合久久久 | 日韩一本色道免费dvd| 女人被躁到高潮嗷嗷叫费观| 18禁裸乳无遮挡动漫免费视频| 两个人免费观看高清视频| 成人漫画全彩无遮挡| 性高湖久久久久久久久免费观看| 免费日韩欧美在线观看| 日韩av在线免费看完整版不卡| 国产片特级美女逼逼视频| 这个男人来自地球电影免费观看 | 下体分泌物呈黄色| 91午夜精品亚洲一区二区三区| 亚洲国产精品成人久久小说| 日韩av在线免费看完整版不卡| 激情视频va一区二区三区| 精品国产乱码久久久久久小说| 国产在线一区二区三区精| 国产精品人妻久久久影院| 国产成人午夜福利电影在线观看| 91在线精品国自产拍蜜月| 精品国产露脸久久av麻豆| 国产精品99久久99久久久不卡 | 久久精品熟女亚洲av麻豆精品| 久久午夜综合久久蜜桃| 久久久久国产网址| 卡戴珊不雅视频在线播放| 波野结衣二区三区在线| 欧美国产精品va在线观看不卡| 91午夜精品亚洲一区二区三区| 如何舔出高潮| 久久久久视频综合| a级片在线免费高清观看视频| 少妇猛男粗大的猛烈进出视频| 欧美日韩一区二区视频在线观看视频在线| 久久99热这里只频精品6学生| 免费av不卡在线播放| 国产精品久久久久久精品电影小说| 91国产中文字幕| 日韩制服丝袜自拍偷拍| 中国三级夫妇交换| 国产午夜精品一二区理论片| 人人妻人人添人人爽欧美一区卜| 99精国产麻豆久久婷婷| a 毛片基地|