聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器_第1頁
聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器_第2頁
聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器_第3頁
聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器_第4頁
聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、聯(lián)合緩沖區(qū)緩存和日志記錄層與非易失性存儲(chǔ)器摘要日志技術(shù)廣泛應(yīng)用于現(xiàn)代文件系統(tǒng)為他們提供高可靠性和快速恢復(fù)系統(tǒng)故障。然而,它減少了性能好的緩沖區(qū)緩存作為日志占大部分的存儲(chǔ)寫在現(xiàn)實(shí)系統(tǒng)環(huán)境。在本文中,我們提出了一種新的緩沖區(qū)緩存架構(gòu),貫穿到緩存和日志記錄功能利用非易失性內(nèi)存如PCM(相變內(nèi)存)或STT- MRAM(旋轉(zhuǎn)扭矩傳遞磁性隨機(jī)存取存儲(chǔ)器)。具體地說,我們的緩沖區(qū)緩存支持我們所說的就地提交方案。該方案避免了日志,但仍然提供了相同的日志效應(yīng)通過簡(jiǎn)單地改變緩存塊凍的狀態(tài)。作為一個(gè)凍塊仍然執(zhí)行緩存的功能,我們表明,就地承諾不會(huì)降低緩存性能。我們?cè)贚inux上2. 6. 38實(shí)現(xiàn)我們的計(jì)劃并且測(cè)量吞

2、吐量和該計(jì)劃在各種文件I / O基準(zhǔn)的執(zhí)行時(shí)間。結(jié)果表明,我們的方案平均提高I / O性能76%,相比現(xiàn)有的Linux ext4(外在的)緩沖區(qū)緩存提升了240%并且沒有任何損失的可靠性。1. 介紹 非易失性內(nèi)存如PCM(相變內(nèi)存)和stt mram(旋轉(zhuǎn)扭矩傳遞磁RAM)被視為替代DRAM內(nèi)存(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory)1 8。雖然目前由于成本不適合完成替換但非易失性存儲(chǔ)器已成為一個(gè)可行的組件,可能被添加到當(dāng)前的系統(tǒng)來提高性能9。臨時(shí)的非易失性存儲(chǔ)器解決方案在以支持超級(jí)電容器DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)的形式出現(xiàn)在服務(wù)器市場(chǎng) 10。作為非

3、易失性內(nèi)存預(yù)計(jì)將為DRAM提供性能競(jìng)爭(zhēng)力,同時(shí)保留非易失性特征。最近利用這些雙重特征的研究產(chǎn)生了興趣(1 - 8)。本文也探索了這些通過合并緩沖區(qū)緩存和日志記錄層新的內(nèi)存技術(shù)非易失性的特點(diǎn)。我們相信,我們所掌握的最好知識(shí)即我們的工作是第一個(gè)提出這樣的一個(gè)團(tuán)隊(duì)。 在傳統(tǒng)的系統(tǒng),主存是易丟失的, 在系統(tǒng)突然崩潰時(shí)文件系統(tǒng)可能會(huì)進(jìn)入一個(gè)不一致的和/或過時(shí)的狀態(tài) 11。為了緩解這個(gè)問題,日志記錄是一種記錄更新到非易失性存儲(chǔ)在一個(gè)短時(shí)間段為高可靠性和快速的系統(tǒng)恢復(fù),是廣泛采用現(xiàn)代文件系統(tǒng)12。然而, 由于其頻繁的存儲(chǔ)訪問,日志是一個(gè)嚴(yán)重的阻礙了高性能。例如,最近的一項(xiàng)研究表明, 由于日志存儲(chǔ)在移動(dòng)主導(dǎo)交

4、通手持設(shè)備,同步寫導(dǎo)致嚴(yán)重放緩的閃存存儲(chǔ)13。在云存儲(chǔ)系統(tǒng),即使有一個(gè)共識(shí),日志記錄是必要的, 由于高成本的網(wǎng)絡(luò)訪問參與日志所以它不能部署 14。在這項(xiàng)研究中,我們提出一個(gè)新穎的緩沖區(qū)緩存架構(gòu),消除幾乎所有的存儲(chǔ)訪問由于日志沒有任何損失的可靠性由智能采用非易失性內(nèi)存作為緩沖區(qū)緩存。乍看之下,僅僅采用一種非易失性緩沖區(qū)緩存似乎不足以提供高可靠的文件系統(tǒng)。然而,這并非如此,其中有兩個(gè)需求所需的支持文件系統(tǒng)的可靠性:耐用性和一致性。一種非易失性的緩沖區(qū)緩存,即使在停電后只需,確保耐久性作為它維護(hù)數(shù)據(jù)。然而,一致性無法保證在系統(tǒng)崩潰僅僅提供非波動(dòng)到緩沖區(qū)緩存。例如,一個(gè)典型的情況下,寫操作需要兩個(gè)數(shù)據(jù)

5、和元數(shù)據(jù)的更新,但更新后系統(tǒng)崩潰只有元數(shù)據(jù)。然后,數(shù)據(jù)的緩沖區(qū)緩存失去一致性,最終導(dǎo)致不一致的文件系統(tǒng)狀態(tài)。 我們提出一個(gè)新的緩沖區(qū)緩存架構(gòu),稱為UBJ(合并的緩沖區(qū)緩存和日志),。通過圖1提供的功能解決了這個(gè)問題。我們的提交進(jìn)程緩沖區(qū)緩存和原日志緩沖區(qū)緩存比較。日志沒有頻繁的存儲(chǔ)訪問。具體來說,我們建議改變就地提交更新的狀態(tài)緩存塊凍(即。、寫保護(hù))和管理它們作為一個(gè)事務(wù)權(quán)利在當(dāng)前的位置。這個(gè)方案不執(zhí)行另外的日志只是收獲同樣的效果只是通過改變一個(gè)狀態(tài)。此外,隨著塊在冷凍狀態(tài)仍然可以被用作一個(gè)緩存塊,緩沖區(qū)緩存的有效性不惡化。圖1顯示了我們提交的進(jìn)程緩沖區(qū)緩存與現(xiàn)有結(jié)合日志緩沖區(qū)緩存的比較。與之

6、前的工作最密切相關(guān)的是本研究也試圖緩解日志記錄開銷采用非易失性內(nèi)存文件系統(tǒng)和數(shù)據(jù)庫管理(15、16、17)。他們提高性能通過添加非易失性內(nèi)存作為一個(gè)單獨(dú)的日志區(qū)或者作為一個(gè)寫緩沖區(qū)日志文件。然而,在這些方案里,非易失性內(nèi)存不能作為一個(gè)緩存功能,分別從緩沖區(qū)緩存保存。我們的方案是不同的,我們的日志記錄功能智能的結(jié)合到緩沖區(qū)緩存架構(gòu),從而盡量減少額外的內(nèi)存復(fù)制和空間開銷。我們實(shí)現(xiàn)了一個(gè)原型的緩沖區(qū)緩存與就地提交在Linux中2 .6 .38。測(cè)量結(jié)果與各種存儲(chǔ)基準(zhǔn)顯示我們的方案提高了文件系統(tǒng)的性能平均提高了76%,相比現(xiàn)有的把ext4設(shè)置為日志模式Linux緩沖區(qū)緩存提高了240%。本文的其余部分

7、組織如下。第二節(jié)探討在寫日志存儲(chǔ)交通的影響。第三節(jié)我們?cè)诩?xì)節(jié)描述了緩沖區(qū)緩存架構(gòu)和算法。在第四節(jié),我們討論緩存性能問題的方案。第五部分提出了一個(gè)簡(jiǎn)短的描述,討論了實(shí)現(xiàn)實(shí)驗(yàn)結(jié)果的實(shí)現(xiàn)。第六節(jié)總結(jié)本文。2。分析存儲(chǔ)寫交通圖2顯示了一定數(shù)量的寫交通從緩沖區(qū)緩存來存儲(chǔ)當(dāng)日志是采用相對(duì)于它不是為各種工作負(fù)載。如圖2所示,當(dāng)使用日志寫交通大大增加;使用日志記錄的平均數(shù)據(jù)存儲(chǔ)是沒有日志記錄的2.7倍。當(dāng)我們不使用日志記錄,存儲(chǔ)寫道的發(fā)生只有當(dāng)臟塊從緩存中刪除或當(dāng)有一個(gè)明確的同步操作。然而,隨著日志,有兩個(gè)或更多的情況下,導(dǎo)致存儲(chǔ)寫道。第一種情況下,一個(gè)致力于日志區(qū)域發(fā)生。第二種情況是當(dāng)檢查點(diǎn)寫更新的數(shù)據(jù)到不

8、變的圖2。有日志的寫交通和我們提出方案(UBJ)相對(duì)于當(dāng)沒有為各種工作負(fù)載使用日志。文件系統(tǒng)位置的重現(xiàn),檢查點(diǎn)是周期性的觸發(fā),也激活當(dāng)空閑空間的大小在日志區(qū)低于某個(gè)閾值。正如我們所見,因?yàn)樗泄ぷ髫?fù)載,的日志占相當(dāng)大一部分存儲(chǔ)寫道,因此,它是一種性能退化的潛在來源。如圖2所示,然而,我們的UBJ方案執(zhí)行日志記錄除了消除了大部分的存儲(chǔ)寫. .。3. 緩沖區(qū)緩存與就地提交在UBJ,緩沖區(qū)緩存和日志區(qū)共享相同的分配空間。每一塊在這個(gè)空間功能要么作為一個(gè)緩存塊,一個(gè)日志塊,或一個(gè)緩存和日志塊同時(shí)有雙重功能的塊。我們可以描述每一塊狀態(tài)作為一個(gè)三個(gè)組合的狀態(tài)指標(biāo):冷凍/正常狀態(tài),臟/清潔狀態(tài),和最新/過時(shí)

9、的狀態(tài)(參見圖3)。冷凍/正常狀態(tài)的區(qū)分是根據(jù)是否塊是一個(gè)(普通的)緩存塊或一個(gè)(凍)日志塊。臟/清潔狀態(tài)指示是從它進(jìn)入緩存是否已被修改的塊。最新/過時(shí)的狀態(tài)指示塊是否是最新版本。這最后的區(qū)別是十分必要的,因?yàn)閷?duì)相同數(shù)據(jù)的多個(gè)塊可能存在于緩沖/期刊空間。下面,我們使用這些狀態(tài)州和這些狀態(tài)之間的轉(zhuǎn)換來描述圖3狀態(tài)圖的一個(gè)在我們的計(jì)劃UBJ緩存塊的工作原理。該計(jì)劃被描述為三種不同的操作:讀/寫操作,提交操作,和檢查點(diǎn)操作。a .讀/寫操作寫請(qǐng)求反應(yīng)取決于塊的狀態(tài)。如果塊是正常的,它只是更新。否則,也就是說,如果它是冷凍(日志塊),一份是到復(fù)制一個(gè)新的位置和更新的數(shù)據(jù)寫入副本。復(fù)制然后成為最新的,而

10、原來的變得過時(shí)。這允許登錄數(shù)據(jù)保持安全與系統(tǒng)故障。另一方面讀請(qǐng)求是被作用的,不顧塊的狀態(tài)和不會(huì)改變塊的狀態(tài)塊。這是因?yàn)殚喿x數(shù)據(jù)不影響一致性的街區(qū)。b .提交操作作為事務(wù)管理、UBJ定期提交數(shù)據(jù),改變正常臟塊的狀態(tài)凍臟塊。這是通過保持和操縱交易保持為列表。有三種類型的事務(wù)如圖4所示。第一個(gè)是一個(gè)運(yùn)行的事務(wù),維護(hù)正常的臟塊列表,臟了之后,以前的提交操作。當(dāng)提交操作是發(fā)布,這個(gè)運(yùn)行的事務(wù)被轉(zhuǎn)換為一個(gè)提交事務(wù)。此時(shí),提交事務(wù)上的塊是正常狀態(tài)是就地提交(因此,名稱是就地提交)只需將其狀態(tài)轉(zhuǎn)換為凍結(jié)狀態(tài)。新塊的寫到達(dá)這一轉(zhuǎn)換過程僅僅是添加到新的運(yùn)行的事務(wù)創(chuàng)建下一個(gè)提交時(shí)間。在狀態(tài)轉(zhuǎn)換過程中,如果相同的數(shù)據(jù)

11、塊被提交UBJ也檢查,如果是這樣,跟蹤前面的塊作為舊提交塊。對(duì)于高效的空間管理,這些舊提交塊可能會(huì)立即釋放。當(dāng)所有臟數(shù)據(jù)塊在提交事務(wù)成為凍結(jié)狀態(tài),我們把事務(wù)的狀態(tài)更改為一個(gè)檢查點(diǎn)事務(wù)。檢查點(diǎn)的事務(wù)維持在緩沖區(qū)緩存,直到他們通過檢查點(diǎn)被反映到文件系統(tǒng)。系統(tǒng)崩潰時(shí),他們用于文件系統(tǒng)恢復(fù)到一個(gè)一致和最新的狀態(tài)。C.檢查點(diǎn)操作檢查點(diǎn)操作更新文件系統(tǒng)提交的數(shù)據(jù)。UBJ掃描檢查點(diǎn)的事務(wù)列表和反映了他們自己在文件系統(tǒng)中固定的位置。當(dāng)一個(gè)數(shù)據(jù)塊發(fā)生多次提交,只有最后提交塊設(shè)置檢查點(diǎn),以減少檢查點(diǎn)開銷。事務(wù)檢查點(diǎn)完成后,緩存空間被凍塊回收。在這個(gè)過程中,如果是最新的,我們使用它作為一個(gè)緩沖區(qū)緩存塊通過改變其狀態(tài)

12、為正常,清潔,和更新相關(guān)的元數(shù)據(jù)。另一方面,如果塊是過時(shí)的,空間回收作為一個(gè)自由的塊。圖4.UBJ的數(shù)據(jù)結(jié)構(gòu)當(dāng)頻繁執(zhí)行提交操作時(shí),以減少漏洞窗口的可靠性,檢查點(diǎn)可以做更少當(dāng)它并不直接影響系統(tǒng)的可靠性。然而,過度延遲檢查點(diǎn)可能有負(fù)面影響。隨著檢查點(diǎn)間隔的增長(zhǎng),越來越多的緩存空間將被凍塊占用,有效減少緩沖區(qū)緩存,它可能導(dǎo)致緩沖區(qū)緩存性能的退化。為了防止這種情況,我們計(jì)劃觸發(fā)檢查點(diǎn)當(dāng)凍塊的數(shù)量大于某個(gè)閾值,這個(gè)閥值是用傳統(tǒng)的日志記錄。檢查點(diǎn)通過頁面也引發(fā)回收守護(hù)進(jìn)程當(dāng)從緩存中清除臟塊。圖5 我們UBJ方案和原始緩沖區(qū)緩存日志的比較表一 總結(jié)工作負(fù)載特征5 舉例圖5顯示UBJ的工作與一個(gè)典型的緩沖區(qū)緩

13、存方案的比較。在這個(gè)例子中,提交和檢查點(diǎn)周期分別設(shè)置為30 和90秒。塊A的初始內(nèi)容是D0。在時(shí)刻 10寫請(qǐng)求修改塊A的內(nèi)容D1,并將它轉(zhuǎn)換成臟塊。20秒后,提交。為了維持提交,UBJ只是改變塊A的狀態(tài)為凍結(jié)狀態(tài),而一個(gè)典型的緩沖區(qū)緩存會(huì)招致寫入存儲(chǔ)。假設(shè)另一個(gè)對(duì)塊A的寫發(fā)生在時(shí)刻 40。UBJ此時(shí)復(fù)制塊A到另一個(gè)位置A,然后將新數(shù)據(jù)寫入位置塊A。然后塊A變得過時(shí),而塊A現(xiàn)在最新的。(我們量化同一數(shù)據(jù)有多個(gè)副本塊的影響。)隨后寫在塊A被執(zhí)行當(dāng)它被提交(在這個(gè)例子中,寫在時(shí)刻50),因此凍結(jié)(在時(shí)刻 60)。當(dāng)檢查點(diǎn)時(shí)間發(fā)生在時(shí)刻 90,UBJ只反映塊A的最新版本,它的內(nèi)容是D3,進(jìn)入文件系統(tǒng)消

14、除不必要的寫(D1和D2)。在檢查點(diǎn)之后,塊A占據(jù)的空間被釋放,而塊A的最新版本被重用作為緩沖區(qū)緩存數(shù)據(jù)塊。在本例中,我們看到UBJ寫入存儲(chǔ)只有一次當(dāng)有檢查點(diǎn)時(shí)。當(dāng)它提交或檢查點(diǎn)時(shí)一個(gè)典型的緩沖區(qū)緩存方案每次生成存儲(chǔ)寫。這導(dǎo)致塊的寫最終被覆蓋,不需要保存。在實(shí)際中,提交比檢查點(diǎn)更頻繁,減少存儲(chǔ)寫的數(shù)量可能會(huì)更多。E.系統(tǒng)恢復(fù)系統(tǒng)崩潰導(dǎo)致不一致問題,當(dāng)數(shù)據(jù)可能仍然在緩沖區(qū)緩存部分更新,日志區(qū)域和文件系統(tǒng)。因此,在重啟異常終止,UBJ經(jīng)歷以下步驟進(jìn)行恢復(fù)。首先,檢查運(yùn)行的事務(wù)列表。這個(gè)列表是駐留在緩沖區(qū)緩存塊,可能是部分更新。然而,由于這些都是未提交的數(shù)據(jù),因此,沒有體現(xiàn)在文件系統(tǒng)上,我們只是使這

15、些塊失效。接下來,我們考慮提交事務(wù)列表。在提交事務(wù)之間發(fā)生崩潰時(shí),提交事務(wù)列表可能會(huì)在部分提交狀態(tài)包含一個(gè)混合的提交和還未提交的塊。在這種情況下,當(dāng)正常提交操作沒有完成,當(dāng)它運(yùn)行的事務(wù)列表時(shí)UBJ只是以同樣的方式使數(shù)據(jù)無效。最后利用檢查點(diǎn)事務(wù),系統(tǒng)狀態(tài)是一致的。即使文件系統(tǒng)可能損壞當(dāng)在執(zhí)行檢查點(diǎn)操作發(fā)生崩潰時(shí),系統(tǒng)可以恢復(fù)到一個(gè)一致的狀態(tài)只需重新運(yùn)行所有檢查點(diǎn)操作,當(dāng)所有的檢查點(diǎn)事務(wù)仍然駐留在緩沖區(qū)緩存。圖6 緩存丟失率作為緩存大小的功能。4. 緩存性能正如我們計(jì)劃保留日志塊在緩沖區(qū)緩存,一個(gè)數(shù)據(jù)塊可能占領(lǐng)多個(gè)緩存塊,降低緩沖區(qū)緩存的空間效率。為了研究這種影響,我們比較原始緩沖區(qū)緩存即只用于緩

16、存的緩沖區(qū)的丟失率和沒有日志塊(BF-no)和UBJ,這些緩存和日志空間是合并的。此外,出于比較目的,我們也觀察到的丟失率的假設(shè)方案,使用一半的內(nèi)存空間分配專用緩沖區(qū)緩存和另外一半作為專門日志區(qū)。我們將調(diào)用這個(gè)方案緩沖區(qū)緩存與內(nèi)存日志(BFJm)。這個(gè)方案實(shí)現(xiàn)就像傳統(tǒng)的日志記錄日志,除了這樣一個(gè)事實(shí):日志區(qū)不是存儲(chǔ)在內(nèi)存中,可能是存儲(chǔ)在非易失性內(nèi)存中。圖6劃出3個(gè)對(duì)文件工作臺(tái)標(biāo)準(zhǔn)的緩沖區(qū)緩存方案的緩存丟失率,這個(gè)標(biāo)準(zhǔn)是一個(gè)代表性的文件系統(tǒng)標(biāo)準(zhǔn)。表1總結(jié)了本文文件工作臺(tái)工作負(fù)載使用的特性。我們相對(duì)于I / O足跡改變緩存大小從0.1 到2.0。一般來說,由于緩存將同時(shí)容納所有塊引用的痕跡所以緩存

17、大小是1.0和無限緩存容量是相同的。然而,隨著UBJ 和BF-Jm使用緩沖區(qū)緩存空間的某一部分日志區(qū),1.0的緩存大小可能不足以容納所有的請(qǐng)求。對(duì)BF-Jm投入總量的一半空間緩沖區(qū)緩存,另一半緩存大小2.0相當(dāng)于無限緩存容量的日志區(qū)域。此外,監(jiān)控UBJ性能下降最糟糕的情況下,我們延遲檢查點(diǎn)的冷凍日志塊直到他們選為受害者的緩存替換策略。結(jié)果如圖6所示顯示UBJ的緩存的性能的展示只有邊緣BF-no退化,相比于BFJm的性能顯著下降。更清楚地明白這一點(diǎn),我們也在圖7中劃出一部分緩沖區(qū)/日志區(qū)被凍塊占用當(dāng)緩存的空間大小是0.7(70%)工作負(fù)載的足跡,這是UBJ和BF-Jm之間的性能差距最大。我們觀察

18、到UBJ對(duì)所有工作負(fù)載的日志區(qū)使用緩沖/雜志的很大一部分空間,這導(dǎo)致讀請(qǐng)求被服務(wù)通過這些凍塊。如圖8所示,大約16%到48%的碰撞發(fā)生在UBJ區(qū)域。相反,像BF-JM方案只致力于(非易失性)日志空間不能充分利用駐留在那里的數(shù)據(jù)。隨著時(shí)間推移,圖9劃出了對(duì)文件服務(wù)器工作敷在的日志空間比。這圖顯示了UBJ日志空間動(dòng)態(tài)的改變根據(jù)工作負(fù)載的進(jìn)展。(其他工作負(fù)載的結(jié)果是沒有顯示的,只是顯示類似的動(dòng)態(tài)行為。圖10 吞吐量和文件工作臺(tái)工作負(fù)載的執(zhí)行時(shí)間圖11 當(dāng)文件集的大小是不同的IO空間吞吐量 圖12 當(dāng)事務(wù)數(shù)量是不同的郵戳吞吐量。5. 性能評(píng)估A. 實(shí)現(xiàn)我們?cè)贚inux 2.6.38 實(shí)現(xiàn)了一個(gè)UBJ原

19、型,我們把我們的方案與ext4原來運(yùn)行在Linux(BF-ext4)的比較。我們?cè)O(shè)置ext-4的日志選項(xiàng)為日志模型,記錄了數(shù)據(jù)和元數(shù)據(jù),,提供和UBJ相同的一致性語義。根據(jù)常規(guī)配置,對(duì)所有方案的提交時(shí)間設(shè)置為5秒。檢查點(diǎn)被觸發(fā),當(dāng)4個(gè)日志區(qū)被填充滿或者距離上次檢查點(diǎn)時(shí)間過去5分鐘.為了更好的空間效率,我們采用早期回收政策釋放舊版本的冷凍日志塊,也就是舊提交塊,最近提交版本時(shí)立即生成相同的數(shù)據(jù)塊。我們的實(shí)驗(yàn)平臺(tái)由英特爾酷睿i3 - 2100 CPU 運(yùn)行在3.1 Ghz和4 GB的DDR2 - 800內(nèi)存組成。雖然我們的設(shè)計(jì)假定非易失性內(nèi)存PCM或STT-MRAM等還沒有商業(yè)化,我們只是使用的一

20、部分DRAM作為緩沖/日志空間。我們測(cè)量的性能有三個(gè)代表存儲(chǔ)基準(zhǔn):Filebench(工作臺(tái))18,IOzone(IO空間)19,和郵戳20。B.實(shí)驗(yàn)結(jié)果圖10顯示了UBJ的執(zhí)行時(shí)間和吞吐量和 BF-ext4 對(duì)工作臺(tái)工作負(fù)載的比較。如圖所示,UBJ在所有工作負(fù)載執(zhí)行比BF-ext4要好。UBJ的執(zhí)行時(shí)間和吞吐量平均比BF-ext4高30.7%和59.8%。Varmail在執(zhí)行時(shí)間和吞吐量的性能改善是4個(gè)工作負(fù)載中是最大的,分別是60%和240%。如此大的改進(jìn)背后的原因是,varmail包含大量的寫請(qǐng)求,從而引起頻繁的提交(由于其小內(nèi)存占用所以經(jīng)常不執(zhí)行檢查點(diǎn))。此外,varmail發(fā)出并發(fā)讀

21、寫請(qǐng)求。雖然我們方案計(jì)劃沒有一個(gè)明確的政策來提高讀取性能,消除頻繁存儲(chǔ)緩解硬件資源的爭(zhēng)用像內(nèi)存總線和dma方式,通常導(dǎo)致提高I / O性能。甚至讀密集型工作負(fù)載的網(wǎng)絡(luò)服務(wù)器和代理,由于這個(gè)原因UBJ得到改善分別提高了23%和11%。對(duì)于文件服務(wù)器是一個(gè)頻繁的寫,我們的方案和varmail比較相對(duì)來說提高的比較少。這是因?yàn)榇蠖鄶?shù)寫請(qǐng)求在文件服務(wù)器是大量和順序?qū)懭?導(dǎo)致頻繁的檢查點(diǎn)。圖11顯示了UBJ和BF-ext4對(duì)IO空間基準(zhǔn)的吞吐量 。IO空間測(cè)量文件IO的性能通過生成特定類型的批量操作。它創(chuàng)建一個(gè)大文件,在該文件上執(zhí)行的一系列操作。我們測(cè)量的性能有兩個(gè)IOzone場(chǎng)景-隨機(jī)寫操作和順序?qū)?

22、不同的總文件集的大小從100 mb到300 mb。圖中顯示,UBJ在所有配置優(yōu)于BF-ext4。具體來說,平均性能提高2.1倍。這種增強(qiáng)的來源是通過就地提交大量減少存儲(chǔ)寫道。還要注意當(dāng)文件集的大小減少時(shí)UBJ相對(duì)于BF-ext4執(zhí)行的更好。這是因?yàn)檩^小的文件集大小檢查點(diǎn)完成較少導(dǎo)致減少存儲(chǔ)訪問。不像UBJ, BF-ext4對(duì)文件集的大小不太敏感。這是因?yàn)锽Fext4的性能主要是提交的數(shù)量,這是獨(dú)立于文件集的大小。另一個(gè)觀察,可以由IOzone是比UBJ更敏感對(duì)文件集大小的隨機(jī)寫道。這是因?yàn)殡S機(jī)寫在很大程度上影響尋道時(shí)間作為隨機(jī)訪問招致大量尋求檢查點(diǎn)將磁頭移動(dòng)到所需的位置的開銷。圖12顯示了郵戳吞吐量基準(zhǔn)。郵戳模擬電子郵件服務(wù)器并發(fā)執(zhí)行讀寫操作?;鶞?zhǔn)報(bào)告單獨(dú)的讀和寫操作的性能數(shù)據(jù)。我們不同的郵戳交易的數(shù)量從2000到10000在1000個(gè)文件中,其平均尺寸是500 kb。如圖所示,UBJ展示平均比BF-ext4的吞吐量搞109%。請(qǐng)注意,由于減少存儲(chǔ)寫道讀操作的吞吐量也提高了。我們還觀察到當(dāng)減少事務(wù)數(shù)量是UBJ的性能得到改善。類似于IOzone,這是因?yàn)楦嗟腢BJ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論