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

?

基于機器學(xué)習(xí)的動態(tài)分區(qū)并行文件系統(tǒng)性能優(yōu)化

2020-11-30 06:26:52吳嘉澍王紅博須成忠
集成技術(shù) 2020年6期
關(guān)鍵詞:吞吐量分區(qū)機器

吳嘉澍 王紅博 代 浩 須成忠 王 洋

1(中國科學(xué)院深圳先進技術(shù)研究院 深圳 518055)

2(墨爾本大學(xué)計算與信息系統(tǒng)學(xué)院 墨爾本 3052)

3(澳門大學(xué)物聯(lián)網(wǎng)智慧城市國家重點實驗室 澳門 999078)

1 引 言

伴隨著互聯(lián)網(wǎng)、大數(shù)據(jù)和云計算技術(shù)的發(fā)展,應(yīng)用系統(tǒng)的計算、數(shù)據(jù)和部署越來越集中,應(yīng)用系統(tǒng)的規(guī)模也相應(yīng)地不斷擴大。對于輸入輸出(I/O)密集型的應(yīng)用程序,存儲系統(tǒng)性能,即其運行效率,常常會成為整個系統(tǒng)的性能瓶頸。常見的性能指標有吞吐量(Throughput)、每秒讀寫操作次數(shù)(Input/Output Operations per Second,IOPS)等。為了解決這一問題,研究者進行了各種各樣的嘗試,而并行文件系統(tǒng)便是一種被廣泛應(yīng)用的系統(tǒng)技術(shù)[1]。

并行文件系統(tǒng)通過將多個邏輯上獨立的存儲節(jié)點聚合為一個有邏輯的、高性能的存儲系統(tǒng)來緩解或解決相應(yīng)的存儲系統(tǒng)性能問題。它可以將分散于各個存儲節(jié)點上的磁盤性能進行匯聚,以統(tǒng)一的、標準的接口為應(yīng)用提供高性能的文件存儲及訪問服務(wù),并可以隨著系統(tǒng)規(guī)模的擴大而很容易地進行縱向、橫向的擴展,因而具有高吞吐量、高 I/O 帶寬、容易擴展等特點[2]。

現(xiàn)實場景中的應(yīng)用系統(tǒng)都具有多樣性。應(yīng)用系統(tǒng)本身的特點及其數(shù)據(jù)訪問層的設(shè)計決定了其在并行文件系統(tǒng)上的訪問需求及 I/O 訪問模式。譬如對于視頻監(jiān)控類應(yīng)用來說,其 I/O 訪問模式主要以順序讀或?qū)憺橹鳎瑥娬{(diào)并行文件系統(tǒng)的吞吐量;而股票交易系統(tǒng)的 I/O 訪問模式則以隨機讀或?qū)憺橹鳎瑥娬{(diào) IOPS 的并發(fā)能力[3]。如何針對應(yīng)用系統(tǒng)的 I/O 模式在并行文件系統(tǒng)的配置上進行優(yōu)化,從而產(chǎn)生協(xié)同效果是一個值得思考的問題。而現(xiàn)有的性能優(yōu)化方法,無論是基于并行文件系統(tǒng)本身,或是基于應(yīng)用系統(tǒng)本身,都較少考慮這一點。

另一方面,當前提出的優(yōu)化方法,絕大多數(shù)都是基于某一個時間點的、靜態(tài)的優(yōu)化方法[4-6]。當應(yīng)用系統(tǒng)的功能、負載或者架構(gòu)發(fā)生變化時,并行文件系統(tǒng) I/O 訪問模式也會隨之產(chǎn)生變化,而這種變化將導(dǎo)致已有的優(yōu)化方法可能不再適用于當前的系統(tǒng)。因此,根據(jù)某一個時間點應(yīng)用系統(tǒng)的 I/O 模式對應(yīng)用系統(tǒng)或并行文件系統(tǒng)進行孤立的、靜態(tài)的優(yōu)化方法都有其局限性。

在理想狀況下,各種并行文件系統(tǒng)的設(shè)計假設(shè)所有的底層硬件都具有性能的一致性。正是出于這種假設(shè),并行文件系統(tǒng)在設(shè)計時通常按照一定的算法將系統(tǒng)的 I/O 負載均勻地分配到每一個底層的數(shù)據(jù)存儲節(jié)點上,但這種設(shè)計可能會存在底層存儲系統(tǒng)的性能沒有被充分利用的情況。因為在具體實踐中,并行文件系統(tǒng)的各個存儲服務(wù)器節(jié)點之間存在性能差異是常見的現(xiàn)象。不管這種差異是由于 I/O 控制方式造成的,還是由于其存儲介質(zhì)原理、運轉(zhuǎn)機制等造成的,該差異在大多數(shù)情況下并沒有在并行文件系統(tǒng)設(shè)計的時候被考慮,因而可能會造成性能較好的節(jié)點資源未被充分利用的情形。雖然這種情況可以通過應(yīng)用數(shù)據(jù)存儲分布策略和并發(fā)策略來彌補,但仍然值得留意。

綜上所述,現(xiàn)有并行文件系統(tǒng)優(yōu)化方法雖能在一定程度上緩解或解決性能問題,但是仍然存在不足。本文將尋求一種新的,更具有針對性、適應(yīng)性的并行文件系統(tǒng)性能優(yōu)化方法。本文的創(chuàng)新性及先進性主要體現(xiàn)在以下幾點。

(1)基于機器學(xué)習(xí)的動態(tài)分區(qū)并行文件系統(tǒng)框架:通過對各種應(yīng)用 I/O 模式下影響并行文件系統(tǒng)性能的因素和性能指標數(shù)據(jù)進行相關(guān)性分析,發(fā)現(xiàn)并通過實驗證實了塊分區(qū)尺寸與兩個主要性能度量指標之間的關(guān)系,據(jù)此再結(jié)合機器學(xué)習(xí)技術(shù)提出了基于機器學(xué)習(xí)的動態(tài)分區(qū)并行文件系統(tǒng)的優(yōu)化方案。

(2)基于邏輯回歸的面向文件系統(tǒng)動態(tài)分區(qū)的機器學(xué)習(xí)算法:對基于動態(tài)分區(qū)的并行文件系統(tǒng)性能優(yōu)化方法進行歸納和總結(jié),提出基于邏輯回歸的優(yōu)化算法,從而實現(xiàn)通過輸入調(diào)優(yōu)參數(shù)后利用模型預(yù)測性能影響的方法來指導(dǎo)并行文件系統(tǒng)訪問性能的參數(shù)調(diào)優(yōu)工作。模型在驗證數(shù)據(jù)集上達到了最大 85% 的準確率。

(3)基于 Ceph 文件系統(tǒng)實現(xiàn)原型設(shè)計與實現(xiàn):設(shè)計和實現(xiàn)了基于 Ceph 存儲系統(tǒng)的并行文件系統(tǒng)原型,并用于機器學(xué)習(xí)模型所需數(shù)據(jù)的生成、模型的優(yōu)化及驗證工作。經(jīng)過實驗驗證,整個環(huán)境可以滿足本文所設(shè)計的各種實驗及測試要求,可以用來驗證所提出優(yōu)化算法的可行性和有效性。

2 相關(guān)工作

近年來,并行文件系統(tǒng)被廣泛應(yīng)用,各種并行文件系統(tǒng)應(yīng)運而生。比較著名的有 GPFS(IBM General Parallel File System)[7]、PVFS(Parallel Virtual File System)[8]、PanFS[9]、Lustre[10]及 Ceph[11]等。在進行并行文件系統(tǒng)的性能研究時,通常從研究其影響因素著手:尋找哪些因素對并行文件系統(tǒng)的性能產(chǎn)生影響并探索這些因素在應(yīng)用系統(tǒng)、并行文件系統(tǒng)中的分布情況,進而研究各個因素對并行文件系統(tǒng)的影響程度。但是,由于并行文件系統(tǒng)是一個架構(gòu)復(fù)雜的分布式系統(tǒng),且需經(jīng)常應(yīng)對多變的應(yīng)用系統(tǒng)而做出調(diào)整,因此造成了并行文件系統(tǒng)性能優(yōu)化方法的復(fù)雜性。

并行文件系統(tǒng)性能優(yōu)化研究通常從應(yīng)用系統(tǒng)、元數(shù)據(jù)(Metadata)服務(wù)、存儲服務(wù)器以及并行文件系統(tǒng)架構(gòu)等幾個方面展開(見表 1)。在并行文件系統(tǒng)架構(gòu)優(yōu)化方面,可以采用的方法包括優(yōu)化數(shù)據(jù)存儲和分布的策略[4]、采用更高帶寬的存儲網(wǎng)絡(luò)及采用基于負載特征的存儲架構(gòu)等[12];對元數(shù)據(jù)優(yōu)化的方法包括對元數(shù)據(jù)的創(chuàng)建、查找、搜索、存儲分布進行分割優(yōu)化[13],其中對元數(shù)據(jù)服務(wù)器進行優(yōu)化,采用分布式元數(shù)據(jù)服務(wù)架構(gòu)等方法;對數(shù)據(jù)存儲的優(yōu)化方法包括優(yōu)化數(shù)據(jù)存儲條帶化參數(shù)(包括條帶寬度、條帶深度和帶偏移量等),優(yōu)化磁盤類型和數(shù)量,RAID 級別,建立緩存機制,優(yōu)化存儲服務(wù)器數(shù)量[14]。

當需要在應(yīng)用系統(tǒng)上著手對并行文件系統(tǒng)的訪問性能進行優(yōu)化時,通??梢詮膬煞矫嬷郑阂皇侵貥?gòu)數(shù)據(jù)訪問層,利用更優(yōu)化的算法、采用異步消息隊列、加入緩存機制或優(yōu)化存儲并行訪問策略等方法;二是從并行文件系統(tǒng)上著手,即本文所采取的方式,根據(jù)應(yīng)用系統(tǒng)的特點和負載形式,對并行文件系統(tǒng)進行有針對性的配置從而達到優(yōu)化性能的目的。

表 1 并行文件系統(tǒng)性能優(yōu)化技術(shù)與方法Table 1 Techniques and approaches for parallel file system performance optimization

常見的并行文件系統(tǒng)性能優(yōu)化方法見表 1,其對相關(guān)技術(shù)在包括架構(gòu)、數(shù)據(jù)和元數(shù)據(jù) I/O 性能等三方面進行了對比。

3 面向動態(tài)分區(qū)的并行文件系統(tǒng)性能優(yōu)化算法

3.1 問題描述

并行文件系統(tǒng)的性能是指并行文件系統(tǒng)的運行效率。常見的性能評估指標有每秒讀寫操作次數(shù) IOPS、吞吐量、最大每秒寫 I/O 操作次數(shù)(WIOPS)和讀 I/O 操作占比(RRatio)等。

通過對樣本數(shù)據(jù)進行分析,構(gòu)建熱力圖(圖 1)并對其進行比較、分析之后,可以發(fā)現(xiàn)以下規(guī)律: (1)區(qū)塊尺寸(I/O 操作最大讀、寫分區(qū)尺寸)對兩個主要性能 IOPS 和吞吐量的影響都極為顯著。

(2)IOPS 隨著區(qū)塊尺寸的增加而減小,吞吐量則相反。進一步的分析發(fā)現(xiàn),IOPS 及吞吐量和塊分區(qū)尺寸近似線性相關(guān)。

(3)讀 I/O 操作占比對 IOPS 和吞吐量也有影響,但沒有塊分區(qū)尺寸影響顯著。

因此,本文選擇動態(tài)分區(qū)尺寸大小作為改變性能的因素,對并行文件系統(tǒng)訪問性能進行優(yōu)化。本文選定通過調(diào)整區(qū)塊尺寸(單次 I/O 操作最大讀、寫分區(qū))來進行性能優(yōu)化的另外一個原因是,現(xiàn)有的并行文件系統(tǒng)都支持對這一性能因素進行在線調(diào)整。

圖 1 主要性能影響因素?zé)崃DFig. 1 Heatmap of major performance influencing factors

選定了性能因素之后,本文將利用機器學(xué)習(xí)的方法為塊分區(qū)尺寸和并行文件系統(tǒng)性能指標建立關(guān)系模型,通過預(yù)測某個分區(qū)尺寸對并行文件系統(tǒng)性能的影響來指導(dǎo)性能優(yōu)化工作,最終選取可對系統(tǒng)性能達到優(yōu)化效果的分區(qū)尺寸并進行在線配置。

在性能優(yōu)化評價方面,本文則選擇 IOPS 和吞吐量來對并行文件系統(tǒng)訪問性能的優(yōu)化效果進行評價。圖 2 再次驗證了分區(qū)尺寸對并行文件系統(tǒng)性能的顯著影響,從而反映出通過調(diào)整分區(qū)尺寸對性能進行優(yōu)化是可行的。為了對問題能更進一步的分析和研究,也為了更好地利用機器學(xué)習(xí)技術(shù),本文需要做出一些假設(shè)和限定,并對所要研究的問題進行以下定義。

(1)假設(shè)與約束

并行文件系統(tǒng)硬件配置的更改,如使用固態(tài)硬盤(SSD)替代傳統(tǒng)機械硬盤,會因其物理特性或技術(shù)特性的原因而顯著地影響存儲子系統(tǒng)的性能,因此本文假設(shè)并行文件系統(tǒng)的硬件配置在優(yōu)化過程中保持不變。不僅如此,并行文件系統(tǒng)軟件配置、架構(gòu)的變更也可能對存儲子系統(tǒng)性能產(chǎn)生影響,如緩存 Cache 的配置以及 Cache 的大小。因此本文也假設(shè),在存儲子系統(tǒng)優(yōu)化過程中,除了本文選定的性能優(yōu)化方法所需要的系統(tǒng)配置參數(shù)之外,其他系統(tǒng)配置、參數(shù)及系統(tǒng)架構(gòu)在優(yōu)化過程中均保持不變。

(2)性能優(yōu)化目標

理想狀態(tài)下,并行文件系統(tǒng)的最大存儲訪問性能(Capacity)由并行文件系統(tǒng)的物理特性和架構(gòu)決定,并和具體的應(yīng)用系統(tǒng)無關(guān)。因此在考慮優(yōu)化目標時,將以并行文件系統(tǒng)的最大存儲訪問性能為基礎(chǔ)并結(jié)合一定的性能損失來確定。存儲系統(tǒng)的最大存儲訪問性能可以通過壓力測試來獲得,而應(yīng)用系統(tǒng)對存儲子系統(tǒng)的性能損失則依賴經(jīng)驗值,即 30%。在應(yīng)用系統(tǒng)對并行文件系統(tǒng)訪問性能損失參考值確定以后,就能以此來確定優(yōu)化的目標。

(3)問題的定義

依照本文的假設(shè)與約束,對所研究的問題進行了歸納,即針對特定應(yīng)用系統(tǒng)特定的并行文件系統(tǒng)的訪問模式,對其性能按照預(yù)先設(shè)定的優(yōu)化目標,通過調(diào)整區(qū)塊尺寸的方法進行優(yōu)化。并且當應(yīng)用系統(tǒng)對并行文件系統(tǒng)的訪問模式發(fā)生變化時,所提出算法能夠持續(xù)地調(diào)整優(yōu)化方案,從而實現(xiàn)基于機器學(xué)習(xí)的動態(tài)并行文件系統(tǒng)的訪問性能優(yōu)化方法。

3.2 基于機器學(xué)習(xí)的多元邏輯回歸算法

本文將問題轉(zhuǎn)化為分類問題并采用邏輯回歸算法來解決。邏輯回歸是本文根據(jù)問題描述選擇的機器學(xué)習(xí)算法,可以將并行文件系統(tǒng)性能優(yōu)化的問題,轉(zhuǎn)換成預(yù)測在并行文件系統(tǒng)上相關(guān)性能因素的修改能否達到預(yù)先設(shè)定的性能優(yōu)化目標的二分類問題,并用于指導(dǎo)并行文件系統(tǒng)訪問性能優(yōu)化工作的參數(shù)調(diào)優(yōu)。相較于傳統(tǒng)依賴經(jīng)驗的性能參數(shù)調(diào)整方法,該方法更具有可操作性。

圖 2 動態(tài)分區(qū)大小和吞吐量及 IOPS 的關(guān)系Fig. 2 Relationships between dynamic block size and influencing factors (throughput and IOPS)

模型與算法的選擇在任何機器學(xué)習(xí)項目中都極其關(guān)鍵,直接影響到后續(xù)預(yù)測結(jié)果的準確性和整個機器學(xué)習(xí)方法的適用性。好的模型選擇不僅能提供較高的預(yù)測準確率,也理應(yīng)具有良好的運算性能。本文所采用的邏輯回歸算法計算量小、存儲占用率低、實施簡單高效且可以用于大數(shù)據(jù)量的場景[34]。除此之外,邏輯回歸可以通過在線學(xué)習(xí)的方式更新參數(shù),無需重新訓(xùn)練整個模型,這為實現(xiàn)動態(tài)調(diào)整性能影響因素,進而動態(tài)優(yōu)化并行文件系統(tǒng)性能提供了幫助。

(6)定義兩個變量并初始化用于存儲 W 和 b。

(7)選擇 TensorFlow 的 GradientDescentOptimizer 進行梯度下降優(yōu)化。設(shè)定優(yōu)化目標,使得損失函數(shù)最小化。

(8)在 Ceph 集群和應(yīng)用服務(wù)器上進行訓(xùn)練和測試。訓(xùn)練過程中共進行 25 000 次訓(xùn)練。其中每 100 次為一批,共計 250 批次的訓(xùn)練。此種實驗參數(shù)的選取足夠使所訓(xùn)練的模型達到收斂狀態(tài)。在每個批次的訓(xùn)練中,對當前訓(xùn)練批次的平均損失(Loss)值和其在訓(xùn)練數(shù)據(jù)集上的平均準確率進行記錄。最終通過觀察和記錄的損失值和準確率,了解和掌握整個訓(xùn)練過程。算法的代碼節(jié)選如圖 3 所示。

圖 3 邏輯回歸算法代碼節(jié)選Fig. 3 Code snippets of logistic regression algorithm

4 基于機器學(xué)習(xí)的動態(tài)分區(qū)并行文件系統(tǒng)優(yōu)化方法

4.1 問題描述

通過第 3 小節(jié)對樣本數(shù)據(jù)的分析,本文發(fā)現(xiàn)并行文件系統(tǒng)訪問性能和動態(tài)分區(qū)尺寸之間存在近似線性的關(guān)系,同時在理論上討論了如何運用機器學(xué)習(xí)算法對并行文件系統(tǒng)的訪問性能進行優(yōu)化。

為了實現(xiàn)所提出的機器學(xué)習(xí)算法,本文基于 Ceph 設(shè)計了相應(yīng)的并行文件系統(tǒng)原型,并選擇 IOMeter (www.iometer.org/ 2020)作為 I/O 工具;在機器學(xué)習(xí)的框架和工具方面,則選用 Python 和 TensorFlow (https://www.tensorflow.org/. 2020)對所提出算法進行實現(xiàn)。

4.2 基于 Ceph 的原型系統(tǒng)體系架構(gòu)設(shè)計

4.2.1 系統(tǒng)原型設(shè)計相關(guān)技術(shù)

IOMeter 可以被用來測量磁盤和網(wǎng)絡(luò)控制器的性能、總線帶寬和時延、驅(qū)動器的吞吐量、系統(tǒng)級別的硬件驅(qū)動性能等。整個工具由工作負載生成器 Dynamo 和 IOMeter 客戶端組成。其中,Dynamo 可以按計劃要求在相關(guān)應(yīng)用系統(tǒng)中生成 I/O 負載,用于壓力測試或 I/O 模擬。在具體測試中,Dynamo 將接受 IOMeter 發(fā)送來的指令并執(zhí)行相應(yīng)的 I/O 操作,同時記錄各種性能指標信息并將數(shù)據(jù)返回給 IOMeter 生成測試報告。IOMeter 客戶端則用于配置負載、設(shè)置操作參數(shù)、啟動和停止測試,并在測試過程中收集測試結(jié)果數(shù)據(jù)。

IOMeter 具有很強的靈活性,可以很方便地利用腳本來定制 I/O 負載,并能檢測系統(tǒng)的多種性能指標。這種靈活性使得它可以被配置用于模擬特定應(yīng)用程序或基準測試程序的磁盤和網(wǎng)絡(luò) I/O,當然也可以用來產(chǎn)生綜合性的 I/O 負載。

本文利用 IOMeter 對并行文件系統(tǒng)進行壓力測試從而得到并行文件系統(tǒng)的性能。測試中模擬了各種 I/O 模式并記錄性能相關(guān)信息,最后采用邏輯回歸算法進行訓(xùn)練得出機器學(xué)習(xí)模型并用于性能優(yōu)化參數(shù)效果的預(yù)測。

4.2.2 基于 Ceph 原型系統(tǒng)體系架構(gòu)設(shè)計

本文利用 Ceph 平臺實現(xiàn)了并行文件系統(tǒng)原型以進行相關(guān)的實驗和測試,包括并行文件系統(tǒng)性能壓力測試、機器學(xué)習(xí)樣本數(shù)據(jù)生成、機器學(xué)習(xí)模型訓(xùn)練及驗證等工作。應(yīng)用系統(tǒng)采用常見的三層架構(gòu)來實現(xiàn),具體如圖 4 所示。該三層架構(gòu)分別為應(yīng)用客戶端、應(yīng)用中間層和數(shù)據(jù)訪問層,而并行文件系統(tǒng)構(gòu)建則基于 Ceph 集群之上。其中,應(yīng)用客戶端主要用來進行運行自動化測試工具并監(jiān)控和收集并行文件系統(tǒng)訪問性能的相關(guān)數(shù)據(jù);也可以用來運行相關(guān)數(shù)據(jù)分析、機器學(xué)習(xí)平臺的工具。應(yīng)用中間層則用來根據(jù)測試用例對特定的 I/O 訪問模式進行模擬以生成相應(yīng)的 I/O 負載,并將 I/O 的請求傳遞給數(shù)據(jù)層直至底層的基于 Ceph 的文件系統(tǒng),其物理設(shè)計如見圖 5 所示。

圖 4 系統(tǒng)原型架構(gòu)圖Fig. 4 System prototype structure

圖 5 應(yīng)用系統(tǒng)的物理設(shè)計Fig. 5 Physical design of the application system

整個系統(tǒng)原型設(shè)計包括 7 臺服務(wù)器,其中 5 臺 Linux 服務(wù)器,2 臺 Windows 服務(wù)器或工作站。在 Ceph 集群的存儲節(jié)點上,采用了包括 SSD、機械硬盤和 SD 卡等各種存儲介質(zhì)的組合,以反映現(xiàn)實生產(chǎn)環(huán)境中存儲介質(zhì)的多樣性,同時使得本研究更具魯棒性。整個原型環(huán)境的配置如表 2 所示。

具體地,整個系統(tǒng)原型采用虛擬化的方式部署。在原型系統(tǒng)的搭建中,本文采用 Oracle VirtualBox[36]和 Vagrant[37]等相關(guān)的工具和技術(shù)。

其中,VirtualBox 是一個基于 x86 和 AMD64/Intel 的開源虛擬化軟件包(Hypervisor),在本實驗中作為虛擬化主機來運行 Ceph 集群、應(yīng)用服務(wù)器和測試服務(wù)器;而 Vagrant 是一個自動化管理工具,用于虛擬化環(huán)境的管理,如可以用來執(zhí)行對虛擬機的配置、創(chuàng)建或運行進行自動化管理。文件系統(tǒng)的物理設(shè)計見圖 6。

5 系統(tǒng)原型性能評測

5.1 原型系統(tǒng)部署

本研究創(chuàng)建了 3 個節(jié)點的 Ceph 集群來實現(xiàn)并行文件系統(tǒng)原型,同時使用 CentOS 6.0 和 Vagrant 2.2.4 啟動 3 個虛擬機并檢測虛擬機的狀態(tài),創(chuàng)建 Ceph 集群并配置 Ceph Monitor 服務(wù),初始化現(xiàn)有硬盤并在上面創(chuàng)建對象存儲器(OSD),并基于 Ceph 文件系統(tǒng)來實現(xiàn)并行文件系統(tǒng)服務(wù)。Ceph 集群建立之后,再使用 1 臺 Linux 的應(yīng)用服務(wù)器和 1 臺 Windows 機器來運行 IOMeter。

5.2 I/O 數(shù)據(jù)的收集與預(yù)處理

數(shù)據(jù)均來自于為本文所設(shè)計和部署的原型系統(tǒng)。為了避免數(shù)據(jù)的過擬合,也為了排除因為緩存等非必要因素對測試結(jié)果的影響,本文特別對測試時序和用例進行了精心設(shè)計,加入了預(yù)熱時間。

表 2 原型機器環(huán)境配置Table 2 Environment configuration of system prototype

圖 6 Ceph 集群物理設(shè)計圖Fig. 6 Physical design of Ceph cluster

在測試方法上,本文盡可能地列舉了各種可能的 I/O 訪問模式,并力求包括大多數(shù)常見 I/O 訪問模式,然后根據(jù)每一種可能的 I/O 訪問模式在并行文件系統(tǒng)上生成訪問負載并記錄相關(guān)的性能表現(xiàn)數(shù)據(jù)作為原始數(shù)據(jù)。在原型系統(tǒng)三層架構(gòu)中,IOMeter 的 Dynamo 組件運行于客戶端和中間層,用于生成 I/O 負載來模擬應(yīng)用程序,同時收集性能數(shù)據(jù)。

對于優(yōu)化指標,在選定吞吐量為優(yōu)化指標時,優(yōu)化目標根據(jù)最大吞吐量并考慮 30% 性能損失來確定。在訓(xùn)練數(shù)據(jù)集上,最大吞吐量為 43.828 MiBps,因此本文確定了優(yōu)化目標為:

43.828 MiBps×(1-0.3)=30.680 MiBps

即如果 I/O 分區(qū)模式的吞吐量大于或等于 30.680 MiBps 時,那么可以認為對應(yīng)的應(yīng)用系統(tǒng)在并行文件系統(tǒng)上的訪問性能處于優(yōu)化的狀態(tài);反之,則認為相關(guān)應(yīng)用系統(tǒng)在相應(yīng)的并行文件系統(tǒng)上的訪問性能存在優(yōu)化的空間,可以通過進一步修改分區(qū)尺寸的方式來進行優(yōu)化。分區(qū)尺寸的選擇可以參考圖 2 揭示的 I/O 分區(qū)尺寸和吞吐量的關(guān)系。

在選定 IOPS 為優(yōu)化指標時,優(yōu)化目標則根據(jù)最大 IOPS 并考慮 30% 性能損失來確定。在訓(xùn)練數(shù)據(jù)集上,最大 IOPS 為 500,因此本文確定了優(yōu)化目標為:

即如果 I/O 分區(qū)模式的 IOPS 大于或等于 350 時,那么可以認為應(yīng)用系統(tǒng)在并行文件系統(tǒng)上的訪問性能處于優(yōu)化的狀態(tài);反之,則認為相關(guān)應(yīng)用系統(tǒng)在并行文件系統(tǒng)上的訪問性能存在優(yōu)化空間,可以通過進一步修改 I/O 尺寸的方式來進行優(yōu)化。分區(qū)尺寸的選擇同樣可以參考圖 2 揭示的 I/O 分區(qū)尺寸和 IOPS 的關(guān)系。

表 3 為清洗過的訓(xùn)練數(shù)據(jù)集節(jié)選,表頭為本研究中選定的功能特征。以吞吐量為例,標記列的值表示某一行所描述的 I/O 模式的吞吐量是否已達到優(yōu)化狀態(tài),其中 1 代表已達到優(yōu)化狀態(tài),0 代表系統(tǒng)仍需優(yōu)化。樣本數(shù)據(jù)準備并標記好之后,將利用 Python 和 TensorFlow 來建立邏輯回歸模型。

5.3 實驗結(jié)果

5.3.1 驗證過程及實驗結(jié)果

在邏輯回歸過程中,于訓(xùn)練數(shù)據(jù)集上進行了 25 000 次的訓(xùn)練,其中以每 100 次為一批進行訓(xùn)練。之后,采用隨機分配的驗證數(shù)據(jù)集對訓(xùn)練好的邏輯回歸模型進行評估。對于驗證集中的每一組數(shù)據(jù),將模型預(yù)測的結(jié)果與真實標簽進行比對,從而計算出模型準確率。

在本實驗中,邏輯回歸模型在訓(xùn)練數(shù)據(jù)集上的準確率可以達到 0.98,在測試數(shù)據(jù)集上的準確率則是 0.85,具體如表 4 所示。這表明,所訓(xùn)練的模型可以十分準確地預(yù)測出哪種尺寸設(shè)置能夠提高系統(tǒng)性能。同時,在經(jīng)過約 100 輪訓(xùn)練后(圖 7 和圖 8),訓(xùn)練趨于穩(wěn)定、模型收斂,從而使得動態(tài)調(diào)整分區(qū)尺寸以及為不同系統(tǒng)設(shè)置不同分區(qū)尺寸參數(shù)變得更加可行。

表 3 吞吐量優(yōu)化訓(xùn)練數(shù)據(jù)集Table 3 Training dataset of throughput performance optimization

表 4 邏輯回歸訓(xùn)練過程中相關(guān)指標Table 4 Evaluation metrics of logistic regression

5.3.2 結(jié)果實例分析

以優(yōu)化吞吐量為例,在本文中,為了選取一個可以優(yōu)化系統(tǒng)性能的分區(qū)尺寸,算法將進行以下過程:

(1)假定首先選取 64 KiB 作為分區(qū)尺寸。如表 5 所示,實驗得出的吞吐量 12.442 MiBps 小于性能優(yōu)化目標 30.680 MiBps,則可以判定目前系統(tǒng)狀態(tài)為非優(yōu)化狀態(tài),需要進行優(yōu)化。所以,此時的機器學(xué)習(xí)算法也應(yīng)將此組數(shù)據(jù)分類為 0 類。本研究希望機器學(xué)習(xí)算法能夠正確地判定此時的分區(qū)尺寸無法優(yōu)化系統(tǒng)性能。

(2)繼續(xù)采用動態(tài)分區(qū)的方法調(diào)整 I/O 尺寸以進行優(yōu)化。根據(jù)分區(qū)尺寸和吞吐量成近似線性關(guān)系,對于需要高吞吐量的系統(tǒng)而言,需要調(diào)高分區(qū)尺寸;對于需要高 IOPS 的系統(tǒng)而言,則需要降低分區(qū)尺寸。

圖 7 邏輯回歸訓(xùn)練過程中的損失值Fig. 7 Loss of logistic regression during training

圖 8 邏輯回歸模型訓(xùn)練與測試準確率Fig. 8 Logistic regression training and validation accuracy

(3)調(diào)整分區(qū)尺寸為 128 KiB,測試系統(tǒng)的I/O 模式和性能表現(xiàn),如表 5 所示。此時系統(tǒng)性能未達到預(yù)期目標,所以本研究依舊希望機器學(xué)習(xí)模型也可將這組數(shù)據(jù)預(yù)測為 0 類,即經(jīng)過模型預(yù)測,128 KiB 的分區(qū)尺寸對于當前系統(tǒng)狀態(tài)而言不是一個好的選擇,從而避免在此時選取 128 KiB 作為分區(qū)尺寸。

(4)繼續(xù)增大分區(qū)尺寸并進行預(yù)測,直至512 KiB,預(yù)測評估當前系統(tǒng)是否處于優(yōu)化狀態(tài)。如表 5 所示,此時系統(tǒng)的吞吐量為 43.828 MiBps,大于預(yù)期優(yōu)化目標 30.680 MiBps,此時系統(tǒng)處于優(yōu)化狀態(tài)。本研究期望機器學(xué)習(xí)模型可以將這組數(shù)據(jù)預(yù)測為 1 類,表示系統(tǒng)已處于優(yōu)化狀態(tài),將分區(qū)尺寸設(shè)為 512 KiB 在此時是一個好的優(yōu)化選擇。

表 5 優(yōu)化案例 I/O 模式及性能數(shù)據(jù)Table 5 I/O mode for cases of optimization and the corresponding performance

經(jīng)過系統(tǒng)優(yōu)化處理后,通過將分區(qū)尺寸從64 KiB 調(diào)整到 512 KiB 后,應(yīng)用系統(tǒng)并行文件系統(tǒng)訪問性能從 12.442 MiBps 增加到 43.828 MiBps,增加了 3.6 倍,具體如圖 9 所示。通過機器學(xué)習(xí)模型的幫助,當要動態(tài)調(diào)整分區(qū)尺寸時,就可以在模型的幫助下預(yù)測出可以提高系統(tǒng)性能的尺寸調(diào)整方案。

圖 9 并行文件系統(tǒng)訪問性能優(yōu)化前后對比(吞吐量)Fig. 9 Comparison of system throughput performance before and after configuration optimization

5.3.3 討論與分析

從優(yōu)化并行文件系統(tǒng)性能的框架上來看,相比于文獻[13],本文所提出的基于機器學(xué)習(xí)的動態(tài)分區(qū)并行文件系統(tǒng)優(yōu)化架構(gòu)可以自動地選取出合適的參數(shù)配置,從而達到對系統(tǒng)性能的優(yōu)化,而文獻[13]則需要通過實驗嘗試才能判斷一個參數(shù)配置是否能夠優(yōu)化并行文件系統(tǒng)的性能?;跈C器學(xué)習(xí)的優(yōu)化框架通過其所學(xué)習(xí)到的信息來對參數(shù)配置進行判斷,使得本方法更加靈活。

而從動態(tài)地對并行文件系統(tǒng)性能進行優(yōu)化的角度來看,本文所提出的算法可以預(yù)先學(xué)習(xí)在不同系統(tǒng) I/O 模式下的系統(tǒng)分區(qū)配置優(yōu)化情況,從而使得動態(tài)地根據(jù)系統(tǒng)的實時 I/O 模式進行動態(tài)分區(qū)配置調(diào)整變得可行。而文獻[13]所提出的方法則無法對系統(tǒng)性能進行動態(tài)的優(yōu)化。

在優(yōu)化所使用的算法上,本文采用了邏輯回歸模型。隨著深度神經(jīng)網(wǎng)絡(luò)的迅猛發(fā)展,在對并行文件系統(tǒng)進行優(yōu)化的同時也可以考慮使用深度學(xué)習(xí)算法,如文獻[14]中所使用到的深度強化學(xué)習(xí)算法,以學(xué)習(xí)更加靈活、魯棒的優(yōu)化模型。

6 總結(jié)與展望

本文基于應(yīng)用系統(tǒng)的訪問模式及分區(qū)尺寸對并行文件系統(tǒng)訪問性能有顯著影響這一特點,利用機器學(xué)習(xí)的技術(shù)對特定應(yīng)用系統(tǒng)的 I/O 訪問模式進行分析歸納,挖掘主要性能影響因素和主要性能指標之間的關(guān)系、規(guī)律并生成基于機器學(xué)習(xí)的優(yōu)化模型,進而利用生成的機器學(xué)習(xí)模型來指導(dǎo)并行文件系統(tǒng)的參數(shù)優(yōu)化工作,以達到優(yōu)化并行文件系統(tǒng)整體訪問性能的目的。

本文提出采用機器學(xué)習(xí)方法來進行并行文件系統(tǒng)的性能優(yōu)化,但具體實現(xiàn)時,僅以分區(qū)尺寸這一主要的性能因素進行;評價性能也只選用兩個最常用的性能評價指標 IOPS 和吞吐量,因此未來可以進一步地探索其他的性能影響因素和性能評價指標。

猜你喜歡
吞吐量分區(qū)機器
機器狗
上海實施“分區(qū)封控”
機器狗
未來機器城
電影(2018年8期)2018-09-21 08:00:06
浪莎 分區(qū)而治
2016年10月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年11期)2017-03-29 16:15:48
2016年11月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年12期)2017-03-20 08:32:27
無敵機器蛛
基于SAGA聚類分析的無功電壓控制分區(qū)
電測與儀表(2015年8期)2015-04-09 11:50:16
基于多種群遺傳改進FCM的無功/電壓控制分區(qū)
電測與儀表(2015年7期)2015-04-09 11:40:16
卢龙县| 肇庆市| 察哈| 镇江市| 中西区| 仲巴县| 闸北区| 和平县| 台东县| 周口市| 布尔津县| 黄冈市| 大邑县| 微山县| 金堂县| 罗城| 新疆| 昌图县| 大姚县| 南郑县| 隆化县| 周口市| 湘潭县| 许昌市| 和林格尔县| 南召县| 阳高县| 曲靖市| 蛟河市| 东源县| 延庆县| 云梦县| 精河县| 修水县| 洪湖市| 西青区| 扶沟县| 惠来县| 乐昌市| 兴安县| 甘孜县|