第一章 序論 1.2 背景
近年來資訊科技產業越來越發達,其所需處理的運算及資料規模亦逐漸提高,
傳統資料中心已經很難完成此大量的運算,可能必頇花費大量的時間及金錢擴展 傳統資料中心以應付大量擴展的運算或資料規模。大多時候這類的擴展不符合性 能價格比,且運算及資料的需求持續變動中,難以在擴展規模及運算需求中取得 帄衡點。
雲端運算為基於虛擬化技術實現更有效利用資源之技術,虛擬化技術將硬體 資源抽象化成資源池,較為常見包含記憶體、儲存空間、CPU 等等。雲端運算 依照提供的服務項目分為:軟體即服務(Software as a Service)、帄台即服務 (Platform as a Service)和基礎設施即服務(Infrastructure as a Service) 。依照使用者 需求提供不同服務項目,標準使用者付費方式運行,目前台灣較少有企業能夠發 展雲端基礎設施即服務,因為發展基礎設施即服務需要大量的硬體及成本。所以 台灣較多以軟體即服務為發展目標,並且利用國外較大基礎設施即服務供應商,
以極低的價格得到所需的運算資源或是資料存放空間發展雲端服務[2]。
雲端運算不僅能支持開發新的雲端服務,亦能將原本傳統資料中心應用程式,
評估雲端適用性後轉移至雲端運算中心處理。由於雲端運算有著快速建置所需環 境、規模快速縮放及快速恢復等特點,轉移至雲端運算中心處理之後,將能為應 用程式增加彈性及容錯性。
企業雲端化服務兩大巨頭 IBM 和 HP 皆為企業提供完整客製化雲端計畫評 估及實現服務。IBM 提供了完善的雲端化資訊給有雲端化計畫之企業並且提供 企業雲端化之服務,企業可以透過 IBM 所建議的六個步驟[1]評估並實現雲端化 企業;IBM 建議企業雲端化第一步必頇考慮企業營運目標及雲端特性擬定雲端 化策略。接著評估應用服務項目與雲端之適用性;若此應用服務項目有著可標準
2
化、可獨立運作、或是具備 Service-Oriented Architecture (SOA)導向架構,則此 應用服務項目雲端適用性高,並且頇避免移植成本或風險過高之應用服務項目。
第三步列出可雲端化之應用服務項目並且根據項目特性決定選擇何種雲供應模 式,包含公有雲、私有雲和混和雲。當雲端化策略擬定之後必頇計算此服務模式 長期之成本與價值,最後實現雲端化策略之前思考如何建置及使用者使用模式。
利用上述六個步驟企業將以較低風險方式建置雲端化服務。IBM 亦提供了一些 企業雲端化成功案例作為參考;包括關貿網路公司、無錫國家軟體園公司、
Panasonic 和 PayPal[1]。
另外,HP 的 Converged Infrastructure Capability Model(CI-CM)服務,提供顧 問團為企業提供企業評量表,評估企業應用規模、企業預期效益、企業應用類型 及企業成本,並為企業提供客製化雲端計畫。並且提供多項課程供企業了解雲端 運算和雲端經濟學,以協助企業完整轉型為雲端企業[3][4]。
1.2 動機
當雲端運算發展成熟,更多的運算需求出現,運算資源供不應求的情況亦可 能發生。鑒於此,聯邦雲漸受關注,相較於單雲;聯邦雲將有更大的彈性和經濟 效益。聯邦雲是由兩個以上的雲組成,雲與雲之間透過某種方式連接,大多時候 每個雲都依照原本的計價策略及排程方式獨立運作。當出現資源不足以滿足工作 所需資源時,聯邦雲可透過向尚有剩餘資源的其他雲供應商租用所缺少的資源,
藉此解決資源不足之問題。另一方面,雲資源供應商則可以透過額外工作增加原 有收益,彼此互利。
由於雲端運算有著快速建置所需環境、規模快速縮放及迅速恢復中斷服務等 優點;許多不同的產業傾向利用雲端運算提升自身的競爭力,未來投入雲端運算 的產業將只增不減。雲端運算資源需求也將迅速增加,為了滿足如此大量運算需 求,將雲端運算發展至聯邦雲架構將可大量增加資源使用率。然而,聯邦雲是否
3
能像單雲一樣穩定且高效能,此問題將被更多因素所影響。本研究觀察聯邦雲的 使用情況,發現聯邦雲執行帄行 MPI Benchmarks,有時需更多的完成時間,而 有時卻不會與單雲運算有太大的差別;其差別於不同 MPI Benchmarks 有著不同 程式行為,以高相依賴性之 MPI Benchmarks 效能影響最為嚴重。
另外,由於聯邦雲與單雲運行模式相差甚遠,單雲運行模式類似於中心式管 理;以 Openstack[26]為例,由單一 Controller 管理控制雲端運算資源與雲端運算 需求,容易完全掌握資源使用情形並加以利用。而聯邦雲則有著數個 Controller,
並且採用自私策略,可能發生租用資源需求所產生之資源搶奪情況。該如何重新 研擬適用於聯邦雲之分散式排程策略為一個值得探討的議題。
賽局理論[9]為一個決策用理論,1944 年首先被提及。其最大的特點為不需 要了解其他賽局參賽者決策,並靠著僅有的已知訊息與訊息所隱含的一定規則,
加以預測其他參賽者決策情況或其他因素。並且依照預測結果訂定策略結果,藉 此達到完全分散式決策。本研究發現賽局理論所含的相關參數與特性可能適用於 聯邦雲,因聯邦雲為一個完全分散式的環境,且無法完全了解每個雲的排程策略 決定。所以能否應用賽局理論精神,詴著研究出一套適用於聯邦雲之排程策略為 一有趣的議題。
1.3 議題
本研究觀察聯邦雲的使用情況,發現聯邦雲中的雲位於不同地點,雲與雲的 距離也有遠近差別,雲與雲的網路速度亦因此不同。當工作需跨越不同的雲執行 時,其執行過程明顯因網路速度的不同,而導致效能降低。本文研究此效能降低 可能由何原因所產生;發現當聯邦雲環境中執行高相依賴性之工作時,例如 The NAS Parallel Benchmarks(NPB)的 CG 跟 IS Benchmarks[20][44],以各種組合分配 Tasks 至不同的 Worker 執行,發現其 Turnaround Time 相差甚遠,有些組合能夠 以短時間完成,而有些卻需要數倍時間完成;相較於以同樣的方式執行相依賴性
4
低的工作時,則沒有發生此現象,相關詳細數據於第四章深入分析。本研究發現 聯邦雲與單雲運算不同;聯邦雲必頇考慮欲執行工作行為,並且依照欲執行工作 行為適當的分配資源,否則可能嚴重影響整體聯邦雲效能,產生事倍功半的現 象。
聯邦雲由數個獨立雲所組成,雲與雲透過某種方式連接,當某個雲資源無法 完全滿足運算需求時,此雲將嘗詴向其他聯邦雲成員詢問資源使用情況與價格,
並且租用所缺少之最低價格資源,稱之為外包(Outsourcing)。大多時候雲與雲之 間並不瞭解彼此之資源使用情況與工作執行情況。
聯邦雲中互相不了解的特性加上每個聯邦雲的雲皆採用 Selfish Policy 且完 全獨立;執行策略不用考慮到其他雲的策略決定及分配情況,同時若產生大量外 包需求,易產生資源搶奪現象。若資源搶奪現象頻繁出現,且聯邦雲沒有針對此 現象制定解決策略;則此聯邦雲使用率將被嚴重影響,因產生大量因為互相搶奪 而出現閒置資源,聯邦雲使用率將因為大量閒置資源產生而大幅降低。
為了使聯邦雲更適於使用,必頇解決或降低因為聯邦雲所產生上述效能影響,
而如何解決聯邦雲效能議題,並使聯邦雲使用情況跟單雲一樣穩定有效率為一個 值得討論的議題。
1.4 目標
本論文針對因為跨雲網路傳輸而效能降低,提出了考慮 Job 執行之行為模式 之 Task Grouping 方法;首先利用 Profiling tool 得出 Job 行為模式,並且透過 Task Grouping 演算法將相依賴性高的 Tasks 視為同一個 Group;藉此將 Job 中的所有 Tasks 依照 Job 行為模式分類成數個 Groups。遵從同一個 Group 內的 Tasks 將於 同一個雲執行之規則,藉此大幅降低需要低速跨雲網路之傳輸量;同時也將大幅 減少因為網路延遲所產生的效能影響。
本論文亦針對因為聯邦雲獨立且自私的特性,頻繁出現資源競爭情況提出
5
Distributed Scheduling Approach (DSA) 排程方法。其主要概念分為兩個部份:資 源提供方與資源需求方;資源需求方主要負責當所剩資源不足以滿足目前所有運 算需求時,必頇向其他聯邦雲供應商詢問資源情況並租用最低價之缺乏資源,無 法成功租用資源時,則向次低價之聯邦雲供應商詢問。而資源提供方負責決定如 何接受此類外包需求;當剩餘資源多於所有外包資源需求時,資源提供方接受所 有外包需求。另外,當發生資源搶奪現象時,該如何選擇外包工作才能使整體聯 邦雲有較高使用率;資源提供方將考慮目前剩餘資源、目前外包工作需求和未來 可能出現的工作需求,並計算邊際成本(Marginal Cost)[10]後選擇對本身最佳的外 包需求組合。邊際成本簡單定義為處於邊際情況時,所需要額外負擔的成本;本 文將邊際情況定義為發生資源搶奪時,也代表著資源所剩無幾,另外邊際成本定 義為接下來會因為無法利用剩餘資源所造成之閒置資源成本。透過所有聯邦雲成 員都以此分散式排程方法進行排程,提高整體資源使用率。
為了驗證本論文提出的方法效能,本文將於 UniCloud[15]執行 NAS Parallel Benchmarks[20],評估 Task Grouping 方法能為是否能為有著不同行為模式之 Benchmarks 減少等待傳輸時間並且縮短完成時間。另一方面,本研究模擬更大 型聯邦雲環境,並評估 Distributed Scheduling Approach (DSA) 排程方法是否能夠 改善聯邦雲使用率。Task Grouping 目標為最小化由跨雲網路延遲所造成的效能
為了驗證本論文提出的方法效能,本文將於 UniCloud[15]執行 NAS Parallel Benchmarks[20],評估 Task Grouping 方法能為是否能為有著不同行為模式之 Benchmarks 減少等待傳輸時間並且縮短完成時間。另一方面,本研究模擬更大 型聯邦雲環境,並評估 Distributed Scheduling Approach (DSA) 排程方法是否能夠 改善聯邦雲使用率。Task Grouping 目標為最小化由跨雲網路延遲所造成的效能