国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

云存儲中軟件RAID的性能優(yōu)化

2013-09-17 10:31:32吳苑
微型電腦應用 2013年9期
關鍵詞:磁盤陣列哈希英特爾

吳苑

0 引言

對公司和企業(yè)來說,用于服務和保存數(shù)據(jù)的存儲系統(tǒng)變得越來越重要。磁盤冗余陣列(RAID)被應用于存儲市場以提供冗余、提高性能并降低成本。RAID可以通過操作系統(tǒng)上層的軟件仿真或者專用的硬件磁盤陣列來實現(xiàn)計算機系統(tǒng)對磁盤陣列相應的數(shù)據(jù)流管理。

過去,由于硬件磁盤陣列卡擁有專門的電路來處理所有磁盤陣列驅(qū)動器的數(shù)據(jù)計算,而不需要處理器并且可以提供優(yōu)越的性能,專門的硬件磁盤陣列卡被廣泛使用。與此同時,硬件磁盤陣列卡的高成本以及其對BIOS兼容性的要求成為了主要瓶頸。

為了解決這種問題,更多人把目光投向了軟件磁盤陣列。軟件RAID是在操作系統(tǒng)上層利用軟件仿真的。在軟件仿真RAID中,需要占用普通計算環(huán)境中的處理器計算周期來專門處理RIAD接口的必要任務。與硬件RAID相比,軟件RAID很快發(fā)展成為一種具有成本效益和靈活性的解決方案。在云存儲成為存儲市場的新概念時,軟件RAID由于其低成本及高可擴展性將在存儲市場得到更廣泛的應用。

盡管軟件RAID有很多優(yōu)勢,其最關鍵的問題是系統(tǒng)性能的下降。隨著處理器、內(nèi)存、磁盤驅(qū)動器以及RAID級別的不同,它在任何環(huán)節(jié)都可能發(fā)生并損失5%甚至更高的性能。由于軟件RAID通常建立在性能一般價格便宜的磁盤上,數(shù)據(jù)保護和完整性非常重要。軟件RAID會記錄數(shù)據(jù)的校驗和并在每次讀取數(shù)據(jù)時進行驗證。當發(fā)現(xiàn)錯誤時,軟件RAID會修正校驗和。由于軟件RAID是建立在操作系統(tǒng)核心上并且依賴于處理器來進行這些計算,處理器成為了軟件RAID的潛在性能瓶頸,同樣也為使用新一代CPU來提升軟件RAID的性能提供了機會。

Zettabyte文件系統(tǒng)(ZFS)是一種開源的文件系統(tǒng),采用新的軟件RAID模式RAID-Z。RAID-Z和RAID-5類似,但采用了可變條帶寬帶來消除RAID-5的寫入漏洞。RAID-Z全部是全條帶寫入,沒有讀-修改-寫入的損失,沒有寫入漏洞,也不需要硬件的非易失性隨機訪問存儲器(NVRAM)。ZFS還支持校驗功能以確保數(shù)據(jù)完整性。由于ZFS擁有上述優(yōu)勢,本文選擇ZFS作為軟件RAID性能優(yōu)化的對象。

1 算法和設計

1.1 ZFS校驗和終端對終端校驗是ZFS強大的功能之一,使得ZFS可以發(fā)現(xiàn)并修正很多種其他產(chǎn)品不能發(fā)現(xiàn)或修真的錯誤。在文件系統(tǒng)級別啟用校驗,可以降低在應用程序級別啟用校驗的需要。ZFS提供了多種校驗算法,如fletcher2,fletcher4和SHA256.

fletcher2是ZFS上默認的校驗算法。然而,它的算法非常簡單,只是并行運行兩個8位的fletcher校驗。每一個校驗操作從間隔的64字符數(shù)據(jù)中讀取,再將產(chǎn)生的4個64位的數(shù)量連接在一起形成了256位的結果。數(shù)據(jù)源中的單個位錯誤會影響最多128位的校驗和。然而這種校驗算法的可靠性不是很高,存在缺陷。例如,只有50%的機會捕捉到一個磁盤塊上任意64比特字中最重要的比特中的一個單比特的錯誤或任何連續(xù)的單比特錯誤。Fletcher2可以提供的數(shù)據(jù)沖突可能性是2-8。

SHA256是一個安全的哈希散列算法。它使用256比特的塊大小作為輸出,為每個數(shù)據(jù)塊的數(shù)據(jù)和元數(shù)據(jù)技術哈希值,并將其作為校驗和存儲。當相關數(shù)據(jù)被讀取時,ZFS會比較校驗和來確保數(shù)據(jù)完整性。由于SHA256使用了256比特塊大小的哈希值,它可以提供的數(shù)據(jù)沖突可能性是2-256。它與fletcher2相比更加安全可靠。

然而,由于SHA256會占據(jù)過多的處理器周期來進行計算并導致系統(tǒng)性能的大幅度下降,ZFS使用了fletcher2作為系統(tǒng)默認的校驗算法。盡管SHA256對數(shù)據(jù)更加安全,由于性能較差,現(xiàn)階段很難實現(xiàn)用SHA256進行數(shù)據(jù)校驗。

1.2 瓶頸分析

本文使用filebench作為性能基準測試工具,并用dtrace來分析性能和尋找瓶頸。

下表是使用英特爾nehalem處理器在ZFS上啟用不同校驗算法得到的性能測試結果,如表1所示:

從表中可以看出,當啟用SHA256進行數(shù)據(jù)校驗時,系統(tǒng)延時有非常大的增加。

使用dtrace進行分析的報告,如表2所示:

表2 dtrace性能分析報告

從中可以看出SHA256占據(jù)了100%的處理器并使得系統(tǒng)性能迅速下降。從分析結果中可以看出,由于SHA256占據(jù)了過多的處理器周期來進行SHA256轉(zhuǎn)換塊計算,處理器成為在ZFS上啟用SHA256進行校驗的性能瓶頸。

1.3 測試方法

本文使用英特爾core i5 650處理器,在ZFS上使用不同校驗算法對順序讀取的性能包括帶寬、延時等進行了測試。該處理器是英特爾Westmere處理器并且發(fā)布了最新的AES(Advanced Encryption Standard)指令集。

英特爾發(fā)布的不同代處理器比較,如表3所示:

表3 測試中使用的不同代英特爾處理器比較

從表中可以看出core i7到core i5沒有結構上的變化,甚至core i7由于具有更多的核和緩存會有更好的特性。Core i5最明顯的改善在于AES指令集的啟用。

盡管該指令集是針對AES而不是直接對SHA256, 它同樣可以加快部分的哈希計算。由于SHA256是一種哈希散列算法,它在英特爾啟用了AES指令集的Westmere處理器上同樣可以獲得性能提升。

1.4 存在的問題

在使用Westmere處理器進行性能測試時,首先得到的結果中SHA256與其他校驗算法有類似的延遲。在評估根本原因的過程中,發(fā)現(xiàn)當使用SATA硬盤進行測試時,硬盤的輸入、輸出性能取代處理器成為了瓶頸。因此,我們改用了固態(tài)硬盤(SSD)來繼續(xù)測試處理器改善帶來的性能提升。

然而,當使用fletcher2或者fletcher4進行數(shù)據(jù)校驗時,硬盤仍然是性能瓶頸,因為這兩種校驗方法只是使用簡單的數(shù)列和計算而并不需要如此的依賴處理器進行計算。

2 結果及分析

在使用英特爾不同代處理器及啟用不同校驗算法進行性能測試之后,可以得出如下結論:

(1)當啟用SHA256進行數(shù)據(jù)校驗,使用英特爾最新Westmere處理器,相比酷睿2系統(tǒng)可以獲得28%的帶寬提升,相比迅馳(Nehalem)可以獲得11%的帶寬提升。

(2)與fletcher2獲得的性能提升相比,SHA256獲得的提升仍然不足夠。這是由于Westmere處理器的AES指令集只能加速SHA256的部分哈希散列運算。

從測試結果可以看出,如圖1-圖4所示:

圖1 不同代處理器的性能測試結果 –帶寬

圖2 不同代處理器的性能測試結果 –延時

圖3 不同代處理器的性能測試結果 –處理器百分比

圖4 不同代處理器的性能測試結果 –處理器時間/操作

這里我們只測試了使用SHA256作為校驗算法的ZFS的性能改善,并與前幾代如迅馳和酷睿2處理器進行對比。由于不同的處理器有不同數(shù)量的多核,我們禁用了迅馳處理器上的兩個核以便在雙核的基礎上進行性能比較。除此之外,由于在使用fletcher進行校驗時處理器使用率并不高,性能的瓶頸在于硬盤而非處理器。這也導致了最終測試結果中,當使用fletcher進行校驗,在迅馳處理器上帶寬和延時性能較好于Westmere處理器。

SHA256同樣能在ZFS的去除冗余功能中使用。當然這會占據(jù)更多的處理器和內(nèi)存資源來進行數(shù)據(jù)計算。我們可能會在ZFS的去除冗余功能中看到更多的性能提升。

數(shù)據(jù)去除冗余對存儲的優(yōu)化來說非常重要。它可以消除大量占據(jù)磁盤空間的冗余數(shù)據(jù)以節(jié)省磁盤空間。此外,由于只有一個數(shù)據(jù)副本,它也可能會提高系統(tǒng)性能。系統(tǒng)將不需要在多個磁盤上搜索特定的數(shù)據(jù)塊。

但是ZFS上的去除冗余還有許多性能問題。例如,當啟用去除冗余來刪除較大的文件或文件夾時,可能會造成服務器掛起。使用Westmere處理器對SHA256的性能提升有可能會幫助解決去除數(shù)據(jù)冗余上這種性能問題并使它更快成為一種產(chǎn)品。

3 結論

由于我們使用了一款較為低端的Westmere處理器,Westmere上的性能測試結果并不盡如人意。盡管如此,基于現(xiàn)在對ZFS上啟用SHA256得到的性能測試結果,可以證明我們的想法是可以實現(xiàn)的。

(1)使用SHA256進行校驗,在Westmere處理器上可以獲得迅馳處理器上1.1倍的帶寬和90%的延時。英特爾的Westmere處理器可以幫助提高SHA256校驗的性能并提升軟件RAID的性能。

(2)在Westmere處理器中,使用SHA256可以獲得默認校驗算法fletcher2的70%的帶寬以及1.4倍的延時。SHA256的性能仍然沒有好到可以作為默認的選項。

(3)如果處理器的設計可以特別為SHA256提供指令集,SHA256可能會獲得更多的性能提升。

[1]http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Tuning_ZFS_Checksums[OL]

[2]Yu Sasaki,Lei Wang,and Kazumaro Aoki,Preimage Attacks on 41-Step SHA-256 and 46-Step SHA-512,[M]accessed 3 Jan 2010

[3]Intel?Advanced Encryption Standard(AES)[C]Instructions Set.

[4]Benadjila,R.Billet1,O.Gueron,S.and M.J.B.Robshaw.The Intel AES[C]Instructions Set and the SHA-3 Candidates

猜你喜歡
磁盤陣列哈希英特爾
英特爾攜手一汽集團,引領汽車行業(yè)全新變革
更換磁盤陣列磁盤
英特爾擴充FPGA可編程加速卡產(chǎn)品組合
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
外資力薦高通并購賽靈思對抗英特爾
電子世界(2015年22期)2015-12-29 02:49:41
基于維度分解的哈希多維快速流分類算法
計算機工程(2015年8期)2015-07-03 12:20:04
電視播出機房磁盤陣列預防性維護
電視技術(2014年22期)2014-07-02 00:29:58
好平板有強芯 英特爾Bay Trail芯片解析
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
計算機工程(2014年6期)2014-02-28 01:25:40
一種基于Bigram二級哈希的中文索引結構
高邑县| 大兴区| 德清县| 闽侯县| 华亭县| 南雄市| 武宣县| 阿坝| 泗阳县| 班戈县| 曲阳县| 昌邑市| 凤庆县| 乌苏市| 大安市| 巴彦县| 虹口区| 九江市| 龙海市| 怀远县| 邯郸县| 黎平县| 商城县| 凤台县| 红河县| 襄垣县| 伊通| 肥城市| 无极县| 清新县| 五峰| 莱西市| 措勤县| 长泰县| 枣庄市| 西乡县| 股票| 句容市| 图片| 镇远县| 徐闻县|