CN113971083A - 任务调度方法、装置、设备、介质及产品 - Google Patents
任务调度方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN113971083A CN113971083A CN202111242948.4A CN202111242948A CN113971083A CN 113971083 A CN113971083 A CN 113971083A CN 202111242948 A CN202111242948 A CN 202111242948A CN 113971083 A CN113971083 A CN 113971083A
- Authority
- CN
- China
- Prior art keywords
- computing node
- task
- target
- resource utilization
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000003993 interaction Effects 0.000 claims abstract description 46
- 238000013500 data storage Methods 0.000 claims abstract description 11
- 230000002452 interceptive effect Effects 0.000 claims description 79
- 230000015654 memory Effects 0.000 claims description 71
- 238000004458 analytical method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 239000003795 chemical substances by application Substances 0.000 claims 1
- 238000011144 upstream manufacturing Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012482 interaction analysis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了任务调度方法、装置、设备、介质及产品,涉及数据处理领域,尤其涉及云计算领域。具体实现方案为:获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。本公开的方案避免了跨节点数据交互产生的额外开销,提高跨节点数据交互的效率。
Description
技术领域
本公开涉及数据处理领域,尤其涉及云计算领域,具体涉及一种任务调度方法、装置、设备、介质及产品。
背景技术
在分布式交互分析引擎的应用过程中,必然会涉及到跨节点的数据交互。由于跨节点的数据交互会产生网络IO、磁盘IO以及CPU开销,带来额外的内存开销,这些开销会直接影响引擎中系统的性能,如查询性能。
发明内容
本公开提供了一种用于任务调度方法、装置、设备、介质及产品。
根据本公开的一方面,提供了任务调度方法,包括:
获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。
根据本公开的另一方面,提供了一种任务调度装置,包括:
缓冲区资源确定模块,用于获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
执行任务调整模块,用于根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一实施例所述的任务调度方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开中任一实施例所述的任务调度方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开中任一实施例所述的任务调度方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种任务调度方法的示意图;
图2是根据本公开实施例的另一种任务调度方法的示意图;
图3是根据本公开实施例的输入缓冲区、输出缓冲区及任务并发度的调整示意图;
图4是根据本公开实施例的又一种任务调度方法的示意图;
图5是根据本公开实施例的又一种任务调度方法的示意图;
图6是根据本公开实施例的一种任务调度装置的结构示意图;
图7是用来实现本公开实施例的任务调度方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例的一种任务调度方法的示意图,本实施例可适用于对分布式系统中跨节点数据交互的效率进行提升的情况,该方法可以通过任务调度装置执行,该装置可以通过软件和/或硬件的方式实现,并集成在电子设备中;本实施例中涉及到的电子设备可以为等本地服务器等具有通信和计算能力的设备。
在本实施例的另一个可选实现方式中,该方法的执行主体为分布式交互式分析引擎中的调度节点,分布式交互式分析引擎包括调度节点和至少两个计算节点,计算节点用于并行执行分布式交互式分析引擎中的任务。
其中,分布式交互式分析引擎是指部署在多个服务器上的交互式分析引擎,不同用户可以通过在多个服务器上的交互式分析引擎进行相应的在线分析查询操作等。示例性的,交互式分析引擎通常应用于生成动态统计报表、adhoc查询、BI系统、数据可视化等场景。这些应用场景的特点包括:对查询速度敏感、并发度高(多个业务部门、大量数据分析师共享)、对查询出错容忍度高、资源需求变化大(负载波动明显)、负载多在工作时间等。例如交互式分析引擎所具备的在线查询性能是用户使用最广泛的性能,也是产生跨节点的数据交互较多的性能。
将交互式分析引擎部署在分布式系统中的多个服务器上,必然会导致用户使用时产生的跨节点的交互数据量和频率。且由于跨节点的数据交换会产生网络IO、磁盘IO和CPU开销,并且跨节点交互的数据即使下游节点不能可以马上进行处理,往往也需要立即进行下一步处理,这时会将跨节点交互的数据缓存在内存中,这也进一步增加了内存的开销。这些开销会直接影响分布式系统的性能,尤其在分布式交互式分析引擎中,跨节点数据交互会直接影响用户体验,增加用户成本。
分布式交互式分析引擎中包括至少一个调度节点和至少两个计算节点,其中,调度节点用于对计算节点中的任务进行调度管理,例如调度节点可以管理计算节点中各任务所需要处理的数据片。交互式分析引擎在接收到用户下发的指令后,根据该指令生成执行计划,并将该执行计划下发进行分布式执行,整个分布式执行计划可以划分为多个执行任务,并将多个执行任务分散在分布式服务器集群中的各个计算节点上,以实现在多个计算节点上多任务的并行计算执行。示例性的,整个分布式执行计划可以划分为一个或多个阶段(stage),stage为交互式分析引擎中分布式执行计划的一个阶段划分,在一个stage中包含完成这一阶段计算目标的多个任务(task),这些任务分散在集群中的各个计算中,实现并行计算,提高引擎新能和数据吞吐量。计算节点按照任务所属的阶段进行顺序执行,例如所有计算节点先并行执行stage1包括的各任务,再并行执行stage2包括的各任务。在本公开了所涉及到的调度任务为同阶段的任务。示例性的,调度节点和计算节点可以部署在分布式集群中的同一个服务器或者不同服务器上,例如每台服务器为一个调度节点或计算节点,在本公开实施例中并不限制具体部署情况。
本公开实施例可以有效减少计算节点并行执行任务时产生的跨计算节点数据交互带来的额外开销,提升交互式分析引擎的整体性能,降低用户使用引擎的硬件和网络成本。
具体的,参考图1,该方法具体包括如下:
S110、获取目标计算节点中输出缓冲区的资源利用状态;其中,输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据。
其中,目标计算节点是分布式集群中的任一计算节点,预先在每个计算节点的内存中开辟一块输出缓冲区,用于存储和其他计算节点的交互数据。具体的,输出缓冲区用于存储目标计算节点待发送至其他计算节点的交互数据。输出缓冲区是单独划分出的用于存储与其他计算节点交互的数据,以便随时监控目标计算节点和其他计算节点之间交互数据的情况,并且可以减少其他内存的额外开销。
资源利用状态是指输出缓冲区中硬件资源被使用的情况,其中硬件资源被使用的情况具体指内存空间的使用情况。由于跨节点数据交互带来的额外开销大多由于网络上的消耗造成的,因此资源利用状态除了内存使用状态,还可以包括CPU状态以及网络状态等,但是不管是何原因造成跨节点数据交互带来的额外开销,最终表现均为缓冲区内存剩余不足,因此在本公开实施例中,资源利用状态为内存利用状态,可以使用内存利用率等进行表征。
示例性的,在分布式交互式引擎中,预先在每个计算节点的内存中划分一块内存区域,作为输出缓冲区,用于存储该计算节点待发送至其他计算节点的交互数据。调度节点监控每个计算节点中输出缓冲区的资源使用情况,例如内存利用率等。
S120、根据输出缓冲区的资源利用状态,并按照预设调度策略调整目标计算节点中所执行任务的并行度。
其中,执行任务的并行度是指计算节点中正在并行执行的任务的最大数量,例如并行度指正在执行任务并行处理数据的最大数据量,或者指正在并行执行任务的最大数量等,该并行度反应了计算节点产生待消费数据的速度,例如当通过减少正在并行执行任务的数量降低执行任务的并行度时,执行任务数量减少则造成任务产生的数据量减少。
预设调度策略是指缓冲区的资源利用状态和执行任务的并行度调整之间的策略关系,该关系可以根据引擎的工作性能以及实际使用情况进行设置。示例性的,建立不同资源利用状态和执行任务并行度处理方式之间的映射关系,当监控到资源利用状态达到映射关系中任一情况时,则按照关联关系确定执行任务并行度处理方式,并按照该处理方式对计算节点中所执行任务的并行度进行调整。
具体的,调度节点在监控各计算节点输出缓冲区的资源利用状态时,若确定目标计算节点的输出缓冲区的资源利用不足时,则表示目标计算节点中执行任务产生数据的数据大于输出缓冲区发送数据的速度,导致需要发送到其他计算节点的数据堆积在输出缓冲区中得不到消费。
针对上述任一种情况,本公开通过调整目标计算节点中所执行任务的并行度对输出缓冲区中的数据堆积情况进行及时调整,以避免数据溢出造成额外的内存消耗,影响引擎工作性能。示例性的,当输出缓冲区的资源利用不足时,可以调整目标计算节点中所执行任务的并行度,调整该任务的并行度后使得目标计算节点中产生需要发送至其他计算计算的数据量减小。
本实施例的方案,通过对计算节点中用于存储与其他计算节点交互的数据输出缓冲区的资源利用状态的监控,实现对跨节点交互数据的监控,以避免跨节点数据交互产生的额外开销,提高跨节点数据交互的效率。
图2是根据本公开实施例的另一种任务调度方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图2所示,任务调度方法包括如下:
S210、获取目标计算节点中输出缓冲区的资源利用状态;其中,输出缓冲区用于存储目标计算节点待发送至其他计算节点的交互数据。
其中,输出缓冲区是用来存放目标计算节点需要发送至其他计算节点的跨节点交互数据,即输出缓冲区中的交互数据是目标计算节点产生的等待发送至其他计算节点进行消费的数据。输出缓冲区的资源利用状态用于对目标计算节点消费产生的数据量进行表征,通过对目标计算节点中输出缓冲区的资源利用状态进行监控,则可以对跨节点数据交互的情况进行监控。
具体的,预先在目标计算节点的内存区域中划分中输出缓冲区,输出缓冲区的内存大小可以根据目标计算节点中执行任务产生跨节点交互数据的速度和量进行确定,即根据实际情况进行划分该区域,并不限制该缓冲区的内存大小。在分布式交互式分析引擎工作过程中,该目标计算节点关联的调度节点保持对输出缓冲区资源利用状态的监控,以保持对目标计算节点产生跨节点交互数据的效率进行监控。示例性的,在上述示例中,资源利用状态可以是内存利用状态,如内存利用率。
S220、根据输出缓冲区的资源利用状态识别到资源不足状态时,则确定目标计算节点中正在执行的任务的执行信息。
其中,资源不足状态是指输出缓冲区的硬件资源不足,如内存剩余不足,出现存放在其中的跨节点交互数据即将溢出的情况,资源不足状态一般是由于上下游处理能力差异导致的资源浪费,例如,下游负载过高,导致输出缓冲区长时间占用资源。执行信息包括区分当前任务的执行情况的信息,例如执行信息包括正在执行的任务的执行启动时间、处理数据量和资源使用率等。
具体的,调度节点在监控输入缓冲区的资源利用状态时,发现输出缓冲区的资源存在不足的状态,则获取目标计算节点当前正在执行的任务的执行信息,例如当目标计算节点的输出缓冲区内存使用不足时,表示当前识别到了输出缓冲区资源不足状态,即目标计算节点中执行任务产生的需要发送至其他计算节点的交互数据过多,导致目标计算节点中输出缓冲区存储内存不足,若目标计算节点中执行任务仍按照当前速度产生交互数据,则会导致输出缓冲区满,进而导致数据处理停止并会占用目标计算节点中额外的内存空间,导致资源浪费,影响引擎性能。因此输出缓冲区资源不足状态时,首先确定当前在目标计算节点中正在执行的任务的执行信息,以根据该执行信息对执行任务进行相应的处理,以减少其产生交互数据的数据量。
在本实施例的另一个可选实现方式中,资源利用状态包括资源利用率,资源不足状态是指输出缓冲区的资源利用率大于第二预设资源利用阈值。
具体的,资源利用状态用于表征输出缓冲区的资源使用情况,可以用资源利用率进行表示,即用当前使用资源值与输出缓冲区的全部资源值的比例进行表示。例如资源可以指内存,则资源利用率为内存利用率,用当前输出缓冲区的使用内存和输出缓冲区的全部内存的比例对输出缓冲区的资源利用状态进行表示。
资源不足状态是指输出缓冲区的当前资源剩余不足,通过资源利用率进行表征时表现为当输出缓冲区的资源利用率大于第二预设资源利用阈值时,确定当前资源剩余不足,处于资源不足状态。示例性的,资源利用率为内存利用率时,调度节点监控目标计算节点中输出缓冲区的内存利用率,当内存利用率大于第二预设资源利用阈值时,则表示输出缓冲区内存即将满,存在溢出风险,确定识别到资源不足状态。其中,第二预设资源利用阈值可以根据实际情况进行设置,在此并不限制,例如设置为95%,即当输出缓冲区的内存使用超过95%时,确定为资源不足状态。第一预设资源利用阈值和第二预设资源利用阈值的具体数值设置可以相同也可以不同,根据实际关联任务执行情况进行确定,在此并不限制。
S230、根据执行信息调整目标计算节点中执行任务的并行度。
由于目标计算节点中输出缓冲区的交互数据来源于目标计算节点中执行任务,因此在输出缓冲区资源不足的情况下,需要降低目标计算节点中执行任务所产生的交互数据。在本公开实施例中,通过调整目标计算节点中红执行任务的并行度降低其所产生的交互数据。其中,执行任务的并行度是指并行执行任务的最大数量或者执行任务并行处理的最大数据量,通过执行任务的并行度可以控制执行任务所产生的交互数据的量。
具体的,在目标计算节点中包括一个执行任务时,执行任务的并行度包括执行任务并行处理的最大数据量,根据该执行任务的具体执行信息确定并行处理的最大数据量。示例性的,执行信息为该任务的资源使用率,如CPU使用率等,则建立资源使用率与并行处理的最大数据量之间的映射关系,以在确定执行信息后,根据该映射关系确定关联的最大数据量,并按照该最大数据量对目标计算节点中该执行任务的并行度进行调整。其中,映射关系可以根据实际应用场景和使用情况进行确定,在此不作限制。
在目标计算节点中包括至少两个执行任务时,执行任务的并行度包括并行执行任务的最大数量和/或执行任务并行处理的最大数据量,根据具体执行信息确定并行度调整的策略。例如,当输出缓冲区的资源不足时,可以暂停其中一个执行任务,或者降低其中一个执行任务并行处理的最大数据量。
在本实施例的另一个可选实现方式中,S230,包括:
根据执行信息确定目标计算节点中的目标任务;
降低目标任务的处理数据量。
在采取通过降低任务的处理数据量调整目标计算节点中执行任务的并行度时,需要确定所降低处理数据量对应的任务。若目标计算节点中只有一个执行任务,则直接将其确定为目标任务,降低其处理数据量。若目标计算节点中包括至少两个任务时,首先需要明显所需降低处理数据量的目标任务。
为了保证目标任务确定的准确性,在本公开实施例中采用根据各执行任务的执行信息确定目标任务,使得降低目标任务的处理数据量后可以有效减小目标计算节点产生的需要发送至其他计算节点的交互数据量。并且通过降低目标任务的处理数据量的方式使得对引擎的工作性能影响最低。
示例性的,如图3所示为输入缓冲区、输出缓冲区及任务并发度的调整示意图,在图3中所示的分布式系统中存在一个调度节点和两个计算节点,调度节点控制计算节点1和计算节点2中的执行任务,计算节点1、计算节点2正在运行stage1的3个任务:task1、task2、task3。在计算节点1和计算节点2中各开辟一个输入缓冲区和输出缓冲区,计算节点1的输出缓冲区存储task1产生的需要发送至计算节点2的交互数据,计算节点2在接收到该交互数据后,将其存储在输入缓冲区中,等待task2和task3消费处理;同理,计算节点2的输出缓冲区存储task2和task3产生的需要发送至计算节点1的交互数据,计算节点1在接收到该交互数据后,将其存储在输入缓冲区中,等待task1消费处理。
当调度节点监控到计算节点2中输出缓冲区的资源利用率大于第二预设资源利用阈值时,表示计算节点2中task2和task3所产生的需要存储在输出缓冲区以待发送至计算节点1的交互数据较多,导致计算节点2的输出缓冲区内存不足,则动态调整计算节点2中的任务执行的并行度。例如调度节点降低发送至task3的数据片,即降低task3产生的存储在输出缓冲区的交互数据,以维持计算节点2输出缓冲区的资源利用率小于第二预设资源利用阈值。等输出缓冲区将交互数据发送至计算节点1的输入缓冲区使得输出缓冲区的资源充足后,重新调整计算节点2中执行任务的并行度。例如,当监控到输出缓冲区的资源利用率达到第四预设资源利用阈值时,则恢复调度节点发送至task3的数据片。
如果输出缓冲区满,则会导致数据处理停止并占用宝贵的内存,本公开实施例弥补了无法通过产生速率提高消费数据的计算节点带来的性能损耗。
在本实施例的另一个可选实现方式中,执行信息包括如下至少一项:执行启动时间、处理数据量和资源使用率;
根据执行信息确定目标计算节点中的目标任务,包括如下至少一项:
根据执行启动时间的数值对目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据处理数据量对目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据资源使用率对目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务。
在确定目标计算节点中的目标任务时,根据执行信息中至少一项信息进行确定,例如根据执行启动时间、处理数据量和/或资源使用率对目标任务进行确定。
具体的,将目标计算节点中执行启动时间最晚的任务作为目标任务,或将目标计算节点中处理数据量最多的任务作为目标任务,或将目标计算节点中资源使用率最多的任务作为目标任务。其中,资源使用率包括内存使用率、网络资源使用率或CPU使用率等。当根据执行信息中至少两项确定目标任务时,则可以根据执行信息的权重进行确定,具体确定策略可以根据实际情况进行确定,在此不作限定。
通过执行启动时间、处理数据量和资源使用率对目标任务进行确定,以通过调整目标任务的处理数据量达到控制输出缓冲区的资源利用状态的目的,降低调整策略对跨节点数据交互带来的不利影响,并且提高跨节点数据交互的效率,增加网络资源共享公平性。
本实施例的方案,通过对计算节点中输出缓冲区资源利用状态的监控,实现对计算节点产生的待发送跨节点交互数据效率的监控,并根据监控情况调整计算节点内部执行任务的并行度,以及时调整向输出缓冲区发送交互数据的情况,避免因上下游处理数据能力差异导致输出缓冲区长时间占用资源,发生数据处理停止并占用额外内存的现象,根据性能指标直接调节并行度,有效提升跨节点数据交换的效率,极大增强分布式交互式分析引擎的易用性,增加网络资源共享公平性。
图4是根据本公开实施例的又一种任务调度方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图4所示,任务调度方法包括如下:
S410、获取目标计算节点中输入缓冲区的资源利用状态;其中,输入缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据。
其中,目标计算节点是分布式集群中的任一计算节点,预先在每个计算节点的内存中开辟一块输入缓冲区,用于存储和其他计算节点的交互数据。具体的,输入缓冲区用于存储目标计算节点所接收的其他计算节点发送的交互数据。输入缓冲区是单独划分出的用于存储与其他计算节点交互的数据,以便随时监控目标计算节点和其他计算节点之间交互数据的情况,并且可以减少其他内存的额外开销。
示例性的,在分布式交互式引擎中,预先在每个计算节点的内存中划分两块内存区域,一块作为输入缓冲区,用于存储该计算节点所接收的其他计算节点发送的交互数据;另一块作为输出缓冲区,用于存储该计算节点待发送至其他计算节点的交互数据。调度节点监控每个计算节点中输出缓冲区和输入缓冲区的资源使用情况,例如内存利用率等。
S420、根据输入缓冲区的资源利用状态,并按照预设调度策略调整其他计算节点中所执行任务的并行度。
具体的,调度节点在监控各计算节点输入缓冲区的资源利用状态时,若确定目标计算节点中的输入缓冲区的资源利用不足时,例如内存利用状态达到预设上限,则表示目标计算节点中执行任务消费数据的速度小于输入缓冲区接收数据的速度,导致接收到的来自其他计算节点的数据堆积在输入缓冲区中得不到消费。
针对上述情况,本公开通过调整其他计算节点中所执行任务的并行度对输入缓冲区中的数据堆积情况进行及时调整,以避免数据溢出造成额外的内存消耗,影响引擎工作性能。示例性的,当输入缓冲区的资源利用不足时,可以调整其他计算节点中所执行任务的并行度,调整该任务的并行度后使得其他计算节点发送至目标计算节点的数据量减小。
本实施例的方案,通过对计算节点中用于存储与其他计算节点交互的数据输入缓冲区的资源利用状态的监控,实现对跨节点交互数据的监控,以避免跨节点数据交互产生的额外开销,提高跨节点数据交互的效率。
图5是根据本公开实施例的另一种任务调度方法的示意图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图5所示,任务调度方法包括如下:
S510、获取目标计算节点中输入缓冲区的资源利用状态;其中,输入缓冲区用于存储目标计算节点所接收的其他计算节点发送的交互数据。
其中,输入缓冲区是用来存放其他计算节点发送至目标计算节点的跨节点交互数据,即输入缓冲区中的交互数据是等待目标计算节点进行消费处理的数据。输入缓冲区的资源利用状态用于对等待目标计算节点进行消费处理的数据量进行表征,通过对目标计算节点中输入缓冲区的资源利用状态进行监控,则可以对跨节点数据交互的情况进行监控。
具体的,预先在目标计算节点的内存区域中划分中输入缓冲区,输入缓冲区的内存大小可以根据目标计算节点需要处理来自其他计算节点的交互数据的正常数据量大小进行确定,即根据实际情况进行划分该区域,并不限制该缓冲区的内存大小。在分布式交互式分析引擎工作过程中,该目标计算节点关联的调度节点保持对输入缓冲区资源利用状态的监控,以保持对目标计算节点处理跨节点交互数据的效率进行监控。示例性的,在上述示例中,资源利用状态可以是内存利用状态,如内存利用率。
S520、根据输入缓冲区的资源利用状态识别到资源不足状态时,则确定目标计算节点的上游计算节点。
其中,资源不足状态是指输入缓冲区的硬件资源不足,如内存剩余不足,出现存放在其中的跨节点交互数据即将溢出的情况,资源不足状态一般是由于上下游处理能力差异导致的资源浪费,例如,上游负载过高,导致输入缓冲区长时间占用资源。上游计算节点是指向目标计算节点发送交互数据的计算节点,按照数据的流向,上游计算节点中的数据流向目标计算节点,即目标计算节点需要对上游计算节点中的数据进行处理。示例性的,上游计算节点的数量为至少一个,即将所有需要发送交互数据至目标计算节点的计算节点确定为上游计算节点。
具体的,调度节点在监控输入缓冲区的资源利用状态时,发现输入缓冲区的资源存在不足的状态,则根据交互数据的流向确定向目标计算节点发送交互数据的计算节点为上游计算节点。示例性的,上游计算节点的确定也可以通过预先建立映射关系,即在向各计算节点下发执行任务时,根据任务的执行情况,确定与目标计算节点存在数据交互的计算节点,并将需要往目标计算节点发送数据的节点确定为目标计算节点的上游计算节点,并建立映射关系,以便后续可以根据该映射关系直接确定上游计算节点。
在本实施例的另一个可选实现方式中,资源利用状态包括资源利用率,资源不足状态是指输入缓冲区的资源利用率大于第一预设资源利用阈值。
具体的,资源利用状态用于表征输入缓冲区的资源使用情况,可以用资源利用率进行表示,即用当前使用资源值与输入缓冲区的全部资源值的比例进行表示。例如资源可以指内存,则资源利用率为内存利用率,用当前输入缓冲区的使用内存和输入缓冲区的全部内存的比例对输入缓冲区的资源利用状态进行表示。
资源不足状态是指输入缓冲区的当前资源剩余不足,通过资源利用率进行表征时表现为当输入缓冲区的资源利用率大于第一预设资源利用阈值时,确定当前资源剩余不足,处于资源不足状态。示例性的,资源利用率为内存利用率时,调度节点监控目标计算节点中输入缓冲区的内存利用率,当内存利用率大于第一预设资源利用阈值时,则表示输入缓冲区内存即将满,存在溢出风险,确定识别到资源不足状态。其中,第一预设资源利用阈值可以根据实际情况进行设置,在此并不限制,例如设置为95%,即当输入缓冲区的内存使用超过95%时,确定为资源不足状态。
通过资源利用率对资源利用状态进行表征,实现数字化精准确定资源不足状态,提高对缓冲区交互数据存储情况确定的准确度,进而提高跨节点数据交互的效率,避免出现缓冲区资源不足造成的额外资源开销,导致资源浪费。
S530、控制上游计算节点向目标计算节点写入数据的并行度。
其中,写入数据的并行度是指并行写入数据的最大数目,即上游计算节点向目标计算节点并行发送数据的最大值。
具体的,由于上游计算节点中产生的数据需要发送至目标计算节点,目标计算节点将上游计算节点发送来的交互数据存储在输入缓冲区中,由输入缓冲区发送至目标计算节点中的各执行任务中,被目标计算节点中的任务进行消费处理。若目标计算节点的输入缓冲区处于资源不足状态,则表示目标计算节点中执行任务对交互数据的消费速度小于输入缓冲区接收交互数据的速度,由于目标计算节点中执行任务对交互数据的消费速度有限,因此需要控制输入缓冲区接收交互数据的速度以达到减轻输入缓冲区资源不足的问题,避免出现输入缓冲区内存溢出导致的额外内存开销的现象。输入缓冲区接收交互数据的速度大部分取决于上游计算节点向目标计算节点发送数据的速度,因此通过控制上游节点向目标计算节点写入数据的并行度可以控制输入缓冲区接收交互数据的速度,以控制目标计算节点中输入缓冲区的资源利用状态。
示例性的,若目标计算节点存在至少两个上游计算节点,则根据各上游计算节点与目标计算节点之间的原始写入数据并行度进行调整。例如,确定原始写入数据并行度最大的上游计算节点为目标上游计算节点,调整目标上游计算节点向目标计算节点写入数据的并行度,并行度具体的调整范围可以根据资源利用率的具体数值进行确定,或者根据经验值进行确定。
示例性的,如图3所示为输入缓冲区、输出缓冲区及任务并发度的调整示意图,当调度节点监控到计算节点1中输入缓冲区的资源利用率大于第一预设资源利用阈值时,则确定计算节点1的上游计算节点为计算节点2,调整计算节点2向计算节点1写入数据的并行度,表现在图3中为将计算节点2输出缓冲区与计算节点1输入缓冲区的实线连接改为虚线连接,即降低计算节点2并行发送至计算节点1的数据最大数目,等待task1对输入缓冲区的数据进行消费使得输入缓冲区的资源充足后,重新调整计算节点2向计算节点1写入数据的并行度。例如,当监控到输入缓冲区的资源利用率达到第三预设资源利用阈值时,则恢复上游计算节点向目标计算节点写入数据的并行度。
在本实施例的另一个可选实现方式中,S530,包括:
调整上游计算节点中的输出缓冲区与目标计算节点中的输入缓冲区之间进行网络传输的网络连接并行度;其中,上游计算节点中的输出缓冲区为在上游计算节点中预先划分出的数据存储区域,用于存储上游计算节点待发送至其他计算节点的交互数据;调整后的网络连接并行度小于调整前的网络连接并行度。
由于输入缓冲区资源利用不足产生额外开销时大多是由于网络上的消耗造成的,并且由于上游计算节点和下游目标计算节点之间跨节点的数据交互是由上游计算节点的输出缓冲区发送至目标计算节点的输入缓冲区,因此通过控制上游节点向目标计算节点写入数据的并行度可以控制输入缓冲区接收交互数据的速度时,可以采取降低上游计算节点中的输出缓冲区与目标计算节点中的输入缓冲区之间进行网络传输的网络连接并行度的方式来控制输入缓冲区接收交互数据的速度,最终达到降低目标缓冲区中资源利用状态的结果。
通过控制网络传输的网络连接并行度来控制上游计算节点向目标计算节点写入数据的并行度,实现了从根据产生原因上解决跨节点数据交互可能带来的资源浪费问题,以避免负载波动明显时带来的缓冲区资源长时间占用,提高跨节点数据交互的效率。
本实施例的方案,通过对计算节点中输入缓冲区资源利用状态的监控,实现对计算节点接收跨节点交互数据效率的监控,并根据监控情况调整上游计算节点发送数据任务的并行度,以及时调整输入缓冲区对交互数据接收的情况,避免因上下游处理数据能力差异导致输入缓冲区长时间占用资源,发生数据处理停止并占用额外内存的现象,提高跨节点数据交互的效率,增加网络资源共享公平性。
图6是根据本公开实施例的一种任务调度装置的结构示意图,该装置可以执行本公开任一实施例中涉及到的任务调度方法;参考图6,任务调度装置600,包括:缓冲区资源确定模块610以及执行任务调整模块620。
缓冲区资源确定模块610,用于获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
执行任务调整模块620,用于根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。
本实施例的方案,通过对计算节点中用于存储与其他计算节点交互的数据输出缓冲区的资源利用状态的监控,实现对跨节点交互数据的监控,以避免跨节点数据交互产生的额外开销,提高跨节点数据交互的效率。
在本实施例的一个可选实现方式中,所述输出缓冲区用于存储所述目标计算节点待发送至其他计算节点的交互数据;
执行任务调整模块,包括输出调整子模块,具体包括:
任务执行信息确定单元,用于根据所述输出缓冲区的资源利用状态识别到资源不足状态时,则确定所述目标计算节点中正在执行的任务的执行信息;
输出任务调整单元,用于根据所述执行信息调整所述目标计算节点中执行任务的并行度。
在本实施例的一个可选实现方式中,输出任务调整单元,具体包括:
目标任务确定子单元,用于根据所述执行信息确定所述目标计算节点中的目标任务;
数据量降低子单元,用于降低所述目标任务的处理数据量。
在本实施例的一个可选实现方式中,所述执行信息包括如下至少一项:执行启动时间、处理数据量和资源使用率;
目标任务确定子单元,执行如下至少一项:
根据所述执行启动时间的数值对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述处理数据量对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述资源使用率对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务。
在本实施例的一个可选实现方式中,所述资源利用状态包括资源利用率,所述资源不足状态是指所述输出缓冲区的资源利用率大于预设资源利用阈值。
在本实施例的一个可选实现方式中,所述装置的执行主体为分布式交互式分析引擎中的调度节点,所述分布式交互式分析引擎包括调度节点和至少两个计算节点,所述计算节点用于并行执行所述分布式交互式分析引擎中的任务。
在本实施例的一个可选实现方式中,所述装置还包括输入缓冲区模块,包括:
缓冲区资源确定子模块,用于获取目标计算节点中输入缓冲区的资源利用状态;其中,所述输入缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
执行任务调整子模块,用于根据所述输入缓冲区的所述资源利用状态,并按照预设调度策略调整其他计算节点中所执行任务的并行度。
在本实施例的一个可选实现方式中,所述输入缓冲区用于存储所述目标计算节点所接收的其他计算节点发送的交互数据;
执行任务调整子模块,具体包括:
上游计算节点确定单元,用于根据所述输入缓冲区的资源利用状态识别到资源不足状态时,则确定所述目标计算节点的上游计算节点;
输入任务调整单元,用于控制所述上游计算节点向所述目标计算节点写入数据的并行度。
在本实施例的一个可选实现方式中,输入任务调整单元,具体用于:
降低所述上游计算节点中的输出缓冲区与所述目标计算节点中的输入缓冲区之间进行网络传输的网络连接并行度;其中,所述上游计算节点中的输出缓冲区用于存储所述上游计算节点待发送至其他计算节点的交互数据。
上述任务调度装置可执行本公开任意实施例所提供的任务调度方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的任务调度方法。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如任务调度方法。例如,在一些实施例中,任务调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的任务调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法任务调度。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (15)
1.一种任务调度方法,包括:
获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。
2.根据权利要求1所述的方法,其中,所述输出缓冲区用于存储所述目标计算节点待发送至其他计算节点的交互数据;
根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度,包括:
根据所述输出缓冲区的资源利用状态识别到资源不足状态时,则确定所述目标计算节点中正在执行的任务的执行信息;
根据所述执行信息调整所述目标计算节点中执行任务的并行度。
3.根据权利要求2所述的方法,其中,根据所述执行信息调整所述目标计算节点中执行任务的并行度,包括:
根据所述执行信息确定所述目标计算节点中的目标任务;
降低所述目标任务的处理数据量。
4.根据权利要求3所述的方法,其中,所述执行信息包括如下至少一项:执行启动时间、处理数据量和资源使用率;
根据所述执行信息确定所述目标计算节点中的目标任务,包括如下至少一项:
根据所述执行启动时间的数值对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述处理数据量对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述资源使用率对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务。
5.根据权利要求2所述的方法,其中,所述资源利用状态包括资源利用率,所述资源不足状态是指所述输出缓冲区的资源利用率大于预设资源利用阈值。
6.根据权利要求1所述的方法,其中,所述方法的执行主体为分布式交互式分析引擎中的调度节点,所述分布式交互式分析引擎包括调度节点和至少两个计算节点,所述计算节点用于并行执行所述分布式交互式分析引擎中的任务。
7.一种任务调度装置,包括:
缓冲区资源确定模块,用于获取目标计算节点中输出缓冲区的资源利用状态;其中,所述输出缓冲区为在目标计算节点中预先划分出的数据存储区域,用于存储与其他计算节点交互的数据;
执行任务调整模块,用于根据所述输出缓冲区的所述资源利用状态,并按照预设调度策略调整所述目标计算节点中所执行任务的并行度。
8.根据权利要求7所述的装置,其中,所述输出缓冲区用于存储所述目标计算节点待发送至其他计算节点的交互数据;
执行任务调整模块,包括输出调整子模块,具体包括:
任务执行信息确定单元,用于根据所述输出缓冲区的资源利用状态识别到资源不足状态时,则确定所述目标计算节点中正在执行的任务的执行信息;
输出任务调整单元,用于根据所述执行信息调整所述目标计算节点中执行任务的并行度。
9.根据权利要求8所述的装置,其中,输出任务调整单元,具体包括:
目标任务确定子单元,用于根据所述执行信息确定所述目标计算节点中的目标任务;
数据量降低子单元,用于降低所述目标任务的处理数据量。
10.根据权利要求9所述的装置,其中,所述执行信息包括如下至少一项:执行启动时间、处理数据量和资源使用率;
目标任务确定子单元,执行如下至少一项:
根据所述执行启动时间的数值对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述处理数据量对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务;
根据所述资源使用率对所述目标计算节点中正在执行的任务进行降序排序,确定排序结果中位于首位的任务为目标任务。
11.根据权利要求8所述的装置,其中,所述资源利用状态包括资源利用率,所述资源不足状态是指所述输出缓冲区的资源利用率大于预设资源利用阈值。
12.根据权利要求7所述的装置,其中,所述装置的执行主体为分布式交互式分析引擎中的调度节点,所述分布式交互式分析引擎包括调度节点和至少两个计算节点,所述计算节点用于并行执行所述分布式交互式分析引擎中的任务。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现根据权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242948.4A CN113971083A (zh) | 2021-10-25 | 2021-10-25 | 任务调度方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242948.4A CN113971083A (zh) | 2021-10-25 | 2021-10-25 | 任务调度方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113971083A true CN113971083A (zh) | 2022-01-25 |
Family
ID=79588218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111242948.4A Pending CN113971083A (zh) | 2021-10-25 | 2021-10-25 | 任务调度方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113971083A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627621A (zh) * | 2023-07-25 | 2023-08-22 | 北京大学 | 服务器无感知计算中键值张量的传输方法、系统和装置 |
-
2021
- 2021-10-25 CN CN202111242948.4A patent/CN113971083A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627621A (zh) * | 2023-07-25 | 2023-08-22 | 北京大学 | 服务器无感知计算中键值张量的传输方法、系统和装置 |
CN116627621B (zh) * | 2023-07-25 | 2023-10-20 | 北京大学 | 服务器无感知计算中键值张量的传输方法、系统和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
JP2016528626A (ja) | 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング | |
JP2015146154A (ja) | ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム | |
CN111738446A (zh) | 深度学习推理引擎的调度方法、装置、设备和介质 | |
CN111459645B (zh) | 一种任务调度方法、装置和电子设备 | |
US20200272510A1 (en) | Server resource balancing using a suspend-resume strategy | |
CN115794337A (zh) | 资源调度方法、装置、云平台、设备及存储介质 | |
US11307898B2 (en) | Server resource balancing using a dynamic-sharing strategy | |
CN111782147A (zh) | 用于集群扩缩容的方法和装置 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN110688229B (zh) | 任务处理方法和装置 | |
CN113971083A (zh) | 任务调度方法、装置、设备、介质及产品 | |
CN113971082A (zh) | 任务调度方法、装置、设备、介质及产品 | |
CN114490048A (zh) | 任务执行方法、装置、电子设备及计算机存储介质 | |
CN113986497A (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN117472471A (zh) | 一种应用程序配置方法、装置、设备及存储介质 | |
CN116048791B (zh) | 一种测试节点的调控方法、装置、电子设备以及存储介质 | |
CN112887407A (zh) | 用于分布式集群的作业流量控制方法和装置 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN115373860A (zh) | Gpu任务的调度方法、装置、设备和存储介质 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN114500398A (zh) | 一种处理器协同加速的方法、装置、设备及介质 | |
CN114661431A (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 |