CN107193655B - 一种基于效用函数的面向大数据处理的公平资源调度方法 - Google Patents
一种基于效用函数的面向大数据处理的公平资源调度方法 Download PDFInfo
- Publication number
- CN107193655B CN107193655B CN201710347165.XA CN201710347165A CN107193655B CN 107193655 B CN107193655 B CN 107193655B CN 201710347165 A CN201710347165 A CN 201710347165A CN 107193655 B CN107193655 B CN 107193655B
- Authority
- CN
- China
- Prior art keywords
- job
- jobs
- time
- data processing
- utility
- 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
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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
技术领域
本发明涉及数据分析集群中的资源分配和作业调度领域,尤其涉及公平性的资源调度分配与截止时间,吞吐量,利用率等系统性能指标相结合的调度,具体涉及一种基于效用函数的面向大数据处理的公平资源调度方法。
背景技术
在大数据处理的调度算法中,公平性是最被关注的调度目标。其中,最大最小公平算法能够为各用户与作业队列之间提供很好的性能隔离,所以被很多大数据分析平台所采用。但保障公平性往往意味着系统服务质量与系统性能的下降,如何基于公平性原则提高系统的服务质量与系统性能是当前需要迫切解决的问题。随着数据分析集群的迅速发展,各种各样的作业拥有不同的截止时间(Deadline)方面的服务需求,一般来说,交互式作业和流数据作业对于截止时间的要求较高,而批处理作业由于待处理的工作量比较大,通常对于截止时间的界定比较宽松。为了保障各类作业的截止时间都能够被满足,最近截止时间优先的算法(Earliest-Deadline-First)被广泛应用在各类调度算法中。在这样一种作业调度方式下,交互式作业和流数据作业通常被优先调度,而批处理作业由于长时间获取不到系统资源产生了“饥饿”,同时,作业之间的公平性也得不到保障。所以,单纯用一个截止时间的指标不足以衡量不同作业之间轻重缓急的程度,系统的公平性效率也得不到很好的描述。
效用函数能够标识各类作业随着时间在推移过程中对于系统的重要程度的变化情况。通常,越早完成的作业对于系统产生的效用越高,越接近或超过其截止时间,作业的效用函数下降得越快。由于交互式作业和流数据作业对于截止时间的要求较高,硬性效用函数可以用来表示该类任务,在系统时间超过作业截止时间时,作业的效用瞬间下降到 0或者负数值。而批处理作业由于对于截止时间的要求比较宽松,可以采用软性效用函数,在超出作业截止时间之后也能够产生一部分系统效用。由于效用函数的上述特性,其在处理器和网络调度等领域中经常被用来取代单一的截止时间指标,各种作业的性质都能够在这个函数框架下得到灵活和准确的描述,同时,公平性调度中权重的概念也能够在效用函数中得到很好的体现。进一步考虑,作业的截止时间之所以得不到保障通常由于当前系统的负载较高,系统中的共享资源不能够满足所有作业的需求。所以,在保证系统资源分配公平性与优先调度比较紧急的作业的同时,提高系统的吞吐量和利用率是保障作业截止时间的重要途径。离线版的多资源利用率问题可以规约为NP-hard的背包问题,所以我们考虑采用在线版本的最大资源点乘法设计贪心调度算法。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于效用函数的面向大数据处理的公平资源调度方法,能在公平调度的基础上,有效地保证系统性能的隔离性,提高系统资源的利用率,减少违反服务质量保证的作业比例。
技术方案:为实现上述目的,本发明中的基于效用函数的面向大数据处理的公平资源调度方法,包括以下步骤:
步骤(1):对于数据分析集群中的每一个作业,获取其作业基本数据,所述作业基本数据包括:作业权重、有向无环图、资源需求、运行时间、截止时间和作业的时间窗口;
步骤(2):对于某一作业,根据作业的时间窗口和程序接口(API)性质确定其是否为流数据处理作业,若不是流数据处理作业,则根据运行时间与预设的阈值进行比较来判断其作业类型,运行时间小于或等于预设的阈值为交互式作业;运行时间大于预设的阈值为批处理作业;;
步骤(3):对流数据作业采用离线预约的方式进行资源分配;
步骤(4):对于其他作业,调度流数据处理作业预约之后的剩余资源。
其中,步骤(3)中对流数据作业采用离线预约的方式进行资源分配,包括以下步骤:
(31)对于所有的流数据处理作业,各自按照最大资源点乘法排列其内部任务的执行顺序;
(32)对于所有已经确定内部执行顺序的作业划分执行区间,单个作业执行区间的开始时间为上个流数据处理作业的数据输出结束时间,执行区间的结束时间为下一个流数据处理作业的数据输入开始时间,按照执行区间的由长至短依次为流数据处理作业预约资源。
其中,步骤(32)中对于执行区间长度相同的流数据处理作业,先对所有作业按照运行时间长度进行排序,先按照时间方向从前向后调度,然后从相反方向调度,如此类推反复改变时间方向直至所有流数据处理作业得到资源的预约。在每个方向上的调度方式均为:在所有待预约的作业中,按照作业运行时间的长度,依次对作业进行预约,直到达到执行区间所能允许调度的最多作业。
其中,步骤(4)中对于其他作业,调度流数据处理作业预约之后的剩余资源,包括以下步骤:
(41)根据其作业权重、运行时间和截止时间特征创建其各自的效用函数,使用当前作业调用完成的预期时间点的效用函数的值除以该作业的剩余的松弛时间求出其效用密度,松弛时间通过剩余的截止时间减去剩余的完成时间来计算,然后对效用密度按照从大到小的顺序进行排列;
用作业在当前正在系统当中运行的任务数除以作业的权重值得到作业的公平性平衡程度,并对各作业的公平性平衡程度按照从小到大的顺序进行排序;
选择符合条件的作业放入待调度作业池,所述符合条件是指对于某个作业,该作业的效用密度在所有作业中的排列次序不大于预先给定的截止时间系数值与作业总数的乘积向上取整之后的数值,且该作业的公平性平衡程度在所有作业中的排列次序不大于预先给定的公平性系数与作业总数的乘积向上取整之后的数值;
(42)在进行在线调度时,丢弃预期效用小于或等于0的失效作业,从作业池中选择满足不超出当前可分配资源条件并且资源点乘法结果最大的任务进行调度。
有益效果:本发明中基于效用函数的面向大数据处理的公平资源调度方法,对流数据作业采用离线预约的方式,对交互式和批处理作业采用在线调度的方式来确定资源分配和作业调度的结果,利用了不同作业类型的特点,同时,在保证系统资源分配的公平性的基础上,考虑以截止时间作为主要的服务质量的指标进行约束,同时统筹兼顾了系统的资源利用率和吞吐量的提高。本发明方法将效用函数作为衡量作业重要性的指标,能够更加完善、准确以及满足用户公平性,提高作业服务质量,系统的总体处理能力以及整体效用。
附图说明
图1为本发明中基于效用函数的面向大数据处理的公平资源调度方法的流程图;
图2为作业效用函数的示意图;图2(A)为一种硬性效用函数,图2(B)为一种软性效用函数,图2(C)为另一种软性效用函数,图2(D)为另一种硬性效用函数;
图3为实施例中流数据处理、交互式和批处理作业的有向无环图;
图4为图3中作业调度的结果图。
具体实施方式
下面结合实例对本发明做进一步的详细说明,本实例对本发明不构成限定。
图1中基于效用函数的面向大数据处理的公平资源调度方法,对三种不同的作业采用离线预约和在线调度两种不同的方式来确定资源分配和作业调度的结果。具体包括以下步骤:
(1)对于大数据系统(数据分析集群)中的每一个作业,获取其作业基本数据,所述作业基本数据包括:作业权重、表征作业内部任务相互依赖关系的有向无环图、资源需求、运行时间、作业的截止时间、作业的时间窗口等;
每一个作业的基本情况对应一组相应的特征向量,作业的截止时间如果在用户和服务提供商的SLA合同中没有明确给出,则通过用户反馈的方法进行自动标定。
(2)对于某一作业,根据其时间窗口和API性质确定其是否为流数据处理作业,若不是流数据处理作业,则根据其运行时间与预设的阈值进行比较判断其作业类型,运行时间小于或等于预设的阈值为交互式作业;运行时间大于预设的阈值为批处理作业;
流数据处理作业的时间窗口通常为用户设定的较为规整的数值,因此判断作业是否为流数据处理作业的方式包括:作业运行是否具有稳定的时间窗口(外来的流数据输入间隔)以及是否经由流数据处理特定的程序接口(API)提交作业。
(3)对流数据作业采用离线预约的方式进行资源分配,具体包括以下步骤:
(31)对于所有的流数据处理作业,对所有的流数据处理作业分别按照最大资源点乘法排列其内部任务的执行顺序;系统资源将扣除之前已经预约完成的任务所需求的资源,扣除的结果将作为后续任务的调度算法中最大点乘法计算的基础。
(32)对于所有已经确定内部执行顺序的作业划分执行区间,单个作业执行区间的开始时间为上个流数据处理作业的数据输出结束时间,执行区间的结束时间为下一个流数据处理作业的数据输入开始时间。系统优先为执行区间较长的流数据处理作业预约资源。
用户提交的时间窗口通常比较规整,所以可以预期相当比例的流数据处理作业在同一个执行区间内执行,并且每一个执行区间内的作业调度安排形成了离线版本的背包问题。对于执行区间相同的流数据处理作业,可以同时预约调度。仿照背包问题的贪心求解方法,即:先把所有作业按照运行时间长度进行排序,第一次先从前向后调度,优先调度时间最长的作业,若当前执行区间尚未结束,则依次选择次长的任务在上一作业结束完成时间之后调度,直到执行区间再也容纳不下额外的作业时间长度;第二次调度从后向前调度,同样的,先把尚未预约资源的作业按照运行时间长度进行排序,优先调度时间最长的作业放置在执行区间的末尾,若当前执行区间尚未结束,则依次选择次长的任务在上一作业结束开始时间之前调度,直到执行区间所能允许调度的最多作业;依次类推,反复改变时间方向,直至为所有流数据处理作业预约到系统资源。
对于流数据处理作业的调度方式先考虑各作业之间不同时执行,便于系统的资源能够在执行时间段内被平均地分摊;在此基础上,因为首末两端的资源经常得不到预约,所以通过反复改变时间方向来预约资源,便于为后面的交互式作业和批处理作业的执行预留比较合理而均匀的资源空间。
(4)对于其他作业,调度流数据处理作业预约之后的剩余资源。
(41)对于后两类作业根据其权重、运行时间和截止时间的特征创建其各自的效用函数,使用当前作业调用完成的预期时间点的效用函数的值除以该作业的松弛时间(剩余的截止时间-剩余的完成时间)求出其效用密度,对效用密度按照从大到小的顺序进行排列,根据用户给定的截止时间系数κ(0≤κ≤1)值筛选当前κ比例的作业放入待调度作业池。
创建效用函数指的是:先将作业按照交互式作业和批处理作业分类成为软性和硬性的效用函数,然后由系统管理员选择当前系统所使用的两种效用函数模型,在模型里面根据完成时间等关键值生成具体函数。比如一个硬性的直线函数(图2( A) ),设定前一段纵坐标的值(效用值)等于作业的完成时间乘以权重值,而效用值降为0的点在横坐标上等于作业的截止时间。
另外,对于所有的系统作业,也可以按照其公平性的平衡程度,设定公平性系数μ(0≤μ≤1),将各作业的公平性平衡程度按照从小到大进行排序,选出总体比例不大于公平性系数的作业放入作业池。公平性的平衡程度计算一般是用作业在当前正在系统当中运行的任务数除以作业的权重值,比值越小表示对该作业分配的资源越不公平。
亦或者,通过截止时间系数和公平性系数共同选择,即,能够进入作业池的作业满足以下条件:该作业的效用密度在所有作业中的排列次序不大于预先给定的截止时间系数值与作业总数的乘积向上取整之后的数值,且该作业的公平性平衡程度在所有作业排列次序不大于预先给定的公平性系数与作业总数的乘积向上取整之后的数值。例如:系统当中有3个作业,截止时间比例为60%,则3*60%=1.8≈2,取排列次序为前两个的作业进入系统作业池。
公平性系数μ和系统截止时间系数κ越接近0表示该项指标的约束力越大,越接近1表示该项指标的约束力越小。
(42)在进行在线调度时,从作业池中选择满足不超出可分配资源条件并且当前资源点乘法结果最大的任务进行调度,并丢弃当前等待队列中预期效用小于或等于0的失效作业。
上述预期效用指的是把当前作业按照最大分布度调度到系统当中去,在预期完成时间点的效用值。如果小于0,也就是说无论怎么调度都已经不会对系统产生正向效用了。步骤(42)的处理可以使得部分未能够预期在截止时间前完成的硬性效用函数的交互式作业提前被丢弃,而部分拖延时间较长的软性效用函数的批处理作业同样会被丢弃,避免系统在这些已经失效的作业上浪费资源。
上述资源点乘法指的是:两个资源向量相乘的值,比如当前系统剩余可分配资源的向量为a=(a1,b1,c1),作业所需求的资源向量为b=(a2,b2,c2),则a·b=a1a2+b1b2+c1c2,这个就是资源向量点乘法。本发明中基于效用函数的面向大数据处理的公平资源调度方法中,采用离线预约的方式预先确定流数据处理作业需要的资源,然后采用在线调度的方式对于交互式作业和批处理作业进行调度,本实施例结合图3中各作业的运行时间T以及资源需求比例R来对本发明方法做具体的解释。
图3当中,设流数据处理作业St、St′、St″的窗口时间(执行区间)大小均为4s,所以可以根据步骤(31)的要求将各个作业内部的任务进行紧凑的顺序排列,由于St′、St″都是单任务作业,所以排列很简单,而St是多任务工作,St中包含了四个任务,分别为 St1、St2、St3和St4,St3需要在任务St1执行完毕后才能执行,任务St4需要在St2、St3执行完毕后才能执行。假设当前系统资源中的资源向量为(1,1),则St2所需求的资源向量为(0.2,0.5),St1所需求的资源向量为(0.4,ε),ε为几乎为0的数,按照最大资源点乘法则,优先分配St2的资源,由于0.2+0.4<1,所以在执行St2的同时可以执行St1, St2的运行时间T为1s,St1的运行时间T为0.3,且St3所需求的资源向量为(ε,0.4),所以,St1执行完毕后可继续执行St3,这样St1、St3都可以与St2并行调度,对相应作业的运行时间进行了压缩,在三个任务完成之后最后调度St4,最终,St的运行时间为1.5s。
由于三个流数据处理任务均处于同一执行区间,St′的运行时间T最长为2s,所以按照步骤(32)的要求,先预定St′的资源,其次是运行时间T为1.5s的St。此时,由于St″的运行时间T是0.8s,如果接着St的后面调度就会超出4s的执行区间的结束时间,所以St″从反方向的末尾端向前安排预留资源。
对于交互式作业和批处理作业,采用在线调度的方式。先确定其相应的效用函数。如图2所示,A和D为两种硬性效用函数,一旦系统时间到达作业截止时间,那么作业的效用立刻衰减为0,而B和C为软性效用函数,作业效用在截止时间到达后仍然可以产出较少的系统效用,需要指出的是C类函数是一种特殊情况,递增部分表示当前作业的输入数据没完全输入进系统之前该作业执行完成的效用情况。在本发明中,结合各类作业的性质,交互式作业考虑采用硬性效用函数,而批处理作业则使用软性效用函数。如图3所示,其中的交互式作业In和In′均采用A类效用函数,设定其截止时间为2s,截止时间之前的效用值为0.5。而批处理任务Ba采用B类效用函数,设定其截止时间为 20s,截止时间之前的效用值为4.5,截止时间之后的效用函数是斜率为-0.5的直线段,直到效用降低到0为止。
假设在0s的时候,共有6个交互式作业In′,6个交互式作业In,1个批处理作业 Ba到达系统。在2s的时候,共有2个交互式作业In′,2个交互式作业In作业到达系统。由于交互式作业都是单任务作业,所以对于同一时间释放的作业来说,系统在选择哪个作业去执行都是等价的,任选它们中的同一时间释放的作业执行即可。但为了辨认不同时间释放的作业,设定0s释放的作业为In0s以及In′0s,而第2s释放的作业为In2s以及 In′2s。由于交互式作业只包含一个任务,所以我们可以设定第0s释放的作业In0s中的任务为In1-0s,In′0s中的任务为In′1-0s;而第0s释放的作业In2s中的任务为In1-2s,In′2s中的任务为In′1-2s(如图4所示)。
在系统时间为0s的时候,共有6个交互式作业In0s,6个交互式作业In′0s,1个批处理作业Ba到达当前系统,In0s与In′0s的截止时间都是2s,而Ba的截止时间是20s。假设用户设置系统的截止时间系数κ为0.85,公平系数μ为0,根据步骤(41),表示系统当中效用密度按照从大到小排列次序为前12的作业会被放入作业池中,同时不考虑公平性的影响。交互式任务使用图2(A)中的效用函数,而批处理任务使用图 2(B)中的效用函数。并假设效用函数的最大值为作业的所有任务运行时间之和。那么 In0s与In′0s的效用函数公式都为F(t)=0.5(0<t≤2),而Ba的效用函数公式为 F(t)=4.5(0<t≤20),-0.5t+14.5(t>20)。那么在0s时,作业In0s与In′0s的效用函数密度=0.5/(2-0.5)=1/3,而Sb的效用密度为4.5/(20-4.5)=9/31。因为9/31<1/3,截止时间系数的值为0.85,则6个In0s作业和6个In′0s作业可以在前1s被放入作业池中,而1个Ba作业中的任务则不会被调度。除去作业St′已经预约的资源,系统中剩余的资源向量为(0.7,0.6),根据资源最大点乘法,In′0s的资源点乘为0.7*0.3,In0s的资源点乘为0.6*0.3,所以先调度In′0s,然后依次调度In0s,In′0s,In0s。第0.5s的情况类似,所以前1s的调度情况如图4所示,图4中从下往上反映优先调度的顺序。
系统时间为1s时,由于当前系统中的作业只剩下2个In0s作业,2个In′0s作业,1 个Sb作业,由于当前交互式处理任务数量减少,则从大到小排列次序为前5的作业会被放入作业池,所以所有的作业都被可以被放进作业池中,由于Ba1的资源点乘的值为0.3*0.7+0.6*0.6最大,所以系统优先调度Ba1,其次将空闲的资源分配给In′0s。
系统时间为2s时,由于In0s作业的预期效用(预计在2.5s时才能完成)为0,所以 0s提交的两个Inos作业均被丢弃。此时,新到达了2个In2s作业和2个In′2s作业。由于当前的作业个数是5,截止时间系数是0.85,类似1s时间点处的计算所有作业都被放入作业池中,并且此时Ba2和Ba3都可以被系统调度。此时以及按照步骤(42),如图4 所示,在2s时,除去预约资源的剩余资源是(0.4,0.5),In2s的资源点乘法计算结果是0.3*0.5,In′2s的资源点乘法计算结果是0.3*0.4,而Ba2的资源点乘法为0.4*0.4,Ba3的资源点乘法为0.1*0.4+0.4*0.5,此时虽然Ba3的资源点乘最大,但是,在2.3s的时候,系统当中的资源为(0.8,0.1),而Ba3的运行时间为1.5s,当其运行到2.3s时会发生资源不足的情况,所以我们选择资源点乘法次多的Ba2进行调度,空余资源可以分配给In中的任务,2.5s之后,St1和St3都已运行完成,此时Ba3也可以进行调度,并同时按资源点乘所计算的顺序运行In′1-2s,In1-2s以及In′1-2s三个任务。可以看到所有任务都在4s之前得到了调度。所以,调度过程的时间跨度(Makespan)为4s,整个过程的两种系统资源平均利用率均达到了80%以上。
本发明方法将系统中的流数据处理、交互式和批处理任务区别对待,首先将对时间要求比较敏感的流数据处理任务按照紧凑的部署方式在执行区间内均匀地进行系统资源的预约,其次为了保障作业的公平性和截止时间的要求,使用效用函数的方式对作业进行建模,并使用公平性系数和截止时间系数对系统的作业池进行筛选。最后利用最大资源点乘法贪心调度当前最合适的任务,提高系统的利用率。因此,最终的调度能够在保证系统公平性的基础上保证截止时间,以及吞吐量两方面的需求,提高系统的总体性能。并且这样的调度方式更加准确完备地符合当前大数据处理中多用户各种各样的个性化配置,能够以可插拔式的设计理念与现代流行的资源调度平台相结合。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。
Claims (3)
1.一种基于效用函数的面向大数据处理的公平资源调度方法,其特征在于,该方法包括以下步骤:
步骤(1):对于数据分析集群中的每一个作业,获取其作业基本数据,所述作业基本数据包括:作业权重、有向无环图、资源需求、运行时间、截止时间和作业的时间窗口;
步骤(2):对于某一作业,根据作业的时间窗口和程序接口API的性质确定其是否为流数据处理作业,若不是流数据处理作业,则根据运行时间与预设的阈值进行比较来判断其作业类型,运行时间小于或等于预设的阈值为交互式作业;运行时间大于预设的阈值为批处理作业;
步骤(3):对流数据作业采用离线预约的方式进行资源分配;
步骤(4):对于其他作业,根据其作业权重、运行时间和截止时间特征创建其各自的效用函数,使用当前作业调用完成的预期时间点的效用函数的值除以该作业的剩余的松弛时间求出其效用密度,然后对效用密度按照从大到小的顺序进行排列;所述松弛时间为剩余的截止时间减去剩余的完成时间;
用作业在当前正在系统当中运行的任务数除以作业的权重值得到作业的公平性平衡程度,并对各作业的公平性平衡程度按照从小到大的顺序进行排序;
选择符合条件的作业放入待调度作业池,所述符合条件是指对于某个作业,该作业的效用密度在所有作业中的排列次序不大于预先给定的截止时间系数值与作业总数的乘积向上取整之后的数值,且该作业的公平性平衡程度在所有作业中的排列次序不大于预先给定的公平性系数与作业总数的乘积向上取整之后的数值;
在进行在线调度时,丢弃预期效用小于或等于0的失效作业,从作业池中选择满足不超出当前可分配资源条件并且资源点乘法结果最大的任务进行调度。
2.根据权利要求1所述的公平资源调度方法,其特征在于,步骤(3)中对流数据作业采用离线预约的方式进行资源分配,包括以下步骤:
(31)对于所有的流数据处理作业,各自按照最大资源点乘法排列其内部任务的执行顺序;
(32)对于所有已经确定内部执行顺序的作业划分执行区间,单个作业执行区间的开始时间为上个流数据处理作业的数据输出结束时间,执行区间的结束时间为下一个流数据处理作业的数据输入开始时间,按照执行区间由长至短依次为流数据处理作业预约资源。
3.根据权利要求2所述的公平资源调度方法,其特征在于,步骤(32)中对于执行区间长度相同的流数据处理作业,先对所有作业按照运行时间长度进行排序,先按照时间方向从前向后调度,然后从相反方向调度,如此类推反复改变时间方向直至所有流数据处理作业得到资源的预约;
在每个方向上的调度方式均为:在所有待预约的作业中,按照作业运行时间的长度,依次对作业进行预约,直到达到执行区间所能允许调度的最多作业。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347165.XA CN107193655B (zh) | 2017-05-17 | 2017-05-17 | 一种基于效用函数的面向大数据处理的公平资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347165.XA CN107193655B (zh) | 2017-05-17 | 2017-05-17 | 一种基于效用函数的面向大数据处理的公平资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193655A CN107193655A (zh) | 2017-09-22 |
CN107193655B true CN107193655B (zh) | 2020-04-03 |
Family
ID=59873051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710347165.XA Active CN107193655B (zh) | 2017-05-17 | 2017-05-17 | 一种基于效用函数的面向大数据处理的公平资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193655B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119307B (zh) * | 2018-02-05 | 2022-09-13 | 上海交通大学 | 数据处理请求的处理方法、装置、存储介质及电子装置 |
CN109254835A (zh) * | 2018-06-27 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 批处理任务的处理方法、装置、服务器及可读存储介质 |
CN110297701B (zh) * | 2019-05-16 | 2023-08-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
CN112685883B (zh) * | 2020-12-23 | 2022-12-02 | 郑州大学 | 一种舰载机保障作业调度方法 |
CN113296946B (zh) * | 2021-05-24 | 2023-11-17 | 南京大学 | 边端协同的并发实时流式数据分析任务处理方法及设备 |
CN113568725A (zh) * | 2021-07-14 | 2021-10-29 | 中国科学院计算技术研究所 | 深度学习作业优先级调度方法及深度学习作业系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838077A (zh) * | 2005-03-25 | 2006-09-27 | 株式会社东芝 | 可调度性确定方法和实时系统 |
CN102495758A (zh) * | 2011-12-05 | 2012-06-13 | 中南大学 | 分布式高性能计算环境中实时任务的调度方法 |
CN102845028A (zh) * | 2012-02-15 | 2012-12-26 | 华为技术有限公司 | 一种资源分配的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8509166B2 (en) * | 2010-01-28 | 2013-08-13 | Tti Inventions D Llc | System and method for resource allocation of a LTE network integrated with femtocells |
US9820296B2 (en) * | 2015-10-20 | 2017-11-14 | Cisco Technology, Inc. | System and method for frequency and time domain downlink inter-cell interference coordination |
-
2017
- 2017-05-17 CN CN201710347165.XA patent/CN107193655B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838077A (zh) * | 2005-03-25 | 2006-09-27 | 株式会社东芝 | 可调度性确定方法和实时系统 |
CN102495758A (zh) * | 2011-12-05 | 2012-06-13 | 中南大学 | 分布式高性能计算环境中实时任务的调度方法 |
CN102845028A (zh) * | 2012-02-15 | 2012-12-26 | 华为技术有限公司 | 一种资源分配的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107193655A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193655B (zh) | 一种基于效用函数的面向大数据处理的公平资源调度方法 | |
CN108345501B (zh) | 一种分布式资源调度方法和系统 | |
CN110321222B (zh) | 基于决策树预测的数据并行作业资源分配方法 | |
US10031774B2 (en) | Scheduling multi-phase computing jobs | |
US8020161B2 (en) | Method and system for the dynamic scheduling of a stream of computing jobs based on priority and trigger threshold | |
CN107193652B (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
Arabnejad et al. | Fairness resource sharing for dynamic workflow scheduling on heterogeneous systems | |
CN103838627B (zh) | 一种基于工作流吞吐量最大化的工作流调度方法 | |
CN109861850B (zh) | 一种基于sla的无状态云工作流负载均衡调度的方法 | |
Qiu et al. | Cost-minimizing preemptive scheduling of mapreduce workloads on hybrid clouds | |
CN115033357A (zh) | 基于动态资源选择策略的微服务工作流调度方法及装置 | |
CN109298920B (zh) | 基于准划分思想的混合关键任务调度方法 | |
Omar et al. | Comparative analysis of the essential CPU scheduling algorithms | |
Jia et al. | A deadline constrained preemptive scheduler using queuing systems for multi-tenancy clouds | |
Li et al. | Federated scheduling for stochastic parallel real-time tasks | |
CN106934537A (zh) | 基于反向工作流调度的子期限获取优化方法 | |
Liu et al. | Online job scheduling with resource packing on a cluster of heterogeneous servers | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
KR101335038B1 (ko) | 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘 | |
CN110088730B (zh) | 任务处理方法、装置、介质及其设备 | |
CN111930485B (zh) | 一种基于性能表现的作业调度方法 | |
Dubey et al. | QoS driven task scheduling in cloud computing | |
CN104731662B (zh) | 一种可变并行作业的资源分配方法 | |
Pujiyanta et al. | Resource allocation model for grid computing environment |
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 |