CN112130992A - 基于高性能开放式数控***的低功耗调度方法 - Google Patents
基于高性能开放式数控***的低功耗调度方法 Download PDFInfo
- Publication number
- CN112130992A CN112130992A CN202010912789.3A CN202010912789A CN112130992A CN 112130992 A CN112130992 A CN 112130992A CN 202010912789 A CN202010912789 A CN 202010912789A CN 112130992 A CN112130992 A CN 112130992A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- cpu
- idle
- speed
- 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 36
- 230000000737 periodic effect Effects 0.000 claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000005265 energy consumption Methods 0.000 claims description 18
- 230000003068 static effect Effects 0.000 claims description 10
- 230000007958 sleep Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000005059 dormancy Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 abstract description 3
- 238000004088 simulation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical class CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 1
- 230000004083 survival 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明涉及一种基于高性能开放式数控***的低功耗调度方法。现有的实时任务节能调度方法,并未考虑到偶发性周期任务的特点和CPU加速时所消耗的时间和能量,在进行处理器速度调节的过程中可能会出现额外的能量损耗,使***整体功耗上升。本一种满足高性能开放式数控***实时性条件下的低功耗调度方法,在任务集调度之前,首先建立忙等待线程,计算CPU在空闲状态下的功耗以及任务集内各子集的执行速度。然后在保证***实时性的前提下,通过门限条件判断任务是否能进入任务准备队列,并重新计算任务执行速度,通过将其与***许用最小运行速度进行比较,得出CPU运行速度最优解。本发明应用于数控领域。
Description
技术领域:
本发明涉及一种基于高性能开放式数控***的低功耗调度方法。
背景技术:
随着《中国制造“2025”》的推行,数控***正向具有更好的灵活性、适应性、多功能性的开放式智能数控***转变。开放式数控***在各种功能强大的智能算法支持下,其功耗也日渐凸显,***功耗的增加会降低***稳定性,这对截止时间有严格约束的开放式数控***是不利的。因此,保证开放式数控***性能的前提下,能够有效降低功耗的实时调度算法是十分必要的。
技术可以保证实时任务不错过截止期限的前提下,利用空闲时间调节处理器的运行速度减低***的动态功耗达到节能的目的。采用动态电源管理(DPM)技术,可以使处于空闲状态下的CPU进入休眠状态降低***静态功耗,从而进一步减少***功耗。
现有的实时任务节能调度方法,并未考虑到偶发性周期任务的特点和CPU加速时所消耗的时间和能量,在进行处理器速度调节的过程中可能会出现额外的能量损耗,使***整体功耗上升。与此同时,当***进入空闲状态后,由于缺少明确的时间-能量判定条件,导致无法有效的减少***产生的静态功耗。
发明内容:
本发明的目的是提供一种基于高性能开放式数控***的低功耗调度方法。
上述的目的通过以下的技术方案实现:
一种基于高性能开放式数控***的低功耗调度方法,包括以下步骤:
步骤1:在***任务开始之前,建立忙等待线程System Idle(wait),计算任务集的总利用率Ut和处理器许用最小运行速度Smin;所述任务集为T(T1, T2,...,Ti...,Tn),共包含n个周期任务;
设置任务准备队列、任务完成队列;所述任务完成队列包含已准备就绪任务集合RT(Ti,t),其中Ti表示第i个周期任务,t表示该任务最坏运行时间,与此同时,准备队列按照任务优先级进行降序排列;所述任务完成队列包含已经运行完毕的任务集合FT(Tfi,tf),其中Tfi表示已经完成的第i个周期任务,tf表示任务实际完成时间;
步骤2:当偶发性周期任务To(po,to)在t时刻到达时,所述的偶发性周期任务是指开放式数控***中由所搭载的智能算法模块产生的控制任务,其中po是To的周期,to为任务最坏执行时间;
当满足门限条件时,根据最早截止期限EDF优先顺序将偶发性周期任务***任务准备队列当中。
步骤3:偶发性周期任务To(po,to)在t时刻调度执行,重新计算To在t时刻的可利用时间left’(t),并基于此重新计算To的执行速度Se;
当Se<Smin时,则采用Smin作为运行速度;
当Smax>Se>Smin时,则判断采用Smax作为执行速度或仍保持Se作为执行速度;
步骤4:当任务完成时,如果没有其他新任务到达,计算CPU空闲时间tidle,根据CPU休眠判断条件对空闲状态下CPU状态进行切换;
若满足,则采用DPM技术将CPU置于休眠状态;
反之,CPU以空闲状态运行,直到新任务到来。
所述的基于高性能开放式数控***的低功耗调度方法,所述步骤2中的门限条件:t o≤left(t)-其中,left(t)为t时刻任务可利用执行时间,tmax(i)为CPU处于最高速状态下的任务运行时间,tɑ为CPU加速时间;
其中tmax(i)的计算公式为:,tɑ的计算公式为:,Cf是动态电压电压转换器DVS的负载,Imax是动态电压转换器的最大输出电流。
所述基于高性能开放式数控***的低功耗调度方法,所述步骤3中重新计算To的执行速度Se,包括:
假定偶发性周期任务在执行期间不会被其他任务抢占,当产生偶发性周期任务To时,则可能出现两种情况:若偶发性周期任务替换
所述基于高性能开放式数控***的低功耗调度方法,所述步骤3中的当Smax>Se>Smin时,判断采用Smax作为执行速度或仍保持Se作为执行速度,包括:
假定***在进行任务调度的过程中静态功耗保持不变,***在加速过程中所产生的额外耗能,其中u表示DVS的切换功率,Cf表示DVS的负载,***空闲状态下的额外耗能,置判别函数由于判别函数为单调函数,故当F(tɑ)>0时,则采用Se作为执行速度;反之,则采用Smax作为执行速度。
根据权利要求4所述基于高性能开放式数控***的低功耗调度方法,其特征是:CPU休眠判断条件,包括:
假设不考虑***漏电对于***的影响,CPU在空闲与休眠之间切换所需要的能量Eon为:,其中;***处于空闲状态静态功耗E S=U c * I c*(t idle+n*P t),其中Uc,Ic为CPU处于空闲状态下所对应电压、电流,tidle为一个周期内任务提早完成所剩下的空闲时间,n为间隔第n个周期有新任务到来;由于Eon与ES均为单调函数,故当空闲状态静态功耗小于CPU在空闲与休眠之间切换所需要的能量,则***进入休眠状态;反之,则***保持空闲状态直至新任务到来。
本发明的有益效果:
1.本发明采用本发明方法,在充分利用***的空闲时间基础上,引入门限条件保证***实时性,考虑CPU运行速度变化率对任务执行速度的影响,得出CPU运行速度最优解从而降低处理器运行速度,比现有的低功耗调度方法平均减少15.3%能耗。
本发明采用本发明方法,在保证任务集任务可调度性的前提下,考虑CPU状态转换功耗与空闲功耗之间的关系,合理的将处理器置于不同的工作状态,达到减少功耗的目的,经验证当***处于低负载时,比现有的低功耗调度方法平均减少6.2%的功耗。
附图说明:
图1为本发明方法的步骤流程图;
图2为本发明中的变化对能耗影响的仿真实验结果图;
图3为本发明中负载的变化对能耗影响的仿真实验结果图;
具体实施方式:
实施例1:
参考附图1,低功耗调度方法分为三个阶段:离线阶段、任务执行阶段、***空闲阶段,针对高性能数控***会产生偶发性周期任务的特点,实现不同阶段的低功耗调度。偶发性周期任务是实时任务的一种,在高性能数控***当中经常由搭载智能算法的模块产生,其特点与周期性任务相似,即两个连续任务实例的释放间隔为固定的常数,区别在于偶发性周期任务会存在一定的生命周期,任务存活期间具备周期任务的特征,生命周期结束后与偶发性任务类似;
在t=0时刻,根据***时钟周期Pc建立忙等待线程System Idle(wait),得出当前状态下的***功耗为Ps=Uc*Ic,其中Uc、Ic为CPU处于空闲状态下所对应的的电压与电流。
周期任务集开始调度之前,计算周期任务的总利用率,处理器许用最小运行速度S min为,其中t为任务Ti的最坏执行时间。
实施例2:
在实时调度器上分别设置两个队列:任务完成队列(done queue)表示任务集当中已经完成任务的集合,用集合FT(Tfi,tf)表示;任务准备队列(ready queue)包含已经准备就绪但是还未被调度的任务集合,用集合RT(Ti,t)表示。
在t时刻偶发性周期任务To(po,to)到来,根据门限条件,当t o≤left(t)-时,则根据最早截止期限优先原则***就绪任务队列当中。
当偶发性周期任务T o(p o,t o)在t时刻就绪,偶发性周期任务替换原准备队列当中任务,且此时CPU的总利用率,则此时CPU的执行速度为Se=S0;
若偶发性周期任务为准备队列的新子集,则执行速度。
一个完整的时钟周期应该由以下三部分组成:任务完成队列中各任务的实际消耗时间之和、优先级在To(po,to)之后,任务就绪队列当中所有任务最坏执行时间之和以及剩余时间left’(t);计算。
计算任务To的执行速度Se=t0/left’(t); 当Se<Smin时,则采用Smin作为运行速度;当Smax>Se>Smin时,假定***在进行任务调度的过程中静态功耗保持不变,计算加速过程中所产生的额外耗能;计算***空闲状态下的额外耗能。
:置判别函数;判别函数F(tɑ)是关于参数的单调函数,当F(tɑ)>0时,则采用Se作为执行速度;反之,则采用Smax作为执行速度;
判断处理器空闲后是否切换至休眠状态。处理器由休眠状态进入到工作状态所需要的能耗表示为,***空闲时间,***处于空闲状态静态功耗E S=U c * I c*(t idle+n*P t),当n=0时,即在下一个周期会有新任务到达,则此时***空闲时间t idle≥,则***进入休眠状态。
当时,则***处于空闲状态;反之,***进入休眠状态。
实施例3:
图2为本发明中任务平均实际执行时间与时钟周期Pt之比对能耗影响的仿真实验结果图。对比算法为现有的LA-EDF算法、DVSST算法和DSTLPSA算法。横坐标为,纵坐标为归一化后的能耗。当在时钟周期内所占的比例逐渐增大,任务集的平均空闲时间就会减少,以上算法的能耗都会逐渐上升。可以看出本发明提出的算法性能始终优于其他算法,经计算可知本算法比其他算法平均节约15%左右能耗。
图3为本发明中***利用率变化对能耗影响的仿真实验结果图。对比算法为现有的LA-EDF算法、DVSST算法和DSTLPSA算法。横坐标为***负载,纵坐标为归一化后的能耗。当***处于低负载的情况时,由于本发明算法考虑到CPU运行速度变化率与CPU状态转换-空闲功耗之间的关系,在该情形下选择性的使CPU进入休眠状态或空闲状态,在能耗上比其他算法消耗少6.2%。随着利用率的增加,合理选择执行速度最优解的本发明算法在很多时间段上效果明显,较其他算法平均节省10.2%能耗。当利用率接近1时,为保证任务能够在截止时间内完成,所有任务执行速度基本相同,故能耗消耗也类似。
Claims (5)
1.一种基于高性能开放式数控***的低功耗调度方法,其特征是:包括以下步骤:
步骤1:在***任务开始之前,建立忙等待线程System Idle(wait),计算任务集的总利用率Ut和处理器许用最小运行速度Smin;所述任务集为T(T1, T2,...,Ti...,Tn),共包含n个周期任务;
设置任务准备队列、任务完成队列;所述任务完成队列包含已准备就绪任务集合RT(Ti,t),其中Ti表示第i个周期任务,t表示该任务最坏运行时间,与此同时,准备队列按照任务优先级进行降序排列;所述任务完成队列包含已经运行完毕的任务集合FT(Tfi,tf),其中Tfi表示已经完成的第i个周期任务,tf表示任务实际完成时间;
步骤2:当偶发性周期任务To(po,to)在t时刻到达时,所述的偶发性周期任务是指开放式数控***中由所搭载的智能算法模块产生的控制任务,其中po是To的周期,to为任务最坏执行时间;
当满足门限条件时,根据最早截止期限EDF优先顺序将偶发性周期任务***任务准备队列当中。
步骤3:偶发性周期任务To(po,to)在t时刻调度执行,重新计算To在t时刻的可利用时间left’(t),并基于此重新计算To的执行速度Se;
当Se<Smin时,则采用Smin作为运行速度;
当Smax>Se>Smin时,则判断采用Smax作为执行速度或仍保持Se作为执行速度;
步骤4:当任务完成时,如果没有其他新任务到达,计算CPU空闲时间tidle,根据CPU休眠判断条件对空闲状态下CPU状态进行切换;
若满足,则采用DPM技术将CPU置于休眠状态;
反之,CPU以空闲状态运行,直到新任务到来。
2.根据权利要求1所述的基于高性能开放式数控***的低功耗调度方法,其特征是,所述步骤2中的门限条件:t o≤left(t)-其中,left(t)为t时刻任务可利用执行时间,tmax(i)为CPU处于最高速状态下的任务运行时间,tɑ为CPU加速时间;
其中tmax(i)的计算公式为:,tɑ的计算公式为:,Cf是动态电压电压转换器DVS的负载,Imax是动态电压转换器的最大输出电流。
4.根据权利要求3所述基于高性能开放式数控***的低功耗调度方法,其特征是,所述步骤3中的当Smax>Se>Smin时,判断采用Smax作为执行速度或仍保持Se作为执行速度,包括:
假定***在进行任务调度的过程中静态功耗保持不变,***在加速过程中所产生的额外耗能,其中u表示DVS的切换功率,Cf表示DVS的负载,***空闲状态下的额外耗能,置判别函数由于判别函数为单调函数,故当F(tɑ)>0时,则采用Se作为执行速度;反之,则采用Smax作为执行速度。
5.根据权利要求4所述基于高性能开放式数控***的低功耗调度方法,其特征是:CPU休眠判断条件,包括:
假设不考虑***漏电对于***的影响,CPU在空闲与休眠之间切换所需要的能量Eon为:,其中;***处于空闲状态静态功耗E S=U c * I c*(t idle+n*P t),其中Uc,Ic为CPU处于空闲状态下所对应电压、电流,tidle为一个周期内任务提早完成所剩下的空闲时间,n为间隔第n个周期有新任务到来;由于Eon与ES均为单调函数,故当空闲状态静态功耗小于CPU在空闲与休眠之间切换所需要的能量,则***进入休眠状态;反之,则***保持空闲状态直至新任务到来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010912789.3A CN112130992A (zh) | 2020-09-03 | 2020-09-03 | 基于高性能开放式数控***的低功耗调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010912789.3A CN112130992A (zh) | 2020-09-03 | 2020-09-03 | 基于高性能开放式数控***的低功耗调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112130992A true CN112130992A (zh) | 2020-12-25 |
Family
ID=73848201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010912789.3A Pending CN112130992A (zh) | 2020-09-03 | 2020-09-03 | 基于高性能开放式数控***的低功耗调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130992A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816031A (zh) * | 2022-05-09 | 2022-07-29 | 海信电子科技(深圳)有限公司 | 终端设备的省电方法、终端设备及介质 |
CN114928644A (zh) * | 2022-07-20 | 2022-08-19 | 深圳市安科讯实业有限公司 | 一种物联网网络融合加速网关 |
-
2020
- 2020-09-03 CN CN202010912789.3A patent/CN112130992A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816031A (zh) * | 2022-05-09 | 2022-07-29 | 海信电子科技(深圳)有限公司 | 终端设备的省电方法、终端设备及介质 |
CN114816031B (zh) * | 2022-05-09 | 2023-10-13 | 海信电子科技(深圳)有限公司 | 终端设备的省电方法、终端设备及介质 |
CN114928644A (zh) * | 2022-07-20 | 2022-08-19 | 深圳市安科讯实业有限公司 | 一种物联网网络融合加速网关 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112130992A (zh) | 基于高性能开放式数控***的低功耗调度方法 | |
CN109739332B (zh) | 一种多任务通用能耗优化方法 | |
CN100465857C (zh) | 一种面向嵌入式***低功耗实时任务调度的简化方法 | |
CN109324880A (zh) | 一种适用于实时***周期任务模型的低功耗调度方法 | |
CN101339521A (zh) | 一种任务优先级动态调度算法 | |
CN109324891A (zh) | 一种比例空闲时间分配的周期任务低功耗调度方法 | |
CN1945498A (zh) | 面向嵌入式***低功耗实时任务参数模型调度方法 | |
CN109597378B (zh) | 一种资源受限混合任务能耗感知方法 | |
CN107391244A (zh) | 一种基于混合调度模型的物联网操作***调度方法 | |
KR20090120970A (ko) | 인터럽트 스케줄링 방법 | |
CN113535356B (zh) | 一种能量感知的分层任务调度方法和装置 | |
CN105630126A (zh) | 一种基于常带宽服务器混合任务低功耗调度方法 | |
CN101943944B (zh) | 一种基于空闲历史信息的计算阵列节能方法 | |
CN105706022B (zh) | 一种预测处理器利用率的方法、处理装置和终端设备 | |
CN105677449B (zh) | 一种适用于数控***的低功耗调度方法 | |
CN115686863A (zh) | 一种混合轮询方法、装置、设备及可读存储介质 | |
CN106933325B (zh) | 一种固定优先级io设备能耗管理方法 | |
CN106951056B (zh) | Cpu和io设备低能耗调度方法 | |
CN106815073B (zh) | 一种基于平衡因子的动态偶发任务低功耗调度方法 | |
CN111324197B (zh) | 一种基于三速度周期任务的降低***能耗的方法 | |
Salhiene et al. | Dynamic voltage scheduling for real time asynchronous systems | |
CN116204290A (zh) | 一种基于edf调度策略的仪表任务执行方法 | |
Deng et al. | A dynamic power management algorithm for sporadic tasks in real-time embedded systems | |
CN110196756B (zh) | 一种支持能耗优化的虚拟机模式转移方法 | |
TWI831611B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201225 |