• 沒有找到結果。

針對本論文結果做出總結

第二章 文獻探討 研究所(National Institute of Standards and Technology,NIST)[3]定義:「雲端運算是由眾 多的基礎設施所結合而成的計算叢集,透過網路連接,可以將雲中基礎設施的儲存空間、

計算能力等計算資源當作一個資源運算池,且以最少的成本按需求來快速配置或釋放資 源。」此外,NIST也對於雲端資源運算架構作了清楚的描繪(如圖1所示)。以下分別針對 雲端系統之部署模式以及服務模式一一介紹,最後再針對其特點作一說明。

圖1、雲端運算架構

一、 部署模式

1. 私有雲(Private cloud)

由私人企業或公司組織獨自建構而成的。私有雲只能讓企業內部人員來存取並共用 內部資源,外人則無法進入此雲。因此私有雲可以有效保障企業內部資料的安全隱 私性。

2. 社群雲(Community cloud)

社群雲是由眾多有相同利益的組織一起建構而成的,只有這些社群組織內部的成員

1. 軟體即服務(Software as a Service,SaaS)

現今網路的發達,使用者可以直接使用經由雲端所提供的軟體服務,有別以往消費 者需要先行付費購買軟體,再經過冗長的安裝步驟,在SaaS上,使用者只需要經由 網路就可以隨時操作應用軟體。

2. 平台即服務(Platform as a Service,PaaS)

統等,但無法控制底層硬體設定。

三、 基礎特點

1. 隨需自動服務(On-demand Self-service)

使用者按照自身的需求自行使用服務,且這個過程是自動化的,所以使用者不需要 和雲端提供者進行互動。

2. 網路寬頻存取(Broad Network Access)

透過標準機制,使用者可以從各式各樣的客戶端平台(例如平板、筆電等),來存取 在網路上的服務。

3. 資源池共用(Resource Pooling)

服務提供者把硬體資源像是運算能力、儲存空間、網路頻寬等當作一個資源池,然

5. 可計量服務(Measured Service)

雲端服務中資源的使用情形會被服務提供者所控制、監控,使用者和服務提供者彼

圖2、全虛擬化之雲端系統[4]

一、 全虛擬化(Full Virtualization)

全虛擬化是由軟體直接模擬一個完整的硬體。如圖 2 所示。在基礎硬體設備作為底 層的結構,在上面建構一個虛擬化平台(Hypervisor)來模擬用戶端所需的所有硬體,用 戶機所運行的指令將會經由此平台轉譯給在下面的作業系統和硬體執行,因此用戶機可 以不用修改作業系統,直接在虛擬化平台上運行,而由於用戶端請求須要經過轉譯,相 當耗時,在效能的表現上不太理想。因為不用修改作業系統,所以全虛擬化可以在大多 數的作業系統上運行。

二、 半虛擬化(Para-virtualization)

半虛擬化和全虛擬化有些不同。差異的地方在於半虛擬化只有模擬部分的硬體環境,

如圖 3 所示。半虛擬化無法運行完整的作業系統,通常是用來讓特定應用程式進行環境 模擬。半虛擬化通常需要修改作業系統的核心,相對來說能運行的作業系統就較為稀少,

因為直接修改核心,不需要轉譯,效能上較優。

圖3、半虛擬化之雲端系統[4]

三、 硬體輔助虛擬化( Hardware-assisted Virtualization)

硬體輔助虛擬化是一種新的架構,透過增強用戶端作業系統和系統底層硬體設備 的通訊,進而輔助虛擬化的一種硬體技術,如圖4所示。硬體輔助虛擬化不需要修改用 戶端作業系統的核心。硬體輔助虛擬化在原本的特權模式之外新增一個Ring -1作為Root Mode,而原本的Ring 0~ Ring 3則稱為Non-Root Mode,監控程序可以透過Root Mode來 監控硬體資源。

圖4、硬體輔助虛擬化之雲端系統[5]

圖5、作業系統虛擬化之雲端系統

四、 作業系統虛擬化

在本身的作業系統上做修改,直接共用硬體設備,如圖 5 所示。作業系統虛擬化在 效能表現跟直接在實體機器上操作差不多,且成本相對較低,但作業系統上有所限制,

用戶端所使用之作業系統需與主機之作業系統相同。

第三節 動態資源分配

在雲端運算中,使用適當的資源管理方法能夠有效的提高工作效率、降低成本。動 態資源分配的目的在於透過使用動態資源分配方法進行有效的資源管理,以達到節約能 源的目標。動態資源管理步驟如圖6所示。首先部署生成的虛擬機器,以確定所需的需 求資源。其次將虛擬機器創建並配置到實體機器上,透過資源監控虛擬機器的資源使用 情形和性能指標,判斷是否有過載或閒置的狀態,進而將虛擬機器由較擁擠的實體機器

圖6、動態資源管理步驟[6]

在資源分配方法上大方向一般可以分成負載平衡(Load balancing)和集中整合 (Consolidation)兩種,以下將對此兩種方法進行分析與描述。

1. 負載平衡(Load balancing)

由於實體機器中的資源是動態的,因此某些時刻某些機器內部工作負載可能過高。

負載平衡方法會盡量保持各實體機器負載的平衡,將高負載機器內的工作移到低負 載的機器內,如圖7所示,PM 工作負載太高,便會把工作轉移到負載最低的PM 上。

2. 集中整合(Consolidation)

集中整合與負載平衡的目的恰好相反,為了避免過多的實體機器開啟造成能源浪費,

集中整合會將工作盡可能的集中在一起,將多餘的機器關閉或休眠,如圖7所示,

將工作負載低的PM 上的工作轉移到負載最高的PM 上面,而一旦PM 目前無任何 工作需要執行,則可令其進入休眠狀態以節省電力消耗。

圖7、負載平衡和集中整合[6]

降低能源消耗是各個資料中心為了降低營運成本相當重要的一個選擇。而在前述 兩種資源分配方法之下,又有許多相對應的分配策略。在文獻[7]中,Jansen與Brenner 討論了七種在雲端環境中的分配策略:

1. Round Robin

當有新工作出現的時候,以輪轉巡迴的方式在全部實體機器中從頭到尾找尋可以容 納該工作的機器,將工作分配到實體機器中,重覆相同步驟直到全部工作都分配完 畢,此為負載平衡類別之分配方法。

2. Striping

一開始先放棄可用空間不足以容納該工作的機器,然後從剩餘的機器中挑選使用率 最低的機器,將工作分配進去,以此類推直到所有工作分配完畢,此亦為負載平衡 分配方法。

3. Packing

與Striping方法相反,在可以容納該工作的機器中找尋使用率最高的機器,將工作分

5. Load Balancing (free CPU ratio)

根據圖8之關係圖可以得知當實體機器閒置時的電力消耗大約為實體機器所有核心 都滿載時的一半,因此可以推導出電力消耗運算式如下:

P 1

其中α為閒置時電力消耗與滿載時電力消耗的比例,本學位論文採α為50%;實體負載 量用 表示(0%≤ ≤100%); 為實體機器滿載時之電力,在本論文後續實驗將設定為250W。

舉例來說,假設有一實體機器的負載量為40%,則該機器的電力消耗為:

P 40

100∗ 1 0.5 0.5 ∗ 250 0.2 0.5 ∗ 250

175(W)

第三章

問題描述與方法 虛擬機器(VM)負載量之40%之工作(JOB)抵達資料中心時,此時VM 負載為50%,VM 負 載為45%,假設僅有此2台機器,這個JOB將被分配進入使用率最高的VM 中,如圖9所示。

圖9、負載集中策略下之工作分配情形

圖10、負載集中策略下之開啟新虛擬機器情形

假設在資料中心的伺服器中,已開機的虛擬機器都有工作在處理,若有一JOB抵達 而所有使用中的虛擬機器皆無法容納該工作進入時,此時只能開啟新的虛擬機器,而這 相對就會增加電力消耗。舉例來說,有一工作大小60%之JOB抵達資料中心,此時資料中 心使用中的虛擬機器VM 負載為90%,VM 負載為45%,由於VM 、VM 皆無法容納該工 作JOB,則資料中心會開啟新的虛擬機器VM 來承載該JOB,如圖10所示。

當資料中心中的全部虛擬機器都已經開啟並使用中,而有一新工作抵達且無法被分 配進入任何一台虛擬機器時,則該工作將會被丟棄,此時會影響到資料中心的服務品質。

舉例來說,一工作大小60%之工作JOB抵達資料中心時,資料中心內共有三台VM,且都 已開啟並使用中,三台的負載分別為90%、45%、60%,此時JOB無法分配進入資料中心,

則將丟棄該工作,如圖11所示。

圖11、負載集中策略下之丟棄工作情形

圖11所表示之情形是,即使資料中心內虛擬機器可用之空間總和可以容納此工作,

第二節 Job Segmented Allocation資源分配方法

本論文提出一資源分配方法,任一工作到來時即就其程序屬性得以切割成若干塊,

為了貼近現實情形,每一工作切割的次數都可能不相同,切割後的每一區塊大小也都不 同,在工作抵達時,工作本身的資訊會包含其切割的區塊數以及切割後各區塊的大小並 給定,若當一工作切割後之各部分均可分配到機器中,則按照切割後各部分之大小依序 分配進入機器中運行,本論文所提之Job Segmented Allocation,主要目的在於在工作 被細分後,虛擬器的負載量可達到最大化,使得負載集中的效率可以提昇,減少開設新

其次將切割後的工作依照其工作負載由大到小排序,按順序進行工作分配的動作,

分配方法如下:首先將資料中心內全部虛擬機器的負載量備份到暫存區,將切割後的工 作在暫存區內找尋可以容納得下該部分工作負載量的虛擬機器中負載量為最高者,依序 分配完切割後的所有部分工作後,若全部都可以分配到虛擬機器中,則進行實質的配置,

否則丟棄該工作。假設上述之工作J 抵達資資料中心時,資料中心內共有三台虛擬機器,

負載量分別為90%、45%、60%,進行工作J 資源分配動作,將切割後最大的部分35%先配 置進入虛擬機器中,再分配次要的部分15%,最後分配最小的部分10%,如圖13所示。最 後本論文所提出Job Segmented Allocation資源分配方法其演算法如圖14。

圖13、Job Segmented Allocation分配工作情形

圖14、Job Segmented Allocation分配方法之演算法

第四章

實驗結果 參數如表1,模擬一千個工作,工作彼此到達時間的間隔採用指數分布(Exponential

第四章

實驗結果 參數如表1,模擬一千個工作,工作彼此到達時間的間隔採用指數分布(Exponential

相關文件