CN111124644B - 任务调度资源的确定方法、装置及系统 - Google Patents
任务调度资源的确定方法、装置及系统 Download PDFInfo
- Publication number
- CN111124644B CN111124644B CN201911333419.8A CN201911333419A CN111124644B CN 111124644 B CN111124644 B CN 111124644B CN 201911333419 A CN201911333419 A CN 201911333419A CN 111124644 B CN111124644 B CN 111124644B
- Authority
- CN
- China
- Prior art keywords
- task
- time
- scheduling
- ordered array
- time period
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种任务调度资源的确定方法、装置及系统,涉及计算机技术领域,包括:获取任务的执行时间段;其中,任务包括预创建任务和与预创建任务存在时间交集的已有任务;基于各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,确定资源调度量;其中,资源调度量用于表征在任务的执行时间段内算力资源的最大调度数量;基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。本发明能够有效针对算力资源调度可行性的确定效率。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种任务调度资源的确定方法、装置及系统。
背景技术
在多种基于计算机的生产系统(如人像系统)中,服务器算力资源可以分配给多个任务使用,且服务器算力资源是一定的。在创建任务时,需要保证所使用的资源不能超过服务器可提供的上限,以避免潜在的性能危机和运行冲突。基于此,可以在预创建任务或调度执行本时段任务两个环节前,通过计算使用的资源数来确定是否可以继续创建新的任务。由于预创建任务需要即时返回结果,因此资源的确定效率非常重要。
目前资源数的确定方式主要是:在预创建任务时,先判断在该新建任务时间段内的交叉任务的资源是否达到上限,若达到,则针对已有任务对应总执行时间所划分多个时间段,再判断每个时间段内的资源数否达到上限。该资源确定方式复杂且耗时较长,确定效率比较低。
发明内容
有鉴于此,本发明的目的在于提供一种任务调度资源的确定方法、装置及系统,能够有效提升针对算力资源调度可行性的确定效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种任务调度资源的确定方法,所述任务执行时需要调度系统的算力资源,所述方法包括:获取任务的执行时间段;其中,所述任务包括预创建任务和与所述预创建任务存在时间交集的已有任务;基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量;其中,所述资源调度量用于表征在所述任务的执行时间段内所述算力资源的最大调度数量;基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性。
进一步,所述通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量的步骤,包括:以所述第一有序数组中排列于首位的开始时间和所述第二有序数组中排列于首位的结束时间作为当前时间对;对于每一个当前时间对,均执行以下操作:比较所述当前时间对的开始时间与结束时间的大小关系;如果所述当前时间对中的开始时间小于结束时间,对所述算力资源的预设调度参量进行增加操作,将增加操作后的调度参量与临时最大调度量中的较大值确定为新的临时最大调度量;基于所述第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对;如果所述当前时间对中的开始时间不小于结束时间,对所述调度参量进行减少操作,将减少操作后的调度参量与所述临时最大调度量中的较大值确定为新的临时最大调度量;基于所述第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对;当遍历完所述第一有序数组或者所述第二有序数组时,将临时最大调度量标记为资源调度量;其中,所述调度参量的初始值和所述临时最大调度量的初始值均为0。
进一步,所述基于所述第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对的步骤,包括:基于所述第一有序数组中开始时间的排列顺序在所述第一有序数组中确定目标开始时间;其中,所述目标开始时间为与所述当前时间对中的开始时间相邻的下一个开始时间;将所述目标开始时间与所述当前时间对中的结束时间组成新的当前时间对。
进一步,所述基于所述第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对的步骤,包括:基于所述第二有序数组中结束时间的排列顺序在所述第二有序数组中确定目标结束时间;其中,所述目标结束时间为与所述当前时间对中的结束时间相邻的下一个结束时间;将所述当前时间对中的开始时间与所述目标结束时间组成新的当前时间对。
进一步,所述基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性的步骤,包括:判断所述资源调度量是否小于或等于预设的资源调度量阈值;如果小于或等于,确定所述预创建任务对应的执行时间段可行,在对应的所述执行时间段建立所述预创建任务;如果大于,确定所述预创建任务对应的执行时间段不可行,取消在对应的所述执行时间段建立所述预创建任务。
进一步,所述获取任务的执行时间段的步骤,包括:当预创建任务包括多个不同的任务时,基于已有任务的执行时间段和预创建任务的执行时间段,获取与每个所述预创建任务的执行时间段存在交集的已有任务。
进一步,所述基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组的步骤,包括:将各个所述任务的执行时间段中的开始时间进行升序排序,得到第一有序数组;将各个所述任务的执行时间段中的结束时间进行升序排序,得到第二有序数组。
进一步,所述方法还包括:当一个所述任务调度多个所述算力资源时,将该任务拆解为多个子任务,且每个所述子任务均调度一个所述算力资源;将该任务的执行时间段确定为各个所述子任务的执行时间段。
第二方面,本发明实施例还提供一种任务调度资源的确定装置,所述任务执行时需要调度系统的算力资源,所述装置包括:时间段获取模块,用于获取任务的执行时间段;其中,所述任务包括预创建任务和与所述预创建任务存在时间交集的已有任务;时间排序模块,用于基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;调度量标记模块,用于通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量;其中,所述资源调度量用于表征在所述任务的执行时间段内所述算力资源的最大调度数量;资源确定模块,用于基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性。
第三方面,本发明实施例提供了一种任务调度资源的确定系统,所述系统包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
本发明实施例提供了一种任务调度资源的确定方法、装置及系统,任务执行时需要调度系统的算力资源,基于此,本发明实施例首先基于获取的各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;然后通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,标记资源调度量;最后基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。相对于现有技术中需要先划分时间段,再分别对每个时间段都比较占用资源数的方式,本实施例基于第一有序数组和第二有序数组,只对开始时间和结束时间进行比较,就可以确定表征资源最大调度数量的资源调度量,该方式只需要对第一有序数组或者第二有序数组完成一次遍历即可,明显减少了比较次数,从而有效提升了针对算力资源调度可行性的确定效率。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结构示意图;
图2示出了本发明实施例所提供的一种任务调度资源的确定方法流程图;
图3示出了本发明实施例所提供的一种任务的执行时间段的示意图;
图4示出了本发明实施例所提供的一种时间对的交错比较方式示意图;
图5示出了本发明实施例所提供的一种任务调度资源的确定方法的应用场景示意图;
图6示出了本发明实施例所提供的一种任务调度资源的确定装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有资源的确定方式在创建新任务并在该新任务的总时间段内的交集任务数量大于任务数量上限的情况下,需要先根据已有任务的开始时间和结束时间将新任务的总时间段划分为多个时间段,然后针对每个时间段都需要分别判断资源调度的可行性。该确定方式十分复杂且耗时较长,导致资源可行性的判断效率比较低。基于此,为改善以上问题,本发明实施例提供了一种任务调度资源的确定方法、装置及系统,能够有效提升针对算力资源调度可行性的确定效率。该技术可以应用于诸如人像系统、车辆检测系统或者会议管理系统等任何需要进行资源分配的场景中,为便于理解,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的任务调度资源的确定方法、装置及系统的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以具有图1示出的部分组件,也可以具有图1未示出的其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的一种任务调度资源的确定方法、装置及系统的示例电子设备可以被实现为诸如智能手机、平板电脑、计算机、服务器等智能终端上。
实施例二:
在计算机领域中,任务执行时需要调度系统的算力资源(为便于描述,也可将算力资源简称为资源)。当用户需要创建新的任务时,为了确定当前的服务器算力资源是否可以满足该新任务的创建,本实施例提供一种任务调度资源的确定方法。参照图2所示的一种任务调度资源的确定方法的流程图,该方法可以包括如下步骤S202至步骤S208:
步骤S202,获取任务的执行时间段;其中,任务包括预创建任务和与预创建任务存在时间交集的已有任务。在实际应用中,该任务诸如可以是人像系统中多路相机的图像分析任务,多路相机的图像分析任务对应的执行时间段可能会有重叠,故在创建新任务时,需要保证新任务与已有任务所调度的资源不超过服务器可提供的资源上限,以避免潜在的性能危机和运行冲突。
在本实施例中,可以预先定义单个算力资源的大小,诸如将一个算力资源定义为占用一个CPU、占用两台服务器或者占用一间会议室等。当一个任务调度多个算力资源时,可以将该任务拆解为多个子任务,且每个子任务均调度一个算力资源,并将该任务的执行时间段确定为各个子任务的执行时间段。也就是说,对于一个执行时间段为(S0,T0)、调度x个算力资源的任务A,将该任务A拆解为x个调度一个算力资源的子任务a1、a2…ax,每个子任务的执行时间段均为(S0,T0)。可以理解的是,子任务的数量与任务A调度的资源的数量相同,任务拆解前后所调度算力资源的总数量保持不变。基于此,通过上述对调度多个算力资源的任务进行拆解,可以使任务的执行时间段的数量与任务调度资源的数量是相同的,有利于简化对任务所调度资源数量的计算,从而提升针对资源调度可行性的确定效率。
步骤S204,基于各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组。
执行时间段通常是由开始时间和结束时间确定的时间段;基于此,本实施例中的第一有序数组可以为将开始时间由小到大进行排序的数组,第二有序数组可以为将结束时间由小到大进行排序的数组。
步骤S206,通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,标记资源调度量;其中,资源调度量用于表征在任务的执行时间段内算力资源的最大调度数量。
可以理解的是,第一有序数组中有多个开始时间,第二有序数组中有多个结束时间,每次比较一个开始时间和一个结束时间,且每比较一次均能确定一个新的资源调度量;当完成第一有序数组和第二有序数组的比较时,得到最终的资源调度量。
步骤S208,基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。
在本实施例中,可以将确定的资源调度量与预设的资源调度量阈值进行比较,根据比较结果确定在预创建任务对应的执行时间段调度算力资源的可行性。如果确定可行,表示当前的算力资源能够支持新任务的创建;如果确定不可行,表示当前的算力资源无法满足新任务的创建。其中,上述资源调度量阈值是根据实际生产中的服务器算力资源预先设置的。
此外还可以理解的是,本实施例是针对全部已有任务所调度的资源的总数量大于或等于资源调度量阈值的情况,否则可以直接创建新的任务。
本发明实施例提供的任务调度资源的确定方法,首先基于获取的各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;然后通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,标记资源调度量;最后基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。相对于现有技术中需要先划分时间段,再分别对每个时间段都比较占用资源数的方式,本实施例基于第一有序数组和第二有序数组,只对开始时间和结束时间进行比较,就可以确定表征资源最大调度数量的资源调度量,该方式明显减少了比较次数,从而有效提升了针对算力资源调度可行性的确定效率。
本实施例针对上述步骤S202中获取任务的执行时间段的方式展开描述,可参照如下三种示例。
示例一:当预创建任务为一个任务且该任务需调度一个资源时,首先获取该预创建任务对应的第一时间段(S0,T0),其中,S0和T0分别表示第一时间段的开始时间和结束时间。然后基于已有任务的执行时间段和上述第一时间段(S0,T0),获取与第一时间段(S0,T0)存在交集的已有任务。最后获取存在交集的已有任务对应的第二时间段,各个已有任务的第二时间段诸如可以为(S1,T1),(S2,T2),…,(Sn,Tn)。基于此,{(S0,T0),(S1,T1),(S2,T2),……(Sn,Tn)}共同构成了任务的执行时间段。
示例二:当预创建任务为需调度多个资源的任务或者预创建任务为多个相同的任务时,首先获取该预创建任务对应的多个第一时间段,每个第一时间段均为(S0,T0);然后基于已有任务的执行时间段和上述第一时间段,获取与第一时间段存在交集的已有任务;最后获取存在交集的已有任务对应的第二时间段。参照上述示例一,本实施例中任务的执行时间段可以表示为:{(S0,T0),…(S0,T0),(S1,T1),(S2,T2),……(Sn,Tn)}。
示例三:当预创建任务为多个不同的任务时,基于已有任务的执行时间段和预创建任务的执行时间段,获取与每个预创建任务的执行时间段存在交集的已有任务。参照以上两个示例,本示例中预创建任务的执行时间段可以表示为:其中,k表示预创建任务的任务数量。在此情况下,任务的执行时间段可以表示为:
根据上述示例给出的执行时间段,本实施例提供一种有序数组的生成方法,可以包括:将各个任务的执行时间段中的开始时间进行升序排序,得到第一有序数组;将各个任务的执行时间段中的结束时间进行升序排序,得到第二有序数组。
参照如图3所示的任务的执行时间段的示意图,示例性的展示了如下执行时间段:(S0,T0),(S1,T1),(S2,T2),(S3,T3)和(S4,T4)。基于此,第一有序数组为:{(S1)1,(S0)2,(S2)3,(S3)4,(S4)5},其中,各开始时间对应的下角标(如1、2、3等)表示第一有序数组设置的第一游标(可表示为i),用于指示开始时间在第一有序数组中的位置,第一游标的初始值为1,且为了容易确定第一游标所指示的位置,可以设置第一游标的值为随着开始时间排列顺序的增加而增加。相应的,第二有序数组为:{(T2)1,(T1)2,(T4)3,(T0)4,(T3)5},其中,各结束时间对应的下角标(如1、2、3等)表示第二有序数组设置的第二游标(可表示为j),用于指示结束时间在第二有序数组中的位置,第二游标的初始值为1,且为了容易确定第二游标所指示的位置,可以设置第二游标的值为随着结束时间排列顺序的增加而增加。
基于第一有序数组和第二有序数组,在此提供一种通过交错比较开始时间与结束时间以标记资源调度量的可能实施例,参照如下步骤一至步骤三:
步骤一、以第一有序数组中排列于首位的开始时间和第二有序数组中排列于首位的结束时间作为当前时间对。对于每一个当前时间对,均执行如步骤二所示的以下操作:
步骤二、比较当前时间对的开始时间与结束时间的大小关系;根据比较结果,执行如下步骤(1)或者步骤(2)。
(1)如果当前时间对中的开始时间小于结束时间,对算力资源的预设调度参量进行增加操作,增加操作可表示为C'=C+1;其中,C'表示当前时间对对应的调度参量,也即增加操作后的调度参量;C为上一个时间对对应的调度参量。将增加操作后的调度参量C'与临时最大调度量中的较大值确定为新的临时最大调度量;新的临时最大调度量可以表示为:C′max=max(C′,Cmax);其中,C′max表示新的临时最大调度量,也即当前时间对对应的临时最大调度量,Cmax表示上一时间对对应的临时最大调度量。可以理解的是,本实施例中的调度参量的初始值和临时最大调度量的初始值均为0。
基于第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对。在具体实现时,可以首先基于第一有序数组中开始时间的排列顺序在第一有序数组中确定目标开始时间;其中,目标开始时间为与当前时间对中的开始时间相邻的下一个开始时间,目标开始时间的位置可以通过第一游标i的数值来表示;诸如,当前时间对中的开始时间在第一有序数组中的位置为i,则目标开始时间在第一有序数组中的位置为i'=i+1。然后将目标开始时间与当前时间对中的结束时间组成新的当前时间对。
(2)如果当前时间对中的开始时间不小于结束时间,对调度参量进行减少操作,减少操作可表示为C'=C-1。将减少操作后的调度参量与临时最大调度量中的较大值确定为新的临时最大调度量。
基于第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对。在具体实现时,可以首先基于第二有序数组中结束时间的排列顺序在第二有序数组中确定目标结束时间;其中,目标结束时间为与当前时间对中的结束时间相邻的下一个结束时间,目标结束时间的位置可以通过第二游标j的数值来表示;诸如,当前时间对中的结束时间在第二有序数组中的位置为j,则目标结束时间在第二有序数组中的位置为j'=j+1。然后将当前时间对中的开始时间与目标结束时间组成新的当前时间对。
上述步骤(1)和步骤(2)可以理解为,针对任意一个时间对,如果其中的开始时间小于结束时间,则第一游标i加1,第二游标j不变,以确定下一个时间对;如果其中的开始时间不小于结束时间,则第一游标i不变,第二游标j加1,以确定下一个时间对。
为了便于理解,以上述步骤一中由排列于首位的开始时间和排列于首位的结束时间组成的当前时间对为例进行说明。容易想到的是,排列于首位的开始时间一定是小于排列于首位的结束时间的,在此情况下,通过第一游标i加1,第二游标j不变的方式确定第二个时间对,即第二个时间对为排列于第二位的开始时间和排列于首位的结束时间。
步骤三、当遍历完第一有序数组或者第二有序数组时,将临时最大调度量标记为资源调度量。
为了便于理解上述步骤一至步骤三,在此根据图3提供的执行时间段的示例,给出图4所示的时间对的交错比较方式的示意图,参照图4,本实施例提供一种资源调度量的具体确定示例。在本示例中,调度参量的初始值和临时最大调度量的初始值均为0,第一游标的初始值和第二游标的初始值均为1。
根据第一游标和第二游标可知,开始进行比较的时间对为(S1,T2),针对该当前时间对(S1,T2),S1<T2,则C'=C+1=0+1=1,C′max=max(C′,Cmax)=max(1,0)=1,i'=i+1=1+1,j'=j=1;由此确定的下一个时间对为(S0,T2);
针对当前时间对(S0,T2),S0<T2,则C'=C+1=1+1=2,C′max=max(C′,Cmax)=max(2,1)=2,i'=i+1=2+1,j'=j=1;由此确定的下一个时间对为(S2,T2);
针对当前时间对(S2,T2),S2<T2,则C'=C+1=2+1=3,C′max=max(C′,Cmax)=max(3,2)=3,i'=i+1=3+1,j'=j=1;由此确定的下一个时间对为(S3,T2);
针对当前时间对(S3,T2),S3>T2,则C'=C-1=3-1=2,C′max=max(C′,Cmax)=max(2,3)=3,i'=i=4,j'=j+1=1+1;由此确定的下一个时间对为(S3,T1);
针对当前时间对(S3,T1),S3>T1,则C'=C-1=2-1=1,C′max=max(C′,Cmax)=max(1,3)=3,i'=i=4,j'=j+1=2+1;由此确定的下一个时间对为(S3,T4);
针对当前时间对(S3,T4),S3<T4,则C'=C+1=1+1=2,C′max=max(C′,Cmax)=max(2,3)=3,i'=i+1=4+1,j'=j=3;由此确定的下一个时间对为(S4,T4);
针对当前时间对(S4,T4),S4<T4,则C'=C+1=2+1=3,C′max=max(C′,Cmax)=max(3,3)=3,i'=i+1=5+1,j'=j=3;此时,第一有序数组中的开始时间已完成遍历,将最终确定的临时最大调度量C'max=3作为资源调度量。
在遍历完第一有序数组或者第二有序数组以最终确定资源调度量之后,基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性的步骤,包括:判断资源调度量C'max是否小于或者等于预设的资源调度量阈值M;如果小于或者等于,确定在预创建任务对应的执行时间段调度算力资源可行,在对应的执行时间段建立预创建任务;如果大于,确定在预创建任务对应的执行时间段调度算力资源不可行,取消在对应的执行时间段建立预创建任务。
综上,相对于现有技术中需要先划分时间段,再分别对每个时间段都比较占用资源数的方式,本实施例基于第一有序数组和第二有序数组,只对开始时间和结束时间进行比较,就可以确定表征任务数量的资源调度量,该方式明显减少了比较次数,从而有效提升了针对算力资源调度可行性的确定效率。
进一步的,在实际生产应用中,可以将上述实施例所描述的任务调度资源的确定方法封装成公共方法或者计算服务接口。参照图5,以计算服务接口为例,其传入参数包括任务的执行时间段,通过封装有任务调度资源的确定方法的计算服务接口,可以直接确定在预创建任务对应的执行时间段调度算力资源的可行性。该方式便于实际生产应用,且能够有效提升针对算力资源调度可行性的确定效率。
实施例三:
参见图6所示的一种任务调度资源的确定装置的结构框图,任务执行时需要调度系统的算力资源,该装置包括:
时间段获取模块602,用于获取任务的执行时间段;其中,任务包括预创建任务和与预创建任务存在时间交集的已有任务;
时间排序模块604,用于基于各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;
调度量标记模块606,用于通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,标记资源调度量;其中,资源调度量用于表征在任务的执行时间段内算力资源的最大调度数量;
资源确定模块608,用于基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。
本发明实施例提供的上述任务调度资源的确定装置,首先基于获取的各个任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;然后通过比较第一有序数组中的开始时间与第二有序数组中的结束时间,确定资源调度量;最后基于资源调度量确定在预创建任务对应的执行时间段调度算力资源的可行性。相对于现有技术中需要先划分时间段,再分别对每个时间段都比较占用资源数的方式,本实施例基于第一有序数组和第二有序数组,只对开始时间和结束时间进行比较,就可以确定表征资源最大调度数量的资源调度量,该方式只需要对第一有序数组或者第二有序数组完成一次遍历即可,明显减少了比较次数,从而有效提升了针对算力资源调度可行性的确定效率。
在一些实施方式中,上述调度量标记模块606进一步用于:以第一有序数组中排列于首位的开始时间和第二有序数组中排列于首位的结束时间作为当前时间对;对于每一个当前时间对,均执行以下操作:比较当前时间对的开始时间与结束时间的大小关系;如果当前时间对中的开始时间小于结束时间,对算力资源的预设调度参量进行增加操作,将增加操作后的调度参量与临时最大调度量中的较大值确定为新的临时最大调度量;基于第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对;如果当前时间对中的开始时间不小于结束时间,对调度参量进行减少操作,将减少操作后的调度参量与临时最大调度量中的较大值确定为新的临时最大调度量;基于第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对;当遍历完第一有序数组或者第二有序数组时,将临时最大调度量作为资源调度量;其中,调度参量的初始值和临时最大调度量的初始值均为0。
在一些实施方式中,上述调度量标记模块606进一步用于:基于第一有序数组中开始时间的排列顺序在第一有序数组中确定目标开始时间;其中,目标开始时间为与当前时间对中的开始时间相邻的下一个开始时间;将目标开始时间与当前时间对中的结束时间组成新的当前时间对。
在一些实施方式中,上述调度量标记模块606进一步用于:基于第二有序数组中结束时间的排列顺序在第二有序数组中确定目标结束时间;其中,目标结束时间为与当前时间对中的结束时间相邻的下一个结束时间;将当前时间对中的开始时间与目标结束时间组成新的当前时间对。
在一些实施方式中,资源确定模块608进一步用于:判断资源调度量是否小于或等于预设的资源调度量阈值;如果小于或等于,确定在预创建任务对应的执行时间段调度算力资源可行,在对应的执行时间段建立预创建任务;如果大于,确定在预创建任务对应的执行时间段调度算力资源不可行,取消在对应的执行时间段建立预创建任务。
在一些实施方式中,时间段获取模块602进一步用于:当预创建任务包括多个不同的任务时,基于已有任务的执行时间段和预创建任务的执行时间段,获取与每个预创建任务的执行时间段存在交集的已有任务。
在一些实施方式中,时间排序模块604进一步用于:将各个任务的执行时间段中的开始时间进行升序排序,得到第一有序数组;将各个任务的执行时间段中的结束时间进行升序排序,得到第二有序数组。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例二相同,为简要描述,本实施例部分未提及之处,可参考前述实施例二中相应内容。
实施例四:
基于前述实施例,本实施例给出了一种任务调度资源的确定系统,该系统包括:处理器和存储设备;其中,存储设备上存储有计算机程序,计算机程序在被处理器运行时执行如实施例二所提供的任一项任务调度资源的确定方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述实施例二提供的任一项方法的步骤,或者,计算机程序被处理设备运行时执行上述实施例三提供的任一项的方法的步骤。
本发明实施例所提供的一种任务调度资源的确定方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种任务调度资源的确定方法,其特征在于,所述任务执行时需要调度系统的算力资源,所述方法包括:
获取任务的执行时间段;其中,所述任务包括预创建任务和与所述预创建任务存在时间交集的已有任务;
基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;
通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量;其中,所述资源调度量用于表征在所述任务的执行时间段内所述算力资源的最大调度数量;
基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性;
其中,通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量,包括:
基于所述开始时间与所述结束时间的大小关系更新临时最大调度量,并基于所述临时最大调度量标记所述资源调度量,其中,所述临时最大调度量的初始值为0。
2.根据权利要求1所述的方法,其特征在于,所述基于所述开始时间与所述结束时间的大小关系更新临时最大调度量,并基于所述临时最大调度量标记所述资源调度量的步骤,包括:
以所述第一有序数组中排列于首位的开始时间和所述第二有序数组中排列于首位的结束时间作为当前时间对;
对于每一个当前时间对,均执行以下操作:
比较所述当前时间对的开始时间与结束时间的大小关系;
如果所述当前时间对中的开始时间小于结束时间,对所述算力资源的预设调度参量进行增加操作,将增加操作后的调度参量与临时最大调度量中的较大值确定为新的临时最大调度量;基于所述第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对;
如果所述当前时间对中的开始时间不小于结束时间,对所述调度参量进行减少操作,将减少操作后的调度参量与所述临时最大调度量中的较大值确定为新的临时最大调度量;基于所述第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对;
当遍历完所述第一有序数组或者所述第二有序数组时,将临时最大调度量标记为资源调度量;
其中,所述调度参量的初始值为0。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一有序数组中开始时间的排列顺序更新当前时间对中的开始时间,得到新的当前时间对的步骤,包括:
基于所述第一有序数组中开始时间的排列顺序在所述第一有序数组中确定目标开始时间;其中,所述目标开始时间为与所述当前时间对中的开始时间相邻的下一个开始时间;
将所述目标开始时间与所述当前时间对中的结束时间组成新的当前时间对。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第二有序数组中结束时间的排列顺序更新当前时间对中的结束时间,得到新的当前时间对的步骤,包括:
基于所述第二有序数组中结束时间的排列顺序在所述第二有序数组中确定目标结束时间;其中,所述目标结束时间为与所述当前时间对中的结束时间相邻的下一个结束时间;
将所述当前时间对中的开始时间与所述目标结束时间组成新的当前时间对。
5.根据权利要求1所述的方法,其特征在于,所述基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性的步骤,包括:
判断所述资源调度量是否小于或等于预设的资源调度量阈值;
如果小于或等于,确定在所述预创建任务对应的执行时间段调度所述算力资源可行,在对应的所述执行时间段建立所述预创建任务;
如果大于,确定在所述预创建任务对应的执行时间段调度所述算力资源不可行,取消在对应的所述执行时间段建立所述预创建任务。
6.根据权利要求1所述的方法,其特征在于,所述获取任务的执行时间段的步骤,包括:
当预创建任务包括多个不同的任务时,基于已有任务的执行时间段和预创建任务的执行时间段,获取与每个所述预创建任务的执行时间段存在交集的已有任务。
7.根据权利要求1所述的方法,其特征在于,所述基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组的步骤,包括:
将各个所述任务的执行时间段中的开始时间进行升序排序,得到第一有序数组;
将各个所述任务的执行时间段中的结束时间进行升序排序,得到第二有序数组。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当一个所述任务调度多个所述算力资源时,将该任务拆解为多个子任务,且每个所述子任务均调度一个所述算力资源;
将该任务的执行时间段确定为各个所述子任务的执行时间段。
9.一种任务调度资源的确定装置,其特征在于,所述任务执行时需要调度系统的算力资源,所述装置包括:
时间段获取模块,用于获取任务的执行时间段;其中,所述任务包括预创建任务和与所述预创建任务存在时间交集的已有任务;
时间排序模块,用于基于各个所述任务的执行时间段生成开始时间对应的第一有序数组和结束时间对应的第二有序数组;
调度量标记模块,用于通过比较所述第一有序数组中的开始时间与所述第二有序数组中的结束时间,标记资源调度量;其中,所述资源调度量用于表征在所述任务的执行时间段内所述算力资源的最大调度数量;
资源确定模块,用于基于所述资源调度量确定在所述预创建任务对应的执行时间段调度所述算力资源的可行性;
其中,所述调度量标记模块还用于:基于所述开始时间与所述结束时间的大小关系更新临时最大调度量,并基于所述临时最大调度量标记所述资源调度量,其中,所述临时最大调度量的初始值为0。
10.一种任务调度资源的确定系统,其特征在于,所述系统包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333419.8A CN111124644B (zh) | 2019-12-19 | 2019-12-19 | 任务调度资源的确定方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333419.8A CN111124644B (zh) | 2019-12-19 | 2019-12-19 | 任务调度资源的确定方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124644A CN111124644A (zh) | 2020-05-08 |
CN111124644B true CN111124644B (zh) | 2023-04-04 |
Family
ID=70500966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911333419.8A Active CN111124644B (zh) | 2019-12-19 | 2019-12-19 | 任务调度资源的确定方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124644B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111869303B (zh) * | 2020-06-03 | 2023-10-17 | 北京小米移动软件有限公司 | 一种资源调度的方法、装置、通信设备及存储介质 |
CN112203057B (zh) * | 2020-10-10 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 解析任务创建方法、装置、服务器和计算机可读存储介质 |
CN112053099B (zh) * | 2020-10-14 | 2023-11-17 | 国网北京市电力公司 | 一种路灯建设资源调度方法、系统、存储介质和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166643A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务资源的量化方法和装置 |
CN107291548A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10802880B2 (en) * | 2017-09-19 | 2020-10-13 | Huawei Technologies Co., Ltd. | System and method for distributed resource requirement and allocation |
-
2019
- 2019-12-19 CN CN201911333419.8A patent/CN111124644B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166643A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务资源的量化方法和装置 |
CN107291548A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111124644A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111768006B (zh) | 一种人工智能模型的训练方法、装置、设备及存储介质 | |
CN110390387B (zh) | 对深度学习应用所用资源进行评估 | |
Das et al. | Performance optimization for edge-cloud serverless platforms via dynamic task placement | |
US10783002B1 (en) | Cost determination of a service call | |
JP2022511716A (ja) | 非集中的な分散型深層学習 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
JP2018533795A (ja) | 計算グラフのストリームベースのアクセラレータ処理 | |
Salehi et al. | Stochastic-based robust dynamic resource allocation for independent tasks in a heterogeneous computing system | |
KR20200015829A (ko) | 계산 그래프들 프로세싱 | |
CN113535367A (zh) | 任务调度方法及相关装置 | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN106776395B (zh) | 一种共享集群的任务调度方法及装置 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
US20180176148A1 (en) | Method of dynamic resource allocation for public clouds | |
Deng et al. | A data and task co-scheduling algorithm for scientific cloud workflows | |
CN110781180A (zh) | 一种数据筛选方法和数据筛选装置 | |
CN104598311A (zh) | 一种面向Hadoop的实时作业公平调度的方法和装置 | |
CN115729687A (zh) | 任务调度方法、装置、计算机设备、存储介质 | |
CN115586961A (zh) | 一种ai平台计算资源任务调度方法、装置及介质 | |
CN105740249B (zh) | 一种大数据作业并行调度过程中的处理方法及其系统 | |
US11797353B2 (en) | Method and system for performing workloads in a data cluster | |
JP2015108877A (ja) | 予測時間分布生成装置、制御方法、及びプログラム | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN115391275A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230323 Address after: No. 1268, 1f, building 12, neijian Middle Road, Xisanqi building materials City, Haidian District, Beijing 100096 Applicant after: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd. Applicant after: NANJING KUANGYUN TECHNOLOGY Co.,Ltd. Address before: 100080 room 1018, 10th floor, 1 Zhongguancun Street, Haidian District, Beijing Applicant before: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd. |