請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/71742
標題: | 私有雲資料中心之運算資源管理 Computing Resource Management in a Private Cloud Data Center |
作者: | Ching-Chi Lin 林敬棋 |
指導教授: | 劉邦鋒(Pang-Feng Liu) |
關鍵字: | 雲端運算,資料中心,虛擬機器,容器,節能,資源分配,工作排程,NP 完備性,演算法, Cloud Computing,Data Center,Virtual Machine,Container,Energy-efficiency,Resource Allocation,Task Scheduling,NP-Complete,Algorithm, |
出版年 : | 2018 |
學位: | 博士 |
摘要: | 在本篇博士論文中,我們對於資料中心內部主要的兩個議題,“如何減少能量消耗”以及“如何保持工作及服務效能”,提出了不同的運算資源分配方式以及工作排程演算法。我們的目標環境是一個提供私有雲服務的企業級資料中心。在目標環境中,服務及工作會先透過虛擬化技術被包裝成虛擬實例,再佈建到伺服器上運行。目前主要的兩種虛擬實例分別為虛擬機器以及容器。每個虛擬實例會有一個規格,限制單位時間內該實例對各項資源的最大使用量。由於工作或服務所需的資源量可能會隨著時間而變動,我們可以透過動態調整運行每個服務的虛擬實例數量及資源配置方式,來達到維持服務和工作效能,以及減少資料中心內部能量消耗的目的。
在本篇博士論文中,我們考慮三個與“如何減少能量消耗” 及“如何保持工作及服務效能” 相關的研究項目,分別是“自動調整網路服務所使用虛擬實例數量”、“虛擬實例至伺服器之節能佈建方式”,以及“多核心伺服器上的節能工作排程”。針對每個項目,我們又分別考慮不同的使用情境,並提出適合的解決方法。 關於“自動調整網路服務所使用虛擬實例數量”,我們根據每個網路服務工作量變化的特性,提出不同的調整演算法。在服務的工作量並不穩定,可能在短時間內有劇烈變化的情境下,我們提出兩種不同的調整演算法,並且套用現實應用的工作量變化軌跡,來衡量這兩種演算法的效能。而當工作量的變化是穩定甚至可預測時,我們則進一步考慮虛擬實例具有不同規格的情況,並提出演算法來最小化因調整各種規格虛擬實例數量而產生的花費。 在“虛擬實例至伺服器之節能佈建方式” 這個項目中,我們考慮兩種情境。首先,在每個虛擬實例的規格是事先給定的情況下,我們考慮如何將資料中心內的虛擬實例聚集在某些伺服器上運行,並將沒有被指派工作的伺服器切換至休眠狀態,藉此減少能量消耗。第二種情境則是每個虛擬實例的規格可以根據啟動當下系統資源使用狀況來做設定。在這種情境下,我們提出不同的演算法,產生包含“虛擬實例可使用的核心數量”、“核心運行頻率”,以及“如何配置虛擬實例至伺服器”的排程計劃。具體的來說,我們提出了在只有少量虛擬實例及伺服器時,能產生最低耗能排程計劃的動態規畫演算法,以及能在合理時間內產生低耗能排程計劃的啟發式演算法。 本篇論文的第三個研究項目是“多核心伺服器上的節能工作排程”。我們考慮兩種不同的多核心平台,分別是同質性多核心以及非對稱多核心平台。在這兩種平台上,我們分別提出不同的排程演算法,來決定如何將工作分配到核心上、工作運行的順序,以及運行工作時每個核心所使用的頻率。針對非對稱多核心平台,我們實作了一個節能排程器來驗證我們的演算法。實驗結果顯示與現有的全域任務排程器搭配不同的調整頻率方式相比,在排程相同工作時,我們的排程器最低僅消耗61.6% 使用全域任務排程器所消耗的能量。 This dissertation proposes computing resource allocation and scheduling algorithms for the two major issues in a data center hosting cloud, i.e to reduce the energy consumption and to guarantee service performance. We focus on an enterprise-level data center supporting a private cloud in this dissertation. In a data center, tasks and applications are deployed to servers for execution in the form of virtual instances, i.e. virtual machines or containers. Each virtual instance has a specification, which limits the amount of resource the virtual instance can utilize per time unit. Since the resource required by a service may vary over time, we have to dynamically scale the number of virtual instances running a service in order to guarantee the service performance. We can also reduce the energy consumption by adjusting the deployment of virtual instances to servers. We study three topics that are related to service performance and energy saving. These topics are: auto-scaling for web services, energy-efficient virtual instance deployment, and energy-aware task scheduling on a multi-core server. For each topic, we consider different scenarios, and propose solutions accordingly. For auto-scaling for web services, we propose different scaling strategies based on the stability of the workload changes of a web service. For workloads that can change drastically within a short time period, we propose two virtual instance scaling strategies, and compare their performance using real-world workload traces. For workloads with predictable behaviors, we consider the scenario that there are multiple specifications of virtual instances. We propose scaling algorithms that determine the number of each specification of virtual instances for running a web service in each time period, so that the cost is minimized. For energy-efficient virtual instance deployment, we consider two scenarios, virtual instances with fixed specifications, and virtual instances with moldable specifications. For virtual instances with fixed specifications, we propose energy-efficient deployment strategies that consolidate virtual instances onto a subset of servers. The servers that are not assigned with virtual instance are put into sleep mode to save energy. For virtual instances with moldable specifications, we propose algorithms that generate energy-efficient deployment plans. A deployment plan includes: 1) the number of cores allocated to each virtual instance, 2) the operating frequency of each virtual instance, and 3) the deployment of virtual instances to servers. We propose dynamic programming algorithms which generate an optimal deployment plan with minimum energy consumption when the inputs, i.e. the number of virtual instances and servers, are small. We also propose heuristics that generate feasible deployment plans with affordable computing time. The third topic is energy-aware task scheduling on a multi-core server. We consider two types of multi-core platforms, homogeneous and asymmetric. We propose algorithms that determine the assignment of tasks to cores, the execution order of tasks, and the operating frequency of each task for the two types of multi-core platforms. An asymmetric-aware scheduler based on our proposed algorithm is implemented as a proof-of-concept. The scheduler consumes 61:6% and 76:9% energy of the existing Global Task Scheduler with performance and conservative frequency governors respectively. |
URI: | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/71742 |
DOI: | 10.6342/NTU201804372 |
全文授權: | 有償授權 |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-107-1.pdf 目前未授權公開取用 | 2.99 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。