賴策+劉茜
摘要:目前,針對 Linux 內(nèi)核中的文件系統(tǒng)、調(diào)度策略等與IO性能相關(guān)的研究工作較多,但是專門針對閃存設(shè)備特別是基于SUSERT,SUSE下的IO性能分析與優(yōu)化工作卻非常少。因此該文對Linux內(nèi)核與閃存設(shè)備IO性能密切相關(guān)的文件系統(tǒng),調(diào)度策略等機制進(jìn)行了詳細(xì)的分析,并根據(jù)分析結(jié)果,探索影響suse系統(tǒng)與susert系統(tǒng)IO性能的因素。
關(guān)鍵詞:SUSERT;SUSE;性能;分析
中圖分類號:N945.15 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)25-0251-02
1 國內(nèi)外研究現(xiàn)狀
I/O性能與參數(shù)設(shè)置密切相關(guān),如塊大小,復(fù)制因子等。參數(shù)調(diào)優(yōu)是指對負(fù)載采取合理的參數(shù)設(shè)置,通過一系列迭代優(yōu)化來實現(xiàn)性能的優(yōu)化。迭代過程是冗長的,所以現(xiàn)有的研究中學(xué)者提出了不同的參數(shù)調(diào)優(yōu)方法[1]。
柳香等人[2]提出了一種基于遺傳算法的參數(shù)優(yōu)化方法。該方法將影響性能的主要配置屬性作為基因并編碼,通過實驗結(jié)果的反饋不斷選擇、交叉、變異,多次迭代后產(chǎn)生近似的最優(yōu)配置方案。為防止算法較早陷入局部最優(yōu),選擇過程中采用隨機選擇和賭輪選擇交替進(jìn)行的方式,最后通過遺傳算法得出任務(wù)的最佳配置。此方法不受負(fù)載特征和集群配置的限制,具有普遍適用性和穩(wěn)定性。然而,這種方法需要考慮所有參數(shù)組合的適應(yīng)度,計算復(fù)雜度高,需要大量的實驗驗證其有效性。
王皎和劉閆鋒[3]提出了一種基于策略選擇的抽樣算法,即通過在加入策略感知層,在進(jìn)行參數(shù)優(yōu)化實驗時,通過隨機抽樣算法抽取任務(wù)的輸入,傳給決策感知層計算,決策感知層會根據(jù)部分實驗結(jié)果自動優(yōu)化設(shè)置這些復(fù)雜的參數(shù)。
Kambatla K等人[4]提出了性能參數(shù)自動優(yōu)化的模型,這個模型通過取任務(wù)輸入的一部分?jǐn)?shù)據(jù)試運行,分析這部分?jǐn)?shù)據(jù)的資源消耗特征,根據(jù)資源消耗特征從存檔數(shù)據(jù)庫中得到相應(yīng)的最優(yōu)配置,若對應(yīng)的記錄不存在,則通過實驗來驗證某些參數(shù)的最優(yōu)值。這種方法需要事先通過大量實驗來獲得多種類型的任務(wù)的運行特征,對于新類型的任務(wù)優(yōu)化需先進(jìn)行大量的實驗進(jìn)行探索。
Saboori A和Jiang G等人[5]提出一種CMA(covariance matrix adaptation)算法進(jìn)行參數(shù)自動配置。這種算法將參數(shù)優(yōu)化問題轉(zhuǎn)換成對一個黑盒進(jìn)行優(yōu)化,即考慮參數(shù)變化時的某個性能參數(shù)(如CPU使用)之間的數(shù)學(xué)關(guān)系,建立相應(yīng)的數(shù)學(xué)模型。這種方法對于某個參數(shù)的最優(yōu)值同樣需要大量的實驗,同時未考慮參數(shù)之間的關(guān)系,因此具有一定的局限性。
2 研究方法及技術(shù)路線
優(yōu)化的系統(tǒng)配置可以保證應(yīng)用能夠在系統(tǒng)上以最優(yōu)的狀態(tài)運行,但硬件問題、軟件問題、網(wǎng)絡(luò)環(huán)境等具有復(fù)雜性和多變性,從而導(dǎo)致對系統(tǒng)的優(yōu)化異常復(fù)雜[7]。首先從suse系統(tǒng)與susert系統(tǒng)入手,重點分析由于系統(tǒng)軟、硬件配置不當(dāng)而造成的性能問題,并給出相應(yīng)的檢測系統(tǒng)故障和優(yōu)化性能的一般方法和流程。這是實現(xiàn)操作系統(tǒng)的各個子系統(tǒng)之間的平衡性,這些子系統(tǒng)包括:CPU、內(nèi)存磁盤、I/O帶寬、網(wǎng)絡(luò)I/O帶寬子系統(tǒng)之間相互依存,任何一個子系統(tǒng)的負(fù)載過度都能導(dǎo)致其他子系統(tǒng)出現(xiàn)問題,例如:大量的 page-in IO 請求可能導(dǎo)致內(nèi)存隊列被塞滿;網(wǎng)卡的巨量吞吐可能導(dǎo)致 CPU 資源耗盡;系統(tǒng)嘗試保持釋放內(nèi)存隊列時可能耗盡 CPU 資源;來自內(nèi)存的大量磁盤寫入請求可能導(dǎo)致 CPU 資源和 IO 通道耗盡。
3 數(shù)據(jù)分析及結(jié)論
通過sysbench等系統(tǒng)評測工具對suse、susert系統(tǒng)下不同線程和不同進(jìn)程的情況下進(jìn)行大量的數(shù)據(jù)測試,得到如下圖數(shù)據(jù):
結(jié)論:由多線程和多進(jìn)程的io性能變化趨勢可以看出,當(dāng)占用較低的負(fù)載時,suse系統(tǒng)的io性能和susert系統(tǒng)的io性能相比,susert略差,當(dāng)負(fù)載較高以后,suse系統(tǒng)io性能好于suseRT系統(tǒng)的io性能。
結(jié)論:每組柱狀圖依次是占用1,2,4,8,16,32線程下io性能的表示,每組最后兩個數(shù)據(jù)為該系統(tǒng)下的平均水平,由圖可以看出線程少時,suse性能的略比susert差,隨著thread增加,兩系統(tǒng)io性能接近,高負(fù)載時,suse又差于rt性能。
參考文獻(xiàn):
[1] 呂永為. RAID5讀寫性能優(yōu)化研究[D]. 華中科技大學(xué),2012.
[2] 柳香,李瑞臺.Hadoop性能優(yōu)化研究[J].河北師范大學(xué)學(xué)報:自然科學(xué)版,2012,35(6):567-570.
[3] 王皎,劉閆鋒. Hadoop集群參數(shù)的自動調(diào)優(yōu)[J].電腦知識與技術(shù),2012,8(12):2768-2772.
[4] Kambatla, Pathak, Pucha. Towards optimizing hadoop provisioning in the cloud[C]. In:Proc. of the First Workshop on Hot Topics in Cloud Computing,2009:118.
[5] Saboori, Jiang, Chen. Autotuning configurations in distributed systems for performance improvements using evolutionary strategies[A]. In:Distributed Computing Systems, 2008. ICDCS08. The 28th International Conference on[C]. IEEE, 2008:769-766.
[6] 高俊峰.高性能Linux服務(wù)器構(gòu)建實戰(zhàn) 運維監(jiān)控、性能調(diào)優(yōu)與集群應(yīng)用[M].北京:機械工業(yè)出版社,2013.endprint