基于糾刪碼的細(xì)粒度云存儲(chǔ)調(diào)度方案
發(fā)布時(shí)間:2020-03-16 19:21
【摘要】:針對(duì)云存儲(chǔ)系統(tǒng)中數(shù)據(jù)獲取時(shí)延長以及數(shù)據(jù)下載不穩(wěn)定的問題,提出了一種基于存儲(chǔ)節(jié)點(diǎn)負(fù)載信息和糾刪碼技術(shù)的調(diào)度方案。首先,利用糾刪碼對(duì)文件進(jìn)行編碼存儲(chǔ)以降低每份數(shù)據(jù)拷貝的大小,同時(shí)利用多個(gè)線程并發(fā)下載以提高數(shù)據(jù)獲取的速度;其次,通過分析大量存儲(chǔ)節(jié)點(diǎn)的負(fù)載信息確定影響時(shí)延的性能指標(biāo)并對(duì)現(xiàn)有的云存儲(chǔ)系統(tǒng)架構(gòu)進(jìn)行優(yōu)化,設(shè)計(jì)了一種基于負(fù)載信息的云存儲(chǔ)調(diào)度算法LOAD-ALGORITHM;最后,利用開源項(xiàng)目Open Stack搭建了一個(gè)云計(jì)算平臺(tái),根據(jù)真實(shí)的用戶請(qǐng)求數(shù)據(jù)在云平臺(tái)上進(jìn)行部署和測試。實(shí)驗(yàn)結(jié)果表明,相比于現(xiàn)有的工作,調(diào)度算法在數(shù)據(jù)獲取時(shí)延方面最高能減少15%的平均時(shí)延,在數(shù)據(jù)下載穩(wěn)定性方面最高能降低40%的時(shí)延波動(dòng)。該調(diào)度方案在真實(shí)的云平臺(tái)環(huán)境下能有效地提高數(shù)據(jù)獲取速度和穩(wěn)定性,降低數(shù)據(jù)獲取時(shí)延,達(dá)到更好的用戶體驗(yàn)。
【圖文】:
TCP連接進(jìn)行數(shù)據(jù)下載。當(dāng)k個(gè)任務(wù)都完成后,代理節(jié)點(diǎn)進(jìn)行解碼并恢復(fù)用戶所請(qǐng)求的文件,最后將成功獲取的文件返回用戶。代理節(jié)點(diǎn)一般擁有固定大小的線程池用于維持與存儲(chǔ)節(jié)點(diǎn)的TCP連接,,每個(gè)任務(wù)需要消耗一個(gè)線程,當(dāng)線程池中無空閑線程時(shí),剩余任務(wù)需要等待直到有任務(wù)完成并出現(xiàn)新的空閑線程,代理節(jié)點(diǎn)對(duì)等待隊(duì)列中的任務(wù)進(jìn)行調(diào)度后,新的任務(wù)才開始工作。在本文中,云存儲(chǔ)系統(tǒng)同樣采用了以上所描述的體系架構(gòu),同時(shí),在此基礎(chǔ)上新增了一個(gè)性能監(jiān)測節(jié)點(diǎn)用于保存每個(gè)存儲(chǔ)節(jié)點(diǎn)的性能負(fù)載信息,為代理節(jié)點(diǎn)提供調(diào)度依據(jù),如圖1所示。圖1云存儲(chǔ)系統(tǒng)架構(gòu)Fig.1Cloudstoragesystemarchitecture本文認(rèn)為在云存儲(chǔ)系統(tǒng)中,用戶上傳的所有文件都使用了一定的糾刪碼進(jìn)行編碼存儲(chǔ),如文件i使用(ni,ki)糾刪碼,并將編碼后的數(shù)據(jù)塊保存s個(gè)不同的存儲(chǔ)節(jié)點(diǎn)中(MAX(ni)≤s≤∑i=1ni)。當(dāng)用戶請(qǐng)求文件i時(shí),代理節(jié)點(diǎn)通過614計(jì)算機(jī)應(yīng)用第37卷
曲線如何波動(dòng),CPU利用率、內(nèi)存利用率、磁盤利用率等曲線基本保持平穩(wěn)狀態(tài),對(duì)于throughput_recv、disk_percent、disk_write等指標(biāo)也得出相似的結(jié)果,曲線之間基本沒有關(guān)聯(lián)性,所以本文初步確定文件獲取的平均時(shí)延基本不受這幾個(gè)指標(biāo)的影響。為了進(jìn)一步驗(yàn)證該設(shè)想,本文在存儲(chǔ)節(jié)點(diǎn)中單獨(dú)部署了兩個(gè)應(yīng)用,分別用于提高存儲(chǔ)節(jié)點(diǎn)的CPU利用率和內(nèi)存利用率,發(fā)現(xiàn)隨著內(nèi)存利用率或CPU利用率的提高,文件平均下載時(shí)延并不隨之變化,而是保持平穩(wěn)狀態(tài),所以本文有理由認(rèn)為以上幾個(gè)性能指標(biāo)基本不會(huì)對(duì)文件獲取時(shí)延產(chǎn)生影響。從圖2(b)可以發(fā)現(xiàn),throughput_send曲線與時(shí)延曲線可能存在一定程度上的關(guān)聯(lián)性,初步確定文件獲取時(shí)延可能受到每個(gè)存儲(chǔ)節(jié)點(diǎn)吞吐量的影響。因?yàn),?shù)據(jù)傳輸時(shí)延=發(fā)送時(shí)延+傳播時(shí)延+等待時(shí)延,當(dāng)吞吐量增高時(shí),一方面意味著更多數(shù)據(jù)需要傳輸,從而造成數(shù)據(jù)在等待隊(duì)列中的排隊(duì)時(shí)間更長,導(dǎo)致等待時(shí)延的增加;另一方面高吞吐量會(huì)造成丟包率的升高,從而導(dǎo)致更多的數(shù)據(jù)包需要進(jìn)行超時(shí)重傳。所以本文認(rèn)為存儲(chǔ)節(jié)點(diǎn)的吞吐量是影響文件獲取時(shí)延的一個(gè)重要因素,在之后的章節(jié)中也會(huì)通過大量的實(shí)驗(yàn)結(jié)果來驗(yàn)證。圖2存儲(chǔ)節(jié)點(diǎn)性能指標(biāo)分析Fig.2Analysisofperformanceindexesofstoragenode由于文件下載需要從存儲(chǔ)節(jié)點(diǎn)的磁盤讀取數(shù)據(jù)塊并發(fā)送給代理節(jié)點(diǎn),假設(shè)每次磁盤讀操作讀取的數(shù)據(jù)大小相同,為d字節(jié),那么在理想情況下,只要發(fā)送速度足夠快,throughput_send=disk_read*d,可以看出每秒發(fā)送的字節(jié)數(shù)和每秒讀取次數(shù)存在線性關(guān)系,所以本文使用吞吐量作為調(diào)度依據(jù)而不使用每秒磁盤讀操作。當(dāng)存儲(chǔ)節(jié)點(diǎn)吞吐量升高,說明代理節(jié)點(diǎn)中有更多的線程用于與該存儲(chǔ)節(jié)點(diǎn)建立連接并進(jìn)行數(shù)據(jù)傳輸,當(dāng)多個(gè)文件下載請(qǐng)求同時(shí)到達(dá)時(shí),代理節(jié)點(diǎn)可能將?
【圖文】:
TCP連接進(jìn)行數(shù)據(jù)下載。當(dāng)k個(gè)任務(wù)都完成后,代理節(jié)點(diǎn)進(jìn)行解碼并恢復(fù)用戶所請(qǐng)求的文件,最后將成功獲取的文件返回用戶。代理節(jié)點(diǎn)一般擁有固定大小的線程池用于維持與存儲(chǔ)節(jié)點(diǎn)的TCP連接,,每個(gè)任務(wù)需要消耗一個(gè)線程,當(dāng)線程池中無空閑線程時(shí),剩余任務(wù)需要等待直到有任務(wù)完成并出現(xiàn)新的空閑線程,代理節(jié)點(diǎn)對(duì)等待隊(duì)列中的任務(wù)進(jìn)行調(diào)度后,新的任務(wù)才開始工作。在本文中,云存儲(chǔ)系統(tǒng)同樣采用了以上所描述的體系架構(gòu),同時(shí),在此基礎(chǔ)上新增了一個(gè)性能監(jiān)測節(jié)點(diǎn)用于保存每個(gè)存儲(chǔ)節(jié)點(diǎn)的性能負(fù)載信息,為代理節(jié)點(diǎn)提供調(diào)度依據(jù),如圖1所示。圖1云存儲(chǔ)系統(tǒng)架構(gòu)Fig.1Cloudstoragesystemarchitecture本文認(rèn)為在云存儲(chǔ)系統(tǒng)中,用戶上傳的所有文件都使用了一定的糾刪碼進(jìn)行編碼存儲(chǔ),如文件i使用(ni,ki)糾刪碼,并將編碼后的數(shù)據(jù)塊保存s個(gè)不同的存儲(chǔ)節(jié)點(diǎn)中(MAX(ni)≤s≤∑i=1ni)。當(dāng)用戶請(qǐng)求文件i時(shí),代理節(jié)點(diǎn)通過614計(jì)算機(jī)應(yīng)用第37卷
曲線如何波動(dòng),CPU利用率、內(nèi)存利用率、磁盤利用率等曲線基本保持平穩(wěn)狀態(tài),對(duì)于throughput_recv、disk_percent、disk_write等指標(biāo)也得出相似的結(jié)果,曲線之間基本沒有關(guān)聯(lián)性,所以本文初步確定文件獲取的平均時(shí)延基本不受這幾個(gè)指標(biāo)的影響。為了進(jìn)一步驗(yàn)證該設(shè)想,本文在存儲(chǔ)節(jié)點(diǎn)中單獨(dú)部署了兩個(gè)應(yīng)用,分別用于提高存儲(chǔ)節(jié)點(diǎn)的CPU利用率和內(nèi)存利用率,發(fā)現(xiàn)隨著內(nèi)存利用率或CPU利用率的提高,文件平均下載時(shí)延并不隨之變化,而是保持平穩(wěn)狀態(tài),所以本文有理由認(rèn)為以上幾個(gè)性能指標(biāo)基本不會(huì)對(duì)文件獲取時(shí)延產(chǎn)生影響。從圖2(b)可以發(fā)現(xiàn),throughput_send曲線與時(shí)延曲線可能存在一定程度上的關(guān)聯(lián)性,初步確定文件獲取時(shí)延可能受到每個(gè)存儲(chǔ)節(jié)點(diǎn)吞吐量的影響。因?yàn),?shù)據(jù)傳輸時(shí)延=發(fā)送時(shí)延+傳播時(shí)延+等待時(shí)延,當(dāng)吞吐量增高時(shí),一方面意味著更多數(shù)據(jù)需要傳輸,從而造成數(shù)據(jù)在等待隊(duì)列中的排隊(duì)時(shí)間更長,導(dǎo)致等待時(shí)延的增加;另一方面高吞吐量會(huì)造成丟包率的升高,從而導(dǎo)致更多的數(shù)據(jù)包需要進(jìn)行超時(shí)重傳。所以本文認(rèn)為存儲(chǔ)節(jié)點(diǎn)的吞吐量是影響文件獲取時(shí)延的一個(gè)重要因素,在之后的章節(jié)中也會(huì)通過大量的實(shí)驗(yàn)結(jié)果來驗(yàn)證。圖2存儲(chǔ)節(jié)點(diǎn)性能指標(biāo)分析Fig.2Analysisofperformanceindexesofstoragenode由于文件下載需要從存儲(chǔ)節(jié)點(diǎn)的磁盤讀取數(shù)據(jù)塊并發(fā)送給代理節(jié)點(diǎn),假設(shè)每次磁盤讀操作讀取的數(shù)據(jù)大小相同,為d字節(jié),那么在理想情況下,只要發(fā)送速度足夠快,throughput_send=disk_read*d,可以看出每秒發(fā)送的字節(jié)數(shù)和每秒讀取次數(shù)存在線性關(guān)系,所以本文使用吞吐量作為調(diào)度依據(jù)而不使用每秒磁盤讀操作。當(dāng)存儲(chǔ)節(jié)點(diǎn)吞吐量升高,說明代理節(jié)點(diǎn)中有更多的線程用于與該存儲(chǔ)節(jié)點(diǎn)建立連接并進(jìn)行數(shù)據(jù)傳輸,當(dāng)多個(gè)文件下載請(qǐng)求同時(shí)到達(dá)時(shí),代理節(jié)點(diǎn)可能將?
【參考文獻(xiàn)】
相關(guān)期刊論文 前5條
1 蔣海波;王曉京;范明鈺;肖宜龍;袁琦釗;;基于水平糾刪碼的云存儲(chǔ)數(shù)據(jù)布局方法[J];四川大學(xué)學(xué)報(bào)(工程科學(xué)版);2013年02期
2 程振東;欒鐘治;孟由;李亮淑;和榮;楊婷婷;錢德沛;管剛;陳偉;;云文件系統(tǒng)中糾刪碼技術(shù)的研究與實(shí)現(xiàn)[J];計(jì)算機(jī)科學(xué)與探索;2013年04期
3 李曉愷;代翔;李文杰;崔U
本文編號(hào):2587424
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2587424.html
最近更新
教材專著