CN115297180B - 集群调度方法、装置及存储介质 - Google Patents
集群调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115297180B CN115297180B CN202210932142.6A CN202210932142A CN115297180B CN 115297180 B CN115297180 B CN 115297180B CN 202210932142 A CN202210932142 A CN 202210932142A CN 115297180 B CN115297180 B CN 115297180B
- Authority
- CN
- China
- Prior art keywords
- state
- cluster
- node
- cluster working
- working
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000002360 preparation method Methods 0.000 claims abstract description 92
- 238000007619 statistical method Methods 0.000 claims abstract description 50
- 230000003993 interaction Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 238000011161 development Methods 0.000 claims description 13
- 230000006872 improvement Effects 0.000 claims description 12
- 230000007613 environmental effect Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 230000018109 developmental process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书涉及集群调度技术领域,具体地公开了一种集群调度方法及装置,其中,该方法应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述方法包括:接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态;对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。上述方案可以有效提高集群调度系统的执行效率和资源利用率。
Description
技术领域
本说明书涉及集群调度技术领域,特别涉及一种集群调度方法及装置。
背景技术
集群工作节点受集群调度管理服务器的管理和控制。集群工作节点本身不与数据库交互。集群调度管理服务器会和集群工作节点进行交互,并将交互信息及状态存储于数据库中,用于集群工作节点的管理和监控,并可以进一步控制节点处理任务。集群工作节点的状态是集群调度管理服务器对集群工作节点进行管理的一种手段,使得集群调度管理服务器能根据集群工作节点的状态来分配任务,完成数据统计,并向系统管理端反馈目前的各个集群工作节点的情况,以此来进行进一步的处理和管理。集群工作节点的状态既影响着系统管理端的任务分配安排,又反映了集群调度管理系统中各个集群工作节点的运行状况,有利于根据统计数据进行管理和操作。因此,如何如实地反映集群调度管理系统中各个集群工作节点的状态,对集群调度管理系统有着重要的意义。
在集群调度管理系统中,集群调度的方式有所差异,集群工作节点的状态往往也有差异,其状态数量和相互之间转移的规则也有所不同。在设置集群工作节点的状态时既要详细地反映集群工作节点的真实状态,又要尽量缩减集群工作节点的状态数量,避免由于数量过多带来过多的状态转移规则。工作节点状态以及状态转移规则的设置对于集群调度的效率以及集群的资源利用率至关重要。目前,集群工作节点状态以及状态转移规则设置较不合理,导致集群调度效率以及资源利用率低。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种集群调度方法及装置,以解决现有技术中集群调度效率以及资源利用率低的问题。
本说明书实施例提供了一种集群调度方法,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述方法包括:
接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态;
对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。
在一个实施例中,所述预申请状态表明集群工作节点完成任务并等待下一次申请请求;
所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长;
根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题;
依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略。
在一个实施例中,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息;
所述集群工作节点在失去节点心跳的情况下,节点状态由非关闭状态转变为关闭状态;所述非关闭状态包括以下之一:预申请状态、前期准备状态、运行状态、连带空闲状态、空闲状态和禁用状态;
所述集群工作节点在恢复心跳的情况下,判断所述集群工作节点的上一个节点状态是否为禁用,若是,则将所述集群工作节点的节点状态由关闭状态转变为禁用状态,否则,将所述集群工作节点的节点状态由关闭状态转变为预申请状态。
在一个实施例中,所述空闲状态表明集群工作节点未成功申请到任务;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述空闲状态的时长;
根据处于所述空闲状态的时长,确定所述集群调度系统的资源利用率;
依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
在一个实施例中,所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态;
所述集群工作节点在所有非空闲显卡均完成管理服务器分配的任务的情况下,节点状态由连带空闲状态转变为预申请状态;所述集群工作节点在所述空闲显卡成功申请到任务的情况下,节点状态由连带空闲状态转变为前期准备状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
对于处于连带空闲状态的集群工作节点的空闲显卡,分配满足正在运行显卡任务的环境要求的任务。
在一个实施例中,所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作;
所述集群工作节点在前期准备工作执行成功的情况下,节点状态由前期准备状态变更为运行状态;所述集群工作节点在前期准备工作执行失败的情况下,节点状态由前期准备状态变更为预申请状态;
相应的,所述方法还包括:
在所述集群工作节点的前期准备工作执行失败的情况下,接收所述集群工作节点发送的前期准备失败信息。
在一个实施例中,所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务;
所述集群工作节点在完成所述管理服务器分配的任务的情况下,节点状态由运行状态转变为预申请状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述运行状态的时长;
根据处于所述运行状态的时长,计算所述集群调度系统的资源利用率;
依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
在一个实施例中,所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务;
相应的,所述方法还包括:
向集群工作节点发送禁用指令,以禁用所述集群工作节点;响应于所述禁用指令,所述集群工作节点在处于运行状态、前期准备状态或者连带空闲状态的情况下,在所有任务完成的情况下,节点状态转变为禁用状态;所述集群工作节点在处于预申请状态或者空闲状态的情况下,节点状态转变为禁用状态;
向集群工作节点发送启动指令,以启动处于禁用状态的集群工作节点;所述集群工作节点响应于所述启动指令,节点状态由禁用状态转变为预申请状态。
本说明书实施例还提供了一种集群调度装置,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述装置包括:
接收模块,用于接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态;
调度模块,用于对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的集群调度方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的集群调度方法的步骤。
在本说明书实施例中,提供了一种集群调度方法,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述管理服务器可以接收所述多个集群工作节点发送的节点状态数据,所述节点状态数据所表征的节点状态可以包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态,管理服务器可以对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。上述方案中,集群工作节点设置了七种节点状态,能够快速反映出集群工作节点的运行状况,利于管理服务器进行分析统计,并能真实反映当前整个集群的运行状态,有助于管理服务器根据状态调整集群工作节点的使用,还有助于开发者利用这些状态规范系统的开发逻辑,防止系统出现状态紊乱,可以有效提高集群调度系统的执行效率和资源利用率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1示出了本说明书一实施例中集群调度方法的流程图;
图2示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图3示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图4示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图5示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图6示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图7示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图8示出了本说明书一实施例中的集群调度方法的状态转移逻辑图;
图9示出了本说明书一实施例中的集群调度装置的示意图;
图10示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本说明书实施例提供了一种集群调度方法。图1示出了本说明书一实施例中集群调度方法的流程图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图1所示,本说明书一种实施例提供的集群调度方法可以包括以下步骤:
步骤S101,接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态。
本实施例中的集群调度方法可以应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点。
管理服务器可以接收客户端提交的运算任务请求。响应于运算任务请求,管理服务器对集群调度系统中的多个集群工作节点进行调度和任务分配,以执行运算任务。在执行过程中,管理服务器可以接收多个集群工作节点发送的状态数据。及诶单状体数据所表征的节点状态可以包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态。
步骤S102,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。
在接收到集群工作节点返回的节点状态数据之后,可以对节点状态数据进行统计分析,以根据工作节点状态数据的统计分析结果对集群工作节点进行调度。
上述实施例中,集群工作节点设置了七种节点状态,能够快速反映出集群工作节点的运行状况,利于管理服务器进行分析统计,并能真实反映当前整个集群的运行状态,有助于管理服务器根据状态调整集群工作节点的使用,还有助于开发者利用这些状态规范系统的开发逻辑,防止系统出现状态紊乱,可以有效提高集群调度系统的执行效率和资源利用率。
在本说明书一些实施例中,所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作;所述集群工作节点在前期准备工作执行成功的情况下,节点状态由前期准备状态变更为运行状态;所述集群工作节点在前期准备工作执行失败的情况下,节点状态由前期准备状态变更为预申请状态;相应的,所述方法还包括:在所述集群工作节点的前期准备工作执行失败的情况下,接收所述集群工作节点发送的前期准备失败信息。
具体地,所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作。请参考图2,示出了本实施例中的状态转移的逻辑示意图。如图2所示,所述集群工作节点在前期准备工作执行成功的情况下,节点状态由前期准备状态变更为运行状态;所述集群工作节点在前期准备工作执行失败的情况下,节点状态由前期准备状态变更为预申请状态。在所述集群工作节点的前期准备工作执行失败的情况下,管理服务器接收所述集群工作节点发送的前期准备失败信息,对集群工作节点的失败信息进行分析。
在本说明书一些实施例中,所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务;所述集群工作节点在完成所述管理服务器分配的任务的情况下,节点状态由运行状态转变为预申请状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述运行状态的时长;根据处于所述运行状态的时长,计算所述集群调度系统的资源利用率;依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
具体地,所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务。请参考图3,示出了本实施例中的状态转移的逻辑示意图。如图3所示,所述集群工作节点在完成所述管理服务器分配的任务的情况下,节点状态由运行状态转变为预申请状态。管理服务器可以基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述运行状态的时长,根据处于所述运行状态的时长,计算所述集群调度系统的资源利用率,依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度,以提高资源利用率和运行效率。
在本说明书一些实施例中,所述预申请状态表明集群工作节点完成任务并等待下一次申请请求;所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长;根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题;依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略。
具体地,所述预申请状态表明集群工作节点完成任务并等待下一次申请请求。请参考图4,示出了本实施例中的节点状态转移的逻辑示意图。如图4所示,所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态。管理服务器可以基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长。之后,可以根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题。管理服务器可以根据网络状况,生成网络报告,便于对网络进行改进。管理服务器还可以依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略,便于开发者进行开发改进。
在本说明书一些实施例中,所述空闲状态表明集群工作节点未成功申请到任务;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述空闲状态的时长;根据处于所述空闲状态的时长,确定所述集群调度系统的资源利用率;依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
具体地,所述空闲状态表明集群工作节点未成功申请到任务。参考图5,示出了本实施例中的节点状态转移的逻辑示意图。如图5所示,集群工作节点在成功申请到任务的情况下,节点状态由空闲状态转变为前期准备状态。管理服务器可以基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述空闲状态的时长。管理服务器可以根据处于所述空闲状态的时长,确定所述集群调度系统的资源利用率。管理服务器可以依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度,以提高资源利用率和任务执行效率。
在本说明书一些实施例中,所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态;所述集群工作节点在所有非空闲显卡均完成管理服务器分配的任务的情况下,节点状态由连带空闲状态转变为预申请状态;所述集群工作节点在所述空闲显卡成功申请到任务的情况下,节点状态由连带空闲状态转变为前期准备状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:对于处于连带空闲状态的集群工作节点的空闲显卡,分配满足正在运行显卡任务的环境要求的任务。
具体地,所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态。请参考图6,示出了本实施例中的状态转移的逻辑示意图。如图6所示,所述集群工作节点在所有非空闲显卡均完成管理服务器分配的任务的情况下,节点状态由连带空闲状态转变为预申请状态。所述集群工作节点在所述空闲显卡成功申请到任务的情况下,节点状态由连带空闲状态转变为前期准备状态。管理服务器可以对于处于连带空闲状态的集群工作节点的空闲显卡,分配满足正在运行显卡任务的环境要求的任务,以提高资源利用率。
在本说明书一些实施例中,所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务;相应的,所述方法还包括:向集群工作节点发送禁用指令,以禁用所述集群工作节点;响应于所述禁用指令,所述集群工作节点在处于运行状态、前期准备状态或者连带空闲状态的情况下,在所有任务完成的情况下,节点状态转变为禁用状态;所述集群工作节点在处于预申请状态或者空闲状态的情况下,节点状态转变为禁用状态;向集群工作节点发送启动指令,以启动处于禁用状态的集群工作节点;所述集群工作节点响应于所述启动指令,节点状态由禁用状态转变为预申请状态。
具体地,所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务。请参考图7,示出了本实施例中的状态转移的逻辑示意图。如图7所示,管理服务器可以向集群工作节点发送禁用指令。响应于所述禁用指令,所述集群工作节点在处于运行状态、前期准备状态或者连带空闲状态的情况下,在所有任务完成的情况下,节点状态转变为禁用状态;所述集群工作节点在处于预申请状态或者空闲状态的情况下,节点状态转变为禁用状态。如图7所示,管理服务器可以向集群工作节点发送启动指令,以启动处于禁用状态的集群工作节点;所述集群工作节点响应于所述启动指令,节点状态由禁用状态转变为预申请状态。
在本说明书一些实施例中,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息;所述集群工作节点在失去节点心跳的情况下,节点状态由非关闭状态转变为关闭状态;所述非关闭状态包括以下之一:预申请状态、前期准备状态、运行状态、连带空闲状态、空闲状态和禁用状态;所述集群工作节点在恢复心跳的情况下,判断所述集群工作节点的上一个节点状态是否为禁用,若是,则将所述集群工作节点的节点状态由关闭状态转变为禁用状态,否则,将所述集群工作节点的节点状态由关闭状态转变为预申请状态。
具体地,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息。请参考图8,所述集群工作节点在失去节点心跳的情况下,节点状态由非关闭状态转变为关闭状态;所述非关闭状态包括以下之一:预申请状态、前期准备状态、运行状态、连带空闲状态、空闲状态和禁用状态。参考图8,示出了本实施例中的节点状态转移的逻辑示意图。如图8所示,所述集群工作节点在恢复心跳的情况下,判断所述集群工作节点的上一个节点状态是否为禁用,若是,则将所述集群工作节点的节点状态由关闭状态转变为禁用状态,否则,将所述集群工作节点的节点状态由关闭状态转变为预申请状态。由此可知,关闭状态的优先级高于其他状态。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
本具体实施例中,提供了一种集群调度方法,应用于集群调度系统的管理服务器。管理服务器可以根据集群工作节点的节点状态进行调度,以执行任务。具体地,集群工作节点可以存在七种状态,分别为:关闭,禁用,运行,预申请,空闲,前期准备,连带空闲。
在集群调度管理系统中,通常的做法,是由集群工作节点主动向集群调度管理服务器发起任务请求。集群调度管理服务器会根据该集群工作节点发起任务请求时所携带的环境要素信息,匹配适合该集群工作节点环境要素信息的任务返回给该集群工作节点;集群工作节点的环境要素信息,既包括硬件资源的使用情况,比如内存使用情况,硬盘使用情况,显卡使用情况,还包括软件资源的部署情况,比如部署了哪些可以运行的应用软件和插件。
集群调度管理服务器分配给集群工作节点任务后,集群工作节点还需要做一些前期准备工作,比如临时部署需要的软件环境,挂载存储等,这些准备工作可长可短,当这些前期准备工作完毕后,集群工作节点才能真正地启动任务进程进行工作,当任务进程第一次启动后,才代表任务真正开始执行,并会将该信息反馈给集群调度管理服务器。集群调度管理服务器此时才会将任务状态修改为运行状态,而此时的集群工作节点的状态才应修改成“运行”状态。
而在这之前直到集群调度管理服务器给集群工作节点分配任务之间的一段时间,该集群工作节点就处于“前期准备”状态。这一“前期准备”阶段的时间长度依赖于前期工作的多少,在这段时间里,集群工作节点并未实际做工作,难以产生实际的价值,但是又是开始工作前必不可少的阶段。处于“前期准备”状态的节点也可能在前期准备时出现问题,则将失败信息反馈给集群调度管理服务器时,此时任务状态将会被重置,该集群工作节点的状态也会从“前期准备”节点变更成下一轮“预申请”状态。
前期准备阶段的时间有长有短,有时候因为前期准备阶段出现故障也会终止任务的继续执行,所以有必要在调度管理服务器上针对从节点请求任务并成功分配一个任务到节点真实运行任务之间加入一个前期准备阶段的状态。
作业任务运行完成后,反馈到集群调度管理服务器,集群工作节点相关的任务完成后,集群工作节点状态重新归于“预申请”状态。通常的做法里面,集群工作节点向集群调度管理服务器的申请是一个独立定时器下完成的。集群工作节点接收到作业后,该定时请求将自动关闭,当作业完成后,该定时请求自动开启,对于集群调度管理服务器而言,工作节点完成任务,意味着要等待集群工作节点的下一次申请请求,所以会将工作节点的状态修改成“预申请”状态;
如果集群工作节点请求集群调度管理服务器时,集群调度管理服务器可能因为该集群工作节点的自身软硬件环境要素不满足任务的要求或者集群调度平台本身缺乏任务,这样就会导致在完成作业后的第一次作业请求时分配不到任务,此时会把工作节点的状态设置成空闲状态。或者申请要任务时,则转变成“前期准备”状态;
这种空闲状态在以后的集群工作节点请求里面会一直保持到该集群工作节点接收到任务。“空闲”状态反映了服务人员对节点的管理是否合理,有时也可以通过统计整个集群管理平台的“空闲”状态工作节点的数量,进行平台真实运行状况的评估;
当集群工作节点是以显卡进行任务处理时,处理的单元实际上变成了显卡,但是一个集群工作节点往往有多张显卡,那对集群工作节点状态的设置实际落在了显卡的状态上。当在工作节点是利用显卡进行任务处理时,每张显卡上面可以运行不同的任务,而一个工作节点可以是多张显卡,此时工作节点有多余显卡可以用于接收多任务,每张显卡可以运行不同的任务,但是在请求任务时,可能因为任务分隔问题,一次性拿不到所有任务,这样就涉及到工作节点正在运行一部分任务,还有一部分工作节点上面的显卡是空闲状态,但是这些显卡都和已经占用的显卡运行于同一个工作节点上,其他软件环境等因素会限制未分配任务的显卡必须和已经分配任务的显卡利用同一软件运行环境,这样就会导致在完成作业后的第一次作业请求时分配不到任务,此时会把工作节点的状态设置成空闲状态,这种空闲显卡必须要接收有相同软件环境要求的任务。而这种任务也有可能缺乏,导致工作节点上面的显卡不能全部接收到任务。此时这些显卡的状态应该按照工作节点的状态来设置,也就是当完成任务的第一次请求时,应该设置成“预申请”状态,但接收不到任务时,此时的空闲显卡并不能由服务人员随便规划用于其他任务分配,而其任务分配将会局限于正在运行显卡任务的环境要求上,所以对这类显卡的空闲状态应该设置一种新的区别于“空闲”状态的状态,可以将这个此状态设定未“连带空闲”状态,这种空闲状态也可用于统计,但是这种状态的统计是节点纯粹的浪费,不能人为干预,只能等待该工作节点上面的已有显卡任务全部完成,并释放显卡资源后释放出来,全部可以转换成新的“预申请”状态;
即在显卡里面没有“空闲”状态,有部分显卡处于“前期准备”或者“运行”状态时,另外一些显卡实际仍处于“连带空闲”状态,这些状态的显卡可以继续请求作业,但是调度管理服务器必须给这些节点分配有相同软件环境要求任务。当分配到任务时,这些状态自然转移成“前期准备阶段”,如果准备成功,继而会转成“运行”状态。
当在处理一些节点的问题时,我们经常需要将节点禁用掉,以将节点从目前的节点状态隔离开,这种隔离并不影响工作节点和调度管理服务器之间的心跳交互,只是表示节点不能再次接收任务,此时节点可以处于“调度请求”状态或者“空闲”状态要直接转变成“禁用”状态。
如果节点里面还有任务运行,则不能修改此时的节点状态,如果是“连带空闲”的集群工作节点,也不能将状态改成“禁用”状态,这些显卡状态也不能修改成“禁用”状态。当集群工作节点上面的所有作业结束时,此时节点的状态才能延迟变更为“禁用”状态。此处的逻辑是,只要进入“前期准备”状态或者“运行”,节点不能被禁用,节点的“运行”状态高于“禁用”状态,这也是保证任务运行的进行,避免运行一段时间后被杀掉;
关闭状态,是集群工作节点和集群调度管理服务器之间的心跳互动信息出现问题,此时的集群工作节点不会向集群调度管理服务器发送信息,集群调度管理服务器也不能向集群工作节点回复相关信息,这种情况可能因为节点故障,网络故障,也可能因为人为的操作,关闭运行于工作节点上的代理程序或者节点系统本身停止了工作。
处于关闭状态下集群工作节点上面的作业等要被重新分配其他集群工作节点,处于任何状态此时因为节点的关闭都应该归于关闭状态,关闭状态在此时的优先级最高,如果节点恢复后,节点的自动处于非关闭状态,如果处于在关闭之前是禁用的状态,测试仍然恢复成禁用状态,否则此时节点状态应该像注册后第一次状态都该成请求调度状态;
本具体实施例中,创造了一套集群工作节点的状态,并规范了节点转移状态,能快速反映出集群工作节点的运行状况,利于统计,并能真实反映当前整个集群的运行状态,有助于管理服务器根据状态调整集群节点的使用,有助于开发者利用这些状态规范系统的开发逻辑,防止系统出现状态紊乱。
本具体实施例中,可以根据一种集群调度管理系统的调度特点,设计了七种状态,并按照业务需要规范了这七种状态的转移规则,力图通过其中状态,既能让管理服务器随时检查集群调度管理系统的整体运行情况,又能帮助管理服务器找出异常的集群工作节点,进行修复处理,还能协助管理服务器对集群调度管理系统进行合理的分组和使用。这七种状态中,只要“运行”状态是真正在做具体任务的状态,这种状态在七种状态的时间比例越高,节点的利用率就越高。整个集群系统的利用率有赖于每个节点的利用率,只要明确地显示出每个节点各种不同状态的时间,才能系统地去提升节点及整个集群的利用率。
对于一些过渡状态,比如“前期准备”,能显示出当前基础系统的运行状态,对于某个节点而言,如果在一批任务中,前期准备时间明显超出平均处理时间,则极有可能节点本身存在问题,方便服务人员和运维人员及时找出异常节点并进行处理;如果对于整个集群而言,如果在一段时间内,前期准备时间比之前的处理时间要明显加长,也可以判断出这段时间内整个集群系统是否存在存储或者网络故障;对于多个分中心而言;普遍存在的前期准备时间差异也可以反映出各个分中心不同网络架构,存储架构和系统配置所带来的整体影响。
又比如,“预申请”状态是一种反映管理节点和计算节点通信和交互状态的一个指标,通过“预申请”状态的时间判断就可以明确系统本身的网络状况和代码逻辑改进过程的逻辑问题。
不仅如此,这些状态的统计还能协助系统开发人员检查集群调度管理系统的并发调度问题,及时发现集群工作节点所运行代理程序的问题,方便发现、修复和测试相关问题。在程序开发中,程序在演化改进过程中,往往在运行,前期准备等方面都要要入各种逻辑,在添加相关逻辑后,往往会带来程序运行时间的改变,这种改变可以由新的状态检查来确定程序改进的好坏。比如在前期操作中,某种耗时的检查可能带给前期准备阶段很长的运行时间,这种明显降低了运行状态所占比例的做法,必然需要优化改进,以降低前期准备的时间,提高系统在“运行”状态的利用率。上面提到的“预申请”状态,同样反映了管理程序和计算程序交互过程中可能因为代码修改出现的时间差异,涉及到交互逻辑和队列逻辑的相关开发策略。
通过新状态的引入主要在于对系统运行状态,运维和系统开发相关工作的促进作用,通过新状态的引入,结合新统计方法的改进,可以进一步反馈出各个节点,各个运行阶段,各个代码模块和交互阶段,整个集群利用率,集群的交互模式等在演进过程的一系列问题。
上述具体实施例中,构建了一套集群工作节点的状态并规范了节点转移状态,能快速反映出集群工作节点的运行状况,利于统计,并能真实反映当前整个集群的运行状态,有助于管理服务器根据状态调整集群节点的使用,有助于开发者利用这些状态规范系统的开发逻辑,防止系统出现状态紊乱,提高集群调度系统的资源利用率。
基于同一发明构思,本说明书实施例中还提供了一种集群调度装置,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点,如下面的实施例所述。由于集群调度装置解决问题的原理与集群调度方法相似,因此集群调度装置的实施可以参见集群调度方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图9是本说明书实施例的集群调度装置的一种结构框图,如图9所示,包括:接收模块901和调度模块902,下面对该结构进行说明。
接收模块901用于接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态。
调度模块902用于对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度。
在本说明书一些实施例中,在一个实施例中,所述预申请状态表明集群工作节点完成任务并等待下一次申请请求;所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长;根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题;依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略。
在本说明书一些实施例中,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息;所述集群工作节点在失去节点心跳的情况下,节点状态由非关闭状态转变为关闭状态;所述非关闭状态包括以下之一:预申请状态、前期准备状态、运行状态、连带空闲状态、空闲状态和禁用状态;所述集群工作节点在恢复心跳的情况下,判断所述集群工作节点的上一个节点状态是否为禁用,若是,则将所述集群工作节点的节点状态由关闭状态转变为禁用状态,否则,将所述集群工作节点的节点状态由关闭状态转变为预申请状态。
在本说明书一些实施例中,所述空闲状态表明集群工作节点未成功申请到任务;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述空闲状态的时长;根据处于所述空闲状态的时长,确定所述集群调度系统的资源利用率;依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
在本说明书一些实施例中,所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态;所述集群工作节点在所有非空闲显卡均完成管理服务器分配的任务的情况下,节点状态由连带空闲状态转变为预申请状态;所述集群工作节点在所述空闲显卡成功申请到任务的情况下,节点状态由连带空闲状态转变为前期准备状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:对于处于连带空闲状态的集群工作节点的空闲显卡,分配满足正在运行显卡任务的环境要求的任务。
在本说明书一些实施例中,所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作;所述集群工作节点在前期准备工作执行成功的情况下,节点状态由前期准备状态变更为运行状态;所述集群工作节点在前期准备工作执行失败的情况下,节点状态由前期准备状态变更为预申请状态;相应的,所述方法还包括:在所述集群工作节点的前期准备工作执行失败的情况下,接收所述集群工作节点发送的前期准备失败信息。
在本说明书一些实施例中,所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务;所述集群工作节点在完成所述管理服务器分配的任务的情况下,节点状态由运行状态转变为预申请状态;相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述运行状态的时长;根据处于所述运行状态的时长,计算所述集群调度系统的资源利用率;依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
在本说明书一些实施例中,所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务;相应的,所述方法还包括:向集群工作节点发送禁用指令,以禁用所述集群工作节点;响应于所述禁用指令,所述集群工作节点在处于运行状态、前期准备状态或者连带空闲状态的情况下,在所有任务完成的情况下,节点状态转变为禁用状态;所述集群工作节点在处于预申请状态或者空闲状态的情况下,节点状态转变为禁用状态;向集群工作节点发送启动指令,以启动处于禁用状态的集群工作节点;所述集群工作节点响应于所述启动指令,节点状态由禁用状态转变为预申请状态。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:集群工作节点设置了七种节点状态,能够快速反映出集群工作节点的运行状况,利于调度服务器进行分析统计,并能真实反映当前整个集群的运行状态,有助于调度服务器根据状态调整集群工作节点的使用,还有助于开发者利用这些状态规范系统的开发逻辑,防止系统出现状态紊乱,可以有效提高集群调度系统的执行效率和资源利用率。
本说明书实施方式还提供了一种计算机设备,具体可以参阅图10所示的基于本说明书实施例提供的集群调度方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备11、处理器12、存储器13。其中,所述存储器13用于存储处理器可执行指令。所述处理器12执行所述指令时实现上述任意实施例中所述的集群调度方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施方式中还提供了一种基于集群调度方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述集群调度方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
Claims (9)
1.一种集群调度方法,其特征在于,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述方法包括:
接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态;
对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度;
其中,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息;所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务;所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务;所述预申请状态表明集群工作节点完成任务并等待下一次申请请求;所述空闲状态表明集群工作节点未成功申请到任务;所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作;所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态;
所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长;
根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题;
依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略。
2.根据权利要求1所述的集群调度方法,其特征在于,所述集群工作节点在失去节点心跳的情况下,节点状态由非关闭状态转变为关闭状态;所述非关闭状态包括以下之一:预申请状态、前期准备状态、运行状态、连带空闲状态、空闲状态和禁用状态;
所述集群工作节点在恢复心跳的情况下,判断所述集群工作节点的上一个节点状态是否为禁用,若是,则将所述集群工作节点的节点状态由关闭状态转变为禁用状态,否则,将所述集群工作节点的节点状态由关闭状态转变为预申请状态。
3.根据权利要求1所述的集群调度方法,其特征在于,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述空闲状态的时长;
根据处于所述空闲状态的时长,确定所述集群调度系统的资源利用率;
依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
4.根据权利要求1所述的集群调度方法,其特征在于,所述集群工作节点在所有非空闲显卡均完成管理服务器分配的任务的情况下,节点状态由连带空闲状态转变为预申请状态;所述集群工作节点在所述空闲显卡成功申请到任务的情况下,节点状态由连带空闲状态转变为前期准备状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
对于处于连带空闲状态的集群工作节点的空闲显卡,分配满足正在运行显卡任务的环境要求的任务。
5.根据权利要求1所述的集群调度方法,其特征在于,所述集群工作节点在前期准备工作执行成功的情况下,节点状态由前期准备状态变更为运行状态;所述集群工作节点在前期准备工作执行失败的情况下,节点状态由前期准备状态变更为预申请状态;
相应的,所述方法还包括:
在所述集群工作节点的前期准备工作执行失败的情况下,接收所述集群工作节点发送的前期准备失败信息。
6.根据权利要求1所述的集群调度方法,其特征在于,所述集群工作节点在完成所述管理服务器分配的任务的情况下,节点状态由运行状态转变为预申请状态;
相应的,对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度,包括:
基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述运行状态的时长;
根据处于所述运行状态的时长,计算所述集群调度系统的资源利用率;
依据所述集群调度系统的资源利用率,对所述集群工作节点进行调度。
7.根据权利要求1所述的集群调度方法,其特征在于,所述方法还包括:
向集群工作节点发送禁用指令,以禁用所述集群工作节点;响应于所述禁用指令,所述集群工作节点在处于运行状态、前期准备状态或者连带空闲状态的情况下,在所有任务完成的情况下,节点状态转变为禁用状态;所述集群工作节点在处于预申请状态或者空闲状态的情况下,节点状态转变为禁用状态;
向集群工作节点发送启动指令,以启动处于禁用状态的集群工作节点;所述集群工作节点响应于所述启动指令,节点状态由禁用状态转变为预申请状态。
8.一种集群调度装置,其特征在于,应用于集群调度系统中的管理服务器,所述集群调度系统还包括多个集群工作节点;所述装置包括:
接收模块,用于接收所述多个集群工作节点发送的节点状态数据;所述节点状态数据所表征的节点状态包括以下至少之一:关闭状态、禁用状态、运行状态、预申请状态、空闲状态、前期准备状态、连带空闲状态;
调度模块,用于对所述多个集群工作节点的节点状态数据进行统计分析,以根据所述工作节点状态数据的统计分析结果对所述集群工作节点进行调度;
其中,所述关闭状态表明集群工作节点与管理服务器之间的心跳互动信息出现故障,导致集群工作节点无法向所述管理服务器发送信息;所述禁用状态表明集群工作节点被从当前的工作状态隔离开,无法接收任务;所述运行状态表明集群工作节点正在执行所述管理服务器分配的任务;所述预申请状态表明集群工作节点完成任务并等待下一次申请请求;所述空闲状态表明集群工作节点未成功申请到任务;所述前期准备状态表明集群工作节点在接收到所述管理服务器分配的任务后正在进行前期准备工作;所述连带空闲状态表明所述集群工作节点包括空闲显卡和非空闲显卡,所述非空闲显卡表明该显卡处于运行状态或者前期准备状态;
所述集群工作节点在成功申请到任务的情况下,节点状态由预申请状态转变为前期准备状态;所述集群工作节点在未成功申请到任务的情况下,节点状态由预申请状态转变为空闲状态;
相应的,所述调度模块具体用于:基于所述多个集群工作节点的节点状态数据,统计所述多个集群工作节点处于所述预申请状态的时长;根据所述多个集群工作节点处于所述预申请状态的时长,分析所述集群调度系统的网络状况以及代码逻辑改进过程存在的逻辑问题;依据所述逻辑问题,生成交互逻辑和队列逻辑的开发策略。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932142.6A CN115297180B (zh) | 2022-08-04 | 2022-08-04 | 集群调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932142.6A CN115297180B (zh) | 2022-08-04 | 2022-08-04 | 集群调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115297180A CN115297180A (zh) | 2022-11-04 |
CN115297180B true CN115297180B (zh) | 2024-03-29 |
Family
ID=83826601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210932142.6A Active CN115297180B (zh) | 2022-08-04 | 2022-08-04 | 集群调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297180B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN106897133A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于pbs作业调度管理集群负载的实现方法 |
CN111459628A (zh) * | 2020-03-12 | 2020-07-28 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210216411A1 (en) * | 2020-01-09 | 2021-07-15 | Salesforce.Com, Inc. | Cluster backup management |
-
2022
- 2022-08-04 CN CN202210932142.6A patent/CN115297180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN106897133A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于pbs作业调度管理集群负载的实现方法 |
CN111459628A (zh) * | 2020-03-12 | 2020-07-28 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于作战任务优先级的容器云弹性伸缩系统";尚小东等;《指挥信息系统与技术》;第11卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115297180A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bril et al. | Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption | |
CN112379995B (zh) | 一种基于dag的单元化分布式调度系统及方法 | |
Van Tilborg et al. | Foundations of real-time computing: Scheduling and resource management | |
US10977070B2 (en) | Control system for microkernel architecture of industrial server and industrial server comprising the same | |
CN113569987A (zh) | 模型训练方法和装置 | |
US10866832B2 (en) | Workflow scheduling system, workflow scheduling method, and electronic apparatus | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
US8225320B2 (en) | Processing data using continuous processing task and binary routine | |
CN113867889A (zh) | 一种分布式实时仿真平台 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN115297180B (zh) | 集群调度方法、装置及存储介质 | |
CN115362434A (zh) | 分布式数据处理的任务调度 | |
US20020010732A1 (en) | Parallel processes run scheduling method and device and computer readable medium having a parallel processes run scheduling program recorded thereon | |
CN116339911A (zh) | 一种基于K8S的弹性仿真Modelica模型的方法、系统、设备及介质 | |
CN113848752B (zh) | 一种分布式实时仿真方法 | |
CN112612604B (zh) | 基于Actor模型的任务调度方法、装置 | |
CN114995971A (zh) | 实现kubernetes中pod批量调度方法及系统 | |
CN112286631A (zh) | 一种Kubernetes资源调度方法、装置与电子设备 | |
Walters et al. | Enabling interactive jobs in virtualized data centers | |
CN115794449B (zh) | 动态线程池构建方法、远程过程调用方法及装置 | |
CN115811549B (zh) | 支持混合异构运行时的云边资源管理调度方法及系统 | |
CN113836060B (zh) | 一种适用于仿真模型及流程模型的分布式实时仿真平台 | |
Ravindran et al. | On best-effort real-time assurances for recovering from distributable thread failures in distributed real-time systems | |
CN115314493A (zh) | 集群调度方法及装置 | |
Bucci et al. | A discrete time model for performance evaluation and correctness verification of real time systems. |
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 |