device-centric low-power scheduling for real-time embedded systems

22
DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS 实实实实实实 实实实实实实实实实实实实实实

Upload: gary-rogers

Post on 31-Dec-2015

33 views

Category:

Documents


3 download

DESCRIPTION

DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS. 实时嵌入式系统的以设备为中心的低能耗调度法. 摘要. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME

EMBEDDED SYSTEMS

实时嵌入式系统的以设备为中心的低能耗调度法

Page 2: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

摘要 现有的低能耗调度方法主要是通过在进程调度后关闭非

使用中的设备来减少整个系统的能量消耗.这通常导致不能按理想的方式使用能量,因为比如在某一次过早结束的系统调度中进程未能及时在系统调度结束时关闭未使用的设备.在这样的情况下我们尝试把进程调度通过整体的考虑来进行低能耗的调度方法,那么就可以得到一种实时的可行的低能耗调度方法.本文提出的这种方法就叫做 Low-Power Quasi-Dynamic Scheduing 准动态低能耗调度法 (LQS) ,被应用于许多实例中,包括传感器网络节点和蓝牙设备,这说明其实用性高 .

关键词:设备调度;低能耗实时嵌入式系统; Petri nets.

Page 3: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

1 . 介绍 Introduction

在实时嵌入式系统中,需要折衷考虑时间的约束和能量的使用,因为较短的时间调度需要更多的能量消耗,反之亦然.我们尝试分析这种折衷法的特性并为综合的为实时嵌入式软件的新代码执行一个低能耗的时间调度方法.

Page 4: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

比如,在无线传感器网络的一个节点的微处理器上运行的嵌入式实时系统,项目有两个周期性的任务 r1 和 r2 . r1 有三个子任务 t1 , t2 和 t3 ,各自地发送和接收数据以及发送声明.任务 r2 有三个子任务t4 , t5 和 t6 ,将传感器的位置分别移向三个方向.子任务 t1 , t2 和 t3 需要同一个网络设备 k 1,而子任务 t4 , t5 和 t6 需要同一个动力设备 k2 .这就需要各子任务的联合调度来保证它们的最终期限达到理想需要,并达到最小能耗.我们提出的这种特性的模型并提出算法来获得能耗最小的在时间上可行的调度法.

Page 5: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

通常的,最短极限和单调的调度法使用较多,但作用很有限.比如,由一系列独立的周期性任务构成的模型表现出的嵌入式系统的能力是有限的.这就更加需要一个更为复杂的模型.我们使用一个基于外部网络的模型.在文献 [2] 中, Real Time Petri Nets(RTPN) ,被用于指定在一系列同时发生的带有子任务的周期性任务中有优先关系的任务.一个子任务有一个局部的最终期限而一个 RTPN 有一个全局性的最终期限.准动态调度法可以用于调度一系列有局部极限的 RTPN .全局周期和全局的极限.数据依赖于分枝的情况并静止地调制成不同的特性配置和准动态调度.对每一个已分解的特性配置动态调度被采用于满足所有的子任务的局部极限,优先约束,以及每个任务的全局的极限。这里我们通过考虑能量的因素增强了 QDS 。

Page 6: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

本文的组织方式如下。在第 2 节中介绍一些前人在综合实时嵌入式软件上对调度和低能耗方法研究上的工作。在第 3 节,展示我们的系统模型并给出实例。在第 4 节中阐述调度的的算法。第 5 节中,通过两个例子来描述算法的性能。最后一节进行总结。

Page 7: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

2.相关工作 Related Work 在文献 [34] 的基础编译技术中,提出嵌入式软件减少能耗的

方法。电压和频率可变的处理器也被用于减少嵌入式系统的能耗,通过在文献 [5 , 6] 中提出的算法。更好的是,设备调度也是减少能耗的主要技术之一。系统执行的能耗管理就是通常说的动态能耗管理。一系列的任务在运行时预定,那么它们的时间约束和能耗的减少就可以达到。文献 [7 , 8]预示和随机的模型通常用于 I/O 设备设备动态能耗管理。对于一个精确的实时嵌入式系统它们并不够精确。文献 [9 , 10] 的在线设备调度很流行但仍有很多的不足之处。其中之一就是调度需要时间来决定大量的任务的调度。离线式设备调度方法产生预定任务队列来完全满足时间约束性。 Swaminatham 在文献 [11] 中提出了一种图表模型的离线式设备调度技术。列出所有的调度方法和最小能耗的方法。

Page 8: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

在此,我们提出一种准动态设备调度技术以代替最早极限的调度法。比较以前的方法,其优点包括多源的同步分析,也就是时间,存储和能耗,具有更好粒度的复杂系统模型。以及一代的低能耗的调度方法。

Page 9: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

3. 系统模型和对象问题 System Model and Target Problem 为了对复杂性能的低能耗实时嵌入式软件进行建模,

我们提出能量感知的实时 Petri 网系统模型。 Definition1. 能量感知实时 Petri 网络 (PARTPN) PARTPN 中 P 是地点的有限集, T 是转换的有限集,

P T≠∪ 空集, P∩T=空集, F:(p*T) (T*P)→N∪ 是关于位置和转换的有利流,用弧度表示M0 。

P→N 是最早的记号。 t : T→N*(N ∞)*K∪ 。 K 表示所有可调度的系统设备的集

Page 10: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

第 1 节介绍的传感器网络节点的例子中 PARTPNs 的模型如图 1示。

Page 11: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

两种可调度的 I/O 设备的属性如表 1 所示。

Page 12: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

我们需要解决的目标问题是编写软件代码来达到 PARTPN 系统模型描述的需要以及满足所有用户给定的约束,包括全局和局部的极限。可用的全局存储和全局能耗的最大值。

Page 13: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

4. 低能耗准动态调度 Low-Power Quasi-Dynamic Scheduling

为了解决以上的实时嵌入式软件的综合问题,提出一种低能耗的准动态调度法 (LQS) ,类似于 QDS和其它的一些调度方法, LQS 同样是使用在给定的PARTPN 模型集的搜索方式上建立可达到的树状结构。而满足所有无时间限制的调度方法称为扩展的准动态调度 (EQSS) ,如文献 [12] 提出。 QDS产生调度时间总量最小的 EQSS 调度,而 LQS则产生能耗最小的 EQSS 调度。基本能量的计算和树的裁减规则有效找到可行的 LQS 调度方法将在下文介绍。

Page 14: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

对于每一个节点,系统资源的使用,包括总时间,存储和能耗,必须经过计算。初始的记号 (根节点 )

并不拥有时间,存储量和能量。时间,存储和能量的计算是很直接的。给定一个节点 M ,在一个继承节点 M’ 的能量消耗在一个传输开始后进行观察如下:

(i)开始,所有的设备设定为工作状态,工作设备 Dw(M0) 设定为 K ,而 M0 是最初的记录。

(ii) 传输中需要的最大的设备唤醒 (重启 ) 时间 t 在记录M 中计算如下

Page 15: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

(iii) 局部能量消耗是在记录M形式化的启动一个传输的能量总和,如式 (2) 所示:

其中 Dr(t,M) 是设备需要定为工作状态在时间t 以开始记录M 的集 ( 如或者是一直保持工作状态或新被唤醒 ) 。这些规则决定了哪些传输需要先启动,哪些设备需要被唤醒以实现以下的 LQS 。

Page 16: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

(i) 在通过开始一个传输来产生一个继承节点时,在记录时间可列的前提下检查所有的其它可能的传输:

(ii)当一个传输被选中以开始记录M ,持续工作的设备可能更甚于其它的设备,特定的,所有传输需要的设备满足式 (4).必须持续的工作。

Page 17: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

5. 应用实例 Application Example

第 1 节中对传感器网络节点的实时嵌入式软件的 LQS 进行了描述,并在第 3 节中通过两个同步的 PARTPNs 来建模如图 1示。

Page 18: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

产生了十四个调度,其中调度 <t1t2t4t5t6t3> 在 66个单元中拥有最少的能量消耗,所以它被选作最后的结果。软件代码根据此调度来编写。

Page 19: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

在这个例子中,在应用所有提出的裁减技术后产生的可行树拥有 34 个节点。如果一个完整的可行路径树在没有裁减技术下产生,将会有 69 个节点。当更大的系统需要同合成时又将会有更多的节点。

为了体现本文提出的 LQS 算法的优点,我们将其与能量优化设备调度 Energy-Optimal Device Scheduler(EDS) 比较。如表 1 可见, LQS 在能耗和节点数以上以及时间都优于 EDS 。

Page 20: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

另一个例子是,我们把 LQS 应用于主 /从角色转换的无线蓝牙通讯协议中。两个蓝牙设备的进程转换用 PARTPNs 进行建模。因为篇幅有限,本文省略了其建模过程。角色转换必须在主机层和主 -控 /连接管理层中进行通讯。这个模型必须分别地进行 4和 9 个 EQSS 调度。因此共有 36 个系统特性和可行路径树。而中有一个 LQS 调度。产生的可行路径树上有 34 个节点和 6 个可行的调度。而最小能耗的调度需要 24倍的单位和消耗 189 个能量单位。如果没有本文提出的这种裁减方法,可行的路径将达到 8191 个节点。

Page 21: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

6 .总结 Conclusions

  本文提出一种适于实时嵌入式软件的以设备为中心的低能耗调度算法。并提出一种叫做 Power-Aware Real-Time Petri Net (PARTPN) 的模型来更好的描述嵌入式系统的特性。接下来还提出低能耗的准动态调度方法来寻找这种模型的低能耗调度方法。这就保证了产生的调度表能满足子任务的所有局部的最终期限,任务的全局期限,存储和能量约束。调度表同样具有最小的能量消耗。在与离线 I/O 设备调度方法的比较中可知其效率和性能是更为优异的。

Page 22: DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS

谢谢!