CN109857539A - 资源调度方法和终端 - Google Patents
资源调度方法和终端 Download PDFInfo
- Publication number
- CN109857539A CN109857539A CN201711237086.XA CN201711237086A CN109857539A CN 109857539 A CN109857539 A CN 109857539A CN 201711237086 A CN201711237086 A CN 201711237086A CN 109857539 A CN109857539 A CN 109857539A
- Authority
- CN
- China
- Prior art keywords
- priority
- strategy
- preset schedule
- scheduling strategy
- priority scheduling
- 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
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种资源调度方法和终端。其中,该方法包括:将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作build job;在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。本发明解决了由于现有技术中应用线程在实时调度策略和公平调度策略过程中线程分配不均,无法满足CPU需求的技术问题。
Description
技术领域
本发明涉及互联网技术应用领域,具体而言,涉及一种资源调度方法和终端。
背景技术
在linux系统内核linux kernel中,存在两种调度策略(sched_class):sched_rt和sched_fair。众所周知,在对称多处理(Symmetrical Multi-Processing,简称SMP)的体系架构下,每个逻辑CPU在kernel中对应一个任务队列rq(run queue),其中,rq是为每个CPU一个就绪队列,用于将本地进程在本地队列上排序的运行队列。sched_rt调度策略对应为rq下的rt_rq,而sched_fair调度策略对应为rq下面的cfs_rq。Linux kernel从rq中选择下一个被调度的任务task时,如果rt_rq不为空,则始终选择rt_rq中的task进行调度。也就是说,在单个CPU上,sched_rt调度策略的任务task被调度时,总是优先于sched_fair调度策略,如图1所示,图1是现有技术中rq的调度示意图,其中,rt_rq为实时进程设计的就绪队列,用于实时调度类准备的就绪队列;cfs_rq是根据各个进程的权重分配运行时间,即,由于调度器总是选择虚拟时钟跑的最慢的那个进程来执行,为了区别不同优先级的进程,优先级高的进程时钟增长的慢,以至于该进程能够得到更多的运行机会。
利用linux sched_rt的调度特性,将分析型数据库(Analytic DatabaseService,简称ADS)分布式计算引擎的进程设置为sched_rt调度策略,将ADS离线build job设置为sched_fair调度策略。可以达到在ADS分布式计算引擎不消耗CPU资源的时候,离线build job充分利用idle的CPU资源。而当ADS分布式计算引擎接受到查询请求,需要CPU资源的情况下,由于sched_rt调度策略的优先级高于sched_fair,可以保证ADS分布式计算引擎在于离线build job竞争的情况下,优先得到CPU资源。
Linux kernel的有三种load balance方式:1)唤醒时load balance;2)周期性load balance;3)空闲idle load balance。
其中sched_rt策略,仅支持第一种唤醒时load balance。唤醒时load balance的触发条件是线程由休眠状态进入运行状态,kernel不会在线程运行过程中,产生负载不均衡,而进行及时的调整。显然,运行在sched_rt的策略下,CPU之间的负载均衡效果是相当差的。
而sched_fair策略,支持上述三种load balance策略,在sched_fair策略的内部,其load balance效果是较好的。但sched_fair调度策略的load balance与sched_rt的loadbalance互相不感知。当两者混合运行的情况下,sched_fair调度策略,不一定能利用上sched_rt调度策略未使用的CPU。sched_fair调度策略与sched_rt调度策略整体无法达到最佳的load balance状态,如图2所示,图2是现有技术中load balance的状态示意图。
除此之外,sched_rt调度策略支持FIFO/Round-robin两种调度策略。而不管哪种策略,线程之间均不具备公平性,且极易造成IO线程这样的非CPU消耗型线程饥饿。例如,在sched_rt调度策略下,IO线程被唤醒时,总要从rt_rq的队尾重新排队,且当前正在运行的线程的时间片较长,更加剧了IO线程在rt_rq中的等待时间。而在sched_fair调度策略下,由于被唤醒的IO线程的vruntime较小,往往入队的位置,靠近队首,往往很快便可得到机会被调度。
另外,应用线程运行在sched_rt调度策略上,对于运行在sched_fair的调度策略上的kernel内部线程也是一种侵害。由于sched_rt的应用线程存在,sched_fair的kernel内部线程,在需要CPU的时候,无法得到及时的满足,甚至是长时间无法得到满足。这对整个linux系统的运行,带来了一个极大的不稳定因素,如图3所示,图3是现有技术中在sched_rt调度策略存在的问题的示意图。
针对上述由于现有技术中应用线程在实时调度策略和公平调度策略过程中线程分配不均,无法满足CPU需求的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种资源调度方法和终端,以至少解决由于现有技术中应用线程在实时调度策略和公平调度策略过程中线程分配不均,无法满足CPU需求的技术问题。
根据本发明实施例的一个方面,提供了一种资源调度方法,包括:将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线build job;在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
可选的,通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡。
进一步地,可选的,依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡包括:在预设调度策略和优先调度策略混合执行负载均衡的情况下,根据预设调度策略的优先级大于优先调度策略的优先级,将预设调度策略的线程分别分配至每个中央处理器中。
可选的,通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:在优先调度策略执行负载均衡的情况下,判断预设调度策略的优选级是否大于优先调度策略;在判断结果为是的情况下,计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程。
进一步地,可选的,依据加载权重分配优先调度策略的线程包括:依据加载权重获取空闲中央处理器;将优先调度策略的线程分配至空闲中央处理器。
可选的,通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程。
进一步地,可选的,依据加载权重分配优先调度策略的线程包括:调整加载权重;依据调整后的加载权重,将优先调度策略的线程分配至空闲中央处理器。
可选的,通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:将优先调度策略的优先级进行调整,得到优先调度策略大于预设调度策略中公平调度策略的优先级;通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
可选的,通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:在预设调度策略的实时调度策略的优先级和公平调度策略的优先级之间添加公平优先策略集合;通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
根据本发明实施例的一个方面,提供了另一种资源调度方法,应用于分析型数据库的离线计算引擎的资源调度中,该方法包括:确定离线计算引擎需要对离线任务队列进行资源分配;确定在线计算引擎正在运行的在线任务队列,以及在线任务队列运行未占用的计算节点的CPU资源;将未被占用的计算节点的CPU资源分配给离线任务队列。
可选的,确定离线计算引擎需要对离线任务队列进行资源分配包括:依据预设调度策略和优先调度策略的优先级的高低顺序,依次进行资源分配;其中,在预设调度策略和优先调度策略混合执行资源分配的情况下,根据预设调度策略的优先级大于优先调度策略的优先级,将预设调度策略的线程分别分配至每个中央处理器中。
可选的,将未被占用的计算节点的CPU资源分配给离线任务队列包括:在优先调度策略执行资源分配的情况下,判断预设调度策略的优选级是否大于优先调度策略;在判断结果为是的情况下,计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程;其中,依据加载权重获取空闲中央处理器;并将优先调度策略的线程分配至空闲中央处理器。
根据本发明实施例的另一方面,还提供了一种终端,包括:存储器和处理器,其中,存储器,用于存储处理器执行过程中的程序;处理器,用于依据程序执行将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作;并在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
根据本发明实施例的又一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述资源调度方法。
根据本发明实施例的又一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述资源调度方法。
在本发明实施例中,通过将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线build job;在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡,达到了依据CPU需求均匀分配线程资源的目的,从而实现了满足CPU需求的技术效果,进而解决了由于现有技术中应用线程在实时调度策略和公平调度策略过程中线程分配不均,无法满足CPU需求的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中rq的调度示意图;
图2是现有技术中load balance的状态示意图;
图3是现有技术中在sched_rt调度策略存在的问题的示意图;
图4是本发明实施例的一种资源调度方法的计算机终端的硬件结构框图;
图5是根据本发明实施例一的资源调度方法的流程图;
图6a是现有技术中sched_fair与sched_fair_prio混合在一起load balance时现有技术的缺陷的示意图;
图6b是根据本发明实施例一的资源调度方法中sched_fair与sched_fair_prio混合在一起load balance时CPU被公平调度策略均匀分配的示意图;
图6c是根据本发明实施例一的资源调度方法中一种当sched_fair_prio在loadbalance时的示意图;
图6d是根据本发明实施例一的资源调度方法中另一种当sched_fair_prio在loadbalance时的示意图;
图6e是根据本发明实施例一的资源调度方法中优先调度策略出饥饿状态的示意图;
图6f是根据本发明实施例一的资源调度方法中优先调度策略迁移线程的示意图;
图7是根据本发明实施例二的终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,还提供了一种资源调度方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图4是本发明实施例的一种资源调度方法的计算机终端的硬件结构框图。如图4所示,计算机终端40可以包括一个或多个(图中仅示出一个)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器404、以及用于通信功能的传输模块406。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端40还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器404可用于存储应用软件的软件程序以及模块,如本发明实施例中的资源调度方法对应的程序指令/模块,处理器402通过运行存储在存储器404内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的资源调度方法。存储器404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器404可进一步包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端40。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端40的通信供应商提供的无线网络。在一个实例中,传输装置406包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置406可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图5所示的资源调度方法。图5是根据本发明实施例一的资源调度方法的流程图。
步骤S502,将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作build job;
步骤S504,在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
具体的,结合步骤S502至步骤S504,本申请提供的资源调度方法中从新增sched_fair_prio调度策略,自顶向下的分层load balance优化两个方面,弥补了原有sched_rt/sched_fair调度策略的四个不足之处。真正意义上做到了让ADS分布式计算引擎具有绝对优先级的同时,让其与ADS离线build job之间在最大化共享CPU资源。
在原有linux的sched_rt,sched_fair调度策略之后,添加sched_fair_prio调度策略。各调度策略的优先级顺序依次为:sched_rt大于sched_fair大于sched_fair_prio。在sched_fair_prio调度策略内部具备与sched_fair调度策略相同的完全公平调度算法,以此解决sched_rt调度策略内部的不公平性。而本申请提供的资源调度方法中在应用时,ADS分布式计算引擎会使用sched_fair调度策略,ADS离线build job会使用sched_fair_prio调度策略。避免了应用线程运行在sched_rt调度策略下,对运行在sched_fair调度策略下的kernel线程造成侵害。
在load balance方面,sched_fair_prio调度策略也同时支持1)唤醒时loadbalance;2)周期性load balance;3)idle load balance三种load balance策略。如此,解决了sched_rt调度策略内部load balance效果差的问题。于此同时,实现了自顶向下分层的load balance策略算法:
一.对于不同调度策略,按照优先级由高到低的顺序,依次进行load balance操作。
二.当前调度策略进行load balance时,需要考虑当前调度策略的线程以及优先级高于当前调度策略的线程,计算每个rq的load weight。
三.高优先级的调度策略计算rq的load weight值时,其权重高于低优先级。
在本发明实施例中,通过将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线build job;在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡,达到了依据CPU需求均匀分配线程资源的目的,从而实现了满足CPU需求的技术效果,进而解决了由于现有技术中应用线程在实时调度策略和公平调度策略过程中线程分配不均,无法满足CPU需求的技术问题。
具体的,基于上述load balance策略的描述,有效解决了如下三类场景,从而在保证sched_fair对sched_fair_prio绝对优先级的情况下,最大化提升了sched_fair_prio线程的CPU利用率:
情景一:sched_fair与sched_fair_prio混合在一起load balance。
可选的,步骤S504中通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:
Step1,依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡。
进一步地,可选的,步骤S504中的Step1中依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡包括:
步骤A,在预设调度策略和优先调度策略混合执行负载均衡的情况下,根据预设调度策略的优先级大于优先调度策略的优先级,将预设调度策略的线程分别分配至每个中央处理器中。
具体的,sched_fair与sched_fair_prio混合在一起load balance,无法导致sched_fair调度策略的线程打匀至每个CPU(如图6a所示,图6a是现有技术中sched_fair与sched_fair_prio混合在一起load balance时现有技术的缺陷的示意图)。基于算法第一条,SCHED_FAIR在load balance时,只需要考虑sched_fair调度策略的线程。因而,SCHED_FAIR的线程,将被打散至每一个CPU(如图6b所示,图6b是根据本发明实施例一的资源调度方法中sched_fair与sched_fair_prio混合在一起load balance时CPU被公平调度策略均匀分配的示意图)。
情景二:当sched_fair_prio在load balance时,需要考虑sched_fair的线程的load weight。
可选的,步骤S504中通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:
Step1,在优先调度策略执行负载均衡的情况下,判断预设调度策略的优选级是否大于优先调度策略;
Step2,在判断结果为是的情况下,计算预设调度策略中每个任务队列的加载权重;
Step3,依据加载权重分配优先调度策略的线程。
进一步地,可选的,步骤S504中的Step3中依据加载权重分配优先调度策略的线程包括:
步骤A,依据加载权重获取空闲中央处理器;
步骤B,将优先调度策略的线程分配至空闲中央处理器。
具体的,只做分层load balance时,无法避免sched_fair_prio在有idle CPU的情况下,出现饥饿等待。因为如果sched_fair_prio不感知sched_fair的负载情况(如图6c所示,图6c是根据本发明实施例一的资源调度方法中一种当sched_fair_prio在loadbalance时的示意图),sched_fair_prio在load balance时,所有CPU对其来说,均是“idle”状态。因而并不会优先将sched_fair_prio线程往4号CPU迁移,而4号CPU其实是真正意义上的idle CPU。基于算法第二条,当sched_fair_prio在load balance时,需要考虑sched_fair的线程的load weight。因而,只有4号CPU才是idle CPU,从而将sched_fair_prio线程优先往4号CPU迁移。(如图6d所示,图6d是根据本发明实施例一的资源调度方法中另一种当sched_fair_prio在load balance时的示意图)
情景三:sched_fair线程与sched_fair_prio线程在load balance。
可选的,步骤S504中通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:
Step1,计算预设调度策略中每个任务队列的加载权重;
Step2,依据加载权重分配优先调度策略的线程。
进一步地,可选的,步骤S504中Step2的依据加载权重分配优先调度策略的线程包括:
步骤A,调整加载权重;
步骤B,依据调整后的加载权重,将优先调度策略的线程分配至空闲中央处理器。
具体的,由于sched_fair对于sched_fair_prio具有绝对优先级的特性,因而sched_fair线程与sched_fair_prio线程在load balance时,应该具备不同的loadweight。Sched_fair_prio线程排在sched_fair线程后得到CPU资源的机会要远小于排在sched_fair_prio线程后面,甚至是出现饥饿(如图6e所示,图6e是根据本发明实施例一的资源调度方法中优先调度策略出饥饿状态的示意图)。而通过算法第三条,调节sched_fair与sched_fair_prio线程的load weight,可以让sched_fair_prio线程,尽量避开sched_fair线程,从而有较大的机会得到CPU资源。如图6f所示,图6f是根据本发明实施例一的资源调度方法中优先调度策略迁移线程的示意图,调整sched_fair的load weight为10240,sched_fair_prio的load weight为1024后的效果。
可选的,步骤S504中通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:
Step1,将优先调度策略的优先级进行调整,得到优先调度策略大于预设调度策略中公平调度策略的优先级;
Step2,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
可选的,步骤S504中通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:
Step1,在预设调度策略的实时调度策略的优先级和公平调度策略的优先级之间添加公平优先策略集合;
Step2,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
具体的,除了情景一至情景三这三种实现方式外,本申请资源调度方法还包括:将sched_rt调度策略内部改造为完全公平调度算法;或,
将sched_fair_prio调度策略优先级提前至sched_fair调度策略,sched_rt->sched_fair_prio->sched_fair;或,
在sched_rt->sched_fair这种调度策略顺序之间,加插多于的一种调度策略,sched_rt->sched_fair_prio1->…->sched_fair->sched_fair_prio2->…->sched_fair_prio_n。
综上,本申请提供的资源调度系统中新增sched_fair_prio调度策略,在利用linux kernel sched_class之间的绝对优先级特性的同时,保证了sched_fair_prio调度策略内部的公平性。
并且提出了自顶向下的分层load balance优化算法,在保证CPU隔离的情况下,最大化CPU资源共享:对于不同调度策略,按照优先级由高到低的顺序,依次进行loadbalance操作。或,当前调度策略进行load balance时,需要考虑当前调度策略的线程以及优先级高于当前调度策略的线程,计算每个rq的load weight。或,高优先级的调度策略计算rq的load weight值时,其权重高于低优先级。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的资源调度方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例的另一方面,还提供了一种终端,图7是根据本发明实施例二的终端的结构示意图,如图7所示,该终端包括:存储器72和处理器74,其中,存储器72,用于存储处理器执行过程中的程序;处理器74,用于依据程序执行将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作创建工作;并在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
实施例3
根据本发明实施例的一个方面,提供了另一种资源调度方法,应用于分析型数据库的离线计算引擎的资源调度中,该方法包括:确定离线计算引擎需要对离线任务队列进行资源分配;确定在线计算引擎正在运行的在线任务队列,以及在线任务队列运行未占用的计算节点的CPU资源;将未被占用的计算节点的CPU资源分配给离线任务队列。
可选的,确定离线计算引擎需要对离线任务队列进行资源分配包括:依据预设调度策略和优先调度策略的优先级的高低顺序,依次进行资源分配;其中,在预设调度策略和优先调度策略混合执行资源分配的情况下,根据预设调度策略的优先级大于优先调度策略的优先级,将预设调度策略的线程分别分配至每个中央处理器中。
可选的,将未被占用的计算节点的CPU资源分配给离线任务队列包括:在优先调度策略执行资源分配的情况下,判断预设调度策略的优选级是否大于优先调度策略;在判断结果为是的情况下,计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程;其中,依据加载权重获取空闲中央处理器;并将优先调度策略的线程分配至空闲中央处理器。
实施例4
根据本发明实施例的又一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例1中的资源调度方法。
实施例5
根据本发明实施例的又一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例1中的资源调度方法。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的资源调度方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作build job;在执行负载均衡的过程中,通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据预设调度策略和优先调度策略的优先级的高低顺序,依次执行负载均衡包括:在预设调度策略和优先调度策略混合执行负载均衡的情况下,根据预设调度策略的优先级大于优先调度策略的优先级,将预设调度策略的线程分别分配至每个中央处理器中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:在优先调度策略执行负载均衡的情况下,判断预设调度策略的优选级是否大于优先调度策略;在判断结果为是的情况下,计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据加载权重分配优先调度策略的线程包括:依据加载权重获取空闲中央处理器;将优先调度策略的线程分配至空闲中央处理器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:计算预设调度策略中每个任务队列的加载权重;依据加载权重分配优先调度策略的线程。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据加载权重分配优先调度策略的线程包括:调整加载权重;依据调整后的加载权重,将优先调度策略的线程分配至空闲中央处理器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:将优先调度策略的优先级进行调整,得到优先调度策略大于预设调度策略中公平调度策略的优先级;通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过预设调度策略和优先调度策略的优先级关系执行负载均衡包括:在预设调度策略的实时调度策略的优先级和公平调度策略的优先级之间添加公平优先策略集合;通过预设调度策略和优先调度策略的优先级关系执行负载均衡。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种资源调度方法,其特征在于,包括:
将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作bui ld job;
在执行负载均衡的过程中,通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡。
2.根据权利要求1所述的资源调度方法,其特征在于,所述通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡包括:
依据所述预设调度策略和所述优先调度策略的优先级的高低顺序,依次执行所述负载均衡。
3.根据权利要求2所述的资源调度方法,其特征在于,所述依据所述预设调度策略和所述优先调度策略的优先级的高低顺序,依次执行所述负载均衡包括:
在所述预设调度策略和所述优先调度策略混合执行所述负载均衡的情况下,根据所述预设调度策略的优先级大于所述优先调度策略的优先级,将所述预设调度策略的线程分别分配至每个中央处理器中。
4.根据权利要求1所述的资源调度方法,其特征在于,所述通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡包括:
在所述优先调度策略执行负载均衡的情况下,判断所述预设调度策略的优选级是否大于所述优先调度策略;
在判断结果为是的情况下,计算所述预设调度策略中每个任务队列的加载权重;
依据所述加载权重分配所述优先调度策略的线程。
5.根据权利要求4所述的资源调度方法,其特征在于,所述依据所述加载权重分配所述优先调度策略的线程包括:
依据所述加载权重获取空闲中央处理器;
将所述优先调度策略的线程分配至所述空闲中央处理器。
6.根据权利要求1所述的资源调度方法,其特征在于,所述通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡包括:
计算所述预设调度策略中每个任务队列的加载权重;
依据所述加载权重分配所述优先调度策略的线程。
7.根据权利要求6所述的资源调度方法,其特征在于,所述依据所述加载权重分配所述优先调度策略的线程包括:
调整所述加载权重;
依据调整后的所述加载权重,将所述优先调度策略的线程分配至空闲中央处理器。
8.根据权利要求1所述的资源调度方法,其特征在于,所述通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡包括:
将所述优先调度策略的优先级进行调整,得到所述优先调度策略大于所述预设调度策略中公平调度策略的优先级;
通过所述预设调度策略和所述优先调度策略的优先级关系执行所述负载均衡。
9.根据权利要求1所述的资源调度方法,其特征在于,所述通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡包括:
在所述预设调度策略的实时调度策略的优先级和公平调度策略的优先级之间添加所述公平优先策略集合;
通过所述预设调度策略和所述优先调度策略的优先级关系执行所述负载均衡。
10.一种资源调度方法,其特征在于,应用于分析型数据库的离线计算引擎的资源调度中,所述方法包括:
确定离线计算引擎需要对离线任务队列进行资源分配;
确定在线计算引擎正在运行的在线任务队列,以及在线任务队列运行未占用的计算节点的CPU资源;
将未被占用的计算节点的CPU资源分配给离线任务队列。
11.根据权利要求10所述的资源调度方法,其特征在于,所述确定离线计算引擎需要对离线任务队列进行资源分配包括:
依据预设调度策略和优先调度策略的优先级的高低顺序,依次进行资源分配;
其中,在所述预设调度策略和所述优先调度策略混合执行所述资源分配的情况下,根据所述预设调度策略的优先级大于所述优先调度策略的优先级,将所述预设调度策略的线程分别分配至每个中央处理器中。
12.根据权利要求10所述的资源调度方法,其特征在于,所述将未被占用的计算节点的CPU资源分配给离线任务队列包括:
在优先调度策略执行资源分配的情况下,判断预设调度策略的优选级是否大于所述优先调度策略;
在判断结果为是的情况下,计算所述预设调度策略中每个任务队列的加载权重;
依据所述加载权重分配所述优先调度策略的线程;
其中,依据所述加载权重获取空闲中央处理器;并将所述优先调度策略的线程分配至所述空闲中央处理器。
13.一种终端,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储所述处理器执行过程中的程序;
所述处理器,用于依据所述程序执行将预设调度策略配置于分布式分析数据库计算引擎,并将预先获取到的优先调度策略配置于分布式分析数据库离线创建工作;并在执行负载均衡的过程中,通过所述预设调度策略和所述优先调度策略的优先级关系执行负载均衡。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1所述的资源调度方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237086.XA CN109857539B (zh) | 2017-11-30 | 2017-11-30 | 资源调度方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237086.XA CN109857539B (zh) | 2017-11-30 | 2017-11-30 | 资源调度方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857539A true CN109857539A (zh) | 2019-06-07 |
CN109857539B CN109857539B (zh) | 2022-11-15 |
Family
ID=66887968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711237086.XA Active CN109857539B (zh) | 2017-11-30 | 2017-11-30 | 资源调度方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857539B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231077A (zh) * | 2020-07-24 | 2021-01-15 | 华为技术有限公司 | 应用的调度方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740973A (zh) * | 2004-08-23 | 2006-03-01 | 中兴通讯股份有限公司 | 一种实时任务管理与调度方法 |
US20100293551A1 (en) * | 2009-05-13 | 2010-11-18 | Fujitsu Limited | Job scheduling apparatus and job scheduling method |
CN103391312A (zh) * | 2013-06-26 | 2013-11-13 | 北京奇虎科技有限公司 | 资源离线下载方法及装置 |
US20160147566A1 (en) * | 2014-11-21 | 2016-05-26 | International Business Machines Corporation | Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization |
CN105955816A (zh) * | 2016-04-15 | 2016-09-21 | 天脉聚源(北京)传媒科技有限公司 | 一种事件调度方法及装置 |
CN106534344A (zh) * | 2016-12-07 | 2017-03-22 | 高新兴科技集团股份有限公司 | 一种云平台视频处理系统及其应用方法 |
-
2017
- 2017-11-30 CN CN201711237086.XA patent/CN109857539B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740973A (zh) * | 2004-08-23 | 2006-03-01 | 中兴通讯股份有限公司 | 一种实时任务管理与调度方法 |
US20100293551A1 (en) * | 2009-05-13 | 2010-11-18 | Fujitsu Limited | Job scheduling apparatus and job scheduling method |
CN103391312A (zh) * | 2013-06-26 | 2013-11-13 | 北京奇虎科技有限公司 | 资源离线下载方法及装置 |
US20160147566A1 (en) * | 2014-11-21 | 2016-05-26 | International Business Machines Corporation | Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization |
CN105955816A (zh) * | 2016-04-15 | 2016-09-21 | 天脉聚源(北京)传媒科技有限公司 | 一种事件调度方法及装置 |
CN106534344A (zh) * | 2016-12-07 | 2017-03-22 | 高新兴科技集团股份有限公司 | 一种云平台视频处理系统及其应用方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231077A (zh) * | 2020-07-24 | 2021-01-15 | 华为技术有限公司 | 应用的调度方法及电子设备 |
CN112231077B (zh) * | 2020-07-24 | 2021-10-19 | 荣耀终端有限公司 | 应用的调度方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109857539B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720403B2 (en) | System for commitment-aware workload scheduling based on anticipated resource consumption levels | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
US8997107B2 (en) | Elastic scaling for cloud-hosted batch applications | |
CN103150213B (zh) | 负载平衡方法和装置 | |
CN103401939A (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN108494861A (zh) | 用于服务资源调配的方法、装置及电子设备 | |
CN105373426B (zh) | 一种基于Hadoop的车联网内存感知实时作业调度方法 | |
CN108984267A (zh) | 工业服务器的微内核架构控制系统及工业服务器 | |
Wang et al. | Application-aware offloading policy using SMDP in vehicular fog computing systems | |
CN109582448A (zh) | 一种面向关键度和时效性的边缘计算任务调度方法 | |
CN107370799B (zh) | 一种混合移动云环境中高能效的多用户在线计算迁移方法 | |
CN104391918A (zh) | 基于对等部署的分布式数据库查询优先级管理的实现方法 | |
CN104239154A (zh) | 一种Hadoop集群中的作业调度方法和作业调度器 | |
US11030003B2 (en) | Method and cloud management node for managing a data processing task | |
CN104917839A (zh) | 一种用于云计算环境下的负载均衡方法 | |
US10606650B2 (en) | Methods and nodes for scheduling data processing | |
CN114371926B (zh) | 一种精细化资源分配方法、装置、电子设备及介质 | |
CN109214712A (zh) | 一种订单调度方法及装置 | |
CN106407007B (zh) | 面向弹性分析流程的云资源配置优化方法 | |
CN109032769A (zh) | 一种基于容器的持续集成ci任务处理方法及装置 | |
CN109857539A (zh) | 资源调度方法和终端 | |
Chen et al. | Research on workflow scheduling algorithms in the cloud | |
CN102184124B (zh) | 任务调度方法及系统 | |
CN105955816A (zh) | 一种事件调度方法及装置 | |
CN116432938A (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 |