自動化負載平衡子計畫

18
自自自自自自自自自自 自自自自自 (2010.1~2010.3) 自自自 自自自自自自自自自 [email protected]

Upload: howard-herrera

Post on 01-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

自動化負載平衡子計畫. 第三季報告 (2010.1~2010.3) 董信煌 樹德科技大學資管系 [email protected]. 大綱. 本期目標 Xen 的 CPU 排程器 效能需求及評估 實驗設計 研究結果 結論 下期目標. 本期目標. 系統設計. 利用效能指標及環境變數建立多目標決策數學模式. 探討決策模式的可行解及最佳化解, 選擇演算法解決策模式. Xen 的 Credit 排程器 (1). Xen 3.1 (CentOS 5.4) 的 Credit 排程器 non-preemptive - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 自動化負載平衡子計畫

自動化負載平衡子計畫

第三季報告(2010.1~2010.3)

董信煌樹德科技大學資管系[email protected]

Page 2: 自動化負載平衡子計畫

大綱• 本期目標• Xen 的 CPU 排程器• 效能需求及評估• 實驗設計• 研究結果• 結論• 下期目標

Page 3: 自動化負載平衡子計畫

本期目標• 系統設計 . 利用效能指標及環境變數建立

多目標決策數學模式 . 探討決策模式的可行解及最佳化解 , 選擇演算法解決策模式 .

Page 4: 自動化負載平衡子計畫

Xen 的 Credit 排程器 (1)

• Xen 3.1 (CentOS 5.4) 的 Credit 排程器– non-preemptive– PS ( 透過 weight 參數 ) – WC and NWC modes ( 透過 cap 參數 )– 多核全域負載平衡

Page 5: 自動化負載平衡子計畫

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)

Page 6: 自動化負載平衡子計畫

效能需求• 我們以 Hadoop 為雲端運算的應用範例 ,

更以 map-reduce 為高效能資料探勘工具之設計平台 . 因此 VM 的效能指標只考慮– 計算能力 : Mapper 、排序、 Reducer– 網路傳輸 : Mapper 、 Reducer 取得資料

Page 7: 自動化負載平衡子計畫

效能評估• 會影響上述指標的環境變數為各個 Domain

的 weight 及 cap 參數值• 考慮 Dom0 及虛擬機器的不同 weight 及

cap 值設定 , 以模擬各種 CPU 資源配置情境

• 虛擬機器上的計算及網路效能將被衡量並收集 , 為建立效能模式之依據

Page 8: 自動化負載平衡子計畫

實驗設計 (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 擋案

Page 9: 自動化負載平衡子計畫

實驗設計 (2)

• 虛擬機器一 (VM 1)– 執行計算為主的工作– 使用 Java 的 Timer 及 TimerTask 類別評估 10

秒內 VM1 可執行多少個 Math.sin(Math.random())運算

• 虛擬機器二 (VM 2)– 執行網路傳輸為主的工作– 使用 netperf (www.netperf.org) 評估 10 秒內 VM2

可傳輸多少個 Mb 到區域網路內的第二台主機

Page 10: 自動化負載平衡子計畫

實驗設計 (3)

• VM1 及 VM2 必須同時執行它們的工作以代表兩台 VM 分享系統資源

• 為了降低 VM1 的計算效能 (Mops/sec) 及 VM2 的網路效能 (Mb/sec) 之波動程度 , 每一個 10 秒的計算與網路測試被重複執行5 次 , 最後以 5 次的平均值為 VM 的效率指標

• 必須考慮不同的 weight 及 cap 設定

Page 11: 自動化負載平衡子計畫

實驗設計 (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) 參數的組合

Page 12: 自動化負載平衡子計畫

實驗設計 (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) 組合的測試

Page 13: 自動化負載平衡子計畫

研究結果 (1)

• 使用 1024 分鐘共收集 1024 份實驗數據 , 每份資料的格式為

(c1, w1, c2, w2, w0; cap, netperf)

• 系統的自變數有 c1, w1, c2, w2, w0

• 系統的應變數有– cap: VM1 的計算效能– netperf: VM2 的網路效能

Page 14: 自動化負載平衡子計畫

研究結果 (2)

• 這些效能指標的意義– 在一台雙核主機上有兩部虛擬機器 (VM1, VM

2)– 經由 Xen 配置不同程度的 CPU 資源給 Dom0,

VM1, VM2– VM1 執行計算的能力– VM2 執行網路傳輸的能力

Page 15: 自動化負載平衡子計畫

研究結果 (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) 來逼近

Page 16: 自動化負載平衡子計畫

研究結果 (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 )()(/))((

Page 17: 自動化負載平衡子計畫

結論• 我們參考 MapReduce 運作以計算及網路為

虛擬機器的效能評估指標• 使用一台雙核主機設定兩部 VM 分別執行

計算及網路工作• 規劃不同的 Credit 參數組合• 在每個參數組合下衡量計算及網路效能• 利用實驗數據及機器學習演算法建立計算

及網路效能模式

Page 18: 自動化負載平衡子計畫

下期目標• 系統實做及結案 . 撰寫程式實做多目標決

策演算法 . 以單一系統多處理器環境為例 , 增加 Xen 對於多個 VM 之工作排程的選項 . 熟悉 Xen 之跨系統 VM live migration 功能並為跨系統之 load balancing 做初步規劃 . 撰寫結案報告 .