周隆亮 徐立
【摘要】負(fù)載均衡調(diào)度是容器云仿真平臺(tái)保證服務(wù)質(zhì)量需要解決的基礎(chǔ)問題,本文基于容器云仿真平臺(tái)架構(gòu)的分析,針對(duì)容器云仿真平臺(tái)的負(fù)載均衡調(diào)度問題進(jìn)行了詳細(xì)描述,并設(shè)計(jì)了容器云仿真平臺(tái)的負(fù)載均衡調(diào)度系統(tǒng),為后續(xù)針對(duì)容器云仿真平臺(tái)的負(fù)載均衡調(diào)度優(yōu)化算法的研究奠定了基礎(chǔ)。
關(guān)鍵詞:容器云;仿真平臺(tái);負(fù)載均衡
Research on load balancing scheduling of Container Cloud Simulation Platform
Zhou Long Liang,Xu Li
(SWIEE, CETC, Chengdu. Postcode:610036)
Abstract:Load balancing scheduling is a basic problem that needs to be solved to guarantee the service quality of container cloud simulation platform. This paper is based on the architecture of container cloud simulation platform,The load balancing scheduling problem of container cloud simulation platform is described in detail, and the load balancing scheduling system of container cloud simulation platform is designed,The load balancing system lays a foundation for the subsequent research on load balancing scheduling optimization algorithm for container cloud simulation platform.
Key words: container cloud; simulation platform; load balancing
引言
以Docker為代表的容器虛擬化技術(shù)出現(xiàn),較之于傳統(tǒng)的虛擬機(jī)虛擬化技術(shù)實(shí)現(xiàn)了更加輕量化的虛擬化,使云環(huán)境的資源利用率具備大幅提升的可能。傳統(tǒng)的虛擬機(jī)虛擬化技術(shù)以操作系統(tǒng)為中心,重點(diǎn)關(guān)注硬件自動(dòng)化管理、人與機(jī)器的解耦合,而容器虛擬化技術(shù)以應(yīng)用為中心,重點(diǎn)解決應(yīng)用的自動(dòng)化管理,應(yīng)用與操作系統(tǒng)的解耦;基礎(chǔ)設(shè)施、應(yīng)用交付、運(yùn)維管理的標(biāo)準(zhǔn)化;獲得彈性擴(kuò)展、彈性伸縮、負(fù)載均衡、故障遷移、敏捷開發(fā)、持續(xù)交付、持續(xù)集成等問題,提升用戶體驗(yàn)。
容器云仿真平臺(tái)以容器虛擬化技術(shù)為基礎(chǔ),在云環(huán)境中構(gòu)建仿真應(yīng)用系統(tǒng),遵循微服務(wù)架構(gòu),將仿真應(yīng)用系統(tǒng)按功能劃分為想定編輯、任務(wù)推演、模型調(diào)度等多個(gè)微服務(wù),并封裝形成容器鏡像,部署于云環(huán)境,持續(xù)為多個(gè)用戶提供仿真驗(yàn)證服務(wù)。容器云仿真平臺(tái)構(gòu)建了一種用戶可按需獲取的仿真新模式,用戶通過統(tǒng)一的門戶訪問仿真服務(wù),云管理系統(tǒng)根據(jù)訪問請(qǐng)求,動(dòng)態(tài)分配資源創(chuàng)建仿真系統(tǒng),訪問完畢后釋放相應(yīng)的資源,提升資源利用效率。
因此,根據(jù)用戶的訪問量,動(dòng)態(tài)調(diào)整仿真應(yīng)用在云環(huán)境中的部署,合理調(diào)度各個(gè)計(jì)算節(jié)點(diǎn)的資源負(fù)荷,實(shí)現(xiàn)負(fù)載均衡,是保證容器云仿真平臺(tái)服務(wù)質(zhì)量的關(guān)鍵。
1 容器云仿真平臺(tái)架構(gòu)
容器云仿真平臺(tái)是在私有云環(huán)境上搭建的仿真專用平臺(tái),用戶通過統(tǒng)一的仿真門戶登錄后訪問相應(yīng)服務(wù)。容器云仿真平臺(tái)為用戶提供想定設(shè)計(jì)、仿真驅(qū)動(dòng)、態(tài)勢呈現(xiàn)、數(shù)據(jù)管理等服務(wù),多個(gè)用戶可同時(shí)并發(fā)訪問仿真服務(wù),為每個(gè)用戶動(dòng)態(tài)創(chuàng)建專用的仿真應(yīng)用系統(tǒng)。容器云仿真平臺(tái)的架構(gòu)如圖 1所示:
當(dāng)用戶提交仿真請(qǐng)求后,容器云仿真平臺(tái)的管理系統(tǒng)為用戶仿真請(qǐng)求分配一套仿真應(yīng)用系統(tǒng)(包含場景設(shè)計(jì)、任務(wù)推演、模型調(diào)度、態(tài)勢生成等多個(gè)服務(wù)),并部署到云基礎(chǔ)環(huán)境中的計(jì)算機(jī)集群上運(yùn)行。用戶終止仿真后,將仿真應(yīng)用從計(jì)算機(jī)集群上卸載。其中,云基礎(chǔ)環(huán)境中的計(jì)算機(jī)集群中各個(gè)計(jì)算機(jī)節(jié)點(diǎn)在硬件配置可以不同。
2容器云仿真平臺(tái)負(fù)載均衡問題描述
傳統(tǒng)的基于虛擬機(jī)虛擬化技術(shù)構(gòu)建的云仿真平臺(tái)存在兩個(gè)層次上的負(fù)載均衡調(diào)度。第一個(gè)層次是任務(wù)調(diào)度,將負(fù)載過重虛擬機(jī)上的子任務(wù)動(dòng)態(tài)調(diào)度到負(fù)載較輕的虛擬機(jī)上,使云平臺(tái)的虛擬機(jī)集群整體上負(fù)載均衡;第二個(gè)層次是虛擬機(jī)調(diào)度,將負(fù)載過重物理主機(jī)上的虛擬機(jī)遷移到負(fù)載較輕的物理主機(jī)[1]。
從容器云仿真平臺(tái)的架構(gòu)可以看出,容器云仿真平臺(tái)的負(fù)載均衡調(diào)度不存在虛擬機(jī)調(diào)度的問題,可直接面向任務(wù)調(diào)度。用戶的一個(gè)仿真任務(wù)就對(duì)應(yīng)一套仿真應(yīng)用系統(tǒng),一套仿真應(yīng)用系統(tǒng)的由若干個(gè)微服務(wù)構(gòu)成,每個(gè)微服務(wù)在部署形式上為一個(gè)容器,容器是負(fù)載均衡調(diào)度的最小單位,負(fù)載均衡調(diào)度要解決的問題就是建立容器與云基礎(chǔ)環(huán)境中的計(jì)算節(jié)點(diǎn)的映射關(guān)系,并根據(jù)該映射關(guān)系部署運(yùn)行。
假設(shè)同時(shí)有n個(gè)用戶仿真任務(wù)請(qǐng)求,每個(gè)仿真應(yīng)用系統(tǒng)由p個(gè)微服務(wù)構(gòu)成,那么就會(huì)存在n*p個(gè)容器需要調(diào)度。假設(shè)云環(huán)境存在著q個(gè)計(jì)算節(jié)點(diǎn),負(fù)載均衡調(diào)度問題等效為:基于一定的條件約束和最優(yōu)目標(biāo)構(gòu)建n*p個(gè)容器與q個(gè)計(jì)算節(jié)點(diǎn)的映射關(guān)系,其中條件約束通常為計(jì)算節(jié)點(diǎn)的性能指標(biāo),包括CPU、內(nèi)存和網(wǎng)絡(luò)的性能,最優(yōu)目標(biāo)通常為最大的并發(fā)仿真應(yīng)用系統(tǒng)運(yùn)行數(shù)量。
負(fù)載均衡調(diào)度的意義在于優(yōu)化容器云仿真平臺(tái)的部署關(guān)系,有效避免某些計(jì)算節(jié)點(diǎn)因?yàn)樨?fù)荷過低而浪費(fèi)資源,或者某些計(jì)算節(jié)點(diǎn)因?yàn)橘Y源超負(fù)荷,嚴(yán)重降低運(yùn)行效率,甚至拒絕服務(wù)。
3 容器云仿真平臺(tái)負(fù)載均衡系統(tǒng)設(shè)計(jì)
為實(shí)現(xiàn)容器云仿真平臺(tái)負(fù)載均衡調(diào)度,需面向容器云仿真平臺(tái)負(fù)載均衡調(diào)度的問題,構(gòu)建對(duì)應(yīng)的負(fù)載均衡調(diào)度系統(tǒng),優(yōu)化容器云仿真平臺(tái)的部署關(guān)系,提升容器云仿真平臺(tái)的服務(wù)質(zhì)量。
3.1 仿真應(yīng)用資源消耗統(tǒng)計(jì)
仿真應(yīng)用的微服務(wù)組成相對(duì)固定,可通過大量的實(shí)驗(yàn),統(tǒng)計(jì)各個(gè)服務(wù)的資源消耗情況[2],主要是CPU、內(nèi)存和網(wǎng)絡(luò)資源,構(gòu)建每個(gè)服務(wù)的資源消耗向量,統(tǒng)計(jì)每個(gè)服務(wù)運(yùn)行的資源消耗典型值,為負(fù)載均衡調(diào)度算法提供輸入數(shù)據(jù)。
3.2 云仿真平臺(tái)資源監(jiān)控
容器云仿真平臺(tái)的計(jì)算機(jī)集群中各計(jì)算節(jié)點(diǎn)的資源使用和資源剩余信息是實(shí)現(xiàn)負(fù)載均衡的基礎(chǔ)[3]。由于云環(huán)境中仿真應(yīng)用的部署和銷毀是動(dòng)態(tài)變化的,需要實(shí)時(shí)監(jiān)控資源狀態(tài),才能為負(fù)載均衡調(diào)度提供實(shí)時(shí)的輸入數(shù)據(jù)。周期性采集各計(jì)算節(jié)點(diǎn)的CPU、內(nèi)存和網(wǎng)絡(luò)使用情況,會(huì)加大采集系統(tǒng)的工作負(fù)載,造成不必要的資源浪費(fèi),因此,可采用事件觸發(fā)的機(jī)制采集計(jì)算節(jié)點(diǎn)的狀態(tài)信息,收到用戶仿真請(qǐng)求或仿真停止事件后,觸發(fā)采集操作,降低計(jì)算節(jié)點(diǎn)負(fù)載信息采集的頻度,提升資源利用率。為保證計(jì)算節(jié)點(diǎn)的資源負(fù)荷信息獲取,需在各個(gè)計(jì)算節(jié)點(diǎn)上開發(fā)部署資源監(jiān)控服務(wù)。
3.3 負(fù)載均衡服務(wù)
負(fù)載均衡服務(wù)部署于容器云仿真平臺(tái),專門負(fù)責(zé)負(fù)載均衡調(diào)度,加載仿真應(yīng)用資源消耗的統(tǒng)計(jì)值等先驗(yàn)信息,同時(shí)采集云仿真平臺(tái)各個(gè)計(jì)算節(jié)點(diǎn)實(shí)時(shí)資源負(fù)荷信息,進(jìn)行負(fù)載均衡計(jì)算,建立仿真應(yīng)用容器與計(jì)算節(jié)點(diǎn)的部署映射關(guān)系。負(fù)載均衡調(diào)度計(jì)算的實(shí)質(zhì)就是在負(fù)載約束條件下的最優(yōu)化問題,可采用遺傳算法、粒子群算法等多種算法[3,4],解算優(yōu)化部署映射關(guān)系,在負(fù)載均衡服務(wù)的架構(gòu)設(shè)計(jì)上需考慮負(fù)載均衡調(diào)度算法的替換和升級(jí)便捷性。
3.3 負(fù)載均衡調(diào)度流程
容器云仿真平臺(tái)的負(fù)載均衡調(diào)度流程如圖 2所示:
負(fù)載均衡的調(diào)度業(yè)務(wù)依靠負(fù)載均衡調(diào)度服務(wù)實(shí)現(xiàn),在用戶提交仿真請(qǐng)求需要重新進(jìn)行負(fù)載均衡計(jì)算時(shí),負(fù)載均衡調(diào)度服務(wù)向各個(gè)計(jì)算節(jié)點(diǎn)的資源監(jiān)控服務(wù)請(qǐng)求狀態(tài)信息,采集計(jì)算集群各節(jié)點(diǎn)的資源負(fù)荷信息,通過負(fù)載均衡算法解算,得到仿真應(yīng)用容器與計(jì)算節(jié)點(diǎn)的最優(yōu)部署映射關(guān)系,并執(zhí)行部署。
4 結(jié)束語
負(fù)載均衡是保證云仿真環(huán)境服務(wù)質(zhì)量的重要手段,本文針對(duì)容器云仿真平臺(tái)的負(fù)載均衡問題進(jìn)行了描述,并設(shè)計(jì)了可靈活置換負(fù)載均衡調(diào)度算法的容器云仿真平臺(tái)的負(fù)載均衡系統(tǒng),后續(xù)可針對(duì)負(fù)載均衡調(diào)度優(yōu)化算法進(jìn)行持續(xù)研究,最大限度地提升云仿真平臺(tái)的資源利用效率。
參考文獻(xiàn):
[1]金鵬. 云仿真平臺(tái)任務(wù)負(fù)載均衡優(yōu)化調(diào)度研究[J]. 制造業(yè)自動(dòng)化, 2019, 041(007):40-43.
[2]徐愛萍,吳笛,徐武平,陳軍. 實(shí)時(shí)多任務(wù)異構(gòu)云計(jì)算平臺(tái)負(fù)載均衡算法[J]. 中國科學(xué)技術(shù)大學(xué)學(xué)報(bào), 2016, 46(3):215-221.
[3]海江. 一種改進(jìn)云計(jì)算虛擬資源負(fù)載均衡調(diào)度算法[J]. 控制工程, 2017, 24(1):100-105.
[4]石峰. 云環(huán)境下資源調(diào)度效率優(yōu)化研究與仿真[J]. 計(jì)算機(jī)仿真, 2016, 33(5):363-366.
作者簡介
周隆亮(1987-),男,碩士,工程師。
徐立(1986-),男,碩士,工程師。