CN116578406B - 面向分布式机器学习系统的任务平台连续运行调度方法 - Google Patents
面向分布式机器学习系统的任务平台连续运行调度方法 Download PDFInfo
- Publication number
- CN116578406B CN116578406B CN202310854346.7A CN202310854346A CN116578406B CN 116578406 B CN116578406 B CN 116578406B CN 202310854346 A CN202310854346 A CN 202310854346A CN 116578406 B CN116578406 B CN 116578406B
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- node
- resources
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012549 training Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,属于分布式机器学习技术领域,其中方法包括基于任务平台解析高优先级任务,且结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,并向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列;基于任务平台解析低优先级任务,并确定剩余未被占用的节点和节点未被占用的资源是否满足所述低优先级任务的需求,若否,则将所述低优先级任务加入至所述机器学习系统的第二等待队列,有效保证了所述机器学习系统中节点的资源利用率。
Description
技术领域
本发明涉及分布式机器学习技术领域,特别涉及一种面向分布式机器学习系统的任务平台连续运行调度方法。
背景技术
目前,在大数据的环境下,大规模的机器学习的训练对计算能力提出了新的要求,由于计算复杂度高或训练数据太多导致单机训练可能会消耗无法接受的时长,对于以上情况,可以采用分布式机器学习来减少训练的市场。目前,在分布式机器学习的连续运行的过程中,极易出现资源空闲的情况,极大的降低了节点的资源利用率。
为了提高节点的资源利用率,有必要设计一种面向分布式机器学习系统的任务平台连续运行调度方法,以解决上述问题。
发明内容
本发明提供一种面向分布式机器学习系统的任务平台连续运行调度方法,用以根据机器学习系统汇总工作节点的资源占用情况以及执行任务的信息,对高低优先级的任务进行依次安排,使节点资源的空闲时间减少,保障了节点资源的利用,极大提高了节点的资源利用率。
本发明提供一种面向分布式机器学习系统的任务平台连续运行调度方法,包括:
步骤1:基于任务平台获取机器学习系统的所有工作节点以及对应节点的当前资源占用情况;
步骤2:对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间;
步骤3:基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,且结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,并向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列;
步骤4:基于任务平台解析低优先级任务,确定所需节点以及每个所需节点的所需资源,并确定剩余未被占用的节点和节点未被占用的资源是否满足所述低优先级任务的需求,若否,则将所述低优先级任务加入至所述机器学习系统的第二等待队列。
优选地,所述当前资源占用情况,包括:同个工作节点已被占用资源、空闲资源以及节点总资源。
优选地,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间,包括:
根据每个工作节点下对应占用任务的任务类型,确定得到占用任务的理想执行时间;
统计与占用任务所对应的工作节点在对应占用任务开始调用的第一时间点到当下时间点之间的实际调用次数,其中,所述实际调用次数为依赖对应占用任务所实现的调用次数;
根据所述实际调用次数的实际调用量与理想调用量的差值,对理想执行时间进行优化,得到占用任务结束时间,其中,所述优化包括理想执行时间提前或延迟。
优选地,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间之后,包括:
当所述任务平台捕捉到新任务时,判断所述新任务是否存在预设优先级,若不存在,则对所述新任务的最迟规定运行时间进行分析,确定所述新任务的优先级级别。
优选地,基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,包括:
分析所述高优先级任务,确定所需节点类型、不同节点类型的节点数量以及每个所需节点的理想资源;
从历史数据库中获取与所述高优先级任务一致的资源调用集合,并获取得到每个所需节点的最大历史资源;
估算同个所需节点的最大历史资源与理想资源的第一比值:
;其中,/>为对应所需节点的最大历史资源,/>为对应所需节点的理想资源;
根据所述第一比值,确定对应所需节点的第二比值:
;根据同个所需节点的理想资源以及所述第二比值,确定对应节点的实际资源:
;其中,n为对应节点的实际资源。
优选地,结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,包括:
获取与所述高优先级任务所一致的每个所需节点中当下每个占用任务距离对应结束时间的时间差;
根据时间差,对所有所需节点中的任务执行完成时间由小到大进行排序,并对首位节点的可用资源进行分析,确定是否满足所述高优先级需求,其中,所述可用资源指的是所述首位节点执行完距离对应结束时间最近的任务后所余出的空闲资源;
若不满足,继续对下一位节点的可用资源进行分析。
优选地,向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列,包括:
当所述第一节点的第一等待队列为空时,将所述高优先级任务添加至对应的等待队列首位,并等待执行;
当所述第一节点的第一等待队列为多个时,对所述高优先级任务进行分析,确定所述高优先级任务的最迟运行时间以及对所述第一等待队列中每个等待任务的影响系数;
根据所有影响系数以及高优先级任务执行失败后的时间损失风险系数,确定所述高优先级任务的重要程度:
;其中,/>为所述高优先级任务的重要程度,/>表示为第i1个影响系数,/>为时间损失风险系数,/>表示为影响权重,/>表示为风险权重;表示与所述高优先级任务一致的所有影响系数的个数;
基于所述高优先级任务的最迟运行时间以及当下时间,确定所述高优先级任务的剩余时间,根据所述高优先级任务的剩余时间以及所述重要程度,计算出所述高优先级任务在所述第一等待队列的初始优先级权重:
;其中,/>表示所述高优先级任务在所述第一等待队列中的初始优先级权重,/>表示为所述第一等待队列中高优先级任务的剩余时间的倒数;
确定所述第一等待队列中每个等待任务的执行成功率,并对每个等待任务的优先级进行修正:
;其中,/>为等待任务i1修正之后的优先级权重,为等待任务i1的权重比例,/>表示等待任务i1的执行成功率;/>为等待任务i1的设定权重;/>为所述高优先级任务的当下优先级权重;
将与所有/>按权重由大到小排列,并对存在的相同权重按照对应任务的剩余时长由小到大排列。
优选地,当所述任务平台上的每个任务基于机器学习系统运行结束后,对任务的准确率进行分析,判断准确率是否在设定阈值范围之间,若否,则将对应任务重新运行;
当同个任务在所述机器学习系统两次运行且准确率都不在设定阈值范围之间,对所述同个任务的运行日志进行分析,确定所述机器学习系统中对应模型针对该任务的训练数据的是否存在问题。
优选地,将所述低优先级任务加入至所述机器学习系统的第二等待队列之后,包括:
当所有高优先级任务已经运行或已加入所述第一等待队列后,如果存在节点有空闲资源时,对所述第二等待队列中的低优先级任务进行依次判断,判断未被占用资源是否满足所述第二等待队列中的低优先级任务的需求,若是,则向对应节点发送调度指令,并运行所述低优先级任务,若否,则将所述低优先级任务加入所述第二等待队列继续等待。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种面向分布式机器学习系统的任务平台连续运行调度方法的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供一种面向分布式机器学习系统的任务平台连续运行调度方法,如图1所述,该调度方法包括:
步骤1:基于任务平台获取机器学习系统的所有工作节点以及对应节点的当前资源占用情况;
步骤2:对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间;
步骤3:基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,且结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,并向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列;
步骤4:基于任务平台解析低优先级任务,确定所需节点以及每个所需节点的所需资源,并确定剩余未被占用的节点和节点未被占用的资源是否满足所述低优先级任务的需求,若否,则将所述低优先级任务加入至所述机器学习系统的第二等待队列。
该实施例中,机器学习系统中包含若干工作节点,且每个工作节点可以对相应的任务进行操作处理。
该实施例中,高优先级任务指的是任务级别高且需要着急去处理的任务,低优先级任务指的是任务级别低且不需要着急去处理的任务。
该实施例中,当前资源占用情况包括:同个工作节点已被占用资源、空闲资源以及节点总资源。
该实施例中,任务结束时间为基于任务的理想时间以及当下时间段调用次数优化后的预期结束时间。
该实施例中,解析高优先级任务,包括对高优先级任务的数据集大小以及模型复杂度确定高优先级任务需要的节点个数、节点类型以及对应节点的理想资源。
该实例中,确定每个所需节点的所需资源为通过历史数据库中的资源调用集合以及节点的理想资源,确定对应节点的实际资源。
该实施例中,对当前所有节点当前资源占用情况分析包括:当前占用节点资源任务的资源以及未被任务占用的空闲资源。
该实施例中,高优先级需求包括所述高优先级任务所需的节点类型,节点个数以及对应节点的所需的实际资源。
该实施例中,所述第一节点指机器学习系统中最快可以满足高优先级任务的节点总和,比如,最快满足高优先级需求包含节点1、节点2以及节点3,此时,节点1、节点2以及节点3即为第一节点。
比如:机器学习系统中存在节点A,B,C,D,比如,满足需求的高优先级任务所确定出的节点为第一节点C,将高优先级任务添加至第一节点C的第一等待队列中,其中,高优先级任务基于第一等待队列中的位置可以是第一等待队列的队首、队尾亦或是队列中的任何一个位置。
该实施例中,低优先级任务的需求包括所述低优先级任务的节点类型,节点个数以及对应节点的所需的理想资源。
该实施例中,当所有高优先级任务已经运行或已加入相应的第一等待队列后,所涉及的空闲节点对应的队列即为第二等待队列。
比如:机器学习系统中存在节点A,B,C,D;节点A,B,C中的资源均被任务占用,节点D存在空闲资源,且没有高优先级任务在节点D等待,则基于节点D的空闲资源对第二等待队列中的任务进行依次判断,判断是否满足第二等待队列中的所需要求,满足的话,将对应低优先级任务在第二等待队列中进行排队。
上述技术方案的有益效果是:通过对机器学习系统的占用节点的任务以及节点的资源确定各节点的资源利用情况,且通过对高优先级任务进行解析,来进行高优先级的优先加入,并通过空闲资源运行低优先级任务,保证了节点资源利用率,进而保证了机器学习系统的高效运行,提高任务完成的效率。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间,包括:
根据每个工作节点下对应占用任务的任务类型,确定得到占用任务的理想执行时间;
统计与占用任务所对应的工作节点在对应占用任务开始调用的第一时间点到当下时间点之间的实际调用次数,其中,所述实际调用次数为依赖对应占用任务所实现的调用次数;
根据所述实际调用次数的实际调用量与理想调用量的差值,对理想执行时间进行优化,得到占用任务结束时间,其中,所述优化包括理想执行时间提前或延迟。
该实施例中,根据占用任务的任务类型,确定任务的数据集大小,模型复杂度并基于工作节点的计算能力,确定得到占用任务的理想执行时间。
该实施例中,计算实际调用次数与理想调用之间的差值,若实际调用次数高于理想调用次数,则提高资源配置以满足任务更高的负载需求,若实际调用次数低于理想调用次数,则在任务执行后,及时释放不再需要的资源,以便其它任务利用它们,并基于对理想执行时间的优化措施,重新计算占用任务的结束时间。
上述技术方案的有益效果是:基于时间段中的实际调用量,对理想的调用量进行优化,进而确定实际的执行时间,使得任务执行更加准确和高效,为之后任务加入等待队列提供了便利,提高了系统效率。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间之后,包括:
当所述任务平台捕捉到新任务时,判断所述新任务是否存在预设优先级,若不存在,则对所述新任务的最迟规定运行时间进行分析,确定所述新任务的优先级级别。
该实施例中,基于任务的最迟规定运行时间以及当下时间,确定任务的剩余时间,并基于剩余时间-优先级表,确定任务的优先级,该表中包含不同任务的剩余时间、任务类型以及所匹配的优先级在内的,可直接匹配得到。
上述技术方案的有益效果是:通过对最迟运行时间以及当下时间来确定任务的优先级,为之后根据优先级执行任务提供了便利,提高了任务队列的管理效率,使得任务的完成效率得到提高,更提高了系统的稳定性。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,包括:
分析所述高优先级任务,确定所需节点类型、不同节点类型的节点数量以及每个所需节点的理想资源;
从历史数据库中获取与所述高优先级任务一致的资源调用集合,并获取得到每个所需节点的最大历史资源;
估算同个所需节点的最大历史资源与理想资源的第一比值:
;其中,/>为对应所需节点的最大历史资源,/>为对应所需节点的理想资源;
根据所述第一比值,确定对应所需节点的第二比值:
;根据同个所需节点的理想资源以及所述第二比值,确定对应节点的实际资源:
;其中,n为对应节点的实际资源。
该实施例中,分析所述高优先级任务包括分析任务的数据集大小,特征的选择以及模型复杂度。
该实施例中,历史数据库包括:机器学习系统中运行过的历史任务的总和,包括:历史任务的类型,任务参数以及运行所述历史任务时占用的节点类型,节点个数以及对应节点的资源。
该实施例中,高优先级任务一致的资源调用集合为与高优先级任务类型与任务参数相匹配的历史任务运行时占用的节点类型,节点个数以及对应节点的资源,也就是该资源调用集合中包含与该高优先级任务一样的所有历史任务的历史资源调用情况。
上述技术方案的有益效果是:通过历史数据库中的与所述任务一致的最大资源,表面出现资源短缺而造成执行时间过长,通过第二比值进一步精细了资源调配的过程,不仅优化了任务的执行速度,还提高了系统的效率和性能。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,包括:
获取与所述高优先级任务所一致的每个所需节点中当下每个占用任务距离对应结束时间的时间差;
根据时间差,对所有所需节点中的任务执行完成时间由小到大进行排序,并对首位节点的可用资源进行分析,确定是否满足所述高优先级需求,其中,所述可用资源指的是所述首位节点执行完距离对应结束时间最近的任务后所余出的空闲资源;
若不满足,继续对下一位节点的可用资源进行分析。
该实施例中,首位节点为完成时间最短的任务所占用的节点。
该实施例中,所述高优先级需求指所述任务对该类型节点的实际资源。
该实施例中,下一位节点为执行完成时间由小到大的第二位节点。
该实施例中,积雪对下一位节点的可用资源进行分析,直到确定节点满足所述任务的所需资源。
上述技术方案的有益效果是:通过对所述任务所需节点的占用任务结束时间以及资源的依次判断,最终在全局范围内寻找出最佳资源配置,从而确保了任务最短完成时间,提高了机器学习系统的整体计算效率。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列,包括:
当所述第一节点的第一等待队列为空时,将所述高优先级任务添加至对应的等待队列首位,并等待执行;
当所述第一节点的第一等待队列为多个时,对所述高优先级任务进行分析,确定所述高优先级任务的最迟运行时间以及对所述第一等待队列中每个等待任务的影响系数;
根据所有影响系数以及高优先级任务执行失败后的时间损失风险系数,确定所述高优先级任务的重要程度:
;其中,/>为所述高优先级任务的重要程度,/>表示为第i1个影响系数,/>为时间损失风险系数,/>表示为影响权重,/>表示为风险权重;/>表示与所述高优先级任务一致的所有影响系数的个数;
基于所述高优先级任务的最迟运行时间以及当下时间,确定所述高优先级任务的剩余时间,根据所述高优先级任务的剩余时间以及所述重要程度,计算出所述高优先级任务在所述第一等待队列的初始优先级权重:
;其中,/>表示所述高优先级任务在所述第一等待队列中的初始优先级权重,/>表示为所述第一等待队列中高优先级任务的剩余时间的倒数;
确定所述第一等待队列中每个等待任务的执行成功率,并对每个等待任务的优先级进行修正:
;其中,/>为等待任务i1修正之后的优先级权重,为等待任务i1的权重比例,/>表示等待任务i1的执行成功率;为等待任务i1的设定权重;/>为所述高优先级任务的当下优先级权重;
将与所有/>按权重由大到小排列,并对存在的相同权重按照对应任务的剩余时长由小到大排列。
该实施例中,比如:存在第一等待队列中存在两个等待任务,分别为等待任务1和等待任务2,且等待任务1在等待任务2之前执行,此时,存在高优先级任务,若高优先级任务放置在等待任务1之前,会对等待任务1和等待任务2都造成影响,若高优先级任务放置在等待任务1之后以及等待任务2之前,会对等待任务2造成影响,若放在等待任务2之后,不会对等待任务1以及等待任务2造成影响,也就是需要根据高级优先级的放置位置,来确定对不同等待任务的影响系数;
且影响系数是根据高优先级任务所在位置,对相邻下一个位置造成的影响,且该影响与高级优先级任务导致相邻下一个位置的任务的推迟时间,以及根据该推迟时间,造成相邻下一个位置的任务不能按时执行完整的可能性,是可以基于相邻下一个位置的任务的预先设定的执行时间、在到达新的执行时间后所对应空闲资源能够支撑完整任务的可能性所确定的,也就是,其中,/>表示第i1+1位置所对应任务的延迟时间;表示第i1+1位置所对应任务的延迟时间对应的任务完成函数,如果能完成,对应的影响系数为0,如果不能完整,则根据不能完整的比例来作为影响系数,以此类推,得到对其余靠后位置的任务的影响系数。
该实施例中,当识别有新任务添加至第一等待队列时,会基于等待队列中的剩余时间以及任务成功率,对第一等待队列中的所有任务进行重新排序,实际的机器学习系统可以连续稳定的运行。
上述技术方案的有益效果是:利用新识别的任务的影响以及失败后的时间损失风险,与队列中所有任务的剩余运行时间和成功率进行对比,确定出任务的运行先后顺序,确保了高优先级任务可用及时处理,并优化了资源利用率,使得机器学习系统可以连续稳定的运行。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,所述调度方法还包括:
当所述任务平台上的每个任务基于机器学习系统运行结束后,对任务的准确率进行分析,判断准确率是否在设定阈值范围之间,若否,则将对应任务重新运行;
当同个任务在所述机器学习系统两次运行且准确率都不在设定阈值范围之间,对所述同个任务的运行日志进行分析,确定所述机器学习系统中对应模型针对该任务的训练数据的是否存在问题。
该实施例中,可以基于任务的复杂程度对任务进行多次运行,以确保任务的准确性。
该实施例中,对所述任务的运行日志文件进行分析,包括,模型的准确率、召回率以及综合评价指标。
上述技术方案的有益效果是:根据任务准确率的判断,确定任务的运行是否成功,通过对任务的两次运行,减少了随机误差的影响,提高了机器学习系统的任务准确率,增强了系统的稳定性和可靠性。
本发明提供了一种面向分布式机器学习系统的任务平台连续运行调度方法,则将所述低优先级任务加入至所述机器学习系统的第二等待队列之后,包括:
当所有高优先级任务已经运行或已加入所述第一等待队列,且有任务完成使其它节点的资源空闲时,对所述第二等待队列中的低优先级任务进行依次判断,判断未被占用资源是否满足所述第二等待队列中的低优先级任务的需求,若是,则向所述节点发送调度指令,并运行所述低优先级任务,若否,则将所述低优先级任务加入所述第二等待队列继续等待。
该实施例中,当高优先级任务全部已被调度,则基于节点的空闲资源,对所述第二等待队列进行调度。
该实施例中,该实施例中,所述第二等待对垒为机器学习系统的等待队列,当所有高优先级任务已经运行或已加入所述第一等待队列时,对第二等待队列的任务进行判断并运行。
上述技术方案的有益效果是:当优先级任务全部调度完成且还有空闲节点时,对低优先级任务进行运行,尽可能地利用空闲的资源执行低优先级任务,优化了资源利用率,提高了机器学习系统的计算效率和任务完成速度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种面向分布式机器学习系统的任务平台连续运行调度方法,其特征在于,包括:
步骤1:基于任务平台获取机器学习系统的所有工作节点以及对应节点的当前资源占用情况;
步骤2:对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间;
步骤3:基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,且结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,并向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列;
步骤4:基于任务平台解析低优先级任务,确定所需节点以及每个所需节点的所需资源,并确定剩余未被占用的节点和节点未被占用的资源是否满足所述低优先级任务的需求,若否,则将所述低优先级任务加入至所述机器学习系统的第二等待队列;
其中,基于任务平台解析高优先级任务,确定所需节点以及每个所需节点的实际资源,包括:
分析所述高优先级任务,确定所需节点类型、不同节点类型的节点数量以及每个所需节点的理想资源;
从历史数据库中获取与所述高优先级任务一致的资源调用集合,并获取得到每个所需节点的最大历史资源;
估算同个所需节点的最大历史资源与理想资源的第一比值:
;其中,/>为对应所需节点的最大历史资源,/>为对应所需节点的理想资源;
根据所述第一比值,确定对应所需节点的第二比值:
;根据同个所需节点的理想资源以及所述第二比值,确定对应节点的实际资源:
;其中,n为对应节点的实际资源;
其中,结合机器学习系统中所有节点占用任务结束时间以及当前资源占用情况进行分析,确定最快满足高优先级需求的第一节点,包括:
获取与所述高优先级任务所一致的每个所需节点中当下每个占用任务距离对应结束时间的时间差;
根据时间差,对所有所需节点中的任务执行完成时间由小到大进行排序,并对首位节点的可用资源进行分析,确定是否满足所述高优先级需求,其中,所述可用资源指的是所述首位节点执行完距离对应结束时间最近的任务后所余出的空闲资源;
若不满足,继续对下一位节点的可用资源进行分析。
2.根据权利要求1所述的调度方法,其特征在于,所述当前资源占用情况,包括:同个工作节点已被占用资源、空闲资源以及节点总资源。
3.根据权利要求1所述的调度方法,其特征在于,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间,包括:
根据每个工作节点下对应占用任务的任务类型,确定得到占用任务的理想执行时间;
统计与占用任务所对应的工作节点在对应占用任务开始调用的第一时间点到当下时间点之间的实际调用次数,其中,所述实际调用次数为依赖对应占用任务所实现的调用次数;
根据所述实际调用次数的实际调用量与理想调用量的差值,对理想执行时间进行优化,得到占用任务结束时间,其中,所述优化包括理想执行时间提前或延迟。
4.根据权利要求3所述的调度方法,其特征在于,对所有工作节点的当下占用任务进行分析,确定每个占用任务结束时间之后,包括:
当所述任务平台捕捉到新任务时,判断所述新任务是否存在预设优先级,若不存在,则对所述新任务的最迟规定运行时间进行分析,确定所述新任务的优先级级别。
5.根据权利要求1所述的调度方法,其特征在于,向所述第一节点发送调度指令,将所述高优先级任务加入至对应第一节点的第一等待队列,包括:
当所述第一节点的第一等待队列为空时,将所述高优先级任务添加至对应的等待队列首位,并等待执行;
当所述第一节点的第一等待队列为多个时,对所述高优先级任务进行分析,确定所述高优先级任务的最迟运行时间以及对所述第一等待队列中每个等待任务的影响系数;
根据所有影响系数以及高优先级任务执行失败后的时间损失风险系数,确定所述高优先级任务的重要程度:
;其中,/>为所述高优先级任务的重要程度,表示为第i1个影响系数,/>为时间损失风险系数,/>表示为影响权重,/>表示为风险权重;/>表示与所述高优先级任务一致的所有影响系数的个数;
基于所述高优先级任务的最迟运行时间以及当下时间,确定所述高优先级任务的剩余时间,根据所述高优先级任务的剩余时间以及所述重要程度,计算出所述高优先级任务在所述第一等待队列的初始优先级权重:
;其中,/>表示所述高优先级任务在所述第一等待队列中的初始优先级权重,/>表示为所述第一等待队列中高优先级任务的剩余时间的倒数;
确定所述第一等待队列中每个等待任务的执行成功率,并对每个等待任务的优先级进行修正:
;其中,/>为等待任务i1修正之后的优先级权重,为等待任务i1的权重比例,/>表示等待任务i1的执行成功率;为等待任务i1的设定权重;/>为所述高优先级任务的当下优先级权重;
将与所有/>按权重由大到小排列,并对存在的相同权重按照对应任务的剩余时长由小到大排列。
6.根据权利要求5所述的调度方法,其特征在于,还包括:
当所述任务平台上的每个任务基于机器学习系统运行结束后,对任务的准确率进行分析,判断准确率是否在设定阈值范围之间,若否,则将对应任务重新运行;
当同个任务在所述机器学习系统两次运行且准确率都不在设定阈值范围之间,对所述同个任务的运行日志进行分析,确定所述机器学习系统中对应模型针对该任务的训练数据的是否存在问题。
7.根据权利要求1所述的调度方法,其特征在于,将所述低优先级任务加入至所述机器学习系统的第二等待队列之后,包括:
当所有高优先级任务已经运行或已加入所述第一等待队列后,如果存在节点有空闲资源时,对所述第二等待队列中的低优先级任务进行依次判断,判断未被占用资源是否满足所述第二等待队列中的低优先级任务的需求,若是,则向对应节点发送调度指令,并运行所述低优先级任务,若否,则将所述低优先级任务加入所述第二等待队列继续等待。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854346.7A CN116578406B (zh) | 2023-07-13 | 2023-07-13 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854346.7A CN116578406B (zh) | 2023-07-13 | 2023-07-13 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116578406A CN116578406A (zh) | 2023-08-11 |
CN116578406B true CN116578406B (zh) | 2023-10-10 |
Family
ID=87536320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310854346.7A Active CN116578406B (zh) | 2023-07-13 | 2023-07-13 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578406B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139730A (zh) * | 2021-06-30 | 2022-03-04 | 武汉大学 | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 |
CN114779806A (zh) * | 2022-04-02 | 2022-07-22 | 北京航天晨信科技有限责任公司 | 一种分布式协同的任务处理方法、装置、设备及存储介质 |
CN115271102A (zh) * | 2022-09-26 | 2022-11-01 | 太极计算机股份有限公司 | 一种机器学习引擎的任务导向的优先级方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291548B (zh) * | 2016-03-31 | 2021-04-13 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
-
2023
- 2023-07-13 CN CN202310854346.7A patent/CN116578406B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139730A (zh) * | 2021-06-30 | 2022-03-04 | 武汉大学 | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 |
CN114779806A (zh) * | 2022-04-02 | 2022-07-22 | 北京航天晨信科技有限责任公司 | 一种分布式协同的任务处理方法、装置、设备及存储介质 |
CN115271102A (zh) * | 2022-09-26 | 2022-11-01 | 太极计算机股份有限公司 | 一种机器学习引擎的任务导向的优先级方法及系统 |
Non-Patent Citations (1)
Title |
---|
在线多任务异构云服务器负载均衡算法研究;徐爱萍 等;计算机科学;第43卷(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116578406A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020206705A1 (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
CN109561148A (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN107357652B (zh) | 一种基于分段排序及标准差调整因子的云计算任务调度方法 | |
CN109861850B (zh) | 一种基于sla的无状态云工作流负载均衡调度的方法 | |
WO2020248226A1 (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
CN108711007A (zh) | 一种能源一体化采集系统的多任务实时调度方法 | |
CN115237568A (zh) | 一种面向边缘异构设备的混合权重任务调度方法及系统 | |
CN115269159A (zh) | 基于人工智能与边缘计算支持的调度系统与方法 | |
CN113190359B (zh) | 一种仿真请求处理方法、装置、电子设备及可读存储介质 | |
CN116578406B (zh) | 面向分布式机器学习系统的任务平台连续运行调度方法 | |
CN112491742B (zh) | 一种边缘计算终端资源调度方法及装置 | |
CN113535387A (zh) | 一种异构感知的gpu资源分配与调度方法及系统 | |
CN116954905A (zh) | 一种面向Flink大数据的任务编排与迁移方法 | |
CN113051064A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112052087B (zh) | 动态资源调整与迁移的深度学习训练系统及方法 | |
CN113688053B (zh) | 云化测试工具的排队使用方法和系统 | |
CN104731662A (zh) | 一种可变并行作业的资源分配方法 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111628943B (zh) | 一种基于通信和感知技术的智能物联方法 | |
CN114741200A (zh) | 面向数据中台的计算资源分配方法、装置及电子设备 | |
CN114356515A (zh) | 一种数据转换任务的调度方法 | |
CN112817761A (zh) | 一种增强云计算环境节能方法 | |
CN116848508A (zh) | 基于强化学习模型调度任务以供计算机执行 | |
CN116841717B (zh) | 一种根据任务紧急程度实时生成排序的方法及系统 | |
CN116665670B (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 |