CN109947543A - 一种基于单检查点机制的容错能耗优化方法 - Google Patents
一种基于单检查点机制的容错能耗优化方法 Download PDFInfo
- Publication number
- CN109947543A CN109947543A CN201910167558.1A CN201910167558A CN109947543A CN 109947543 A CN109947543 A CN 109947543A CN 201910167558 A CN201910167558 A CN 201910167558A CN 109947543 A CN109947543 A CN 109947543A
- Authority
- CN
- China
- Prior art keywords
- periodic duty
- task
- checkpoint
- energy consumption
- fault
- 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
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种基于单检查点机制的容错能耗优化方法,包括:建立单检查点机制周期任务模型,该周期任务模型包括由n个周期任务组成的周期任务集,每个周期任务用Ti(1≤i≤n,i为正整数)表示,每个周期任务Ti插入一个检查点;计算插入检查点后周期任务Ti的最坏情况下执行时间Wi;计算插入检查点后的系统利用率Utot及系统空闲利用率I;根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度,当错误发生时,所述缩放任务从其检查点以最大处理器速度重新执行发生错误的周期任务Ti;根据最早截止期限优先策略调度周期任务集。本发明的方法利用单检查点机制实现容错,在确保系统可靠性的前提下,能够有效地降低系统能耗。
Description
技术领域
本发明涉及嵌入式系统领域周期任务容错能耗优化方法,特别是涉及一种基于单检查点机制的容错能耗优化方法。
背景技术
对于嵌入式系统而言,不仅要确保系统的实时性、容错能力,还要尽可能降低系统的能耗。对于无人机、航空领域应用的嵌入式系统,容错、可靠性、低功耗尤为重要,因为一旦这些系统发生错误,可能会造成致命的后果,甚至导致严重的灾难。但低能耗与容错是相互冲突的目标,因此在实际应用中需要进行权衡,以达到最佳的性价比。
目前关于嵌入式系统领域的容错能耗优化方法,大多都使用多检查点机制,也就是每个任务插入多个检查点来实现容错,这样导致检查点的开销过大,系统的空闲时间减少,以致没有足够的空闲时间用来降低系统能耗,导致系统的能耗过大。
发明内容
本发明的目的在于克服现有技术的不足,提出一种适用于嵌入式系统的基于单检查点机制的容错能耗优化方法,该方法根据系统空闲利用率与系统利用率之间的大小关系从周期任务集中选出缩放任务,确定缩放任务的执行速度,其余未被选为缩放任务的周期任务则以最大处理器速度执行。
本发明解决其技术问题所采用的技术方案是:一种基于单检查点机制的容错能耗优化方法,包括:
建立单检查点机制周期任务模型,该周期任务模型包括由n个周期任务组成的周期任务集,每个周期任务用Ti(1≤i≤n,i为正整数)表示,每个周期任务Ti插入一个检查点;
计算插入检查点后周期任务Ti的最坏情况下执行时间Wi;
计算插入检查点后的系统利用率Utot及系统空闲利用率I;
根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度;
根据最早截止期限优先策略调度周期任务集。
进一步的,所述周期任务Ti包括四元组(Ci,Pi,Di,Ki),其中,Ci是周期任务Ti在最大处理器速度下且没有错误发生的执行时间;Pi是周期任务Ti的周期;Di是周期任务Ti的相对截止期限;Ki是周期任务Ti容忍错误的个数。
进一步的,所述计算插入检查点后周期任务Ti的最坏情况下执行时间Wi的计算方式如下:
Wi=Ci+Oi,
其中,Oi是周期任务Ti所插入的一个检查点的开销,其值由下式计算:
Oi=λCi,
其中λ是常数,所述检查点插入到周期任务Ti之前,以便出现错误时,整个周期任务Ti能够恢复执行。
进一步的,所述计算插入检查点后的系统利用率Utot的计算方式如下:
其中,ui是插入检查点之后周期任务Ti的利用率,其值由下式计算:
所述系统空闲利用率I由下式计算:
I=1-Utot。
进一步的,所述根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度包括:
当系统空闲利用率I大于或等于系统利用率Utot时,所有的周期任务Ti都被选为缩放任务,确定这些缩放任务的执行速度S;
当系统空闲利用率I小于系统利用率Utot时,利用周期任务Ti的松弛度选取部分周期任务Ti作为缩放任务,进而确定缩放任务的执行速度Si,其它周期任务Ti则以最大处理器速度执行。
进一步的,所述周期任务Ti的松弛度是指其紧迫程度Ji,所述紧迫程度Ji的值由周期任务Ti在最大处理器速度下且没有错误发生的执行时间Ci与相对截止期限Di的比值确定,Ji的值越大,说明周期任务Ti的紧迫程度越高。
进一步的,所述执行速度S的值由下式计算:
当系统空闲利用率I小于系统利用率Utot时,选取紧迫程度最大的周期任务Tim作为缩放任务,其执行速度Si的值由下式计算:
其中,Jim是指紧迫程度最大的周期任务Tim的紧迫程度,是指紧迫程度最大的周期任务Tim的最优速度,其值由下式计算:
其中,Wim是紧迫程度最大的周期任务Tim插入一个检查点后的最坏情况下执行时间,Pim是紧迫程度最大的周期任务Tim的周期,uim是插入检查点之后紧迫程度最大的周期任务Tim的利用率。
进一步的,所述检查点插入到周期任务Ti之前,以便出现错误时,整个周期任务Ti能够恢复执行。
进一步的,所述根据最早截止期限优先策略调度周期任务集为:周期任务Ti的优先级由其绝对截止期限确定,绝对截止期限越小,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限相同时,释放时间越早的周期任务Ti,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限与释放时间均相同时,周期任务Ti的下标i越小,其优先级越高,反之,其优先级越低;任何时刻总是先执行优先级高的任务。
相较于现有技术,本发明具有以下有益效果:
1、本发明的方法利用单检查点机制实现容错,不仅保证了系统的容错能力,还可以减少检查点开销,从而有效地降低系统的能耗,相比多检查点容错方法,本发明的方法能够节约大约33.80%的能耗;
2、本发明的方法根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,确定缩放任务的执行速度,其余未被选为缩放任务的周期任务Ti则以最大处理器速度执行,当错误发生时,缩放任务能够从其检查点以最大处理器速度重新执行发生错误的周期任务Ti,从而提高了系统的可靠性;
3、高能耗会显著提高系统的发热量,增加了系统的散热成本,本发明的方法能够显著地降低系统能耗,从而降低系统的冷却成本和生产成本。
以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种基于单检查点机制的容错能耗优化方法不局限于实施例。
附图说明
图1是本发明方法的处理步骤流程图;
图2是本发明的仿真实验结果图。
具体实施方式
参见图1,本发明提供了一种适用于嵌入式系统的基于单检查点机制的容错能耗优化方法,包括如下步骤:
步骤101:建立单检查点机制周期任务模型,该周期任务模型包括由n个周期任务组成的周期任务集,每个周期任务用Ti(1≤i≤n,i为正整数)表示,每个周期任务Ti插入一个检查点;
周期任务Ti包括四元组(Ci,Pi,Di,Ki),其中,Ci是周期任务Ti在最大处理器速度下且没有错误发生的执行时间;Pi是周期任务Ti的周期;Di是周期任务Ti的相对截止期限;Ki是周期任务Ti容忍错误的个数;在该周期任务模型中周期任务Ti的周期Pi小于或者等于其相对截止期限Di,每个周期任务Ti能够容忍错误的个数为1,即Ki=1。
步骤102:计算插入检查点后周期任务Ti的最坏情况下执行时间Wi;
所述计算插入检查点后周期任务Ti的最坏情况下执行时间Wi的计算方式如下:
Wi=Ci+Oi
其中,Ci是周期任务Ti在最大处理器速度下且没有错误发生的执行时间,Oi是周期任务Ti所插入的一个检查点的开销,其值由下式计算
Oi=λCi
其中,λ是常数,其值可以通过统计的方法得到;所述检查点插入到周期任务Ti之前,以便出现错误时,整个周期任务Ti能够恢复执行。
步骤103:计算插入检查点后的系统利用率Utot及系统空闲利用率I;
所述计算插入检查点后的系统利用率Utot的计算方式如下:
其中,ui是插入检查点之后周期任务Ti的利用率,其值由下式计算:
其中,Wi是周期任务Ti的插入检查点之后的最坏情况下执行时间,Pi是周期任务Ti的周期;
所述系统空闲利用率I由下式计算:
I=1-Utot。
步骤104:根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度,具体包括:
当系统空闲利用率I大于或等于系统利用率Utot时,所有的周期任务Ti都被选为缩放任务,确定这些缩放任务的执行速度S,其值由下式计算:
其中,Utot是系统利用率;当错误发生时,所述缩放任务从其检查点以最大处理器速度重新执行发生错误的周期任务Ti;
当系统空闲利用率I小于系统利用率Utot时,此时只允许部分周期任务Ti被选为缩放任务,具体为:利用周期任务Ti的松弛度,选取部分周期任务Ti作为缩放任务,进而确定缩放任务的执行速度Si,其它未被选为缩放任务的周期任务Ti以最大处理器速度执行;所述周期任务Ti的松弛度是指其紧迫程度Ji,所述紧迫程度Ji的值由周期任务Ti在最大处理器速度下且没有错误发生的执行时间Ci与相对截止期限Di的比值确定,即紧迫程度Ji的值由下式计算:
其中,Ci是周期任务Ti在最大处理器速度下且没有错误发生的执行时间,Di是周期任务Ti的相对截止期限;Ji的值越大,说明周期任务Ti的紧迫程度越高,这里选取紧迫程度最大的周期任务Tim作为缩放任务,该缩放任务(即紧迫程度最大的周期任务Tim)的执行速度Si由下式计算:
其中,Jim是指紧迫程度最大的周期任务Tim的紧迫程度,是指紧迫程度最大的周期任务Tim的最优速度,其值由下式计算:
其中,Utot是系统利用率,Wim是紧迫程度最大的周期任务Tim插入一个检查点后的最坏情况下执行时间,Pim是紧迫程度最大的周期任务Tim的周期,uim是插入检查点之后紧迫程度最大的周期任务Tim的利用率;当错误发生时,所述缩放任务或未被选为缩放任务的周期任务Ti从其检查点以最大处理器速度重新执行发生错误的周期任务Ti;
所谓的缩放任务是指降低其执行速度之后,其可靠性不会降低,这是因为错误发生之后,缩放任务可以从其检查点以最大处理器速度重新执行该任务,所以其可靠性不会降低。
步骤105:根据最早截止期限优先策略调度周期任务集,具体为:
周期任务Ti的优先级由其绝对截止期限确定,绝对截止期限越小,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限相同时,释放时间越早的周期任务Ti,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限与释放时间均相同时,周期任务Ti的下标i越小,其优先级越高,反之,其优先级越低;任何时刻总是先执行优先级高的任务。
如图2所示,以数控系统为例,每个周期任务集包含8个周期任务,周期任务Ti的周期Pi从[2.4,9.6]中随机选择,其最大处理器速度且没有错误发生的执行时间Ci从区间[1,Pi]中随机选择。周期任务集产生后,通过调整周期任务Ti插入检查点之后的最坏情况下执行时间Wi,使系统利用率Utot不超过给定的值。设置检查点开销为其最大处理器速度且没有错误发生的执行时间的5%,考察系统利用率Utot对算法能耗的影响,系统利用率Utot的范围为0.2到0.7,步长为0.05。图2中对两种方法进行了比较,第一种为多检查点容错方法,该方法插入多个检查点,且周期任务以离线阶段速度执行以达到降低能耗的目的,并以该方法在系统利用率为0.7的能耗为基准进行归一化;第二种为本发明的方法,每个周期任务Ti插入一个检查点以实现容错,缩放任务以能耗最小的速度执行(即:当系统空闲利用率I大于或等于系统利用率Utot时,缩放任务以执行速度S执行;当系统空闲利用率I小于系统利用率Utot时,缩放任务以执行速度Si执行),其它未被选为缩放任务的周期任务Ti以最大处理器速度执行,当错误发生时,缩放任务或未被选为缩放任务的周期任务Ti从其检查点以最大处理器速度重新执行发生错误的周期任务Ti,以提高系统的可靠性。从图2中可以看出,两种方法的归一化能耗都受到系统利用率Utot的影响,当系统利用率Utot上升时,两种方法的归一化能耗都上升,这是因为系统利用率Utot上升,周期任务Ti的执行时间变长,且执行速度增大,所以能耗增加。此外,无论系统利用率Utot如何变化,本发明方法的能耗都低于多检查点容错方法的能耗。经过计算可知,本发明的方法比多检查点容错方法节约大约33.80%的能耗。
上述实施例仅用来进一步说明本发明的一种基于单检查点机制的容错能耗优化方法,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。
Claims (9)
1.一种基于单检查点机制的容错能耗优化方法,其特征在于,包括:
建立单检查点机制周期任务模型,该周期任务模型包括由n个周期任务组成的周期任务集,每个周期任务用Ti(1≤i≤n,i为正整数)表示,每个周期任务Ti插入一个检查点;
计算插入检查点后周期任务Ti的最坏情况下执行时间Wi;
计算插入检查点后的系统利用率Utot及系统空闲利用率I;
根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度;
根据最早截止期限优先策略调度周期任务集。
2.根据权利要求1所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述周期任务Ti包括四元组(Ci,Pi,Di,Ki),其中,Ci是周期任务Ti在最大处理器速度下且没有错误发生的执行时间;Pi是周期任务Ti的周期;Di是周期任务Ti的相对截止期限;Ki是周期任务Ti容忍错误的个数。
3.根据权利要求2所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述计算插入检查点后周期任务Ti的最坏情况下执行时间Wi的计算方式如下:
Wi=Ci+Oi,
其中,Oi是周期任务Ti所插入的一个检查点的开销,其值由下式计算:
Oi=λCi,
其中λ是常数。
4.根据权利要求3所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述计算插入检查点后的系统利用率Utot的计算方式如下:
其中,ui是插入检查点之后周期任务Ti的利用率,其值由下式计算:
所述系统空闲利用率I由下式计算:
I=1-Utot。
5.根据权利要求4所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述根据系统空闲利用率I与系统利用率Utot之间的大小关系从周期任务集中选出缩放任务,并确定缩放任务的执行速度包括:
当系统空闲利用率I大于或等于系统利用率Utot时,所有的周期任务Ti都被选为缩放任务,确定这些缩放任务的执行速度S;
当系统空闲利用率I小于系统利用率Utot时,利用周期任务Ti的松弛度选取部分周期任务Ti作为缩放任务,进而确定缩放任务的执行速度Si,其它周期任务Ti则以最大处理器速度执行。
6.根据权利要求5所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述周期任务Ti的松弛度是指其紧迫程度Ji,所述紧迫程度Ji的值由周期任务Ti在最大处理器速度下且没有错误发生的执行时间Ci与相对截止期限Di的比值确定,Ji的值越大,说明周期任务Ti的紧迫程度越高。
7.根据权利要求6所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述执行速度S的值由下式计算:
当系统空闲利用率I小于系统利用率Utot时,选取紧迫程度最大的周期任务Tim作为缩放任务,其执行速度Si的值由下式计算:
其中,Jim是指紧迫程度最大的周期任务Tim的紧迫程度,是指紧迫程度最大的周期任务Tim的最优速度,其值由下式计算:
其中,Wim是紧迫程度最大的周期任务Tim插入一个检查点后的最坏情况下执行时间,Pim是紧迫程度最大的周期任务Tim的周期,uim是插入检查点之后紧迫程度最大的周期任务Tim的利用率。
8.根据权利要求1所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述检查点插入到周期任务Ti之前,以便出现错误时,整个周期任务Ti能够恢复执行。
9.根据权利要求1所述的一种基于单检查点机制的容错能耗优化方法,其特征在于:所述根据最早截止期限优先策略调度周期任务集为:周期任务Ti的优先级由其绝对截止期限确定,绝对截止期限越小,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限相同时,释放时间越早的周期任务Ti,其优先级越高,反之,其优先级越低;当周期任务Ti的绝对截止期限与释放时间均相同时,周期任务Ti的下标i越小,其优先级越高,反之,其优先级越低;任何时刻总是先执行优先级高的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910167558.1A CN109947543B (zh) | 2019-03-06 | 2019-03-06 | 一种基于单检查点机制的容错能耗优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910167558.1A CN109947543B (zh) | 2019-03-06 | 2019-03-06 | 一种基于单检查点机制的容错能耗优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947543A true CN109947543A (zh) | 2019-06-28 |
CN109947543B CN109947543B (zh) | 2022-11-01 |
Family
ID=67008587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910167558.1A Active CN109947543B (zh) | 2019-03-06 | 2019-03-06 | 一种基于单检查点机制的容错能耗优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947543B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229177A1 (en) * | 2004-03-26 | 2005-10-13 | Kabushiki Kaisha Toshiba | Real-time schedulability determination method and real-time system |
CN102521082A (zh) * | 2011-12-08 | 2012-06-27 | 上海交通大学 | 一种星载实时操作系统中的检查点恢复容错方法及系统 |
CN104424017A (zh) * | 2013-08-21 | 2015-03-18 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统的容错低功耗调度方法 |
US20150268133A1 (en) * | 2014-03-18 | 2015-09-24 | Stmicroelectronics S.R.L. | Safe scheduler for finite state deterministic application |
-
2019
- 2019-03-06 CN CN201910167558.1A patent/CN109947543B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229177A1 (en) * | 2004-03-26 | 2005-10-13 | Kabushiki Kaisha Toshiba | Real-time schedulability determination method and real-time system |
CN102521082A (zh) * | 2011-12-08 | 2012-06-27 | 上海交通大学 | 一种星载实时操作系统中的检查点恢复容错方法及系统 |
CN104424017A (zh) * | 2013-08-21 | 2015-03-18 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统的容错低功耗调度方法 |
US20150268133A1 (en) * | 2014-03-18 | 2015-09-24 | Stmicroelectronics S.R.L. | Safe scheduler for finite state deterministic application |
Non-Patent Citations (1)
Title |
---|
潘雪增等: "基于回卷恢复的数控系统实时容错调度策略", 《浙江大学学报(工学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947543B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445673B (zh) | 一种面向混合关键性实时系统的容错性任务调度方法 | |
CN101470519B (zh) | 用于控制功率管理的装置和方法 | |
US9632822B2 (en) | Multi-core device and multi-thread scheduling method thereof | |
Mills et al. | Shadow computing: An energy-aware fault tolerant computing model | |
CN102681895A (zh) | 一种动态自迁移云服务方法 | |
CN104794015A (zh) | 一种实时流计算流速感知弹性执行容错系统 | |
CN103810026A (zh) | 一种适用于实时系统周期任务的混合调度方法 | |
CN104424017B (zh) | 一种适用于数控系统的容错低功耗调度方法 | |
CN109324880A (zh) | 一种适用于实时系统周期任务模型的低功耗调度方法 | |
WO2019094087A1 (en) | Processor throttling based on accumulated combined current measurements | |
Liao et al. | Auto-scaling strategy for amazon web services in cloud computing | |
Han et al. | Energy minimization for fault tolerant real-time applications on multiprocessor platforms using checkpointing | |
Nair et al. | FEST: Fault-tolerant energy-aware scheduling on two-core heterogeneous platform | |
Han et al. | Energy minimization for fault tolerant scheduling of periodic fixed-priority applications on multiprocessor platforms | |
CN103197982B (zh) | 一种任务局部最优检查点间隔搜索方法 | |
CN109947543A (zh) | 一种基于单检查点机制的容错能耗优化方法 | |
CN108491159B (zh) | 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法 | |
WO2024021475A1 (zh) | 一种容器调度方法及装置 | |
Yang et al. | Multi-core fixed priority DVS scheduling | |
Niu et al. | Energy-efficient scheduling for embedded real-time systems using threshold work-demand analysis | |
Malhotra et al. | A review of fault tolerant scheduling in multicore systems | |
Dobias et al. | Comparison of different methods making use of backup copies for fault-tolerant scheduling on embedded multiprocessor systems | |
CN114691311A (zh) | 一种执行异步任务的方法、设备和计算机程序产品 | |
Cui et al. | A systematic fault-tolerant computational model for both crash failures and silent data corruption | |
CN105677449B (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 |