CN106598716B - 一种基于多处理器的任务调度方法 - Google Patents

一种基于多处理器的任务调度方法 Download PDF

Info

Publication number
CN106598716B
CN106598716B CN201611110809.5A CN201611110809A CN106598716B CN 106598716 B CN106598716 B CN 106598716B CN 201611110809 A CN201611110809 A CN 201611110809A CN 106598716 B CN106598716 B CN 106598716B
Authority
CN
China
Prior art keywords
task
mode
processor
scheduling
pattern switching
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
CN201611110809.5A
Other languages
English (en)
Other versions
CN106598716A (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.)
Shaanxi Shang Shang Mdt Infotech Ltd
Original Assignee
Shaanxi Shang Shang Mdt Infotech 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 Shaanxi Shang Shang Mdt Infotech Ltd filed Critical Shaanxi Shang Shang Mdt Infotech Ltd
Priority to CN201611110809.5A priority Critical patent/CN106598716B/zh
Publication of CN106598716A publication Critical patent/CN106598716A/zh
Application granted granted Critical
Publication of CN106598716B publication Critical patent/CN106598716B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种基于多处理器的任务调度方法。其实现方案是:1.获取计算机应用程序的所基于的处理器数目和模式数目,得到对应的模式切换示意图,并对计算机应用程序中的任务进行分类并且按照截止时间进行排序;2.对MD任务进行处理器匹配限制和任务利用率限制,并对切换时延的下界进行限制,求出最小的切换时延和最优的调度方案;3.对于不合理的切换时延,则继续解出最小的切换时延和最优的调度方案,如果切换时延合理,则继续执行下一步;4.对于系统中的每一个模式,根据每一个模式的切换时延最小值求系统总的最小切换时延。本发明基于多处理器系统,会使应用程序运行速度更快,效率更高,运行寿命更长。可用于工程调度和计算机指令调度系统。

Description

一种基于多处理器的任务调度方法
技术领域
本发明属于任务调度领域,尤其涉及一种基于多处理器的任务调度方法,可用于工程调度和计算机指令调度系统。
背景技术
进入21世纪,随着电子技术和计算机技术的迅猛发展,实时系统的应用范围在不断扩大,尤其是智能手机的不断普及。这些领域的的发展迫切需要性能更强大,操作更灵活,运行更流畅的多处理器系统以满足用户愈来愈复杂化、智能化的需求。
现有的基于单处理器进行系统任务合理调度的方法使得系统任务按照合理的优先顺序进行,从而满足应用程序有条不紊的运行。这种方法存在系统利用率低下,工作效率不高,用户等待时间长等问题。
随着当前社会对计算机应用程序流畅性要求的提高,基于多处理器的任务调度方法正在逐步取代基于单处理器的任务调度方法。现有的基于多处理器的任务调度方法主要通过提前制定全局静态任务调度来实现,全局静态任务调度是指人为规定系统中的处理器与任务的匹配关系,在计算机程序执行过程中这种匹配关系不发生改变,一直保持到程序结束。这种方法可能导致任务中断和任务延迟,从而使计算机应用程序出现卡顿,中止等问题。
发明内容
本发明提出一种基于多处理器的任务调度方法,针对现有全局静态任务调度方法容易卡顿,中止的不足,通过将模式及任务进行合理规划调度,提高了计算机多处理器运行的效率,缩短了模式切换时间。
本发明的技术方案包括如下:
一种基于多处理器的任务调度方法,包括以下步骤:
步骤一:获取系统参数,对每个模式下的任务进行区分并且排序;
步骤二:获得最优的任务调度方法;
步骤三:检验调度方法的合理性,并对系统的每个模式进行任务调度。
进一步根据所述基于多处理器的任务调度方法,计算机应用程序中存在多个模式,为Pr(r=1,…,n),其中n表示模式的种类数,为有限正整数,MD任务为计算机应用程序中特定模式下才完成的任务,模式Pr对应一个MD任务集合Rr,计算机应用程序功能由模式之间的相互切换共同完成,当模式切换Pr→Pr+1未发生时,任务集合Rr中的任务按照顺序周期性执行;当模式切换Pr→Pr+1发生时,任务集合Rr中的任务j必须在一个时间点之前完成,此时间点为截止时间,记为Dj;为了使得计算机应用程序正常运行,需要使计算机应用程序中多个模式进行相互切换;
基于多处理器平台的任务进行合理调度,使得每个模式切换时延Lr最小,在模式切换Pr→Pr+1发生时,必须保证在模式Pr下的任务在对应截止时间之前全部完成,并且不因模式切换而中断,切换时延Lr必须是有限长;
MI任务为计算机应用程序中,不受模式切换影响,在任何模式下都会执行的任务,对于MI任务,不需要进行人为调度,只需要按照系统默认顺序执行。
进一步根据所述基于多处理器的任务调度方法,步骤一中获取系统参数,对每个模式下的任务进行区分并且排序;
系统获取计算机应用程序系统所基于的多处理器的数目m,获取计算机应用程序中不同的工作模式的种类数n,获取每种模式下的任务集合Rr
按照任务截止时间早,任务先执行的规则对MD任务进行排序。
进一步根据所述基于多处理器的任务调度方法,步骤二中获得最优的任务调度方法,模式切换时延越小越好,模式切换Pr→Pr+1,具体步骤如下:
(2-1)对MD任务的调度进行处理器匹配限制,每个MD任务都要分配给一个处理器并且每个处理器的利用率小于等于1,有其中yij为一个布尔型变量,取值为0或1,如果任务j被分配到处理器i,则yij取值为1;如果任务j没有被分配到处理器i,则yij取值为0,M表示系统所有MD任务的集合;
(2-2)对MD任务进行系统任务利用率限制,对于一个具体的计算机应用程序系统,完成这个应用程序的所有任务的利用率小于等于1,有其中Uj表示任务j的时间利用率,表示任务的执行时间与任务的执行周期之比,有Cj为任务j的执行时间,Tj为任务j的执行周期,Ii为分配到处理器i的MI任务的集合,m为系统中处理器的数量;
(2-3)对模式切换时延的下界进行限制,模式切换Pr→Pr+1发生时,模式Pr对应的任务集合Rr中的任务j必须在截止时间Dj之前完成,对于集合M中的任一元素j,即任务,设其完成周期为Tj,用表示第i个处理器中的任务执行周期的最大值,则对于第i个处理器,可得Mi表示分配到处理器i的MD任务,最小模式切换时延Lr满足
在模式切换Pr→Pr+1发生的同时,如果模式Pr对应的任务集合Rr中的有新的任务j加入,并且MI任务也同时执行,把这种情况作为切换延迟Lr的另一个下界,用表示,对于第i个处理器,有:
其中Cj表示任务j的执行时间,Tj表示任务j的完成周期,切换时延Lr满足
求解得到最小模式切换时延Lr和布尔型变量yij
(2-4)预处理模式切换Pr→Pr+1具体的调度方法,根据布尔型变量yij,若yij的取值为1,则把任务j被调度给处理器I;若变量yij取值为0,则表示任务j没有被调度给处理器i。
进一步根据所述基于多处理器的任务调度方法,步骤三中检验调度方法的合理性,并对系统的每个模式进行任务调度,Lr为模式切换Pr→Pr+1时的最小切换时延,其中Tj为任务j的执行周期,Dj为任务j的截止时间;
对于模式Pr对应的任务集合Rr中的任务j,若Lr+Tj>Dj,则说明调度方法不合理,则返回步骤二继续寻找最优的任务调度方法;
若Lr满足Lr+Tj≤Dj,则说明所选调度方法合理,完成任务调度。
进一步根据所述基于多处理器的任务调度方法,系统中应用程序的模式转换关系相同,每个应用程序直到得到每种模式切换时最优的任务调度方法,则说明顺利执行完应用程序,系统切换时延为
本发明具有如下优点:
1.本发明缩短了应用程序中多模式切换的切换时延,可以使系统运行更加流畅。
2.本发明对系统任务进行分类,对于不同类别的系统任务进行区分调度,调度方法结合了EDF(最早截止时间优先分配)的优点,可以使系统运行效率更高。
3.本发明基于多处理器系统,相比于单处理器系统,每台处理器的负担会减轻,可以使系统寿命更长。
4.本发明易于实现系统自动控制。
附图说明
图1为本发明所述一种基于多处理器任务调度方法的流程图;
图2为本发明所述方法涉及的模式切换示意图;
图3为本发明所述方法对系统的每个模式进行任务调度的模式转换关系。
具体实施方式
为使本发明的目的方法和优点更加清楚明白,以下结合附图对本发明所述方法做进一步详细描述。
在一个计算机应用程序中存在多个模式,记为Pr(r=1,…,n),其中n表示模式的种类数,为有限正整数。MD任务为计算机应用程序中特定模式下才完成的任务,模式Pr对应一个MD任务集合Rr,计算机应用程序功能由模式之间的相互切换共同完成。当模式切换Pr→Pr+1未发生时,任务集合Rr中的任务按照顺序周期性执行;当模式切换Pr→Pr+1发生时,任务集合Rr中的任务j必须在一个时间点之前完成,这个时间点称为截止时间,记为Dj;为了使得计算机应用程序正常运行,需要使计算机应用程序中多个模式进行相互切换,如图2所示,图上的圆圈代表模式Pr,有向边代表由模式Pr到模式Pr+1的切换时延Lr
通过基于多处理器平台的任务进行合理调度,使得每个模式切换时延Lr最小。本发明所述方法中,在模式切换Pr→Pr+1发生时,必须保证在模式Pr下的任务在对应截止时间之前全部完成,并且不因模式切换而中断,切换时延Lr必须是有限长。
如图1所示,本发明所述方法按如下步骤进行:
步骤一:获取系统参数,对每个模式下的任务进行区分并且排序。
获取计算机应用程序系统所基于的多处理器的数目,记为m。获取计算机应用程序中不同的工作模式的种类数,记为n。系统获取每种模式下的任务集合Rr,如图2所示,表示根据工作模式种类数n和模式之间的切换关系得到模式切换转移方法。
在计算机应用程序中,把不受模式切换影响的,在任何模式下都会执行的任务,称为MI任务。对于MI任务,不需要进行人为调度,只需要按照系统默认顺序执行;对于MD任务,按照任务截止时间早的任务率先执行的规则对MD任务进行排序。
步骤二:获得最优的任务调度方法。
本发明所述方法的目的是希望模式切换时延越小越好,为了求得更加精确的模式切换时延和任务调度方法,以模式切换Pr→Pr+1为例,具体步骤如下:
(2-1)对MD任务的调度进行处理器匹配限制。
每个MD任务都要分配给一个处理器并且每个处理器的利用率要小于等于1,可由下式表示:
其中yij为一个布尔型变量,取值为0或1,如果任务j被分配到处理器i,则yij取值为1;如果任务j没有被分配到处理器i,则yij取值为0。M表示系统所有MD任务的集合。
(2-2)对MD任务进行系统任务利用率限制。
对于一个具体的计算机应用程序系统,完成这个应用程序的所有任务的利用率小于等于1,记为:
其中Uj表示任务j的时间利用率,表示任务的执行时间与任务的执行周期之比,有Cj为任务j的执行时间,Tj为任务j的执行周期。Ii为分配到处理器i的MI任务的集合,m为系统中处理器的数量。
(2-3)对模式切换时延的下界进行限制。
模式切换Pr→Pr+1发生时,模式Pr对应的任务集合Rr中的任务j必须在截止时间Dj之前完成,对于集合M中的任一元素j,即任务,其完成周期为Tj。用表示第i个处理器中的任务执行周期的最大值,则对于第i个处理器,可得:
Mi表示分配到处理器i的MD任务,最小模式切换时延Lr满足:
在模式切换Pr→Pr+1发生的同时,如果模式Pr对应的任务集合Rr中的有新的任务j加入,并且MI任务也同时执行,把这种情况作为切换延迟Lr的另一个下界,用表示。
对于第i个处理器,有:
其中,Cj表示任务j的执行时间,Tj表示任务j的完成周期,切换时延Lr满足:
求解得到最小模式切换时延Lr和布尔型变量yij
(2-4)预处理模式切换Pr→Pr+1具体的调度方法。
根据布尔型变量yij,若yij的取值为1,则把任务j被调度给处理器I;若变量yij取值为0,则表示任务j没有被调度给处理器i。
步骤三:检验调度方法的合理性,并对系统的每个模式进行任务调度。
Lr表示模式切换Pr→Pr+1时的最小切换时延,其中Tj表示任务j的执行周期,Dj表示任务j的截止时间。
对于模式Pr对应的任务集合Rr中的任务j,若Lr+Tj>Dj,则说明调度方法不合理,则返回步骤二继续寻找最优的任务调度方法;
若Lr满足Lr+Tj≤Dj,则说明所选调度方法合理。
如图3所示,为应用程序的模式转换关系,与系统中其他应用程序的模式转换关系相同,如步骤二中所述,直到得到每种模式切换时最优的任务调度方法,则说明顺利执行完应用程序,系统切换时延用字母W表示为
上述仅是为清楚地说明本发明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举,而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围之中。

Claims (3)

1.一种基于多处理器的任务调度方法,其特征在于,包括以下步骤:
步骤一:获取系统参数,对每个模式下的任务进行区分并且排序;
步骤二:获得最优的任务调度方法;
步骤三:检验调度方法的合理性,并对系统的每个模式进行任务调度;
其中,在计算机应用程序中存在多个模式,记为Pr(r=1,…,n),其中n表示模式的种类数,为有限正整数,MD任务为计算机应用程序中特定模式下才完成的任务,模式Pr对应一个MD任务集合Rr,计算机应用程序功能由模式之间的相互切换共同完成,当模式切换Pr→Pr+1未发生时,任务集合Rr中的任务按照顺序周期性执行;当模式切换Pr→Pr+1发生时,任务集合Rr中的任务j必须在一个时间点之前完成,此时间点为截止时间,记为Dj;为了使得计算机应用程序正常运行,需要使计算机应用程序中多个模式进行相互切换;基于多处理器平台的任务进行合理调度,使得每个模式的模式切换时延最小,在模式切换Pr→Pr+1发生时,必须保证在模式Pr下的任务在对应截止时间之前全部完成,并且不因模式切换而中断,模式切换时延必须是有限长;MI任务为计算机应用程序中,不受模式切换影响,在任何模式下都会执行的任务,对于MI任务,不需要进行人为调度,只需要按照系统默认顺序执行;
步骤一中获取系统参数,对每个模式下的任务进行区分并且排序;系统获取计算机应用程序系统所基于的多处理器的数目m,获取计算机应用程序中不同的工作模式的种类数n,获取每种模式下的任务集合Rr;按照任务截止时间早,任务先执行的规则对MD任务进行排序;
步骤二中获得最优的任务调度方法,模式切换时延越小越好,模式切换Pr→Pr+1,具体步骤如下:(2-1)对MD任务的调度进行处理器匹配限制,每个MD任务都要分配给一个处理器并且每个处理器的利用率小于等于1,有其中yij为一个布尔型变量,取值为0或1,如果任务j被分配到处理器i,则yij取值为1;如果任务j没有被分配到处理器i,则yij取值为0,M表示系统所有MD任务的集合;(2-2)对MD任务进行系统任务利用率限制,对于一个具体的计算机应用程序系统,完成这个应用程序的所有任务的利用率小于等于1,有其中Uj表示任务j的时间利用率,表示任务的执行时间与任务的执行周期之比,有Cj为任务j的执行时间,Tj为任务j的执行周期,Ii为分配到处理器i的MI任务的集合,m为系统中处理器的数量;(2-3)对模式切换时延的下界进行限制,模式切换Pr→Pr+1发生时,模式Pr对应的任务集合Rr中的任务j必须在截止时间Dj之前完成,对于集合M中的任一元素j,即任务,设其执行周期为Tj,用表示第i个处理器中的任务执行周期的最大值,则对于第i个处理器,可得Mi表示分配到处理器i的MD任务,在模式切换Pr→Pr+1发生的同时,如果模式Pr对应的任务集合Rr中的有新的任务j加入,并且MI任务也同时执行,把这种情况作为模式切换时延的另一个下界,用表示,对于第i个处理器,有:其中Cj表示任务j的执行时间,Tj表示任务j的执行周期,求解得到最小模式切换时延Lr和布尔型变量yij;(2-4)预处理模式切换Pr→Pr+1具体的调度方法,根据布尔型变量yij,若yij的取值为1,则把任务j被调度给处理器i;若变量yij取值为0,则表示任务j没有被调度给处理器i。
2.根据权利要求1所述基于多处理器的任务调度方法,其特征在于,步骤三中检验调度方法的合理性,并对系统的每个模式进行任务调度,Lr为模式切换Pr→Pr+1时的最小模式切换时延,其中Tj为任务j的执行周期,Dj为任务j的截止时间;
对于模式Pr对应的任务集合Rr中的任务j,若Lr+Tj>Dj,则说明调度方法不合理,则返回步骤二继续寻找最优的任务调度方法;
若Lr满足Lr+Tj≤Dj,则说明所选调度方法合理,完成任务调度。
3.根据权利要求1所述基于多处理器的任务调度方法,其特征在于,系统中应用程序的模式转换关系相同,每个应用程序直到得到每种模式切换时最优的任务调度方法,则说明顺利执行完应用程序,系统切换时延为
CN201611110809.5A 2016-12-02 2016-12-02 一种基于多处理器的任务调度方法 Active CN106598716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611110809.5A CN106598716B (zh) 2016-12-02 2016-12-02 一种基于多处理器的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611110809.5A CN106598716B (zh) 2016-12-02 2016-12-02 一种基于多处理器的任务调度方法

Publications (2)

Publication Number Publication Date
CN106598716A CN106598716A (zh) 2017-04-26
CN106598716B true CN106598716B (zh) 2019-05-28

Family

ID=58596375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611110809.5A Active CN106598716B (zh) 2016-12-02 2016-12-02 一种基于多处理器的任务调度方法

Country Status (1)

Country Link
CN (1) CN106598716B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256458A (zh) * 2017-06-06 2017-10-17 华北电力大学(保定) 一种多处理器片上系统的性能良品率优化方法和装置
CN111913799B (zh) * 2020-07-14 2024-04-19 北京华夏启信科技有限公司 一种视频流在线分析任务调度方法和计算机设备
CN112214319B (zh) * 2020-09-29 2021-08-06 深圳大学 一种计算资源感知的任务调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226421A (zh) * 2008-01-16 2008-07-23 浙江大学 实时嵌入式系统edf低功耗调度的msr方法
CN101620550A (zh) * 2009-05-27 2010-01-06 西华师范大学 一种基于任务模糊多特征的嵌入式实时调度方法
CN103257900A (zh) * 2013-05-24 2013-08-21 杭州电子科技大学 减少cpu占用的多处理器上实时任务集资源预留方法
CN105975049A (zh) * 2016-05-05 2016-09-28 华侨大学 一种任务同步偶发任务低能耗调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226421A (zh) * 2008-01-16 2008-07-23 浙江大学 实时嵌入式系统edf低功耗调度的msr方法
CN101620550A (zh) * 2009-05-27 2010-01-06 西华师范大学 一种基于任务模糊多特征的嵌入式实时调度方法
CN103257900A (zh) * 2013-05-24 2013-08-21 杭州电子科技大学 减少cpu占用的多处理器上实时任务集资源预留方法
CN105975049A (zh) * 2016-05-05 2016-09-28 华侨大学 一种任务同步偶发任务低能耗调度方法

Also Published As

Publication number Publication date
CN106598716A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
Zhang et al. Dynamic cloud task scheduling based on a two-stage strategy
Simaria et al. A genetic algorithm based approach to the mixed-model assembly line balancing problem of type II
Nakasuka et al. Dynamic scheduling system utilizing machine learning as a knowledge acquisition tool
Zhu et al. Scheduling stochastic multi-stage jobs to elastic hybrid cloud resources
Jin et al. Bar: An efficient data locality driven task scheduling algorithm for cloud computing
CN101237469B (zh) 运用蚁群算法优化多QoS网格工作流的方法
CN106598716B (zh) 一种基于多处理器的任务调度方法
Guo et al. Optimisation of integrated process planning and scheduling using a particle swarm optimisation approach
CN107168770B (zh) 一种低能耗的云数据中心工作流调度与资源供给方法
Chakrabortty et al. Single mode resource constrained project scheduling with unreliable resources
CN104679595B (zh) 一种面向应用的IaaS层动态资源分配方法
CN109582448A (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN105450684B (zh) 云计算资源调度方法和系统
CN101901161A (zh) 一种面向能耗相关软/硬件划分的层次化控制数据流图建模方法
CN102662740A (zh) 非对称多核系统及其实现方法
CN109032756A (zh) 虚拟化云数据中心的调度方法
CN109597682A (zh) 一种采用启发式编码策略的云计算工作流调度方法
Hao et al. Adaptive energy-aware scheduling method in a meteorological cloud
CN114374692A (zh) 一种多容器集群管理的实现方法及系统
CN103257900A (zh) 减少cpu占用的多处理器上实时任务集资源预留方法
US20240004707A1 (en) Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices
CN106055862A (zh) 一种新型高效的启发式两阶段并行分支定界方法
Zhang et al. Simulation-based surgery appointment sequencing and scheduling of multiple operating rooms
Yu et al. Improvement and Application of Task Scheduling Algorithm for Embedded Real-Time Operating System
CN103440533B (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