CN116028166A - 任务管理的方法、装置、设备和存储介质 - Google Patents
任务管理的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116028166A CN116028166A CN202111240806.4A CN202111240806A CN116028166A CN 116028166 A CN116028166 A CN 116028166A CN 202111240806 A CN202111240806 A CN 202111240806A CN 116028166 A CN116028166 A CN 116028166A
- Authority
- CN
- China
- Prior art keywords
- task
- abnormal
- tasks
- execution
- sharing module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000002159 abnormal effect Effects 0.000 claims abstract description 325
- 230000004927 fusion Effects 0.000 claims abstract description 197
- 238000012360 testing method Methods 0.000 claims description 170
- 238000002955 isolation Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 114
- 238000012545 processing Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 208000033748 Device issues Diseases 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 12
- 230000005856 abnormality Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种任务管理的方法、装置、设备和存储介质,属于计算机技术领域。该方法包括:向多任务融合共享模块下发多个任务,该多任务融合共享模块运行于计算单元,多个任务中包括至少两个类型不相同的任务,基于每个任务的执行状态信息,确定多个任务中存在异常任务且异常任务满足隔离执行条件,控制该异常任务隔离执行。采用本申请,能够使得不同类型的任务同时执行,进而降低使用多任务融合共享的局限性。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种任务管理的方法、装置、设备和存储介质。
背景技术
随着网络技术和计算机技术的发展,计算单元作为云服务中的重要资源,其资源消耗量占比较高,因此计算单元的利用率至关重要。为了提升计算单元的利用率,出现了计算单元共享技术。计算单元共享技术是指使得多个任务同时运行在一个计算单元上的技术。
相关技术中,计算单元共享技术是在计算单元上提供多任务融合共享模块。多任务融合共享模块运行于计算单元上,当类型相同的多个任务被下发到计算单元的多任务融合共享模块上时,多任务融合共享模块通过合并该多个任务的上下文信息,使得该多个任务能够在计算单元上同时被执行,提升计算单元的利用率。
在相关技术中,计算单元只能实现同类型任务的共享,存在使用多任务融合共享模块的局限性。
发明内容
本申请提供了一种任务管理的方法、装置、设备和存储介质,能够实现不同类型的任务同时执行,使得降低使用多任务融合共享模块的局限性。
第一方面,本申请提供了一种任务管理的方法,该方法包括:向第一多任务融合共享模块下发多个任务,该第一多任务融合共享模块运行于第一计算单元,该多个任务中包括至少两个类型不相同的任务。基于每个任务的执行状态信息,确定该多个任务中存在异常任务且该异常任务满足隔离执行条件,控制该异常任务隔离执行。
本申请所示的方案,第一多任务融合共享模块可以是一个软件程序,第一多任务融合共享模块运行于第一计算单元。在向第一多任务融合共享模块下发多个任务后,使用每个任务的状态信息,确定该多个任务中存在异常任务且满足隔离执行条件。然后可以控制该异常任务隔离执行。这样,在下发的任务中包括不同类型的任务时,即使出现异常也能找到异常任务,控制异常任务隔离执行,能够降低使用多任务融合共享模块的局限性。
在一种可能的实现方式中,该基于每个任务的执行状态信息,确定该多个任务中存在异常任务且该异常任务满足隔离执行条件,包括:若该多个任务中执行状态信息包括失败状态的任务占该多个任务的比例超过第一比例,则确定该执行状态信息包括失败状态的任务为异常任务。获取该异常任务的执行结束时间点,基于该异常任务的执行结束时间点,确定该异常任务满足隔离执行条件。
本申请所示的方案,在多个任务中执行状态信息包括失败状态的任务占该多个任务的比例超过第一比例时,可以确定执行状态信息包括失败状态的任务为异常任务。使用异常任务的执行结束时间点,确定该异常任务满足隔离执行条件。这样,在多个任务中比较多的任务执行失败时,使用执行结束时间点能够准确判断异常任务是否满足隔离执行条件。
在一种可能的实现方式中,该获取该异常任务的执行结束时间点,包括:获取该异常任务的执行输出信息,在该异常任务的执行输出信息中,获取该异常任务的执行结束时间点,或者,获取该异常任务的进程的运行结束时间点,确定为该异常任务的执行结束时间点。
本申请所示的方案,执行输出信息可以认为是执行日志等,可以使用执行输出信息或者异常任务的进程的运行结束时间点,确定出异常任务的执行结束时间点。这样,能够使用多种方式确定出异常任务的执行结束时间点。
在一种可能的实现方式中,在获取该异常任务的执行结束时间点之前,还包括:确定该异常任务对应的异常标识不属于目标异常标识,该目标异常标识用于指示任务内部错误。
本申请所示的方案,在确定出异常任务后,在异常任务不是任务内部错误时,获取异常任务的执行结束时间点。这样,避免异常任务是由于任务内部错误而去获取执行结束时间点,能够节约处理资源。
在一种可能的实现方式中,该执行状态信息包括计算资源利用率和存储资源利用率中至少一种;该基于每个任务的执行状态信息,确定该多个任务中存在异常任务且该异常任务满足隔离执行条件,包括:基于每个任务的执行状态信息,确定响应时长异常的任务;若该多个任务中该响应时长异常的任务占该多个任务的比例超过第二比例,则将该响应时长异常的任务确定为该异常任务;向该第一多任务融合共享模块下发第一测试任务;若该第一测试任务执行异常,则确定该异常任务满足隔离执行条件。
本申请所示的方案,在执行状态信息包括计算资源利用率和存储资源利用率中至少一种时,使用每个任务的执行状态信息,确定出响应时长异常的任务。然后使用响应时长异常的任务,确定出异常任务。向第一多任务融合共享模块下发第一测试任务,在第一测试任务执行异常的情况下,可以确定异常任务满足隔离执行条件。这样,在存在响应时长异常的异常任务时,能够使用测试任务测试异常任务是否满足隔离执行条件。
在一种可能的实现方式中,该基于每个任务的执行状态信息,确定该多个任务中存在异常任务且该异常任务满足隔离执行条件,还包括:若该第一测试任务执行正常,则向该第一多任务融合共享模块下发第二测试任务,该第二测试任务的复杂度高于该第一测试任务。若该第二测试任务执行异常,则确定该异常任务满足隔离执行条件。
本申请所示的方案,在第一测试任务执行正常的情况下,继续使用第二测试任务进行测试。由于第一测试任务复杂度低于第二测试任务,所以第二测试任务测试更全面,使用第二测试任务能够更准确判断异常任务满足隔离执行条件。
在一种可能的实现方式中,该控制该异常任务隔离执行,包括:对于该异常任务中的第一任务,向第二多任务融合共享模块下发该第一任务,该第二多任务融合共享模块运行于第二计算单元,该第一任务在该第二计算单元的目标区域中被执行时该目标区域中未执行其他任务;若该第一任务执行异常,则关闭该第二多任务融合共享模块,控制该第二计算单元重新执行该第一任务。
本申请所示的方案,在对异常任务中的第一任务进行隔离执行时,向第二多任务融合共享模块下发第一任务,第二多任务融合共享模块运行于第二计算单元。第一任务在第二计算单元的目标区域中被执行时目标区域中未执行其他任务,使得第一任务隔离执行。在第一任务执行异常的情况下,关闭第二多任务融合共享模块,使得第二计算单元重新执行第一任务。这样,能够判断出第一任务是否能够使用多任务融合共享模块。
在一种可能的实现方式中,在确定该第一任务执行正常之后,还包括:当接收到第二任务的执行请求时,若该第二任务与该第一任务的请求字段相同和/或算法相同,则将该第一任务不下发至运行于计算单元的多任务融合共享模块上;和/或,向该第一任务的请求方发送提醒消息,该提醒消息用于指示该第一任务不能下发至运行于计算单元的多任务融合共享模块上。
本申请所示的方案,第一任务在第二计算单元上执行正常后,再接收到与第一任务请求字段相同和/或算法相同的第二任务时,不再将第二任务下发至运行于计算单元的多任务融合共享模块上,能够提升第二任务的执行成功率。和/或,第一任务在第二计算单元上执行正常后,提醒用户第一任务不能使用多任务融合共享模块。
在一种可能的实现方式中,在向第一多任务融合共享模块下发多个任务之前,还包括:向该第一多任务融合共享模块下发第一测试任务;确定该第一测试任务执行正常。
本申请所示的方案,在向第一多任务融合共享模块下发多个任务前,确定第一多任务融合共享模块正常,降低多个任务执行失败的概率。
在一种可能的实现方式中,该方法还包括:若该第一测试任务执行异常,则删除该第一多任务融合共享模块上的任务,重启该第一多任务融合共享模块。
本申请所示的方案,在使用第一测试任务测试第一多任务融合共享模块时,在第一测试任务执行异常的情况下,删除第一多任务融合共享模块上的任务,重启第一多任务融合共享模块,尽可能在下发任务前保证第一多任务融合共享模块正常。
第二方面,本申请提供了一种任务管理的装置,该装置包括:
调度模块,用于向第一多任务融合共享模块下发多个任务,该第一多任务融合共享模块运行于第一计算单元,该多个任务中包括至少两个类型不相同的任务;
确定模块,用于基于每个任务的执行状态信息,确定该多个任务中存在异常任务且该异常任务满足隔离执行条件;
该调度模块,还用于控制该异常任务隔离执行。
在一种可能的实现方式中,该确定模块,用于若该多个任务中执行状态信息包括失败状态的任务占该多个任务的比例超过第一比例,则确定该执行状态信息包括失败状态的任务为异常任务;获取该异常任务的执行结束时间点;基于该异常任务的执行结束时间点,确定该异常任务满足隔离执行条件。
在一种可能的实现方式中,该确定模块,用于获取该异常任务的执行输出信息,在该异常任务的执行输出信息中,获取该异常任务的执行结束时间点;或者,获取该异常任务的进程的运行结束时间点,确定为该异常任务的执行结束时间点。
在一种可能的实现方式中,该确定模块,还用于在获取该异常任务的执行结束时间点之前,确定该异常任务对应的异常标识不属于目标异常标识,该目标异常标识用于指示任务内部错误。
在一种可能的实现方式中,该执行状态信息包括计算资源利用率和存储资源利用率中至少一种;该确定模块,用于基于每个任务的执行状态信息,确定响应时长异常的任务;若该多个任务中该响应时长异常的任务占该多个任务的比例超过第二比例,则将该响应时长异常的任务确定为该异常任务;向该第一多任务融合共享模块下发第一测试任务;若该第一测试任务执行异常,则确定该异常任务满足隔离执行条件。
在一种可能的实现方式中,该确定模块,还用于若该第一测试任务执行正常,则向该第一多任务融合共享模块下发第二测试任务,该第二测试任务的复杂度高于该第一测试任务;若该第二测试任务执行异常,则确定该异常任务满足隔离执行条件。
在一种可能的实现方式中,该调度模块,还用于对于该异常任务中的第一任务,向第二多任务融合共享模块下发该第一任务,该第二多任务融合共享模块运行于第二计算单元,该第一任务在该第二计算单元的目标区域中被执行时该目标区域中未执行其他任务;若该第一任务执行异常,则关闭该第二多任务融合共享模块,控制该第二计算单元重新执行该第一任务。
在一种可能的实现方式中,该调度模块,还用于在确定该第一任务执行正常之后,当接收到第二任务的执行请求时,若该第二任务与该第一任务的请求字段相同和/或算法相同,则将该第一任务不下发至运行于计算单元的多任务融合共享模块上;和/或,向该第一任务的请求方发送提醒消息,该提醒消息用于指示该第一任务不能下发至运行于计算单元的多任务融合共享模块上。
在一种可能的实现方式中,该调度模块,还用于在向第一多任务融合共享模块下发多个任务之前,向该第一多任务融合共享模块下发第一测试任务;确定该第一测试任务执行正常。
在一种可能的实现方式中,该调度模块,还用于若该第一测试任务执行异常,则删除该第一多任务融合共享模块上的任务,重启该第一多任务融合共享模块。
第三方面,本申请提供了一种任务管理的计算设备,该计算设备包括处理器和存储器,其中,该存储器中存储有计算机指令;该处理器执行该计算机指令,以实现第一方面所述的任务管理的方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当该计算机可读存储介质中的计算机指令被计算设备执行时,使得该计算设备执行第一方面所述的任务管理的方法。
第五方面,本申请提供了一种包含计算机指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面所述的任务管理的方法。
附图说明
图1是本申请一个示例性实施例提供的用户与系统交互示意图;
图2是本申请一个示例性实施例提供的系统的结构示意图;
图3是本申请一个示例性实施例提供的管理装置的部署示意图;
图4是本申请一个示例性实施例提供的计算设备的结构示意图;
图5是本申请一个示例性实施例提供的任务管理的方法流程示意图;
图6是本申请一个示例性实施例提供的下发任务的示意图;
图7是本申请一个示例性实施例提供的判断异常任务是否满足隔离执行条件的流程示意图;
图8是本申请一个示例性实施例提供的判断异常任务是否满足隔离执行条件的流程示意图;
图9是本申请一个示例性实施例提供的隔离执行的流程示意图;
图10是本申请一个示例性实施例提供的隔离执行的流程框图;
图11是本申请一个示例性实施例提供的检测多任务融合共享模块是否正常的流程示意图;
图12是本申请一个示例性实施例提供的任务管理的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先描述所涉及到的名词的概念。
计算单元,是用于进行数据的数学运算的单元,如图形运算单元、显卡、计算卡等。随着计算需求的越来越大,计算单元的算力越来越强,一些计算单元能够满足数据的大规模并行运算。此处的计算单元也可以称为是并行计算单元。
任务,是一种数据的数学运算工作。例如,任务是数据合并运算工作等。
多任务融合共享模块,是指用于调度多个任务,使得多个任务能够同时运行在同一个计算单元中的模块。例如,多任务融合共享模块可以是一个软件程序等。计算单元上可以运行有多任务融合共享模块,由该模块来接收和调度上层应用或用户下发的任务,使得这些任务可以并行地运行在计算单元上,提升计算单元的利用率。
异构任务,是指类型不相同的任务。类型不相同的任务包括计算算子不相同的任务和任务之间不存在调用关系的任务等。异构任务也可以认为是相互独立的任务。异构任务也可以认为是不存在关联关系的任务。例如,不同用户或不同容器请求执行的不同类型的任务,或者相同用户或相同容器请求执行的不同类型的任务。
接下来描述相关技术中存在的问题。
随着网络技术和计算机技术的发展,计算单元作为云服务中的重要资源,其资源消耗量占比较高,因此计算单元的利用率至关重要。为了提升计算单元的利用率,相关技术中,计算单元上运行有多任务融合共享模块,将相同类型的多个任务下发到该多任务融合共享模块上,该多任务融合共享模块通过合并该多个任务的上下文信息,使得该多个任务能够同时被执行。相关技术中计算单元只能实现相同类型任务的共享,在存在大量不相同类型任务的共享时,有可能会使得任务执行失败,且难以找到任务执行失败的原因。
另外,目前多个任务共享计算单元时,有可能会出现如下这些问题:
任务互相干扰的问题:若一个任务出现底层访问越界或者底层驱动的故障时,除了该任务自身会失败,也会导致同时运行的其他任务失败,且任务错误码也可能不一致。
任务响应时长异常的问题:某些任务出现响应时长异常,响应时长异常的这些任务也不会出现失败,多任务融合共享模块还能够接受新下发的任务,但是均是响应时长异常,任务不能被正确执行。例如,一个深度学习训练任务被下发至多任务融合共享模块时,多任务融合共享模块故障会使得任务响应时长异常。此处任务响应时长异常可以认为是任务卡住或者挂起。
本申请实施例中,在多个任务下发至多任务融合共享模块时,能够监控多个任务的执行状态信息,使用多个任务的执行状态信息,确定多个任务中存在异常任务。在该异常任务满足隔离执行条件时,控制异常任务隔离执行。这样,在多任务融合共享模块同时接收到的任务包括类型不相同的任务时,即使出现异常也能找到异常任务,将异常任务隔离执行,所以多任务融合共享模块可以处理类型相同的任务也可以处理类型不相同的任务,多任务融合共享的局限性比较小。
此处需要说明的是,类型不相同的任务被下发至多任务融合共享模块上时,类型不相同的任务有可能可以一起执行,有可能不可以一起执行,本申请实施例中,可以找到不可以一起执行的任务,对其进行隔离执行。
接下来介绍本申请实施例中的系统架构。
本申请实施例中,任务请求方与系统100进行交互,任务请求方向系统100提交任务,系统100执行任务请求方提交的任务,并且向任务请求方返回执行结果。此处任务请求方为用户等。
示例性的,图1为本申请实施例示例性的提供的用户与系统100进行交互的示意图。系统100可以全部部署在云平台中。云平台是指基于硬件资源和软件资源,提供计算、网络和存储能力的平台,云平台也能称为是云计算平台。云平台中包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),该计算资源可以是大量的计算设备,如服务器等。如图1所示,系统100由云服务器提供商在云平台中抽象成一种云服务提供给用户,云平台利用部署在云平台的系统100向用户提供云服务。在使用云服务时,用户可以向云平台上传任务。云平台中的系统100接收上传的任务,执行该任务。
参见图2所示的系统100的结构示意图,该系统100包括管理装置101(即任务管理的装置)和计算单元102,管理装置101是本申请实施例中的执行主体。该管理装置101是一个硬件装置,如服务器和具有计算单元的终端计算设备等计算设备。或者,管理装置101是一个软件装置,如运行在该硬件装置上的一套软件程序。计算单元102可以是多个,计算单元102上运行有多任务融合共享模块,计算单元102能够执行任务。
示例性的,管理装置101包括调度模块1011和确定模块1012,其中,调度模块1011,用于向计算单元102下发任务(如向多任务融合共享模块下发任务),由计算单元102执行任务,并且在任务执行完成后,还用于释放计算单元102的资源。确定模块1012包括任务状态监控模块10121,任务状态监控模块10121,用于获取任务的执行状态信息,执行状态信息包括计算资源、内存资源和运行状态等。
可选的,任务状态监控模块10121部署在调度模块1011与计算单元102之间。在调度模块1011向计算单元102下发任务时,经过任务状态监控模块10121,任务状态监控模块10121能够监听到任务。并且计算单元102向调度模块1011返回任务执行结果时,也经过任务状态监控模块10121,任务状态监控模块10121监听到任务执行结果。
另外,任务状态监控模块10121还能够监控任务在计算单元102上执行时的执行状态信息。
可选的,确定模块1012还包括心跳检测模块10122,心跳检测模块10122,用于检测多任务融合共享模块是否正常。示例性的,心跳检测模块10122向多任务融合共享模块下发测试任务,判断多任务融合共享模块是否正常。
可选的,在确定模块1012还包括心跳检测模块10122的情况下,任务状态监控模块10121还用于基于执行状态信息,确定是否通知心跳检测模块10122检测多任务融合共享模块是否正常。
应理解,图1所示的管理装置101中包括的各个模块仅是一种示例,在一些实现中,管理装置101可以仅包括其中部分模块的功能,或者,在另一些实现中,管理装置101还可以包括其他模块的功能,本申请实施例对此不作限定。
上述提到的管理装置101可以部署在计算机集群、机器学习平台、本地服务器、边缘服务器或者具有计算单元的终端计算设备。
示例性的,本申请提供的系统100中的管理装置101的部署较为灵活,如图3所示,在另一种实施例中,本申请提供的管理装置101还可以分布式地部署在不同的环境中。本申请提供的管理装置101可以在逻辑上分成多个部分,每个部分具有不同的功能。例如,在一种实施例中,管理装置101包括调度模块1011和确定模块1012。管理装置101中的各部分可以分别部署在终端计算设备、边缘环境和云平台中的任意两个或三个环境中。终端计算设备包括:终端服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑等。边缘环境为包括距离终端计算设备较近的边缘计算设备集合的环境,边缘计算设备包括:边缘服务器、拥有计算能力的边缘小站等。部署在不同环境或设备的管理装置101的各个部分协同进行任务管理。图3示出了任务状态监控模块10121和调度模块1011部署在云平台上,心跳检测模块10122部署在边缘环境。应理解,本申请不对管理装置101的哪些部分部署具体部署在什么环境进行限制性的划分,实际应用时可根据终端计算设备的计算能力、边缘环境和云平台的资源占有情况或具体应用需求进行适应性的部署。此种情况下,计算单元102可以是终端计算设备、边缘环境和云平台提供的计算资源。
管理装置101也可以单独部署在任意环境中的一个计算设备上,如单独部署在边缘环境的一个边缘服务器上。图4为部署有管理装置101的计算设备400的硬件结构示意图,图4所示的计算设备400包括存储器401、处理器402、通信接口403以及总线404。其中,存储器401、处理器402、通信接口403通过总线404实现彼此之间的通信连接。
存储器401可以是只读存储器(read only memory,ROM),随机存取存储器(randomaccess memory,RAM),硬盘,快闪存储器或其任意组合。存储器401可以存储程序,当存储器401中存储的程序被处理器402执行时,处理器402和通信接口403用于执行本申请实施例中任务管理的方法。存储器还可以存储数据集。例如,存储器401中的一部分存储资源被划分成存储执行输出信息,存储器401中的一部分存储资源被划分成存储执行状态信息。
处理器402可以采用中央处理器(central processing unit,CPU),应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphicsprocessing unit,GPU)或其任意组合。处理器402可以包括一个或多个芯片。处理器402可以包括AI加速器,例如,神经网络处理器(neural processing unit,NPU)。
通信接口403使用例如收发器一类的收发模块,来实现计算设备400与其他设备或通信网络之间的通信。例如,可以通过通信接口403获取数据。
总线404可包括在计算设备400各个部件(例如,存储器401、处理器402、通信接口403)之间传送信息的通路。
前文中描述了任务管理的系统100,接下来描述任务管理的方法的流程,参见图5,在图5的流程中管理装置为前文提到的管理装置101。
步骤501,向第一多任务融合共享模块下发多个任务,第一多任务融合共享模块运行于第一计算单元,多个任务中包括至少两个类型不相同的任务。
其中,第一计算单元为执行任务的计算单元,第一计算单元为前文提到的计算单元102。
在本实施例中,管理装置接收任务请求方发送的多个任务,该任务请求方为用户和容器中至少一种,该多个任务中包括至少两个类型不相同的任务,说明多个任务中包括异构任务。管理装置使用负载均衡原则,确定多个任务调度至第一计算单元。管理装置向第一任务融合共享模块下发多个任务。例如,图6提供了向第一多任务融合共享模块下发三个任务的示意图,该三个任务包括任务A、任务B和任务C。在第一多任务融合共享模块接收到多个任务后,第一多任务融合共享模块使得多个任务在第一计算单元上并行执行。示例性的,第一多任务融合共享模块合并多个任务的上下文信息,使得多个任务在第一计算单元上并行执行。
可选的,在管理装置向该多任务融合共享模块下发该多个任务之前,管理装置确定该多个任务使用多任务融合共享模块。例如,管理装置存储有白名单,白名单中的任务请求方使用多任务融合共享模块,管理装置在白名单确定存在当前的任务请求方。
步骤502,基于每个任务的执行状态信息,确定多个任务中存在异常任务且异常任务满足隔离执行条件。
在本实施例中,执行状态信息是在任务在被执行时获得的状态信息。管理装置获取每个任务的执行状态信息,管理装置使用每个执行状态信息,判断多个任务中是否存在异常任务。若该多个任务中存在异常任务,则判断该异常任务是否满足隔离执行条件。若管理装置确定该异常任务满足隔离执行条件,则执行步骤503,若管理装置确定该异常任务不满足隔离执行条件,则可以不执行步骤503。
步骤503,控制异常任务隔离执行。
其中,隔离执行指在执行某个异常任务时,执行该任务的区域仅执行该异常任务。例如,计算单元被划分为两个逻辑上的区域,在某个异常任务在其中一个逻辑上的区域中被执行时,该区域中仅执行该异常任务。
在本实施例中,管理装置在确定异常任务满足隔离执行条件时,控制异常任务隔离执行。例如,在异常任务存在多个时,控制每个异常任务隔离执行。
基于图5所示的流程,在有类型不相同的任务同时下发至多任务融合共享模块时,在任务执行过程中,管理装置能够确定出异常任务,对异常任务进行隔离执行。这样,即使出现异常任务,也能继续对异常任务进行执行,因此多任务融合共享模块能够调度类型不相同任务在计算单元上同时执行。
接下来对图5所示的流程进行详细描述。
首先描述多个任务互相干扰的情况下,步骤502的处理过程。在多个任务被下发至多任务融合共享模块时,任务互相干扰会使得一个任务失败引起下发至该多任务融合共享模块的大部分任务均失败,互相干扰如执行任务时的底层访问越界或底层驱动故障等,本申请实施例不对引起任务互相干扰的原因进行限定。在多个任务中存在执行失败的任务时,管理装置获取到的执行状态信息包括失败状态。管理装置能够基于失败状态判断异常任务是否满足隔离执行条件,本申请实施例提供了该处理的流程,参见图7所示的流程。具体如下:
步骤701,判断多个任务中执行状态信息包括失败状态的任务占多个任务的比例是否超过第一比例。
其中,第一比例可以预设,第一比例的数值比较大,第一比例接近1。这是由于任务之间互相干扰一般是会导致多个任务均执行失败,所以第一比例的数值比较大。
在本实施例中,管理装置能够获取到每个任务的执行状态信息,若某些任务的执行状态信息包括失败状态,则确定对应失败状态的任务的数目。管理装置使用该数目除以多个任务的数目,得到失败状态的任务占多个任务的比例,判断该比例与第一比例大小关系。
步骤702,若多个任务中执行状态信息包括失败状态的任务占多个任务的比例超过第一比例,则确定执行失败的任务为异常任务。
步骤703,若多个任务中执行状态信息包括失败状态的任务占多个任务的比例未超过第一比例,则不做处理。
在本实施例中,若步骤701中确定出的比例小于或等于第一比例,则执行失败的任务比较少,有可能是由于任务本身错误导致的,不需要进行处理。
步骤704,判断异常任务是否对应有目标异常标识,目标异常标识用于指示任务内部错误。
在本实施例中,管理装置在确定出异常任务后,获取异常任务对应的异常标识,异常标识也可以称为是错误码。管理装置判断该异常标识是否属于目标异常标识。
示例性的,管理装置获取异常任务的异常标识的方式有多种,如下提供两种方式。方式一为:从任务的执行输出信息中获取。方式二为:从任务执行返回的执行结果中获取。
在该方式一中,第一计算单元在执行任务的过程中,均会生成执行输出信息,执行输出信息可以是运行日志、执行日志等。管理装置从第一计算单元获取多个任务的执行输出信息,在该执行输出信息中,获取到异常任务的异常标识。在方式二中,在执行任务时,无论执行成功与否,第一计算单元均会向调度模块返回执行结果。管理装置可以在第一计算单元返回的执行结果中获取到异常标识。
此处需要说明的是,各个异常任务对应的异常标识可以相同,也可以不相同,本申请实施例对此不作限定。
步骤705,若异常任务对应的异常标识不属于目标异常标识,则获取异常任务的执行结束时间点。
在本实施例中,若管理装置确定异常标识不属于目标异常标识,则确定异常任务执行失败不是由于异常任务本身错误导致的,可以获取异常任务的执行结束时间点。
示例性的,管理装置有多种方式可以获取到异常任务的执行结束时间点,如下提供两种可行的方式。
方式一,获取异常任务的执行输出信息,在异常任务的执行输出信息中,获取异常任务的执行结束时间点。
在本实施例中,第一计算单元在执行任务的过程中,均会生成执行输出信息,执行输出信息可以是运行日志、执行日志等。管理装置从第一计算单元获取多个任务的执行输出信息,在该执行输出信息中,获取到异常任务的执行结束时间点。
方式二,获取异常任务的进程的运行结束时间点,确定为异常任务的执行结束时间点。
在本实施例中,在执行任务过程中,除了会生成执行输出信息,还会记录任务的进程的执行时间点等信息。管理装置可以获取任务的进程的执行结束时间点,将该执行结束时间点,确定为异常任务的执行结束时间点。
步骤706,若异常任务对应的异常标识属于目标异常标识,则不做处理。
在本实施例中,若管理装置确定异常标识属于目标异常标识,则确定异常任务有可能是本身错误导致的,不隔离执行异常任务。
可选的,在确定异常任务有可能是本身错误导致的,管理装置可以向任务请求方发送提示消息,提示消息中携带异常任务的异常标识。
步骤707,基于异常任务的执行结束时间点,确定异常任务满足隔离执行条件。
在步骤707中,可以基于每两个任务的执行结束时间点的差值,确定异常任务是否满足隔离执行条件(参见后文中的步骤7071至步骤7073),也可以将异常任务的执行结束时间点输入人工智能模型获得是否满足隔离执行条件的结果,也可以是将每两个任务的执行结束时间点输入至预设的运算函数,确定异常任务是否满足隔离执行条件。此处仅是三种可能实现方式,本申请实施例对此不做限定。下面详细介绍步骤7071至步骤7073。
步骤7071,判断异常任务中每两个任务的执行结束时间点之差是否属于阈值范围内。
其中,阈值范围可以预设,并且存储在管理装置中。阈值范围的端点值均比较小,例如,阈值范围为0至N,N取值比较小。此处N比较小的原因为:异常任务中每两个任务的执行结束时间点接近,说明异常任务基本上是同时执行失败,极有可能是由于一个任务导致其他任务执行失败。
在本实施例中,管理装置计算异常任务中每两个任务的执行结束时间点的差值。判断每两个任务的执行结束时间点的差值是否属于阈值范围内。
步骤7072,若属于阈值范围内,则确定异常任务满足隔离执行条件。
在本实施例中,若每两个任务的执行结束时间点的差值均属于阈值范围内,则说明任务之间有可能出现互相干扰,确定异常任务满足隔离执行条件。
步骤7073,若不属于阈值范围内,则不做处理。
在本实施例中,若不是每两个任务的执行结束时间点的差值均属于阈值范围内,则确定异常任务执行失败不是由于相互干扰引起的,可以不进行处理。
通过图7的流程,在任务执行失败后,可以判断出执行失败是否是由于任务互相干扰导致的,进而可以决定是否满足隔离执行条件。
需要说明的是,在图7的流程中步骤704是一个可选的处理步骤,也可以不执行步骤704,直接获取异常任务的执行结束时间点。在执行步骤704时,首先判断异常任务是否是由于任务内部错误导致的,在确定异常任务不是任务内部错误导致的,才进行后续处理,可以节约处理资源。
接下来描述存在响应时长异常的任务的情况下,步骤502的处理过程。任务的响应时长异常一般是由于任务挂起或卡住导致的。本申请实施例提供了在出现响应时长异常的异常任务时,判断异常任务是否满足隔离执行条件的处理过程,参见图8所示的流程。具体如下:
步骤801,基于每个任务的执行状态信息,确定响应时长异常的任务,判断多个任务中响应时长异常的任务占多个任务的比例是否超过第二比例。
在本实施例中,管理装置获取每个任务的执行状态信息,执行状态信息包括计算资源利用率和存储资源利用率。计算资源利用率包括CPU利用率和计算单元的计算资源的利用率中的一种或多种,CPU利用率是计算单元所在计算设备上的CPU的利用率。存储资源利用率包括显存用量和磁盘输入输出中的一种或多种。
管理装置使用计算资源利用率和存储资源利用率,确定每个任务的计算资源利用率和存储资源利用率是否均低于对应的参考数值。若某个任务的计算资源利用率和存储资源利用率持续目标时长均低于对应的参考数值,则确定该任务响应时长异常。若某个任务的计算资源利用率和存储资源利用率不是持续目标时长均低于对应的参考数值,则确定该任务未响应异常。此处目标时长可以预设,如5分钟等,计算资源利用率对应的参考数值和存储资源利用率对应的参考数值均可以预设,两个参考数值的取值比较小。基于计算资源利用率和存储资源利用率能判断任务的响应时长是否异常的原因为:在任务的执行过程中,任务长时间没有资源消耗,说明任务并未被执行,任务被卡住或者挂起。
步骤802,若多个任务中响应时长异常的任务占多个任务的比例超过第二比例,则将响应时长异常的任务确定为异常任务,向第一多任务融合共享模块下发第一测试任务。
其中,第一测试任务是用于检测多任务融合共享模块是否正常的任务。例如,第一测试任务是快速测试任务,快速测试任务为耗时比较短的矩阵运算任务等。或者第一测试任务是全量测试任务,全量测试任务的测试相比快速测试任务更全面。第二比例可以与第一比例相同,或者不相同,第二比例的数值接近1,这是由于任务挂起或者卡住,均是所有任务均挂起或者卡住。
在本实施例中,管理装置确定响应时长异常的任务占多个任务的比例,判断该比例与第二比例的大小关系,若该比例大于第二比例,则确定响应时长异常的任务占多个任务的比例超过第二比例。管理装置将响应时长异常的任务确定为异常任务,获取第一测试任务,向第一多任务融合共享模块下发第一测试任务。
可选的,管理装置中可以存储有第一测试任务和第一测试任务的正确执行结果,或者管理装置从其他设备获取第一测试任务和第一测试任务的正确执行结果。
步骤803,若多个任务中响应时长异常的任务占多个任务的比例未超过第二比例,则不做处理。
在本实施例中,管理装置确定响应时长异常的任务占多个任务的比例,判断该比例与第二比例的大小关系,若该比例小于或等于第二比例,则确定响应时长异常的任务占多个任务的比例未超过第二比例。则可以认为是某些任务本身有可能执行异常,并不是多个任务挂起或者卡住,可以不做处理。
步骤804,判断第一测试任务是否执行正常。
在本实施例中,管理装置下发第一测试任务后,确定在第一时长内是否获取到第一测试任务的正确执行结果。示例性的,管理装置下发第一测试任务后,开始计时,确定第一多任务融合共享模块是否返回执行结果。若在第一时长内获取到第一测试任务的执行结果,则将该执行结果与第一测试任务的正确执行结果进行比对。若一致,则确定在第一时长内获取到第一测试任务的正确执行结果,若不一致,则确定在第一时长内未获取到第一测试任务的正确执行结果。若在第一时长内未获取到第一测试任务的执行结果,则确定在第一时长内未获取到第一测试任务的正确执行结果。
步骤805,若第一测试任务执行异常,则确定异常任务满足隔离执行条件。
在本实施例中,若在第一时长内未获取到第一测试任务的正确执行结果,则确定异常任务满足隔离执行条件。此处在第一时长内未获取到第一测试任务的正确执行结果包括两种情况,一种情况是,在第一时长内未获取到第一测试任务的执行结果,另一种情况是,虽然在第一时长内获取到第一测试任务的执行结果,但是该执行结果不正确。
步骤806,在第一测试任务为全量测试任务的基础上,若第一测试任务执行正常,则确定异常任务不满足隔离执行条件。
在本实施例中,在第一测试任务为全量测试任务时,说明第一测试任务包括常规算子的基本运算、各类机器学习的训练任务和推理任务等。若管理装置在第一时长内获取到第一测试任务的正确执行结果,确定第一测试任务执行正常,则第一多任务融合共享模块正常,异常任务不满足隔离执行条件。
步骤807,在第一测试任务为快速测试任务的基础上,若第一测试任务执行正常,则向第一多任务融合共享模块下发第二测试任务,第二测试任务的复杂度高于第一测试任务。
在本实施例中,在第一测试任务为快速测试任务时,若管理装置在第一时长内获取到第一测试任务的正确执行结果,确定第一测试任务执行正常。管理装置再向第一多任务融合共享模块下发第二测试任务,第二测试任务为全量测试任务。第二测试任务的复杂度要高于第一测试任务,也可以理解为第二测试任务的测试相比第一测试任务更全面。
可选的,管理装置中可以存储有第二测试任务和第二测试任务的正确执行结果,或者管理装置从其他设备获取第二测试任务和第二测试任务的正确执行结果。
步骤808,判断第二测试任务是否执行正常。
其中,第二时长相比第一时长要长,这是由于第二测试任务的复杂度高于第一测试任务,执行第二测试任务所花费的时长要多于执行第一测试任务所花费的时长。
在本实施例中,管理装置下发第二测试任务后,确定在第二时长内是否获取到第二测试任务的正确执行结果。示例性的,管理装置下发第二测试任务后,开始计时,确定是否从第一多任务融合共享模块获取到执行结果。若在第二时长内获取到第二测试任务的执行结果,则将该执行结果与第二测试任务的正确执行结果进行比对。若一致,则确定在第二时长内获取到第二测试任务的正确执行结果,若不一致,则确定在第二时长内未获取到第二测试任务的正确执行结果。若在第二时长内未获取到第二测试任务的执行结果,则确定在第二时长内未获取到第二测试任务的正确执行结果。
步骤809,若第二测试任务执行异常,则确定异常任务满足隔离执行条件。
在本实施例中,若在第二时长内未获取到第二测试任务的正确执行结果,则确定异常任务满足隔离执行条件。此处在第二时长内未获取到第二测试任务的正确执行结果包括两种情况,一种情况是,在第二时长内未获取到第二测试任务的执行结果,另一种情况是,虽然在第二时长内获取到第二测试任务的执行结果,但是该执行结果不正确。
步骤810,若第二测试任务执行正常,则确定异常任务不满足隔离执行条件。
在本实施例中,若在第二时长内获取到第二测试任务的正确执行结果,则确定第二测试任务执行正常,说明第一多任务融合共享模块正常,确定异常任务不满足隔离执行条件。
需要说明的是,在图8所示的流程中,第一测试任务为快速测试任务时,若第一测试任务执行异常,说明第一多任务融合共享模块有可能存在问题,异常任务满足隔离执行条件,这样,就不需要执行第二测试任务,可以快速的确定异常任务满足隔离执行条件。若第一测试任务执行正常,由于第一测试任务不全面,所以可以再基于第二测试任务的执行情况,确定异常任务是否满足隔离执行条件。第一测试任务为全量测试任务时,若第一测试任务执行异常,则说明第一多任务融合共享模块有可能存在问题,若第一测试任务执行正常,则说明第一多任务融合共享模块不存在问题,不会执行步骤807至步骤810。
通过图8的流程,在任务响应时长异常时,可以判断响应时长异常是否是由于多任务融合共享模块导致的。
在图8的流程之前,管理装置每隔预设时长,轮询获取多个任务中一个任务的执行状态信息,并基于该任务的执行状态信息,确定该任务响应时长是否异常,该预设时长可以预设,如预设时长为1分钟。若基于这种方式,确定至少一个任务的响应时长异常,则立即获取多个任务的执行状态信息,开始执行步骤801。这样,在确定至少一个任务响应时长异常时,才高频率的获取多个任务的执行状态信息,所以可以节约监控任务的处理资源。
接下来描述步骤503中,控制异常任务隔离执行的流程,具体是,将异常任务下发至隔离的物理资源中进行执行,每个异常任务所在的该物理资源仅执行该异常任务。此处以对异常任务中第一任务隔离执行为例说明,第一任务为异常任务中的任一异常任务。对第一任务隔离执行的流程,参见图9。具体的:
步骤901,向第二多任务融合共享模块下发第一任务,第二多任务融合共享模块运行于第二计算单元,第一任务在第二计算单元的目标区域中被执行时目标区域中未执行其他任务。
在本实施例中,管理装置确定异常任务满足隔离执行条件时,在对第一任务进行隔离执行时,确定第二计算单元,第二计算单元与第一计算单元相同,或者不相同,第二计算单元上运行有第二多任务融合共享模块,前文提到的第一多任务融合共享模块与第二多任务融合共享模块相同,只不过是运行于不同的计算单元上。第二计算单元存在隔离的物理资源,隔离的物理资源所在的区域称为是目标区域。管理装置向第二多任务融合共享模块下发第一任务。第一任务在第二计算单元的目标区域中被执行,并且在被执行时目标区域中未执行其他任务。例如,目标区域包括第二计算单元上被划分的部分计算资源和存储资源。
步骤902,判断第一任务是否执行正常。
在本实施例中,管理装置下发第一任务后,确定在第三时长内是否获取到第一任务的正确执行结果。具体的,管理装置的调度模块向第二多任务融合共享模块下发第一任务,调度模块确定在第三时长内是否获取到第一任务的正常执行结果。此处正常执行结果指执行第一任务输出的执行结果,该执行结果不是错误码。
步骤903,若第一任务执行正常,则确定第一任务支持使用多任务融合共享模块。
在本实施例中,若在第三时长内,管理装置获取到第一任务的正常执行结果,则确定第一任务执行正常,说明第一任务能够使用第二多任务融合共享模块。此处第三时长可以预设,存储在管理装置中。
步骤904,若第一任务执行异常,则关闭第二多任务融合共享模块,控制第二计算单元重新执行第一任务。
在本实施例中,若在第三时长内,管理装置未获取到第一任务的正常执行结果,则关闭第二多任务融合共享模块,即停止运行第二多任务融合共享模块。管理装置向第二计算单元重新下发第一任务。例如,在图10中描述了步骤901和步骤904的处理过程的逻辑框图。
步骤905,判断第一任务是否执行正常。
步骤905的描述参见步骤902的描述,此处不再赘述。
步骤906,若第一任务重新执行正常,则确定第一任务不支持使用多任务融合共享模块。
在本实施例中,若在第三时长内,管理装置获取到第一任务的正常执行结果,则确定第一任务执行正常,说明第一任务不支持使用多任务融合共享模块,但是可以独立执行。
步骤907,若第一任务重新执行异常,则确定第一任务异常。
在本实施例中,若在第三时长内,管理装置未获取到第一任务的正常执行结果,则确定第一任务执行异常。此时可以确定是第一任务本身异常,或者是第一任务不支持使用多任务融合共享模块。
在图9所示的流程中,通过隔离运行可以判断出支持使用多任务融合共享的任务,并且在异常任务不是本身异常的情况下,可以获得异常任务的正常执行结果。另外,在获得异常任务的正常执行结果后,可以向任务的请求方返回该正常执行结果。
此处需要说明的是,第一任务支持使用多任务融合共享模块指:第一任务下发至多任务融合共享模块上被执行时,多任务融合共享模块调度第一任务与其他任务在计算单元上并行执行时,第一任务不会影响其他任务。第一任务不支持使用多任务融合共享模块指:第一任务下发至多任务融合共享模块上被执行时,多任务融合共享模块调度第一任务与其他任务在计算单元上并行执行时,第一任务有可能会影响其他任务。
在图9的流程中,管理装置判断出异常任务是否支持使用多任务融合共享模块,可以将此作为是否将任务调度至多任务融合共享模块上的依据。相应的处理为:当接收到第二任务的执行请求时,若第二任务与第一任务的请求字段相同和/或算法相同,则将第一任务不下发至运行于计算单元的多任务融合共享模块上。
在本实施例中,在第一任务重新执行正常的情况下,管理装置在接收到第二任务时,若第二任务与第一任务的请求字段相同和/或算法相同,则说明第二任务也不支持使用多任务融合共享模块,请求字段相同可以是相同的任务标识等。管理装置在向计算单元下发第二任务时,不会下发至多任务融合共享模块上。此处存在两种情况,一种情况是,将第二任务下发至未运行有多任务融合共享模块的计算单元上,另一种情况是,将第二任务下发至运行有多任务融合共享模块的计算单元上,但不是多任务融合共享模块上。这样,可以防止任务不支持使用多任务融合共享模块而导致任务执行失败。
在图9的流程中,管理装置判断出异常任务是否支持使用多任务融合共享模块,可以将异常任务不支持使用多任务融合共享模块的消息通知给任务的请求方。相应的处理为:向第一任务的请求方发送提醒消息,提醒消息用于指示第一任务不能提交至运行于计算单元的多任务融合共享模块上。
在本实施例中,在第一任务重新执行正常的情况下,管理装置向第一任务的请求方发送提醒消息,在该提醒消息中指示第一任务不支持使用多任务融合共享模块。第一任务的请求方下次再请求与第一任务相同的任务时,指定该任务不调度至运行于计算单元的多任务融合共享模块上,或者,第一任务的请求方对第一任务进行修改,以使其支持使用多任务融合共享模块。
这样,在第一任务重新执行正常的情况下,既可以作为调度依据,也可以向第一任务的请求方发送提醒消息。
需要说明的是,上述流程是针对第一任务进行说明,针对每个异常任务都可以按照上述方式处理。
在一种可能的实现方式中,在多任务融合共享模块启动时,或者要向多任务融合共享模块下发任务前,且当前多任务融合共享模块上未下发有任务,可以首先检测多任务融合共享模块是否正常,然后再下发任务。这样,可以降低任务执行失败的可能性。示例性的,可以通过下发测试任务的方式进行检测,处理流程参见图11,具体如下:
步骤1101,向第一多任务融合共享模块下发第一测试任务。
在本实施例中,第一测试任务可以是前文提到的快速检测任务,也可以是前文提到的全量检测任务。管理装置向第一多任务融合共享模块下发第一测试任务。
步骤1102,判断第一测试任务是否执行正常。
步骤1102的描述参见步骤804的描述,此处不再赘述。
步骤1103,若第一测试任务执行正常,则确定第一多任务融合共享模块正常。
在本实施例中,若管理装置确定第一测试任务执行正常,则可以确定第一多任务融合共享模块正常,可以向第一多任务融合共享模块下发任务,如可以执行步骤501。
步骤1104,若第一测试任务执行异常,则删除第一多任务融合共享模块上的任务。
步骤1105,重启第一多任务融合共享模块,返回执行向第一多任务融合共享模块下发第一测试任务的处理(即步骤1101),直到重启次数达到目标数目或者第一多任务融合共享模块正常。
其中,目标数目可以预设,存储在管理装置中。如目标数目为2等。
在本实施例中,在管理装置删除第一多任务融合共享模块上的所有任务后,重新启动第一多任务融合共享模块。然后管理装置向第一多任务融合共享模块上下发第一测试任务,即返回执行步骤1101,直到确定第一多任务融合共享模块正常,或者,重启次数达到目标数目,第一测试任务还是执行异常,可以向管理人员返回第一多任务融合共享模块异常的通知消息。
需要说明的是,图11所示的流程也可以应用于图9所示的流程之前,区别在于管理装置是判断第二多任务融合共享模块是否正常。而且在图11所示的流程应用于图9所示的流程之前,还能提升隔离执行的准确率。
针对本申请实施例,需要说明的是,在步骤501的流程之前,管理装置可以确定多个任务中至少两个任务的类型不相同。另外,前文中的各个流程是针对多个任务中至少两个任务的类型不相同的处理,在多个任务中所有任务的类型相同时,也可以采用本申请实施例的方案,使得执行任务的成功率更高。
本申请实施例中,在多个任务被下发至多任务融合共享模块后,在多个任务的并行执行过程中,能够确定出异常任务,且在异常任务满足隔离执行条件时,对异常任务进行隔离执行。这样,使得即使任务执行出现问题(如响应时长异常或执行失败等),也可以找到出现问题的任务,因此,类型不相同的任务和类型相同的任务均能使用多任务融合共享模块,能够提升云平台执行任务的效率。
而且使用测试任务,能够快速判断多任务融合共享模块是否正常,进而能够降低挂起或卡住的损失。
图12是本申请实施例提供的任务管理的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的装置可以实现本申请实施例图5、图7、图8、图9和图11所述的流程,该装置包括:调度模块1011和确定模块1012,其中:
调度模块1011,用于向第一多任务融合共享模块下发多个任务,所述第一多任务融合共享模块运行于第一计算单元,所述多个任务中包括至少两个类型不相同的任务,具体可以用于执行步骤501的调度功能以及其包含的隐含步骤;
确定模块1012,用于基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件,具体可以用于执行步骤502的异常任务判断功能以及其包含的隐含步骤;
所述调度模块1011,还用于控制所述异常任务隔离执行,具体可以用于执行步骤503的调度功能以及其包含的隐含步骤。
在一种可能的实现方式中,所述确定模块1012,用于:
若所述多个任务中执行状态信息包括失败状态的任务占所述多个任务的比例超过第一比例,则确定所述执行状态信息包括失败状态的任务为异常任务;
获取所述异常任务的执行结束时间点;
基于所述异常任务的执行结束时间点,确定所述异常任务满足隔离执行条件。
在一种可能的实现方式中,所述确定模块1012,用于:
获取所述异常任务的执行输出信息,在所述异常任务的执行输出信息中,获取所述异常任务的执行结束时间点;或者,
获取所述异常任务的进程的运行结束时间点,确定为所述异常任务的执行结束时间点。
在一种可能的实现方式中,所述确定模块1012,还用于:
在获取所述异常任务的执行结束时间点之前,确定所述异常任务对应的异常标识不属于目标异常标识,所述目标异常标识用于指示任务内部错误。
在一种可能的实现方式中,所述执行状态信息包括计算资源利用率和存储资源利用率中至少一种;
所述确定模块1012,用于:
基于每个任务的执行状态信息,确定响应时长异常的任务;
若所述多个任务中所述响应时长异常的任务占所述多个任务的比例超过第二比例,则将所述响应时长异常的任务确定为所述异常任务;
向所述第一多任务融合共享模块下发第一测试任务;
若所述第一测试任务执行异常,则确定所述异常任务满足隔离执行条件。
在一种可能的实现方式中,所述确定模块1012,还用于:
若所述第一测试任务执行正常,则向所述第一多任务融合共享模块下发第二测试任务,所述第二测试任务的复杂度高于所述第一测试任务;
若所述第二测试任务执行异常,则确定所述异常任务满足隔离执行条件。
在一种可能的实现方式中,所述调度模块1011,还用于:
对于所述异常任务中的第一任务,向第二多任务融合共享模块下发所述第一任务,所述第二多任务融合共享模块运行于第二计算单元,所述第一任务在所述第二计算单元的目标区域中被执行时所述目标区域中未执行其他任务;
若所述第一任务执行异常,则关闭所述第二多任务融合共享模块,控制所述第二计算单元重新执行所述第一任务。
在一种可能的实现方式中,所述调度模块1011,还用于:
在确定所述第一任务执行正常之后,当接收到第二任务的执行请求时,若所述第二任务与所述第一任务的请求字段相同和/或算法相同,则将所述第一任务不下发至运行于计算单元的多任务融合共享模块上;和/或,
向所述第一任务的请求方发送提醒消息,所述提醒消息用于指示所述第一任务不能下发至运行于计算单元的多任务融合共享模块上。
在一种可能的实现方式中,所述调度模块1011,还用于:
在向第一多任务融合共享模块下发多个任务之前,向所述第一多任务融合共享模块下发第一测试任务;
确定所述第一测试任务执行正常。
在一种可能的实现方式中,所述调度模块1011,还用于:
若所述第一测试任务执行异常,则删除所述第一多任务融合共享模块上的任务,重启所述第一多任务融合共享模块。
图12中所示的装置中各模块执行的过程,参见前文方法实施例中的描述,此处不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是个人计算机,手机,或者网络设备等)或处理器(processor)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述所提供的任务管理的方法,或者使得所述计算设备实现上述提供的任务管理的装置的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(digital video disk,DVD)等),或者半导体介质(如固态硬盘等)。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一计算单元可以被称为第二计算单元,并且类似地,第二计算单元可以被称为第一计算单元。第一计算单元和第二计算单元都可以是子模型,并且在某些情况下,可以是单独且不同的子模型。
本申请中术语“至少一个”包括“一个”或“多个”两种情况。本申请中术语“和/或”包括三种情况,例如,A和/或B包括A、B以及A和B三种情况。
以上描述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种任务管理的方法,其特征在于,所述方法包括:
向第一多任务融合共享模块下发多个任务,所述第一多任务融合共享模块运行于第一计算单元,所述多个任务中包括至少两个类型不相同的任务;
基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件;
控制所述异常任务隔离执行。
2.根据权利要求1所述的方法,其特征在于,所述基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件,包括:
若所述多个任务中执行状态信息包括失败状态的任务占所述多个任务的比例超过第一比例,则确定所述执行状态信息包括失败状态的任务为所述异常任务;
获取所述异常任务的执行结束时间点;
基于所述异常任务的执行结束时间点,确定所述异常任务满足隔离执行条件。
3.根据权利要求2所述的方法,其特征在于,所述获取所述异常任务的执行结束时间点,包括:
获取所述异常任务的执行输出信息,在所述异常任务的执行输出信息中,获取所述异常任务的执行结束时间点;或者,
获取所述异常任务的进程的运行结束时间点,确定为所述异常任务的执行结束时间点。
4.根据权利要求2或3所述的方法,其特征在于,在获取所述异常任务的执行结束时间点之前,还包括:
确定所述异常任务对应的异常标识不属于目标异常标识,所述目标异常标识用于指示任务内部错误。
5.根据权利要求1所述的方法,其特征在于,所述执行状态信息包括计算资源利用率和存储资源利用率中至少一种;
所述基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件,包括:
基于每个任务的执行状态信息,确定响应时长异常的任务;
若所述多个任务中所述响应时长异常的任务占所述多个任务的比例超过第二比例,则将所述响应时长异常的任务确定为所述异常任务;
向所述第一多任务融合共享模块下发第一测试任务;
若所述第一测试任务执行异常,则确定所述异常任务满足隔离执行条件。
6.根据权利要求5所述的方法,其特征在于,所述基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件,还包括:
若所述第一测试任务执行正常,则向所述第一多任务融合共享模块下发第二测试任务,所述第二测试任务的复杂度高于所述第一测试任务;
若所述第二测试任务执行异常,则确定所述异常任务满足隔离执行条件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述控制所述异常任务隔离执行,包括:
对于所述异常任务中的第一任务,向第二多任务融合共享模块下发所述第一任务,所述第二多任务融合共享模块运行于第二计算单元,所述第一任务在所述第二计算单元的目标区域中被执行时所述目标区域中未执行其他任务;
若所述第一任务执行异常,则关闭所述第二多任务融合共享模块,控制所述第二计算单元重新执行所述第一任务。
8.根据权利要求7所述的方法,其特征在于,在确定所述第一任务执行正常之后,还包括:
当接收到第二任务的执行请求时,若所述第二任务与所述第一任务的请求字段相同和/或算法相同,则将所述第一任务不下发至运行于计算单元的多任务融合共享模块上;和/或,
向所述第一任务的请求方发送提醒消息,所述提醒消息用于指示所述第一任务不能下发至运行于计算单元的多任务融合共享模块上。
9.根据权利要求1至8任一项所述的方法,其特征在于,在向第一多任务融合共享模块下发多个任务之前,还包括:
向所述第一多任务融合共享模块下发第一测试任务;
确定所述第一测试任务执行正常。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述第一测试任务执行异常,则删除所述第一多任务融合共享模块上的任务,重启所述第一多任务融合共享模块。
11.一种任务管理的装置,其特征在于,所述装置包括:
调度模块,用于向第一多任务融合共享模块下发多个任务,所述第一多任务融合共享模块运行于第一计算单元,所述多个任务中包括至少两个类型不相同的任务;
确定模块,用于基于每个任务的执行状态信息,确定所述多个任务中存在异常任务且所述异常任务满足隔离执行条件;
所述调度模块,还用于控制所述异常任务隔离执行。
12.根据权利要求11所述的装置,其特征在于,所述确定模块,用于:
若所述多个任务中执行状态信息包括失败状态的任务占所述多个任务的比例超过第一比例,则确定所述执行状态信息包括失败状态的任务为所述异常任务;
获取所述异常任务的执行结束时间点;
基于所述异常任务的执行结束时间点,确定所述异常任务满足隔离执行条件。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,用于:
获取所述异常任务的执行输出信息,在所述异常任务的执行输出信息中,获取所述异常任务的执行结束时间点;或者,
获取所述异常任务的进程的运行结束时间点,确定为所述异常任务的执行结束时间点。
14.根据权利要求12或13所述的装置,其特征在于,所述确定模块,还用于:
在获取所述异常任务的执行结束时间点之前,确定所述异常任务对应的异常标识不属于目标异常标识,所述目标异常标识用于指示任务内部错误。
15.根据权利要求11所述的装置,其特征在于,所述执行状态信息包括计算资源利用率和存储资源利用率中至少一种;
所述确定模块,用于:
基于每个任务的执行状态信息,确定响应时长异常的任务;
若所述多个任务中所述响应时长异常的任务占所述多个任务的比例超过第二比例,则将所述响应时长异常的任务确定为所述异常任务;
向所述第一多任务融合共享模块下发第一测试任务;
若所述第一测试任务执行异常,则确定所述异常任务满足隔离执行条件。
16.根据权利要求15所述的装置,其特征在于,所述确定模块,还用于:
若所述第一测试任务执行正常,则向所述第一多任务融合共享模块下发第二测试任务,所述第二测试任务的复杂度高于所述第一测试任务;
若所述第二测试任务执行异常,则确定所述异常任务满足隔离执行条件。
17.根据权利要求11至16任一项所述的装置,其特征在于,所述调度模块,还用于:
对于所述异常任务中的第一任务,向第二多任务融合共享模块下发所述第一任务,所述第二多任务融合共享模块运行于第二计算单元,所述第一任务在所述第二计算单元的目标区域中被执行时所述目标区域中未执行其他任务;
若所述第一任务执行异常,则关闭所述第二多任务融合共享模块,控制所述第二计算单元重新执行所述第一任务。
18.根据权利要求17所述的装置,其特征在于,所述调度模块,还用于:
在确定所述第一任务执行正常之后,当接收到第二任务的执行请求时,若所述第二任务与所述第一任务的请求字段相同和/或算法相同,则将所述第一任务不下发至运行于计算单元的多任务融合共享模块上;和/或,
向所述第一任务的请求方发送提醒消息,所述提醒消息用于指示所述第一任务不能下发至运行于计算单元的多任务融合共享模块上。
19.根据权利要求11至18任一项所述的装置,其特征在于,所述调度模块,还用于:
在向第一多任务融合共享模块下发多个任务之前,向所述第一多任务融合共享模块下发第一测试任务;
确定所述第一测试任务执行正常。
20.根据权利要求19所述的装置,其特征在于,所述调度模块,还用于:
若所述第一测试任务执行异常,则删除所述第一多任务融合共享模块上的任务,重启所述第一多任务融合共享模块。
21.一种任务管理的计算设备,其特征在于,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现所述权利要求1至10任一项权利要求所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算设备执行时,使得所述计算设备执行所述权利要求1至10任一项权利要求所述的方法。
23.一种计算机程序产品,其特征在于,包括计算机指令,当所述计算机指令被计算设备执行时,使得所述计算设备执行所述权利要求1至10任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240806.4A CN116028166A (zh) | 2021-10-25 | 2021-10-25 | 任务管理的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240806.4A CN116028166A (zh) | 2021-10-25 | 2021-10-25 | 任务管理的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028166A true CN116028166A (zh) | 2023-04-28 |
Family
ID=86089921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111240806.4A Pending CN116028166A (zh) | 2021-10-25 | 2021-10-25 | 任务管理的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028166A (zh) |
-
2021
- 2021-10-25 CN CN202111240806.4A patent/CN116028166A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303509B2 (en) | Distributed task system based on internet of things and service processing method for distributed tasks based on the same | |
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
US9229902B1 (en) | Managing update deployment | |
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
WO2023115999A1 (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
US9483314B2 (en) | Systems and methods for fault tolerant batch processing in a virtual environment | |
US20110022870A1 (en) | Component power monitoring and workload optimization | |
US20140195860A1 (en) | Early Detection Of Failing Computers | |
US7856639B2 (en) | Monitoring and controlling applications executing in a computing node | |
CN108664381B (zh) | 测试方法及装置 | |
CN111324423B (zh) | 容器内进程的监控方法、装置、存储介质和计算机设备 | |
WO2014200551A1 (en) | Identifying the introduction of a software failure | |
US11743237B2 (en) | Utilizing machine learning models to determine customer care actions for telecommunications network providers | |
WO2023165512A1 (zh) | 一种故障文件保存方法及相关装置 | |
Di Sanzo et al. | Machine learning for achieving self-* properties and seamless execution of applications in the cloud | |
CN110618853B (zh) | 一种僵尸容器的检测方法、装置及设备 | |
US11797370B2 (en) | Optimized diagnostics plan for an information handling system | |
CN110224880A (zh) | 一种心跳监测方法及监控设备 | |
Kirti et al. | Fault‐tolerance approaches for distributed and cloud computing environments: A systematic review, taxonomy and future directions | |
CN116701123A (zh) | 任务预警方法、装置、设备、介质及程序产品 | |
US20210097429A1 (en) | Machine learning training resource management | |
CN116028166A (zh) | 任务管理的方法、装置、设备和存储介质 | |
CN105868957A (zh) | 一种持续集成方法及装置 | |
US10255128B2 (en) | Root cause candidate determination in multiple process 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 |