面向分布式平台的服务实例精细化调度方法及系统技术方案

技术编号:24799042 阅读:21 留言:0更新日期:2020-07-07 20:58
本发明专利技术公开了一种面向分布式平台的服务实例精细化调度方法,包括:初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示;根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,并更新可用资源数。本发明专利技术还公开了一种面向分布式平台的服务实例精细化调度系统。本发明专利技术支撑更精细化的调度策略,可以让平台对资源的使用更合理,资源使用率更充分。

【技术实现步骤摘要】
面向分布式平台的服务实例精细化调度方法及系统
本专利技术涉及一种面向分布式平台的服务实例精细化调度方法及系统,主要应用于涉及互联网
,特别涉及分布式服务部署平台的资源管理和服务实例调度

技术介绍
分布式服务部署平台是一种基于具体集群,按照服务拥有者提供的服务配置信息、可执行文件,将服务部署到集群上,并提供服务托管、服务监管等功能的平台。平台管理集群硬件设备和资源,将服务自动部署到最合适的节点上,大大降低服务部署的复杂度。集群是分布式服务部署平台的载体。集群由具体的机器(也称为节点)组成,通常包括服务器、个人计算机、虚拟机等。机器其实就是资源的组合,因此资源是分布式服务部署平台的核心,是支撑服务运行的实体,可以表述为数量和能力,通常承载于具体硬件设备,包括中央处理器、随机存取存储器、本地磁盘存储、图形处理器和网络资源等等。分布式平台对于资源的使用过程主要包括调度时和运行时。调度时是指需要把多实例的服务部署到集群的哪些节点上,决策输入就是集群中所有节点的资源描述。决策过程就是根据服务实例需要的资源数,淘汰不满足条件的节点,得到可调度的节点列表,然后再根据一定的算法计算出最优节点或节点列表。分布式服务部署平台重点关注调度时资源的表示和使用。现有的分布式服务部署平台对于常用硬件资源类(如CPU&RAM)支持比较好,对于偏图形计算、磁盘IO高、网络通信量大的任务,现有平台支持不好。既有的资源表示方式,很难兼容所有资源类,更不用说要支撑资源的精细化调度。以GPU资源为例,常用的Kubernetes调度系统,继承已有的资源表述方式,只能支撑到GPU设备粒度的调度,意味着服务对于GPU卡是独占的,不可以将单GPU用于多个服务实例。服务实例调度算法考虑的资源类偏少,并且因为资源表示方式非常简单,不能支撑已有资源的更精细化的调度。
技术实现思路
本专利技术的目的在于克服上述存在的问题,提供一种面向分布式平台的服务实例精细化调度方法及系统,实现资源类的更精细化调度。本专利技术的目的是通过如下技术方案来完成的,面向分布式平台的服务实例精细化调度方法,包括:初始化资源信息,以获取资源类的最大值(此时可用值等于最大值);对于需要做多维描述的资源,采用降维编码的方式进行表示;根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,并更新可用资源数。作为优选,所述降维编码:对于某一类资源,如果一维资源数量为Nf,对应的二维资源数量为{Ns1,Ns2,...,NsNf},假设b位二进制数可以表示二维资源数值的上限。二维资源数值为:Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)。资源降维编码的具体步骤,包括:采集特定资源类的各资源设备的配额使用量;降维编码得到各资源类的一维数值,即采用上述位运算表达式计算出资源类的一维数值;同步各资源类的资源数值。作为优选,所述升维解码:对于二维描述的资源类,假设表示数值为K,一维资源数量为Nf,同样b位二进制数表示二维资源数值的上限,对应Nfi的二维资源数值为:(K>>((Nfi-1)*b))&(2^b-1)。资源升维编码的具体步骤,包括:获取所有节点所有资源类的一维配额使用量;升维解码得到所有节点所有资源类的多维配额使用量(本专利技术中为二维配额使用量),即采用上述位运算表达式计算出Nfi的二维资源数值;遍历所有资源类,过滤不满足服务实例资源请求量的节点。作为优选,所述根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表,具体为:根据服务实例的资源请求量和各节点的资源全貌进行比较,将能够满足服务实例资源要求的节点划分到可调度节点列表。进一步,对于服务实例需要的所有资源类,都做如下判断:如果节点的可用资源数小于需要资源数,则节点不满足条件,不可被调度。所有资源类都通过检查,则被列为可调度节点。常见资源类包括CPU、内存、磁盘、带宽和GPU等,任何一类资源不能满足服务实例请求数,该节点都不能视为可调度节点。作为优选,根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点(节点优选算法),具体为:获取每种资源类资源请求量的平均值,选取其中请求量平均值最小的节点作为服务实例的部署节点;或者,获取每种资源类资源请求量与平均值的方差,选取方差最小的节点作为服务实例的部署节点。优选算法对于应用类型的依赖度比较高,通常应用都不需要关注所有的资源类,有的重CPU,有的重GPU,有的重RAM,有的重磁盘等。本专利技术不理解具体服务差异,采用的节点优选算法包括资源最少请求算法和资源最均衡算法。资源最少请求算法,得到每种资源类资源请求量的平均值,最少的即为最优的。资源最均衡算法,得到每种资源类资源请求量与平均值的方差,方差最小的即为最优的。进一步,对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量,以支撑资源最少和资源最均衡算法的计算。作为优选,根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,具体为:得到部署节点后,请求相应节点的部署执行模块部署服务实例;部署执行模块根据服务实例,向资源管理模块请求具体的资源设备;资源管理模块根据资源选择策略在资源类中选取特定资源设备绑定给服务实例。作为优选,资源选择策略具体为:选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求数量的设备。最少使用的好处是保证各资源设备间的负载是均衡的,而最多使用的优势在保证更大资源请求量的服务上线时,有足够的资源可以使用。一种面向分布式平台的服务实例精细化调度系统,包括:资源管理模块、任务调度模块和部署执行模块,其中,资源管理模块,一方面初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示,并将获取的资源总量和可用量同步至任务调度模块;另一方面,在接收到部署执行模块发送的请求后,根据资源选择策略在资源类中选取特定资源设备绑定给服务实例;任务调度模块,根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;请求相应节点的部署执行模块部署服务实例;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;部署执行模块本文档来自技高网
...

【技术保护点】
1.一种面向分布式平台的服务实例精细化调度方法,其特征在于包括:/n初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示;/n根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;/n根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;/n根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,并更新可用资源数。/n

【技术特征摘要】
1.一种面向分布式平台的服务实例精细化调度方法,其特征在于包括:
初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示;
根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;
根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;
根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,并更新可用资源数。


2.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,所述降维编码包括:
采集特定资源类的各资源设备的配额使用量;
降维编码得到各资源类的一维数值;
同步各资源类的资源数值。


3.根据权利要求2所述的面向分布式平台的服务实例精细化调度方法,其特征在于,降维编码得到各资源类的一维数值,具体为:
采用位运算表达式Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)计算出资源类的一维数值,式中Nf为资源类的一维资源数量,对应的二维资源数量为{Ns1,Ns2,...,NsNf},b为能够表示二维资源数值上限的二进制数。


4.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,所述升维解码包括:
获取所有节点所有资源类的一维配额使用量;
升维解码得到所有节点所有资源类的多维配额使用量;
遍历所有资源类,过滤不满足服务实例资源请求量的节点。


5.根据权利要求4所述的面向分布式平台的服务实例精细化调度方法,其特征在于,升维解码得到所有节点所有资源类的多维配额使用量,具体为:
采用位运算表达式(K>>((Nfi-1)*b))&(2^b-1)计算出Nfi的二维资源数值,式中,K为降维编码后得到的一维数值,Nf为资源类的一维资源数量,b为能够表示二维资源数值上限的二进制数。


6.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,所述根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表,具体为:
根据服务实例的资源请求量和各节点的资源全貌进行比较,将能够满足服务实例资源要求的节点划分到可调度节点列表。


7.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点,具体为:
获取每种资源类资源请求量的平均值,选取其中请求量平均值最小的节点作为服务实例的部署节点;
或者,获取每种资源类资源请求量与平均值的方差,选取方差最小的节点作为服务实例的部署节点。


8.根据权利要求7所述的面向分布式平台的服务实例精细化调度方法,其特征在于:对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量。


9.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,具体为:
得到部署节点后,请求相应节点的部署执行模块部署服务实例;
部署执行模块根据服务实例,向资源管理模块请求具体的资源设备;
资源管理模块根据资源选择策略在资源类中选取特定资源设备绑定给服务实例。


10.根据权利要求9所述的面向分布式平台的服务实例精细化调度方法,其特征在于,资源选择策略具体为:
选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求...

【专利技术属性】
技术研发人员:黄仁智涂中英王炜煜
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1