CN106919449A - 一种计算任务的调度控制方法及电子设备 - Google Patents

一种计算任务的调度控制方法及电子设备 Download PDF

Info

Publication number
CN106919449A
CN106919449A CN201710170183.5A CN201710170183A CN106919449A CN 106919449 A CN106919449 A CN 106919449A CN 201710170183 A CN201710170183 A CN 201710170183A CN 106919449 A CN106919449 A CN 106919449A
Authority
CN
China
Prior art keywords
task
calculating
tasks
calculating task
computing resource
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.)
Granted
Application number
CN201710170183.5A
Other languages
English (en)
Other versions
CN106919449B (zh
Inventor
李栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710170183.5A priority Critical patent/CN106919449B/zh
Publication of CN106919449A publication Critical patent/CN106919449A/zh
Application granted granted Critical
Publication of CN106919449B publication Critical patent/CN106919449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals

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

一种计算任务的调度控制方法及电子设备
技术领域
本申请涉及数据处理技术领域,特别涉及一种计算任务的调度控制方法及电子设备。
背景技术
随着技术的发展,越来越多的企业内部设置有大数据的计算平台或集群,用以执行大量的计算任务。整体计算任务的效率依赖于计算资源(如CPU、内存及存储空间等)分配的合理性。
计算平台负责对整体计算资源的调度,在计算任务申请计算资源时,计算平台会根据当前剩余的计算资源进行分配,如果剩余的计算资源不满足计算任务的需求,则需要等待其他计算任务完成并释放计算资源之后再分配。
而在实际实现中,计算任务之间可能存在执行顺序的依赖关系及调度时间不同等原因,会存在有些计算任务在执行,有些计算任务在排队的情况,由此,即使剩余的计算资源较多,也会因为不满足排队的下一个计算任务的资源需求而无法充分利用,使得计算资源的利用率不高,导致整体计算任务的计算效率较低。
发明内容
有鉴于此,本申请的目的是提供一种计算任务的调度控制方法及电子设备,用以解决现有技术中计算任务调度过程中存在计算资源的利用率不高,导致整体计算任务的计算效率较低的技术问题。
本申请提供了一种计算任务的调度控制方法,包括:
获得任务集合及计算资源集合,所述任务集合中包括多个计算任务;
获得所述任务集合中各计算任务之间的任务关联关系及各计算任务所需要的计算资源;
基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
上述方法,优选的,在调整各计算任务的调度顺序之后,所述方法还包括:
基于所述调度顺序,调度所述任务集合中的各个计算任务。
上述方法,优选的,基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,包括:
基于所述任务关联关系,确定各计算任务中的当前计算任务;
确定所述计算资源集合中的剩余计算资源;
基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足的至少一个计算任务作为所述当前计算任务的后续调度计算任务,以调整各计算任务的调度顺序。
上述方法,优选的,还包括:
获取各计算任务的执行持续时间;
所述在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足的至少一个计算任务作为所述当前计算任务的后续调度计算任务,包括:
在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务作为所述当前计算任务的后续调度计算任务。
上述方法,优选的,所述满足所述任务关联关系的需求,包括:
计算任务所依赖的前置计算任务已全部完成。
上述方法,优选的,所述方法还包括:
更新各计算任务的调度时间。
本申请还提供了另一种计算任务的调度控制方法,包括:
获得任务集合及计算资源集合,所述任务集合中包括多个计算任务;
获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
上述方法,优选的,所述基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,包括:
基于所述任务关联关系,调度所述任务集合中的一个计算任务;
确定所述计算资源集合中的剩余计算资源;
基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务;
调度查找到的计算任务,返回重新确定所述计算资源集合中的剩余计算资源,直到所述任务集合中每个所述计算任务均调度完成。
上述方法,优选的,所述任务关联关系包括:调度次序相邻的关联关系;
所述基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找所述剩余计算资源能够满足的计算任务,包括:
在所述任务集合中的剩余计算任务中查找与当前正在调度的计算任务调度次序相邻的至少一个计算任务;
如果没有查找到与当前正在调度的计算任务调度次序相邻的计算任务,查找所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务。
本申请还提供了一种电子设备,包括:
第一采集模块,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
第一处理器,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
本申请还提供了另一种电子设备,包括:
第二采集模块,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
第二处理器,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
由上述方案可知,本申请提供的一种计算任务的调度控制方法及电子设备,在获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源及各计算任务的调度时间,进而基于这些信息及计算资源集合来调整各计算任务的调度顺序或者在计算任务执行过程中调度,以缩短完成任务集合中所有计算任务所用的时间。本申请通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种计算任务的调度控制方法的实现流程图;
图2为本申请实施例二提供的一种计算任务的调度控制方法的实现流程图;
图3为本申请实施例三提供的一种计算任务的调度控制方法的部分流程图;
图4a为本申请实施例三的另一部分流程图;
图4b为本申请实施例的应用示例图;
图5为本申请实施例四提供的一种计算任务的调度控制方法的实现流程图;
图6为本申请实施例四的部分流程图;
图7为本申请实施例五提供的一种电子设备的结构示意图;
图8为本申请实施例六提供的一种电子设备的结构示意图;
图9为本申请实施例七提供的一种服务器集群的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种计算任务的调度控制方法的实现流程图,适用于对大数据计算任务的调度中,目的在于提高计算效率。
本实施例中的方法可以包括以下步骤:
步骤101:获得任务集合及计算资源集合。
其中,任务集合中包括多个计算任务,如计算任务A、计算任务B、计算任务C及计算任务D等。
步骤102:获得任务集合中各计算任务之间的任务关联关系及各计算任务所需要的计算资源。
其中,每个计算任务具有各自所需要的计算资源及执行所需要的调度时间等。
计算资源可以为中央处理器(Central Processing Unit,CPU)资源及内存资源等。
计算任务在被申请时可能还具有其调度时间,调度时间是指计算任务被调度的时刻点,如1点的时刻或者1点5分的时刻等。
而各个计算任务之间具有任务关联关系,如B任务需要在C任务完成之后执行,C任务需要与D任务并行执行,等等。
计算资源集合中包含能够为任务集合中的计算任务所提供的CPU资源及内存资源等。
步骤103:基于计算资源集合、任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,以缩短完成任务集合中所有计算任务所用的时间。
其中,本实施例中预先基于计算资源集合、各计算任务的任务关联关系、所需要的计算资源,来综合调整各计算任务之间的调度顺序,进而在基于这个调度顺序调度任务集合中的计算任务时,能够让计算资源集合中的计算资源尽量在任意时刻的使用率都达到最高,且被使用时间尽量连续且紧凑,由此提高计算资源集合中的计算资源的使用率的最大化,这样才能提高计算资源的利用率,进而提高计算任务的执行效率。
由上述方案可知,本申请实施例一提供的一种计算任务的调度控制方法,在获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源,进而基于这些信息及计算资源集合来调整各计算任务的调度顺序,进而按照这个调度顺序调度各个计算任务,以缩短完成任务集合中所有计算任务所用的时间。本实施例通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
参考图2,为本申请实施例二提供的一种计算任务的调度控制方法的实现流程图,在步骤103之后,该方法还可以包括以下步骤:
步骤104:基于调度顺序,调度所述任务集合中的各个计算任务。
也就是说,本实施例在任务集合中各计算任务开始被调用之前,调整各计算任务的调度顺序,使得在各计算任务被调度执行之后,任务集合中所有计算任务都被调度执行完成所用的时间被缩短。
需要说明的是,调度任务集合中各个计算任务的开始时刻可以基于任务集合中计算任务所申请的调度时刻中的最早时刻来确定。
参考图3,为本申请实施例三提供的一种计算任务的调度控制方法中步骤103的实现流程图,图1中的步骤103可以通过以下步骤实现:
步骤301:基于任务关联关系,确定各计算任务中的一个计算任务作为当前计算任务。
以任务集合中包括计算任务A、B、C、D为例:
在服务器集群中可以提供100G的内存作为计算资源,有如下任务和资源申请情况:
A申请的调度时间为1:00,需要50G内存;
B申请的调度时间为1:05,需要50G内存;
C申请的调度时间为1:10,需要25G内存;
D申请的调度时间为1:00,需要25G内存;
本实施例中基于A、B、C、D之间的任务关联关系:B任务需要在C任务完成之后执行,C任务需要与D任务并行执行,A与B、C和D没有关联关系,确定A作为当前计算任务,或者确定A、C、D作为当前计算任务,而为了最大化任意时刻的计算资源的利用率,本实施例中可以确定A、C、D作为当前计算任务。
而本实施例中可以基于任务集合中各个计算任务所申请的调度时刻中的最早时刻来确定整个任务集合的开始调度时刻,如确定1:00为开始调度时刻。
步骤302:确定计算资源集合中的剩余计算资源。
例如,确定A、C、D作为当前计算任务之后,基于A、C和D各自占用的50G、25G和25G的内存计算资源可知,在A、C和D均未执行完成之前,剩余计算资源为0,若其中一个计算任务执行完成,那么该计算任务所占用的计算资源被释放:
例如,若C执行完成而A和D没有执行完成,那么C释放25G,此时剩余计算资源为25G;若D执行完成而A和C没有执行完成,那么D释放25G,此时剩余计算资源为25G;若A执行完成且C和D没有执行完成,那么A释放50G,此时剩余计算资源为50G;
若C和D执行完成而A没有执行完成,那么C和D共释放50G,此时剩余计算资源为50G;若D和A执行完成而C没有执行完成,那么D和A共释放75G,此时剩余计算资源为75G;若A和C执行完成且D没有执行完成,那么A和C释放75G,此时剩余计算资源为75G;
若A、C和D均执行完成,那么共释放100G内存,此时剩余计算资源为100G。
步骤303:基于任务关联关系,在任务集合中的剩余计算任务中,查找满足任务关联关系的需求且剩余计算资源满足的至少一个计算任务作为当前计算任务的后续调度计算任务,以调整各计算任务的调度顺序。
具体的,本实施例中还可以包括以下方法步骤,如图4a中所示:
步骤300:获取各计算任务的执行持续时间。
其中,步骤300的执行位置可以在步骤303之前的任意位置均可以。
例如,A申请的执行持续时间为20分钟;
B申请的执行持续时间为10分钟;
C申请的执行持续时间为5分钟;
D申请的执行持续时间为10分钟;
相应的,步骤303在在任务集合中的剩余计算任务中,查找满足任务关联关系的需求且剩余计算资源满足的至少一个计算任务作为当前计算任务的后续调度计算任务,可以通过以下方式实现:
在任务集合中的剩余计算任务中,查找满足任务关联关系的需求,且剩余计算资源能够满足,且执行持续时间不大于剩余资源空闲时间的至少一个计算任务作为当前计算任务的后续调度计算任务。
其中,满足任务关联关系的需求,是指:该后续调度计算任务所依赖的前置计算任务已全部完成。例如,B需要在C完成之后才能执行,那么C为B所依赖的前置计算任务,只有在C完成之后,B关于任务关联关系的需求才能被满足。
剩余计算资源能够满足,是指:剩余计算资源能够支持该后续调度计算任务的正常运行。例如,B需要内存50G,那么只有剩余计算资源大于等于50G时,B才有可能被执行。
执行持续时间不大于剩余资源空闲时间,是指:剩余计算资源能够在该执行持续时间内为该后续调度计算任务提供计算资源。
例如,C的执行持续时间为5分钟,D的执行持续时间为10分钟,A的执行持续时间为20分钟,那么在5分钟后即C执行完成之后,剩余计算资源为25G,此时虽然B的前置计算任务C已经完成,但剩余计算资源不够B所需要的计算资源,那么继续等待;在10分钟后即D完成之后,剩余计算资源为50G,此时,B的前置计算任务C已经完成且剩余计算资源足够B所需要的计算资源,且B的执行持续时间10分钟小于剩余资源空闲时间(没有其他任务需要使用剩余资源,那么剩余资源空闲时间为无限),此时,安排B在D完成之后开始调度,因此,任务集合中的计算任务调度顺序为:A、C及D最先开始且同时调度,在D执行完成之后B开始调度,如图4b中所示。
由此,基于以上的调度顺序调整方案,对任务集合中的计算任务的调度顺序进行调整,以缩短完成任务集合中所有计算任务所用的时间。
例如,假如对于以下任务集合:
A申请的调度时间为1:00,需要50G内存,执行持续时间为20分钟;
B申请的调度时间为1:05,需要50G内存,执行持续时间为10分钟;
C申请的调度时间为1:10,需要25G内存,执行持续时间为5分钟;
D申请的调度时间为1:00,需要25G内存,执行持续时间为10分钟;
按照原始的申请调度时间进行任务调度,A和D最开始在1:00执行,B在1:05执行时,因为内存不足(A、D还在执行,共占了75G内存,还剩25G),必须等到D执行完成(1:10),B才开始执行,此时C也开始排队(A、B还在执行,共占了100G内存)。依次类推,整个任务集合中的计算任务执行完成需要25分钟,需要到1:25才能完成。
而采用以上本实施例中的调度方案,A、C和D在1:00开始执行,到1:10,C、D都已经完成,可以开始执行B,整个任务集合中的计算任务执行完成需要20分钟,到1:20完成,相比较原来,提前了5分钟。
参考图5,为本申请实施例四提供的一种计算任务的调度控制方法的实现流程图,该方法可以包括:
步骤501:获得任务集合及计算资源集合。
其中,任务集合中包括多个计算任务,如计算任务A、计算任务B、计算任务C及计算任务D等。
步骤502:获得任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源。
其中,每个计算任务具有各自所需要的计算资源及执行所需要的调度时间等。
计算资源可以为中央处理器(Central Processing Unit,CPU)资源及内存资源等。
计算任务在被申请时可能还具有其调度时间,调度时间是指计算任务被调度的时刻点,如1点的时刻或者1点5分的时刻等。
而各个计算任务之间具有任务关联关系,如B任务需要在C任务完成之后执行,C任务需要与D任务并行执行,等等。
计算资源集合中包含能够为任务集合中的计算任务所提供的CPU资源及内存资源等。
步骤503:基于计算资源集合、任务关联关系、各计算任务所需要的计算资源,调度各计算任务,以缩短完成任务集合中所有计算任务所用的时间。
其中,本实施例在调度各计算任务的过程中,基于计算资源集合、各计算任务的任务关联关系、所需要的计算资源,来综合调度计算任务,让计算资源集合中的计算资源尽量在任意时刻的使用率都达到最高,且被使用时间尽量连续且紧凑,由此提高计算资源集合中的计算资源的使用率的最大化,这样才能提高计算资源的利用率,进而提高计算任务的执行效率。
由上述方案可知,本申请实施例四提供的一种计算任务的调度控制方法,在获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源,进而基于这些信息及计算资源集合在计算任务执行过程中调度各计算任务,以缩短完成任务集合中所有计算任务所用的时间。本实施例通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
也就是说,本实施例中,是在任务集合的计算任务被调度的过程中,调整各个计算任务的调度顺序,实现动态调度计算任务,达到提高计算效率的目的。
在一种实现中,如图6中所示,步骤503可以通过以下步骤实现:
步骤601:基于任务关联关系,调度所述任务集合中的一个计算任务。
以任务集合中包括计算任务A、B、C、D为例:
在服务器集群中可以提供100G的内存作为计算资源,有如下任务和资源申请情况:
A申请的调度时间为1:00,需要50G内存;
B申请的调度时间为1:05,需要50G内存;
C申请的调度时间为1:10,需要25G内存;
D申请的调度时间为1:00,需要25G内存;
本实施例中基于A、B、C、D之间的任务关联关系:B任务需要在C任务完成之后执行,C任务需要与D任务并行执行,A与B、C和D没有关联关系,确定A作为当前计算任务,或者确定A、C、D作为当前计算任务,而为了最大化任意时刻的计算资源的利用率,本实施例中可以确定A、C、D作为当前计算任务。
而本实施例中可以基于任务集合中各个计算任务所申请的调度时刻中的最早时刻来确定整个任务集合的开始调度时刻,如确定1:00为开始调度时刻。
步骤602:确定计算资源集合中的剩余计算资源。
例如,确定A、C、D作为当前计算任务之后,基于A、C和D各自占用的50G、25G和25G的内存计算资源可知,在A、C和D均未执行完成之前,剩余计算资源为0,若其中一个计算任务执行完成,那么该计算任务所占用的计算资源被释放。
步骤603:基于任务关联关系,在任务集合中的剩余计算任务中,查找剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务。
其中,任务关联关系是指:调度次序相邻的关联关系,例如:后续计算任务所依赖的前置计算任务需要被全部完成,后续计算任务才能被调度执行。
相应的,步骤603可以通过以下方式实现:
在任务集合中的剩余计算任务中查找与当前正在调度的计算任务调度次序相邻的至少一个计算任务;
如果没有查找到与当前正在调度的计算任务调度次序相邻的计算任务,查找剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务。
步骤604:调度查找到的计算任务,返回步骤602重新确定计算资源集合中的剩余计算资源,直到任务集合中每个计算任务均调度完成。
例如:在A、C和D开始调度指挥,C的执行持续时间为5分钟,D的执行持续时间为10分钟,A的执行持续时间为20分钟,那么在5分钟后即C执行完成之后,剩余计算资源为25G,此时虽然B的前置计算任务C已经完成,但剩余计算资源不够B所需要的计算资源,那么继续等待;在10分钟后即D完成之后,剩余计算资源为50G,此时,B的前置计算任务C已经完成且剩余计算资源足够B所需要的计算资源,且B的执行持续时间10分钟小于剩余资源空闲时间(没有其他任务需要使用剩余资源,那么剩余资源空闲时间为无限),此时,安排B在D完成之后开始调度,因此,任务集合中的计算任务调度顺序为:A、C及D最先开始且同时调度,在D执行完成之后B开始调度,以此类推,直到任务集合中的所有计算任务均调度完成。
参考图7,为本申请实施例五提供的一种电子设备的结构示意图,该电子设备可以为服务器集群或计算机集群中的中央管理设备,用以对集群中的资源进行调度。
本实施例中,该电子设备可以包括以下结构:
第一采集模块701,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源。
其中,第一采集模块701可以为输入接口等。
第一处理器702,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
由上述方案可知,本申请实施例五提供的一种电子设备,在利用采集模块获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源,进而由处理器基于这些信息及计算资源集合来调整各计算任务的调度顺序,进而按照这个调度顺序调度各个计算任务,以缩短完成任务集合中所有计算任务所用的时间。本实施例通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
其中,本实施例中各组成结构的具体实现方式可以参考前文中图1~图6中相应内容,此处不再赘述。
参考图8,为本申请实施例六提供的一种电子设备的结构示意图,该电子设备可以为服务器集群或计算机集群中的中央管理设备,用以对集群中的资源进行调度。
本实施例中,该电子设备可以包括以下结构:
第二采集模块801,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源。
其中,第二采集模块801可以为输入接口等。
第二处理器802,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
由上述方案可知,本申请实施例六提供的一种电子设备,在采集模块获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源,进而由处理器基于这些信息及计算资源集合在计算任务执行过程中调度各计算任务,以缩短完成任务集合中所有计算任务所用的时间。本实施例通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
其中,本实施例中各组成结构的具体实现方式可以参考前文中图1~图6中相应内容,此处不再赘述。
参考图9,为本申请实施例七提供的一种服务器集群的结构示意图,该服务器集群中至少包括:能够提供计算资源的计算设备901以及电子设备902。
其中,计算设备901可以为提供内存或CPU等计算资源的计算机等终端设备,计算设备901可以为多个。
而电子设备用于在接收到用户申请的计算任务之后,通过调度计算设备901来为用户提供计算服务,如图7或图8中所示的电子设备。
其中,电子设备902可以为能够进行数据处理的计算机等终端设备。
在一种实现方式中,电子设备902具体用于:获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,获得所述任务集合中各计算任务之间的任务关联关系及各计算任务所需要的计算资源,基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
在一种实现方式中,电子设备902具体用于:获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源,基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
电子设备902的具体实现方式可以参考前文中图1~图8中相应内容,此处不再赘述。
由上述方案可知,本申请实施例七提供的一种服务器集群,利用为用户提供计算服务的电子设备获得包含多个计算任务的任务集合和计算资源集合之后,通过获得各个计算任务之间的任务关联关系、各计算任务所需要的计算资源及各计算任务的调度时间,进而基于这些信息及计算资源集合来调整各计算任务的调度顺序或者在计算任务执行过程中调度,以缩短完成任务集合中所有计算任务所用的时间。本申请通过对进行任务进行调度来,来提高计算资源的利用率,缩短整体运行时间,以此来提高整体计算任务的计算效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种计算任务的调度控制方法及电子设备进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种计算任务的调度控制方法,包括:
获得任务集合及计算资源集合,所述任务集合中包括多个计算任务;
获得所述任务集合中各计算任务之间的任务关联关系及各计算任务所需要的计算资源;
基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
2.根据权利1所述的方法,其特征在于,在调整各计算任务的调度顺序之后,所述方法还包括:
基于所述调度顺序,调度所述任务集合中的各个计算任务。
3.根据权利要求2所述的方法,其特征在于,基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调整各计算任务的调度顺序,包括:
基于所述任务关联关系,确定各计算任务中的当前计算任务;
确定所述计算资源集合中的剩余计算资源;
基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足的至少一个计算任务作为所述当前计算任务的后续调度计算任务,以调整各计算任务的调度顺序。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取各计算任务的执行持续时间;
所述在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足的至少一个计算任务作为所述当前计算任务的后续调度计算任务,包括:
在所述任务集合中的剩余计算任务中,查找满足所述任务关联关系的需求,且所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务作为所述当前计算任务的后续调度计算任务。
5.根据权利要求3或4所述的方法,其特征在于,所述满足所述任务关联关系的需求,包括:
计算任务所依赖的前置计算任务已全部完成。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
更新各计算任务的调度时间。
7.一种计算任务的调度控制方法,包括:
获得任务集合及计算资源集合,所述任务集合中包括多个计算任务;
获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
8.根据权利要求7所述的方法,其特征在于,所述基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,包括:
基于所述任务关联关系,调度所述任务集合中的一个计算任务;
确定所述计算资源集合中的剩余计算资源;
基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务;
调度查找到的计算任务,返回重新确定所述计算资源集合中的剩余计算资源,直到所述任务集合中每个所述计算任务均调度完成。
9.根据权利要求8所述的方法,其特征在于,所述任务关联关系包括:调度次序相邻的关联关系;
所述基于所述任务关联关系,在所述任务集合中的剩余计算任务中,查找所述剩余计算资源能够满足的计算任务,包括:
在所述任务集合中的剩余计算任务中查找与当前正在调度的计算任务调度次序相邻的至少一个计算任务;
如果没有查找到与当前正在调度的计算任务调度次序相邻的计算任务,查找所述剩余计算资源能够满足且执行持续时间不大于剩余资源空闲时间的至少一个计算任务。
10.一种电子设备,包括:
第一采集模块,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
第一处理器,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调整各计算任务的调度顺序,以缩短完成所述任务集合中所有计算任务所用的时间。
11.一种电子设备,包括:
第二采集模块,用于获得任务集合及计算资源集合,所述任务集合中包括多个计算任务,并获得所述任务集合中各计算任务之间的任务关联关系、各计算任务所需要的计算资源;
第二处理器,用于基于所述计算资源集合、所述任务关联关系、各计算任务所需要的计算资源及调度时间,调度各所述计算任务,以缩短完成所述任务集合中所有计算任务所用的时间。
CN201710170183.5A 2017-03-21 2017-03-21 一种计算任务的调度控制方法及电子设备 Active CN106919449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710170183.5A CN106919449B (zh) 2017-03-21 2017-03-21 一种计算任务的调度控制方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710170183.5A CN106919449B (zh) 2017-03-21 2017-03-21 一种计算任务的调度控制方法及电子设备

Publications (2)

Publication Number Publication Date
CN106919449A true CN106919449A (zh) 2017-07-04
CN106919449B CN106919449B (zh) 2020-11-20

Family

ID=59460571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710170183.5A Active CN106919449B (zh) 2017-03-21 2017-03-21 一种计算任务的调度控制方法及电子设备

Country Status (1)

Country Link
CN (1) CN106919449B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255665A (zh) * 2017-09-28 2018-07-06 平安科技(深圳)有限公司 计算任务的资源监测方法、装置、设备及可读存储介质
CN108874520A (zh) * 2018-06-06 2018-11-23 成都四方伟业软件股份有限公司 计算方法及装置
CN109388495A (zh) * 2018-11-01 2019-02-26 北京视甄智能科技有限公司 一种基于单gpu卡的图像并发处理方法、装置及系统
CN109388496A (zh) * 2018-11-01 2019-02-26 北京视甄智能科技有限公司 一种基于多gpu卡的图像并发处理方法、装置及系统
CN109523184A (zh) * 2018-11-28 2019-03-26 郑州云海信息技术有限公司 一种资源调度的方法及装置
CN110245023A (zh) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 分布式调度方法及装置、电子设备以及计算机存储介质
CN110659137A (zh) * 2019-09-24 2020-01-07 支付宝(杭州)信息技术有限公司 针对离线任务的处理资源分配方法及系统
CN110673939A (zh) * 2019-09-23 2020-01-10 汉纳森(厦门)数据股份有限公司 一种基于airflow和yarn的任务调度方法、装置及介质
CN110825526A (zh) * 2019-11-08 2020-02-21 欧冶云商股份有限公司 基于er关系的分布式调度方法及装置、设备以及存储介质
CN112486658A (zh) * 2020-12-17 2021-03-12 华控清交信息科技(北京)有限公司 一种任务调度方法、装置和用于任务调度的装置
CN113360270A (zh) * 2021-06-30 2021-09-07 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521056A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 任务分配装置和任务分配方法
CN103699445A (zh) * 2013-12-19 2014-04-02 北京奇艺世纪科技有限公司 一种任务调度方法、装置及系统
CN104021040A (zh) * 2014-06-04 2014-09-03 河海大学 基于时间约束条件下的云计算关联任务调度方法和装置
CN104520815A (zh) * 2014-03-17 2015-04-15 华为技术有限公司 一种任务调度的方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521056A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 任务分配装置和任务分配方法
CN103699445A (zh) * 2013-12-19 2014-04-02 北京奇艺世纪科技有限公司 一种任务调度方法、装置及系统
CN104520815A (zh) * 2014-03-17 2015-04-15 华为技术有限公司 一种任务调度的方法、装置及设备
CN104021040A (zh) * 2014-06-04 2014-09-03 河海大学 基于时间约束条件下的云计算关联任务调度方法和装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255665A (zh) * 2017-09-28 2018-07-06 平安科技(深圳)有限公司 计算任务的资源监测方法、装置、设备及可读存储介质
WO2019062077A1 (zh) * 2017-09-28 2019-04-04 平安科技(深圳)有限公司 计算任务的资源监测方法、装置、设备及可读存储介质
CN108255665B (zh) * 2017-09-28 2020-09-01 平安科技(深圳)有限公司 计算任务的资源监测方法、装置、设备及可读存储介质
CN108874520A (zh) * 2018-06-06 2018-11-23 成都四方伟业软件股份有限公司 计算方法及装置
CN109388495A (zh) * 2018-11-01 2019-02-26 北京视甄智能科技有限公司 一种基于单gpu卡的图像并发处理方法、装置及系统
CN109388496A (zh) * 2018-11-01 2019-02-26 北京视甄智能科技有限公司 一种基于多gpu卡的图像并发处理方法、装置及系统
CN109523184A (zh) * 2018-11-28 2019-03-26 郑州云海信息技术有限公司 一种资源调度的方法及装置
CN110245023A (zh) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 分布式调度方法及装置、电子设备以及计算机存储介质
CN110673939A (zh) * 2019-09-23 2020-01-10 汉纳森(厦门)数据股份有限公司 一种基于airflow和yarn的任务调度方法、装置及介质
CN110673939B (zh) * 2019-09-23 2021-12-28 汉纳森(厦门)数据股份有限公司 一种基于airflow和yarn的任务调度方法、装置及介质
CN110659137A (zh) * 2019-09-24 2020-01-07 支付宝(杭州)信息技术有限公司 针对离线任务的处理资源分配方法及系统
CN110659137B (zh) * 2019-09-24 2022-02-08 支付宝(杭州)信息技术有限公司 针对离线任务的处理资源分配方法及系统
CN110825526A (zh) * 2019-11-08 2020-02-21 欧冶云商股份有限公司 基于er关系的分布式调度方法及装置、设备以及存储介质
CN112486658A (zh) * 2020-12-17 2021-03-12 华控清交信息科技(北京)有限公司 一种任务调度方法、装置和用于任务调度的装置
CN113360270A (zh) * 2021-06-30 2021-09-07 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置
CN113360270B (zh) * 2021-06-30 2024-02-27 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置

Also Published As

Publication number Publication date
CN106919449B (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN106919449A (zh) 一种计算任务的调度控制方法及电子设备
US11301290B1 (en) System and method for controlled sharing of consumable resources in a computer cluster
US8522241B1 (en) Systems and methods for auto-balancing of throughput in a real-time event-driven system
CN103338228B (zh) 基于双加权最小连接算法的云计算负载均衡调度算法
US8589929B2 (en) System to provide regular and green computing services
CN104657220A (zh) 混合云中基于截止时间和费用约束的调度模型及方法
US11102143B2 (en) System and method for optimizing resource utilization in a clustered or cloud environment
CN108762687B (zh) Io服务质量控制方法、装置、设备及存储介质
CN104023042B (zh) 云平台资源调度方法
US10228974B2 (en) Intelligent management of processing tasks on multi-tenant or other constrained data processing platform
US20170083384A1 (en) Systems for parallel processing of datasets with dynamic skew compensation
CN106557471A (zh) 任务调度方法及装置
CN104407912A (zh) 一种虚拟机配置方法及装置
US9141936B2 (en) Systems and methods for simulating a resource constrained process
Sharma et al. An improved task allocation strategy in cloud using modified k-means clustering technique
CN101963969A (zh) Oracle RAC系统中实现负载均衡的方法和数据库服务器
CN106845746A (zh) 一种支持大规模实例密集型应用的云工作流管理系统
US20120144039A1 (en) Computing scheduling using resource lend and borrow
EP3991042A1 (en) Dynamic allocation of computing resources
Akingbesote et al. Performance modeling of proposed GUISET middleware for mobile healthcare services in E-marketplaces
Tang et al. Pricing model for dynamic resource overbooking in edge computing
CN109783236A (zh) 用于输出信息的方法和装置
US20150286656A1 (en) Genomic application data storage
US10887162B2 (en) Dynamic planning and configuration based on inconsistent supply
CN110557339B (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