180 likes | 321 Views
为实时嵌入式系统设计的以设备为中心的低功耗进程安排. DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS*. 摘要
E N D
为实时嵌入式系统设计的以设备为中心的低功耗进程安排为实时嵌入式系统设计的以设备为中心的低功耗进程安排 DEVICE-CENTRIC LOW-POWER SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS*
摘要 • 已经存在的降低功耗方法主要是降低整体能量消耗的方法。这种方法是通过关闭不在使用的装置在进程时间表之后。这种方法常常导致不理想的能量消耗,原因是在一个固定的系统时间表里没有进程空闲时间去关闭不用的设备。而这些时间表是由速率监控器或者是一个最早死期时间调度器来产生的。在这里,我们试图通过低功耗时间表来集成在进程调度表中。我们建议的方法“低功耗半动态调度”被执行并用于一些例子。包括一个传感器网络节点和蓝牙设备来证明它的有效性。 • 关键词:设备调度算法,低功耗实时嵌入式系统,PN网
一,背景 • 在一个实时嵌入式系统中,在时间限制和能量使用的优化之间有一个交易。因为越少的时间调度要求更多的能量消耗反之亦然。我们试图描述这种交易并执行一个低功耗实时时间表为实时嵌入式软件的综合和代码生成。 • 例如,一个实时嵌入式系统运行在一个无线传感器节点上的微处理器上,这个系统有两个实时周期任务r1和r2。任务r1有三个次级任务t1,t2和t3.分别代表发送数据,接收数据和发送应答。任务r2有三个次级任务t4,t5和t6代表传感器在三个轴的移动位置。前三个次级任务都要求相同的网络设备k1。后三个也是要求相同的动力设备K2。很有必要去安排时间来满足这些次级任务的最低时间要求并且尽力降低能耗。我们建议的的模型用于这种行为和一个算法来获得一个带有低功耗的时间可行的调度表
二,相关的工作。 • 很多的技术方法已经被用来降低嵌入式软件的能耗。电压和频率的可变处理也被用于降低嵌入式系统的能量消耗。通过任务调度算法。更进一步说,设备调度也是一个以前就用来减低能量消耗的技术。由一个操作系统执行的能源管理通常是动态的能源管理。很多任务是在运行时间调度的这样他们的时间限制和能源消耗就会满足。预先的随机的模式经常被用来I/O设备的动态能源管理。对于一个硬实时嵌入式系统而言他们不够精确。在线设备调度比较流行但是一些缺点还是存在的。其中一个就是调度器需要时间去确定一个大的任务集的时间安排。离线设备调度以前没有像前面的方法讨论过多。离线的设备调度方法产生了一个提前的时间安排任务顺序这样的话时间限制就可以完全的满足了。Swaminatham建议了一种离线设备调度技术对于任务图表模式。一个可行的树被生成用来发现所有的调度表和输出最低功耗的那个。
这里我们建议的准动态设备调度技术使用了准动态时间调度代替了以前常用的最早时期先调度算法。我们通过一些方面主要包括多种能源同时性分析,名义时间,存储和功耗,复杂系统模型和低功耗时间表的产生等的对比来看出这种方法的优势。 这里我们建议的准动态设备调度技术使用了准动态时间调度代替了以前常用的最早时期先调度算法。我们通过一些方面主要包括多种能源同时性分析,名义时间,存储和功耗,复杂系统模型和低功耗时间表的产生等的对比来看出这种方法的优势。
三、系统模型和目标问题。 • 为了模拟低功耗实时嵌入式软件的复杂行为。我们建议了能量自知的RTPN网络作为系统模型。 • 一个能量自知的RTPN网络是一个七点((P, T, F, M0, T, p, d)P代表地方的有限集。T是一个有限的传送集。P u T ^ <|), P n T = <(>, F: (P x 7) u (T xP) —>N是一个权重流相关的在地方和传送集。M0: P —>N是一个初始标记()τ(t) = (αβ L),这里的α是一个传送执行时间,β是一个当地传送时间死期。L是设备清单要求执行的时间。K是所有可以被调度的系统设备。我们使用缩写Ta(t), Tp(t), zL(t)代表执行时间。死期时间和要求的设备集,p代表整体周期。d代表PARTPN网的整体死期任务模式。 • 两个PARTPN的集合来模拟了传感器网络节点的例子。如一图所示,I/O设备的调度时间如表一所示。
四,低功耗准动态调度方法。 • 为了解决以上的实时嵌入式软件综合问题。一个低功耗准动态调度的方法在这里被给出。类似于QDS和其它静态的调度技术,LQS也使用了一个树结构用先深搜索的方法在网络中构建。也就是说LQS的前端处理过程和QDS的相似。这样的时间调度可以满足所有的非时间限制的场合,被称为扩展的准静态调度表,(EQSS)QDS产生了一个EQSS调度表有最小的整体调度时间。因此,LQS产生了一个EQSS调度表但是是有最小的整体功耗。基本能量计算和树裁剪规则用于有效地发现可行的LQS调度表在文章的其余部分给出。
约束条件: • 对于每个树节点,系统资源使用包括整体时间,存储,和能量,必须被计算。根节点有零时间,存储和能量消耗。时间和存储的计算是好懂的。给定一个节点M,能量使用在一个后续节点M’上可以在消耗t时间之后获得。
首先,所有的设备设置成为工作状态,工作设备集记为k,这里的M0代表初始节点。首先,所有的设备设置成为工作状态,工作设备集记为k,这里的M0代表初始节点。 • 其次,最大装置唤醒(复位)时间e(t, M),节点M的传送时间要用到的参数计算如下 • DR(t, M)是要求工作的设备集,对于时间t,正如在后文定义的一样。
最后,当地功耗v(t, M)是用于计算传送时间整体能耗的。
一些规则被用于确定到底是那个装置先被唤醒并且执行在LQS中。如下所示:一些规则被用于确定到底是那个装置先被唤醒并且执行在LQS中。如下所示: • 首先,在节点M用传送时间t1产生后续节点之前调度者首先检查了所有的其它在G中的可行的传送时间t2。这里的G是一个当前相对于M的可行传送集。如果满足下面等式的话A传送t1就被认为是可被利用的在G中:
五,应用的实例。 • 为了说明LQS,实时嵌入式软件在传感器网络节点,在第一段引入的并在第三段通过两个PARTPN网络模拟的节点网络 • 表一,是一个使用的例子。在LQS的应用中一个可达性树被产生了。 • 图中我们可以看到十四个调度表被产生,其中的t1t2t4t5t6t3有最低的功耗66个单元和10单元的时间限制。所以它被选择最为最终的结果。软件代码然后就应相应于这个时间调度表来设计了。 • 例如,产生的树有34个节点在用了所有的裁剪技术之后。如果不用裁剪技术的话会产生69个节点。也许在大型系统中需要更多的节点。
为了显示我们的LQS算法的有效性,我们和能量优先设备调度器(EDS)做了比较。结果如下表,我们看到了LQS是优于EDS的在小范围的树结构上,并且找到了低功耗调度。 为了显示我们的LQS算法的有效性,我们和能量优先设备调度器(EDS)做了比较。结果如下表,我们看到了LQS是优于EDS的在小范围的树结构上,并且找到了低功耗调度。
另外的一个例子我们用LQS来达到主客体的角色的转换在无线蓝牙通信协议中。现在对于两个蓝牙装置A和B来转换他们的角色这个过程通过使用四个PARTPN网来完成模拟。由于篇幅限制我们在这里就不给出模型了。角色转换必须在主层和主控制链接管理层之间完成。模型里有4和9个不受时间限制的EQSS调度。因此,这里一共有36个系统行为,一共产生36棵树,最后只有一颗是LQS调度需要的。这颗树有34个节点,并且有六个可行性调度,最小功耗的调度要求24个时间单元和189个能量单元。没有建议的裁剪技术,全部的树要有8191个节点。另外的一个例子我们用LQS来达到主客体的角色的转换在无线蓝牙通信协议中。现在对于两个蓝牙装置A和B来转换他们的角色这个过程通过使用四个PARTPN网来完成模拟。由于篇幅限制我们在这里就不给出模型了。角色转换必须在主层和主控制链接管理层之间完成。模型里有4和9个不受时间限制的EQSS调度。因此,这里一共有36个系统行为,一共产生36棵树,最后只有一颗是LQS调度需要的。这颗树有34个节点,并且有六个可行性调度,最小功耗的调度要求24个时间单元和189个能量单元。没有建议的裁剪技术,全部的树要有8191个节点。
六,结论: • 我们建议的以设备为中心的低功耗调度算法为嵌入式软件。一个叫做能耗自知的实时PN网被用于模拟一个嵌入式系统的行为。低功耗准动态调度被用于发现一个低功耗调度表,他保证了产生的调度满足所有的当地次级任务的死期要求,整体任务的死期和存储器及能量限制。这个调度也有最小的能量消耗。相对于一个离线I/O设备调度的方法,它显示了更有的性能。