CN113821315A - 作业调度方法、装置和电子设备 - Google Patents

作业调度方法、装置和电子设备 Download PDF

Info

Publication number
CN113821315A
CN113821315A CN202110549934.0A CN202110549934A CN113821315A CN 113821315 A CN113821315 A CN 113821315A CN 202110549934 A CN202110549934 A CN 202110549934A CN 113821315 A CN113821315 A CN 113821315A
Authority
CN
China
Prior art keywords
jobs
job
containable
group
new
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
Application number
CN202110549934.0A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110549934.0A priority Critical patent/CN113821315A/zh
Publication of CN113821315A publication Critical patent/CN113821315A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

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

作业调度方法、装置和电子设备
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种作业调度方法、装置和电子设备。
背景技术
在一些业务场景中,会有很多的作业。
需要对这些作业进行合理的调度,以在资源有限的情况下,提高作业的运行效率。
发明内容
本说明书实施例提供一种作业调度方法、装置和电子设备,以提高作业的运行效率。
本说明书实施例的第一方面,提供了一种作业调度方法,包括:
确定目标函数和约束条件,所述目标函数用于评价多个作业组的时间利用率,所述时间 利用率用于表示在更新周期内作业组的使用情况,所述约束条件用于约束各个作业组的可容 纳作业数的取值范围以及各个作业组的可容纳作业数之和;
在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可容纳作业数;
根据可容纳作业数,将待运行的作业调度至作业组。
本说明书实施例的第二方面,提供了一种作业调度装置,包括:
确定单元,用于确定目标函数和约束条件,所述目标函数用于评价多个作业组的时间利 用率,所述时间利用率用于表示在更新周期内作业组的使用情况,所述约束条件用于约束各 个作业组的可容纳作业数的取值范围以及各个作业组的可容纳作业数之和;
计算单元,用于在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可容 纳作业数;
调度单元,用于根据可容纳作业数,将待运行的作业调度至作业组。
本说明书实施例的第三方面,提供了一种电子设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执 行,所述程序指令包括用于执行如第一方面所述方法的指令。
本说明书实施例提供的技术方案,可以动态计算作业组的可容纳作业数,从而可以在资 源有限的情况下,提高作业的运行效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
图1为本说明书实施例中作业调度方法的流程示意图;
图2为本说明书实施例中可容纳作业数的计算过程示意图;
图3为本说明书实施例中作业调度装置的结构示意图;
图4为本说明书实施例中电子设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于 本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都应当属于本说明书保护的范围。
作业(JOB)是任务(TASK)的最小单元。通常可以将任务分解成若干个计算单元,每个计算单元可以称为一个作业。在相关技术中,可以设置多个作业组,不同的作业组对应不同的作业类型。每个作业组可以容纳一个或多个作业。不同作业组中的作业可以并行运行,同一个作业组中的不同作业也可以并行运行。考虑到设备的资源(例如内存、CPU等)是有限的,若并行运行的作业的数量过多,会使设备的负载过大,从而引发性能问题,为此可以分别对每个作业组设置一个可容纳作业数。每个作业组中实际容纳的作业数小于或等于该作 业组的可容纳作业数。不同作业组的可容纳作业数可以相同或不同。在实际中,在作业需要 运行时,可以获取目标作业组中实际容纳的作业数,可以判断实际容纳的作业数是否小于目 标作业组的可容纳作业数,若是,可以将该作业分配给目标作业组。其中,所述目标作业组 可以为与该作业的作业类型相对应的作业组。
上述相关技术中,作业的数量是动态变化的,然而作业组的可容纳作业数是固定的,使 得设备的资源无法获得充分使用,造成了作业的运行效率较低。
例如,作业组A与作业类型A相对应,作业组B与作业类型B相对应。与作业类型A相对 应的作业的数量有可能较少,作业组A中实际容纳的作业数小于作业组A的可容纳作业数, 使得,作业组A未获得充分使用。但是,与作业类型B相对应的作业的数量有可能较多,可容 纳作业数的设置使得作业组B无法容纳更多数量的作业。
本说明书实施例提供一种作业调度方法。所述作业调度方法可以动态调整作业组的可容 纳作业数,从而提高作业的运行效率。所述作业调度方法可以由电子设备来执行,所述电子 设备可以包括作业调度服务器等。请参阅图1,所述作业调度方法可以包括以下步骤。
步骤S11:确定目标函数和约束条件。
在一些实施例中,可以预先设定多个作业组。每个作业组可以对应一个或多个作业类型, 不同作业组对应的作业类型不同,所述作业类型包括支付类型、转账类型、票据类型等。每 个作业组可以容纳一个或多个作业,所述作业可以包括批处理作业等。不同作业组中的作业 可以并行运行,同一个作业组中的不同作业也可以并行运行。这样可以实现作业的分组并发。
在实际中,每个作业组可以对应有队列,所述队列中可以包括待运行的作业,不同作业 组对应的队列可以不同。在队列中的作业需要运行时,可以将队列中的该作业分配给作业组。
考虑到设备的资源是有限的,若并行运行的作业的数量过多,会使设备的负载过大,引 发性能问题,为此每个作业组设置有可容纳的作业数(作业并发数)。作业组中实际容纳的 作业数小于或等于该作业组的可容纳作业数。不同作业组的可容纳作业数可以相同或不同。 作业组的可容纳作业数可以每间隔一定的更新周期进行更新。所述更新周期的时长可以为1 分钟、10分钟等。
在一些实施例中,所述目标函数可以用于评价所述多个作业组的时间利用率,所述时间 利用率用于表示在更新周期内作业组的使用情况。
例如,所述目标函数可以包括
Figure BDA0003075031550000031
其中,S可以表示更新周期的时长(例如, 在所述更新周期的时长为10分钟时,所述S可以为10),m可以表示作业组的数量,v可以表示第j个作业组在更新周期内实际容纳的作业数,tu可以表示第u个作业的运行耗时,Pcount可以表示各个作业组的可容纳作业数之和。这样可以实现根据各个作业组在所述更新周期内 所运行作业的历史耗时,设置各个作业组的可容纳作业数。
在一些实施例中,所述约束条件可以用于约束各个作业组的可容纳作业数的取值范围以 及各个作业组的可容纳作业数之和。
在一些场景示例中,所述多个作业组可以包括作业组A、作业组B、作业组C、作业组D等4个作业组。作业组A的可容纳作业数可以表示为PA,作业组B的可容纳作业数可以 表示为PB,作业组C的可容纳作业数可以表示为PC,作业组D的可容纳作业数可以表示为 PD。PA的取值范围可以为10<=PA<=20。PB的取值范围可以为25<=PB<=45。PC的取值范 围可以为5<=PC<=25。PD的取值范围可以为5<=PD<=10。各个作业组的可容纳作业数之和可以为PA+PB+PC+PD=75。
步骤S13:在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可容纳作 业数。
在一些实施例中,可以采用模拟退火算法,设置各个作业组的可容纳作业数,实现在可 容纳作业数之和一定的情况下,为各个作业组分配可容纳作业数。
具体的,请参阅图2,可以通过以下步骤设置各个作业组的可容纳作业数。
步骤S131:利用约束条件,确定各个作业组的当前最优可容纳作业数。
针对每个作业组,可以在所述约束条件下,随机生成该作业组的可容纳作业数,作为该 作业组的当前最优可容纳作业数。延续前面的场景示例,可以在PA的取值范围[10,20]内生 成一个随机数作为PA,可以在PB的取值范围[25,45]内生成一个随机数作为PB,可以在PC的取值范围[5,25]内生成一个随机数作为PC,可以通过公式PD=75-PA+PB+PC计算得到PD
步骤S133:根据当前最优可容纳作业数,计算各个作业组的候选可容纳作业数。
可以根据公式pj_new=pj_old+r(Tk/N)λ×sgn(r-0.5)×Δpj计算各个作业组的候选可容纳 作业数。其中,pj_new表示第j个作业组的候选可容纳作业数;pj_old表示第j个作业组的当 前最优可容纳作业数;r表示第一随机数,r具体可以为[0,1]之间的随机数;k表示当前迭代 次数;Tk表示模拟退火温度,
Figure BDA0003075031550000041
T0表示初始模拟退火温度(例如可以为500), C表示衰减因子(例如可以为0.98),m表示作业组的数量;N表示最大迭代次数;λ表示扰 动常数(例如可以为3);sgn表示符号函数,在r-0.5为正数时,sgn(r-0.5)的取值可以为1,在r-0.5为负数时,sgn(r-0.5)的取值可以为-1;Δpj表示第j个作业组的可容纳作业数的极差,Δpj具体可以为第j个作业组的最大可容纳作业数和最小可容纳作业数之间的差值。
在相关技术中,通过对pj_old进行完全随机的扰动以获得pj_new(例如通过将pj_old与第 一随机数相加以获得pj_new),这样不利于快速迭代过程的收敛。在本说明书实施例中,pj_new的计算公式中包含Tk,使得,pj_new的计算方式能够跟随迭代次数的变化而变化。在模拟退 火温度较高时(迭代次数较少时)能对pj_old进行较大的扰动以获得pj_new,在模拟退火温度 较低时(迭代次数较大时)能对pj_old进行较小的扰动以获得pj_new。这样可以提高收敛速度。
延续前面的场景示例,所述m可以为4。可以在[0,1]内生成第一随机数r,可以根据公 式pA_new=pA_old+r(Tk/N)λ×sgn(r-0.5)×ΔpA,ΔpA=20-10=10;可以在[0,1]内生成第一随 机数r,可以根据公式pB_new=pB_old+r(Tk/N)λ×sgn(r-0.5)×ΔpB,ΔpB=45-25=20;可以 在[0,1]内生成第一随机数r,可以根据公式pC_new=pC_old+r(Tk/N)λ×sgn(r-0.5)×ΔpC, ΔpC=25-5=20;可以在[0,1]内生成第一随机数r,可以根据公式 pD_new=pD_old+r(Tk/N)λ×sgn(r-0.5)×ΔpD,ΔpD=10-5=5。
步骤S135:若候选可容纳作业数所对应的目标函数取值大于当前最优可容纳作业数所对 应的目标函数取值,接受候选可容纳作业数作为新的当前最优可容纳作业数,否则,获得接 受概率,以接受概率接受候选可容纳作业数作为新的当前最优可容纳作业数。
可以将候选可容纳作业数代入目标函数,获得候选可容纳作业数所对应的目标函数取 值。可以将当前最优可容纳作业数带入目标函数,获得当前最优可容纳作业数所对应的目标 函数取值。若候选可容纳作业数所对应的目标函数取值大于当前最优可容纳作业数所对应的 目标函数取值,可以将候选可容纳作业数作为新的当前最优可容纳作业数。否则,可以获得 接受概率,以接受概率接受候选可容纳作业数作为新的当前最优可容纳作业数。
可以根据公式
Figure RE-GDA0003373712460000051
计算接受概率。P表示接受概率;h为预设 参数(例如可以为2);ΔE=Enew-Eold;Enew表示候选可容纳作业数所对应的模拟退火能量, Enew=1-f(p1_new,p2_new,...,pm_new),p1_new,p2_new,...,pm_new分别表示候选可容纳作业数;Eold表 示当前最优可容纳作业数所对应的模拟退火能量,Eold=1-f(p1_old,p2_old,...,pm_old), p1_old,p2_old,...,pm_old分别表示当前最优可容纳作业数;k表示当前迭代次数,Tk表示模拟退 火温度。可以生成第二随机数;若接受概率大于第二随机数,将候选可容纳作业数作为新的 当前最优可容纳作业数;否则,将当前最优可容纳作业数作为新的当前最优可容纳作业数。
例如,可以在[0,1]内生成一个第二随机数。若接受概率大于第二随机数并且小于1,将 候选可容纳作业数作为新的当前最优可容纳作业数。否则,将当前最优可容纳作业数作为新 的当前最优可容纳作业数。
在本说明书实施例中,接受概率P的计算公式中包含Tk,使得,接受概率P的计算方式 能够跟随迭代次数的变化而变化,这样可以提高收敛速度。
步骤S137:在迭代结束以后,获得各个作业组的当前最优可容纳作业数。
可以迭代执行步骤S33-步骤S35,直至满足迭代结束条件。在满足迭代结束条件以后, 可以获得各个作业组的最优可容纳作业数。所述迭代结束条件可以包括以下至少之一:迭代 次数达到最大迭代次数、当前迭代次数所对应的模拟退火温度降至某一阈值(例如10-8)。
步骤S15:根据可容纳作业数,将待运行的作业调度至作业组。
在一些实施例中,每个作业组可以对应有队列,所述队列中可以包括待运行的作业,不 同作业组对应的队列可以不同。针对每个作业组,可以获得该作业组中实际容纳的作业数; 若该作业组中实际容纳的作业数小于可容纳作业数,可以将队列中的该作业分配给作业组。
在一些实施例中,还可以实时获得资源使用指标,所述资源使用指标用于表示设备的资 源使用情况,所述资源可以包括内存、CPU等。若所述资源使用指标小于或等于预设阈值, 表示设备的负载较小,可以将队列中的作业分配给作业组。若所述资源使用指标大于预设阈 值,表示设备的负载较大,可以停止向作业组分配作业。
本说明书实施例的作业调度方法,可以动态计算作业组的可容纳作业数,从而可以在资 源有限的情况下,提高作业的运行效率。
请参阅图3。本说明书实施例提供一种作业调度装置,包括以下单元:
确定单元31,用于确定目标函数和约束条件,所述目标函数用于评价多个作业组的时间 利用率,所述时间利用率用于表示在更新周期内作业组的使用情况,所述约束条件用于约束 各个作业组的可容纳作业数的取值范围以及各个作业组的可容纳作业数之和;
设置单元33,用于在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可 容纳作业数;
调度单元35,用于根据可容纳作业数,将待运行的作业调度至作业组。
请参阅图4。本说明书实施例还提供一种计算设备。
所述计算设备可以包括存储器和处理器。
在本实施例中,所述存储器包括但不限于动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)等。所 述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例 如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或 固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit, ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算 机指令以实现图1所对应的实施例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同 或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其, 对于装置实施例和计算设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简 单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅 读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任 意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二 极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而, 随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计 人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不 能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件 (Programmable Logic Device,PLD)(例如现场可编程门阵列(Field ProgrammableGate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人 员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制 作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用 “逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类 似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、 Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几 种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程 的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者 由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为 个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、 导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设 备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助 软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或 者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存 储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部 分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务 器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置 顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设 备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模 块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中, 由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变 化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的 精神。

Claims (12)

1.一种作业调度方法,包括:
确定目标函数和约束条件,所述目标函数用于评价多个作业组的时间利用率,所述时间利用率用于表示在更新周期内作业组的使用情况,所述约束条件用于约束各个作业组的可容纳作业数的取值范围以及各个作业组的可容纳作业数之和;
在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可容纳作业数;
根据可容纳作业数,将待运行的作业调度至作业组。
2.如权利要求1所述的方法,所述目标函数包括
Figure FDA0003075031540000011
其中,S表示更新周期的时长,m表示作业组的数量,v表示第j个作业组在更新周期内实际容纳的作业数,tu表示第u个作业的运行耗时,Pcount表示各个作业组的可容纳作业数之和。
3.如权利要求1所述的方法,所述设置各个作业组的可容纳作业数,包括:
采用模拟退火算法,设置各个作业组的可容纳作业数。
4.如权利要求3所述的方法,所述设置各个作业组的可作业数,包括:
利用约束条件,确定各个作业组的当前最优可容纳作业数;
迭代执行以下步骤,直至满足迭代结束条件:
根据当前最优可容纳作业数,计算各个作业组的候选可容纳作业数;
若候选可容纳作业数所对应的目标函数取值大于当前最优可容纳作业数所对应的目标函数取值,接受候选可容纳作业数作为新的当前最优可容纳作业数,否则,获得接受概率,以接受概率接受候选可容纳作业数作为新的当前最优可容纳作业数;
在迭代结束以后,获得各个作业组的最优可容纳作业数。
5.如权利要求4所述的方法,所述计算各个作业组的候选可容纳作业数,包括:
根据公式pj_new=pj_old+r(Tk/N)λ×sgn(r-0.5)×Δpj计算各个作业组的候选可容纳作业数;pj_new表示第j个作业组的候选可容纳作业数,pj_old表示第j个作业组的当前最优可容纳作业数,r表示第一随机数,k表示当前迭代次数,Tk表示模拟退火温度,N表示最大迭代次数,λ表示扰动常数,sgn表示符号函数,Δpj表示第j个作业组的可容纳作业数的极差。
6.如权利要求4所述的方法,所述获得接受概率,包括:
根据公式
Figure FDA0003075031540000012
计算接受概率;P表示接受概率,h为预设参数,ΔE=Enew-Eold,Enew表示候选可容纳作业数所对应的模拟退火能量,Eold表示当前最优可容纳作业数所对应的模拟退火能量,k表示当前迭代次数,Tk表示模拟退火温度。
7.如权利要求6所述的方法,Enew=1-f(p1_new,p2_new,...,pm_new),Eold=1-f(p1_old,p2_old,...,pm_old),
Figure FDA0003075031540000021
p1_new,p2_new,...,pm_new分别表示候选可容纳作业数,f(p1_new,p2_new,...,pm_new)表示候选可容纳作业数所对应的目标函数取值,p1_old,p2_old,...,pm_old分别表示当前最优可容纳作业数,f(p1_old,p2_old,...,pm_old)表示当前最优可容纳作业数所对应的目标函数取值,T0表示初始模拟退火温度,C表示衰减因子,m表示作业组的数量。
8.如权利要求4所述的方法,所述以接受概率接受候选可容纳作业数作为新的当前最优可容纳作业数,包括:
生成第二随机数;
若接受概率大于第二随机数,接受候选可容纳作业数作为新的当前最优可容纳作业数;否则,接受当前最优可容纳作业数作为新的当前最优可容纳作业数。
9.如权利要求1所述的方法,每个作业组对应有队列,所述队列包括待运行的作业;
所述将待运行的作业调度至作业组,包括:
若作业组中实际容纳的作业数小于可容纳作业数,将队列中的作业分配给作业组。
10.如权利要求9所述的方法,所述方法还包括:
实时获得资源使用指标,所述资源使用指标用于表示设备的资源使用情况;
所述将队列中的作业分配给作业组,包括:
若所述资源使用指标小于或等于预设阈值,将队列中的作业分配给作业组。
11.一种作业调度装置,包括:
确定单元,用于确定目标函数和约束条件,所述目标函数用于评价多个作业组的时间利用率,所述时间利用率用于表示在更新周期内作业组的使用情况,所述约束条件用于约束各个作业组的可容纳作业数的取值范围以及各个作业组的可容纳作业数之和;
设置单元,用于在更新周期到达时,利用目标函数和约束条件,设置各个作业组的可容纳作业数;
调度单元,用于根据可容纳作业数,将待运行的作业调度至作业组。
12.一种电子设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-10中任一项所述方法的指令。
CN202110549934.0A 2021-05-20 2021-05-20 作业调度方法、装置和电子设备 Pending CN113821315A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110549934.0A CN113821315A (zh) 2021-05-20 2021-05-20 作业调度方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110549934.0A CN113821315A (zh) 2021-05-20 2021-05-20 作业调度方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN113821315A true CN113821315A (zh) 2021-12-21

Family

ID=78912491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110549934.0A Pending CN113821315A (zh) 2021-05-20 2021-05-20 作业调度方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN113821315A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109202895A (zh) * 2017-07-06 2019-01-15 富士通株式会社 设计支持装置、设计支持方法及存储设计支持程序的介质
CN109377111A (zh) * 2018-12-13 2019-02-22 合肥工业大学 基于改进模拟退火算法的作业调度方法和装置
CN112181498A (zh) * 2020-10-09 2021-01-05 中国工商银行股份有限公司 并发控制方法、装置和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109202895A (zh) * 2017-07-06 2019-01-15 富士通株式会社 设计支持装置、设计支持方法及存储设计支持程序的介质
CN109377111A (zh) * 2018-12-13 2019-02-22 合肥工业大学 基于改进模拟退火算法的作业调度方法和装置
CN112181498A (zh) * 2020-10-09 2021-01-05 中国工商银行股份有限公司 并发控制方法、装置和设备

Similar Documents

Publication Publication Date Title
US10789544B2 (en) Batching inputs to a machine learning model
Wang et al. Integer-ordered simulation optimization using R-SPLINE: Retrospective search with piecewise-linear interpolation and neighborhood enumeration
US20190095796A1 (en) Methods and arrangements to determine physical resource assignments
EP3021217A1 (en) Distributed analysis and attribution of source code
US20150178124A1 (en) Backfill scheduling for embarrassingly parallel jobs
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
CN111177984B (zh) 电子设计自动化中异构计算单元的资源利用
US11954419B2 (en) Dynamic allocation of computing resources for electronic design automation operations
US20210304066A1 (en) Partitioning for an execution pipeline
Moreira et al. Graph partitioning with acyclicity constraints
Deng et al. A data and task co-scheduling algorithm for scientific cloud workflows
Chang et al. Booting time minimization for real-time embedded systems with non-volatile memory
Taheri et al. Hopfield neural network for simultaneous job scheduling and data replication in grids
CN110609807A (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
Gao A bottleneck detection-based tabu search algorithm for the buffer allocation problem in manufacturing systems
CN108139929B (zh) 用于调度多个任务的任务调度装置和方法
CN115934102B (zh) 通用寄存器动态分配方法、装置、计算机设备和存储介质
CN113821315A (zh) 作业调度方法、装置和电子设备
US9652766B1 (en) Managing data stored in memory locations having size limitations
US11665106B2 (en) Network-aware resource allocation
Banicescu et al. Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems
Li et al. An application-oblivious memory scheduling system for DNN accelerators
US20080056228A1 (en) Application, method and process for managing part exchangeability across functional boundaries
CN116755893B (zh) 面向深度学习的分布式计算系统的作业调度方法和装置
WO2024045175A1 (en) Optimization of executable graph for artificial intelligence model inference

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