楊晨凱
摘 要:為適應當前海量的信息處理能力需求和與日俱增的計算能力要求,云計算的規模不斷擴大,數據中心作為云計算的基礎設施也隨之迅速發展。大規模的數據中心將產生巨大的能耗,然而當前數據中心的資源調度算法卻無法滿足新形勢下對異地多中心應用和資源的批量管理、實時管理、自動管理的要求。因此,資源調度算法成為了當前的研究熱點和難點。本文重點研究了異地多中心間資源調度需求,,并提出了相應的調度算法,最大程度的滿足用戶需求。
關鍵詞:云計算,多中心,資源調度
Research on Resource Scheduling Algorithms among Multi-Centers in Different Places
Abstract: In order to adapt to the current massive information processing capacity requirements and increasing computing power requirements, the scale of cloud computing continues to expand, and the data center as a cloud computing infrastructure has also developed rapidly. Large-scale data centers will generate huge energy consumption. However, the resource scheduling algorithms of current data centers cannot meet the requirements of batch management, real-time management, and automatic management of multi-center applications and resources in different places under the new situation. Therefore, resource scheduling algorithms have become the current research hotspots and difficulties. This paper focuses on the resource scheduling requirements of multi-center between different places, and proposes a corresponding scheduling algorithm to meet the needs of users to the greatest extent.
Keywords: Cloud Computing, Multicenter, Resource Scheduling
1.引言
異地多中心云平臺包含大量異構云計算節點,具有規模大、異構性強、可用性高等特點,且云服務資源類型多種多樣,各個云服務資源的計算能力、存儲能力、傳輸能力也存在很大的差異,針對異構云應用動態調度高性能的服務資源需求,需要研究資源調度問題[1] [2]。
目前建設的異地多中心主要采用了華為云、阿里云、浪潮云、openstack等平臺,這些云平臺服務資源各種各樣,云資源管理接口不同,加大了資源調度的難度,已建的統一云管理平臺沒有關于異構多中心資源調度的功能,無法滿足新形勢下對異地多中心應用和資源的批量管理、實時管理、自動管理的要求[3]。
綜上,開展面向異地多中心間資源調度算法研究,構建自動化編排模型,實現敏捷高效、可視化、高性能的資源調度是異地多中心架構中急需解決的關鍵問題[4]。
2.異地多中心資源調度需求分析
2.1 基于全生命周期管理的異地多中心資源調度策略
異地多中心調度面向的資源來自多粒度、多維度和多平臺,這種變化對資源的高效識別和調度提出了挑戰。另外,以集群應用為典型代表的應用需要各種資源之間通過組合和協作的方式共同完成,也給異地多中心環境下的應用部署帶來了難題。同時,異地多中心應用運行以后,其廣泛分布的特征使得現有的調度策略和資源管理策略難以適應。因此,需要研究異地多中心資源的整個生命周期管理方法,實現資源的高效管理、調度任務的正確執行以及調度目標的順利實現。主要包括:
(1)異地多中心應用的自動化部署:支持異地多中心的分布式多級調度算法,提高大規模調度場景下的性能;基于系統效能評價的異地多中心平臺資源自動化分配技術,確保應用獲取匹配最高系統效能的資源;通過異地多中心服務調度的異步和批處理機制,提高異地多中心服務調度系統的性能;基于異地多中心服務調度的容錯方法,提高調度系統的健壯性;基于異地多中心的資源彈性伸縮技術,結合異地多中心的運維監控技術,支持異地多中心應用按照多個維度性能指標進行資源的自動擴縮容。
(2)異地多中心應用運行周期調度策略:基于面向異地多中心應用運行階段的應用彈性負載調度策略,通過小云擴展到大云的方式快速滿足業務調峰的需求;基于異地多中心的應用災難恢復調度策略,通過主備應用分開的方式快速實現數據災難恢復,保證應用的服務連續性;基于面向異地多中心應用的應用更新技術,支持異地多中心應用的維護和灰度發布模式;研究異地多中心資源回收跟蹤技術,解決異地多中心應用消亡帶來的資源浪費問題。
2.2 異地多中心的服務接入和管理
由于其異構性和動態性,高層次服務元素對底層次服務元素存在嵌套調用關系,已編排服務也可成為服務元素,因此,需要研究一種靈活的服務服務接入和管理方法。主要包括:
(1)服務元素接入與管理技術:基于異地多中心服務的狀態跟蹤監控技術,解決服務目錄動態變化導致的調度失敗問題;基于服務元素的注冊機制,支持服務元素的增刪;
(2)多中心異構服務接入技術:基于面向多平臺多層次云服務的快速適配框架,提供靈活定制的云服務接入機制;基于多中心異構服務的接入版本管理機制,提高調度系統的成功率。
3.異地多中心調度算法研究
3.1 基于資源域的異地多中心分級調度技術
調度作業按計算量和通訊量的大小,分成計算密集型、通訊密集型、計算秘密-通訊密集型和一般型4大類。多中心的資源也按計算能力和通訊能力的大小不同組成不同的資源域,同一域中的資源類型相同。調度的原則是盡量使提交作業的作業類型與資源類型相匹配調度模型的結構。
調度模型的結構由4個主要組件組成:
Server:是用戶與系統交互的唯一接口。負責接收用戶提交的作業,將作業入隊,給提交的作業分配一個作業號返回給用戶。作業號可以唯一標識每個作業,以備提交者用來查詢作業的運行情況。然后計算作業優先級,根據作業類型查找資源域列表,找到最佳匹配的資源域,將其發送給局部調度器。Server還負責接收運行結果并將結果返回給用戶。
局部調度器Local-Scheduler:每個資源域有一個Local-Scheduler,負責在本資源域范圍內的資源分配。Local-Scheduler接收Server傳送過來的作業,查看域內云平臺的負載情況,并調度作業運行。Local-Scheduler還要監聽Scheduler發送的資源負載傳送請求,將本域內的資源負載情況發送給Scheduler。
全局調度器Scheduler:當用戶遞交的作業請求的資源超過最大可用情況時,Server將該任務交由全局調度器調度執行。Scheduler根據各Local-Scheduler傳送的資源負載信息在全局范圍內選擇合適的云平臺運行作業。
云平臺:代表每個運行作業的云平臺資源,節點接收從調度器傳送過來的作業,驅動其運行。作業運行完成后,云平臺將完成的作業號通知給調度器,并將運行結果傳送給Server。云平臺還要定時將負載情況發送給資源調度器。
3.2 異地多中心應用的自動化部署技術
異地多中心應用的自動化部署技術主要由統一的部署管理插件調用各云平臺的接口并結合安裝在各計算資源(虛擬機、容器、裸金屬服務器)的代理軟件配合完成,流程如下:
1、用戶發布在統一云管理門戶中發起應用部署請求,請求經過調度后分配到特定的云平臺的API適配網關;
2、API適配網關調用異地多中心的彈性計算服務適配接口創建計算資源,調用異地多中心的網絡適配接口構建虛擬網絡;
3、API適配網關針對每個計算資源建立一個長任務,代理軟件首先給計算資源獲取應用軟件,然后通過調用計算資源的命令執行腳本進行部署;
4、代理軟件定時查詢應用在計算資源中的部署進度,并把進度反饋到API適配網關。
5、API適配網關把進度匯總到統一云管理門戶。
4.結束語
本文深入研究了異地多中心間資源調度算法,提出了基于基于資源域的異地多中心分級調度技術和自動化部署技術,最大程度滿足了異地多中心場景的資源調度需求。
參考文獻
[1]武晉. 面向數據中心的資源調度算法仿真分析研究[D]. 浙江理工大學, 2018.
[2]史恒亮. 云計算任務調度研究[D].南京理工大學, 2012.
[3]邢加偉. 云計算環境下任務調度優化算法的研究[D].中國科學技術大學, 2018.
[4]羅紅, 慕德俊 , 鄧智群 , 王曉東 . 網格計算中任務調度研究綜述 [J]. 計算機應用研究,2005(05):16-19.