自動化負載平衡子計畫
DESCRIPTION
自動化負載平衡子計畫. 第三季報告 (2010.1~2010.3) 董信煌 樹德科技大學資管系 [email protected]. 大綱. 本期目標 Xen 的 CPU 排程器 效能需求及評估 實驗設計 研究結果 結論 下期目標. 本期目標. 系統設計. 利用效能指標及環境變數建立多目標決策數學模式. 探討決策模式的可行解及最佳化解, 選擇演算法解決策模式. Xen 的 Credit 排程器 (1). Xen 3.1 (CentOS 5.4) 的 Credit 排程器 non-preemptive - PowerPoint PPT PresentationTRANSCRIPT
大綱• 本期目標• Xen 的 CPU 排程器• 效能需求及評估• 實驗設計• 研究結果• 結論• 下期目標
本期目標• 系統設計 . 利用效能指標及環境變數建立
多目標決策數學模式 . 探討決策模式的可行解及最佳化解 , 選擇演算法解決策模式 .
Xen 的 Credit 排程器 (1)
• Xen 3.1 (CentOS 5.4) 的 Credit 排程器– non-preemptive– PS ( 透過 weight 參數 ) – WC and NWC modes ( 透過 cap 參數 )– 多核全域負載平衡
Xen 的 Credit 排程器 (2)
• 每一個 VM 及 Host( 也就是 Dom0) 的 weight 及 cap 參數可以如下操作
xm sched-credit –d <domid> ( 讀取參數值 )
xm sched-credit –d <domid> -w <weight> ( 設定 weight)
xm sched-credit –d <domid> -c <cap> ( 設定 cap)
效能需求• 我們以 Hadoop 為雲端運算的應用範例 ,
更以 map-reduce 為高效能資料探勘工具之設計平台 . 因此 VM 的效能指標只考慮– 計算能力 : Mapper 、排序、 Reducer– 網路傳輸 : Mapper 、 Reducer 取得資料
效能評估• 會影響上述指標的環境變數為各個 Domain
的 weight 及 cap 參數值• 考慮 Dom0 及虛擬機器的不同 weight 及
cap 值設定 , 以模擬各種 CPU 資源配置情境
• 虛擬機器上的計算及網路效能將被衡量並收集 , 為建立效能模式之依據
實驗設計 (1)
• 硬體 : Intel Core 2 CPU (E2180)– 2 cores at 2.0GHz each– 2GB ram– 160GB IDE hard drive
• 軟體 : CentOS 5.4, 使用 Xen 3.1.2– 虛擬機器 : Fedora Core 11, 256MB ram, 4GB
hard drive 使用 image 擋案
實驗設計 (2)
• 虛擬機器一 (VM 1)– 執行計算為主的工作– 使用 Java 的 Timer 及 TimerTask 類別評估 10
秒內 VM1 可執行多少個 Math.sin(Math.random())運算
• 虛擬機器二 (VM 2)– 執行網路傳輸為主的工作– 使用 netperf (www.netperf.org) 評估 10 秒內 VM2
可傳輸多少個 Mb 到區域網路內的第二台主機
實驗設計 (3)
• VM1 及 VM2 必須同時執行它們的工作以代表兩台 VM 分享系統資源
• 為了降低 VM1 的計算效能 (Mops/sec) 及 VM2 的網路效能 (Mb/sec) 之波動程度 , 每一個 10 秒的計算與網路測試被重複執行5 次 , 最後以 5 次的平均值為 VM 的效率指標
• 必須考慮不同的 weight 及 cap 設定
實驗設計 (4)
• VM1 的 Credit 參數設定– weight w1 = 256, 512, 768, 1024; – Cap c1 = 25, 50, 75, 100
• VM2 的 Credit 參數設定– weight w2 = 256, 512, 768, 1024; – Cap c2 = 25, 50, 75, 100
• Dom0 的 Credit 參數設定– weight w0 = 256, 512, 768, 1024
• 共有 1024 種 (c1, w1, c2, w2, w0) 參數的組合
實驗設計 (5)
• 就每一個 (c1, w1, c2, w2, w0) 組合– 在每一分鐘開始時使用 ‘ xm sched-credit’ 設
定各 domain 的 weight 及 cap– Shell 程式暫停 5 秒讓各個 domain 的 weight
及 cap 設定生效– 在 VM1 執行 5 次的計算測試 , 每次 10 秒 , 同
時在 VM2 執行 5 次的網路測試 , 每次 10 秒– 收集 5 次測試結果並取平均值當效能指標– 進行下一個 (c1, w1, c2, w2, w0) 組合的測試
研究結果 (1)
• 使用 1024 分鐘共收集 1024 份實驗數據 , 每份資料的格式為
(c1, w1, c2, w2, w0; cap, netperf)
• 系統的自變數有 c1, w1, c2, w2, w0
• 系統的應變數有– cap: VM1 的計算效能– netperf: VM2 的網路效能
研究結果 (2)
• 這些效能指標的意義– 在一台雙核主機上有兩部虛擬機器 (VM1, VM
2)– 經由 Xen 配置不同程度的 CPU 資源給 Dom0,
VM1, VM2– VM1 執行計算的能力– VM2 執行網路傳輸的能力
研究結果 (3)
• 使用 1024 組數據 , 我們想要得到的 VM 效能模式為– cap = f(c1, w1, c2, w2, w0)– netperf = g(c1, w1, c2, w2, w0)
• 上述的 f 及 g 函數可使用 multi-kernel support vector regression (mk-SVR) 來逼近
研究結果 (4)
• 使用 mk-SVR 迴歸 1024 組數據的結果
cap netperf
RMSE .0098 .0098
Corr 1.000 1.000
NytRMSE Ni ii 1
2)(
Ni
Ni ii
Ni ii yyttyyttCorr 1 1
221 )()(/))((
結論• 我們參考 MapReduce 運作以計算及網路為
虛擬機器的效能評估指標• 使用一台雙核主機設定兩部 VM 分別執行
計算及網路工作• 規劃不同的 Credit 參數組合• 在每個參數組合下衡量計算及網路效能• 利用實驗數據及機器學習演算法建立計算
及網路效能模式
下期目標• 系統實做及結案 . 撰寫程式實做多目標決
策演算法 . 以單一系統多處理器環境為例 , 增加 Xen 對於多個 VM 之工作排程的選項 . 熟悉 Xen 之跨系統 VM live migration 功能並為跨系統之 load balancing 做初步規劃 . 撰寫結案報告 .