陸海鋒 趙嘉凌 歐陽(yáng)學(xué)名 周娜琴 左利云
摘 要:基于容器的微服務(wù)部署是一個(gè)具有挑戰(zhàn)性的問(wèn)題,為獲得更好的用戶體驗(yàn)并給云供應(yīng)商帶來(lái)更多的利潤(rùn),需要在降低微服務(wù)的故障率和減少響應(yīng)時(shí)間的同時(shí)提高資源利用率。提出了一種改進(jìn)的加速粒子群優(yōu)化算法,用于解決集群中微服務(wù)容器部署的多目標(biāo)優(yōu)化問(wèn)題。該算法通過(guò)考慮微服務(wù)之間的調(diào)用關(guān)系,使得容器聚集在一起,從而降低服務(wù)的數(shù)據(jù)傳輸成本、減少故障率,并提高集群資源利用率。與現(xiàn)有部署算法相比,實(shí)驗(yàn)結(jié)果表明,所提出的優(yōu)化算法在服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、故障率和資源利用率等性能指標(biāo)上有明顯改善。具體表現(xiàn)在:容器聚集度的提升達(dá)到40%以上,數(shù)據(jù)傳輸消耗平均有提升4%以上,故障率減少10%~20%,利用率提升3%左右。
關(guān)鍵詞:云計(jì)算; 微服務(wù); 容器; 加速粒子群算法; 多目標(biāo)優(yōu)化
中圖分類號(hào):TP393.09?? 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2024)03-016-0756-08
doi:10.19734/j.issn.1001-3695.2023.07.0312
Accelerated particle swarm optimization algorithm forcontainer deployment in cloud environments
Lu Haifeng1, Zhao Jialing1, Ouyang Xueming2, Zhou Naqin3, Zuo Liyun4
(1.Information Center Dept., Zhaoqing University, Zhaoqing Guangdong 526061, China; 2.School of Software, South China University of Technology, Guangzhou 510006, China; 3.Cyberspace Institute of Advanced technology, Guangzhou University, Guangzhou 510006, China; 4.School of Computer Science, Guangdong University of Petrochemical Technology, Maoming Guangdong 525000, China)
Abstract:Container-based microservice deployment is a challenging problem that aims to improve user experience and increase cloud providers profitability by reducing microservice failure rates and response times while maximizing resource utilization. This paper presented an enhanced accelerated particle swarm optimization algorithm to tackle the multi-objective optimization problem of microservice container deployment in a cluster. By considering the invocation relationships between microservices, the algorithm facilitated the aggregation of containers, thereby reducing data transmission costs, lowering failure rates, and enhancing cluster resource utilization. Experimental results demonstrate that the proposed optimization algorithm yields significant improvements in performance measures including data transmission overhead, failure rate, and resource utilization when compared to existing deployment algorithms. Specifically, the algorithm achieves a container aggregation improvement exceeding 40%, an average increase in data transmission consumption of over 4%, a decrease in failure rate by 10% to 20%, and an increase in utilization rate by roughly 3%. The aforementioned findings attest to the efficacy of the proposed algorithm.
Key words:cloud computing; microservices; container; accelerated particle swarm optimization; multi-objective optimization
0 引言
在云環(huán)境中,計(jì)算資源通常以虛擬機(jī)(VM)或容器的方式提供各種計(jì)算服務(wù),而應(yīng)用程序則采用微服務(wù)架構(gòu)模式來(lái)向用戶提供服務(wù)[1~3]。
微服務(wù)架構(gòu)已被廣泛應(yīng)用于云應(yīng)用系統(tǒng)的構(gòu)建和部署。與傳統(tǒng)的單體式應(yīng)用不同,微服務(wù)架構(gòu)采用強(qiáng)解耦的方式將單體應(yīng)用程序拆分成一組小粒度的服務(wù),這些服務(wù)通常以VM和容器的形式分布在云數(shù)據(jù)中心(CDC)中。這些服務(wù)通過(guò)輕量級(jí)的通信方式進(jìn)行交互,并通過(guò)組合構(gòu)建應(yīng)用系統(tǒng)[4]。用戶可以通過(guò)云平臺(tái)提供的操作來(lái)部署應(yīng)用系統(tǒng),而這些應(yīng)用系統(tǒng)通過(guò)基于容器的調(diào)度引擎協(xié)調(diào)使用CDC的計(jì)算資源并進(jìn)行交互。
基于容器的微服務(wù)部署和資源管理是一個(gè)重要問(wèn)題。微服務(wù)架構(gòu)已成為云計(jì)算領(lǐng)域的主導(dǎo)趨勢(shì),將單塊應(yīng)用程序拆分為多個(gè)面向場(chǎng)景的服務(wù)塊(微服務(wù))。拆分過(guò)程導(dǎo)致高度動(dòng)態(tài)的執(zhí)行場(chǎng)景,在這個(gè)場(chǎng)景中,各種串行的微服務(wù)以不同的方式競(jìng)爭(zhēng)計(jì)算資源[5]。目前,基于操作系統(tǒng)級(jí)別容器的部署方法,如Linux容器(LXC)和Docker等,已成為微服務(wù)部署的主流技術(shù)。與虛擬機(jī)不同,這種容器是一種更輕量級(jí)的虛擬化方法,具有較少的計(jì)算和存儲(chǔ)資源需求,更短的啟動(dòng)時(shí)間。容器使用命名空間來(lái)打包系統(tǒng)的計(jì)算資源,使得微服務(wù)的部署和擴(kuò)展變得更加容易[6]。通過(guò)調(diào)整服務(wù)器和網(wǎng)絡(luò)資源來(lái)適應(yīng)集群中工作負(fù)載的快速變化,以緩解資源耗盡或滿足服務(wù)性能的要求,Valsamas等人[7]研究了一種新的云編排策略,稱為虛擬化技術(shù)混合(VTB)。VTB考慮支持替代虛擬化選項(xiàng)的邊緣云,包括多類型、相同或類似服務(wù)的容器構(gòu)建,方便它們有效地混合使用,以處理具有挑戰(zhàn)性資源需求的情況——具有不同的資源需求和性能能力,研究團(tuán)隊(duì)還提供了一個(gè)相關(guān)的優(yōu)化框架,所提出的策略可增加服務(wù)的用戶數(shù)量,并能有效提高服務(wù)器和網(wǎng)絡(luò)資源的利用率。然而,構(gòu)建高效的微服務(wù)部署和資源管理算法需要綜合考慮用戶的體驗(yàn)質(zhì)量和云提供商的利潤(rùn),例如降低微服務(wù)的響應(yīng)時(shí)間和故障率,提高集群的資源利用率。為解決這一問(wèn)題,本文通過(guò)優(yōu)化服務(wù)間的平均數(shù)據(jù)傳輸開(kāi)銷、執(zhí)行故障率和集群的資源利用率,以實(shí)現(xiàn)用戶和云提供商間的利益平衡。在微服務(wù)部署過(guò)程中,根據(jù)微服務(wù)之間的調(diào)用關(guān)系進(jìn)行容器實(shí)例的部署,微服務(wù)通過(guò)調(diào)用關(guān)系進(jìn)行組合構(gòu)建服務(wù)功能鏈(SFC)[8]。然后,將SFC中的微服務(wù)容器實(shí)例盡可能聚集在同一計(jì)算服務(wù)器節(jié)點(diǎn)或CDC中,以降低服務(wù)間的數(shù)據(jù)傳輸成本和提高集群資源利用率,同時(shí)考慮服務(wù)執(zhí)行的可靠性問(wèn)題。
本文的主要貢獻(xiàn)如下:
a)確定了微服務(wù)部署的優(yōu)化目標(biāo),包括執(zhí)行容器聚集、服務(wù)間數(shù)據(jù)傳輸開(kāi)銷、服務(wù)執(zhí)行故障率和集群資源利用率。針對(duì)這些優(yōu)化目標(biāo),構(gòu)建了一個(gè)多目標(biāo)優(yōu)化問(wèn)題。
b)提出了一種改進(jìn)的加速粒子群優(yōu)化算法來(lái)解決微服務(wù)容器部署的多目標(biāo)優(yōu)化問(wèn)題。該算法利用適應(yīng)度函數(shù)值選擇全局最優(yōu)解,并通過(guò)調(diào)整粒子的速度和位置來(lái)搜索最優(yōu)解空間。
c)通過(guò)實(shí)驗(yàn)結(jié)果表明,與其他算法相比,該算法在數(shù)據(jù)傳輸成本、故障率和資源利用率等性能指標(biāo)上取得了顯著的改進(jìn),證明了該算法的可行性和有效性。
1 相關(guān)研究
微服務(wù)實(shí)例部署和CDC資源利用是IoT云環(huán)境中至關(guān)重要的問(wèn)題,它直接影響到最終用戶和云服務(wù)提供商之間的利益平衡。CDC資源管理優(yōu)化是研究者們關(guān)注的熱點(diǎn)問(wèn)題。目前已有多種相關(guān)的服務(wù)部署策略和調(diào)度方法:
首先,在云環(huán)境下,研究者傾向于采用元啟發(fā)策略來(lái)解決多目標(biāo)優(yōu)化問(wèn)題,以獲得最優(yōu)解(即Pareto解)。使用元啟發(fā)策略的主要原因在于它是一種隨機(jī)算法,具有不確定性的特點(diǎn),并且不受優(yōu)化問(wèn)題的數(shù)學(xué)性質(zhì)的限制。此外,群體中的個(gè)體通過(guò)協(xié)作可以更好地適應(yīng)環(huán)境和相互交互,有更多機(jī)會(huì)獲得全局最優(yōu)解。例如,Liu等人[9]提出了一種進(jìn)化博弈算法優(yōu)化IoT環(huán)境中的服務(wù)組合和部署。Gao等人[10]為解決QoS和魯棒性的雙目標(biāo)服務(wù)組合和優(yōu)化選擇(BoSCOS)問(wèn)題,構(gòu)建了兩個(gè)準(zhǔn)則及其數(shù)學(xué)模型,并提出了一種增強(qiáng)多目標(biāo)灰狼優(yōu)化器(SMOGWO)來(lái)高效解決上述模型。為優(yōu)化容器的分配和彈性管理,Ahmad等人[6]提出了一種非支配排序遺傳算法-Ⅱ(GA-NSGA-Ⅱ),該算法能解決云集群、容器、微服務(wù)等云架構(gòu)中的資源管理優(yōu)化問(wèn)題,并在系統(tǒng)供應(yīng)、系統(tǒng)性能、系統(tǒng)故障和網(wǎng)絡(luò)開(kāi)銷方面獲得明顯的改善和提高。Zhao等人[11]提出了一種基于歷史經(jīng)驗(yàn)引導(dǎo)的信息素更新策略的蟻群優(yōu)化算法,以提高云中的微服務(wù)部署與資源管理效率和增強(qiáng)優(yōu)化,并通過(guò)學(xué)習(xí)自動(dòng)機(jī)根據(jù)搜索歷史自適應(yīng)地選擇適合的信息素更新方法。為完成無(wú)人機(jī)的任務(wù)卸載,Mousa等人[12]針對(duì)該混合整數(shù)非線性約束優(yōu)化問(wèn)題,提出了一種采用新的變異和交叉操作符的離散差分進(jìn)化算法,并應(yīng)用蟻群優(yōu)化(ACO)算法來(lái)尋找無(wú)人機(jī)在集群頭部之間遍歷的最短路徑。針對(duì)在不同資源中心部署和啟動(dòng)微服務(wù)實(shí)例的問(wèn)題,Ma等人[13]提出了一個(gè)基于進(jìn)化多目標(biāo)理論的優(yōu)化問(wèn)題模型,并用一種知識(shí)驅(qū)動(dòng)的進(jìn)化算法(NSGA-Ⅲ)來(lái)解決該問(wèn)題模型,尋找不同資源中心微服務(wù)實(shí)例的最優(yōu)部署和啟動(dòng)策略。
隨著任務(wù)或請(qǐng)求規(guī)模的增加和云資源的動(dòng)態(tài)性,負(fù)載平衡、資源利用率、任務(wù)分配和系統(tǒng)性能等問(wèn)題變得越來(lái)越突出。由于粒子群優(yōu)化算法在多目標(biāo)優(yōu)化問(wèn)題中的有效性,研究者們已將其應(yīng)用于云環(huán)境中的優(yōu)化策略。與傳統(tǒng)優(yōu)化方法相比,元啟發(fā)式算法在解決微服務(wù)部署這類多目標(biāo)優(yōu)化問(wèn)題時(shí)具有獨(dú)特的優(yōu)勢(shì),能夠降低問(wèn)題的復(fù)雜性,廣泛應(yīng)用于云環(huán)境中的多目標(biāo)組合優(yōu)化問(wèn)題中。在各種元啟發(fā)式算法中,粒子群優(yōu)化(PSO)是一種著名的元啟發(fā)式技術(shù),用于解決優(yōu)化問(wèn)題。PSO適用于動(dòng)態(tài)任務(wù)調(diào)度、工作流調(diào)度和負(fù)載平衡。PSO在運(yùn)行開(kāi)始時(shí)具有很強(qiáng)的全局搜索能力,并在運(yùn)行接近結(jié)束時(shí)進(jìn)行局部搜索[14]。元啟發(fā)式算法包括加速粒子群優(yōu)化(APSO)、進(jìn)化博弈策略、灰狼算法(WA)、遺傳算法(GA)、蜜蜂算法(HBA)、蟻群優(yōu)化(ACO)和人工魚群算法(AF)等。其中,APSO是粒子群優(yōu)化算法的改進(jìn)版,通過(guò)使用群體的全局最優(yōu)解來(lái)促進(jìn)算法的收斂性和隨機(jī)性[15]。本文針對(duì)優(yōu)化服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、執(zhí)行部分和集群資源利用率,提出了一種改進(jìn)的加速粒子群優(yōu)化算法,用于解決微服務(wù)容器部署的多目標(biāo)優(yōu)化問(wèn)題。
隨機(jī)初始化搜索解是其中的一個(gè)關(guān)鍵特征。然而,提供有效的初始化解可以顯著提高啟發(fā)式算法的性能。Alsaidy等人[16]提出了一種改進(jìn)的粒子群優(yōu)化初始化方法,利用啟發(fā)式算法進(jìn)行初始化,采用最長(zhǎng)作業(yè)優(yōu)先到最快處理器(LJFP)和最小完成時(shí)間(MCT)算法來(lái)初始化PSO,該團(tuán)隊(duì)提出的LJFP-PSO和MCT-PSO算法的性能通過(guò)最小化完成時(shí)間、總執(zhí)行時(shí)間、不平衡度和總能耗指標(biāo)進(jìn)行評(píng)估。在解決云計(jì)算中的任務(wù)調(diào)度問(wèn)題時(shí),Dubey等人[17]提出了一種新穎的混合任務(wù)調(diào)度算法——化學(xué)反應(yīng)部分粒子群優(yōu)化(CR-PSO),可以在可用虛擬機(jī)上分配多個(gè)獨(dú)立任務(wù)。該算法增強(qiáng)了傳統(tǒng)的化學(xué)反應(yīng)優(yōu)化和部分粒子群優(yōu)化,并通過(guò)結(jié)合特征進(jìn)行混合化,以找到最佳的任務(wù)調(diào)度順序,使得任務(wù)可以基于需求和截止時(shí)間同時(shí)進(jìn)行處理,以改善成本、能量和完成時(shí)間等因素的質(zhì)量。
與前述工作不同,本文的優(yōu)化目標(biāo)包括服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、執(zhí)行故障率和微服務(wù)容器聚集值,并采用加速粒子群優(yōu)化算法(APSO)解決服務(wù)容器部署問(wèn)題。本文提出的部署策略通過(guò)服務(wù)間的調(diào)用關(guān)系,將服務(wù)功能鏈中服務(wù)的執(zhí)行容器進(jìn)行聚集,以降低服務(wù)的數(shù)據(jù)傳輸成本、執(zhí)行故障率,并提高CDC的資源利用率。改進(jìn)的加速粒子群優(yōu)化算法(APSO-CDSM)用于解決基于微服務(wù)容器部署的多目標(biāo)優(yōu)化問(wèn)題,其優(yōu)越性主要體現(xiàn)在:
a)APSO-CDSM算法能有效地解決多目標(biāo)優(yōu)化問(wèn)題,通過(guò)使用APSO算法進(jìn)行優(yōu)化,可以快速有效地找到微服務(wù)容器部署中的三個(gè)性能指標(biāo)(服務(wù)間數(shù)據(jù)傳輸開(kāi)銷、執(zhí)行部分和集群資源利用率)的近似最優(yōu)解,從而提高系統(tǒng)的性能和效率。
b)改進(jìn)PSO算法。APSO-CDSM是PSO算法的改進(jìn)版,通過(guò)利用群體的全局最優(yōu)解來(lái)促進(jìn)算法的收斂性和隨機(jī)性。這種改進(jìn)使得APSO-CDSM算法在運(yùn)行初期具有很強(qiáng)的全局搜索能力,有助于找到全局最優(yōu)解;同時(shí)在運(yùn)行接近結(jié)束時(shí),算法會(huì)進(jìn)行局部搜索,進(jìn)一步優(yōu)化解的質(zhì)量,能有效地提高全局搜索和局部搜索能力。這種全局搜索和局部搜索能力使APSO-CDSM算法在解決復(fù)雜問(wèn)題時(shí)具備較好的收斂性和隨機(jī)性,更適用于解決復(fù)雜的多目標(biāo)優(yōu)化問(wèn)題,并且在算法性能方面可能具有更好的表現(xiàn)。
2 容器部署建模及目標(biāo)模型
2.1 容器部署模型形式化描述
云平臺(tái)中,用戶可通過(guò)平臺(tái)提供的操作來(lái)部署應(yīng)用程序。基于容器的調(diào)度引擎根據(jù)微服務(wù)接收的用戶請(qǐng)求數(shù)和所需資源數(shù),尋找合適的計(jì)算服務(wù)器來(lái)部署服務(wù)容器。為了實(shí)現(xiàn)用戶和云提供商之間的利益平衡,即減少服務(wù)執(zhí)行的響應(yīng)時(shí)間和降低故障率,并提高集群的資源利用率,本文提出將同一服務(wù)功能鏈(SFC)中的微服務(wù)容器盡量聚集到同一個(gè)服務(wù)器節(jié)點(diǎn)或同一容器數(shù)據(jù)中心(CDC)。
設(shè)Users={userv|1≤v≤V}為用戶集,userv=〈ureqsv,uposv〉且v∈{V},其中,ureqsv為用戶請(qǐng)求應(yīng)用程序的次數(shù),用戶所在的位置uposv=〈posx,posy〉。Apps={appc|1≤c≤C}表示應(yīng)用程序集, appc=〈ureqsc,SFCc〉且c∈{C}。SFCc=〈MSsc,Edsc〉表示應(yīng)用程序的服務(wù)功能鏈SFC,MSsc={MSi|1≤i≤I}。MSi=〈Msreqi,ReqsCPUi,ReqsStorei,ReqThri〉,其中,Msreqi表示請(qǐng)求服務(wù)MSi的次數(shù);ReqsCPUi和ReqsStorei分別表示請(qǐng)求/調(diào)用服務(wù)MSi一次所需的CPU和存儲(chǔ)資源量;ReqThri表示請(qǐng)求/調(diào)用服務(wù)的最大次數(shù)(閾值)。
在CDC中,設(shè)PMs={pmj|1≤j≤M}為計(jì)算服務(wù)器集群。pmj=〈pmCPUj,pmStorej,pmposj〉。其中,pmCPUj、pmStorej分別為服務(wù)器的CPU資源和存儲(chǔ)資源;pmposj=〈pmxj,pmyj〉為服務(wù)器所在的位置。
令alloc(MSi)≡conk(k≥1)表示服務(wù)MSi被封裝在容器conk中執(zhí)行,當(dāng)TReqsi=ureqsc×Msreqi≥ReqThri時(shí),則需擴(kuò)展容器實(shí)例以平衡負(fù)載;那么,容器實(shí)例擴(kuò)展數(shù)量為Cinsi=[TReqsiReqThri]=[ureqsc×MsreqiReqThri]。在此,alloc(conk)≡pmj表示容器conk部署在服務(wù)器節(jié)點(diǎn)pmj,可允許多個(gè)容器實(shí)例部署在每個(gè)服務(wù)器中。由上述可知,I個(gè)微服務(wù)的容器實(shí)例部署在M個(gè)服務(wù)器節(jié)點(diǎn)可表示為[xij]I×M,xij=1表示微服務(wù)MSi的容器實(shí)例部署在節(jié)點(diǎn)pmj,否則表示未部署。
2.2 模型目標(biāo)函數(shù)
在此,根據(jù)容器部署模型目標(biāo)可以建立以下三個(gè)目標(biāo)函數(shù),分別為:服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、執(zhí)行故障率、集群的資源率以及微服務(wù)容器聚集。
2.2.1 服務(wù)間的數(shù)據(jù)傳輸時(shí)耗函數(shù)
CDC的集群通過(guò)高速網(wǎng)絡(luò)進(jìn)行連接,噪聲干擾可被忽略。那么,影響服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷的因素有:容器鏡像大小IMSi、部署容器的服務(wù)器間的網(wǎng)絡(luò)距離Djj′、服務(wù)間的請(qǐng)求次數(shù)Msreqii′和傳輸數(shù)據(jù)量TDii′。由于一個(gè)微服務(wù)的容器實(shí)例可部署到多個(gè)計(jì)算服務(wù)器中,為此,在計(jì)算服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷時(shí)采用服務(wù)間的多個(gè)容器對(duì)的數(shù)據(jù)傳輸時(shí)耗的平均值,如式(1)所示。
其中:X是多目標(biāo)優(yōu)化問(wèn)題的決策向量。式(9)~(11)是優(yōu)化目標(biāo)函數(shù)。式(12)~(16)是多目標(biāo)優(yōu)化問(wèn)題的約束條件,分別是:a)ReqsCPUixij≤pmCPUj表示CPU資源能滿足微服務(wù)對(duì)CPU的需求約束;b)ReqsStoreixij≤pmSorej表示服務(wù)器節(jié)點(diǎn)的存儲(chǔ)或RAM能滿足微服務(wù)對(duì)存儲(chǔ)或RAM的需求;c)TReqsixij≤ReqThri表示確保用戶的微服務(wù)請(qǐng)求數(shù)量小于系統(tǒng)最大閾值,以確保請(qǐng)求能獲得響應(yīng);d)∑Mi=1xij=1確保至少有一個(gè)容器實(shí)例能滿足微服務(wù)的部署要求;e)∑Mj=1xij≥1是資源競(jìng)爭(zhēng)互斥條件,確保同一微服務(wù)對(duì)應(yīng)的容器只有一個(gè)且僅有一個(gè)能部署到同一個(gè)物理服務(wù)器內(nèi),避免因容器間的資源競(jìng)爭(zhēng)而造成死鎖。
由上述的問(wèn)題描述模型可知,該多目標(biāo)優(yōu)化問(wèn)題是一個(gè)NP-hard問(wèn)題,主要以計(jì)算和存儲(chǔ)資源量和請(qǐng)求閾值作為約束,同時(shí)優(yōu)化服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、容器聚集值和故障率等目標(biāo)函數(shù)。由于元啟發(fā)式算法在求解多目標(biāo)優(yōu)化問(wèn)題的優(yōu)越性,所以本文采用加速粒子群優(yōu)化算法(APSO)來(lái)解決該多目標(biāo)優(yōu)化問(wèn)題。APSO主要通過(guò)對(duì)粒子的位置和速度進(jìn)行改進(jìn)來(lái)降低隨機(jī)性,從而實(shí)現(xiàn)Pareto解集的最優(yōu)解的快速收斂。
3 目標(biāo)函數(shù)求解——加速粒子群優(yōu)化算法
3.1 APSO算法
粒子群優(yōu)化算法(PSO)是一種通過(guò)模擬鳥群覓食的智能群體優(yōu)化算法。該算法的核心思想是:在鳥群覓食過(guò)程中,個(gè)體為了尋找到食物目標(biāo)需在搜索空間中不斷調(diào)整自身的飛行軌跡。改變飛行軌跡包括自身經(jīng)驗(yàn)和全體經(jīng)驗(yàn)兩個(gè)因素。自身經(jīng)驗(yàn)是一種局部最優(yōu)(personal best,Pb),即個(gè)體最優(yōu)位置;而全體經(jīng)驗(yàn)是一種全局最優(yōu)(global best,Gb),即群體中的最優(yōu)位置。然后,群體中的個(gè)體通過(guò)不斷改變自身位置和速度來(lái)逼近最優(yōu)目標(biāo),從而實(shí)現(xiàn)尋優(yōu)目標(biāo)。為了提升粒子群優(yōu)化算法的全局最優(yōu)解的收斂速度,提出一種改進(jìn)版的PSO,即加速粒子群優(yōu)化(APSO)算法。APSO算法是采用全局最優(yōu)來(lái)更新速度。假設(shè)在N維搜索空間中,粒子群為Pops={pi|1≤i≤P},pi=〈Xi,Vi〉,其中,Xi={Xni|1≤n≤N}是粒子的位置向量,Vi={Vni|1≤n≤N}是粒子的速度向量。對(duì)于t(t為某一時(shí)刻或迭代次數(shù)),粒子pi的速度和位置更新公式分別如式(17)和(18)所示。
Xi(t+1)=Vi(t+1)+(1-σ)Xi(t)(18)
其中:σ∈[0.1,0.7];ρ∈[0.1,0.5]L,L是變量刻度;ε∈rand(0,1)為隨機(jī)向量,其值為0~1;Gb*為全局最優(yōu)。
3.2 粒子編碼
APSO算法關(guān)鍵問(wèn)題之一在于解決粒子編碼,每個(gè)粒子個(gè)體都傾向于實(shí)現(xiàn)優(yōu)化目標(biāo)以獲得更好的值;并且在個(gè)體尋優(yōu)過(guò)程中,需不斷地調(diào)整位置和速度,以便生成新的解。根據(jù)第2章建立的優(yōu)化問(wèn)題,使用字符串對(duì)個(gè)體進(jìn)行編碼,即采用數(shù)組的方式來(lái)表達(dá)粒子,數(shù)組的每個(gè)元素對(duì)應(yīng)一個(gè)微服務(wù),序列號(hào)為微服務(wù)ID,粒子pi(1≤i≤P)的結(jié)構(gòu)如表1所示,包含了I個(gè)微服務(wù)。在表1中,服務(wù)器節(jié)點(diǎn)列表是部署微服務(wù)容器的節(jié)點(diǎn)ID,每個(gè)節(jié)點(diǎn)ID只出現(xiàn)一次,這是基于式(11)的約束,主要是為了避免因爭(zhēng)奪資源而發(fā)生沖突,所以約定同一微服務(wù)在同一服務(wù)器只部署一個(gè)容器實(shí)例。
在服務(wù)器節(jié)點(diǎn)列表中,每個(gè)節(jié)點(diǎn)ID采用0-1編碼表示。令集群中總共有M=240個(gè)服務(wù)器節(jié)點(diǎn),節(jié)點(diǎn)ID的編碼長(zhǎng)度nID=[log2M],對(duì)應(yīng)的0-1編碼為[11110000]。服務(wù)器節(jié)點(diǎn)進(jìn)行如下的設(shè)置編碼,如MS1的服務(wù)器節(jié)點(diǎn)列表為XMS1={[00000111],[00001001],[00100001]}。基于此,Xk=(XMS1,XMS2,…,XMSI)為粒子pi的位置,即為優(yōu)化問(wèn)題的一個(gè)解。
由上述粒子的位置可知,其值在0~1變動(dòng),本文使用sigmoid函數(shù)來(lái)刻畫0~1的變換速度vt。
sigmoid(vt)=11+evt(19)
x=1 若rand<sigmoid(vt)0 else(20)
那么,對(duì)于任意t,分別對(duì)粒子pi的速度和位置更新公式進(jìn)行改進(jìn),如式(21)和(22)所示。
Vi(t+1)=Vi(t)+σ(x*n(t)-xn(t))+ρ*rand(1,nID)(21)
xi(t+1)=1 若rand<sigmoid(vt)0 else(22)
其中:n∈{nID};x*n是全局最優(yōu)粒子的位置狀態(tài)。
3.3 適應(yīng)度函數(shù)
針對(duì)第2章提出的多目標(biāo)優(yōu)化問(wèn)題,為了獲得問(wèn)題模型的次優(yōu)解或最優(yōu)解,本文采用APSO算法來(lái)實(shí)現(xiàn)微服務(wù)的容器部署,即將微服務(wù)對(duì)應(yīng)的多個(gè)容器實(shí)例部署到合適的計(jì)算服務(wù)器。在部署過(guò)程中,每個(gè)粒子pi的位置Xi都是問(wèn)題的解。在此,本文采用適應(yīng)度值來(lái)評(píng)估每個(gè)位置Xi,通過(guò)歸一化方法將三個(gè)優(yōu)化目標(biāo)函數(shù)聚合到一個(gè)評(píng)估函數(shù)中,其公式如式(23)所示。
Fitness(X)=γ1Trans(X)-TransminTransmax-Transmin+
γ2CAV(X)-CAVminCAVmax-CAVmin+γ3MSF(X)-MSFminSEFmax-MSFmin(23)
其中:0≤γi≤1且∑3i=1γi=1,γi可根據(jù)實(shí)際業(yè)務(wù)需求進(jìn)行調(diào)整;Transmin、CAVmin、MSFmin是目標(biāo)值的最小值,Transmax、CAVmax、MSFmax是最大值。
在任意t,首先基于支配關(guān)系可選擇出非支配解集,即Pareto集(歸檔集);然后采用擁擠距離計(jì)算非支配解到全局最優(yōu)之間的距離;最后從Pareto集中選出擁擠距離最小且適應(yīng)度值最小的粒子更新全局最優(yōu),使得群體不斷向最優(yōu)解逼近。
3.4 算法過(guò)程描述
APSO-CDSM算法的服務(wù)容器部署流程如圖1所示。
APSO-CDSM算法的尋優(yōu)步驟如下:
a)初始化。該算法生成粒子群Pops={pi|1≤i≤P},包括初始位置X、速度V以及初始化參數(shù)σ、ρ。
b)迭代過(guò)程。
(a)評(píng)估每個(gè)個(gè)體pi的適應(yīng)度函數(shù)值,基于擁擠距離選擇歸檔集Arc。
(b)從Arc中選擇最優(yōu)個(gè)體Gb*。
(c)個(gè)體速度Vi和位置Xi的更新。
(d)為微服務(wù)MSk尋找合適的服務(wù)器節(jié)點(diǎn),若資源剩余量滿足資源請(qǐng)求量,則分配對(duì)應(yīng)的容器coni到服務(wù)器節(jié)點(diǎn)pmj;否則,尋找下一節(jié)點(diǎn)。循環(huán)執(zhí)行Cinsk次,直到所有容器被部署。繼續(xù)迭代步驟(a)。
c)迭代結(jié)束。當(dāng)所有微服務(wù)容器部署到合適的服務(wù)器節(jié)點(diǎn),則完成一次迭代。
d)若達(dá)到最大迭代次數(shù),則結(jié)束算法。
算法1 APSO-CDSM算法偽代碼
輸入:P,nID,σ,ρ,Iters;MSs={MSk|1≤k≤I};MS_Rs={(MSk,MSk′,Rs)|MSk,MSk′∈MSs,Rs∈MR};PMs={pmj|1≤j≤M}。
輸出:Ms_PMs={(Msk,PMj)|PMjPMs}。 /*為每個(gè)微服務(wù)找到合適的服務(wù)器節(jié)點(diǎn)集*/
t←1;
Pops←iniPops(P);
fitness←Galfit(Pops);
Arc←Deter min e(Pops);
while(t≤Iters)do
Gb←ChooseGb(Arc,fitness);
for each pi do
for MSk do
While l≤Cinsk do
While(true)do
for n≤nID do
update vcn by 式(21);
update xcn by 式(22);
end for
if(ReqsCPUk≤ReCPUj∧ReqsStorek≤ReStorej)
update MS_PMs by (k,j);
break;
end if
end while
end while
end for
end for
fit←Calfit(Pops);
Arc←Deter min e(Pops);
end while
return Ms_PMs
4 實(shí)驗(yàn)結(jié)果分析與對(duì)比
為了評(píng)估APSO-CDSM算法的性能及有效性,解決2.3節(jié)中所提出的在式(12)~(16)約束下的多目標(biāo)優(yōu)化問(wèn)題模型,在優(yōu)化對(duì)應(yīng)的三個(gè)性能指標(biāo)中體現(xiàn)出全局搜索和局部搜索的提升能力,本文實(shí)驗(yàn)采用阿里云提供的跟蹤V2018[19]數(shù)據(jù)集。
4.1 實(shí)驗(yàn)數(shù)據(jù)及參數(shù)設(shè)置
在實(shí)驗(yàn)中,基于跟蹤V2018數(shù)據(jù)集的分析,考慮了一個(gè)應(yīng)用程序,存在三個(gè)SFC(SFC1,SFC2,SFC3),包含18個(gè)微服務(wù),每個(gè)服務(wù)的基本信息以及服務(wù)間的調(diào)用關(guān)系信息如表2和圖2所示。在表2中,SFC、ReqsCPUk、ReqsStorek分別表示微服務(wù)所在的SFC、所需的計(jì)算和存儲(chǔ)資源;Msreqk、ReqThrk、Cinsk分別表示請(qǐng)求微服務(wù)的次數(shù)、閾值以及容器實(shí)例數(shù);IMSk、IMOk分別表示容器鏡像大小及傳輸開(kāi)銷。
圖2為微服務(wù)間的調(diào)用DAG,圖中的三元組表示的權(quán)值分別是:weight表示SFC中微服務(wù)間邊的權(quán)值,weight表達(dá)了邊的不同調(diào)用關(guān)系,邊權(quán)值越大,說(shuō)明兩個(gè)微服務(wù)間的數(shù)據(jù)交互越緊密;Msreqkk′、TDkk′分別表示服務(wù)間的請(qǐng)求次數(shù)和數(shù)據(jù)傳輸量。此外,(0,MSk)表示客戶端啟動(dòng)服務(wù)MSk。
異構(gòu)CDC中的集群參數(shù)設(shè)置如表3所示。
表3中,Djj′=1.0、4.0和8.0分別表示同一節(jié)點(diǎn)、同一CDC以及不同的CDC。表4是APSO-CDSM算法的參數(shù)設(shè)置。
實(shí)驗(yàn)環(huán)境:處理器為AMD A6-6310 APU with AMD Radeon R4 Graphics 1.80 GHz, 內(nèi)存為8 GB RAM。
為了驗(yàn)證APSO-CDSM算法的性能和有效性,本文將其與GA-NSGAⅡ[12,20,21]、ACO-MCMSA[22]和MSG-NSGAⅢ[13,23]算法進(jìn)行對(duì)比。在實(shí)驗(yàn)中,采用MATLAB工具構(gòu)建了測(cè)試代碼,并分別對(duì)兩種集群規(guī)模(M=[120,240])施加六種請(qǐng)求數(shù)ureqs={×1.0,×2.0,×3.0,×4.0,×5.0,×6.0}。為獲得準(zhǔn)確有效的實(shí)驗(yàn)數(shù)據(jù),每種設(shè)置下各完成20次實(shí)驗(yàn),最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì)分析與比較。
4.2 結(jié)果分析與對(duì)比
采用阿里云提供的V2018數(shù)據(jù)集,通過(guò)兩個(gè)模擬實(shí)驗(yàn)來(lái)驗(yàn)證APSO-CDSM算法的性能,并與現(xiàn)有的GA-NSGAⅡ、ACO-MCMSA和MSGA-NSGAⅢ算法進(jìn)行性能比較。在實(shí)驗(yàn)中,實(shí)驗(yàn)1和實(shí)驗(yàn)2的集群規(guī)模分別設(shè)定為M=128/256,考察的性能參數(shù)有微服務(wù)容器聚集值、服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷、故障率以及集群的資源利用率等。
4.2.1 微服務(wù)容器聚集度CAV
四個(gè)算法的微服務(wù)容器聚集值對(duì)比情況如圖3~5所示。通過(guò)其值范圍來(lái)考察容器聚集對(duì)服務(wù)間的數(shù)據(jù)開(kāi)銷和集群資源利用率的影響。
圖3是針對(duì)實(shí)驗(yàn)1(M=128)中獲得的容器聚集值的平均結(jié)果統(tǒng)計(jì)數(shù)據(jù)對(duì)比折線圖,以及在對(duì)應(yīng)六種請(qǐng)求數(shù)情況下APSO-CDSM算法對(duì)比其他三個(gè)算法的提升百分比分布情況盒圖。由圖3可知,APSO-CDSM算法獲得的容器聚集值對(duì)應(yīng)的折線是最底下的折線,是對(duì)比算法中最好的,同時(shí)其提升都大于13.4%,而且在第一種請(qǐng)求數(shù)情況下表現(xiàn)得最穩(wěn)定,其提升分布大于55%,最大提升相對(duì)于MSGA-NSGAⅢ達(dá)到76%以上。針對(duì)實(shí)驗(yàn)1,APSO-CDSM算法整體提升平均達(dá)到42.2%。
同樣,針對(duì)實(shí)驗(yàn)2的配置(M=256),驗(yàn)證APSO-CDSM算法對(duì)比其他算法獲得的容器聚集值的數(shù)據(jù)情況的統(tǒng)計(jì)如圖4所示。由圖4可以看到,APSO-CDSM算法對(duì)比其他三種算法,在容器聚集的平均值上提升的百分比最少為28.4%,最大達(dá)到了82.4%,總體平均提升56.9%。
綜合針對(duì)集群規(guī)模分別為M=128和M=256的兩個(gè)實(shí)驗(yàn),各個(gè)算法獲得的容器聚集度的分布如表5所示。
對(duì)應(yīng)的兩個(gè)實(shí)驗(yàn)獲得的結(jié)果箱圖及對(duì)應(yīng)的平均取值折線圖如圖5所示。由圖5可知,兩個(gè)不同集群規(guī)模實(shí)驗(yàn)結(jié)果中,APSO-CDSM算法獲得的數(shù)據(jù)要比其他三個(gè)算法更好,特別是集群規(guī)模變大時(shí)(M=256時(shí)),其獲得容器聚集值較對(duì)比算法更好更穩(wěn)定。這點(diǎn)由各次實(shí)驗(yàn)統(tǒng)計(jì)的容器聚集值的平均值取值區(qū)域在0.021 8~0.030 8,均小于其余算法的平均值可知。APSO-CDSM算法的整體效果也是最好的。
4.2.2 服務(wù)間的數(shù)據(jù)傳輸消耗Trans
服務(wù)間的數(shù)據(jù)傳輸開(kāi)銷是指多個(gè)容器對(duì)的數(shù)據(jù)傳輸開(kāi)銷的平均值。在上述兩個(gè)實(shí)驗(yàn)中,統(tǒng)計(jì)兩個(gè)實(shí)驗(yàn)采用不同算法得到的各個(gè)服務(wù)間數(shù)據(jù)傳輸消耗的平均值結(jié)果如圖6~8所示。
圖6、7分別是集群規(guī)模M=128和M=256環(huán)境下,APSO-CDSM算法產(chǎn)生的服務(wù)間數(shù)據(jù)傳輸時(shí)耗的平均值對(duì)比其他算法,在不同請(qǐng)求數(shù)下提升百分比統(tǒng)計(jì)結(jié)果箱圖。圖中的折線是不同請(qǐng)求數(shù)下各算法獲得的服務(wù)間數(shù)據(jù)傳輸開(kāi)銷的平均值。
綜合兩個(gè)集群規(guī)模各個(gè)算法在所有實(shí)驗(yàn)中得到的服務(wù)間數(shù)據(jù)傳輸開(kāi)銷的平均值,其統(tǒng)計(jì)結(jié)果如圖8所示。
圖8 服務(wù)間數(shù)據(jù)傳輸開(kāi)銷平均值統(tǒng)計(jì)箱圖及平均值折線圖
Fig.8 Box plot and mean line graph for average inter-service datatransmission overhead statistics
由圖8兩個(gè)子圖對(duì)應(yīng)的箱圖結(jié)果可知,APSO-CDSM算法產(chǎn)生的服務(wù)間數(shù)據(jù)傳輸開(kāi)銷的平均值分布明顯處于其他三個(gè)算法得到的數(shù)據(jù)分布的左邊,說(shuō)明其效果是對(duì)比算法中最優(yōu)的。
4.2.3 故障率MSF
在不同環(huán)境下還需統(tǒng)計(jì)出用不同算法對(duì)資源進(jìn)行調(diào)度觸及服務(wù)執(zhí)行發(fā)生的故障平均率,以反映不同算法在資源調(diào)度中的有效性。服務(wù)執(zhí)行發(fā)生故障會(huì)影響調(diào)度的整體性能,包括資源利用率、服務(wù)響應(yīng)時(shí)間等。統(tǒng)計(jì)兩種集群狀態(tài)下不同算法獲得的服務(wù)執(zhí)行發(fā)生故障率的平均值,按故障率平均值的大小生成相應(yīng)的熱力圖,同時(shí)將APSO-CDSM算法得到的故障率對(duì)比其他三種算法,計(jì)算其效果提升情況的百分?jǐn)?shù)分布的箱圖,最后得到四個(gè)子圖的數(shù)據(jù)可視化圖,如圖9所示。熱力圖顏色越淺表示對(duì)應(yīng)算法下的故障率均值越小,APSO-CDSM算法對(duì)應(yīng)行所有格子的填充色是所在列中最淺的,同時(shí)由其提升百分?jǐn)?shù)分布箱子可看到:在M=128情況下至少提升3%左右,最大達(dá)到 28%;M=256時(shí),效果提升穩(wěn)定在10%~20%。其故障率也在四種算法中獲得了最好的效果。
4.2.4 集群資源利用率AR
好的調(diào)度策略和算法能充分利用集群中各類核心資源,讓資源的利用率得到更大提升。實(shí)驗(yàn)統(tǒng)計(jì)了不同集群參數(shù)和不同的請(qǐng)求數(shù)需求下服務(wù)器中CPU和RAM兩類核心資源的利用率。圖10、11分別展示了在M=128和M=256集群規(guī)模下不同算法的CPU和RAM利用率的熱力圖。
核心資源利用是衡量調(diào)度算法的優(yōu)劣指標(biāo)之一,集群內(nèi)資源利用率越高,表示算法能充分利用資源,更好地提升集群的性能。圖10、11中顏色越深表示對(duì)應(yīng)資源的利用率越高,觀察四個(gè)子圖,其中APSO-CDSM算法對(duì)應(yīng)行的所有格子的填充色相對(duì)于同列其他算法都呈現(xiàn)出更深的顏色,表示APSO-CDSM算法對(duì)資源的利用率更高,也說(shuō)明了該算法的優(yōu)越性。統(tǒng)計(jì)所有實(shí)驗(yàn)中各算法在CPU和RAM上的利用率,如表6所示。
匯總所有實(shí)驗(yàn)中各個(gè)算法獲得集群資源(CPU和RAM)的平均利用率得到表6的數(shù)據(jù)可知,相比其他三個(gè)算法,應(yīng)用APSO-CDSM算法的微服務(wù)調(diào)度能更充分地利用集群資源,其CPU和RAM的利用率是四種算法中最高的。
通過(guò)對(duì)比四種算法的微服務(wù)調(diào)度,APSO-CDSM算法在容器聚集度CAV、數(shù)據(jù)傳輸消耗Trans、故障率MSF和集群資源利用率AR四個(gè)維度上都獲得了最優(yōu)的效果,能作為基于容器的微服務(wù)部署和資源管理管理系統(tǒng)的決策引擎,為CDC提供相應(yīng)部署調(diào)度服務(wù)。
5 結(jié)束語(yǔ)
為解決云數(shù)據(jù)中心(CDC)中基于容器的微服務(wù)部署和資源管理,實(shí)現(xiàn)資源有效調(diào)度的優(yōu)化問(wèn)題,提出一種改進(jìn)的加速粒子群優(yōu)化算法,用于解決CDC集群中微服務(wù)容器部署的多目標(biāo)優(yōu)化問(wèn)題。該算法通過(guò)考慮微服務(wù)之間的調(diào)用關(guān)系,使得容器聚集在一起,從而降低服務(wù)的數(shù)據(jù)傳輸成本和故障率,并提高集群資源利用率。通過(guò)實(shí)驗(yàn),與當(dāng)前提出的基于容器微服務(wù)的部署算法相比,實(shí)驗(yàn)結(jié)果證明了本文提出的APSO-CDSM算法的有效性和優(yōu)越性。在四個(gè)重要性能指標(biāo):容器聚集度CAV,數(shù)據(jù)傳輸消耗Trans、故障率MSF和集群資源利用率AR都具有明顯的改善和提高,其中,容器聚集度CAV的提升達(dá)到40%以上,數(shù)據(jù)傳輸消耗Trans的提升平均有4%以上,故障率MSF也減少了10%~20%,利用率提升了3%左右。實(shí)驗(yàn)結(jié)果表明,APSO-CDSM優(yōu)化算法能提升和改善集群容器部署的能力,為CDC在容器部署過(guò)程中提供決策支持。在今后的研究中,將進(jìn)一步研究擴(kuò)展粒子群加速優(yōu)化算法在CDC和云邊端資源調(diào)度的應(yīng)用,為降低能耗和服務(wù)部署成本提供更有效的解決方案。
參考文獻(xiàn):
[1]Hwang J, Nkenyereye L, Sung N, et al. IoT service slicing and task offloading for edge computing[J]. IEEE Internet of Things Journal, 2021,8(14): 11526-11547.
[2]Pham V N, Hossain M D, Lee G W, et al. Efficient data delivery scheme for large-scale microservices in distributed cloud environment[J]. Applied Sciences, 2023,13(2): 886.
[3]Liu Zheng, Yu Huiqun, Fan Guisheng, et al. Reliability modelling and optimization for microservice-based cloud application using multi-agent system[J]. IET Communications, 2022,16(10): 1182-1199.
[4]Assun?ao W K G, Krüger J, Mosser S, et al. How do microservices evolve?An empirical analysis of changes in open-source microservice repositories[J]. Journal of Systems and Software, 2023,204:111788.
[5]Wang Xinkai, Li Chao, Zhang Lu, et al. Exploring efficient microservice level parallelism[C]//Proc of IEEE International Parallel and Distributed Processing Symposium. Piscataway,NJ:IEEE Press, 2022: 223-233.
[6]Ahmad I, AlFailakawi M G, AlMutawa A, et al. Container scheduling techniques: a survey and assessment[J]. Journal of King Saud University-Computer and Information Sciences, 2022,34(7): 3934-3947.
[7]Valsamas P, Skaperas S, Mamatas L, et al. Virtualization technology blending for resource-efficient edge clouds[J]. Computer Networks, 2023,225:109646.
[8]Mostafavi S, Hakami V, Sanaei M. Quality of service provisioning in network function virtualization: a survey[J]. Computing, 2021,103: 917-991.
[9]Liu Dongqing, Hafid A, Khoukhi L. Workload balancing in mobile edge computing for Internet of Things: a population game approach[J]. IEEE Trans on Network Science and Engineering, 2022,9(3): 1726-1739.
[10]Gao Yifan, Yang Bo, Wang Shilong, et al. Bi-objective service composition and optimal selection for cloud manufacturing with QoS and robustness criteria[J]. Applied Soft Computing, 2022,128: 109530.
[11]Zhao Haitong, Zhang Changsheng. An ant colony optimization algorithm with evolutionary experience-guided pheromone updating strategies for multi-objective optimization[J]. Expert Systems with Applications, 2022,201: 117151.
[12]Mousa M H, Hussein M K. Efficient UAV-based mobile edge computing using differential evolution and ant colony optimization[J]. PeerJ Computer Science, 2022, 8: e870.
[13]Ma Wubin, Wang Rui, Gu Yuanlin, et al. Multi-objective microservice deployment optimization via a knowledge-driven evolutionary algorithm[J]. Complex & Intelligent Systems, 2021,7: 1153-1171.
[14]Pradhan A, Bisoy S K, Das A. A survey on PSO based meta-heuristic scheduling mechanism in cloud computing environment[J]. Journal of King Saud University-Computer and Information Sciences, 2022,34(8): 4888-4901.
[15]Nouri N A, Aliouat Z, Naouri A, et al. Accelerated PSO algorithm applied to clients coverage and routers connectivity in wireless mesh networks[J]. Journal of Ambient Intelligence and Humanized Computing, 2023,14(1): 207-221.
[16]Alsaidy S A, Abbood A D, Sahib M A. Heuristic initialization of PSO task scheduling algorithm in cloud computing[J]. Journal of King Saud University-Computer and Information Sciences, 2022,34(6): 2370-2382.
[17]Dubey K, Sharma S C. A novel multi-objective CR-PSO task scheduling algorithm with deadline constraint in cloud computing[J]. Sustainable Computing: Informatics and Systems, 2021,32: 100605.
[18]Filip I D, Pop F, Serbanescu C, et al. Microservices scheduling model over heterogeneous cloud-edge environments as support for IoT applications[J]. IEEE Internet of Things Journal, 2018,5(4): 2672-2681.
[19]Zhu Jianyong, Lu Bin, Yu Xiaoqiang, et al. An approach to workload generation for cloud benchmarking: a view from Alibaba trace[C]//Proc of the 15th IEEE International Symposium on Autonomous Decentralized System. Piscataway,NJ:IEEE Press, 2023: 1-8.
[20]Guerrero C, Lera I, Juiz C. Genetic algorithm for multi-objective optimization of container allocation in cloud architecture[J]. Journal of Grid Computing, 2018,16: 113-135.
[21]吳祥, 董輝, 俞立,等. 多色服裝裁剪分床計(jì)劃復(fù)合優(yōu)化算法[J]. 控制與決策, 2022,37(6): 1531-1540. (Wu Xiang, Dong Hui, Yu Li, et al. Hybrid optimization algorithm for cut order planning of multicolor garment[J]. Control and Decision, 2022,37(6): 1531-1540.)
[22]Lin Miao, Xi Jianqing, Bai Weihua, et al. Ant colony algorithm for multi-objective optimization of container-based microservice scheduling in cloud[J]. IEEE Access, 2019,7: 83088-83100.
[23]張珊莉, 謝加良, 陳水利. 基于模糊系統(tǒng)的改進(jìn)型NSGA-Ⅲ算法[J]. 模糊系統(tǒng)與數(shù)學(xué), 2023,37(2): 13-24. (Zhang Shanli, Xie Jialiang, Chen Shuili. Improved NSGA-Ⅲ algorithm based on fuzzy system[J]. Fuzzy Systems and Mathematics, 2023,37(2):13-24.)