加入RUN!PC粉絲團
最近新增的精選文章
 
最多人點閱的精選文章
 
 
精選文章 - 網管資安
分享到Plurk
分享到FaceBook
 
不同資源分配的VM效能測試結果
文‧圖/黃彥文、劉坤星 2011/11/14 下午 07:10:59

本文以虛擬機器的數量與虛擬中央處理器(virtual center processor unit, vCPU)數目的組合,進行實驗分析並討論在特定問題情況下運算資源運用的狀況。
傳統上為使欲解決問題具有高效能運算(high-performance computing, HPC)能力,常使用超級電腦(super computer)、網格運算(grid computing)或是叢集運算(cluster computing)硬體架構;主要想法則是採取速度更快中央處理器(單一硬體規格升級)、使用多顆中央處理器(多硬體協同處理)或是協同數部伺服主機同時運作等方法。並且將問題轉化成平行化、分散式或結合二者處理軟體架構。無論是從硬體、軟體或兩者方式著手,最終目標是要在有限資源與合理時間內得出結果。然而,往往受限經費過於龐大、硬體架構難以實現、軟體架構過於複雜、軟硬體搭配無法達到最佳化、環境佈建時間過長等因素影響,無法切合實際需求與預期效果。

利用能將實體資源虛擬化的雲端運算(cloud computing)環境,其彈性配置虛擬資源的特性即可輕鬆打造符合軟體架構所需運算環境。常見的虛擬資源配置模式有二:
其一、動態調整單台虛擬機器(virtual machine, VM)的虛擬資源規格(如中央處理器、記憶體、儲存空間、網路頻寬);
其二、串聯數台虛擬主機以協同處理方式達到負載平衡的功效。

從上述可知,雲端運算環境能夠提供解決方案眾多。但是,如何在眾多的解決方案中選擇出具有最高效能的資源組合,便成為重要的研究課題。本文從需要大量運算能力的工作型態出發,運用財團法人資訊工業策進會創新應用服務研究所(以下簡稱資策會創研所)由經濟部科技專案計劃所打造企業雲端伺服器系統(Cloud Appliance Kernel Environment, CAKE),建置特定的運算機制,並將觀察重點放在二部份,其一是如何有效的利用資源(有效降低實體機建置成本),其二為執行的運算速度(提升處理效能)。從這兩個重點出發,本文以虛擬機器的數量與虛擬中央處理器(virtual center processor unit, vCPU)數目的組合,進行實驗分析並討論在特定問題情況下運算資源運用的狀況。

環境建置與測試:
根據虛擬機器數量與 vCPU 數目的組合,我們設計二個實驗案例。

實驗一:
實驗目的:瞭解總執行時間和 vCPU 數目之間的關係。
實驗對象:使用單台虛擬機器,分別實驗掛載 1 至 8 核 vCPU 數目。
實驗方法:設計單一指令多重資料(single process, multiple data; or single program, multiple data, SPMD)的運算程序,亦即為具有 1024*8 次快速傅利葉轉換(fast Fourier transform, FFT)運算次數且單一運算程序不與其他運算程序有任何關係。實驗結果如圖 1 所示。

實驗二:
實驗目的:瞭解不同運算資源規格間執行上的差異
實驗對象:建置 2 個總運算資源相等的實驗平台
(a) 7台虛擬機器均使用 1 核 vCPU
(b) 3台虛擬機器分別使用 1、2 和 4 核 vCPU
實驗方法:兩個運算平台(a)和(b)皆執行設計由單一指令多重資料的運算程序,亦即為具有 1280*7 次快速傅利葉轉換運算次數且單一運算程序不與其他運算程序有任何關係。並且為確保比較公平性,各個虛擬機器需執行的運算量是按 vCPU 個數分配(平均每單位 vCPU 執行相等運算量)。亦即 1 核 vCPU 分配 1280*1 次運算量、2 核 vCPU 分配 1280*2 次運算量以此類推。實驗結果如表1所示。

結果分析:



▲ 圖1 使用單台虛擬機器分別掛載 1~8 核 vCPU。


由圖1結果得知:
當 vCPU 配置數目小於等於 4 時,總體花費時間顯著下降;然而,當 vCPU 配置數目大於 4 時,總花費時間並無顯著下降。其中一項可能因素在於:達到作業系統同時最大處理程序的上限。藉由這個實驗得知:單一指令多重資料類型的問題,在增加某種程度上的 vCPU個數後,就需考慮作業系統最大承載量的問題。換句話說,無限制的增加單台虛擬機器的虛擬資源,並不能保證分配到的資源皆能有效利用,反倒造成資源競爭現象。

表1 二種運算平台執行運算工作所花的時間

項目名稱說明
VM Name:虛擬機器名稱
#vCPU:搭載 vCPU 數目
#exec:執行計算總數
Time (1):單部 VM 執行時間
Time (2):總花費時間



由表 1 結果可得到二個結論:第一、運算平台(b)的總花費時間,比運算平台(a)減少 10%。第二、運算平台(b)的單一個 VM 執行效率,比運算平台(a)的效率佳。根據前述結果推得:對於具有分散式特性的問題,使用具不對稱性架構運算環境,執行效率優於對稱性架構。



▲ 圖2 使用單台虛擬機器分別掛載 1~8 核 vCPU。


圖2為實體機器系統佔據的 vCPU 資源百分比,亦即為了完成現有程式的工作,系統必須運用 vCPU 資源進行排程等作業所耗費的資源。圖中系統資源消耗較多者為實驗平台(a),消耗資源較少者為實驗平台(b)。

A 框為虛擬機器開機時,系統所占用的系統資源,實驗平台(b)平均占用2%,實驗平台(a)卻高達 15%。很顯然的虛擬機器的數量將會彼此競爭系統資源,使得系統為了處理眾多的排程而耗費較多的資源。

B 框為虛擬機器工作時,系統所占用的系統資源,實驗平台(b)平均占用 2%,實驗平台(a)卻高達 12%。其原因仍為系統為了處理眾多的排程而耗費較多的資源。

特別注意 C 框造成的資源震盪,此震盪可反應虛擬機器的使用率震盪,此現象會提高了虛擬機器運作的不穩定性,而震盪頻率仍是實驗平台(a)大於實驗平台(b)。

#中標=結論

本文探討如何透過可動態調整運算資源(如:虛擬主機數量、中央處理器個數、記憶體大小)特性,透過資策會創研所的企業雲端伺服器系統打造屬於「需要大量運算資源的執行程序」的高效能計算環境。實驗開始使用單部虛擬主機,搭配不同數目的中央處理器,藉以釐清執行時間與中央處理器數目的關係。

實驗結果發現:當中央處理器達到特定數目後,總體執行時間降低的效果將不顯著,亦即資源的整體利用率下降。接下來的實驗,以固定可用中央處理器數目的方式,分別配置給不同數量的虛擬主機,藉以觀察在相同的可用資源下,不同的虛擬機器數量是否會影響執行效能。

經實驗後我們得到這樣的結論:使用不對稱資源配置方式,在總體執行時間與單部虛擬主機花費時間等二個方面均獲得較佳執行效能。透過本文所規劃實驗方式與結果,讓我們對於如何應用雲端計算環境有著更進一步的認識。


作者簡介
本文作者黃彥文、劉坤星目前均任職於 財團法人資訊工業策進會 創新應用服務研究所 雲端服務技術中心 平台架構組