280 likes | 450 Views
Dual Priority Scheduling Based on Power Adjustment Context Switching for Ubiquitous Sensor Network. 基于能量管理前后转换的双重优先级调度的传感器网络. SUMMARY. Ubiquitous Sensor Network ( USN ) 无所不在的传感器网络的节点通常需要运行数个月,但却只有有限的系统资源比如存储器和能量。一个典型的传感器网络节点在长达几月的寿命中往往只有少于 1% 的时间是处于活跃状态,而 99% 的时候都是处于停止的等待状态。. SUMMARY.
E N D
Dual Priority Scheduling Based on Power Adjustment Context Switching for Ubiquitous Sensor Network 基于能量管理前后转换的双重优先级调度的传感器网络
SUMMARY • Ubiquitous Sensor Network(USN)无所不在的传感器网络的节点通常需要运行数个月,但却只有有限的系统资源比如存储器和能量。一个典型的传感器网络节点在长达几月的寿命中往往只有少于1%的时间是处于活跃状态,而99%的时候都是处于停止的等待状态。
SUMMARY • 本文提出了一种功率调整的双重优先级调度程序Power Adjustment Dual Priority Scheduler(PA-DPS),通过估算传感器网络节点的能量消耗来提供满足USN要求的低功耗的方案。PA-DPS是基于事件驱动和双重的优先权调度结构来设计的方法,这在实时系统中是常用的方法。通过实验的结果,PA-DPS使节点在1%的生命周期中的不活跃模式减少到40%。
Key words: • Ubiquitous sensor networks, dual priority schedule, operating system 关键词: • 传感器网络,双重优先级调度,操作系统
1.Introduction • 为了运行传感器和无线网络协议,无线传感器节点需要诸如实时和可预知的实时系统的特性。 • 此外,为了诸如声音传播和计算机外围设备的应用,要求传感器网络能够快速反应和QoS保证。 • 实时性方法需要满足不同于一般的实时系统.
TinyOS就是USN传感器网络的一个代表性的操作系统OS,因为其小体积的代码和基于编程模式的高效组件。TinyOS就是USN传感器网络的一个代表性的操作系统OS,因为其小体积的代码和基于编程模式的高效组件。 • 对于高效的结构,它采用基于事件驱动方法的简单调度程序和休眠,唤醒方案的能源管理方法。 • 当系统处于静止状态时,调度程序将系统转换为休眠模式,这样就可以使其消耗最少的能源。 • 还有其它的抢占式的多线程的OS也采用这种结构我,譬如MANTIS。
如果USN系统在小于1%的工作循环中运行,那么USN节点在多于99%的生命周期中都处于静止状态。如果USN系统在小于1%的工作循环中运行,那么USN节点在多于99%的生命周期中都处于静止状态。 • 超过95%的能源是消耗在停止状态的。甚至如果当前的休眠模式下变弱为几uA,电池运转的系统都可以大大的延长其寿命。 • 如果MCU提供能量级,外围设备的能源和系统的各组件就可以控制,系统可以维持在相当的低能耗状态,只要可以保证准时的执行任务。
因为这个原因,本文提出以下几点技术的思想:因为这个原因,本文提出以下几点技术的思想: • 在典型的USN节点中,诸如RF无线收发器等外设和传感器即使在静止状态也稳定的消耗少量的电流,因为涉及到外设的组件必须供以能量来保证可靠的执行通讯的任务。 • 在另一方面,嵌入在微控制器中的计时器明显的比外设减少电流的消耗。 • USN的各个任务可以预见的组织起来由计时器周期性的执行,那么没有使用的硬件在静止状态时就可以完全的关闭了。 • 如果必要的硬件足够早的激活来持续整个硬件设备的初始化过程,那么需要的任务就可以很好的执行并且系统可以在休眠模式中保持一个相当的低能耗。
2.调度程序设计 • 为了获得USN的低能耗的实时系统,我们提出一种改进的双重优先级的调度(DPS)结构。 • 改进后的DPS结构可以基于最终期限通过估算最差的情况下的运行时间worst case execution time(WCET)来决定系统的操作速度。 • 因为采用这种方法(WCET),在能源管理方面有优势。在USN节点中的实时任务有不同长度的周期,并且因为在USN 中实时任务的工作循环小于1%所以它的最终期限便无关紧要了。
低功耗操作的时序安排中插入功率调节函数power_adjust()。低功耗操作的时序安排中插入功率调节函数power_adjust()。 • power_adjust()函数由每个任务指派。对于每个任务,它定义了必须的硬件模块和由MCU提供的功率等级。所以系统可以在运行一个任务之前先重组系统。 • 改进的DPS概念,由底层运行队列lower run queue(LRQ)和上层运行队列upper run queue(URO)组成,可以简单的定为时间触发,信息触发的对象的概念。
周期性的任务由系统定时器在一个周期性的预备队列中periodic ready ready(PRQ)执行,而非周期性的任务由事件中其它不规则的预备队列sporadic ready queue(SRQ)执行。PRQ的周期性任务比SRQ的非周期性的任务有更高的优先权。 • 它们由基于FIFO的连续调度程序(context-switching free)执行。由硬件中断产生的事件由事件柄进行排队。如果系统定时器触发事件,那么正在执行的不规则的任务将被抢占优先权让PRQ优先执行
PRQ任务可以在警戒时间内唤醒以使能必须的硬件。在PRQ任务完成后,不规则的任务sporadic tasks的前后顺序将重恢复。如果还有这些不规则的任务存在,系统则改为最低能耗状态,也就是能源静止状态POWER IDLE。这种调度过程包括每个任务的power_adjust()过程,图1是调度过程的流程图
当执行过程完成后,SRQ的任务T(1)由事件驱动执行。T(1)可以在低运行速度执行,并由系统定时器中断占先直到任务T(j,k-1)在Cj时被执行。当执行过程完成后,SRQ的任务T(1)由事件驱动执行。T(1)可以在低运行速度执行,并由系统定时器中断占先直到任务T(j,k-1)在Cj时被执行。 • 当执行过程结束时,T(1)继续执行任务。 • 当SRQ和PRQ中都没有任务要执行时,系统通过能量调节器转变为能量停止模式。 • 在停止模式下所有的能源,除了保持系统定时器和存储器的硬件块外,都将被关闭。在停止模式,传感器节点系统由系统定时器的硬件中断唤醒,然后再重新恢复系统时钟和事件驱动来执行相应的PRQ任务。
这个应用包括一个周期性任务和一个不规则的任务,并且有能量调节功能。这个应用包括一个周期性任务和一个不规则的任务,并且有能量调节功能。 • 传感器的触发是一个周期性的任务,每秒钟都被唤醒来读取温度传感器的数值。 • 在传感器触发执行前,为了使能和初始化温度传感器和模数转换的硬件设备,调度程序调用其中一个传感器触发器,该触发器就是能量调节power_adjust()功能。
其它的不规则的任务由系统事件驱动KE_ADC_COMPLETED来执行。其它的不规则的任务由系统事件驱动KE_ADC_COMPLETED来执行。 • 当由传感器触发器初始化的AD转换完成时,发生硬件中断。一个中断柄产生一个事件来转交给调度程序。 • 调度程序接收到事件驱动后执行温度检测感应pa_temp_detect。这是temp_detect的power_adjust()函数,因此关闭传感器和ADC模数转换的硬件并执行temp_detect任务。
如图4所示,一个基带处理器主要由数字调制解调器,一个8-bit的微控制器和MAC硬件。数字的调制解调器主要由一个6-bit的数字模拟转换器digital to analog converter(DAC)和一个4-bit的模数转换器模块组成,模数转换器负责接收和发送无线射频信号。 • 嵌入式的微控制器执行8051的指令集并带有一个循环的时钟脉冲和支持128k字节程序的存储器来存储MAC软件和传感器网络协议。它运行在24MHz频率下并提供一个4通道的直接存储器存取控制。 • 嵌入的微控制器也包括四个硬件中断,两个全双工串口通信接口和两个16-bit的定时器。硬件MAC支持自动循环冗余码校验cyclic redundancy check(CRC),由四个可编程的定时器来调节适应MAC规则或网络协议如响应时间
图5展示软件架构和PA-DPS的能量控制硬件组件power controllable hardware component(PCHC),它可以使用硬件的能量管理单元power management unit(PMU)来决定启动或停止每个PCHC,并且这样的硬件信息由硬件描述文件hardware definition files(HDF)和硬件提取库hardware abstractin library (HAL)来描述。HDF提供了硬件的清晰的描述,HAL提供硬件的应用程序接口application programming interface(API)。PA-DPS用HAL和标准的C放言库来运行MAC和网络协议栈。
4.Experimental Results 实验结果 • 系统的能耗可以由电流的消耗量来定义,通达计算必须的电流(I)与消耗的时间(t)的乘积来表示。USN节点可以分成活跃时间和不活跃时间,这些时间的总和等于USN节点中全部的电流容量消耗时间。 • 系统寿命可以通过使用的电流消耗量来估算,如下式所示:
我们实验中,从温度传感器每秒钟获得测量值。在此情况下USN节点中执行的任务被划分为7种任务,表2中列出它们需要的时间和电流。在工作循环在系统活跃状态下每秒的单元执行时间0.25%左右进行计算。我们实验中,从温度传感器每秒钟获得测量值。在此情况下USN节点中执行的任务被划分为7种任务,表2中列出它们需要的时间和电流。在工作循环在系统活跃状态下每秒的单元执行时间0.25%左右进行计算。
也就是说,系统在其生命期限内只有0.25%的时间处于活跃状态来执行必须的任务,在其它99.75的生命期限是处于不活跃状态的。当系统处于不活跃状态时,系统保持最低的能耗。在这个事件中,只需要1011uA的电流。假设使用两节AA电池(3000mAhr)来给系统提供能量,系统可以使用大约117天。也就是说,系统在其生命期限内只有0.25%的时间处于活跃状态来执行必须的任务,在其它99.75的生命期限是处于不活跃状态的。当系统处于不活跃状态时,系统保持最低的能耗。在这个事件中,只需要1011uA的电流。假设使用两节AA电池(3000mAhr)来给系统提供能量,系统可以使用大约117天。
特别的,在不活跃状态电流的消耗量减少了30%,所以总共的电流消耗就明显的减少了。特别的,在不活跃状态电流的消耗量减少了30%,所以总共的电流消耗就明显的减少了。 • 休眠和唤醒架构和PA-DPS结构的比较如图7和8所示。 • 图7表明的是在1%工作循环寿命的情况的比较,而这样低的工作负载循环可以应用在传感器网络中
5.Conclusion 结论 • 本文提出了一种就用于传感器网络的能量管理的双重优先级调度结构。 • 提出的PA-DPS具有比较小的代码体积,其中的定时器中断已经被最小化。这个优点是通过从现有的事件驱动调度法得出的 • 。为了获得低能耗运行的传感器网络节点,最重要的是减少不活跃模式的电流消耗。当传感器网络节点的工作负载循环在1%以下时,本文提出的PA-DPS可以减少不活跃模式30~40%的电流消耗。 • 此外,PA-DPS是一个简单的架构,并且可以保证准时的执行任务和命令。