CN115080248B - 调度装置的调度优化方法、调度装置和存储介质 - Google Patents
调度装置的调度优化方法、调度装置和存储介质 Download PDFInfo
- Publication number
- CN115080248B CN115080248B CN202210998975.2A CN202210998975A CN115080248B CN 115080248 B CN115080248 B CN 115080248B CN 202210998975 A CN202210998975 A CN 202210998975A CN 115080248 B CN115080248 B CN 115080248B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- optimization
- cluster
- scheduled
- strategy
- 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
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 230000009471 action Effects 0.000 claims abstract description 121
- 238000004519 manufacturing process Methods 0.000 claims abstract description 103
- 230000000903 blocking effect Effects 0.000 claims abstract description 20
- 238000005516 engineering process Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 5
- 238000013136 deep learning model Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 15
- 238000012544 monitoring process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本申请公开了一种调度优化方法、调度装置和存储介质,该方法包括:获取调度装置当前的生产环境的信息;获取调度装置当前调度采用的第一调度动作、第一调度策略及其第一参数值;根据生产环境的信息,第一调度动作、第一调度策略及其第一参数值,以及调度性能优化模型,确定调度装置优化后所采用的第二调度动作、第二调度策略及其第二参数值;将待调度工作负载阻塞在调度队列中,将调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除调度队列的阻塞以进行调度优化。通过这种方式,本申请能够根据生产环境变化进行自适应调度优化。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种调度装置的调度优化方法、调度装置和存储介质。
背景技术
近年来,随着云原生基础架构和技术的快速发展,云原生凭借敏捷、可靠、高弹性和易扩展的特性,成为企业内部部署大数据应用任务的统一基础架构。
随着集群规模的增加,如何针对云原生基础架构,制定合理的调度策略,充分利用集群资源,提高调度性能,是云计算领域的研究热点与难点。目前的技术方案,有的根据人工经验对复杂生产环境下的调度性能进行优化;有的其他领域的自适应调优方法,由于应用场景的差异,无法直接应用于云原生架构下的调度性能优化。
但是,不管是人工调度还是其他领域的调优方法,在调度时均没有考虑实际的生产环境的变化对调度性能优化的影响。
发明内容
基于此,本申请实施例提供一种调度装置的调度优化方法、调度装置和存储介质,能够根据生产环境变化进行自适应调度优化。
第一方面,本申请提供一种调度装置的调度优化方法,所述方法包括:
获取所述调度装置当前的生产环境的信息,所述生产环境的信息包括集群的配置信息和待调度工作负载的信息;
获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值;
根据所述调度装置当前所面对的生产环境的信息,当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值,以及调度性能优化模型,确定所述调度装置优化后所采用的第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,所述调度性能优化模型是利用历史调度性能优化样本数据进行训练得到的;
将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。
第二方面,本申请提供一种调度装置,所述调度装置包括存储器以及处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如上所述的调度装置的调度优化方法。
第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上所述的调度装置的调度优化方法。
本申请实施例提供了一种调度装置的调度优化方法、调度装置和存储介质,获取所述调度装置当前的生产环境的信息; 获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及第一调度策略中的第一参数值; 根据所述生产环境的信息,第一调度动作、第一调度策略及第一调度策略中的第一参数值,以及调度性能优化模型,确定调度装置优化后所采用的第二调度动作、第二调度策略及第二调度策略中的第二参数值; 将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。由于充分考虑复杂生产环境下,调度动作和调度策略及调度策略中的参数值对调度性能变化的影响,采用探索到的生产环境、调度动作和调度策略及调度策略中的参数值影响调度性能变化的规律及对应的调度性能优化模型,能够实现根据实际生产环境变化进行自适应调优,大大降低人工成本,提高优化效率。
附图说明
图1是本申请调度装置的调度优化方法一实施例的流程示意图;
图2是本申请调度装置一实施例的结构示意图;
图3是本申请调度装置的调度优化方法中应用环境是单集群场景一实施例的示意图;
图4是本申请调度装置的调度优化方法中应用环境是多集群场景一实施例的示意图;
图5是本申请调度装置另一实施例的结构示意图;
图6是本申请调度装置的调度优化方法中集群的配置信息对应的二维特征张量一实施例的示意图;
图7是本申请调度装置的调度优化方法中待调度工作负载的信息对应的二维特征张量一实施例的示意图;
图8是本申请调度装置的调度优化方法中第一调度动作和第一调度策略及第一调度策略中的第一参数值对应的二维特征张量一实施例的示意图;
图9是本申请调度装置的调度优化方法中集群的配置信息对应的三维特征张量一实施例的示意图;
图10是本申请调度装置的调度优化方法中待调度工作负载的信息对应的三维特征张量一实施例的示意图;
图11是本申请调度装置的调度优化方法中第一调度动作和第一调度策略及第一调度策略中的第一参数值对应的三维特征张量一实施例的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
在详细介绍本申请实施例之前,先介绍一下与本申请相关的技术内容。
近年来,随着云原生基础架构和技术的快速发展,云原生凭借敏捷、可靠、高弹性和易扩展的特性,开始逐渐取代传统的虚拟机技术,成为企业内部部署大数据应用任务的统一基础架构。
随着集群规模的增加,如何针对云原生基础架构,制定合理的调度策略,充分利用集群资源,提高调度性能,是云计算领域的研究热点与难点。尤其在采用插件化架构的高性能调度系统中,调度动作和调度策略直接影响复杂生产环境下的调度性能。因此,如何高效优化调度性能,是目前亟需解决的问题。
现有的技术方案,通常根据人工经验对复杂生产环境下的调度性能进行优化,人工成本较高,优化效率低下。其他领域的自适应调优方法由于应用场景的差异,均无法直接应用于云原生架构下的调度性能优化。
但不管是人工调度还是其他领域的自适应调优方法,在调度时均没有考虑实际的生产环境的变化对调度性能优化的影响。
本申请实施例获取所述调度装置当前的生产环境的信息; 获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及第一调度策略中的第一参数值; 根据所述生产环境的信息,第一调度动作、第一调度策略及第一调度策略中的第一参数值,以及调度性能优化模型,确定调度装置优化后所采用的第二调度动作、第二调度策略及第一调度策略中的第二参数值; 将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。由于充分考虑复杂生产环境下,调度动作和调度策略及调度策略中的参数值对调度性能变化的影响,采用探索到的生产环境、调度动作和调度策略及调度策略中的参数值影响调度性能变化的规律及对应的调度性能优化模型,能够实现根据实际生产环境变化进行自适应调优,大大降低人工成本,提高优化效率。
参见图1,图1是本申请调度装置的调度优化方法一实施例的流程示意图,所述方法包括:步骤S101、步骤S102、步骤S103以及步骤S104。
步骤S101:获取所述调度装置当前的生产环境的信息,所述生产环境的信息包括集群的配置信息和待调度工作负载的信息。
集群可以是指指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器;这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理;当用户请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。用一句话描述集群,可以理解为一堆服务器合作做同一件事,这些机器可能需要统一协调管理,可以分布在一个机房,也可以分布在全国全球各个地区的多个机房。按照功能和结构分类,集群可以分为负载均衡集群、高可用性集群、高性能计算集群、网格计算集群,等等。
调度装置当前的生产环境可以是指调度装置当前所面对的生产环境,或者是调度装置当前所调度的生产环境,调度装置当前的生产环境主要包括集群和待调度工作负载。
生产环境的信息包括集群的配置信息和待调度工作负载的信息。集群的配置信息可以是指与集群相关的配置信息,可以包括硬件方面的配置信息,也可以包括软件系统方面的配置信息。在一实施例中,所述集群的配置信息包括所述集群的节点数量和所述集群的资源使用情况,集群的配置信息还可以包括每个节点的资源类型、资源数量、资源使用情况,等等;集群的配置信息还可以包括集群的数量、每个集群的节点数量、每个集群的节点的资源使用情况,等等。集群的资源包括但不限于:CPU、GPU、内存、I/O、存储和带宽等。待调度工作负载的信息可以是指与待调度工作负载相关的信息。在一实施例中,所述待调度工作负载的信息包括待调度工作负载的数量、待调度工作负载的类型及待调度工作负载的资源需求量。待调度工作负载的信息还可以包括每个节点对应的待调度工作负载的数量、待调度工作负载的类型及待调度工作负载的资源需求量,等等。
步骤S102:获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及第一调度策略中的第一参数值。
需要说明的是,步骤S101和步骤S102没有明显的先后顺序关系。
步骤S103:根据所述调度装置当前所面对的生产环境的信息,当前调度所采用的第一调度动作、第一调度策略及第一调度策略中的第一参数值,以及调度性能优化模型,确定所述调度装置优化后所采用的第二调度动作、第二调度策略及第二调度策略中的第二参数值,所述调度性能优化模型是利用历史调度性能优化样本数据进行训练得到的。
本申请实施例中,第一调度动作、第一调度策略及第一调度策略中的第一参数值可以是指在第二调度动作、第二调度策略及第二调度策略中的第二参数值之前的、输入调度性能优化模型的调度动作、调度策略及调度策略中的参数值;第二调度动作、第二调度策略及第二调度策略中的第二参数值可以是指在第一调度动作、第一调度策略及第一调度策略中的第一参数值之后的、从调度性能优化模型优化后输出的调度动作、调度策略及调度策略中的参数值。
调度动作可以是指调度装置在调度过程中所采用的调度操作、步骤等等;调度策略可以是指调度装置在调度过程中所采用的、与调度动作配套的调度策略、调度算法等等,参数值是指调度策略的参数值。
步骤S104:将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。
本申请实施例获取所述调度装置当前的生产环境的信息; 获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及第一调度策略中的第一参数值; 根据所述生产环境的信息,第一调度动作、第一调度策略及第一调度策略中的第一参数值,以及调度性能优化模型,确定调度装置优化后所采用的第二调度动作、第二调度策略及第二调度策略中的第二参数值; 将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。由于充分考虑复杂生产环境下,调度动作和调度策略及调度策略中的参数值对调度性能变化的影响,采用探索到的生产环境、调度动作和调度策略及调度策略中的参数值影响调度性能变化的规律及对应的调度性能优化模型,能够实现根据实际生产环境变化进行自适应调优,大大降低人工成本,提高优化效率。
在一实施例中,步骤S104,所述将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化之后,还可以包括:步骤S105和步骤S106。
步骤S105:获取所述调度装置进行调度优化后、在当前的生产环境下所述集群的各项指标值,所述集群的各项指标与所述调度装置的调度性能相关。所述集群的各项指标包括但不限于:吞吐量、执行时间、等待时间、调度时间、资源使用率、资源成本,等等。
步骤S106:根据调度优化后所述集群的各项指标值,确定所述调度装置调度优化后的调度性能是否满足预设调度性能。
本申请实施例中,在调度装置采用优化后的第二调度动作、第二调度策略及第二调度策略中的第二参数值进行调度优化后,会评估采用第二调度动作、第二调度策略及第二调度策略中的第二参数值进行调度优化的效果是否满足用户的预设调度性能。因此,可以获取所述调度装置进行调度优化后、在当前的生产环境下所述集群的各项指标值,然后根据调度优化后所述集群的各项指标值,确定所述调度装置调度优化后的调度性能是否满足预设调度性能。
如果所述调度装置调度优化后的调度性能满足预设调度性能,则调度装置可以继续采用第二调度动作、第二调度策略及第二调度策略中的第二参数值进行调度。如果所述调度装置调度优化后的调度性能不满足预设调度性能,则需要重新继续进行调度优化,直到满足预设调度性能。
即所述方法还可以包括:步骤S107。
步骤S107:若所述调度装置调度优化后的调度性能不满足预设调度性能,则返回步骤S101,获取所述调度装置当前的生产环境的信息的步骤,以再次执行所述调度装置的调度优化方法,直到所述调度装置调度优化后调度性能满足预设调度性能。
重新调度优化时,输入调度性能优化模型的信息是:所述调度装置当前的生产环境的信息,所述调度装置当前调度所采用的第二调度动作、第二调度策略及第二调度策略中的第二参数值,输出的是调度装置优化后所采用的第三调度动作、第三调度策略及第三调度策略中的第三参数值,如果采用第三调度动作、第三调度策略及第三调度策略中的第三参数值进行调度优化后的效果(即调度性能)满足预设调度性能,则停止重新调度优化,采用第三调度动作、第三调度策略及第三调度策略中的第三参数值进行调度,如果采用第三调度动作、第三调度策略及第三调度策略中的第三参数值进行调度优化后的效果(即调度性能)不满足预设调度性能,则继续重新调度优化,直到所述调度装置调度优化后调度性能满足预设调度性能。
在一实施例中,步骤S101,所述获取所述调度装置当前的生产环境的信息,可以包括:利用快照技术获取所述调度装置当前的生产环境的信息。
快照技术可以是指关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像;快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品;快照的作用主要是能够进行在线数据备份与恢复,快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。
在一实施例中,所述集群的配置信息包括所述集群的节点数量和所述集群的资源使用情况,所述待调度工作负载的信息包括待调度工作负载的数量、类型及资源需求量。
此时,当所述集群的数量为一个时,步骤S101,所述利用快照技术获取所述调度装置当前的生产环境的信息,可以包括:子步骤S101A1、子步骤S101A2、子步骤S101A3以及子步骤S101A4。
子步骤S101A1:利用快照技术,对当前到达所述集群的调度队列的待调度工作负载及其文件信息进行缓存。
子步骤S101A2:遍历所述缓存中所有的待调度工作负载,确定所述待调度工作负载的数量,提取每个待调度工作负载的文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定每个待调度工作负载的类型和资源需求量。
子步骤S101A3:通过与所述集群的应用程序编程接口服务器交互,获取所述集群的节点列表,遍历所述节点列表,确定所述集群的节点数量。
子步骤S101A4:通过与所述集群的衡量指标服务器交互,获取资源列表,根据所述资源列表统计所述集群的资源使用情况,对所述集群的资源使用情况进行缓存,所述集群的资源包括CPU、GPU、I/O、内存、存储和带宽中的至少一种。
此时,当所述集群的数量为两个以上时,步骤S101,所述利用快照技术获取所述调度装置当前的生产环境的信息,可以包括:子步骤S101B1、子步骤S101B2、子步骤S101B3以及子步骤S101B4。
子步骤S101B1:利用快照技术,按照不同的集群,对当前到达各个集群的调度队列的待调度工作负载及其文件信息进行缓存。
子步骤S101B2:遍历所述缓存中各个集群对应的、所有的待调度工作负载,确定各个集群的待调度工作负载的数量,提取每个待调度工作负载的文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定各个集群的待调度工作负载的类型和资源需求量。
子步骤S101B3:通过与各个集群的应用程序编程接口服务器交互,获取各个集群的节点列表,遍历所述节点列表,确定各个集群的节点数量。
子步骤S101B4:通过与各个集群的衡量指标服务器交互,获取资源列表,根据所述资源列表统计各个集群的资源使用情况,并按照不同集群,对每个集群的资源使用情况进行缓存,所述集群的资源包括CPU、GPU、I/O、内存、存储和带宽中的至少一种。
如果预先还没有调度性能优化模型,则需要先训练得到调度性能优化模型。即步骤S101,所述获取所述调度装置当前的生产环境的信息之前,还可以包括:步骤S111。
步骤S111:利用历史调度性能优化样本数据进行训练得到调度性能优化模型,所述历史调度性能优化样本数据包括多个数据对,每个数据对包括用户进行人工调度优化前的生产环境、调度动作和调度策略及人工调度优化前的调度策略中的参数值和人工调度优化后的调度动作、调度策略及人工调度优化后的调度策略中的参数值,所述调度装置采用所述人工调度优化后的调度动作、调度策略及人工调度优化后的调度策略中的参数值进行调度优化后,所述调度装置的调度性能高于调度优化前的调度性能。
在本申请实施例中,最开始的调度性能优化模型采用的历史调度性能优化样本数据是人工调度优化的历史调度性能优化样本数据。每个数据对包括用户进行人工调度优化前的生产环境、调度动作和调度策略及人工调度优化前的调度策略中的参数值,以及人工调度优化后的调度动作、调度策略及人工调度优化后的调度策略中的参数值。其中,所述调度装置采用所述人工调度优化后的调度动作、调度策略及人工调度优化后的调度策略中的参数值进行调度优化后,所述调度装置的调度性能高于调度优化前的调度性能。
本申请实施例的调度性能优化模型,由于充分考虑复杂生产环境下调度动作和调度策略及调度策略中的参数值对调度性能变化的影响,因此能够有助于提高调度装置的调度性能。
本申请实施例的调度性能优化模型可以根据历史调度性能优化样本数据不断的学习,随着样本数据的积累,历史调度性能优化样本数据已经不仅仅限于人工调度优化的历史调度性能优化样本数据,还可以包括后续调度装置自动调度积累的历史调度性能优化样本数据。即在一实施例中,所述数据对还包括所述调度装置进行自动调度优化前的生产环境、调度动作和调度策略及自动调度优化前的调度策略中的参数值和自动调度优化后的调度动作、调度策略及自动调度优化后的调度策略中的参数值。同样,本申请实施例中,所述调度装置采用自动调度优化后的调度动作、调度策略及自动调度优化后的调度策略中的参数值进行调度后,所述调度装置的调度性能高于自动调度优化前的调度性能。
本申请实施例中,随着历史调度性能优化样本数据的不断累积,并根据历史调度性能优化样本数据不断地对调度性能优化模型进行训练,使得调度性能优化模型越来越精准,使得基于该调度性能优化模型获得优化后的调度动作、调度策略及优化后的调度策略中的参数值进行调度性能优化的效果越理想。
在一实施例中,所述调度性能优化模型采用深度学习模型。
深度学习(DL, Deep Learning)是一个复杂的机器学习算法,是学习样本数据的内在规律和表示层次,它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一类模式分析方法的统称,就具体研究内容而言,主要涉及三类方法:(1)基于卷积运算的神经网络系统,即卷积神经网络(CNN,ConvolutionalNeural Networks),(2)基于多层神经元的自编码神经网络,包括自编码( Auto encoder)以及近年来受到广泛关注的稀疏编码两类( Sparse Coding),(3)以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(DBN,Deep Belief Networks)。
在一实施例中,所述调度性能优化模型采用密集卷积网络模型。
密集卷积网络模型(DenseNet,Densely Connected Convolutional Networks)属于卷积神经网络(CNN)。DenseNet模型,它的基本思路与残差网络(ResNet,ResidualNetworks)模型一致,但是它建立的是前面所有层与后面层的密集连接(denseconnection)。ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。DenseNet的另一大特色是通过特征在channel上的连接来实现特征重用(feature reuse)。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能。因此,DenseNet模型主要拥有以下两个特性:1)一定程度上减轻在训练过程中梯度消散的问题:在反传时每一层都会接受其后所有层的梯度信号,所以不会随着网络深度的增加,靠近输入层的梯度会变得越来越小;2)由于大量的特征被复用,使得使用少量的卷积核就可以生成大量的特征,最终模型的尺寸也比较小。
参见图2,图2是本申请调度装置一实施例的结构示意图,需要说明的是,本申请实施例的调度装置能够实现上述调度装置的调度优化方法,相关内容的详细说明,请参见上述方法部分,在此不再赘叙。
所述调度装置100包括存储器1以及处理器2,所述存储器1用于存储计算机程序;所述处理器2用于执行所述计算机程序并在执行所述计算机程序时实现如上任一所述的调度装置的调度优化方法。
其中,处理器2可以是微控制单元、中央处理单元或数字信号处理器,等等。存储器1可以是Flash芯片、只读存储器、磁盘、光盘、U盘或者移动硬盘等等。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上任一所述的调度装置的调度优化方法。
其中,该计算机可读存储介质可以是上述调度装置的内部存储单元,例如硬盘或内存。该计算机可读存储介质也可以是上述调度装置的外部存储设备,例如配备的插接式硬盘、智能存储卡、安全数字卡、闪存卡,等等。
下面以Kubernetes集群为例,来详细说明本申请实施例的方法。
Kubernetes,简称K8s,是一个开源的、用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
在本申请实施例中,Kubernetes集群由一个Kubernetes Master(集群控制节点,负责集群的管理和控制,)和若干个Kubernetes Node(即集群节点,也称为工作负载节点)组成。其中,Kubernetes Master包括Kubernetes API Server(即应用程序编程接口服务器)、Scheduler(调度器,即调度装置)、Metrics Server(即衡量指标服务器)和性能指标监测容器, Kubernetes API Server用于收集Pod对象(Pod是Kubernetes中最小的单元,它由一组、一个或多个容器组成)的调度信息,Scheduler用于调度到达集群的待调度工作负载,Metrics Server用于收集Node和Pod对象的资源使用情况,性能指标监测容器用于与Kubernetes API Server和Metrics Server交互,获取指标值。衡量指标服务器不仅限于Metrics Server,可由其他适用的服务器代替,例如Prometheus Server等。调度装置的yaml文件中包括调度动作和调度策略的字段,以及调度策略的参数值的字段,待调度工作负载的yaml文件中包括待调度工作负载的类型和资源需求量的字段。
如图3所示,图3是应用环境是一种单集群场景的示意图,如图4所示,图4是应用环境是一种多集群场景的示意图。
本申请实施例中所述的基于Kubernetes的调度性能自适应调优的调度装置可以由三个组件构成,参见图5所示。调度装置包括生产环境监测模块、调优模块和评分模块,本申请实施例的调度装置是上述图2的调度装置的一个具体的装置。
所述的生产环境监测模块用于利用快照技术提取当前的生产环境的信息,实时监测生产环境的变化;所述的调优模块用于获取调度装置采用的调度动作和调度策略及调度策略中的参数值,根据生产环境的信息、调度动作和调度策略及调度策略中的参数值,确定优化后的调度动作和调度策略及优化后的调度策略中的参数值,更新调度装置的相应字段;所述的评分模块用于对优化后的调度装置的调度性能进行评分,评估调度性能是否满足预设调度性能。
实施例一:单集群场景下的基于Kubernetes的调度装置的调度方法。
该方法包括三个步骤,分别为生产环境的信息提取、调度装置的自适应调度和调度性能评分。该方法流程如下:首先,生产环境监测模块利用快照技术提取当前的生产环境的信息,对生成环境的信息进行缓存;其次,调优模块获取调度装置采用的第一调度动作和第一调度策略及第一调度策略中的第一参数值,对生产环境的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值进行编码,将编码后的特征张量输入调度性能优化模型,根据调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值对调度装置的相应字段进行更新,所述的调度性能优化模型是利用深度学习技术提前训练得到,并预置在调优模块中;接着,评分模块根据优化后的集群的各项指标值,计算调度装置的当前的调度性能的评分,所述的指标值是通过性能指标监测容器采集当前的生产环境下的集群的各项指标值而获得;最后,评分模块根据调度性能的评分,评估调度性能是否满足预设调度性能;若当前的调度性能的评分不低于阈值,则结束当前的自适应优化;否则,继续对调度装置的调度性能进行调优。所述的阈值(即预设调度性能)可以是指用户设置的调度装置的调度性能分数,表示用户对调度装置的调度性能的要求。
单集群场景下的基于Kubernetes的调度装置的调度方法的具体处理步骤如下:
第一步:提取调度装置的生产环境的信息。
生产环境监测模块利用快照技术提取当前时刻的生产环境的信息,并将生产环境的信息进行缓存,以便后续步骤对这些生产环境的信息的调用。其中,生产环境的信息包括当前集群的配置信息和待调度工作负载的信息,当前集群的配置信息包括集群的节点数量和集群的资源(包括但不限于CPU、GPU、I/O、内存、存储和带宽等)使用情况,待调度工作负载的信息包括待调度工作负载的数量、类型和资源需求量。
本步骤(即第一步)又可以包括下列步骤:
(1)利用快照技术,对当前到达集群的调度队列的待调度工作负载及其yaml文件信息进行缓存。
(2)遍历缓存中所有的待调度工作负载,确定待调度工作负载的数量;提取每个待调度工作负载的yaml文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定待调度工作负载的类型和资源需求量。
(3)通过与Kubernetes API Server交互,获取集群的节点列表,遍历集群的节点列表,确定当前集群的节点数量。
(4)通过与Metrics Server交互,获取资源列表,根据资源列表统计集群的C PU、GPU、I/O、内存、存储和带宽等资源的资源使用情况,并对这些资源使用情况进行缓存。
第二步:调度装置的自适应调度
调优模块提取缓存中的生产环境的信息(当前集群的配置信息和待调度工作负载的信息)和调度装置所采用的第一调度动作和第一调度策略及第一调度策略中的第一参数值进行数据处理,将处理后的集群的配置信息、待调度工作负载的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值的二维特征张量同时输入调度性能优化模型,根据调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值,更新调度装置的相应字段,实现调度装置的调度性能的调优(即调度装置采用第二调度动作和第二调度策略及第二调度策略中的第二参数值进行调度)。
所述的集群的配置信息对应的二维特征张量,其行表示节点数量,其列表示各节点不同类型资源的总量和资源利用率,参见图6所示。
所述的待调度工作负载的信息对应的二维特征张量,其行表示待调度工作负载的数量,第一列表示不同的待调度工作负载的类型,其余各列表示不同的待调度工作负载对于CPU、GPU、I/O、内存(简写Mem)、存储(简写Sto)和带宽等资源的资源需求量,参见图7所示。
所述的第一调度动作和第一调度策略及第一调度策略中的第一参数值对应的二维特征张量,其行表示调度装置中不同的第一调度动作,列表示调度装置中不同的第一调度策略及第一调度策略中的第一参数值,参见图8所示。若第一调度动作和第一调度策略并不是调度装置当前采用的,或第一调度动作与第一调度策略不适用,则将对应的矩阵值设为0。
所述的调度性能优化模型是利用深度学习技术,根据历史调度性能优化样本数据训练得到。其中,调度性能优化模型的输入为生产环境(集群的配置信息和待调度工作负载的信息)、第一调度动作和第一调度策略及第一调度策略中的第一参数值,调度性能优化模型的输出为优化后的第二调度动作和第二调度策略及第二调度策略中的第二参数值,调度性能优化模型采用DenseNet网络模型。其中调度性能优化模型还可以采用其他适用的模型。
本步骤(即第二步)又可以包括下列步骤:
(1)调优模块提取缓存中的生产环境的信息和调度装置的配置信息中的第一调度动作和第一调度策略及第一调度策略中的第一参数值,并对这些数据进行处理,构建生产环境的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值的特征张量。
(2)将构建的特征张量输入调度性能优化模型,调度性能优化模型输出优化后的第二调度动作和第二调度策略及第二调度策略中的第二参数值。
(3)根据调度性能优化模型输出的、优化后的第二调度动作和第二调度策略及第二调度策略中的第二参数值,更新调度装置的配置信息中的相应字段。所述的更新流程如下:首先,将当前待调度Pod阻塞在调度队列中;接着,编辑调度装置的配置信息中的调度动作和调度策略及调度策略中的参数值字段的内容,将字段内容更新为调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值;最后,重新部署调度装置,解除调度队列的阻塞。
第三步:调度装置的调度性能的评分。
评分模块根据优化后的集群的各项指标值,计算当前的生产环境下的调度装置的调度性能的评分,并评估调度装置的调度性能是否满足预设调度性能。所述的指标值是由部署在集群的各节点中的性能指标监测容器,采集当前的生产环境下集群的各项指标值获得的。
本步骤(即第三步)又可以包括下列步骤:
(1)通过部署在集群的各节点中的性能指标监测容器,与集群中部署的Kubernetes API Server和Metrics Server交互,获取当前的生产环境下集群的各项指标值。所述的Metrics Server部署在集群的节点中,用于收集集群中Node和Pod对象的CPU、内存和存储等资源使用情况,Kubernetes API Server 用于收集集群中Pod对象的调度信息,所述的指标值指的是用于计算调度装置的调度性能的指标的基础参数值。
(2)根据计算公式,对获取的指标值进行处理,生成各项数值。所述的指标可以包括吞吐量、Pod执行时间、Pod等待时间、Pod调度时间、资源使用率和资源成本,等等。
(3)评分模块根据获取的各项数值,计算当前生产环境下的调度装置的调度性能
的评分,计算公式可以是。其中,,0≤w i ≤
1,表示设置的指标的权重,z j 表示指标的归一化数值,n表示指标的数量。所述的计算公
式也可由适用的其它多指标的评分模型代替。
(4)根据计算的调度装置的调度性能的评分,评估调度装置的调度性能是否满足预设调度性能;若当前的调度性能的评分不低于阈值,则结束当前的自适应调优;否则,返回第一步。
实施例二:多集群场景下的基于Kubernetes的调度装置的自适应调度优化。
该方法包括三个步骤,分别为生产环境的信息的提取、调度装置的自适应调度和调度性能评分。该方法流程如下:首先,生产环境监测模块利用快照技术提取所有集群的当前的生产环境的信息,对生产环境的信息进行缓存;其次,调优模块需要获取所有集群中调度装置采用的第一调度动作和第一调度策略及第一调度策略中的第一参数值,对所有集群的生产环境的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值进行编码,将编码后的特征张量输入调度性能优化模型,根据调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值对相应集群中的调度装置的相应字段进行更新。相较于单集群场景,本申请实施例输入的所述的生产环境的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值的特征张量,输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值的特征张量,均多了一层维度,用于表示集群数量。所述的调度性能优化模型是利用深度学习技术提前训练得到,并预置在调优模块中。接着,评分模块根据优化后各个集群的指标值,计算当前的调度装置的调度性能的评分。所述的指标值是通过性能指标监测容器,采集各个集群的当前的生产环境下的各项指标值获得。最后,评分模块根据调度装置的调度性能的评分,评估调度装置的调度性能是否满足预设调度性能;若当前的调度装置的调度性能的评分不低于阈值 ,则结束当前自适应优化;否则,继续对调度装置的调度性能进行调度优化。所述的阈值指的是用户设置的调度装置的调度性能的分数,表示用户对调度装置的调度性能的要求。
多集群场景下的基于Kubernetes的调度装置的调度方法的具体处理步骤如下:
第一步:提取调度装置的生产环境的信息。
生产环境监测模块利用快照技术提取所有集群当前时刻的生产环境的信息,并对所有集群的生产环境的信息进行缓存。其中,生产环境的信息包括当前集群的配置信息和待调度工作负载的信息,当前集群的配置信息包括集群的节点数量和集群资源(包括但不限于CPU、GPU、I/O、内存、存储和带宽等)使用情况,待调度工作负载的信息包括待调度工作负载的数量、类型和资源需求量。
本步骤(即第一步)又可以包括下列步骤:
(1)利用快照技术,按照不同的集群,对各个集群的当前的调度队列的待调度工作负载及其yaml文件信息进行缓存。
(2)遍历缓存中各个集群对应的待调度工作负载,确定各个集群的待调度工作负载的数量。提取每个待调度工作负载的yaml文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定各个集群的待调度工作负载的类型和资源需求量。
(3)通过与各个集群的Kubernetes API Server交互,获取各个集群的节点列表,遍历节点列表,确定各个集群的节点数量。
(4)通过与各个集群的Metrics Server交互,获取资源列表,根据资源列表统计各个集群的CPU、GPU、I/O、内存、存储和带宽等资源的资源使用情况,并按照不同集群,对这些资源使用情况进行缓存。
第二步:调度装置的自适应调度优化。
调优模块提取缓存中各个集群的生产环境的信息(当前各个集群的配置信息和待调度工作负载的信息)和调度装置所采用的第一调度动作和第一调度策略及第一调度策略中的第一参数值进行数据处理,将处理后的集群的配置信息、待调度工作负载的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值的三维特征张量同时输入调度性能优化模型,根据调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值,更新各个集群中调度装置的相应字段,使调度装置采用调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值进行调度,实现调度装置的调度性能的调度优化。
所述的集群的配置信息对应的三维特征张量的第一个维度表示节点数量,第二个维度表示各节点不同类型资源的总量和资源利用率,第三个维度表示不同的集群,参见图9所示。
所述的待调度工作负载的信息对应的三维特征张量的第一个维度表示待调度工作负载的数量,第二个维度的第一列表示不同的待调度工作负载的类型,第二个维度其余各列表示不同的待调度工作负载对于CPU、GPU、I/O、内存、存储和带宽等资源的资源需求量,第三个维度表示不同的集群,参见图10所示。
所述的第一调度动作和第一调度策略及第一调度策略中的第一参数值对应的三维特征张量的第一个维度表示调度装置中的不同的第一调度动作,第二个维度表示调度装置中不同的第一调度策略及第一调度策略中的第一参数值,第三个维度表示不同的集群,参见图11所示。
本步骤(即第二步)又可以包括下列步骤:
(1)调优模块提取缓存中各个集群的生产环境的信息和调度装置配置信息中的第一调度动作和第一调度策略及第一调度策略中的第一参数值,并对这些数据进行处理,构建生产环境的信息、第一调度动作和第一调度策略及第一调度策略中的第一参数值的特征张量。
(2)将构建的特征张量输入调度性能优化模型,调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值。
(3)根据调度性能优化模型输出的、优化后的第二调度动作和第二调度策略及第二调度策略中的第二参数值,更新各个集群中调度装置的配置信息中的相应字段。所述的更新流程如下:首先,将各个集群中当前待调度Pod阻塞在调度队列中;接着,编辑各个集群中调度装置的配置信息中调度动作和调度策略及调度策略中的参数值字段的内容,将字段内容更新为调度性能优化模型输出的第二调度动作和第二调度策略及第二调度策略中的第二参数值;最后,重新部署调度装置,解除各个集群的调度队列的阻塞。
第三步:调度装置的调度性能的评分。
评分模块根据优化后各个集群的各项指标值,计算当前的生产环境下的调度装置的调度性能的评分,并评估调度装置的调度性能是否满足预设调度性能。所述的指标值是由部署在所有集群各节点中的性能指标监测容器,采集当前生产环境下集群的各项指标值获得。
本步骤(即第三步)又可以包括下列步骤:
(1)通过部署在所有集群各节点中的性能指标监测容器,与各个集群中部署的Kubernetes API Server和Metrics Server交互,获取当前生产环境下各个集群的各项指标值。所述的Metrics Server部署在所有集群的节点中,用于收集集群中Node和Pod对象的CPU、内存和存储等资源使用情况,Kubernetes API Server 用于收集集群中Pod对象的调度信息,所述的指标值指的是用于计算调度装置的调度性能的指标的基础参数值。
(2)根据计算公式,对获取的指标值进行处理,生成各项数值。所述的指标可以包括吞吐量、Pod执行时间、Pod等待时间、Pod调度时间、资源使用率和资源成本,等等。
(3)评分模块根据获取的各项数值,计算当前生产环境下的调度装置的调度性能
的评分,计算公式可以是。其中, ,0≤w i ≤1, ,0≤s k ≤1,s k 表示设置的集群的权重,w i 表示设置的指标的权重,z j 表示指
标的归一化数值,m表示集群的数量,n表示指标的数量。所述的计算公式也可由适用的其它
多指标的评分模型代替。
(4)根据计算的调度装置的调度性能的评分,评估调度装置的调度性能是否满足预设调度性能;若当前的调度性能的评分不低于阈值,则结束当前的自适应调优;否则,返回第一步。
总之,本申请实施例提供的一种调度装置的调度优化方法及调度装置可应用于调度系统的调度性能优化,能够降低人工优化成本,提高优化效率;可基于Kubernetes框架进行推广,能够降低不同架构下调度系统的调度性能优化成本。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本申请的优选实施例,并非因此局限本申请的权利范围。本领域技术人员不脱离本申请的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。
Claims (10)
1.一种调度装置的调度优化方法,其特征在于,所述方法包括:
获取所述调度装置当前的生产环境的信息,所述生产环境的信息包括集群的配置信息和待调度工作负载的信息;
获取所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值;
根据所述调度装置当前所面对的生产环境的信息,当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值,以及调度性能优化模型,确定所述调度装置优化后所采用的第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,所述调度性能优化模型是利用历史调度性能优化样本数据进行训练得到的;
将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化。
2.根据权利要求1所述的方法,其特征在于,所述将所述待调度工作负载阻塞在调度队列中,将所述调度装置当前调度所采用的第一调度动作、第一调度策略及所述第一调度策略中的第一参数值替换成第二调度动作、第二调度策略及所述第二调度策略中的第二参数值,解除所述调度队列的阻塞以进行调度优化之后,还包括:
获取所述调度装置进行调度优化后、在当前的生产环境下所述集群的各项指标值,所述集群的各项指标与所述调度装置的调度性能相关;
根据调度优化后所述集群的各项指标值,确定所述调度装置调度优化后的调度性能是否满足预设调度性能。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述调度装置调度优化后的调度性能不满足预设调度性能,则返回获取所述调度装置当前的生产环境的信息的步骤,以再次执行所述调度装置的调度优化方法,直到所述调度装置调度优化后调度性能满足预设调度性能。
4.根据权利要求1所述的方法,其特征在于,所述获取所述调度装置当前的生产环境的信息,包括:
利用快照技术获取所述调度装置当前的生产环境的信息。
5.根据权利要求4所述的方法,其特征在于,所述集群的配置信息包括所述集群的节点数量和所述集群的资源使用情况,所述待调度工作负载的信息包括待调度工作负载的数量、类型及资源需求量;
当所述集群的数量为一个时,所述利用快照技术获取所述调度装置当前的生产环境的信息,包括:
利用快照技术,对当前到达所述集群的调度队列的待调度工作负载及其文件信息进行缓存;
遍历所述缓存中所有的待调度工作负载,确定所述待调度工作负载的数量,提取每个待调度工作负载的文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定每个待调度工作负载的类型和资源需求量;
通过与所述集群的应用程序编程接口服务器交互,获取所述集群的节点列表,遍历所述节点列表,确定所述集群的节点数量;
通过与所述集群的衡量指标服务器交互,获取资源列表,根据所述资源列表统计所述集群的资源使用情况,对所述集群的资源使用情况进行缓存,所述集群的资源包括CPU、GPU、I/O、内存、存储和带宽中的至少一种;
当所述集群的数量为两个以上时,所述利用快照技术获取所述调度装置当前的生产环境的信息,包括:
利用快照技术,按照不同的集群,对当前到达各个集群的调度队列的待调度工作负载及其文件信息进行缓存;
遍历所述缓存中各个集群对应的、所有的待调度工作负载,确定各个集群的待调度工作负载的数量,提取每个待调度工作负载的文件信息中的每个待调度工作负载的类型和资源需求量字段的内容,确定各个集群的待调度工作负载的类型和资源需求量;
通过与各个集群的应用程序编程接口服务器交互,获取各个集群的节点列表,遍历所述节点列表,确定各个集群的节点数量;
通过与各个集群的衡量指标服务器交互,获取资源列表,根据所述资源列表统计各个集群的资源使用情况,并按照不同集群,对每个集群的资源使用情况进行缓存,所述集群的资源包括CPU、GPU、I/O、内存、存储和带宽中的至少一种。
6.根据权利要求1所述的方法,其特征在于,所述获取所述调度装置当前的生产环境的信息之前,还包括:
利用历史调度性能优化样本数据进行训练得到调度性能优化模型,所述历史调度性能优化样本数据包括多个数据对,每个数据对包括用户进行人工调度优化前的生产环境、调度动作和调度策略及所述人工调度优化前的调度策略中的参数值和人工调度优化后的调度动作、调度策略及所述人工调度优化后的调度策略中的参数值,所述调度装置采用所述人工调度优化后的调度动作、调度策略及所述人工调度优化后的调度策略中的参数值进行调度优化后,所述调度装置的调度性能高于调度优化前的调度性能;
所述数据对还包括所述调度装置进行自动调度优化前的生产环境、调度动作和调度策略及自动调度优化前的调度策略中的参数值和自动调度优化后的调度动作、调度策略及自动调度优化后的调度策略中的参数值。
7.根据权利要求6所述的方法,其特征在于,所述调度性能优化模型采用深度学习模型;或者,所述调度性能优化模型采用密集卷积网络模型。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述集群的配置信息包括所述集群的节点数量和所述集群的资源使用情况,所述待调度工作负载的信息包括待调度工作负载的数量、类型及资源需求量。
9.一种调度装置,其特征在于,所述调度装置包括存储器以及处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1-8任一项所述的调度装置的调度优化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1-8任一项所述的调度装置的调度优化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210998975.2A CN115080248B (zh) | 2022-08-19 | 2022-08-19 | 调度装置的调度优化方法、调度装置和存储介质 |
PCT/CN2023/111452 WO2024037368A1 (zh) | 2022-08-19 | 2023-08-07 | 调度装置的调度优化方法、调度装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210998975.2A CN115080248B (zh) | 2022-08-19 | 2022-08-19 | 调度装置的调度优化方法、调度装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115080248A CN115080248A (zh) | 2022-09-20 |
CN115080248B true CN115080248B (zh) | 2023-01-10 |
Family
ID=83245310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210998975.2A Active CN115080248B (zh) | 2022-08-19 | 2022-08-19 | 调度装置的调度优化方法、调度装置和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115080248B (zh) |
WO (1) | WO2024037368A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080248B (zh) * | 2022-08-19 | 2023-01-10 | 中兴通讯股份有限公司 | 调度装置的调度优化方法、调度装置和存储介质 |
CN115617497B (zh) * | 2022-12-14 | 2023-03-31 | 阿里巴巴达摩院(杭州)科技有限公司 | 线程处理方法、调度组件、监测组件、服务器和存储介质 |
CN118411000A (zh) * | 2024-07-02 | 2024-07-30 | 浙江省标准化研究院(金砖国家标准化(浙江)研究中心、浙江省物品编码中心) | 面向智能工厂的标准化方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609742A (zh) * | 2019-09-25 | 2019-12-24 | 苏州浪潮智能科技有限公司 | 一种Kubernetes调度器的队列的配置方法和装置 |
CN111211984A (zh) * | 2020-04-20 | 2020-05-29 | 中国人民解放军国防科技大学 | 优化cdn网络的方法、装置及电子设备 |
CN112236752A (zh) * | 2018-04-11 | 2021-01-15 | 康奈尔大学 | 用于改进软件容器性能和隔离的方法和系统 |
CN112988342A (zh) * | 2019-12-02 | 2021-06-18 | 英特尔公司 | 用于优化线程调度的方法、系统、制品和装置 |
CN113033806A (zh) * | 2021-04-12 | 2021-06-25 | 鹏城实验室 | 一种训练深度强化学习模型的方法、装置以及调度方法 |
CN113377540A (zh) * | 2021-06-15 | 2021-09-10 | 上海商汤科技开发有限公司 | 集群资源调度方法及装置、电子设备和存储介质 |
CN113961335A (zh) * | 2020-07-01 | 2022-01-21 | 中兴通讯股份有限公司 | 资源调度方法、资源调度系统及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10902324B2 (en) * | 2016-06-13 | 2021-01-26 | Nutanix, Inc. | Dynamic data snapshot management using predictive modeling |
US10541939B2 (en) * | 2017-08-15 | 2020-01-21 | Google Llc | Systems and methods for provision of a guaranteed batch |
CN113254192B (zh) * | 2020-02-12 | 2024-04-16 | 北京沃东天骏信息技术有限公司 | 资源分配方法、资源分配装置、电子设备及存储介质 |
US20220012089A1 (en) * | 2020-07-13 | 2022-01-13 | Accenture Global Solutions Limited | System for computational resource prediction and subsequent workload provisioning |
CN112685153A (zh) * | 2020-12-25 | 2021-04-20 | 广州奇盾信息技术有限公司 | 微服务调度方法、装置以及电子设备 |
CN114237869B (zh) * | 2021-11-17 | 2022-09-16 | 中国人民解放军军事科学院国防科技创新研究院 | 基于强化学习的Ray双层调度方法、装置和电子设备 |
CN115080248B (zh) * | 2022-08-19 | 2023-01-10 | 中兴通讯股份有限公司 | 调度装置的调度优化方法、调度装置和存储介质 |
-
2022
- 2022-08-19 CN CN202210998975.2A patent/CN115080248B/zh active Active
-
2023
- 2023-08-07 WO PCT/CN2023/111452 patent/WO2024037368A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112236752A (zh) * | 2018-04-11 | 2021-01-15 | 康奈尔大学 | 用于改进软件容器性能和隔离的方法和系统 |
CN110609742A (zh) * | 2019-09-25 | 2019-12-24 | 苏州浪潮智能科技有限公司 | 一种Kubernetes调度器的队列的配置方法和装置 |
CN112988342A (zh) * | 2019-12-02 | 2021-06-18 | 英特尔公司 | 用于优化线程调度的方法、系统、制品和装置 |
CN111211984A (zh) * | 2020-04-20 | 2020-05-29 | 中国人民解放军国防科技大学 | 优化cdn网络的方法、装置及电子设备 |
CN113961335A (zh) * | 2020-07-01 | 2022-01-21 | 中兴通讯股份有限公司 | 资源调度方法、资源调度系统及设备 |
CN113033806A (zh) * | 2021-04-12 | 2021-06-25 | 鹏城实验室 | 一种训练深度强化学习模型的方法、装置以及调度方法 |
CN113377540A (zh) * | 2021-06-15 | 2021-09-10 | 上海商汤科技开发有限公司 | 集群资源调度方法及装置、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
Joint optimization of resource allocation and workload scheduling for cloud based multimedia services;Xiaoming Nan 等;《2016 IEEE 18th International Workshop on Multimedia Signal Processing (MMSP)》;20170116;第1-6页 * |
基于改进蜂群算法的虚拟云资源调度负载优化策略研究;李飞 等;《计算机产品与流通》;20191109;第119-120页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2024037368A1 (zh) | 2024-02-22 |
CN115080248A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115080248B (zh) | 调度装置的调度优化方法、调度装置和存储介质 | |
JP5218390B2 (ja) | 自律制御サーバ、仮想サーバの制御方法及びプログラム | |
CN114169427A (zh) | 基于端到端自适应的分布式训练方法、装置、设备 | |
CN104809132A (zh) | 一种获取网络主体社交关系类型的方法及装置 | |
WO2020228378A1 (zh) | 一种确定数据库的配置参数的方法及装置 | |
CN117909083B (zh) | 一种分布式云容器资源调度方法及系统 | |
CN112749041B (zh) | 虚拟化网络功能备份策略自决策方法、装置及计算设备 | |
CN113015219A (zh) | 基于策略梯度的网络资源选择方法、装置以及存储介质 | |
CN113553138A (zh) | 一种云资源调度的方法及装置 | |
US20230078246A1 (en) | Centralized Management of Distributed Data Sources | |
CN108595251B (zh) | 动态图更新方法、装置、存储引擎接口和程序介质 | |
CN115412401B (zh) | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 | |
CN116385059A (zh) | 行为数据预测模型的更新方法、装置、设备及存储介质 | |
CN116562364A (zh) | 基于知识蒸馏的深度学习模型协同推演方法、装置及设备 | |
CN115905293A (zh) | 作业执行引擎的切换方法及装置 | |
CN114035906B (zh) | 虚拟机迁移方法、装置、电子设备及存储介质 | |
US20230236871A1 (en) | Computing environment predictive provisioning | |
US20210201157A1 (en) | Neural network model compression with quantizability regularization | |
CN113015179B (zh) | 基于深度q网络的网络资源选择方法、装置以及存储介质 | |
CN113033422A (zh) | 基于边缘计算的人脸检测方法、系统、设备和存储介质 | |
CN118153649B (zh) | 集成大模型训练与推理的软硬一体机和大模型训练方法 | |
US11836531B2 (en) | Method, device, and program product for managing computing system | |
CN117667361B (zh) | 一种分布式协同仿真架构实现方法及装置 | |
KR102563279B1 (ko) | 클라우드 네이티브 컴퓨팅 환경에서 ai워크로드를 위한 리소스를 선제적으로 자동 할당하는 시스템 및 방법 | |
CN113162780B (zh) | 实时网络拥塞分析方法、装置、计算机设备和存储介质 |
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 |