CN109918198B - 一种基于用户特征预测的仿真云平台负载调度系统及方法 - Google Patents

一种基于用户特征预测的仿真云平台负载调度系统及方法 Download PDF

Info

Publication number
CN109918198B
CN109918198B CN201910118945.6A CN201910118945A CN109918198B CN 109918198 B CN109918198 B CN 109918198B CN 201910118945 A CN201910118945 A CN 201910118945A CN 109918198 B CN109918198 B CN 109918198B
Authority
CN
China
Prior art keywords
node
memory
user
cluster
mem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910118945.6A
Other languages
English (en)
Other versions
CN109918198A (zh
Inventor
石佳卉
李志�
张志民
蒙波
黄剑斌
黄龙飞
韩旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN201910118945.6A priority Critical patent/CN109918198B/zh
Publication of CN109918198A publication Critical patent/CN109918198A/zh
Application granted granted Critical
Publication of CN109918198B publication Critical patent/CN109918198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明一种基于用户特征预测的仿真云平台负载调度系统及方法,系统包括集群计算节点资源收集模块、集群计算节点过滤模块以及集群负载均衡调度模块;集群计算节点资源收集模块用于不间断地实时汇总集群中各个计算节点;集群计算节点过滤模块用于对集群计算节点资源收集模块中收集的数据进行统计分析,实现基于历史数据的用户特征预测;集群负载均衡调度模块根据集群计算节点资源收集模块获取的各个节点当前实时资源使用情况,选取特征权值最大的节点作为用户容器宿主机,完成资源调度。

Description

一种基于用户特征预测的仿真云平台负载调度系统及方法
技术领域
本发明涉及基于用户特征预测的仿真云平台负载均衡调度系统及方法,属于航天器仿真云平台领域。
背景技术
随着云计算技术的发展,基于云的建模与仿真,能够以服务的形式将计算能力按需提供给用户,成为面向服务建模与仿真的新的实现形式。面向空间飞行器在轨服务与维护的任务推演与技术验证公共服务平台(以下简称公共服务平台)以在轨服务为应用背景,集成飞行任务规划与推演、操作任务规划与推演以及探测识别任务推演与虚拟实验等多类仿真任务,涉及多个学科,应用先进的云计算为用户提供开放、共享的仿真资源,提供高效协同的仿真服务。
云计算基于网络互联集成大规模的低成本计算机,通过横向扩展方式提升整个系统的计算处理能力,实现系统中各类资源如模型资源、计算资源、存储资源、软件资源的按需共享与重用,实现网上资源多用户按需协同互操作,基于云的建模与仿真,以服务的形式将计算能力按需提供给用户。Docker容器技术近来在云计算领域异军突起,充分发挥“容器”技术的优点,迅速成云计算服务商的不二之选。根据官方定义:Docker是以容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用平台。公共服务平台采用Docker容器集群,可便捷地实现多用户仿真推演与虚拟实验环境标准化、仿真模型版本控制、高资源利用率与隔离等。但在服务器集群上运行成百上千个容器,面临的最大一个挑战是怎样高效地调度容器。容器的调度是指在一组服务器上处理容器分配的问题,以保证服务能平稳运行。不合适的调度方法会导致以下可能的结果:
■过多的资源配置——意味着更高的成本。
■过少的资源配置——意味着用户的稳定性差。
合适的调度方法对我们而言很重要,以经济高效的方式,提供最好的资源分配。我们首先使用现在流行的Spread、binpack策略,但是运行全栈环境和运行代码段是完全不同的事——我们发现,这些解决方案并不理想。服务器群组经常因繁忙导致CPU过载和内存不足。
根据对每个容器的内存或CPU使用率,以及每个服务器的磁盘使用率的分析,研究发现内存是制约因素(不是CPU或磁盘),因此,我们决定利用内存约束来调度我们的容器。根据观测到的内存分配情况,设置我们的内存约束在99%的位置。降低硬约束不是一个好的选择,因为耗内存的应用会因为这个约束而崩溃。因此我们需要一种基于估计的约束,在必要时又可以被突破的调度方法。
目前三种集群调度策略(Spread、binpack、random)都无法很好的实现集群各节点间的负载均衡,不能完全发挥容器集群的整体性能。如Swarm默认的Spread策略,优先选择占用最少的资源节点,来保证集群中节点资源的均衡使用,但它也存在着不足之处:其只关注节点上的内存和CPU占用比例,没有考虑节点的I/O性能,也没有考虑节点上容器的资源偏向特性,例如新容器是CPU密集型的,而正好有满足条件的节点上面也都是CPU密集型容器,这样就会出现CPU资源不足的情况。理想的情况是节点上,有着各种资源偏向的容器,例如把CPU密集型和I/O密集型的容器放在一个节点上,这样可以大大减少竞争资源的可能,并能提高节点的资源利用率。Binpack是与之相反,是尽可能填满每个节点,以保证更多空余节点,优先使工作节点满载,这显然不利于各个节点的负载均衡。Random是一种随机选择节点的策略,一般只用于调试集群,也不能用于负载均衡。
对于docker来说,内存资源是准确计算的,但是无法量化CPU资源,只能指定使用比例或者CPU核数。Swarm管理节点在接到新的任务请求之后是按照集群每个节点的资源总体情况来进行一个简单地资源划分,而并没有考虑到每个集群节点的资源的实际占用情况和剩余情况,这样会导致Swarm统计的内存要比实际的内存要大的情况,也就是说,如果集群的某个节点的内存总量为2G并且当前已经被用掉了1G,Swarm仍然会按照2G来进行资源划分,这显然不是合理的做法。
发明内容
本发明的技术解决问题是:克服现有的spread策略容易造成节点资源利用率低、binpack策略单个节点任务过多等不足,提供一种基于用户特征预测的仿真云平台负载均衡调度系统及方法,解决了目前服务器集群调度策略中存在的只考虑全局容器的资源分配、未对平台中具有不同特征的用户任务进行区分的问题。可为以机器学习算法为代表的依托于大量样本训练集的大开销场景推演与虚拟实验任务、以单体航天器变轨推演为代表的小开销数值仿真推演任务等多任务多用户仿真云平台提供高效的负载调度服务。
本发明的技术方案是:一种基于用户特征预测的仿真云平台负载调度系统,包括集群计算节点资源收集模块、集群计算节点过滤模块以及集群负载均衡调度模块;集群计算节点资源收集模块用于不间断地实时汇总集群中各个计算节点,包括CPU剩余量、内存剩余量以及网络负载在内的实时资源使用数据,并按照用户任务类型即请求的镜像类型进行归类存储与统计;集群计算节点过滤模块用于对集群计算节点资源收集模块中收集的数据进行统计分析,实现基于历史数据的用户特征预测,并在用户建立容器请求时,过滤掉剩余资源无法满足用户特征预测要求的计算节点,得到预筛选节点集合;集群负载均衡调度模块根据集群计算节点资源收集模块获取的各个节点当前实时资源使用情况,计算集群计算节点过滤模块输出的预筛选后集合中各个节点建立容器的特征权值,选取特征权值最大的节点作为用户容器宿主机,完成资源调度。
一种基于用户特征预测的仿真云平台负载调度方法,步骤如下:
1)采集得到集群计算节点资源情况;
2)对集群节点进行过滤,筛选出可供当前用户请求建立容器正常运行的候选节点集合;
3)对集群负载均衡调度,优选出可作为用户容器的宿主机节点。
所述步骤1)的具体计算过程为:
采集各个计算节点的CPU、内存、网络吞吐以及所有容器的内存使用情况,计算得到各个节点的CPU空闲率、内存空闲率、平均网络负载,以及已分配但未使用的内存总量。
所述步骤2)的具体计算过程为:根据当前用户同类请求的历史数据,预测该用户当前需求特征;利用步骤1)计算结果筛选可供用户请求建立容器正常运行的候选计算节点。
所述步骤3)的具体计算过程为:应用负载调度方法,计算在步骤2)中所得候选节点集合中的各个节点建立容器的特征权值,优选出可作为用户容器的宿主机节点。
所述各个计算节点的CPU空闲率CPUspare_ratio(i)的具体计算过程为:
式中,各个计算节点i的用户态CPU时间usi、系统内核态CPU时间syi、空闲态CPU时间idi均直接通过指令采集;N为集群中计算节点总数。
所述各个计算节点的内存空闲率MEMspare_ratio(i)的的具体计算过程为:
MEMspare_ratio(i)=(MEMfree(i)/MEMtotal(i))×100%,i=1,2,......,N;
式中,MEMfree表示空闲内存容量;MEMtotal(i)为节点i的硬件标称内存总量;N为集群中计算节点总数。
所述各个计算节点的平均网络负载Netload(i)的具体计算过程为:
Netload(i)=((NETin(i)+NETout(i))/Netability))×100%,i=1,2,......,N;
式中,Netability为网络理论承载容量,由网络理论数据决定;NETin(i)、NETout(i)为网络接收和发送的数据量,即网络吞吐量;N为集群中计算节点总数。
所述各个计算节点的已分配但未使用的内存量MEMunused(i)的具体计算过程为:
Figure BDA0001971170850000051
式中,MEM(i)j、mem(i)j分别表示节点i上分配给第j个容器的内存总量和第j个容器已使用的内存量;ni为节点i上的容器数量,
Figure BDA0001971170850000052
为节点i上分配的内存量之和;N为集群中计算节点总数。
所述用户当前需求特征D(r)的具体预测过程为:
Figure BDA0001971170850000053
K为考虑的基于该镜像创建的历史容器个数,即该镜像的最近K次请求;βk分别为该镜像最近K次请求的实际资源用量权值,k=1,2,......,K,D(k)CPU/MEM/NET为历史数据中该镜像第k次请求的实际资源用量,具体为CPU最大需求值/内存最大需求值/网络最大需求值。
所述在各个计算节点建立容器的特征权值wi的具体计算过程为:
wi=α·CPUspare_ratio(i)+β·MEMspare_ratio(i)+γ·(1-Netload(i))+λ·MEMunused(i)+η·w(i)history
其中,参数α、β、γ、λ、η取值范围均为[0,1);CPUspare_ratio(i)代表节点i的CPU空闲率;MEMspare_ratio(i)代表节点i的内存空闲率;Netload(i)代表节点i的平均网络负载;w(i)history代表该用户容器部署至集群中节点i上的历史特征权值,依以下公式计算:
Figure BDA0001971170850000054
w(i)p是该用户容器在时刻p选择节点i作为宿主机的特征权值,T为加权移动窗口大小;w(i)history为根据节点i上移动窗口内所有的历史特征权值w(i)p计算出的当前有效特征权值;ap均为为窗口内特征权值的权重;选择具有最大wi的节点作为最终的容器宿主机节点。
本发明与现有技术相比有益效果为:
本专利根据任务本身对不同资源的依赖,提出了基于历史数据的资源向调度算法,该历史数据是使用docker daemon的API接口函数,周期性地收集到的用户容器的运行时的各项资源使用量(如CPU、内存、I/O使用数据),属于该用户该类容器的历史数据。在为相同用户部署新的同类容器时,分析采集的历史数据中资源利用情况,预测未来该容器的各项资源使用量。即可以根据历史数据对各个任务对不同资源的偏重,以及任务本身对某种资源的特殊需要,做到更为细致合理的权值计算,完善调度方案,减少可能出现的资源分布不均和资源利用低的问题。对容器资源的约束,包括硬约束和软约束,硬约束是指内存资源的实际限制条件,而软约束则是当服务器实际内存资源有足余时,容器可自由使用,一旦内存资源有所紧缺,则约束开始生效。硬约束和软约束的结合使用,可以在减少资源浪费的同时保证服务的稳定性。
附图说明
图1是本发明在Docker Swarm框架下实现基于用户特征预测的仿真云平台负载调度方法的示意图。
图2是本发明所述基于用户特征预测的仿真云平台负载调度方法的流程示意图。
图3是试验验证应用本发明所述方法与其他调度策略对集群节点负载影响的试验数据统计图。
具体实施方式
一、实施平台搭建
建立服务器集群,集群节点信息如下:
Figure BDA0001971170850000061
Figure BDA0001971170850000071
服务器集群包括1个管理节点和7个计算节点。
1.集群管理节点配置Centos 7.0系统,用于控制整个服务器集群;部署集群指令(接收、发送、执行)模块、计算节点资源收集模块、计算节点筛选模块以及集群负载均衡调度模块。
2.集群计算节点配置Centos 7.0系统,用于服务器集群计算资源供给,部署计算节点资源状态采集模块和计算节点指令(接收、执行)模块。
3.整个服务器集群通过TCP/IP协议互联通信,构成一个本地局域网(LAN),并通过Docker引擎进行信息交互。
在具体实施过程中,本发明在Docker Swarm框架下实现了基于用户特征预测的仿真云平台负载调度方法,如图1所示。Swarm容器管理工具主要作用是把若干台Docker容器主机抽象为一个整体,并且通过一个入口对这些Docker容器主机上的所有容器资源进行统一管理。Swarm为Docker Client提供了与Docker引擎一样的Docker API,Docker容器都运行在安装了Docker引擎的集群计算节点上。Swarm中内置了之前描述的基本调度策略(spread、binpack、random),同时支持自行编写调度策略,本发明的调度方法即为图1中的特征权值调度策略,该策略将优选调度结果推送至Swarm的容器管理组件。
如图1所示,服务器集群有容器管理和调度权值计算两个工作流程。容器管理流程中,对各计算节点上的容器进行集中式管理,包括调度策略的实现以及容器的创建、删除操作;调度权值计算流程中,集群资源收集器不断收集存储在每个计算节点上的用户数据,再基于全局数据进行用户特征预测,利用调度权值算法计算出最优的调度结果,将结果推送至容器管理流程实现具体用户容器的创建。
具体实施过程中,各个计算节点的资源状态采集模块在集群运行的全过程中并行运行、不间断地实时采集并计算本地的资源使用情况,获取包括CPU剩余量、内存剩余量以及网络负载在内的实时资源使用数据;管理节点收集汇总这些数据,并按照用户任务类型即请求的镜像类型进行归类存储与统计。随着服务器集群运行时间的推移,这部分累计的数据即可用于用户特征的预测。基于这一特征预测,在服务器集群管理节点收到用户建立容器请求时,由集群的管理节点进行处理,首先过滤掉剩余资源低于用户需求特征的节点,完成预筛选;然后再根据自定义权值策略,对筛选后的节点进行优选资源调度。
基于用户特征预测的仿真云平台负载调度方法,具体步骤如图2所示,该方法由以下二、三、四步骤实现:
二、集群计算节点资源使用情况采集计算
各个计算节点分别采集CPU、内存、网络负载以及各容器所占内存等相关数据,对服务器集群计算节点采集的上述数据及历史时刻的上述数据使用下述算法进行计算。
2.1、采集各个计算节点的用户态CPU时间us、系统内核态CPU时间sy、空闲态CPU时间id,分别计算集群中N个计算节点slave01-slave07的CPU空闲率
Figure BDA0001971170850000081
上述采集参数均指令直接采集。
2.2、采集各个计算节点的空闲内存容量MEMfree,并根据节点硬件标称内存总量MEMtotal,分别计算集群中N个计算节点slave01-slave07的内存空闲率MEMspare_ratio(i)=(MEMfree(i)/MEMtotal(i))×100%,i=1,2,......,N。MEMfree可直接从计算节点的/proc/meminfo文件中采集。
2.3、采集各个计算节点的网络数据接收量NETin、网络数据发送量NETout,分别计算集群中N个计算节点slave01-slave07的平均网络负载Netload(i)。Netload(i)=((NETin(i)+NETout(i))/Netability))×100%,i=1,2,......,N。式中,Netability为网络理论承载容量,由网络理论数据决定。NETin(i)、NETout(i)可通过间隔读取相应计算节点的/proc/net/dev文件中网络接收和发送数据,得到该时间段内的网络吞吐量。
2.4、采集各个计算节点上所有容器的已分配内存MEM和已使用的内存mem,分别计算集群中N个计算节点slave01-slave07的已分配但未使用的内存量
Figure BDA0001971170850000091
Figure BDA0001971170850000092
式中,MEM(i)j、mem(i)j分别表示节点i上分配给第j个容器的内存总量和第j个容器已使用的内存量,均可通过采集相应容器内/proc/net/dev文件中的数据获得;ni为节点i上的容器数量,
Figure BDA0001971170850000093
为节点i上分配的内存量之和。
三、用户特征预测与节点预筛选
3.1、收集各个节点上存储的历史数据,采用加权移动平均算法预测当前用户容器部署至各个节点i上的历史特征权值w(i)history
在选取预测算法时,需要考虑预测模型是否能够反映节点负载的真实情况,同时又要求算法应具有较小的时间复杂度。由于Swarm容器管理工具是基于Docker的原生态集群,其Docker轻量级和便携性的优势在Swarm中体现的非常突出,避免使用时间复杂度高的高次曲线对节点负载情况进行模拟,可以避免过度消耗集群的整体资源,削弱Swarm集群的整体表现。基于上述原因,本发明采用加权移动平均算法对计算节点的状态变化进行模拟预测,分别计算当前时刻t,该用户容器部署至集群中N个计算节点上的历史特征权值。公式如下:
Figure BDA0001971170850000094
w(i)p是该用户容器在时刻p选择节点i作为宿主机的特征权值,T为加权移动窗口大小;w(i)history为根据节点i上移动窗口内所有的历史特征权值w(i)p计算出的当前有效特征权值;ap均为为窗口内特征权值的权重。实际应用中,可取T为3,权重分别取为a1=0.5,a2=1.0,a3=1.5。
3.2、根据当前用户同类请求的历史数据,预测该用户当前需求特征。
应用集群性能监测手段,对Docker宿主机及用户任务容器本身的运行时资源使用情况进行监测;根据监测的历史数据,面向用户统计分析特定任务容器中任务本身对不同计算资源的最大依赖,以及任务对资源的特殊需求,从而对以任务资源需求为标识的用户特征进行精确预测。假设此次请求为该用户的第r次同类请求,即对同一镜像请求建立容器。则用户当前需求特征定义为D(r),包括CPU需求D(r)CPU、内存需求D(r)MEM以及网络最大负载需求D(r)NET。各项资源需求均按如下公式计算:
K为考虑的基于该镜像创建的历史容器个数,即该镜像的最近K次请求。βk(k=1,2,......,K)分别为该镜像最近K次请求的实际资源用量权值,D(k)CPU/MEM/NET为历史数据中该镜像第k次请求的实际资源用量,具体可为CPU最大需求值/内存最大需求值/网络最大需求值。利用vstate指令,可从相应的历史容器文件/proc/meminfo、/proc/net/dev采集容器实际消耗的CPU/内存/网络资源数量,再求取最大值便可获得这些最大需求值。最后,利用以上公式加权平均预测本次请求容器的资源需求量。在本专利实施过程中,如果当前请求次数r>4,则取K为4,β1=0.050,β2=0.100,β3=0.213,β4=0.637,即最近创建容器的资源用量数据比重较大;如果请求次数r=4,则取K为3,β1=0.5,β2=1,β3=0.5;如果请求次数r=3,则取K为2,β1=0.5,β2=1;如果请求次数r=2,则取K为1,β1=1。
3.3、筛选出可供用户容器使用的计算节点集合
根据2.1、2.2、2.3步骤中的计算结果,以及各计算节点的计算资源标称值,可以获得当前时刻的CPU剩余量、内存剩余量、网络平均负载;结合3.2步骤中计算得到的用户当前需求特征D(r)进行节点筛选。具体实施方式为对比当前各个节点的剩余CPU资源和预测的用户CPU资源需求、当前各个节点的剩余内存和预测的用户内存资源需求,以及当前各个节点的网络平均负载和预测的用户网络最大负载需求,剔除CPU剩余量或者内存剩余量低于当前用户需求特征预测值的节点,保证筛选出来的候选计算资源节点有足够的资源保证用户任务的正常运行。
四、负载均衡调度
利用集群负载均衡调度算法,计算当前时刻在各个计算节点建立容器的特征权值wi,计算公式如下:
wi=α·CPUspare_ratio(i)+β·MEMspare_ratio(i)+γ·(1-Netload(i))+λ·MEMunused(i)+η·w(i)history
其中,CPUspare_ratio(i)、MEMspare_ratio(i)、Netload(i)、MEMunused(i)、w(i)history等各项数据均可从以上步骤中获得。利用以上五项指标计算出当前时刻选中节点i作为容器宿主机的特征权值wi;选择具有最大wi的节点作为最终的容器宿主机节点。式中参数α、β、Y、λ、η取值范围均为[0,1),可按如下方法离线计算:
采集TL时段内集群节点运行时资源状态数据,包括该时段内各个节点i(i=1,2,......,N)在采样监测时刻tk(k=1,2,......,L)的
Figure BDA0001971170850000111
Figure BDA0001971170850000112
等数据。按照以下公式计算集群中各个节点的采样瞬时负载
Figure BDA0001971170850000113
Figure BDA0001971170850000114
在这里取m1∶m2∶m3=0.4∶0.4∶0.2。
假设将该用户镜像容器部署在第I(1≤I≤N)个节点上,则该节点的负载
Figure BDA0001971170850000121
为:
Figure BDA0001971170850000122
式中,D(r)CPU、D(r)MEM、D(r)NET分别为此次用户需求的CPU、内存、网络负载的特征预测值;CPUtotal、MEMtotal、NETtotal分别为节点I的CPU、内存、网络标出值。此时,按照以下公式计算将容器部署至节点I的集群负载均衡度
Figure BDA0001971170850000123
Figure BDA0001971170850000124
其中
Figure BDA0001971170850000125
集群负载均衡度表征了集群中各节点的负载均方差,该值越小表征整个集群的负载均衡程度越高,调度算法性能越好。
依此类推,通过假设时刻tk的N种部署方案,即将容器分别部署在集群中的每个节点,得到一组集群负载均衡度B(i)(i=1,2,......,N),则可按以下公式分别计算出选定各个节点作为容器目标宿主机的归一化概率权值
Figure BDA0001971170850000126
由此得到该时刻节点i的负载均衡调度的理论概率权值
Figure BDA0001971170850000128
不难看出根据各历史时刻
Figure BDA00019711708500001210
CPUspare_ratio(i)、MEMspare_ratio(i)、Netload(i)、MEMunused(i)、w(i)history的数值,应用线性回归方法,即可求解系数α、β、γ、λ、η。本专利实验中实际计算得到并使用的权值分别为0.21,0.33,0.08,0.10,0.28。
五、调度策略实验分析。
为比较本发明所使用的基于用户特征预测的负载调度策略与spread、binpack调度策略的性能,进行以下实验:
先后在7个节点的集群上创建相同类型、相同数量的容器,进行多用户访问调度实验,测试并对比了应用上述三种调度策略情况下的集群负载。多次测试的实验数据统计结果如图3所示,图中纵轴为归一化的节点平均负载。以各个节点负载数据的均方差作为负载均衡度定量分析指标。通过对多次测试的原始数据进行分析,基于用户特征预测的的负载调度方法的负载均衡度0.036相比spread策略资源的负载均衡度0.092要更加平稳,且结果远好于binpack策略的负载均衡度0.382。因此,本方法能够使各个节点的负载更为均衡,充分发挥出每个节点的性能,从而提高集群的整体性能。测试过程中,在不断创建相同类型的容器时,spread策略更早地出现了由于单项资源缺乏,导致部署的容器运行性能下降、无法正常工作的情况。而基于用户特征预测的调度策略则能够部署更多容器,且都运行正常;待各个节点负载都接近满载时,才出现部署容器工作不正常的情况。因此,通过精细的调度分配,提高了整个集群的资源利用率。
实验结果表明本发明所设计的方法优于已有的负载调度算法,能够进行更加优化的调度,实现资源的高效合理利用。

Claims (1)

1.一种基于用户特征预测的仿真云平台负载调度方法,其特征在于步骤如下:
1)采集得到集群计算节点资源情况;具体计算过程为:采集各个计算节点的CPU、内存、网络吞吐以及所有容器的内存使用情况,计算得到各个节点的CPU空闲率、内存空闲率、平均网络负载,以及已分配但未使用的内存总量;
2)对集群节点进行过滤,筛选出可供当前用户请求建立容器正常运行的候选节点集合;具体计算过程为:根据当前用户同类请求的历史数据,预测该用户当前需求特征;利用步骤1)计算结果筛选可供用户请求建立容器正常运行的候选计算节点;
3)对集群负载均衡调度,优选出可作为用户容器的宿主机节点;
所述各个计算节点的CPU空闲率CPUspare_ratio(i)的具体计算过程为:
Figure FDA0002266102740000011
式中,各个计算节点i的用户态CPU时间usi、系统内核态CPU时间syi、空闲态CPU时间idi均直接通过指令采集;N为集群中计算节点总数;
所述各个计算节点的内存空闲率MEMspare_ratio(i)的具体计算过程为:
MEMspare_ratio(i)=(MEMfree(i)/MEMtotal(i))×100%;
式中,MEMfree表示空闲内存容量;MEMtotal(i)为节点i的硬件标称内存总量;
所述各个计算节点的平均网络负载Netload(i)的具体计算过程为:
Netload(i)=((NETin(i)+NETout(i))/Netability))×100%;
式中,Netability为网络理论承载容量,由网络理论数据决定;NETin(i)、NETout(i)为网络接收和发送的数据量,即网络吞吐量;
所述各个计算节点的已分配但未使用的内存量MEMunused(i)的具体计算过程为:
Figure FDA0002266102740000021
式中,MEM(i)j、mem(i)j分别表示节点i上分配给第j个容器的内存总量和第j个容器已使用的内存量;ni为节点i上的容器数量,
Figure FDA0002266102740000022
为节点i上分配的内存量之和;
所述用户当前需求特征D(r)的具体预测过程为:
K为创建的历史容器个数,即最近K次请求;r表示用户的第r次同类请求,βk分别为最近K次请求的实际资源用量权值,k=1,2,……,K,D(k)CPU/MEM/NET为历史数据中第k次请求的实际资源用量,具体为CPU最大需求值/内存最大需求值/网络最大需求值;
所述步骤3)的具体计算过程为:应用负载调度方法,计算在步骤2)中所得候选节点集合中的各个节点建立容器的特征权值,优选出可作为用户容器的宿主机节点;
在各个计算节点建立容器的特征权值wi的具体计算过程为:
wi=α·CPUspare_ratio(i)+β·MEMspare_ratio(i)+γ·(1-Netload(i))+λ·MEMunused(i)+η·w(i)history
其中,参数α、β、γ、λ、η取值范围均为[0,1);CPUspare_ratio(i)代表节点i的CPU空闲率;MEMspare_ratio(i)代表节点i的内存空闲率;Netload(i)代表节点i的平均网络负载;w(i)history代表该用户容器部署至集群中节点i上的历史特征权值,依以下公式计算:
Figure FDA0002266102740000024
w(i)p是该用户容器在时刻p选择节点i作为宿主机的特征权值,T为加权移动窗口大小;w(i)history为根据节点i上移动窗口内所有的历史特征权值w(i)p计算出的当前有效特征权值;ap均为窗口内特征权值的权重;选择具有最大wi的节点作为最终的容器宿主机节点。
CN201910118945.6A 2019-02-18 2019-02-18 一种基于用户特征预测的仿真云平台负载调度系统及方法 Active CN109918198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910118945.6A CN109918198B (zh) 2019-02-18 2019-02-18 一种基于用户特征预测的仿真云平台负载调度系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910118945.6A CN109918198B (zh) 2019-02-18 2019-02-18 一种基于用户特征预测的仿真云平台负载调度系统及方法

Publications (2)

Publication Number Publication Date
CN109918198A CN109918198A (zh) 2019-06-21
CN109918198B true CN109918198B (zh) 2020-02-11

Family

ID=66961627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910118945.6A Active CN109918198B (zh) 2019-02-18 2019-02-18 一种基于用户特征预测的仿真云平台负载调度系统及方法

Country Status (1)

Country Link
CN (1) CN109918198B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457131B (zh) * 2019-07-31 2021-08-20 华中科技大学 基于Docker容器的电力系统超算平台任务调度方法
CN110636388A (zh) * 2019-09-29 2019-12-31 浪潮(北京)电子信息产业有限公司 一种业务请求分配方法、系统、电子设备及存储介质
CN111124689B (zh) * 2019-12-31 2023-03-28 中国电子科技集团公司信息科学研究院 一种集群中容器资源动态分配方法
CN111258767B (zh) * 2020-01-22 2023-01-03 中国人民解放军国防科技大学 复杂系统仿真应用的云计算资源智能分配方法与装置
CN111367632B (zh) * 2020-02-14 2023-04-18 重庆邮电大学 一种基于周期特征的容器云调度方法
CN111459621B (zh) * 2020-04-10 2023-03-28 中国人民解放军国防科技大学 云仿真集成与调度方法、装置、计算机设备和存储介质
CN111966453B (zh) * 2020-07-29 2022-12-16 苏州浪潮智能科技有限公司 一种负载均衡方法、系统、设备及存储介质
CN112084015B (zh) * 2020-08-28 2023-08-15 西藏宁算科技集团有限公司 一种基于云计算的仿真云平台搭建系统及方法
CN112214280B (zh) * 2020-09-16 2023-09-12 中国科学院计算技术研究所 一种电力系统仿真的云化方法及系统
CN112328444A (zh) * 2020-10-09 2021-02-05 国家电网有限公司 一种云计算机管理系统及其管理方法
CN112491971B (zh) * 2020-11-09 2022-05-31 苏州浪潮智能科技有限公司 一种计算集群节点调度方法、装置、设备、产品
CN112667398B (zh) * 2020-12-28 2023-09-01 北京奇艺世纪科技有限公司 资源调度方法、装置、电子设备及存储介质
CN112905333B (zh) * 2021-01-23 2024-04-26 招商新智科技有限公司 用于分布式视频智能分析平台的算力负载调度方法及装置
CN112988380B (zh) * 2021-02-25 2022-06-17 电子科技大学 一种基于Kubernetes的集群负载调节方法及存储介质
CN112860383A (zh) * 2021-03-12 2021-05-28 网易(杭州)网络有限公司 集群资源调度方法、装置、设备及存储介质
CN113112139A (zh) * 2021-04-07 2021-07-13 上海联蔚盘云科技有限公司 云平台账单的处理方法和设备
CN113791863B (zh) * 2021-08-10 2024-01-23 北京中电飞华通信有限公司 基于虚容器的电力物联代理资源调度方法及相关设备
CN113553140B (zh) * 2021-09-17 2022-03-18 阿里云计算有限公司 资源调度方法、设备及系统
CN115994014A (zh) * 2021-10-18 2023-04-21 中兴通讯股份有限公司 容器引擎和容器引擎的实现方法、电子设备、存储介质
CN114979154B (zh) * 2022-06-06 2023-10-03 北京月新时代科技股份有限公司 一种负载均衡方法及系统
CN115426365A (zh) * 2022-08-17 2022-12-02 西安理工大学 一种基于泛容计算架构的集群调度方法
CN115665158A (zh) * 2022-10-31 2023-01-31 浪潮云信息技术股份公司 一种容器集群服务动态管理方法及系统
CN115617279B (zh) * 2022-12-13 2023-03-31 北京中电德瑞电子科技有限公司 分布式云数据的处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107045455A (zh) * 2017-06-19 2017-08-15 华中科技大学 一种基于负载预测的Docker Swarm集群资源调度优化方法
CN108572867A (zh) * 2017-03-09 2018-09-25 株式会社日立制作所 为应用部署分布式容器集群且执行该应用的方法和装置
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109120715A (zh) * 2018-09-21 2019-01-01 华南理工大学 一种云环境下动态负载均衡方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593134B (zh) * 2009-06-29 2012-05-30 北京航空航天大学 虚拟机cpu资源分配方法和装置
US10225335B2 (en) * 2011-02-09 2019-03-05 Cisco Technology, Inc. Apparatus, systems and methods for container based service deployment
US9843533B2 (en) * 2014-03-06 2017-12-12 Trilio Data Inc. Elastic compute cloud based on underutilized server resources using a distributed container system
CN104283951B (zh) * 2014-09-29 2018-03-27 华为技术有限公司 一种实例迁移的方法、装置及系统
US10594798B2 (en) * 2016-06-16 2020-03-17 Veniam, Inc. Systems and methods for managing containers in a network of moving things
US10841328B2 (en) * 2017-05-04 2020-11-17 International Business Machines Corporation Intelligent container resource placement based on container image vulnerability assessment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572867A (zh) * 2017-03-09 2018-09-25 株式会社日立制作所 为应用部署分布式容器集群且执行该应用的方法和装置
CN107045455A (zh) * 2017-06-19 2017-08-15 华中科技大学 一种基于负载预测的Docker Swarm集群资源调度优化方法
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109120715A (zh) * 2018-09-21 2019-01-01 华南理工大学 一种云环境下动态负载均衡方法

Also Published As

Publication number Publication date
CN109918198A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109918198B (zh) 一种基于用户特征预测的仿真云平台负载调度系统及方法
CN107196865B (zh) 一种负载感知的自适应阈值过载迁移方法
CN110389820B (zh) 一种基于v-TGRU模型进行资源预测的私有云任务调度方法
CN104050042B (zh) Etl作业的资源分配方法及装置
CN112783649A (zh) 一种面向云计算的交互感知的容器化微服务资源调度方法
US11579933B2 (en) Method for establishing system resource prediction and resource management model through multi-layer correlations
Patel et al. Survey of load balancing techniques for grid
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN108920153A (zh) 一种基于负载预测的Docker容器动态调度方法
Li et al. Amoeba: Qos-awareness and reduced resource usage of microservices with serverless computing
CN112685153A (zh) 微服务调度方法、装置以及电子设备
Sedaghat et al. Decentralized cloud datacenter reconsolidation through emergent and topology-aware behavior
CN115543577B (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN114666335A (zh) 一种基于dds的分布式系统负载均衡装置
CN104735063B (zh) 一种用于云基础设施的安全评测方法
Yang et al. Design of kubernetes scheduling strategy based on LSTM and grey model
CN111367632B (zh) 一种基于周期特征的容器云调度方法
Iglesias et al. A methodology for online consolidation of tasks through more accurate resource estimations
Bi et al. Dynamic fine-grained resource provisioning for heterogeneous applications in virtualized cloud data center
CN105872109A (zh) 云平台负载运行方法
CN109408230A (zh) 基于能耗优化的Docker容器部署方法及系统
Legrand et al. Monarc simulation framework
Glatard et al. Probabilistic and dynamic optimization of job partitioning on a grid infrastructure
Bertogna et al. Dynamic on Demand Virtual Clusters in Grid
Caron et al. Evaluation of meta-scheduler architectures and task assignment policies for high throughput computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant