CN111258745B - 一种任务处理方法及设备 - Google Patents

一种任务处理方法及设备 Download PDF

Info

Publication number
CN111258745B
CN111258745B CN201811454705.5A CN201811454705A CN111258745B CN 111258745 B CN111258745 B CN 111258745B CN 201811454705 A CN201811454705 A CN 201811454705A CN 111258745 B CN111258745 B CN 111258745B
Authority
CN
China
Prior art keywords
executed
task
future
resource manager
tasks
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
Application number
CN201811454705.5A
Other languages
English (en)
Other versions
CN111258745A (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.)
Petal Cloud Technology Co Ltd
Original Assignee
Petal Cloud Technology Co 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 Petal Cloud Technology Co Ltd filed Critical Petal Cloud Technology Co Ltd
Priority to CN201811454705.5A priority Critical patent/CN111258745B/zh
Publication of CN111258745A publication Critical patent/CN111258745A/zh
Application granted granted Critical
Publication of CN111258745B publication Critical patent/CN111258745B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种任务处理方法及设备,该方法包括:资源管理器从任务调度器中获取各个待执行任务的SLA信息、待执行任务的历史运行时长信息和关键待执行任务的历史计算资源占用大小,资源管理器根据各个待执行任务的SLA信息和历史运行时长信息,预测各个待执行任务的未来开始执行时间点,资源管理器根据各个关键待执行任务的历史计算资源占用大小,预测各个关键待执行任务未来运行时所需占用的计算资源大小;资源管理器为关键待执行任务预分配与所需占用的计算资源大小对应的计算资源;资源管理器调用预分配的与关键待执行任务对应的计算资源执行关键待执行任务,该方法用以在充分利用计算资源的基础上,保证有SLA信息的任务得到及时执行。

Description

一种任务处理方法及设备
技术领域
本申请涉及终端技术领域,尤其涉及一种任务处理方法及设备。
背景技术
云计算主要是以服务消费者为中心的“按需使用、按量付费”的商业服务模式,在这种商业服务模式下,任务的处理时间和执行费用就成了服务消费者最关心的问题。通常情况下、云服务提供商和服务消费者需要通过协商谈判签订SLA(service levelagreement,服务等级协议)来保证自身利益和服务质量。
目前任务调度系统通常是将任务定时地提交到计算集群中运行。在计算集群的虚拟机资源竞争激烈情况下,可能会存在部分有处理时间要求的关键任务得不到及时执行的问题。现有技术提出的解决办法是:在设定的时间段内计算集群的所有虚拟机资源均用来执行有处理时间要求的关键任务,在这段时间内不允许执行没有处理时间要求的非关键任务。但是这样做的缺点是:在该设定的时间段关键任务可能并不会完全占用计算集群的全部虚拟机资源,这样就导致在该设定的时间段计算集群的资源得不到充分利用。
发明内容
本申请提供一种任务处理方法及设备,用以在充分利用资源的基础上,保证关键任务得到及时地执行。
第一方面,本申请实施例提供了一种任务处理方法,该方法包括:首先资源管理器从任务调度器中获取各个待执行任务的服务等级协议SLA信息,以及待执行任务的历史运行时长信息和关键待执行任务的历史计算资源占用大小,然后资源管理器根据各个待执行任务的SLA信息和历史运行时长信息,预测各个待执行任务的未来开始执行时间点,进而资源管理器根据各个关键待执行任务的历史计算资源占用大小,预测各个关键待执行任务未来运行时所需占用的计算资源大小,接着资源管理器在各个关键待执行任务的未来开始执行时间点发生之前为所述关键待执行任务预分配与所需占用的计算资源大小对应的计算资源。最终资源管理器接收来自所述任务调度器的待执行任务,并根据预测的各个待执行任务的未来开始执行时间点,在任一待执行任务的未来开始执行时间点到达时执行所述任一待执行任务;且在执行关键待执行任务时,所述资源管理器调用预分配的与所述关键待执行任务对应的计算资源执行所述关键待执行任务。
本申请实施例中,资源管理器并不限定在设定时间段只执行关键待执行任务,而是关键待执行任务和非关键待执行任务按照先后顺序依次提交至资源管理器,也就是说,在执行关键待执行任务的同时,非关键待执行任务也可以并行执行,这样,计算集群中的计算资源可以得到充分利用。因资源管理器预先为关键待执行任务预留了计算资源,所以还可以保证关键待执行任务在期望最晚时间前完成。
在一种可能的设计中,所述资源管理器根据各个待执行任务的历史运行时长,预测各个待执行任务的未来运行时长;然后资源管理器根据SLA信息和未来运行时长,以及各个待执行任务的预设优先级,确定各个待执行任务的执行顺序;其中,预设优先级高的待执行任务比预设优先级低的待执行任务的执行顺序靠前,SLA信息中设有期望最晚完成时间点的待执行任务比SLA信息中未设有期望最晚完成时间点的待执行任务的执行顺序靠前,SLA信息中设有期望最晚完成时间点且期望最晚完成时间点早的待执行任务比期望最晚完成时间点晚的待执行任务的执行顺序靠前,且期望最晚完成时间点相同的多个待执行任务中运行时长越长的待执行任务执行顺序越靠前。最后,资源管理器根据各个待执行任务的所述执行顺序、预设的定时开始执行时间点和每个待执行任务的未来运行时长,预测各个待执行任务的未来开始执行时间点。
本申请实施例中,资源管理器结合优先级、预设的定时开始执行时间点等参数确定各个待执行任务的未来开始执行时间点更为准确可靠。
在一种可能的设计中,资源管理器可以将预设的定时开始执行时间点,确定为首个待执行任务的未来开始执行时间点;然后依次将第二个待执行任务到最后一个待执行任务作为当前待执行任务,对每个所述当前待执行任务执行:
所述资源管理器根据所述当前待执行任务的上个待执行任务的未来运行时长和上个待执行任务的未来开始执行时间点,计算所述上个待执行任务的未来结束执行时间点;
所述资源管理器将所述上个待执行任务的未来结束执行时间点作为所述当前待执行任务的未来开始执行时间点。
本申请实施例中,资源管理器按照先后顺序依次确定出每个待执行任务的未来开始执行时间点,这样,当资源管理器接收到任务调度器提交的任务时,可以按照每个待执行任务的未来开始执行时间点依次执行各个待执行任务。
在一种可能的设计中,针对任意一个待执行任务,所述资源管理器可以加权求平均所述待执行任务在历史T个周期内的运行时长,得到所述待执行任务的未来运行时长。具体地,针对任意一个待执行任务,所述资源管理器可以通过公式一计算所述待执行任务在历史T个周期内的运行时长中的噪音系数;并根据所述待执行任务在历史T个周期内的运行时长、权重和噪音系数,通过公式二计算得到所述待执行任务的未来运行时长;
公式一:
公式二:
其中,ETt为一个待执行任务的运行时长,t=0为待执行任务在当前周期的未来运行时长,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ETt)为噪音系数,WeightF(t)表示待执行任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低;其中权重可表示为:WeightF(t)=T-t+1t=1,2…T。
本申请实施例中,资源管理器通过上述方式确定出来的未来运行时长更加准确,有利于后续预测待执行任务的未来开始执行时间点。
在一种可能的设计中,针对任意一个关键待执行任务,所述资源管理器可以加权求平均所述关键待执行任务在历史T个周期内的历史计算资源占用大小,得到所述关键待执行任务未来运行时所需占用的计算资源大小。具体地,所述资源管理器可以通过公式三计算所述关键待执行任务在历史T个周期内的运行时长中的噪音系数;并根据所述关键待执行任务在历史T个周期内的历史计算资源占用大小、权重和噪音系数,通过公式四计算得到未来运行时所需占用的计算资源大小;
公式三:
公式四:
其中,ERt为一个任务的资源使用情况,t=0为任务当前周期的资源使用,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ERt)为噪音系数,WeightF(t)表示周期任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低;其中权重可表示为:WeightF(t)=T-t+1t=1,2…T。
本申请实施例中,资源管理器通过上述方式确定出来的未来所需占用的计算资源更加准确,有利于后续预分配计算资源。
在一种可能的设计中,资源管理器在各个关键待执行任务的未来开始执行时间点发生之前获取计算节点集群中的资源使用状态;然后资源管理器根据所述资源使用状态为所述关键待执行任务分配与所需占用的计算资源大小对应的计算资源。
本申请实施例中,因待执行任务执行完毕,计算资源会被释放,所以计算集群可用的计算资源是实时变化的,为此资源管理器可以周期地统计计算集群的使用状态,及时地为关键待执行任务分配可用的计算资源。
在一种可能的设计中,所述资源管理器在确定能够为所述关键待执行任务调用的计算资源,达不到为所述关键待执行任务预分配的计算资源时,则可以释放计算集群中非关键任务所占用的计算资源。
本申请实施例中,资源管理器通过抢占资源的方式及时地为关键待执行任务分配足够的计算资源,保证了关键待执行任务的完成时间。
第二方面,本申请实施例还提供一种任务处理系统,该任务处理系统由任务处理器、资源管理器和计算集群组成,任务处理器中包括任务提交客户端,资源管理器中包括资源预分配模块、时间预测模块、运行模块。任务提交客户端用于将各个待执行任务的SLA信息注册到资源管理器中;时间预测模块用于预测各个设有期望最晚完成时间要求的关键待执行任务的未来开始执行时间点,以及未设有期望最晚完成时间要求的非关键待执行任务的未来开始执行时间点。资源预分配模块用于为关键待执行任务提前预留计算集群103中的计算资源。运行模块用于调用计算集群中的预留计算资源执行该关键待执行任务,或者调用分配的计算资源执行非关键待执行任务。这些模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。各个模块所执行的具体内容可以参见上文方法实施例记载的内容,在此不再赘述。
第三方面,本申请实施例提供一种电子设备,该电子设备可以是资源管理器,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述第一方面的任意一种可能的设计的方法。
第四方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面的任意一种可能的设计的方法。
第五方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述第一方面的任意一种可能的设计的方法。
本申请的以上方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种任务处理方法交互示意图;
图3本申请实施例提供的一种资源池分配方式示意图;
图4本申请实施例提供的一种系统架构示意图二;
图5本申请实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的计算资源调度方法可以应用于如图1所示系统架构。该系统架构包括:任务调度器101、资源管理器102、计算集群103。
任务调度器101用于将各个待执行任务的SLA信息注册到资源管理器中。
资源管理器102,用于根据各个任务的SLA信息确定设有期望最晚完成时间点要求的关键待执行任务,以及获取每个待执行任务的历史运行信息,所述历史运行信息包括历史运行时长和历史计算资源占用大小。资源管理器102还用于预测各个设有期望最晚完成时间要求的关键待执行任务的未来开始执行时间点,以及未设有期望最晚完成时间要求的非关键待执行任务的未来开始执行时间点。另外,资源管理器102还为关键待执行任务提前预留计算集群103中的计算资源。
任务调度器101,还用于为待执行任务添加用于标识关键任务或非关键任务的标识,并将待执行任务依次提交至资源管理器102中。
资源管理器102,还用于接收任务调度器101提交的待执行任务,生成任务队列,若确定任务队列中的待执行任务的标识为关键待执行任务时,则在关键待执行任务的未来开始执行时间点到达时调用计算集群103中的预留计算资源执行该关键待执行任务;若确定任务队列中的待执行任务的标识为非关键待执行任务时,则在非关键待执行任务的未来开始执行时间点到达时分配计算集群103中的计算资源,并利用分配的计算资源执行该非关键待执行任务。
在特殊情况下,若资源管理器102能够为所述关键待执行任务调用的计算资源,达不到为所述关键待执行任务预分配的计算资源时,则释放当前正在执行的非关键待执行任务的计算资源,以供关键待执行任务优先执行。
需要说明的是,任务调度器101中的任务调度系统可以采用在业界常用的ApacheOzzie、Azkaban、Airflow等任务调度系统上进行二次开发,以实现上述功能。另外,资源管理器102中的资源管理系统可以采用在业界通用的YARN上进行二次开发,以实现上述功能。
本申请实施例进一步结合图2所示的交互图,对上述系统架构中各个器件之间具体交互过程进行说明。
步骤201,任务调度器101从服务平台上获取待执行的任务。然后,任务调度器101将各个待执行的任务的SLA信息注册到资源管理器102上。
其中,SLA信息包括任务的期望最晚完成时间(也叫服务台响应时间)、网络可用性、云服务平台可用性、赔偿金额等。例如待执行任务可以是把游戏下载数据加载到计算集群中,或者待执行任务也可以是要求计算出游戏下载量排在前10位的游戏。任务调度器101或者资源管理器102可以根据SLA信息确定关键待执行任务和非关键待执行任务。例如,任务调度器101将设有期望最晚完成时间的待执行任务设置为关键待执行任务,将未设有期望最晚完成时间的待执行任务设置为非关键待执行任务。或者,任务调度器101也可以将设有期望最晚完成时间和赔偿金额的待执行任务设置为关键待执行任务,将未设有期望最晚完成时间和赔偿金额的待执行任务设置为非关键待执行任务。
步骤202,资源管理器102根据SLA信息确定关键待执行任务,以及非关键待执行任务。资源管理器102将待执行任务划分为关键待执行任务集合和非关键待执行任务集合。然后资源管理器102根据从数据库中获取的待执行任务的历史运行时长信息,以及SLA信息,预测各个待执行任务的未来开始执行时间点。
另外,资源管理器102还可以从数据库中获取关键待执行任务的历史占用资源信息,并根据历史占用资源信息,预测各个关键待执行任务未来运行时所需占用的计算资源大小,在各个关键待执行任务的未来开始执行时间点发生之前,为关键待执行任务预分配与所需占用的计算资源大小对应的计算资源。
步骤203,资源管理器102向任务调度器101返回各个待执行任务的未来开始执行时间点。
步骤204,任务调度器101向资源管理器102提交待执行任务,如果待执行任务是关键待执行任务,则为关键待执行任务添加用于标识关键任务的标识。
例如,任务调度系统定时调起任务,任务客户端如hive客户端在提交关键待执行任务时,会将待执行任务的名称及周期相关信息组成唯一标识,如TCC%3AB%2E1%2E1%2Ea%3A20180703-000000。然后在该关键待执行任务中打上该唯一标识。
步骤205,资源管理器102接收来自所述任务调度器101的待执行任务,并根据预测的各个待执行任务的未来开始执行时间点,在任一待执行任务的未来开始执行时间点到达时执行所述任一待执行任务。若资源管理器102确定该待执行任务是关键待执行任务,则确定与关键待执行任务的标识对应的预分配的计算资源。
例如,由于任务调度器101已将任务信息注册到资源调度器中,所以资源调度器所预分配的计算该资源的命名也为相同的标识,如TCC%3AB%2E1%2E1%2Ea%3A20180703-000000,因此资源调度器可以在确定该待执行任务是关键待执行任务时,调用该预分配的计算资源执行该待执行任务。
步骤206,若资源管理器102确定该待执行任务是关键待执行任务,则调用计算集群103中的预留计算资源执行该关键待执行任务;若资源管理器确定该待执行任务是非关键待执行任务,则可以临时调用分配的计算集群103中的计算资源执行该非关键待执行任务。
需要说明的是,在步骤201中,任务调度器101也可以只将关键待执行任务的SLA信息注册到资源管理器102上,这样资源管理器102只需要预测出关键待执行任务的未来开始执行时间点,并将关键待执行任务的未来开始执行时间点返回给任务调度器101。这样,任务调度器101按照关键待执行任务的未来开始执行时间点提交关键待执行任务,按照非关键待执行任务的预设的定时开始执行时间点提交非关键待执行任务。
可见,本申请实施例中,资源管理器102并不限定在设定时间段只执行关键待执行任务,而是关键待执行任务和非关键待执行任务按照先后顺序依次执行,也就是说,在执行关键待执行任务的同时,非关键待执行任务也可以并行执行,这样,计算集群中的计算资源可以得到充分利用。因资源管理器预先为关键待执行任务预留了计算资源,所以还可以保证关键待执行任务在期望最晚时间前完成。
在上述步骤203中,资源管理器102可以仅根据从数据库中获取待执行任务的历史运行时长信息,以及SLA信息确定待执行任务的未来开始执行时间点。具体地,资源管理器先根据各个待执行任务的历史运行时长,预测各个待执行任务的未来运行时长,然后根据各个待执行任务的期望完成时间点,估算未来开始执行时间点。例如,第一待执行任务的期望完成时间点是1:30,未来运行时长是半小时,则第一待执行任务的未来开始执行时间点是1:00。这样确定出来的未来开始执行时间点是最晚开始时间点。
在其它可能的设计中,资源管理器102也可以结合各个待执行任务的预设优先级、预设的定时开始执行时间点和未来运行时长等参数确定更为合适的未来开始执行时间点。具体的,包括如下步骤:
步骤a,资源管理器先根据各个待执行任务的历史运行时长,预测各个待执行任务的未来运行时长。
步骤b,资源管理器再确定各个待执行任务的先后执行顺序,其中,预设优先级高的待执行任务比预设优先级低的待执行任务靠前;SLA信息中设有期望最晚完成时间点的待执行任务比SLA信息中未设有期望最晚完成时间点的待执行任务靠前。针对设有期望完成时间点的待执行任务,期望最晚完成时间点早的关键待执行任务比期望最晚完成时间点晚的关键待执行任务排序靠前,如果出现多个期望最晚完成时间点相同的关键待执行任务,则运行时长较长的关键待执行任务排序较靠前。这样可以优先将运行时长较长的关键待执行任务先执行完。
步骤c,然后资源管理器根据所上述所确定的执行顺序、预设的定时开始执行时间点和每个待执行任务的未来运行时长,预测各个待执行任务的未来开始执行时间点。需要说明的是,非关键待执行任务的未来开始执行时间可能发生在部分关键待执行任务的后面,也可能发生在部分关键待执行任务的前面。
一方面,考虑到部分待执行任务之间可能存在执行先后的关联关系,部分待执行任务之间不存在执行先后的关联关系,所以当确定了执行顺序之后,可能存在多种方式确定任务的未来开始执行时间点。
方式一
若待执行任务之间有着严格的关联关系,例如执行任务B时需要调用任务A的执行结果,所以待执行任务B的未来开始执行时间点要晚于待执行任务A的未来开始执行时间点。则资源管理器可以将预设的定时开始执行时间点作为首个待执行任务的未来开始执行时间点,然后根据首个待执行的第一待执行任务的未来运行时长和预设的定时开始执行时间点,计算所述第一待执行任务的未来结束执行时间点。例如预设的定时开始执行时间点是1:00,第一待执行任务的未来运行时长是30分钟,则第一待执行任务的未来开始执行时间点1:00,第一待执行任务的未来结束执行时间点是1:30。
然后资源管理器将所述第一待执行任务的未来结束执行时间点作为第二待执行任务的开始执行时间点,并根据第二待执行任务的开始执行时间点和未来运行时长,计算所述第二待执行任务的未来结束执行时间点。例如,将1:30作为第二待执行任务的未来开始执行时间点,如果第二待执行任务的未来运行时长是20分钟,则第二待执行任务的未来结束执行时间点是1:50。
接着资源管理器将所述第二待执行任务的未来结束执行时间点作为第三待执行任务的开始执行时间点,并根据所述第三待执行任务的开始执行时间点和未来运行时长,计算所述第三待执行任务的未来结束执行时间点,直至所述资源管理器计算出最后一个待执行任务的开始执行时间点。例如,将1:50作为第三待执行任务的未来开始执行时间点,如果第三待执行任务的未来运行时长是30分钟,则第三待执行任务的未来结束执行时间点是2:20。这样可以将2:20作为第四待执行任务的未来开始执行时间点。依次类推,直至确定出最后一个待执行任务的未来开始执行时间点为止。
方式二
若待执行任务之间没有严格的关联关系,例如执行任务B时不需要调用任务A的执行结果。因此本申请实施例中资源管理器可以将预设的定时开始执行时间点作为首个待执行任务的未来开始执行时间点,然后根据首个待执行的第一待执行任务的未来运行时长和预设的定时开始执行时间点,计算所述第一待执行任务的未来结束执行时间点,例如预设的定时开始执行时间点是1:00,第一待执行任务的未来运行时长是30分钟,则第一待执行任务的未来开始执行时间点1:00,第一待执行任务的未来结束执行时间点是1:30。资源管理器可以将1:20作为第二待执行任务的未来开始执行时间点,如果第二待执行任务的未来运行时长是20分钟,则第二待执行任务的未来结束执行时间点是1:40。也就是说,后一个待执行任务可以发生在前一个待执行任务结束之前,依次类推,直至确定出最后一个待执行任务的未来开始时间点。
需要说明的是,为关键待执行任务预留的计算资源不可以被非关键待执行任务所占用。另外,为了提高计算资源的利用率,在下述方式一、方式二和方式三中,资源管理器可以允许排在后面的待执行任务提前执行,以充分利用空闲的资源,例如关键待执行任务A的未来开始执行时间点早于关键待执行任务B的未来开始执行时间点,关键待执行任务A和关键待执行任务B没有执行先后的顺序要求,若关键待执行任务A未能占用满所有预留资源,则可在不影响关键待执行任务B运行的情况下,同时执行关键待执行任务B。
另一方面,资源管理器102预分配各个关键待执行任务未来运行时所需占用的计算资源大小的方式也有多种。
方式一
资源管理器可以在接到任务调度器提交的第一个待执行任务之前,就统计当前计算集群中的资源状态,并为关键待执行任务集合中的前N个关键待执行任务预分配好计算资源。例如,关键待执行任务集合中有100个关键待执行任务,本申请实施例中资源管理器可以在接到任务调度器提交的第一个待执行任务之前,先为前50个关键待执行任务预分配计算资源。当资源管理器执行完任务调度器所提交的前40个关键待执行任务之后,资源管理器统计当前计算集群中的资源状态,并为关键待执行任务集合中的剩余的关键待执行任务预分配好计算资源。之所以这样做,主要是考虑到计算集群可能没有足够的资源预分配给每个关键待执行任务,由于关键待执行任务执行完毕,计算资源得到释放,因此资源管理器可以重新统计当前资源的状态,从而为剩余的关键待执行任务预分配资源。
方式二
资源管理器可以在接到任务调度器提交的第一个待执行任务之前,就统计当前计算集群中的资源状态,并为关键待执行任务集合中的前M个关键待执行任务预分配好计算资源。例如,关键待执行任务集合中有100个关键待执行任务,本申请实施例中资源管理器可以在接到任务调度器提交的第一个待执行任务之前,先为前连续10个关键待执行任务预分配计算资源。当资源管理器执行至任务调度器提交的第9个待执行任务时,则可以为后面连续10个关键待执行任务预分配计算资源。依次类推,执行资源管理器为最后10个关键待执行任务预分配计算资源。本申请实施例中,主要是考虑计算集群中的计算资源并不太充足,所以资源资源管理器每次在接收到任务调度器提交的部分任务之前,就为后续可能收到的关键待执行任务预分配计算资源。
方式三
资源管理器102可以在接到任务调度器提交的第一个待执行任务之前,一次性地为所有的关键待执行任务预分配好计算资源。例如关键待执行任务集合中有100个关键待执行任务,本申请实施例中资源管理器可以在接到任务调度器提交的第一个待执行任务之前,就为100个关键待执行任务预分配计算资源。需要说明的是,方式三适用于计算集群中的计算资源非常充足的场景。
在一种可能的设计中,针对任意一个关键待执行任务,所述资源管理器可以根据待执行任务在历史T个周期内的运行时长,对T个运行时长加权求平均计算得到待执行任务下一次的未来运行时长。如公式1所示。
其中,ETt为一个待执行任务的运行时长,t=0为待执行任务在当前周期的未来运行时长,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,WeightF(t)表示待执行任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低。其中权重可表示为:WeightF(t)=T-t+1t=1,2…T。
考虑到计算集群可能存在不稳定的情况,导致历史数据中可能存在噪音数据,故本申请实施例可以进一步通过过滤函数FilterF(ETt)去除掉噪音数据,其中过滤函数FilterF F(ETt)定义如公式2所示。
然后,资源管理器利用执行时间预测模型对当前周期的未来时长进行预测,预测模型如下公式3所示。
其中,ETt为一个待执行任务的运行时长,t=0为待执行任务在当前周期的未来运行时长,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ETt)为噪音系数,WeightF(t)表示待执行任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低。其中权重可表示为:WeightF(t)=T-t+1。
在一种可能的设计中,针对任意一个关键待执行任务,所述资源管理器根据所述关键待执行任务在历史T个周期内的历史计算资源占用大小,对T个历史计算资源占用大小加权求平均计算得到所述关键待执行任务未来运行时所需占用的计算资源大小。如公式4所示。
其中,ERt为一个任务的资源使用情况,t=0为任务当前周期的资源使用,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,WeightF(t)表示周期任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低。其中权重可表示为:WeightF(t)=T-t+1。
考虑到计算集群可能存在不稳定的情况,导致历史数据中可能存在噪音数据,故本申请实施例可以进一步通过过滤函数FilterF(ERt)去除掉噪音数据,其中过滤函数FilterF F(ERt)定义如公式5所示。
然后,利用资源使用预测模型对当前周期的资源使用进行预测,预测模型如公式6所示。
所述公式6为:
其中,ERt为一个任务的资源使用情况,t=0为任务当前周期的资源使用,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ERt)为噪音系数,WeightF(t)表示周期任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低。其中权重可表示为:WeightF(t)=T-t+1。
另外,现有技术中在计算集群的计算资源竞争激烈的情况下,关键任务只能等待,无法保证关键任务的SLA。本申请实施例还可以在关键任务的计算资源不足时,通过抢占非关键任务的资源来保证其期望最晚完成时间。换句话说,当所述资源管理器确定能够在计算集群中为所述关键待执行任务调用的计算资源,达不到为所述关键待执行任务预分配的计算资源时,则可以释放计算集群中非关键任务资源所占用的计算资源,以保证所述关键待执行任务的优先顺利执行。例如,计算集群所有的计算资源为一个资源池,如图3所示,资源管理器为关键待执行任务1预分配的计算资源占资源池的50%,当前资源管理器正在执行关键待执行任务1和非关键待执行任务2,且非关键待执行任务2的计算资源占用了资源池的40%;假设这时任务调度器将另一个关键待执行任务3提交到资源管理器,且该关键待执行任务3需要预分配资源池的20%的计算资源,由于目前资源池仅有10%的计算资源能够被预分配给该关键待执行任务3,所以资源管理器确定能够为所述关键待执行任务3调用的计算资源,达不到为所述关键待执行任务预分配的计算资源时,则释放计算集群中非关键任务2所占用的计算资源,以保证关键待执行任务3可以顺利执行。
需要说明的是,如果当前正在执行的非关键待执行任务存在多个,资源管理器可以选择停止执行最晚开始执行的非关键待执行任务,这样可以将关键待执行任务抢占资源的不利成本降到最低。
本申请实施例还提供一种任务处理系统,该系统由任务调度器101、资源管理器102和计算集群103组成,如图4所示,其中任务调度器中包括任务提交客户端1010,资源管理器中包括资源预分配模块1021、时间预测模块1022和运行模块1023。
其中,任务提交客户端1010用于将各个待执行任务的SLA信息注册到资源管理器中。
时间预测模块1022用于预测各个设有期望最晚完成时间要求的关键待执行任务的未来开始执行时间点,以及未设有期望最晚完成时间要求的非关键待执行任务的未来开始执行时间点。
资源预分配模块1021用于为关键待执行任务提前预留计算集群103中的计算资源。
运行模块1023用于调用计算集群103中的预留计算资源执行该关键待执行任务,或者调用临时分配的计算资源执行非关键待执行任务。
上述方法实施例中的各个方法步骤的具体实现均可以援引到本申请实施例中,在此不再赘述。
本申请实施例中,因非关键任务可以在关键任务时间段内运行,提高关键任务运行期间的集群资源利用率;另外由于部分非关键任务可以在关键任务时间内运行,既保证关键待执行任务可以在期望完成时间内完成,也提早完成了非关键任务。
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述方法任意一种可能的实现。
本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述方法任意一种可能的实现。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,该电子设备可以是上述方法或系统中提及的资源管理器,也可以是具有上述资源管理器功能的芯片等。如图5所示,该电子设备可以包括:处理器401;存储器402;以及一个或多个计算机程序403,上述各器件可以通过一个或多个通信总线404连接,还可以包括通信接口,用于与其他设备进行信息交互。
其中该一个或多个计算机程序403被存储在上述存储器402中并被配置为被处理器401执行,该一个或多个计算机程序403包括指令,上述指令可以用于执行如图2相应实施例中的各个步骤。具体地,处理器401用于执行图2中的步骤201和步骤202、步骤205和步骤206。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种任务处理方法,其特征在于,该方法包括:
资源管理器从任务调度器中获取各个待执行任务的服务等级协议SLA信息,以及待执行任务的历史运行时长信息和关键待执行任务的历史计算资源占用大小;
所述资源管理器根据各个待执行任务的SLA信息中包括的期望最晚完成时间和所述各个待执行任务的历史运行时长信息,预测所述各个待执行任务的未来开始执行时间点;
所述资源管理器根据各个关键待执行任务的历史计算资源占用大小,预测各个关键待执行任务未来运行时所需占用的计算资源大小;
所述资源管理器在各个关键待执行任务的未来开始执行时间点发生之前为所述关键待执行任务预分配与所需占用的计算资源大小对应的计算资源;
所述资源管理器接收来自所述任务调度器的待执行任务,并根据预测的各个待执行任务的未来开始执行时间点,在任一待执行任务的未来开始执行时间点到达时执行所述任一待执行任务;且在执行关键待执行任务时,所述资源管理器调用预分配的与所述关键待执行任务对应的计算资源执行所述关键待执行任务;
所述资源管理器根据各个待执行任务的历史计算资源占用大小,预测各个关键待执行任务未来运行时所需占用的计算资源大小,包括:
针对任意一个关键待执行任务,所述资源管理器加权求平均所述关键待执行任务在历史T个周期内的历史计算资源占用大小,得到所述关键待执行任务未来运行时所需占用的计算资源大小;
针对任意一个关键待执行任务,所述资源管理器加权求平均所述关键待执行任务在历史T个周期内的历史计算资源占用大小,得到所述关键待执行任务未来运行时所需占用的计算资源大小,包括:
所述资源管理器通过公式三计算所述关键待执行任务在历史T个周期内的运行时长中的噪音系数;
所述资源管理器根据所述关键待执行任务在历史T个周期内的历史计算资源占用大小、权重和噪音系数,通过公式四计算得到未来运行时所需占用的计算资源大小;
所述公式三为:
所述公式四为:
其中,ERt为一个任务的资源使用情况,t=0为任务当前周期的资源使用,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ERt)为噪音系数,WeightF(t)表示周期任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低;其中权重可表示为:WeightF(t)=T-t+1t=1,2…T。
2.根据权利要求1所述的方法,其特征在于,所述资源管理器根据各个待执行任务的SLA信息中包括的期望最晚完成时间和所述各个待执行任务的历史运行时长信息,预测所述各个待执行任务的未来开始执行时间点,包括:
所述资源管理器根据各个待执行任务的历史运行时长,预测各个待执行任务的未来运行时长;
所述资源管理器根据SLA信息和未来运行时长,以及各个待执行任务的预设优先级,确定各个待执行任务的执行顺序;
其中,预设优先级高的待执行任务比预设优先级低的待执行任务的执行顺序靠前,SLA信息中设有期望最晚完成时间点的待执行任务比SLA信息中未设有期望最晚完成时间点的待执行任务的执行顺序靠前,SLA信息中设有期望最晚完成时间点且期望最晚完成时间点早的待执行任务比期望最晚完成时间点晚的待执行任务的执行顺序靠前,且期望最晚完成时间点相同的多个待执行任务中运行时长越长的待执行任务执行顺序越靠前;
所述资源管理器根据各个待执行任务的所述执行顺序、预设的定时开始执行时间点和每个待执行任务的未来运行时长,预测各个待执行任务的未来开始执行时间点。
3.根据权利要求2所述的方法,其特征在于,所述资源管理器根据所述执行顺序、预设的定时开始执行时间点和每个待执行任务的未来运行时长,预测各个待执行任务的未来开始执行时间点,包括:
所述资源管理器将预设的定时开始执行时间点,确定为首个待执行任务的未来开始执行时间点;
依次将第二个待执行任务到最后一个待执行任务作为当前待执行任务,对所述当前待执行任务执行:
所述资源管理器根据所述当前待执行任务的上个待执行任务的未来运行时长和上个待执行任务的未来开始执行时间点,计算所述上个待执行任务的未来结束执行时间点;
所述资源管理器将所述上个待执行任务的未来结束执行时间点作为所述当前待执行任务的未来开始执行时间点。
4.根据权利要求1~3任一所述的方法,其特征在于,所述资源管理器根据各个待执行任务的历史运行时长,预测各个待执行任务的未来运行时长,包括:
针对任意一个待执行任务,所述资源管理器加权求平均所述待执行任务在历史T个周期内的运行时长,得到所述待执行任务的未来运行时长。
5.根据权利要求4所述的方法,其特征在于,针对任意一个待执行任务,所述资源管理器加权求平均所述待执行任务在历史T个周期内的运行时长,得到所述待执行任务未来运行时长,包括:
针对任意一个待执行任务,所述资源管理器通过公式一计算所述待执行任务在历史T个周期内的运行时长中的噪音系数;
所述资源管理器根据所述待执行任务在历史T个周期内的运行时长、权重和噪音系数,通过公式二计算得到所述待执行任务的未来运行时长;
所述公式一为:
所述公式二为:
其中,ETt为一个待执行任务的运行时长,t=0为待执行任务在当前周期的未来运行时长,为未知变量;t=1,2…T分别代表该任务的前1,2…T周期时间,为已知变量,Filter(ETt)为噪音系数,WeightF(t)表示待执行任务的权重,其中t=1,2…T;随着周期由近及远,权重越来越低;其中权重可表示为:WeightF(t)=T-t+1t=1,2…T。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述资源管理器在各个关键待执行任务的未来开始执行时间点发生之前为所述关键待执行任务预分配与所需占用的计算资源大小对应的计算资源,包括:
所述资源管理器在各个关键待执行任务的未来开始执行时间点发生之前获取计算节点集群中的资源使用状态;
所述资源管理器根据所述资源使用状态为所述关键待执行任务分配与所需占用的计算资源大小对应的计算资源。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述资源管理器调用预分配的与所述关键待执行任务对应的计算资源执行所述关键待执行任务之前,还包括:
所述资源管理器确定能够为所述关键待执行任务调用的计算资源,达不到为所述关键待执行任务预分配的计算资源时,则释放计算集群中非关键任务所占用的计算资源。
8.一种电子设备,其特征在于,包括一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备执行如权利要求1至7任一项所述的任务处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至7任一项所述的任务处理方法。
CN201811454705.5A 2018-11-30 2018-11-30 一种任务处理方法及设备 Active CN111258745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811454705.5A CN111258745B (zh) 2018-11-30 2018-11-30 一种任务处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811454705.5A CN111258745B (zh) 2018-11-30 2018-11-30 一种任务处理方法及设备

Publications (2)

Publication Number Publication Date
CN111258745A CN111258745A (zh) 2020-06-09
CN111258745B true CN111258745B (zh) 2023-11-17

Family

ID=70948471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811454705.5A Active CN111258745B (zh) 2018-11-30 2018-11-30 一种任务处理方法及设备

Country Status (1)

Country Link
CN (1) CN111258745B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486658B (zh) * 2020-12-17 2024-07-19 华控清交信息科技(北京)有限公司 一种任务调度方法、装置和用于任务调度的装置
CN113254177B (zh) * 2021-05-31 2023-06-27 广州虎牙科技有限公司 基于集群的任务提交方法、计算机程序产品及电子设备
CN113326114B (zh) * 2021-06-11 2024-10-11 深圳前海微众银行股份有限公司 一种批量任务处理方法及装置
CN113568570B (zh) * 2021-06-22 2024-04-12 阿里巴巴创新公司 数据处理方法及装置
CN113436003A (zh) * 2021-06-29 2021-09-24 中国工商银行股份有限公司 时长确定方法、装置、电子设备、介质和程序产品
CN113360270B (zh) * 2021-06-30 2024-02-27 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置
CN114168294B (zh) * 2021-12-10 2024-07-02 北京字节跳动网络技术有限公司 编译资源分配方法、装置、电子设备及存储介质
CN118349323A (zh) * 2023-01-13 2024-07-16 华为技术有限公司 一种寄存器传输级rtl代码的执行方法和相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559089A (zh) * 2013-10-30 2014-02-05 南京邮电大学 一种基于服务等级协议约束的虚拟机需求预测实现方法
CN103649910A (zh) * 2011-07-11 2014-03-19 惠普发展公司,有限责任合伙企业 虚拟机放置
CN104991830A (zh) * 2015-07-10 2015-10-21 山东大学 基于服务等级协议的yarn资源分配和节能调度方法及系统
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN108255681A (zh) * 2018-02-09 2018-07-06 腾讯科技(北京)有限公司 任务告警方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320482A1 (en) * 2007-06-20 2008-12-25 Dawson Christopher J Management of grid computing resources based on service level requirements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103649910A (zh) * 2011-07-11 2014-03-19 惠普发展公司,有限责任合伙企业 虚拟机放置
CN103559089A (zh) * 2013-10-30 2014-02-05 南京邮电大学 一种基于服务等级协议约束的虚拟机需求预测实现方法
CN104991830A (zh) * 2015-07-10 2015-10-21 山东大学 基于服务等级协议的yarn资源分配和节能调度方法及系统
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN108255681A (zh) * 2018-02-09 2018-07-06 腾讯科技(北京)有限公司 任务告警方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李培峰 ; 朱巧明 ; 支丽艳 ; .面向信息服务的网格资源管理器的设计.计算机工程.2008,(03),全文. *

Also Published As

Publication number Publication date
CN111258745A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111258745B (zh) 一种任务处理方法及设备
CN109471727B (zh) 一种任务处理方法、装置及系统
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
US9218213B2 (en) Dynamic placement of heterogeneous workloads
CN104951372B (zh) 一种基于预测的Map/Reduce数据处理平台内存资源动态分配方法
US9367357B2 (en) Simultaneous scheduling of processes and offloading computation on many-core coprocessors
Li et al. Feedback dynamic algorithms for preemptable job scheduling in cloud systems
US8918784B1 (en) Providing service quality levels through CPU scheduling
Chen et al. Adaptive multiple-workflow scheduling with task rearrangement
CN108123980B (zh) 一种资源调度方法及系统
CN111798113B (zh) 资源分配方法、装置、存储介质和电子设备
CN109992418B (zh) Sla感知的多租户大数据平台资源优先级调度方法及系统
US20240256362A1 (en) Allocating computing resources for deferrable virtual machines
CN110377415A (zh) 一种请求处理方法和服务器
CN105022668B (zh) 一种作业调度方法及系统
CN114327843A (zh) 任务调度方法及装置
CN111367644A (zh) 一种面向异构融合系统的任务调度方法及装置
Dimopoulos et al. Justice: A deadline-aware, fair-share resource allocator for implementing multi-analytics
CN111124687A (zh) 一种cpu资源预留方法、装置及其相关设备
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN107665143A (zh) 资源管理方法、装置及系统
CN105389204A (zh) 一种多资源偏序调度策略
Shen et al. Goodbye to fixed bandwidth reservation: Job scheduling with elastic bandwidth reservation in clouds
CN115617497A (zh) 线程处理方法、调度组件、监测组件、服务器和存储介质
Dubey et al. QoS driven task scheduling in cloud computing

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220512

Address after: 523799 Room 101, building 4, No. 15, Huanhu Road, Songshanhu Park, Dongguan City, Guangdong Province

Applicant after: Petal cloud Technology Co.,Ltd.

Address before: 518129 South Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant before: HUAWEI DEVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant