§ 瀏覽學位論文書目資料
  
系統識別號 U0002-1707201716340700
DOI 10.6846/TKU.2017.00583
論文名稱(中文) 資源負載感知之OpenStack排程機制
論文名稱(英文) Resource Usage Aware Scheduling in OpenStack
第三語言論文名稱
校院名稱 淡江大學
系所名稱(中文) 電機工程學系碩士班
系所名稱(英文) Department of Electrical and Computer Engineering
外國學位學校名稱
外國學位學院名稱
外國學位研究所名稱
學年度 105
學期 2
出版年 106
研究生(中文) 賴羿廷
研究生(英文) Yi-Ting Lai
學號 604470053
學位類別 碩士
語言別 繁體中文
第二語言別
口試日期 2017-07-03
論文頁數 65頁
口試委員 指導教授 - 衛信文
委員 - 衛信文
委員 - 李維聰
委員 - 朱國志
關鍵字(中) OpenStack
雲端運算
排程
關鍵字(英) OpenStack
Clouds
Scheduler
第三語言關鍵字
學科別分類
中文摘要
隨著雲端服務的需求日益成長,能快速部屬雲端環境與具備低建置成本的雲端平台因而陸續出現於市面上。其中,「OpenStack」則為近期最受到關注的一套雲端平台作業系統。其內部包括了運算模組、網通模組和儲存模組三大模組,再搭配一個可以集中管理上述三大類模組的儀表板模組,最後組合成一套OpenStack共享服務,並且以提供虛擬機器的方式,對外提供運算資源以便彈性擴充或調度。使用者可以依自己的需求,選擇佈署特定模組,換句話說,人人都能下載開放原始碼並自行打造專屬的雲端基礎設施(IaaS)環境。
然而,在雲端環境中,虛擬機應針對其目的與性質規劃出詳細所需硬體條件,並根據實體主機之規格與資源負載情形,在符合硬體條件且不影響整體執行效能條件下,選出一台最合適之主機作虛擬機資源配置。但現行OpenStack的排程演算法並沒有辦法因應使用者所訂出之詳細規格來過濾出可用之主機。此外在OpenStack中主機資源負載僅考慮到剩餘記憶體空間,但不同目的與性質的虛擬機所會消耗的硬體資源皆不同。試想當一個實體主機之CPU資源已達滿載,又或者已無剩餘網路頻寬,但系統還是將虛擬機配置於此主機,此種情況將造成系統的不穩定進而影響使用者體驗,因此OpenStack在虛擬機配置上還有很大的改進空間,這也是本篇論文所要解決的關鍵問題。
在本篇論文中,我們首先制定出虛擬機所需詳細硬體規格,採用OpenStack內建的Host Aggregate Filter幫助我們過濾出可用實體主機後,再考慮可用主機之CPU、記憶體、硬碟與網路頻寬四種資源的使用情況,將四種條件所得之值作正規化後,相加得到此主機最終權重,最終綜合評分最高之主機配置虛擬機。藉由我們所提出的方法,能將虛擬機配置至符合所需硬體需求之主機上,並藉由四種資源條件之權重計算,確保各實體主機資源負載平衡,不會因某資源過載而影響系統穩定性與虛擬機執行效能。
英文摘要
With the growing demand for cloud services, the cloud platforms which can quickly build the cloud environment with low-cost are required in the market. Now, OpenStack is an open-source, attractive cloud platform operating system, and written mainly in Python. Using OpenStack, user can build their own environment by specific modules according to their needs, in other words, everyone can download open source code and build their own unique cloud infrastructure (IaaS) environment to provide various services. 
Though the cloud environment can be built easily, the resources allocation and management of cloud platform is a challenging issue. For example, virtual machine should be configured based on detailed hardware requirements for the purpose and nature of applications in the cloud computing environment. Moreover, the system should choose the most suitable physical host for running the specified virtual machines according to its resource usage and workload. OpenStack provides basic scheduling policy for resource allocation, but OpenStack's scheduling algorithm does not have a method to filter out available hosts with the detailed specifications required by the user. Additionally, the scheduling policy of OpenStack only takes the remaining memory space into account and ignores that different applications have different purposes and require different capabilities of the virtual machines (VMs). Thus, there is room to improve OpenStack scheduling policy for allocating virtual machines. This is also the key issue to be discussed in this paper.
This paper first studied the services - nova-scheduler in the OpenStack core computing suite, called Nova. The main function of nova-scheduler is to allocate hardware resources for virtual machines. In the OpenStack, the user can input the parameters according to the dashboard module; customize the virtual machine specifications to obtain the entity host resources. Second, we applied Host Aggregate Filter to find out physical host that can fulfill the requirements of VMs and then proposed weighted formulas which consider usages of various resources for selecting most feasible physical host for running VM.
The simulation results show that the proposed method can select feasible physical host for running VM while considering the load balance among hosts and ensure that the quality of services will not be downgraded due to the wrong selection.
第三語言摘要
論文目次
目錄
第一章 緒論 1
1.1 前言 1
1.2 動機與目的 2
1.3 論文章節架構 4
第二章 背景知識與相關文獻 5
2.1 雲端運算 5
2.1.1 定義 6
2.1.2 三種服務模式 7
2.1.3 虛擬化技術(Virtualization) 8
2.2 OpenStack 9
2.2.1 起源與發展 9
2.2.2 核心套件與系統架構 10
2.2.3 Filter-Weight排程演算法 13
(1) 第一階段-Filter 14
(2) 第二階段-Weight 15
2.2.4 相關研究 16
第三章 資源負載感知之排程機制 17
3.1 Filter 18
3.1.1 Host Aggregate Filter 18
3.2 Weight 20
3.2.1 CPU Weigher 20
3.2.2 Disk Weigher 22
3.2.3 Bandwidth Weigher 24
3.2.4 Min-Max正規化 26
3.3 整體流程統合 27
第四章 實驗環境 28
4.1 系統架構 28
4.2 實體環境 29
第五章 模擬結果與效能分析 31
5.1 模擬內容 31
5.1.1 虛擬機性質與規格 32
5.2 實機測試 34
5.2.1 實驗Ⅰ-數據與分析 35
5.2.2 實驗Ⅱ-數據與分析 42
5.3 模擬環境測試 49
5.3.1 實驗Ⅰ-數據與分析 50
5.3.2 實驗Ⅱ-數據與分析 54
5.4 主要貢獻 61
第六章 結論與未來展望 62
參考文獻 63


圖目錄
圖2.1 雲端運算概觀 5
圖2.2 各企業與研究機構對雲端運算之定義 6
圖2.3 OpenStack核心系統架構 10
圖2.4 OpenStack排程示意圖 13
圖2.5 Weight階段示意圖 15
圖3.1 Host Aggregate示意圖 19
圖3.2 排程簡易流程圖 27
圖4.1 系統核心架構 28
圖4.2 OpenStack網頁介面上的主機資訊 30
圖4.3 OpenStack網頁介面上的主機狀態 30
圖5.1 OpenStack網頁介面上的虛擬機規格 33
圖5.2 實驗Ⅰ-網頁介面上傳統機制的排程結果 36
圖5.3 實驗Ⅰ-網頁介面上資源負載感知機制的排程結果 36
圖5.4 實驗Ⅰ-網頁介面上以傳統機制排程的主機資源使用情況 39
圖5.5 實驗Ⅰ-網頁介面上資源負載感知機制的主機資源使用情況 39
圖5.6 實驗Ⅰ-以傳統機制排程的微型資料庫虛擬機評分結果 41
圖5.7 實驗Ⅰ-以資源負載感知排程的微型資料庫虛擬機評分結果 41
圖5.8 實驗Ⅱ-網頁介面上傳統機制的排程結果 43
圖5.9 實驗Ⅱ-網頁介面上資源負載感知機制的排程結果 43
圖5.10 實驗Ⅱ-網頁介面上以傳統機制排程的主機資源使用情況 45
圖5.11 實驗Ⅱ-網頁介面上資源負載感知機制的主機資源使用情況 45
圖5.12 實驗Ⅱ-以傳統機制排程的網頁伺服器虛擬機評分結果 48
圖5.13 實驗Ⅱ-以資源負載感知排程的網頁伺服器虛擬機評分結果 48
圖5.14 實驗Ⅰ-第一種進入順序以傳統機制排程結果 51
圖5.15 實驗Ⅰ-第一種進入順序以資源負載感知機制排程結果 51
圖5.16 實驗Ⅰ-第二種進入順序以傳統機制排程結果 52
圖5.17 實驗Ⅰ-第二種進入順序以資源負載感知機制排程結果 52
圖5.18 實驗Ⅰ-第三種進入順序以傳統機制排程結果 53
圖5.19 實驗Ⅰ-第三種進入順序以資源負載感知機制排程結果 53


表目錄
表3.1 CPU負載權重公式參數	21
表3.2 硬碟負載權重公式參數 23
表3.3 網路負載權重公式參數 25
表3.4 Min-Max正規化公式參數 26
表4.1 實體主機規格 29
表5.1 虛擬機規格 32
表5.2 實驗Ⅰ-排程結果比較 35
表5.3 實驗Ⅰ-傳統排程機制資源使用情況 38
表5.4 實驗Ⅰ-資源負載感知排程機制資源使用情況 38
表5.5 實驗Ⅰ-虛擬機效能評分結果 40
表5.6 實驗Ⅱ-排程結果比較 42
表5.7 實驗Ⅱ-傳統排程機制資源使用情況 44
表5.8 實驗Ⅱ-資源負載感知排程機制資源使用情況 44
表5.9 實驗Ⅱ-虛擬機效能評分結果 46
表5.10 實驗Ⅱ-模擬環境主機規格 54
表5.11 模擬Ⅰ-資源過載主機數量統計 56
表5.12 模擬Ⅱ-資源過載主機數量統計 58
表5.13 模擬Ⅲ-資源過載主機數量統計	60
參考文獻
[1] OpenStack (https://www.openstack.org/)
[2] 黃重憲, "淺談雲端運算(Cloud Computing)", 國立台灣大學計算機及資訊網路中心電子報第0008期, 2009/3/20
[3] Cloud Open Lab (https://www.cloudopenlab.org.tw/ccipo_industryDefinition.do)
[4] 麟瑞科技–雲端運算概念與發展
[5] 黃重憲, "伺服器虛擬化技術簡介", 國立台灣大學計算機及資訊網路中心電子報第0004期, 2008/3/20
[6] 黃明華, "扮演雲端運算關鍵基礎 開源虛擬化技術概觀", 2014/12/10
(http://www.netadmin.com.tw/article_content.aspx?sn=1412020002)
[7] OpenStack 雲端開源平台技術整理
(https://www.gitbook.com/book/kairen/openstack-liberty/details)
[8] Wikipedia–OpenStack (https://zh.wikipedia.org/wiki/OpenStack)
[9] OpenStack Folsom Architecture
(http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/)
[10] 張景皓, "快速認識OpenStack技術架構", 2013/6/21
(http://www.ithome.com.tw/node/81095)
[11] OpenStack Scheduling (https://docs.openstack.org/kilo/config-  reference/content/section_compute-scheduler.html)
[12]Yu Huanle, Shi Weifeng, Bai Tingting, "An OpenStack-based resource  optimization scheduling framework", Sixth International Symposium on Computational Intelligence and Design, 2013, pp. 261-264
[13]Michael Scharf, Manuel Stein, Thomas Voith, Volker Hilt, "Network-aware Instance Scheduling in OpenStack", 2015 24th International Conference on Computer Communication and Networks (ICCCN), pp.1-6
[14]Lianhao Lu, Yingxin Chen, "Utilization-based Scheduling in OpenStack* Compute (Nova) ", Intel Tech Tip, May 2017.
[15]Shalmali Sahasrabudhe, Shilpa S. Sonawani, "Improved Filter-weight Algorithm for Utilization aware Resource Scheduling in OpenStack", 2015 International Conference on Information Processing (ICIP), Dec 16-19, pp. 43-47
[16]Michael Rini Soosai, B.N.Jagdale, "Efficient Time Based Scheduler For Implementing Reservation Plan in Cloud", 2014 IEEE Global Conference on Wireless Computing and Networking (GCWCN), pp. 165-168.
[17]Dan Tao, Zhaowen Lin, and Bingxu Wang, "Load Feedback-Based Resource Scheduling and Dynamic Migration-Based Data Locality for Virtual Hadoop Clusters in OpenStack-Based Clouds", 2017 20th Conference on Innovations in Clouds, Internet and Networks (ICIN), pp.149-159
[18]Aditya Makwe1, Priyesh Kanungo2, "Scheduling in Cloud Computing Environment Using Analytic Hierarchy Process Model", IEEE International Conference on Computer, Communication and Control (IC4-2015), pp. 1-4.
[19]Vatsal Gajera, Shubham, Rishabh Gupta, Prasanta K. Jana, "An effective Multi-Objective task scheduling algorithm using Min-Max normalization in cloud computing", 2016 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT), pp. 812-816
[20] Unixbench 5 (https://github.com/kdlucas/byte-unixbench)
論文全文使用權限
校內
紙本論文於授權書繳交後2年公開
同意電子論文全文授權校園內公開
校內電子論文於授權書繳交後2年公開
校外
同意授權
校外電子論文於授權書繳交後2年公開

如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信