CN111381957B - 面向分布式平台的服务实例精细化调度方法及系统 - Google Patents

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

Info

Publication number
CN111381957B
CN111381957B CN201811639776.2A CN201811639776A CN111381957B CN 111381957 B CN111381957 B CN 111381957B CN 201811639776 A CN201811639776 A CN 201811639776A CN 111381957 B CN111381957 B CN 111381957B
Authority
CN
China
Prior art keywords
resource
service instance
node
dimensional
nodes
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
CN201811639776.2A
Other languages
English (en)
Other versions
CN111381957A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201811639776.2A priority Critical patent/CN111381957B/zh
Publication of CN111381957A publication Critical patent/CN111381957A/zh
Application granted granted Critical
Publication of CN111381957B publication Critical patent/CN111381957B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

面向分布式平台的服务实例精细化调度方法及系统
技术领域
本发明涉及一种面向分布式平台的服务实例精细化调度方法及系统,主要应用于涉及互联网技术领域,特别涉及分布式服务部署平台的资源管理和服务实例调度技术领域。
背景技术
分布式服务部署平台是一种基于具体集群,按照服务拥有者提供的服务配置信息、可执行文件,将服务部署到集群上,并提供服务托管、服务监管等功能的平台。平台管理集群硬件设备和资源,将服务自动部署到最合适的节点上,大大降低服务部署的复杂度。
集群是分布式服务部署平台的载体。集群由具体的机器(也称为节点)组成,通常包括服务器、个人计算机、虚拟机等。机器其实就是资源的组合,因此资源是分布式服务部署平台的核心,是支撑服务运行的实体,可以表述为数量和能力,通常承载于具体硬件设备,包括中央处理器、随机存取存储器、本地磁盘存储、图形处理器和网络资源等等。
分布式平台对于资源的使用过程主要包括调度时和运行时。调度时是指需要把多实例的服务部署到集群的哪些节点上,决策输入就是集群中所有节点的资源描述。决策过程就是根据服务实例需要的资源数,淘汰不满足条件的节点,得到可调度的节点列表,然后再根据一定的算法计算出最优节点或节点列表。分布式服务部署平台重点关注调度时资源的表示和使用。
现有的分布式服务部署平台对于常用硬件资源类(如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,有的重磁盘等。本发明不理解具体服务差异,采用的节点优选算法包括资源最少请求算法和资源最均衡算法。资源最少请求算法,得到每种资源类资源请求量的平均值,最少的即为最优的。资源最均衡算法,得到每种资源类资源请求量与平均值的方差,方差最小的即为最优的。进一步,对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量,以支撑资源最少和资源最均衡算法的计算。
作为优选,根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,具体为:
得到部署节点后,请求相应节点的部署执行模块部署服务实例;
部署执行模块根据服务实例,向资源管理模块请求具体的资源设备;
资源管理模块根据资源选择策略在资源类中选取特定资源设备绑定给服务实例。
作为优选,资源选择策略具体为:
选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求数量的设备。最少使用的好处是保证各资源设备间的负载是均衡的,而最多使用的优势在保证更大资源请求量的服务上线时,有足够的资源可以使用。
一种面向分布式平台的服务实例精细化调度系统,包括:资源管理模块、任务调度模块和部署执行模块,其中,
资源管理模块,一方面初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示,并将获取的资源总量和可用量同步至任务调度模块;另一方面,在接收到部署执行模块发送的请求后,根据资源选择策略在资源类中选取特定资源设备绑定给服务实例;
任务调度模块,根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;请求相应节点的部署执行模块部署服务实例;
对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;
部署执行模块,根据服务实例,向资源管理模块请求具体的资源设备。
作为优选,所述降维编码:
对于某一类资源,如果一维资源数量为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、本发明引入资源的多维描述方式,并通过降维编码的方式将资源的多维描述方式通过一个数值来表示,支撑更精细化的调度策略,可以让平台对于资源的使用更为合理,资源使用率更充分。
2、采用本发明,分布式服务调度平台可使用更多资源类作为调度决策,提升平台对于更多服务类型的支持度。
附图说明
图1是本发明降维编码方法流程图。
图2是本发明升维解码方法流程图。
图3是本发明调度系统模块交互图。
图4是本发明调度方法流程图。
具体实施方式
下面将结合附图对本发明做详细的介绍。
资源通常可以分为硬件资源和软件资源,典型的硬件资源包括CPU/RAM/GPU/磁盘/网卡等,软件资源包括队列、IP池等。本发明把具有同类特征的资源称做一个资源类。GPU就是一个资源类。
对于资源类的描述,可以简单到一个数值,比如n块GPU卡,描述的是集群中一个节点拥有的GPU类资源的数量是n;也可以是更加具体的,比如n块GPU卡,每块上拥有的显存数为{20G,20G,…,20G},描述了集群中一个节点拥有n块GPU卡,以及对应的显存数值。对于前一种资源描述方式,对应的表示方式只需要一个数值就能满足,这种方式可以称为资源的一维描述方式;对于后一种,需要一个二维数组或MAP才能描述,可称之为资源的二维描述方式。(当然,如果需要更多的信息来描述资源以支撑调度时执行,可以采用更多维的资源描述方式)。资源的二维描述方式,引入了资源的更详细的信息,可以支撑调度时更精细化的调度决策。
常用分布式服务部署平台对于资源的表示方式通常是固定的,拥有通用的资源描述结构,并且通常来说都是一维的表示方式。对于资源的二维描述方式,需要一种降维表示的方法,即将资源的二维描述方式通过一个数值来表示,支撑实现到具体平台。
降维编码:
对于某一类资源,如果一维资源数量为Nf,对应的二维资源数量为{Ns1,Ns2,...,NsNf},假设b位二进制数可以表示二维资源数值的上限。二维资源数值为:Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)。如图1所示,资源降维编码的具体步骤,包括:
采集特定资源类的各资源设备的配额使用量;
降维编码得到各资源类的一维数值,即采用上述位运算表达式计算出资源类的一维数值;
同步各资源类的资源数值。
升维解码:
对于二维描述的资源类,假设表示数值为K,一维资源数量为Nf,同样b位二进制数表示二维资源数值的上限,对应Nfi的二维资源数值为:(K>>((Nfi-1)*b))&(2^b-1)。如图2所示,资源升维编码的具体步骤,包括:
获取所有节点所有资源类的一维配额使用量;
升维解码得到所有节点所有资源类的二维配额使用量,即采用上述位运算表达式计算出Nfi的二维资源数值;
遍历所有资源类,过滤不满足服务实例资源请求量的节点。
一种面向分布式平台的服务实例精细化调度方法,分布式服务部署平台要把服务实例部署到集群,
首先,初始化资源信息,以获取资源类的最大值(此时可用值等于最大值);对于需要做多维描述的资源,采用降维编码的方式进行表示;
其次,根据服务实例需要的资源数,利用节点筛选算法来筛选节点,得到可调度节点列表;只有所有资源类满足服务实例需要的节点,才能加入到可调度节点列表;
然后,根据一定的节点优选算法,从可调度节点列表中优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;
最后,部署执行模块拿到部署具体服务实例的任务后,要根据一定的策略(资源选择策略)选择资源类合适的资源设备,绑定到服务实例。
节点筛选算法:对于服务实例需要的所有资源类,都做如下判断:如果节点的可用资源数小于需要资源数,则节点不满足条件,不可被调度。所有资源类都通过检查,则被列为可调度节点。常见资源类包括CPU、内存、磁盘、带宽和GPU等,任何一类资源不能满足服务实例请求数,该节点都不能视为可调度节点。对于采用降维编码方式进行表示的资源,节点筛选算法中要对可用资源进行升维解码,判断是否有足够的资源设备满足条件。
节点优选算法:优选算法对于应用类型的依赖度比较高,通常应用都不需要关注所有的资源类,有的重CPU,有的重GPU,有的重RAM,有的重磁盘等。本发明不理解具体服务差异,采用的节点优选算法包括资源最少请求算法和资源最均衡算法。资源最少请求算法,得到每种资源类资源请求量的平均值,最少的即为最优的。资源最均衡算法,得到每种资源类资源请求量与平均值的方差,方差最小的即为最优的。对于采用降维编码方式进行表示的资源,节点优选算法要对可用资源进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量,以支撑资源最少和资源最均衡算法的计算。
对于部署执行模块,拿到需要部署的服务实例后,需要给服务实例绑定具体的资源设备。本发明采用两种办法选取特定资源设备:一是最少使用,同类资源设备中资源配额使用最少的设备即为分配设备;二是最多使用,同类资源设备中资源配额使用最多并且能够满足请求数量的设备即为分配设备。最少使用的好处是保证各资源设备间的负载是均衡的,而最多使用的优势在保证更大资源请求量的服务上线时,有足够的资源可以使用。
如图3所示,一种面向分布式平台的服务实例精细化调度系统,包括:资源管理模块、任务调度模块和部署执行模块,其中,
资源管理模块,一方面初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示,并将获取的资源总量和可用量同步至任务调度模块;另一方面,在接收到部署执行模块发送的请求后,根据资源选择策略在资源类中选取特定资源设备绑定给服务实例;
任务调度模块,根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;请求相应节点的部署执行模块部署服务实例;
对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;
部署执行模块,根据服务实例,向资源管理模块请求具体的资源设备。
作为优选,所述资源降维编码的具体步骤,包括:
采集特定资源类的各资源设备的配额使用量;
降维编码得到各资源类的一维数值;
同步各资源类的资源数值。
降维编码得到各资源类的一维数值,具体为:
采用位运算表达式Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)计算出资源类的一维数值,式中Nf为资源类的一维资源数量,对应的二维资源数量为{Ns1,Ns2,...,NsNf},b为能够表示二维资源数值上限的二进制数。
作为优选,所述资源升维编码的具体步骤,包括:
获取所有节点所有资源类的一维配额使用量;
升维解码得到所有节点所有资源类的多维配额使用量(本发明为二维配额使用量);
遍历所有资源类,过滤不满足服务实例资源请求量的节点。
升维解码得到所有节点所有资源类的二维配额使用量,具体为:
采用位运算表达式(K>>((Nfi-1)*b))&(2^b-1)计算出Nfi的二维资源数值,式中,K为降维编码后得到的一维数值,Nf为资源类的一维资源数量,b为能够表示二维资源数值上限的二进制数。
作为优选,所述根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表,具体为:
根据服务实例的资源请求量和各节点的资源全貌进行比较,将能够满足服务实例资源要求的节点划分到可调度节点列表。进一步,对于服务实例需要的所有资源类,都做如下判断:如果节点的可用资源数小于需要资源数,则节点不满足条件,不可被调度。所有资源类都通过检查,则被列为可调度节点。常见资源类包括CPU、内存、磁盘、带宽和GPU等,任何一类资源不能满足服务实例请求数,该节点都不能视为可调度节点。
作为优选,根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点(节点优选算法),具体为:
获取每种资源类资源请求量的平均值,选取其中请求量平均值最小的节点作为服务实例的部署节点;
或者,获取每种资源类资源请求量与平均值的方差,选取方差最小的节点作为服务实例的部署节点。
优选算法对于应用类型的依赖度比较高,通常应用都不需要关注所有的资源类,有的重CPU,有的重GPU,有的重RAM,有的重磁盘等。本发明不理解具体服务差异,采用的节点优选算法包括资源最少请求算法和资源最均衡算法。资源最少请求算法,得到每种资源类资源请求量的平均值,最少的即为最优的。资源最均衡算法,得到每种资源类资源请求量与平均值的方差,方差最小的即为最优的。进一步,对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量,以支撑资源最少和资源最均衡算法的计算。
作为优选,资源选择策略具体为:
选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求数量的设备。最少使用的好处是保证各资源设备间的负载是均衡的,而最多使用的优势在保证更大资源请求量的服务上线时,有足够的资源可以使用。
服务实例的精细化调度方法主要可应用于分布式服务部署平台的调度时,其依托资源的降维表示方式。对应的执行步骤包括以下几个部分:
1.资源管理模块采集到具体资源类信息后,对于需要做二维描述的资源,采用降维编码的方法表示资源;并将当前节点经过降维编码后的资源总量和可用量定时同步给任务调度模块;
2.任务调度模块收到服务实例部署任务后,根据服务实例对资源的需求以及节点当前的资源现状,采用前述节点筛选算法筛选可调度节点;
3.任务调度模块得到可调度节点列表,采用节点优选算法,优选出合适部署的节点或节点列表;
4.得到部署节点后,请求相应节点的部署执行模块部署服务实例;
5.部署执行模块根据服务实例,向资源管理模块请求具体的资源设备;
6.资源管理模块根据前述资源选择策略,选取特定资源设备绑定给服务实例,并更新可用资源数。
实施例1
如图4所示,本实施例采用资源降维表示方式和服务实例的精细化调度方法,基于GPU资源类来实现,包括如下具体步骤:
1.资源管理模块初始化资源信息,并且在部署实例变更后更新节点资源到任务调度模块。对于资源的二维信息,需要采用降维编码的方法表示。一个节点可以安插多块GPU设备,每个GPU设备包含一定数量的显存,显存就是GPU资源类中的二维信息,通过前述降维编码的方式得到节点的GPU资源类数值。初始化阶段,主要是获取资源类的最大值,此时可用值等于最大值。
2.任务调度模块收到服务实例部署请求时,根据服务实例的资源请求量和节点的资源全貌做比较,能满足服务实例资源要求的节点划分到可调度节点列表。对于做了二维描述的资源,需要升维解码资源数值,来判断具体的设备资源是否满足服务实例的要求。只有足够的GPU资源设备满足服务实例要求,才能将设备绑定给服务实例使用,因此对应节点才能算是可调度节点。
3.任务调度模块在可调度节点列表中优选节点(采用前述节点优选算法),得到服务实例与节点的映射关系,即特定服务实例部署到的具体节点。
4.得到部署节点后,请求相应节点的部署执行模块部署服务实例。
5.部署执行模块拿到服务实例部署任务后,向资源管理模块请求具体的资源设备。
6.资源管理模块采用前述资源选择策略在资源类中优选资源设备,选择合适的资源设备绑定给服务实例。为保持GPU资源设备的使用均衡性,可将显存使用量最少的GPU资源设备绑定给服务实例。资源管理模块更新节点的可用资源,并同步到任务调度模块,以支撑后续任务的调度决策。

Claims (17)

1.一种面向分布式平台的服务实例精细化调度方法,其特征在于包括:
初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示;
根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;
根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;
根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,并更新可用资源数;
所述降维编码包括:
采集特定资源类的各资源设备的配额使用量,所述配额使用量为资源的多维描述方式;
降维编码得到各资源类的一维数值;
同步各资源类的资源数值。
2.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,降维编码得到各资源类的一维数值,具体为:
采用位运算表达式Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)计算出资源类的一维数值,式中Nf为资源类的一维资源数量,对应的二维资源数量为{Ns1,Ns2,...,NsNf},b为能够表示二维资源数值上限的二进制数。
3.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,所述升维解码包括:
获取所有节点所有资源类的一维配额使用量;
升维解码得到所有节点所有资源类的多维配额使用量;
遍历所有资源类,过滤不满足服务实例资源请求量的节点。
4.根据权利要求3所述的面向分布式平台的服务实例精细化调度方法,其特征在于,升维解码得到所有节点所有资源类的多维配额使用量,具体为:
采用位运算表达式(K>>((Nfi-1)*b))&(2^b-1)计算出Nfi的二维资源数值,式中,K为降维编码后得到的一维数值,Nf为资源类的一维资源数量,b为能够表示二维资源数值上限的二进制数。
5.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,所述根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表,具体为:
根据服务实例的资源请求量和各节点的资源全貌进行比较,将能够满足服务实例资源要求的节点划分到可调度节点列表。
6.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点,具体为:
获取每种资源类资源请求量的平均值,选取其中请求量平均值最小的节点作为服务实例的部署节点;
或者,获取每种资源类资源请求量与平均值的方差,选取方差最小的节点作为服务实例的部署节点。
7.根据权利要求6所述的面向分布式平台的服务实例精细化调度方法,其特征在于:对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量。
8.根据权利要求1所述的面向分布式平台的服务实例精细化调度方法,其特征在于,根据资源选择策略选取部署节点中的特定资源设备分配给服务实例,具体为:
得到部署节点后,请求相应节点的部署执行模块部署服务实例;
部署执行模块根据服务实例,向资源管理模块请求具体的资源设备;
资源管理模块根据资源选择策略在资源类中选取特定资源设备绑定给服务实例。
9.根据权利要求8所述的面向分布式平台的服务实例精细化调度方法,其特征在于,资源选择策略具体为:
选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求数量的设备。
10.一种面向分布式平台的服务实例精细化调度系统,其特征在于包括:资源管理模块、任务调度模块和部署执行模块,其中,
资源管理模块,一方面初始化资源信息,对于需要做多维描述的资源,采用降维编码的方式进行表示,并将获取的资源总量和可用量同步至任务调度模块;另一方面,在接收到部署执行模块发送的请求后,根据资源选择策略在资源类中选取特定资源设备绑定给服务实例;
任务调度模块,根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表;根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点;请求相应节点的部署执行模块部署服务实例;
对于采用降维编码方式进行表示的资源,进行升维解码,以判断设备资源是否满足服务实例的要求;
部署执行模块,根据服务实例,向资源管理模块请求具体的资源设备;
所述降维编码包括:
节点采集特定资源类的各资源设备的配额使用量,所述配额使用量为资源的多维描述方式;
节点降维编码得到各资源类的一维数值;
同步各资源类的资源数值。
11.根据权利要求10所述的面向分布式平台的服务实例精细化调度系统,其特征在于,降维编码得到各资源类的一维数值,具体为:
采用位运算表达式Ns1<<(0*b)|Ns2<<(1*b)|...|NsNf<<((Nf-1)*b)计算出资源类的一维数值,式中Nf为资源类的一维资源数量,对应的二维资源数量为{Ns1,Ns2,...,NsNf},b为能够表示二维资源数值上限的二进制数。
12.根据权利要求10所述的面向分布式平台的服务实例精细化调度系统,其特征在于,所述升维解码包括:
任务调度模块获取所有节点所有资源类的一维配额使用量;
任务调度模块升维解码得到所有节点所有资源类的多维配额使用量;
任务调度模块遍历所有资源类,过滤不满足服务实例资源请求量的节点。
13.根据权利要求12所述的面向分布式平台的服务实例精细化调度系统,其特征在于,升维解码得到所有节点所有资源类的多维配额使用量,具体为:
采用位运算表达式(K>>((Nfi-1)*b))&(2^b-1)计算出Nfi的二维资源数值,式中,K为降维编码后得到的一维数值,Nf为资源类的一维资源数量,b为能够表示二维资源数值上限的二进制数。
14.根据权利要求10所述的面向分布式平台的服务实例精细化调度系统,其特征在于,根据可调度节点列表优选节点,得到服务实例与节点的映射关系,作为服务实例的部署节点,具体为:
获取每种资源类资源请求量的平均值,选取其中请求量平均值最小的节点作为服务实例的部署节点;
或者,获取每种资源类资源请求量与平均值的方差,选取方差最小的节点作为服务实例的部署节点。
15.根据权利要求14所述的面向分布式平台的服务实例精细化调度系统,其特征在于,对于采用降维编码方式进行表示的资源,进行升维解码,计算出资源类的节点当前资源请求量和节点平均资源请求量。
16.根据权利要求10所述的面向分布式平台的服务实例精细化调度系统,其特征在于,资源选择策略具体为:
选取同类资源设备中资源配额使用最少的设备,或者选取同类资源设备中资源配额使用最多、并且能够满足服务实例资源请求数量的设备。
17.根据权利要求16所述的面向分布式平台的服务实例精细化调度系统,其特征在于,所述根据服务实例需要的资源,筛选出所有资源类满足服务实例需要的节点,加入可调度节点列表,具体为:
根据服务实例的资源请求量和各节点的资源全貌进行比较,将能够满足服务实例资源要求的节点划分到可调度节点列表。
CN201811639776.2A 2018-12-29 2018-12-29 面向分布式平台的服务实例精细化调度方法及系统 Active CN111381957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811639776.2A CN111381957B (zh) 2018-12-29 2018-12-29 面向分布式平台的服务实例精细化调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811639776.2A CN111381957B (zh) 2018-12-29 2018-12-29 面向分布式平台的服务实例精细化调度方法及系统

Publications (2)

Publication Number Publication Date
CN111381957A CN111381957A (zh) 2020-07-07
CN111381957B true CN111381957B (zh) 2023-09-12

Family

ID=71216702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811639776.2A Active CN111381957B (zh) 2018-12-29 2018-12-29 面向分布式平台的服务实例精细化调度方法及系统

Country Status (1)

Country Link
CN (1) CN111381957B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463349A (zh) * 2021-01-28 2021-03-09 北京睿企信息科技有限公司 一种高效调度gpu能力的负载均衡方法及系统
CN113434270B (zh) * 2021-06-15 2023-06-23 北京百度网讯科技有限公司 数据资源调度方法、装置、电子设备及存储介质
CN113709241B (zh) * 2021-08-26 2024-01-23 上海德拓信息技术股份有限公司 一种云场景下物理资源的调度分配组合方法与系统
CN115529242B (zh) * 2022-09-23 2023-07-18 浙江大学 一种在最优水位下实现云网络资源分配的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039297A (zh) * 2006-03-17 2007-09-19 北京三星通信技术研究有限公司 虚拟资源块到物理资源块的映射方法及系统
CN105656973A (zh) * 2014-11-25 2016-06-08 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
WO2018170732A1 (zh) * 2017-03-21 2018-09-27 华为技术有限公司 一种边缘云架构下服务部署的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039297A (zh) * 2006-03-17 2007-09-19 北京三星通信技术研究有限公司 虚拟资源块到物理资源块的映射方法及系统
CN105656973A (zh) * 2014-11-25 2016-06-08 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
WO2018170732A1 (zh) * 2017-03-21 2018-09-27 华为技术有限公司 一种边缘云架构下服务部署的方法和装置

Also Published As

Publication number Publication date
CN111381957A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111381957B (zh) 面向分布式平台的服务实例精细化调度方法及系统
US8230438B2 (en) Dynamic application placement under service and memory constraints
CN104050042B (zh) Etl作业的资源分配方法及装置
CN110474966B (zh) 处理云平台资源碎片的方法及相关设备
CN107295090B (zh) 一种资源调度的方法和装置
CN106790636A (zh) 一种云计算服务器集群的均衡负载系统及方法
CN112463375A (zh) 一种数据处理的方法和装置
CN102932271A (zh) 负载均衡的实现方法和装置
WO2022057001A1 (zh) 一种设备纳管方法、系统及纳管集群
CN115002681A (zh) 一种算力感知网络及其使用方法、存储介质
CN115421930B (zh) 任务处理方法、系统、装置、设备及计算机可读存储介质
CN111930493A (zh) 集群中NodeManager状态管理方法、装置及计算设备
CN116089009A (zh) 一种gpu资源管理方法、系统、设备和存储介质
CN110493317B (zh) 处理云平台资源碎片的方法及相关设备
CN114416355A (zh) 资源调度方法、装置、系统、电子设备及介质
CN113364888B (zh) 服务调度方法、系统、电子设备及计算机可读存储介质
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
Petrovska et al. Features of the distribution of computing resources in cloud systems
CN115866059B (zh) 一种区块链节点调度方法和装置
CN115665157B (zh) 一种基于应用资源类型的均衡调度方法和系统
CN113329050B (zh) 内容分发方法及系统
Araldo et al. EdgeMORE: improving resource allocation with multiple options from tenants
CN111143059B (zh) 改进的Kubernetes资源调度方法
CN112346853A (zh) 用于分布应用的方法和设备
Meriam et al. Multiple QoS priority based scheduling in cloud 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