关联周期任务的低功耗与容错协同调度方法、装置及介质



1.本发明实施例涉及星务系统任务容错调度领域,尤其涉及一种关联周期任务的低功耗与容错协同调度方法、装置及介质。


背景技术:



2.星载计算机由于长期运行在复杂的空间环境中,易受到单粒子效应的影响,对可靠性具有更严苛的要求。同时,动态电压/频率调节技术(dynamic voltage frequency scaling,dvfs)的使用也会对系统可靠性产生负面影响。然而,现有调度算法通常不会考虑到上述问题,因此,在保持系统低功耗的同时,需要研究在关联周期任务调度过程中的软件容错问题,来确保星务系统的可靠性。


技术实现要素:



3.有鉴于此,本发明实施例期望提供一种关联周期任务的低功耗与容错协同调度方法、装置及介质,能够在系统出现软错误的情况下,减少平均出错率并保证系统可靠性。
4.本发明实施例的技术方案是这样实现的:
5.第一方面,本发明实施例提供一种关联周期任务的低功耗与容错协同调度方法,包括:
6.根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;
7.根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;
8.所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。
9.第二方面,本发明实施例提供一种关联周期任务的低功耗与容错协同调度装置,所述装置包括:分析部分、调节部分、获取部分;其中,
10.所述分析部分,经配置为根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;
11.所述调节部分,经配置为根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;
12.所述获取部分,经配置为所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故
障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。
13.第三方面,本发明实施例提供了一种计算设备,所述计算设备包括:通信接口,存储器和处理器;各个组件通过总线系统耦合在一起;其中,
14.所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
15.所述存储器,用于存储能够在所述处理器上运行的计算机程序;
16.所述处理器,用于在运行所述计算机程序时,执行第一方面所述关联周期任务的低功耗与容错协同调度方法的步骤。
17.第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有关联周期任务的低功耗与容错协同调度的程序,所述关联周期任务的低功耗与容错协同调度的程序被至少一个处理器执行时实现第一方面所述关联周期任务的低功耗与容错协同调度方法的步骤。
18.本发明实施例提供了一种关联周期任务的低功耗与容错协同调度方法、装置及介质,通过基于给定的系统模型,考虑到实际系统在运行过程中,关联周期任务存在剩余空闲时间,在进一步分析系统能耗与工作频率关系的基础上,利用所述关联周期任务的剩余空闲时间,采用dvfs技术调节多核处理器内核的工作电压/频率。同时,针对dvfs对系统可靠性的负面影响,提出了分别基于逆向恢复和/或主备份容错调度算法,在减少系统功耗的前提下,极大降低了系统平均出错率,保证了系统的可靠性。
附图说明
19.图1为本发明实施例提供的一种关联周期任务的低功耗与容错协同调度方法流程图;
20.图2为本发明实施例提供的多核处理器系统能耗与工作频率的关系曲线图;
21.图3为本发明实施例提供的剩余空闲时间利用存在的问题示意图;
22.图4为本发明实施例提供的使用四种不同调度算法测试集平均能耗对比图;
23.图5为本发明实施例提供的仅使用dvfs技术的任务调度算法平均出错率示意图;
24.图6为本发明实施例提供的不使用dvfs技术、使用dvfs与逆向恢复或主备份容错调度算法的任务调度平均出错率对比图;
25.图7为本发明实施例提供的一种关联周期任务的低功耗与容错协同调度装置示意图;
26.图8为本发明实施例提供的一种计算设备的硬件结构示意图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
28.星载计算机由于长期运行在复杂的空间环境中,易受到单粒子效应的影响,对可靠性具有更严苛的要求。同时,在多核处理器节能调度中,动态电压/频率调节技术dvfs的使用降低了系统工作频率,发生瞬态故障的概率增加,导致系统可靠性下降,而且现有的调度算法主要集中在单处理器或同构多处理器的容错调度算法,这些算法没有考虑关联周期
任务优先约束或系统能耗,不能反映系统的实际运行情况。因此,在保持系统低功耗的同时,需要进一步研究异构多核处理器上的关联周期任务的容错调度问题。基于上述内容的阐述,本发明实施例期望针对基于有向无环图(directed acyclic graph,dag)建模的关联周期任务的容错调度问题,提出一种关联周期任务的低功耗与容错协同调度方法。参见图1,其示出了本发明实施例提供的一种关联周期任务的低功耗与容错协同调度方法流程图,该方法可以包括:
29.s101:根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;
30.s102:根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;
31.s103:所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。
32.需要说明的是,所述多核处理器包括同构多核处理器和异构多核处理器,而所述同构多核处理器是指在处理器芯片内部使用多个地位对等、结构相同的内核,整个芯片作为统一的结构对外提供服务,输出性能;所述异构多核处理器是指在处理器芯片内部使用多种不同功能的内核,这些内核具有独特的体系结构与指令集,可以针对多种不同类型的需求,提高系统对应用的计算性能;所述关联周期任务,也可简称为任务,即为有优先约束并且释放间隔固定的任务;所述系统能耗是在固定时间间隔内,处理器执行作业产生的总能量开销,而对于一个可调度的周期任务集,通常考虑一个超周期内的系统总能耗;所述剩余空闲时间是关联周期任务在正常运行时实际执行时间通常小于最坏情况执行时间(worst case execution time,wcet),会剩余空闲时间,若能够对这部分时间加以利用,则可以进一步降低系统总能耗;所述dvfs是一种降低系统动态功耗的技术,通过调节多核处理器工作电压或频率减少系统动态功耗,但是降低工作频率会延长作业执行时间,可能会错失作业的截止期,同时会对系统可靠性会产生负面影响。
33.根据上述技术方案的描述,本发明实施例通过基于给定的系统能耗模型,考虑到实际系统在运行过程中,关联周期任务存在剩余空闲时间,在进一步分析系统能耗与工作频率关系的基础上,利用所述关联周期任务的剩余空闲时间,采用dvfs技术调节多核处理器内核的工作电压/频率。同时,针对dvfs对系统可靠性的负面影响,提出了分别基于逆向恢复和/或主备份容错调度算法,在减少系统功耗的前提下,极大降低了系统平均出错率,保证了系统的可靠性。
34.需要说明的是,所述可靠性包括任务可靠性和系统可靠性,任务可靠性是指任务完成执行的概率;系统可靠性依赖于每个任务的正确执行。
35.对于图1所示的技术方案,在一些可能的实现方式中,所述根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系。具体来说,所述给定的系统能耗模型为:
36.系统动态功耗pd以及工作频率f可表示为:
[0037][0038]
f=k
×
(v
dd-v
t
)2/v
dd
[0039]
其中,c
ef
是电路的有效负载电容,v
dd
是供电电压,k是与电路相关的常数,v
t
是系统运行的阈值电压。
[0040]
静态功耗ps可表示为:
[0041]
ps=v
dd
×ileak
[0042]
其中,i
leak
是电路的漏电流。
[0043]
当处理器内核工作在电压/频率等级为l时,可得处理器内核的总功耗为:
[0044]
p
total
=pd+ps+p
on
[0045]
其中,p
on
表示需要维持基本电路的固有功耗。
[0046]
根据上述公式可知,任务运行在处理器内核p上并且处于工作频率f下的能耗为:
[0047]
e=c(f)
×
p
total
[0048]
假设某处理器内核上共有n个任务,在一个超周期h内执行作业序列为{ji|i=1,

,n},任务i的动态功耗与静态功耗合写为p(fi),假设处理器内在功耗与空闲功耗近似相等,即p
on
=p
idle
,则一个超周期内的系统总能耗可表示为:
[0049][0050]
又因为,一个超周期内的系统总空闲时间故有:
[0051][0052]
基于多核处理器内核调整前后的工作频率f1和f2,则调整前后的系统能耗分别为:
[0053][0054][0055]
则调整前后系统能耗的变化与所述工作频率的关系为:
[0056][0057]
其中,δe为调整工作频率前后的系统功耗差,f1为调整前的工作频率,f2为调整后工作频率,p(fi)表示动态功耗或静态功耗为工作频率fi的函数,为作业j+1实际执行时间。
[0058]
对于图1所示的技术方案,在一些可能的实现方式中,所述根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗。具体来说,根据上述的给定的能耗模型分析获得的多核处理器系统功耗与工作频率的关系,令函数f(f1,f2)=p(f2)f1/f
2-p(f1),其中f1>f2。由上述公式可知,选取任意两个工作频率f1与f2(f1>f2),只要f(f1,
f2)<0,利用剩余空闲时间降低作业工作频率就可以进一步减少系统能耗。参见图2,其示出了本发明实施例提供的多核处理器系统能耗与工作频率的关系曲线图,根据标准70nm处理器工作电压/频率的实验数据,f(f1,f2)在不同的工作频率f1与f2(f1>f2)下均小于0,且在f2相同时,f1越大,f(f1,f2)越小。因此,利用剩余空闲时间降低作业工作频率可以进一步减少系统能耗。
[0059]
空闲时间的二次利用虽然可以降低系统能耗,但不是所有作业都能够利用该时间,因为空闲时间与产生它的作业优先级有关。结合前面所述dvfs技术的缺陷,降低工作频率会延长作业执行时间,可能会错失作业的截止期。参见图3,其示出了本发明实施例提供的空闲时间利用存在的问题示意图,具体来说,假设单处理器上存在一个任务集tg={τ1,τ2,τ3},任务间相互独立,任务参数为:τ1=(1,5),τ2=(2,5),τ3=(6,15),使用最早时限优先(earliest deadline first,edf)算法进行调度。若作业j
3,1
在t=5时提前完成,剩余4个单位空闲时间,此时,若作业j
1,2
能够利用这4个空闲时间降频,则会导致j
2,2
错失截止期。因此,不能将低优先级作业的空闲时间分配给高优先级作业,即利用空闲时间的作业截止期应大于空闲时间的截止期。对于关联周期任务图,其任务截止期使用拓扑排序重新计算,执行时存在优先约束关系,因此可以满足上述规则。
[0060]
在一些示例中,针对所述剩余空闲时间的利用问题,在系统运行过程中,每个处理器内核维护一个动态变化的空闲时间块列表,当任务作业提前完成时,将剩余时间生成带有作业截止期的空闲时间块加入列表;所述列表中的时间块按照截止期升序排列,当有新作业准备执行时,统计列表中小于其截止期的时间块,将这些时间块的空闲时间分配给作业;作业根据已分配的空闲时间重新确定频率等级。若存在新的频率等级,则更新作业的最晚开始时间并计算剩余的空闲时间。若仍存在剩余空闲时间,则将其重新加入到空闲时间块列表,该时间块的截止期等于作业的截止期。当空闲时间块的截止期小于等于系统时间时,该空闲时间块不可用,将其从列表中移除。空闲时间利用的伪代码如下所示:
[0061]
算法:空闲时间利用
[0062][0063]
需要说明的是,所述edf算法即为一种固定作业优先级调度算法,根据任务绝对截止期分配作业优先级:绝对截止期越早,优先级越高。而所述作业和任务的概念分别为:作业是指能够被系统调度和执行的工作单元,共同提供某种系统功能的一组相关作业称为任务;作业是任务在运行过程中的实例,任务可以用一组有限或无限的作业流表示。
[0064]
基于前面所述dvfs技术的缺陷,降低工作频率会对系统可靠性产生负面影响,即关联周期任务在执行过程中的可靠性与处理器的工作频率相关,工作频率越低,任务可靠性越低。因此,需要考虑在任务调度过程中硬件和软件容错调度问题。航天器由于空间环境所产生的系统故障有两类,一类是永久性故障,会造成系统硬件或模块的功能损坏,即硬错误;另一类是瞬态故障,会造成软件应用程序出错但不会对硬件产生破坏性的影响,即软错误。在实践中,软错误被证明是发生最为频繁的一类故障。因此,本发明实施例仅考虑由软错误引起的任务调度问题。
[0065]
对于图1所示的技术方案,在一些可能的实现方式中,所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率,包括:
[0066]
在关联周期任务作业执行结束后,通过健全性或一致性检查检测所述关联周期任务作业瞬态故障的软错误;
[0067]
针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业;
[0068]
针对所述逆向恢复作业,以最大工作频率重新执行。
[0069]
对于上述实现方式,在一些示例中,所述针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业,包括:
[0070]
当关联周期任务的剩余空闲时间满足创建逆向恢复作业时,创建发生瞬态故障作业的逆向恢复作业;
[0071]
统计发生瞬态故障作业之后的所有待正常执行作业的截止期小于等于待逆向恢复作业的剩余空闲时间。
[0072]
基于上述示例的阐述,具体来说,为减小逆向恢复作业的执行对后续作业截止期的影响,可以使用空闲时间创建逆向恢复作业,统计所有截止期小于等于待逆向恢复作业的空闲时间,利用这部分时间减小作业恢复产生的影响。具体伪代码如下:
[0073][0074]
对于上述实现方式,在一些示例中,所述针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业,还包括:
[0075]
当关联周期任务的剩余空闲时间无法满足创建逆向恢复作业时,在每个发生瞬态故障作业重新执行前检测所述每个发生瞬态故障作业的最晚开始执行时间;
[0076]
所述每个发生瞬态故障作业的最晚开始执行时间小于实际开始时间时,则重新计算所述最晚开始执行时间。
[0077]
对于上述示例,具体来说,在每个发生瞬态故障作业重新执行前检测所述每个发生瞬态故障作业的最晚开始执行时间,如果发生瞬态故障作业最晚开始执行时间小于实际开始时间,同时瞬态故障作业所在的多核处理器内核的工作频率小于最大工作频率时,需要重新计算所述最晚开始执行时间并提升所述工作频率。最晚开始执行时间检测具体伪代码实现方式如下:
[0078][0079][0080]
基于上述实现方式或示例描述,使用dvfs节约能耗的处理器因降低工作频率导致可靠性降低的负面影响,采用逆向恢复容错调度算法可以保证系统原始的可靠性,具体来说,如下公式所示:
[0081]
对于具有n个任务的系统,任意任务τi的可靠性可以表示为:
[0082]
r’i
=ri(f)+(1-ri(f))
×ri
(f
max
)
[0083]
利用逆向恢复容错调度算法的系统可靠性为:
[0084][0085]
其中,ri(f)表示任务τi在工作频率f下的可靠性,ri(f
max
)表示任务τi在最大工作频率f
max
下的可靠性,r
so
表示系统的原始可靠性,
[0086]
因此,使用逆向恢复容错调度算法进行容错的系统,可以保证系统的原始可靠性。
[0087]
对于图1所示的技术方案,在一些可能的实现方式中,所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率,还包括:
[0088]
针对关联周期任务进行主备份,生成主份任务和备份任务;
[0089]
当所述关联周期任务发生瞬态故障时,优先重新执行所述主份任务;
[0090]
所述主份任务执行结束,通过一致性检查,确定是否执行备份任务。
[0091]
对于上述实现方式,具体来说,基于逆向恢复容错调度算法虽然可以有效避免任务的瞬态故障,但是对于永久性故障,比如某一处理器内核损坏,使用逆向恢复容错调度算法的系统将无法正常运行。因此本发明实施例针对关联周期任务的容错调度问题提出主备份(primary/backup,pb)容错调度算法,用于提高系统的容错能力。所述主备份容错调度算法,即为对于每个主份任务有一个备份,只要同一任务的主份与备份分配到不同处理器内核上,系统对单一的永久性故障就具有内在的鲁棒性。所述鲁棒性是指系统在不确定性的
扰动下,具有保持某种性能不变的能力。另外,在使用dvfs节省系统能耗时,由于使用dvfs技术降低了系统工作频率,导致发生瞬态故障的概率增加,主备份容错调度算法还可以保证系统在瞬态故障下的可靠性。具体参考如下所述内容,假设备份任务均以最大频率执行:
[0092]
对于具有n个任务的系统,任意任务τi的可靠性可以表示为:
[0093]
r’i
=ri(f)+(1-ri(f))
×ri
(f
max
)
[0094]
利用主备份容错调度算法的系统可靠性为:
[0095][0096]
其中,ri(f)表示任务τi在工作频率f下的可靠性,ri(f
max
)表示任务τi在最大工作频率f
max
下的可靠性,r
so
表示系统的原始可靠性,
[0097]
因此,对于瞬态故障,利用主备份容错调度算法进行容错的系统,同样可以保证系统原始可靠性。
[0098]
对于上述实现方式,在一些示例中,所述主份任务执行结束,通过一致性检查,确定是否执行备份任务,包括:
[0099]
主份任务执行成功并且一致性检查结果正常,取消备份任务执行并回收产生的剩余空闲时间;或者,
[0100]
主份任务执行失败,使用最晚开始执行时间作为备份任务的释放时间,执行所述备份任务。
[0101]
具体来说,使用主备份容错调度算法,系统如果同时运行主份与备份任务将不可避免地导致系统能耗大幅增加。考虑到系统故障的发生属于小概率事件,在调度过程中应使主份任务尽可能早执行,备份任务尽可能晚执行。假设在主份任务完成时,通过一致性检查,可以确定备份任务是否继续执行,若主份任务成功执行,则取消备份任务,回收产生的空闲时间,从而节省系统能耗开销。反之,备份任务执行,保证系统可靠性。
[0102]
为了降低备份任务与主份任务执行过程中的重叠时间,备份任务应尽可能晚执行。因此,系统在调度过程中,使用最晚开始执行时间作为备份任务的释放时间,考虑到系统时钟中断间隔ti,最晚开始执行时间应对中断间隔向下取整,使用符号表示向下取整,则备份任务τ
bi
的释放时间r
bi
可以设置为:
[0103][0104]
其中,lst(τ
bi
)表示备份任务τ
bi
的最晚开始执行时间,ti表示系统时钟中断间隔。
[0105]
为了验证逆向恢复容错调度算法与主备份容错调度算法的效果,使用仿真实验选取9组关联周期任务组,针对以下四种情况使用的算法对系统的平均能耗和平均出错率影响结果进行比较,得出分析结论。
[0106]
所述四种情况使用的不同调度算法分别为:不使用dvfs的任务调度(可简称为none)、仅使用dvfs的任务调度(可简称为dvfs)、使用dvfs与逆向恢复容错调度算法的任务调度(可简称为backward)、使用dvfs与主备份容错调度算法的任务调度(可简称为primary/backup)。
[0107]
使用的实验参数见下表1-1和1-2所示的处理器功耗模型参数和测试集参数。
[0108]
表1-1处理器功耗模型参数
[0109][0110]
由于主备份容错调度算法中每个任务都存在一个备份任务,任务集的总利用率为原始测试集的2倍,因此选择表1-2中的任务图集合作为测试集,具体参数如下:
[0111]
表1-2测试集参数
[0112][0113]
每组测试集的处理器映射与电压/频率选择使用变邻域搜索的遗传算法(genetic algorithm-variable neighborhood search,ga-vns)优化后的结果,其中,使用主备份容错调度算法进行容错调度时,使用ga-vns算法分配主份任务,使用wfd算法将备份任务分配到与主份任务不同的处理器内核上。假设任务的最好情况执行时间为0.1倍的最坏情况执行时间c,任务实际执行时间服从均匀分布,即处理器以最大工作频率执行任务时的平均瞬态故障发生率λ0=10-4
,常数d=3。每组测试集运行10000个任务集超周期,即5000s,统计系统的平均能耗与平均出错率。
[0114]
需要说明的是,所述ga-vns算法中遗传算法(genetic algorithm,ga)是借鉴自然选择与遗传机制,具有自适应性、全局收敛性、可扩展性等优点,在标准遗传算法的基础上,增加变邻域搜索(variable neighborhood search,vns)算法进一步改进算法性能,所述变邻域搜索算法就是一种改进型的局部搜索算法,它利用不同的动作构成的邻域结构进行交替搜索来进一步改进算法性能;所述wfd算法是一种箱封装启发式映射算法,该算法首先将任务按照利用率降序排列,再按排列顺序依次映射到具有最大剩余利用率的内核中。
[0115]
参见图4,其示出了本发明实施例提供的使用四种不同调度算法测试集平均能耗对比图,从图中可知,四种不同调度算法在一个超周期内的平均能耗随着测试集总利用率的提高而增加,其中,不使用dvfs的任务调度算法能耗最高;仅dvfs的任务调度算法能耗最低;使用dvfs与容错技术的任务调度算法所产生的系统能耗则在这两者之间,且利用逆向恢复容错算法比利用主备份容错调度算法所产生的能耗要低,这是因为,主备份容错调度算法中的备份任务与主份任务执行时间可能存在重叠,使系统在正常运行过程中,备份任务与主份任务可能会并行执行,导致系统能耗上升。
[0116]
参见图5和图6,其示出了使用四种不同调度算法的平均出错率对比图,从图中可
知,仅使用dvfs的任务调度算法平均出错率最高,平均值约为0.0995,较不使用dvfs的任务调度算法(1.205e-4)高出近三个数量级,说明dvfs会对系统可靠性产生比较严重的负面影响。同时可以看到,使用逆向恢复容错调度算法与主备份容错调度算法对任务瞬态故障具有相似的平均出错率,分别为1.099e-5与0.927e-5,较不使用dvfs的任务调度算法低出约一个数量级,证明这两种算法均具有良好的容错效果,可以保证系统的可靠性不低于原始可靠性。
[0117]
基于前述技术方案相同的发明构思,参见图7,其示出了一种关联周期任务的低功耗与容错协同调度装置700,所述装置700包括:分析部分701、调节部分702、获取部分703;其中,
[0118]
所述分析部分701,经配置为根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;
[0119]
所述调节部分702,经配置为根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;
[0120]
所述获取部分703,经配置为所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。
[0121]
在一些示例中,所述获取部分703,经配置为;
[0122]
在关联周期任务作业执行结束后,通过健全性或一致性检查检测所述关联周期任务作业瞬态故障的软错误;
[0123]
针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业;
[0124]
针对所述逆向恢复作业,以最大工作频率重新执行。
[0125]
在一些示例中,所述获取部分703,经配置为:
[0126]
当关联周期任务的剩余空闲时间满足创建逆向恢复作业时,创建发生瞬态故障作业的逆向恢复作业;
[0127]
统计发生瞬态故障作业之后的所有待正常执行作业的截止期小于等于待逆向恢复作业的剩余空闲时间。
[0128]
在一些示例中,所述获取部分703,经配置为:
[0129]
当关联周期任务的剩余空闲时间无法满足创建逆向恢复作业时,在每个发生瞬态故障作业重新执行前检测所述每个发生瞬态故障作业的最晚开始执行时间;
[0130]
所述每个发生瞬态故障作业的最晚开始执行时间小于实际开始时间时,则重新计算所述最晚开始执行时间。
[0131]
在一些示例中,所述获取部分703,经配置为:
[0132]
针对关联周期任务进行主备份,生成主份任务和备份任务;
[0133]
针对关联周期任务瞬态故障,优先重新执行所述主份任务;
[0134]
所述主份任务执行结束,通过一致性检查,确定是否执行备份任务。
[0135]
在一些示例中,所述获取部分703,经配置为:
[0136]
主份任务执行成功并且一致性检查结果正常,取消备份任务执行并回收产生的剩余空闲时间;或者,
[0137]
主份任务执行失败,使用最晚开始执行时间作为备份任务的释放时间,执行所述备份任务。
[0138]
可以理解地,在本实施例中,“部分”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是模块也可以是非模块化的。
[0139]
另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0140]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0141]
因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有关联周期任务的低功耗与容错协同调度的程序,所述关联周期任务的低功耗与容错协同调度的程序被至少一个处理器执行时实现上述技术方案中所述关联周期任务的低功耗与容错协同调度方法的步骤。
[0142]
根据上述一种关联周期任务的低功耗与容错协同调度装置700以及计算机存储介质,参见图8,其示出了本发明实施例提供的一种能够实施上述关联周期任务的低功耗与容错协同调度装置700的计算设备800的具体硬件结构,该计算设备800可以为无线装置、移动或蜂窝电话(包含所谓的智能电话)、个人数字助理(pda)、视频游戏控制台(包含视频显示器、移动视频游戏装置、移动视频会议单元)、膝上型计算机、桌上型计算机、电视机顶盒、平板计算装置、电子书阅读器、固定或移动媒体播放器等。计算设备800包括:通信接口801,存储器802和处理器803;各个组件通过总线系统804耦合在一起。可理解,总线系统804用于实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。其中,
[0143]
所述通信接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
[0144]
所述存储器802,用于存储能够在所述处理器803上运行的计算机程序;
[0145]
所述处理器803,用于在运行所述计算机程序时,执行前述技术方案中所述关联周期任务的低功耗与容错协同调度方法步骤。
[0146]
可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储
器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本文描述的系统和方法的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
[0147]
而处理器803可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器803读取存储器802中的信息,结合其硬件完成上述方法的步骤。
[0148]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0149]
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0150]
可以理解地,上述关联周期任务的低功耗与容错协同调度装置700以及计算设备800的示例性技术方案,与前述一种关联周期任务的低功耗与容错协同调度方法的技术方案属于同一构思,因此,上述对于关联周期任务的低功耗与容错协同调度装置700以及计算设备800的技术方案未详细描述的细节内容,均可以参见前述一种关联周期任务的低功耗与容错协同调度方法的技术方案的描述。本发明实施例对此不做赘述。
[0151]
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0152]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术特征:


1.一种关联周期任务的低功耗与容错协同调度方法,其特征在于,所述方法包括:根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。2.根据权利要求1所述的方法,其特征在于,所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率,包括:在关联周期任务作业执行结束后,通过健全性或一致性检查检测所述关联周期任务作业瞬态故障的软错误;针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业;针对所述逆向恢复作业,以最大工作频率重新执行。3.根据权利要求2所述的方法,其特征在于,所述针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业,包括:当关联周期任务的剩余空闲时间满足创建逆向恢复作业时,创建发生瞬态故障作业的逆向恢复作业;统计发生瞬态故障作业之后的所有待正常执行作业的截止期小于等于待逆向恢复作业的剩余空闲时间。4.根据权利要求2所述的方法,其特征在于,所述针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业,还包括:当关联周期任务的剩余空闲时间无法满足创建逆向恢复作业时,在每个发生瞬态故障作业重新执行前检测所述每个发生瞬态故障作业的最晚开始执行时间;所述每个发生瞬态故障作业的最晚开始执行时间小于实际开始时间时,则重新计算所述最晚开始执行时间。5.根据权利要求1所述的方法,其特征在于,所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率,还包括:针对关联周期任务进行主备份,生成主份任务和备份任务;
当所述关联周期任务发生瞬态故障时,优先重新执行所述主份任务;所述主份任务执行结束,通过一致性检查,确定是否执行备份任务。6.根据权利要求5所述的方法,其特征在于,所述主份任务执行结束,通过一致性检查,确定是否执行备份任务,包括:主份任务执行成功并且一致性检查结果正常,取消备份任务执行并回收产生的剩余空闲时间;或者,主份任务执行失败,使用最晚开始执行时间作为备份任务的释放时间,执行所述备份任务。7.一种关联周期任务的低功耗与容错协同调度装置,其特征在于,所述装置包括:分析部分、调节部分、获取部分;其中,所述分析部分,经配置为根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;所述调节部分,经配置为根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;所述获取部分,经配置为所述利用关联周期任务的剩余空闲时间使用dvfs调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。8.根据权利要求7所述的装置,其特征在于,所述获取部分,经配置为:在关联周期任务作业执行结束后,通过健全性或一致性检查检测所述关联周期任务作业瞬态故障的软错误;针对所述关联周期任务作业瞬态故障的软错误,采用逆向恢复容错调度算法,利用所述关联周期任务的剩余空闲时间创建逆向恢复作业;针对所述逆向恢复作业,以最大工作频率重新执行。9.一种计算设备,其特征在于,所述计算设备包括:通信接口,处理器,存储器;各个组件通过总线系统耦合在一起;其中,所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行权利要求1至6任一项所述关联周期任务的低功耗与容错协同调度方法的步骤。10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有关联周期任务的低功耗与容错协同调度的程序,所述关联周期任务的低功耗与容错协同调度的程序被至少一个处理器执行时实现权利要求1至6任一项所述关联周期任务的低功耗与容错协同调度方法的步骤。

技术总结


本发明实施例公开了一种关联周期任务的低功耗与容错协同调度方法、装置及介质,该方法可以包括:根据给定的系统能耗模型,分析得到关联周期任务的多核处理器系统能耗与工作频率的关系;根据所述多核处理器系统能耗与工作频率的关系,利用关联周期任务的剩余空闲时间使用DVFS调节多核处理器内核的工作电压/频率,以获得最小化的多核处理器系统能耗;所述利用关联周期任务的剩余空闲时间使用DVFS调节多核处理器内核的工作电压/频率所造成的所述关联周期任务的瞬态故障,采用逆向恢复容错调度算法,以获取到最小化的任务平均出错率;和/或,针对所述关联周期任务的瞬态故障和永久性故障,采用主备份容错调度算法,以获取到最小化的任务平均出错率。最小化的任务平均出错率。最小化的任务平均出错率。


技术研发人员:

陈健 赵振博 邱实 吴凡 李化义

受保护的技术使用者:

哈尔滨工业大学

技术研发日:

2022.09.26

技术公布日:

2022/12/16

本文发布于:2024-09-22 02:05:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/42077.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   多核   作业   周期
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议