CN103973594A - 基于多资源的任务调度方法 - Google Patents

基于多资源的任务调度方法 Download PDF

Info

Publication number
CN103973594A
CN103973594A CN201410196890.8A CN201410196890A CN103973594A CN 103973594 A CN103973594 A CN 103973594A CN 201410196890 A CN201410196890 A CN 201410196890A CN 103973594 A CN103973594 A CN 103973594A
Authority
CN
China
Prior art keywords
packet
deadline
virtual
scheduling
time
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
Application number
CN201410196890.8A
Other languages
English (en)
Other versions
CN103973594B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201410196890.8A priority Critical patent/CN103973594B/zh
Publication of CN103973594A publication Critical patent/CN103973594A/zh
Priority to US14/708,170 priority patent/US9389912B2/en
Application granted granted Critical
Publication of CN103973594B publication Critical patent/CN103973594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于多资源的任务调度方法,包括以下步骤:对并行的多个数据包进行分类,得到具有截止时间的数据包和没有截止时间的数据包;通过最早截止时间算法对具有截止时间的数据包进行排序、通过短任务优先算法对没有截止时间的数据包进行排序;根据排序结果估计多个数据包的虚拟开始处理时间和虚拟处理完成时间;判断具有截止时间的数据包是否均可成功调度;如果是,则进一步判断在没有截止时间的数据包中是否存在可安排在具有截止时间的数据包之前进行调度且能够缩短平均完成时间的数据包;如果是,则将该数据包进行优先调度以缩减多个数据包的平均调度时间。本发明的方法能够在多资源的情况下大大缩短所有任务的平均完成时间。

Description

基于多资源的任务调度方法
技术领域
本发明涉及计算机网络技术领域,特别涉及一种基于多资源的任务调度方法。
背景技术
针对计算机网络衍生而出的各种新型概念方法,都对各种硬件资源产生了不同程度的需求。不同的任务消耗的CPU、链路带宽、磁盘等资源数量也各不相同。虽然路由器内带宽的包调度分配环节已经被广泛研究,但由于各任务对不同资源的需求不尽相同,因此对于多资源的调度问题显然更加困难。例如,入侵检测功能通常是CPU受限的、软件路由器的瓶颈则存在于内存,而转发大数据包的受限资源是链路带宽。因此,一个中间盒需要能够对多种资源的调度做出正确的决策。
已有的较为经典的单资源调度算法有最早截止时间算法(Early Deadline First,EDF)和短任务优先算法(Short Job First,SJF)等。最早截止时间算法是根据任务的开始截止时间来确定任务的优先级,截止时间愈早,其优先级愈高。最短任务优先算法的核心就是所有的程序都有一个优先级,短任务的优先级比长任务的高,而操作系统总是安排优先级高的进程优先运行。此外,还有先到先服务算法(First come first serve,FCFS)、时间片轮询算法等等。
目前,相关技术提出了一种多资源的调度算法,基于占优资源公平的思想,针对每一个任务,选出它的占优资源,即使用量最多的资源类型,进而针对不同任务各自的占优资源进行公平分配。然而这种方法虽然在一定程度上保证了公平性,但是对于整体系统来说,任务流平均完成时间过长,在用户方面体现为等待时间长,造成用户体验差。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的目的在于提出一种基于多资源的任务调度方法,该方法能够在多资源的情况下大大缩短所有任务的平均完成时间。
为了实现上述目的,本发明的实施例提出了一种基于多资源的任务调度方法,包括以下步骤:对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时间的数据包;通过最早截止时间算法对所述具有截止时间的数据包进行排序、通过短任务优先算法对所述没有截止时间的数据包进行排序;根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间;根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度;如果是,则进一步根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断在所述没有截止时间的数据包中是否存在可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包;如果是,则将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减所述多个数据包的平均调度时间。
根据本发明实施例的基于多资源的任务调度方法,将并行的多个数据包分为具有截止时间的数据包和没有截止时间的数据包,并通过EDF算法对具有截止时间的数据包进行排序以减少丢包数量,通过SJF算法对没有截止时间的数据包进行排序以缩短平均完成时间,并通过定义系统虚拟时间和计算预计开始、完成时间,进一步判断是否可以调度成功,对不能调度成功的数据包进行丢包处理,对可以调度成功的数据包再次通过顺序调整缩短平均完成时间。因此,该方法在各数据包对不同资源需求各异的情况下,结合EDF和SJF算法,在保证丢包数量最小的前提下,大大缩减了所有任务的平均完成时间,进而可为多种多样的网络操作提供更好的服务质量。
另外,根据本发明上述实施例的基于多资源的任务调度方法还可以具有如下附加的技术特征:
在一些示例中,所述根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度,进一步包括:如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包。
在一些示例中,所述根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间,通过如下公式实现:
S(pi)=F(pi-1),
F ( p i ) = S ( p i ) + s i j ,
其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。
在一些示例中,所述如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包,具体包括:判断所述具有截止日期的数据包中是否存在截止期限小于F(pi)的数据包;如果是,则判断所述数据包不能成功调度,并丢弃所述数据包。
在一些示例中,所述将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度,进一步包括:设所述具有截止时间的数据包的数量为m,所述没有截止时间的数据包的数量为n;判断m和n是否在任意资源j下均满足如下公式:
S ( p y ) - S ( p x ) - ( s y j ) × ( y - x ) > 0 ,
∃ x ∈ ( 1 , m ) , y ∈ ( m + 1 , m + n ) , ∀ j
其中,px是第x个具有截止时间的数据包,py是第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间,是py在资源j上的处理时间,(y-x)表示提前py而影响的数据包的个数,表示将py提到px之前对其他数据包造成的总延迟,二者之差(即)大于零时,则证明将py提到px之前对系统整体性能可以产生优化;
如果满足,则将所述没有截止时间的数据包提升到所述具有截止时间的数据包之前进行优先调度。
在一些示例中,还包括:对于新到达的数据包,判断所述新到达的数据包是具有截止时间;如果所述新到达的数据包具有截止时间,则判断所述新到达的数据包是否影响所述其他具有截止时间的数据包;如果所述新到达的数据包影响其他具有截止时间的数据包,则丢弃所述新到达的数据包。
在一些示例中,还包括:如果所述新到达的数据包没有截止时间,则将所述新到达的数据包按照先到先服务的顺序排在队尾。
在一些示例中,还包括:判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:
D ( p x ) - F ( p x ) ≥ s new j ,
∀ x ∈ ( D ( p new ) - s new j , F ( p m ) ) , ∀ j ,
其中,pnew为所述新到达的数据包,D(pnew)为pnew的截止时间, 为预设时间段,为所述新到达数据包在资源j上的处理时间;
如果所述新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将所述新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。
在一些示例中,还包括:如果所述新达到的数据包不能同时满足所述公式,则将所述新到达的数据包丢弃。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的基于多资源的任务调度方法的流程图;
图2是根据本发明另一个实施例的基于多资源的任务调度方法的流程图;
图3是根据本发明一个实施例的预计调度顺序示意图;
图4是根据本发明一个实施例的调整后的调度顺序示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
以下结合附图描述根据本发明实施例的基于多资源的任务调度方法。
图1是根据本发明一个实施例基于多资源的任务调度方法的流程图。如图1所示,根据本发明一个实施例的基于多资源的任务调度方法,包括以下步骤:
步骤S101,对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时间的数据包。换言之,即将并行的多个数据包分为两类,分别是具有截止时间deadline的数据包和没有截止时间deadline的数据包,并分别用D(px)和U(px)表示。
步骤S102,通过最早截止时间算法对具有截止时间的数据包进行排序、通过短任务优先算法对没有截止时间的数据包进行排序。具体而言,最早截止时间算法即EDF(EarlyDeadline First)算法,由于具有截止时间的数据包均具有严格的deadline(截止时间),因此采用EDF算法对其进行排序,能够使由于未在规定时间内处理完毕而丢包的数量降低至最少。另一方面,短任务优先算法即SJF(Short Job First)算法,由于没有deadline的数据包没有严格的时间限制,因此采用SJF算法能够使得数据包的平均完成时间最短。对于多资源的请求,数据包长度按照多种资源请求数量之和计算,若对资源的需求总数相同,则以对瓶颈资源的需求数量为准,按照短数据包优先的调度顺序。
作为一个具体例子,例如某时间点达到7个数据包,分别对CPU和带宽有不同的需求,详细信息如表1所示:
数据包 P1 P2 P3 P4 P5 P6 P7
CPUC(Pi) 2 3 1 2 2 1 4
带宽B(Pi) 3 1 2 3 3 1 2
Deadline 7 4 8 11
表1
如表1所示,首先,P1至P4属于有deadline的数据包,P5至P7是没有deadline的数据包。按照EDF对P1至P4进行排序后的结果为:P2-P1-P3-P4,按照SJF对P5至P7排序后的结果为:P6-P5-P7。
步骤S103,根据排序结果估计多个数据包的虚拟开始处理时间和虚拟处理完成时间。换言之,即根据上述步骤S102中对多个数据包的排序结果估算多个数据包的虚拟开始处理时间和虚拟处理完成时间。
作为一个具体的实施例,首先初始化系统虚拟时间为0,并定义一个虚拟单位时间,该虚拟单位时间为权重为1的数据包1微秒的处理时间。更为具体地,数据包的处理时间为CPU吞吐量的倒数,因此,该虚拟单位时间不受资源类型的影响,也不取决于数据包的积压程度。进一步地,通过如下公式估算多个数据包的虚拟开始处理时间和虚拟处理完成时间:
S(pi)=F(pi-1),
F ( p i ) = S ( p i ) + s i j ,
其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。
作为一个具体的例子,结合图3所示,在初始化系统虚拟时间为0后,按照预计调度顺序(如图3所示)计算各个数据包的虚拟处理完成时间F(pi),具体如表2所示:
表2
如表2所示,此时,7个数据包的平均完成时间为
步骤S104,根据多个数据包的虚拟开始处理时间和虚拟处理完成时间判断具有截止时间的数据包是否均可成功调度。进一步地,如果上述具有截止时间的数据包不能成功完成调度,则丢弃该具有截止时间的数据包。具体的步骤为:判断具有截止时间的数据包中是否存在截止时间小于F(pi)的数据包,如果存在,则判断该具有截止时间的数据包不能成功调度,则丢弃该数据包。
换言之,首先根据检查具有deadline的数据包是否可以成功调度,即比较deadline与F(pi)。若存在D(pi)<F(pi)的数据包,则证明对此数据包的调度不成功,不能在deadline之前完成处理,则丢弃此数据包,并通知发送窗口减半。并进一步重新估算虚拟开始、完成时间。
作为一个具体的例子,如上述表2所示,此时,检测具有deadline的数据包,均满足D(pi)>F(pi),则可以成功调度。
步骤S105,如果是,则进一步根据多个数据的虚拟开始处理时间和虚拟处理完成时间判断在没有截止时间的数据包中是否存在可安排在具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包。换言之,即在步骤S104中,如果判断具有截止时间的数据包均可成功调度,则检查没有deadline的数据包,并判断是否存在可以提前调度以缩短整体的平均完成时间的没有deadline的数据包。
步骤S106,如果是,则将可安排在具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减多个数据包的平均调度时间。换言之,即在上述步骤S105中,如果在没有截止时间的数据包中存在可以提前调度以缩短整体的平均完成时间的数据包,则将该数据包提到具有截止时间的数据包之前进行优先调度以提升其优先级,进而缩短整体的平均完成时间。
作为一个具体的实施例,该步骤可具体包括:首先设具有截止时间的数据包的数量为m(例如为p1至pm),没有截止时间的数据包的数量为n(例如为pm+1至pm+n),并判断m和n是否在任意资源j下均满足如下公式:
S ( p y ) - S ( p x ) - ( s y j ) × ( y - x ) > 0 ,
∃ x ∈ ( 1 , m ) , y ∈ ( m + 1 , m + n ) , ∀ j
其中,px是第x个具有截止时间的数据包,py是第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间,是py在资源j上的处理时间,(y-x)表示提前py而影响的数据包的个数,表示将py提到px之前对其他数据包造成的总延迟。
如果满足,则将没有截止时间的数据包(例如表示为py)提到具有截止时间的数据包(例如表示为px)之前进行调度,由于优先调度py会使得整体完成时间缩短S(py)-S(px),同时对于py-px这(y-x)个数据包来说,各自延长了时间,因此整体缩短时间为二者之差(即如果该差值大于0,则证明将py提到px之前对系统整体性能产生了优化,缩短了整体平均完成时间。
作为一个具体的例子,表3为调整后的平均完成时间,此时,7个数据包的平均成时间为 1 + 4 + 6 + 7 + 10 + 13 + 15 7 = 56 7 = 8 . 表3如下所示:
表3
进一步地,在本发明的一个实施例中,对于新到达的数据包,采用插队检测方法。首先判断该新到达的数据包是否具有截止时间,如果该新到达的数据包具有截止时间,则进一步判断该新到达的数据包是否影响其他具有截止时间的数据包,如果影响,则丢弃该新达到的数据包。
另一方面,如果判断该新大道的包没有截止时间,则将该新达到的数据包按照先到先服务的顺序排在队尾。
作为一个具体的实施例,上述过程具体包括:若新到达的数据包具有截止时间,则首先判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:
D ( p x ) - F ( p x ) ≥ s new j ,
∀ x ∈ ( D ( p new ) - s new j , F ( p m ) ) , ∀ j ,
其中,pnew为新到达的数据包,D(pnew)为pnew的截止时间,为预设时间段,为所述新到达数据包在资源j上的处理时间。
如果新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将该新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。另一方面,如果该新到达的数据包不能同时满足上述公式,则将该新到达的数据包丢弃。
进一步地,检测无deadline的数据包,对数据包P6来说,存在x=1,使得
F(p4)-S(p1)-(CP6)×(4-1+1)=8-0-1×4=4>0
同时,
F(p4)-S(p1)-(MP6)×(4-1+1)=9-0-1×4=5>0
因此,P6能够提到P1之前优先调度,在不影响各数据包deadline的基础之上,缩短平均完成时间,具体如图4所示。
作为一个具体例子,如表4所示,若此时新到达一个数据包为P8(1,1),其deadline为5,则检测出在虚拟时间4时正在调度的数据包为P2,那么检测P2-P1-P3-P4是否可以接受P8的插队,即在两种资源队列中分别计算延迟时间1是否不影响当前任务。表4如下:
表4
如表4所示,显然,若插入P8,则P2、P1、P3均不能按时完成,则P8不能成功调度,均采取丢包处理。
作为一个具体示例,以下结合图2对本发明上述实施例的基于多资源的任务调度方法作进一步地概述。如图2所示,根据本发明另一个实施例的基于多资源的任务调度方法,包括以下步骤:
步骤S201,开始。
步骤S202,区分D(px)和U(px)。换言之,即将多个并行数据包进行分类,以区分具有截止时间(deadline)的数据包D(px)和没有截止时间的数据包U(px)。
步骤S203,判断当前数据包是否为具有截止时间的数据包D(px),如果是,则执行步骤S204,否则执行步骤S205。
步骤S204,采用EDF算法对该具有截止时间的数据包进行排序,并进一步执行步骤S206。
步骤S205,即当前数据包为没有截止时间的数据包U(px),通过SJF算法对该没有截止时间的数据包进行排序,并进一步执行步骤S206。
步骤S206,定义系统虚拟时间。换言之,即初始化系统虚拟时间为0,首先定义一个虚拟单位时间,该虚拟单位时间指的是对于权重为1的数据包,1微秒的处理时间。
步骤S207,估算虚拟开始处理时间和虚拟处理完成时间。具体而言,在资源j上第i个包的虚拟开始处理、处理完成时间为:
S(pi)=F(pi-1),
F ( p i ) = S ( p i ) + s i j ,
其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间。
步骤S208,判断具有截止时间的数据包D(px)是否均可被成功调度,如果是,则执行步骤S209,否则执行步骤S210。
步骤S209,对当前各数据包的带宽使用情况进行监测并反馈监测结果,并进一步执行步骤S211。
步骤S210,即当具有截止时间的数据包D(px)不能成功调度时,则对该数据包采取丢包处理。
步骤S211,判断没有截止时间的数据包U(px)中是否存在可以通过提前调度缩短整体平均完成时间的没有截止时间的数据包,如果是,则执行步骤S212,否则执行步骤S213。
步骤S212,将可提前调度的没有截止时间的数据包调整至具有截止时间的数据包之前进行优先调度,以缩短整体平均完成时间。
步骤S213,即有新数据包到达。
步骤S214,判断该新数据包是否可插队,如果是,则执行步骤S215,否则执行步骤S216。换言之,即首先判断该新数据包是否为有deadline的数据包,如果是,则判断该新数据包是否影响其他具有deadline的数据包,若不影响,则将该新数据包插入现有队列之前,若影响,则不可插入。另外,当该新数据包为没有deadline的数据包时,则按照先到先服务的顺序排在队尾。
步骤S215,即当新数据包不可插队时,调整虚拟处理时间,并进一步执行步骤S217。
步骤S216,即当判断新数据包可插队时,则将新数据包插入当前队列之前,并执行步骤S217。
步骤S217,结束。
根据本发明实施例的基于多资源的任务调度方法,将并行的多个数据包分为具有截止时间的数据包和没有截止时间的数据包,并通过EDF算法对具有截止时间的数据包进行排序以减少丢包数量,通过SJF算法对没有截止时间的数据包进行排序以缩短平均完成时间,并通过定义系统虚拟时间和计算预计开始、完成时间,进一步判断是否可以调度成功,对不能调度成功的数据包进行丢包处理,对可以调度成功的数据包再次通过顺序调整缩短平均完成时间。因此,该方法在各数据包对不同资源需求各异的情况下,结合EDF和SJF算法,在保证丢包数量最小的前提下,大大缩减了所有任务的平均完成时间,进而可为多种多样的网络操作提供更好的服务质量。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种基于多资源的任务调度方法,其特征在于,包括以下步骤:
对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时间的数据包;
通过最早截止时间算法对所述具有截止时间的数据包进行排序、通过短任务优先算法对所述没有截止时间的数据包进行排序;
根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间;
根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度;
如果是,则进一步根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断在所述没有截止时间的数据包中是否存在可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包;
如果是,则将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减所述多个数据包的平均调度时间。
2.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,所述根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度,进一步包括:
如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包。
3.根据权利要求2所述的基于多资源的任务调度方法,其特征在于,所述根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间,通过如下公式实现:
S(pi)=F(pi-1),
F ( p i ) = S ( p i ) + s i j ,
其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。
4.根据权利要求3所述的基于多资源的任务调度方法,其特征在于,所述如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包,具体包括:
判断所述具有截止时间的数据包中是否存在截止时间小于F(pi)的数据包;
如果是,则判断所述数据包不能成功调度,并丢弃所述数据包。
5.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,所述将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度,进一步包括:
设所述具有截止时间的数据包的数量为m,所述没有截止时间的数据包的数量为n;
判断m和n是否在任意资源j下均满足如下公式:
S ( p y ) - S ( p x ) - ( s y j ) × ( y - x ) > 0 ,
∃ x ∈ ( 1 , m ) , y ∈ ( m + 1 , m + n ) , ∀ j
其中,px是第x个具有截止时间的数据包,py是第y个数据包,即第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间,是py在资源j上的处理时间,(y-x)表示提前py而影响的数据包的个数,是表示将py提到px之前对其他数据包造成的总延迟;
如果满足,则将所述没有截止时间的数据包提到所述具有截止时间的数据包之前进行优先调度。
6.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,还包括:
对于新到达的数据包,判断所述新到达的数据包是否具有截止时间;
如果所述新到达的数据包具有截止时间,则判断所述新到达的数据包是否影响所述其他具有截止时间的数据包;
如果所述新到达的数据包影响其他具有截止时间的数据包,则丢弃所述新到达的数据包。
7.根据权利要求6所述的基于多资源的任务调度方法,其特征在于,还包括:
如果所述新到达的数据包没有截止时间,则将所述新到达的数据包按照先到先服务的顺序排在队尾。
8.根据权利要求6所述的基于多资源的任务调度方法,其特征在于,还包括:
判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:
D ( p x ) - F ( p x ) ≥ s new j ,
∀ x ∈ ( D ( p new ) - s new j , F ( p m ) ) , ∀ j ,
其中,pnew为所述新到达的数据包,D(pnew)为pnew的截止时间, 为预设时间段,为所述新到达数据包在资源j上的处理时间;
如果所述新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将所述新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。
9.根据权利要求8所述的基于多资源任务调度方法,其特征在于,还包括:
如果所述新达到的数据包不能同时满足所述公式,则将所述新到达的数据包丢弃。
CN201410196890.8A 2014-05-09 2014-05-09 基于多资源的任务调度方法 Active CN103973594B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410196890.8A CN103973594B (zh) 2014-05-09 2014-05-09 基于多资源的任务调度方法
US14/708,170 US9389912B2 (en) 2014-05-09 2015-05-08 Multi-resource task scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410196890.8A CN103973594B (zh) 2014-05-09 2014-05-09 基于多资源的任务调度方法

Publications (2)

Publication Number Publication Date
CN103973594A true CN103973594A (zh) 2014-08-06
CN103973594B CN103973594B (zh) 2017-07-28

Family

ID=51242653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410196890.8A Active CN103973594B (zh) 2014-05-09 2014-05-09 基于多资源的任务调度方法

Country Status (2)

Country Link
US (1) US9389912B2 (zh)
CN (1) CN103973594B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702532A (zh) * 2015-02-11 2015-06-10 杭州华三通信技术有限公司 一种业务处理方法和设备
CN105045659A (zh) * 2015-07-17 2015-11-11 中国人民解放军国防科学技术大学 一种云中基于任务重叠与虚拟机迁移的容错任务调度方法
CN105389204A (zh) * 2015-10-26 2016-03-09 清华大学 一种多资源偏序调度策略
CN105934928A (zh) * 2014-12-29 2016-09-07 华为技术有限公司 在分布式资源系统中用户请求的调度方法和装置
CN108809859A (zh) * 2018-07-05 2018-11-13 清华大学 一种面向数据包截止时间的传输层控制方法
CN108876074A (zh) * 2017-05-09 2018-11-23 国网辽宁省电力有限公司信息通信分公司 一种适用于多类资源申请审批的通用调度方法
CN110300179A (zh) * 2019-07-03 2019-10-01 郑州轻工业学院 一种混合云环境中安全性约束的任务调度方法和装置
CN110727615A (zh) * 2019-10-11 2020-01-24 福建天晴数码有限公司 一种实现加速接口数据请求的方法及其系统
CN112214319A (zh) * 2020-09-29 2021-01-12 深圳大学 一种计算资源感知的任务调度方法
CN113411757A (zh) * 2021-06-23 2021-09-17 西北工业大学 通信与计算一体化认知云网络中用户分组设计方法及系统
WO2022067531A1 (zh) * 2020-09-29 2022-04-07 深圳大学 一种计算资源感知的任务调度方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2990973A1 (en) 2014-08-27 2016-03-02 F. Hoffmann-La Roche AG Method for validating a resource for a lab task schedule of a laboratory device
US10289448B2 (en) * 2016-09-06 2019-05-14 At&T Intellectual Property I, L.P. Background traffic management
US10439947B2 (en) * 2016-11-17 2019-10-08 Cisco Technology, Inc. Method and apparatus for providing deadline-based segmentation for video traffic
CN113448705B (zh) * 2021-06-25 2023-03-28 皖西学院 一种不平衡作业调度算法
CN114390122A (zh) * 2022-01-20 2022-04-22 长安大学 一种凹印集中供墨控制系统Glink协议下自适应控制调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166750A1 (en) * 2011-09-22 2013-06-27 Nec Laboratories America, Inc. Scheduling methods using soft and hard service level considerations
CN103294548A (zh) * 2013-05-13 2013-09-11 华中科技大学 一种基于分布式文件系统的io请求调度方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166750A1 (en) * 2011-09-22 2013-06-27 Nec Laboratories America, Inc. Scheduling methods using soft and hard service level considerations
CN103294548A (zh) * 2013-05-13 2013-09-11 华中科技大学 一种基于分布式文件系统的io请求调度方法和系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105934928A (zh) * 2014-12-29 2016-09-07 华为技术有限公司 在分布式资源系统中用户请求的调度方法和装置
CN105934928B (zh) * 2014-12-29 2017-07-07 华为技术有限公司 在分布式资源系统中用户请求的调度方法、装置和系统
US10127079B2 (en) 2014-12-29 2018-11-13 Huawei Technologies Co., Ltd. Scheduling user requests in a distributed resource system having plurality of schedulers and coordinators
CN104702532B (zh) * 2015-02-11 2019-03-15 新华三技术有限公司 一种业务处理方法和设备
CN104702532A (zh) * 2015-02-11 2015-06-10 杭州华三通信技术有限公司 一种业务处理方法和设备
CN105045659A (zh) * 2015-07-17 2015-11-11 中国人民解放军国防科学技术大学 一种云中基于任务重叠与虚拟机迁移的容错任务调度方法
CN105045659B (zh) * 2015-07-17 2018-01-05 中国人民解放军国防科学技术大学 一种云中基于任务重叠与虚拟机迁移的容错任务调度方法
CN105389204A (zh) * 2015-10-26 2016-03-09 清华大学 一种多资源偏序调度策略
CN105389204B (zh) * 2015-10-26 2018-10-23 清华大学 一种多资源偏序调度方法
CN108876074A (zh) * 2017-05-09 2018-11-23 国网辽宁省电力有限公司信息通信分公司 一种适用于多类资源申请审批的通用调度方法
CN108809859A (zh) * 2018-07-05 2018-11-13 清华大学 一种面向数据包截止时间的传输层控制方法
CN110300179A (zh) * 2019-07-03 2019-10-01 郑州轻工业学院 一种混合云环境中安全性约束的任务调度方法和装置
CN110300179B (zh) * 2019-07-03 2022-03-25 郑州轻工业学院 一种混合云环境中安全性约束的任务调度方法和装置
CN110727615A (zh) * 2019-10-11 2020-01-24 福建天晴数码有限公司 一种实现加速接口数据请求的方法及其系统
CN112214319A (zh) * 2020-09-29 2021-01-12 深圳大学 一种计算资源感知的任务调度方法
WO2022067531A1 (zh) * 2020-09-29 2022-04-07 深圳大学 一种计算资源感知的任务调度方法
CN113411757A (zh) * 2021-06-23 2021-09-17 西北工业大学 通信与计算一体化认知云网络中用户分组设计方法及系统

Also Published As

Publication number Publication date
US9389912B2 (en) 2016-07-12
US20150324230A1 (en) 2015-11-12
CN103973594B (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN103973594A (zh) 基于多资源的任务调度方法
US10223604B2 (en) Live video analytics at scale
EP3817310A1 (en) Burst traffic allocation method and apparatus, and proxy server
US9378032B2 (en) Information processing method, information processing apparatus, recording medium, and system
EP1973037B1 (en) Load distribution in client server system
US20130086272A1 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
CN107733967B (zh) 推送信息的处理方法、装置、计算机设备和存储介质
US10216543B2 (en) Real-time analytics based monitoring and classification of jobs for a data processing platform
CN108616553B (zh) 云计算资源池进行资源调度的方法及装置
CN105740059B (zh) 一种面向可分割任务的粒子群调度方法
CN114446064A (zh) 一种分析高速公路服务区流量的方法、装置、存储介质及终端
CN110618865A (zh) Hadoop任务调度方法及装置
CN104765679B (zh) 一种基于用户行为的业务在线测试方法与装置
CN111754218A (zh) 支付方式推荐方法和装置
CN102184124A (zh) 任务调度方法及系统
JP2007272653A (ja) ジョブスケジューリング装置およびジョブスケジューリング方法
CN113688053B (zh) 云化测试工具的排队使用方法和系统
JP5786942B2 (ja) スケジューリングシステム、データ処理システムおよびスケジューリング方法
CN110580192B (zh) 一种基于服务特征的混部场景中容器i/o隔离性优化方法
Anisfeld et al. Scaling of cloud resources-principal component analysis and random forest approach
CN108492390B (zh) 一种并发处理收费数据的方法和装置
KR101407765B1 (ko) 클라우드 환경의 교통정보 서비스를 위한 조건부 확률추론을 이용한 가상머신 할당 장치 및 방법
CN105302643B (zh) 一种作业调度的方法和自学习调度器
Hasgul et al. Simulation modeling and analysis of a new mixed model production lines
CN114202246B (zh) 一种车联网中的动态服务管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant