根據美國國家技術標準研究院NIST的定義,雲端運算是一種新型態的服務模型,透過網路的存取提供了無所不在、便捷、符合需求的一個大量共享計算資源(如網路,伺服器,儲存空間,應用程式等服務)。而這些計算資源可以快速的被配置以滿足使用者所需服務,並且可以減少在使用計算資源上的管理工作以及和服務供應商的互動。[4] 雲端服務供應商利用資料中心的運算資源來供應各種型態的雲端服務。而雲端資料中心需要具備「動態」、「彈性」、「擴充性」的伺服器資源,以符合不同用戶的計算資源需求。因此伺服器虛擬化是達成這些目的的重要技術,而如何有效率的管理分配虛擬資源來滿足使用者需求則成為了雲端計算一項重要的課題。 目前有許多虛擬資源分配演算法(Virtual Resource Provisioning Algorithm)已被提出,但是缺乏一個公平的平台來比較他們的優劣。本論文利用現有的雲端運算模擬工具CloudSim發展出一個模擬的平台M-CloudSim,可用來比較各個虛擬資源分配演算法的優缺點。和CloudSim不同,M-CloudSim可模擬不同使用者在不同時間點送出需求,以符合實際雲端資料中心的運行狀況。此外,M-CloudSim新增了VM Consolidation Overhead model,考量了VM Consolidation對於伺服器效能所造成的損耗。另外,改良了CloudSim中的電量消耗計算方式以及增強了其模擬的效率。 在此平台上,我們實作了6種虛擬資源分配的演算法:First Fit、Best-Fit、Worst-Fit、Next Fit、Integer Linear Programming和Genetic Algorithms。透過實作發現了在Best-Fit上面會有較高的服務接受度、較低的能源損耗以及每度電量的收益。而如果考慮了VM Consolidation Overhead的情況,則Worst-Fit會有較好的服務接受度,但Best-Fit在每度電量的收益還是較高。此外,M-CloudSim的模擬效能和CloudSim相比,在同樣的測試環境下,時間模擬的效能提升可達10倍,而記憶體使用量可以縮減30倍。
According to NIST's definition, Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [4] To achieve those goals, service providers usually utilize virtualization techniques to create dynamic, flexible and scalable computing resources to satisfy different users' requests. Nowadays, a datacenter usually contains a massive number of computing nodes, which makes the efficient distribution and management of virtualized resources a critical issue. Although many provisioning algorithms have been brought out, their effectiveness is hard to be measured and compared, owing the lack of an open platform. This thesis introduces the design and implementation of a simulation platform, which is called M-CloudSim, adapted from CloudSim, to compare the provisioning algorithms. Unlike the CloudSim, M-CloudSim allows users’ requests to have different submission times, which is a more realistic scenario. In addition, the platform adds a model to estimate the Overhead of VM consolidation, which is how the performance of VM degrades when a datacenter puts more than one VM on the same physical server. Furthermore, this platform enhances the energy consumption estimation method in CloudSim, and improves the simulation performance of CloudSim. On this platform, six provisioning algorithms, First Fit, Best-Fit, Worst-Fit, Next fit, Integer Linear Programming, and Genetic Algorithms, were implemented and compared. The results showed that the Best-Fit algorithm gives the lowest energy consumption, the highest acceptance rate and profit per power kilowatt-hour. In vm consolidation overhead, the Worst-Fit algorithm gives the highest acceptance, but Best-Fit still gives the highest profit per power kilowatt-hour. Comparing to CloudSim, M-CloudSim improves the simulation time 10 times, and reduces the memory usage to 1/30 of that in CloudSim.