CN111352711B - 多计算引擎调度方法、装置、设备及存储介质 - Google Patents

多计算引擎调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111352711B
CN111352711B CN202010099733.0A CN202010099733A CN111352711B CN 111352711 B CN111352711 B CN 111352711B CN 202010099733 A CN202010099733 A CN 202010099733A CN 111352711 B CN111352711 B CN 111352711B
Authority
CN
China
Prior art keywords
task
calculation
engine
computing
queue
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
CN202010099733.0A
Other languages
English (en)
Other versions
CN111352711A (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.)
Shenzhen Corerain Technologies Co Ltd
Original Assignee
Shenzhen Corerain Technologies 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 Shenzhen Corerain Technologies Co Ltd filed Critical Shenzhen Corerain Technologies Co Ltd
Priority to CN202010099733.0A priority Critical patent/CN111352711B/zh
Publication of CN111352711A publication Critical patent/CN111352711A/zh
Application granted granted Critical
Publication of CN111352711B publication Critical patent/CN111352711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

本申请实施例公开了一种多计算引擎调度方法、装置、设备及存储介质,该方法包括:根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算。本发明实施例提供的一种多计算引擎调度方法,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。

Description

多计算引擎调度方法、装置、设备及存储介质
技术领域
本申请实施例涉及计算板卡技术,尤其涉及一种多计算引擎调度方法、装置、设备及存储介质。
背景技术
相关技术中,应用多计算引擎平台,需要改善多计算引擎兼容情况、计算任务统一管理情况和未来引擎的扩展情况,因此,需要能够自动选择任务执行引擎,提高平台效率。相关技术中支持多计算引擎的平台,都不能避免上述情况。例如,Twitter SummingBird采用Lambda架构整合了分布式批处理引擎(Hadoop)和分布式流计算引擎(Storm),在执行请求时可以整合批处理和流计算的结果,但其没有方便的引擎管理机制,同时没有提供引擎运行环境隔离;Apache Ambari基于Web实现,支持Apache Hadoop生态的供应、管理和监控,同时提供自定义接口,支持添加各类单机或分布式引擎,但其没有提供统一的计算任务管理,只能保证特定引擎兼容性,同时需要人工选择计算引擎执行计算任务;GoogleKubernete基于Docker实现,能够以容器的方式运行计算引擎,依据需求可以运行单机引擎和分布式引擎,提供容器的部署,调度和节点集群间扩展等功能,但其没有任务管理机制,同时也需要人工选择计算引擎。
多计算引擎平台无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求。
发明内容
本发明实施例提供一种多计算引擎调度方法、装置、设备及存储介质,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。
第一方面,本申请实施例提供了一种多计算引擎调度方法,包括:根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算。
可选的,所述多个计算队列根据优先级顺序划分为第一优先级队列和第二优先级队列,所述第一优先级队列的优先级低于所述第二优先队列的优先级。
可选的,在所述第一优先级队列和所述第二优先级队列对应的计算引擎至少有一个相同,且所述第一优先级队列和所述第二优先级队列同时需要对待计算任务进行处理的情况下,将计算引擎分配给所述第二优先级队列。
可选的,在将计算引擎分配给所述第二优先级队列之后,还包括:
在所述第二优先级队列对应的计算引擎完成所述待计算任务后,将所述第一优先级队列对应的计算引擎分配给所述第一优先级队列。
可选的,所述预设规则为:所述第二优先级队列分配的计算引擎数量大于所述第一优先级队列分配的计算引擎数量。
可选的,所述匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎包括:
根据所述待计算任务请求计算引擎;
判断所述待计算任务是否为目标历史计算任务,基于所述待计算任务是目标历史计算任务的判断结果,将所述待计算任务划分到所述历史计算任务所属队列,并确认目标计算引擎。
可选的,基于所述待计算任务不是目标历史计算任务的判断结果,生成新的计算队列并将所述待计算任务划分到所述新的计算队列中;
根据预设规则给所述新的计算队列分配目标计算引擎。
可选的,所述使用所述目标计算引擎对所述待计算任务进行计算包括:
根据所述待计算任务所属的计算队列生成寄存器列表;
根据所述寄存器列表调度与所述待计算任务对应的计算引擎计算所述待计算任务。
第二方面,本申请实施例还提供了一种多计算引擎调度装置,该装置包括:队列定义模块,设置为根据数据库中的历史计算任务定义多个计算队列;引擎分配模块,设置为根据预设规则给每个计算队列分配对应的计算引擎;任务匹配模块,设置为匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;任务计算模块,设置为使用所述目标计算引擎对所述待计算任务进行计算。
第三方面,本申请实施例还提供了一种多计算引擎调度设备,包括:至少一个处理器;存储器,设置为存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面所述的多计算引擎调度方法。
第四方面,本申请实施例还提供了一种多计算引擎调度存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的多计算引擎调度方法。
本申请实施例公开了一种多计算引擎调度方法、装置、设备及存储介质,该方法包括:根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算。本发明实施例提供的一种多计算引擎调度方法,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。
附图说明
图1为本申请一实施例提供的一种多计算引擎调度方法的流程图;
图2为本申请一实施例提供的另一种多计算引擎调度方法的流程图;
图3是本申请一实施例中一种多计算引擎调度装置的结构示意图;
图4是本申请一实施例中一种多计算引擎调度设备的结构示意图。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一计算引擎为第二计算引擎,且类似地,可将第二计算引擎称为第一计算引擎。第一计算引擎和第二计算引擎两者都是计算引擎,但其不是同一计算引擎。术语“第一”、“第二”等不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确的限定。
实施例一
图1为本申请一实施例提供的一种多计算引擎调度方法的流程图,本实施例可适用于多引擎同时处理计算任务的情况,包括步骤100至步骤130。
在步骤100中,根据数据库中的历史计算任务定义多个计算队列。
本实施例中,计算任务是指未处理的各种应用程序。计算队列包含多个计算任务的队列,根据每个计算队列对应了多个计算引擎,同一队列中的计算任务能够使用的计算引擎数量相同,可以根据计算引擎的数量使计算引擎达到充分利用。首先,服务器根据数据库中已经处理过的历史计算任务划分出多个计算队列,划分的规则可以是相同队列中的计算任务进行计算处理需要的计算引擎数量相同。本实施例中的计算引擎相当于人工智能(Artificial Intelligence,AI)网络加速器,可以是现场可编辑门阵列(Field-Programmable Gate Array,FPGA)器件,由专用集成电路(ASIC)实现,在此不做限定。
在替代实施例中,所述多个计算队列根据优先级顺序划分为第一优先级队列和第二优先级队列,所述第一优先级队列的优先级低于所述第二优先队列的优先级。替代实施例中,服务器将计算引擎分配给第二优先级队列。
在一实施例中,在所述第一优先级队列和所述第二优先级队列对应的计算引擎至少有一个相同,且所述第一优先级队列和所述第二优先级队列同时需要对待计算任务进行处理的情况下,将计算引擎分配给所述第二优先级队列。
在一实施例中,在将计算引擎分配给所述第二优先级队列之后,还包括:在所述第二优先级队列对应的计算引擎完成所述待计算任务后,将所述第一优先级队列对应的计算引擎分配给所述第一优先级队列。
在一实施例中,这里的优先级顺序可以为处理计算任务的时间顺序或者计算任务的重要程度或者处理计算任务的先后顺序。通过优先级顺序的确定,可以将所有的计算队列划分为第二优先级队列和第一优先级队列,服务器可以根据计算队列的优先等级,分别划分不同的计算引擎给对应队列处理计算任务。在计算引擎数量一定,且第二优先级队列和第一优先级队列同时需要计算引擎处理计算任务的情况下,服务器会将计算引擎分配给第二优先级队列完成计算,第一优先级队列需要使用其他计算引擎或者等待第二优先级队列完成计算。所有的计算引擎可以统一进行标签标记以达到服务器快速调度空闲引擎的效果,状态分为“闲置”“使用中”“损坏”等等。未处理计算任务的计算引擎标记为“闲置”,在处理计算任务中的计算引擎标记为“使用中”,无法使用的计算引擎标记为“损坏”。在步骤110中,根据预设规则给每个计算队列分配对应的计算引擎。
本实施例中,在步骤100中获得的多个计算队列,服务器可以根据多种预设规则给计算队列分配能够使用的计算引擎。替代实施例中,所述预设规则为:第二优先级队列分配的计算引擎数量大于第一优先级队列分配的计算引擎数量。服务器需要先满足第二优先级队列的计算任务,因此需要更多的计算引擎去加快第二优先级队列的计算任务处理,而第一优先级队列的计算任务比较简单,因此只需要较少的计算引擎即可完成第一优先级队列的计算任务。
示例性的,两个计算团队A和B,共用一个服务器,服务器内存在4个计算引擎,管理员把整个服务器配置为3个队列:队列1,队列2,队列3。队列1分配给团队A;队列2分配给团队B;队列3为第二优先级队列,用于紧急任务。服务器会根据团队将任务提交给各自的队列,队列1能使用计算引擎1和计算引擎2的资源,队列2能使用计算引擎3和计算引擎4的资源,此时两个团队互不干扰,所有资源在团队内部是共享的,而团队外部是无法使用的。在存在紧急任务情况下,可以使用第二优先级队列,此队列能根据需要使用所有计算引擎资源,假设有一个紧急任务需要3个计算引擎的资源,在此紧急任务被提交进第二优先级队列的情况下,此时调度器将3个计算引擎的资源对原本的队列关闭并分配给此紧急任务。
在步骤120中,匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎。
本实施例中,历史计算任务是指已经在服务器上进行处理过的计算任务,目标计算引擎是指历史计算任务使用的计算引擎。需要计算新的计算任务时,服务器首先会在数据库中查找该任务是否已经进行过计算即是否为历史计算任务,如果为历史计算任务,服务器就会根据该历史计算任务所分配的计算队列给新的计算任务同样分配到相同该计算队列,之后则按照该计算队列能够使用的计算引擎计算新的计算任务。
在步骤130中,使用所述目标计算引擎对所述待计算任务进行计算。
本实施例中,根据步骤120中已确认新的计算任务为历史计算任务,则分配与历史计算任务相同的计算引擎对该计算任务进行处理计算。此时的计算引擎至少为一个以上,根据该计算任务所属的计算队列的优先级来确定,计算引擎数量越多,处理该计算任务的速度越快。示例性的,在深度学习计算中,使用多个计算引擎对图像进行识别,此时,使用计算引擎的数量越多,对该图像和数据库中图像对比的速度越快,输出对比结果的时间越短。
替代实施例中,所述使用所述目标计算引擎对所述待计算任务进行计算包括:根据所述待计算任务所属的计算队列生成寄存器列表;根据所述寄存器列表调度所述待计算任务对应的计算引擎计算所述待计算任务。
本实施例中,寄存器列表中记录了该计算任务需要使用的计算引擎数量和计算引擎编号,根据该寄存器列表,服务器调度所述待计算任务对应的计算引擎计算处理计算任务。
本实施例中提供的一种多计算引擎调度方法,通过根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。
实施例二
图2为本申请一实施例提供的又一种多计算引擎调度方法的流程图,本实施例是在上述实施例的基础上对计算引擎的分配过程进行了详细的细分,该方法包括步骤200至步骤260。
在步骤200中,根据数据库中的历史计算任务定义多个计算队列。
在步骤210中,根据预设规则给每个计算队列分配对应的计算引擎。
在步骤220中,根据待计算任务请求计算引擎。
本实施例中,使用人员在需要计算引擎处理待计算任务时,需要向提出服务器申请,该申请内容包括但不限于:待计算任务类型,指该待计算任务所属计算领域;待计算任务数量,指该待计算任务需要计算的公式数量;待计算任务紧急程度,指该待计算任务的处理优先级。
在步骤230中,判断所述待计算任务是否为目标历史计算任务。
本实施例中,历史计算任务是指已经在服务器上进行处理过的计算任务,目标计算引擎是指历史计算任务使用的计算引擎。需要处理待计算任务时,服务器首先会在数据库中查找该任务是否已经进行过计算即是否为历史计算任务服务器接收到该申请后进行对该计算任务进行比对分析,判断该任务是否为历史计算任务。
在步骤240中,基于所述待计算任务是目标历史计算任务的判断结果,将所述待计算任务划分到该历史计算任务所属队列并确认目标计算引擎。
本实施例中,如果待计算任务为历史计算任务,那么服务器就会根据该历史计算任务所分配的计算队列给待计算任务同样分配到相同该计算队列,之后则按照该计算队列能够使用的计算引擎计算待计算任务。
在步骤250中,基于所述待计算任务不是目标历史计算任务的判断结果,生成新的计算队列并将所述待计算任务划分到新的计算队列中。
本实施例中,如果待计算任务不是历史计算任务,那么服务器会重新生成一个新的计算队列,并给该计算队列进行优先级定义,这里指的优先级定义可以由使用人员直接定义或者根据待计算任务的复杂或者重要程度进行定义,确定该待计算任务的优先级顺序。在优先级顺序确定之后,新的计算队列中即包含待计算任务,若之后还有未处理的计算任务不是历史计算任务,则也可在服务器判断后划分到该计算队列中。
在步骤260中,根据预设规则给新的计算队列分配目标计算引擎。
本实施例中,在生成新的计算队列后,根据预设规则给新的队列确定能够使用的计算引擎。该预设规则一般为该计算队列的优先级顺序,优先级越高,使用的计算引擎数量越多,对其处理速度也越快;优先级越低,使用的计算引擎数量越少,处理速度越慢。确定该计算队列优先级顺序后,生成对应的寄存器列表,根据该寄存器列表调度所述待计算任务对应的计算引擎对待计算任务进行计算处理。
本实施例中提供的一种多计算引擎调度方法,通过根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;根据待计算任务请求计算引擎;判断所述待计算任务是否为目标历史计算任务;基于所述待计算任务是目标历史计算任务的判断结果,将所述待计算任务划分到该历史计算任务所属队列并确认目标计算引擎;基于所述待计算任务不是目标历史计算任务的判断结果,生成新的计算队列并将所述待计算任务划分到新的计算队列中;根据预设规则给新的计算队列分配目标计算引擎,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。本申请一实施例所提供的多计算引擎调度装置可执行本申请任意实施例所提供的多计算引擎调度方法。
实施例三
图3是本申请一实施例中的一种多计算引擎调度装置300的结构示意图。参照图3,本申请实施例提供的多计算引擎调度装置300可以包括队列定义模块310、引擎分配模块320、任务匹配模块330及任务计算模块340。
队列定义模块310,设置为根据数据库中的历史计算任务定义多个计算队列。
引擎分配模块320,设置为根据预设规则给每个计算队列分配对应的计算引擎。
任务匹配模块330,设置为匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎。
任务计算模块340,设置为使用所述目标计算引擎对所述待计算任务进行计算。
在一实施例中,队列定义模块310,设置为所述多个计算队列根据优先级顺序划分为第一优先级队列和第二优先级队列,所述第一优先级队列的优先级低于所述第二优先队列的优先级。
在一实施例中,引擎分配模块320,设置为在所述第一优先级队列和所述第二优先级队列对应的计算引擎至少有一个相同,且所述第一优先级队列和所述第二优先级队列同时需要对待计算任务进行处理的情况下,将计算引擎分配给所述第二优先级队列。
在一实施例中,引擎分配模块320,还设置为在将计算引擎分配给所述第二优先级队列,所述第二优先级队列对应的计算引擎完成所述待计算任务后,将所述第一优先级队列对应的计算引擎分配给所述第一优先级队列。
在一实施例中,所述预设规则为:第二优先级队列分配的计算引擎数量大于第一优先级队列分配的计算引擎数量。
在一实施例中,任务匹配模块330还包括任务申请子模块和任务判断子模块。
任务申请子模块,设置为根据待计算任务请求计算引擎。
任务判断子模块,设置为判断所述待计算任务是否为目标历史计算任务,基于所述待计算任务是目标历史计算任务的判断结果,将所述待计算任务划分到该历史计算任务所属队列并确认目标计算引擎;基于所述待计算任务不是目标历史计算任务的判断结果,生成新的计算队列并将所述待计算任务划分到新的计算队列中;根据预设规则给新的计算队列分配目标计算引擎。
在一实施例中,任务计算模块340,设置为:根据所述待计算任务所属的计算队列生成寄存器列表;根据所述寄存器列表调度所述待计算任务对应的计算引擎计算所述待计算任务。
本实施例中提供的一种多计算引擎调度装置,通过根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。
实施例四
图4为本申请一实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括存储器410、处理器420,计算机设备中处理器420的数量可以是至少一个,图4中以一个处理器420为例;设备中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,设置为存储软件程序、计算机可执行程序以及模块,如本申请实施例中的多计算引擎调度方法对应的程序指令/模块(例如,用于多计算引擎调度装置中的队列定义模块310、引擎分配模块320、任务匹配模块330、任务计算模块340)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行设备/终端/设备的各种功能应用以及数据处理,即实现上述多计算引擎调度方法。
其中,处理器420设置为运行存储在存储器410中的计算机程序,实现如下步骤:根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算。
在其中一个实施例中,本申请实施例所提供的一种计算机设备,其计算机程序不限于如上的方法操作,还可以执行本申请任意实施例所提供的多计算引擎调度方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例中提供的一种多计算引擎调度设备,通过根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。
实施例五
本申请一实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时,用于执行一种多计算引擎调度方法,该方法包括:根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的多计算引擎调度方法中的相关操作。
本申请实施例的计算机可读存储介质,可以采用至少一个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有至少一个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc-Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以至少一种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local AreaNetwork,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本实施例中提供的一种多计算引擎调度存储介质,通过根据数据库中的历史计算任务定义多个计算队列;根据预设规则给每个计算队列分配对应的计算引擎;匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;使用所述目标计算引擎对所述待计算任务进行计算,避免了相关技术中无法充分利用多个计算引擎的资源,也无法应对多用户的计算请求的情况,提升了计算引擎的利用效率,并且能够同时处理多个进程,提高了进程的处理速度。

Claims (11)

1.一种多计算引擎调度方法,其特征在于,包括:
根据数据库中的历史计算任务定义多个计算队列;
根据预设规则给每个计算队列分配对应的计算引擎;
匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;
使用所述目标计算引擎对所述待计算任务进行计算。
2.根据权利要求1所述的方法,其特征在于,所述多个计算队列根据优先级顺序划分为第一优先级队列和第二优先级队列,所述第一优先级队列的优先级低于所述第二优先级队列的优先级。
3.根据权利要求2所述的方法,其特征在于,在所述第一优先级队列和所述第二优先级队列对应的计算引擎至少有一个相同,且所述第一优先级队列和所述第二优先级队列同时需要对待计算任务进行处理的情况下,将计算引擎分配给所述第二优先级队列。
4.根据权利要求3所述的方法,其特征在于,在将计算引擎分配给所述第二优先级队列之后,还包括:
在所述第二优先级队列对应的计算引擎完成所述待计算任务后,将所述第二优先级队列对应的计算引擎分配给所述第一优先级队列。
5.根据权利要求3所述的方法,其特征在于,所述预设规则为:所述第二优先级队列分配的计算引擎数量大于所述第一优先级队列分配的计算引擎数量。
6.根据权利要求1所述的方法,其特征在于,所述匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎包括:
根据所述待计算任务请求计算引擎;
判断所述待计算任务是否为目标历史计算任务,基于所述待计算任务是目标历史计算任务的判断结果,将所述待计算任务划分到所述历史计算任务所属队列,并确认目标计算引擎。
7.根据权利要求6所述的方法,其特征在于,还包括:
基于所述待计算任务不是目标历史计算任务的判断结果,生成新的计算队列并将所述待计算任务划分到所述新的计算队列中;
根据预设规则给所述新的计算队列分配目标计算引擎。
8.根据权利要求1所述的方法,其特征在于,所述使用所述目标计算引擎对所述待计算任务进行计算包括:
根据所述待计算任务所属的计算队列生成寄存器列表;
根据所述寄存器列表调度与所述待计算任务对应的计算引擎计算所述待计算任务。
9.一种多计算引擎调度装置,其特征在于,包括:
队列定义模块,设置为根据数据库中的历史计算任务定义多个计算队列;
引擎分配模块,设置为根据预设规则给每个计算队列分配对应的计算引擎;
任务匹配模块,设置为匹配待计算任务和所述历史计算任务以确认目标历史计算任务,根据所述目标历史计算任务确认目标计算引擎;
任务计算模块,设置为使用所述目标计算引擎对所述待计算任务进行计算。
10.一种计算机设备,其特征在于,包括:
至少一个处理器;
存储器,设置为存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-8中任一项所述的多计算引擎调度方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-8中任一项所述的多计算引擎调度方法。
CN202010099733.0A 2020-02-18 2020-02-18 多计算引擎调度方法、装置、设备及存储介质 Active CN111352711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010099733.0A CN111352711B (zh) 2020-02-18 2020-02-18 多计算引擎调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010099733.0A CN111352711B (zh) 2020-02-18 2020-02-18 多计算引擎调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111352711A CN111352711A (zh) 2020-06-30
CN111352711B true CN111352711B (zh) 2023-05-12

Family

ID=71195671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010099733.0A Active CN111352711B (zh) 2020-02-18 2020-02-18 多计算引擎调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111352711B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256734A (zh) * 2020-10-20 2021-01-22 中国农业银行股份有限公司 一种大数据处理方法、装置、系统、设备和存储介质
CN116635840A (zh) * 2020-10-30 2023-08-22 华为技术有限公司 基于多指令引擎的指令处理方法及处理器
CN112650687B (zh) * 2020-12-30 2024-03-19 绿盟科技集团股份有限公司 引擎调度动作执行优先级的测试方法、装置、设备及介质
CN113139205B (zh) * 2021-04-06 2022-02-01 华控清交信息科技(北京)有限公司 一种安全计算方法、通用计算引擎、用于安全计算的装置和安全计算系统
CN115017186A (zh) * 2022-04-21 2022-09-06 北京火山引擎科技有限公司 一种任务处理方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764892A (zh) * 2019-10-22 2020-02-07 北京字节跳动网络技术有限公司 任务处理方法、设备及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918613B (zh) * 2016-10-08 2022-01-21 上海宝存信息科技有限公司 因应服务质量的固态硬盘访问方法以及使用该方法的装置
US10095981B1 (en) * 2017-03-22 2018-10-09 Accenture Global Solutions Limited Multi-state quantum optimization engine
US10545796B2 (en) * 2017-05-04 2020-01-28 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764892A (zh) * 2019-10-22 2020-02-07 北京字节跳动网络技术有限公司 任务处理方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111352711A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111352711B (zh) 多计算引擎调度方法、装置、设备及存储介质
CN108182111B (zh) 任务调度系统、方法和装置
US20200257968A1 (en) Self-learning scheduler for application orchestration on shared compute cluster
CN109033001B (zh) 用于分配gpu的方法和装置
US20130104140A1 (en) Resource aware scheduling in a distributed computing environment
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
US20140310712A1 (en) Sequential cooperation between map and reduce phases to improve data locality
CN112540841B (zh) 任务调度的方法、装置、处理器与电子设备
CN109857535B (zh) 面向Spark JDBC的任务优先级控制的实现方法及装置
US20190377606A1 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
CN113918314A (zh) 任务处理方法、边缘计算设备、计算机设备、介质
KR20140117905A (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
Shen et al. Performance modeling of big data applications in the cloud centers
Gong et al. Computation offloading-based task scheduling in the vehicular communication environment for computation-intensive vehicular tasks
US20180107513A1 (en) Leveraging Shared Work to Enhance Job Performance Across Analytics Platforms
Loheswaran An upgraded fruit fly optimisation algorithm for solving task scheduling and resource management problem in cloud infrastructure
CN1783121A (zh) 用于执行设计自动化的方法和系统
CN117014389A (zh) 算网资源配置方法及系统、电子设备、存储介质
Ghebleh et al. A multi-criteria method for resource discovery in distributed systems using deductive fuzzy system
CN114172814B (zh) 一种意图驱动卫星网络资源管理三协模型构建方法及应用
Zhao et al. Optimizing allocation and scheduling of connected vehicle service requests in cloud/edge computing
CN116010020A (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