180 likes | 261 Views
自動化負載平衡子計畫. 第三季報告 (2010.1~2010.3) 董信煌 樹德科技大學資管系 tungsh@stu.edu.tw. 大綱. 本期目標 Xen 的 CPU 排程器 效能需求及評估 實驗設計 研究結果 結論 下期目標. 本期目標. 系統設計. 利用效能指標及環境變數建立多目標決策數學模式. 探討決策模式的可行解及最佳化解, 選擇演算法解決策模式. Xen 的 Credit 排程器 (1). Xen 3.1 (CentOS 5.4) 的 Credit 排程器 non-preemptive
E N D
自動化負載平衡子計畫 第三季報告 (2010.1~2010.3) 董信煌 樹德科技大學資管系 tungsh@stu.edu.tw
大綱 • 本期目標 • 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, VM2) • 經由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 組數據的結果
結論 • 我們參考MapReduce運作以計算及網路為虛擬機器的效能評估指標 • 使用一台雙核主機設定兩部VM分別執行計算及網路工作 • 規劃不同的Credit參數組合 • 在每個參數組合下衡量計算及網路效能 • 利用實驗數據及機器學習演算法建立計算及網路效能模式
下期目標 • 系統實做及結案. 撰寫程式實做多目標決策演算法. 以單一系統多處理器環境為例, 增加 Xen 對於多個VM之工作排程的選項. 熟悉Xen之跨系統VM live migration功能並為跨系統之load balancing做初步規劃. 撰寫結案報告.