楊晨凱
摘 要:為適應(yīng)當(dāng)前海量的信息處理能力需求和與日俱增的計算能力要求,云計算的規(guī)模不斷擴大,數(shù)據(jù)中心作為云計算的基礎(chǔ)設(shè)施也隨之迅速發(fā)展。大規(guī)模的數(shù)據(jù)中心將產(chǎn)生巨大的能耗,然而當(dāng)前數(shù)據(jù)中心的資源調(diào)度算法卻無法滿足新形勢下對異地多中心應(yīng)用和資源的批量管理、實時管理、自動管理的要求。因此,資源調(diào)度算法成為了當(dāng)前的研究熱點和難點。本文重點研究了異地多中心間資源調(diào)度需求,,并提出了相應(yīng)的調(diào)度算法,最大程度的滿足用戶需求。
關(guān)鍵詞:云計算,多中心,資源調(diào)度
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.引言
異地多中心云平臺包含大量異構(gòu)云計算節(jié)點,具有規(guī)模大、異構(gòu)性強、可用性高等特點,且云服務(wù)資源類型多種多樣,各個云服務(wù)資源的計算能力、存儲能力、傳輸能力也存在很大的差異,針對異構(gòu)云應(yīng)用動態(tài)調(diào)度高性能的服務(wù)資源需求,需要研究資源調(diào)度問題[1] [2]。
目前建設(shè)的異地多中心主要采用了華為云、阿里云、浪潮云、openstack等平臺,這些云平臺服務(wù)資源各種各樣,云資源管理接口不同,加大了資源調(diào)度的難度,已建的統(tǒng)一云管理平臺沒有關(guān)于異構(gòu)多中心資源調(diào)度的功能,無法滿足新形勢下對異地多中心應(yīng)用和資源的批量管理、實時管理、自動管理的要求[3]。
綜上,開展面向異地多中心間資源調(diào)度算法研究,構(gòu)建自動化編排模型,實現(xiàn)敏捷高效、可視化、高性能的資源調(diào)度是異地多中心架構(gòu)中急需解決的關(guān)鍵問題[4]。
2.異地多中心資源調(diào)度需求分析
2.1 基于全生命周期管理的異地多中心資源調(diào)度策略
異地多中心調(diào)度面向的資源來自多粒度、多維度和多平臺,這種變化對資源的高效識別和調(diào)度提出了挑戰(zhàn)。另外,以集群應(yīng)用為典型代表的應(yīng)用需要各種資源之間通過組合和協(xié)作的方式共同完成,也給異地多中心環(huán)境下的應(yīng)用部署帶來了難題。同時,異地多中心應(yīng)用運行以后,其廣泛分布的特征使得現(xiàn)有的調(diào)度策略和資源管理策略難以適應(yīng)。因此,需要研究異地多中心資源的整個生命周期管理方法,實現(xiàn)資源的高效管理、調(diào)度任務(wù)的正確執(zhí)行以及調(diào)度目標(biāo)的順利實現(xiàn)。主要包括:
(1)異地多中心應(yīng)用的自動化部署:支持異地多中心的分布式多級調(diào)度算法,提高大規(guī)模調(diào)度場景下的性能;基于系統(tǒng)效能評價的異地多中心平臺資源自動化分配技術(shù),確保應(yīng)用獲取匹配最高系統(tǒng)效能的資源;通過異地多中心服務(wù)調(diào)度的異步和批處理機制,提高異地多中心服務(wù)調(diào)度系統(tǒng)的性能;基于異地多中心服務(wù)調(diào)度的容錯方法,提高調(diào)度系統(tǒng)的健壯性;基于異地多中心的資源彈性伸縮技術(shù),結(jié)合異地多中心的運維監(jiān)控技術(shù),支持異地多中心應(yīng)用按照多個維度性能指標(biāo)進行資源的自動擴縮容。
(2)異地多中心應(yīng)用運行周期調(diào)度策略:基于面向異地多中心應(yīng)用運行階段的應(yīng)用彈性負載調(diào)度策略,通過小云擴展到大云的方式快速滿足業(yè)務(wù)調(diào)峰的需求;基于異地多中心的應(yīng)用災(zāi)難恢復(fù)調(diào)度策略,通過主備應(yīng)用分開的方式快速實現(xiàn)數(shù)據(jù)災(zāi)難恢復(fù),保證應(yīng)用的服務(wù)連續(xù)性;基于面向異地多中心應(yīng)用的應(yīng)用更新技術(shù),支持異地多中心應(yīng)用的維護和灰度發(fā)布模式;研究異地多中心資源回收跟蹤技術(shù),解決異地多中心應(yīng)用消亡帶來的資源浪費問題。
2.2 異地多中心的服務(wù)接入和管理
由于其異構(gòu)性和動態(tài)性,高層次服務(wù)元素對底層次服務(wù)元素存在嵌套調(diào)用關(guān)系,已編排服務(wù)也可成為服務(wù)元素,因此,需要研究一種靈活的服務(wù)服務(wù)接入和管理方法。主要包括:
(1)服務(wù)元素接入與管理技術(shù):基于異地多中心服務(wù)的狀態(tài)跟蹤監(jiān)控技術(shù),解決服務(wù)目錄動態(tài)變化導(dǎo)致的調(diào)度失敗問題;基于服務(wù)元素的注冊機制,支持服務(wù)元素的增刪;
(2)多中心異構(gòu)服務(wù)接入技術(shù):基于面向多平臺多層次云服務(wù)的快速適配框架,提供靈活定制的云服務(wù)接入機制;基于多中心異構(gòu)服務(wù)的接入版本管理機制,提高調(diào)度系統(tǒng)的成功率。
3.異地多中心調(diào)度算法研究
3.1 基于資源域的異地多中心分級調(diào)度技術(shù)
調(diào)度作業(yè)按計算量和通訊量的大小,分成計算密集型、通訊密集型、計算秘密-通訊密集型和一般型4大類。多中心的資源也按計算能力和通訊能力的大小不同組成不同的資源域,同一域中的資源類型相同。調(diào)度的原則是盡量使提交作業(yè)的作業(yè)類型與資源類型相匹配調(diào)度模型的結(jié)構(gòu)。
調(diào)度模型的結(jié)構(gòu)由4個主要組件組成:
Server:是用戶與系統(tǒng)交互的唯一接口。負責(zé)接收用戶提交的作業(yè),將作業(yè)入隊,給提交的作業(yè)分配一個作業(yè)號返回給用戶。作業(yè)號可以唯一標(biāo)識每個作業(yè),以備提交者用來查詢作業(yè)的運行情況。然后計算作業(yè)優(yōu)先級,根據(jù)作業(yè)類型查找資源域列表,找到最佳匹配的資源域,將其發(fā)送給局部調(diào)度器。Server還負責(zé)接收運行結(jié)果并將結(jié)果返回給用戶。
局部調(diào)度器Local-Scheduler:每個資源域有一個Local-Scheduler,負責(zé)在本資源域范圍內(nèi)的資源分配。Local-Scheduler接收Server傳送過來的作業(yè),查看域內(nèi)云平臺的負載情況,并調(diào)度作業(yè)運行。Local-Scheduler還要監(jiān)聽Scheduler發(fā)送的資源負載傳送請求,將本域內(nèi)的資源負載情況發(fā)送給Scheduler。
全局調(diào)度器Scheduler:當(dāng)用戶遞交的作業(yè)請求的資源超過最大可用情況時,Server將該任務(wù)交由全局調(diào)度器調(diào)度執(zhí)行。Scheduler根據(jù)各Local-Scheduler傳送的資源負載信息在全局范圍內(nèi)選擇合適的云平臺運行作業(yè)。
云平臺:代表每個運行作業(yè)的云平臺資源,節(jié)點接收從調(diào)度器傳送過來的作業(yè),驅(qū)動其運行。作業(yè)運行完成后,云平臺將完成的作業(yè)號通知給調(diào)度器,并將運行結(jié)果傳送給Server。云平臺還要定時將負載情況發(fā)送給資源調(diào)度器。
3.2 異地多中心應(yīng)用的自動化部署技術(shù)
異地多中心應(yīng)用的自動化部署技術(shù)主要由統(tǒng)一的部署管理插件調(diào)用各云平臺的接口并結(jié)合安裝在各計算資源(虛擬機、容器、裸金屬服務(wù)器)的代理軟件配合完成,流程如下:
1、用戶發(fā)布在統(tǒng)一云管理門戶中發(fā)起應(yīng)用部署請求,請求經(jīng)過調(diào)度后分配到特定的云平臺的API適配網(wǎng)關(guān);
2、API適配網(wǎng)關(guān)調(diào)用異地多中心的彈性計算服務(wù)適配接口創(chuàng)建計算資源,調(diào)用異地多中心的網(wǎng)絡(luò)適配接口構(gòu)建虛擬網(wǎng)絡(luò);
3、API適配網(wǎng)關(guān)針對每個計算資源建立一個長任務(wù),代理軟件首先給計算資源獲取應(yīng)用軟件,然后通過調(diào)用計算資源的命令執(zhí)行腳本進行部署;
4、代理軟件定時查詢應(yīng)用在計算資源中的部署進度,并把進度反饋到API適配網(wǎng)關(guān)。
5、API適配網(wǎng)關(guān)把進度匯總到統(tǒng)一云管理門戶。
4.結(jié)束語
本文深入研究了異地多中心間資源調(diào)度算法,提出了基于基于資源域的異地多中心分級調(diào)度技術(shù)和自動化部署技術(shù),最大程度滿足了異地多中心場景的資源調(diào)度需求。
參考文獻
[1]武晉. 面向數(shù)據(jù)中心的資源調(diào)度算法仿真分析研究[D]. 浙江理工大學(xué), 2018.
[2]史恒亮. 云計算任務(wù)調(diào)度研究[D].南京理工大學(xué), 2012.
[3]邢加偉. 云計算環(huán)境下任務(wù)調(diào)度優(yōu)化算法的研究[D].中國科學(xué)技術(shù)大學(xué), 2018.
[4]羅紅, 慕德俊 , 鄧智群 , 王曉東 . 網(wǎng)格計算中任務(wù)調(diào)度研究綜述 [J]. 計算機應(yīng)用研究,2005(05):16-19.