WSN中基于PowerTOSSIMz的能耗评估
方案。仿真结果表明,使用PowerTOSSIMz测量WSN中Provenance的传输能耗较为有效。
关键词:无线传感网络;溯源数据;压缩传输;PowerTOSSIMz
DOI:10.11907/rjdk.171639
中图分类号:TP393 文献标识码:A 文章编号:1672-7800(2017)009-0170-03
Abstract:In wireless sensor networks (WSN), data from the base station (BS) are usually evaluated reliably usingProvenance. Due to high energy consumption of Provenance transmission, and the lack of effective method of measuring energy consumption in WSN, the paper introduces Provenance compression transmission methodbased on the system structure and the simulation principle.And the paper also describes in detail the use of PowerTOSSIMz in TinyOS solution. Simulation results show that using PowerTOSSIMz to measure the energy consumption of Provenance transmissionin WSN is an effective method.
Key Words:WSN; Provenance; compression transmission; PowerTOSSIMz
0 引言
在WSN中,通常使用Provenance对BS接收的数据进行可信性评估。但是由于Provenance记录了一个数据从产生、转发至BS涉及的所有操作[1-2],因而容易引发Provenance的数据量过载问题,并导致极高的传输能量消耗。为此,研究人员提出了一些Provenance压缩方法,如:Provenance分段传输的PPM(Probabilistic Packet Marking)方法[3]与PPF(Probabilistic Provenance Flow)方法[4],以及基于字典的DP(Dictionary Based Secure Provenance Compression)方法[5]。然而,由于传感器节点的能量有限,且实时测量Provenance的传输能耗缺乏有效的技术手段,因而出现了较多的嵌入式能耗测量插件,如:PowerTOSSIM[6-8]和PowerTOSSIMz[9]等。其中PowerTOSSIM提供伸缩性能耗评估环境,生成的代码可直接在TOSSIM上运行,而由Eico Perla等利用TOSSIM仿真器和事件驱动开发的PowerTOSSIMz,其除了具有丰富的Radio模型外,还具有較为完善的Micaz节点能耗模型。
本文首先介绍目前常用的Provenance压缩传输方法,然后阐述PowerTOSSIMz[9]的仿真原理和体系结构。在此基础上,介绍PowerTOSSIMz在TinyOS-2.1.2平台上的配置步骤和仿真过程。实验结果表明,与PowerTOSSIM相比较,PowerTOSSIMz测量值更加接近真实的能量消耗。
1 Provenance压缩传输方法
1.1 PPM方法
Savage等[3]提出了一种基于概率数据包标记的Provenance编码方法PPM(Probabilistic Packet Marking)。PPM除了要求一个全局变量M_ID,用于区分Provenance数据片段,还要求每个节点具有标识ID和阈值p(通常p=0.04)。在编码过程中,若抽签概率小于p,该节点的ID写入Provenance缓存中,并修改M_ID的值;反之,PPM则不标记当前节点,仅仅修改M_ID的值,然后在下一个节点处继续实施编码。而在解码过程中,BS首先根据M_ID对所有的Provenance片段进行分类,然后利用节点标记信息可准确地解码出Provenance。该方法将Provenance分段传输至BS,解决了数据包容量受限的问题,但是由于只传输节点的ID,整体压缩比不高,因而Provenance的传输能耗较高。
1.2 PPF压缩方法
Fahmy等[4]提出了一种基于数据链路片段标记方法PPF(Probabilistic Provenance Flow)。该方法除了引入分段传输和素因子分解技术之外,还规定每个节点都具有标识ID,每条数据链路片段具有阈值p,以及一个全局变量F_ID(数据链路的ID)。在编码过程中,若抽签概率小于阈值p,则清空Provenance缓存区,然后修改F_ID的值,同时将数据链路上所有节点ID的最大素数乘积和偏移量之和写入缓存区中;反之,仅须修改F_ID的值,然后将Provenance传输至下一个节点,继续实施编码。而在解码过程中,BS先将相同的F_ID归为一类,然后用文献[10]的方法算出节点的ID,并结合网络拓扑可重建数据源到BS的Provenance。PPF算法采用链路标记方法,达到了减少Provenance数据量的目的;但是由于应用了素因子分解算法,因而运行时间复杂度高、效率较低、能耗较大。
1.3 DP压缩方法
Wang等[5]提出了一种基于字典序的Provenance压缩方法DP(Dictionary Based Secure Provenance Compression)。在编码过程中,DP方法首次传输完整的Provenance,并在每个节点处建立数据链路的字典与索引,其余每次只传输数据链路在字典中的索引。而在解码过程中,BS在所有的字典中搜索出索引所对应的字典序,从而能准确恢复出Provenance拓扑。该方法在稳定的网络环境中,Provenance平均压缩比较高;反之,若WSN的拓扑结构变化较快,数据链路的字典将会难以建立,由此也会导致Provenance的平均压缩比下降,出现耗能较高的情况。
2 PowerTOSSIMz实现原理
2.1 PowerTOSSIMz体系结构
PowerTOSSIMz的体系结构包括基本模块和核心模块,其体系结构如图1所示。其中,基本模块是支持TOSSIM的仿真模块,而核心模块生成专门的功率状态信息,通过记录各仿真节点上硬件抽象组件的功率状态来分析TOSSIM的仿真结果。
PowerTOSSIMz通过功率状态信息与功率模型相结合来评估每个仿真节点的耗能情况,采用脱机的工作方式获取功率状态的详细记录,其能耗测量分为两个过程:①功率状态信息的生成过程,仅花费较小的代价即可记录硬件状态转换的开销;②数据处理过程,采用额外的组件将仿真节点所消耗的总能量进行可视化。因而PowerTOSSIMz评估能耗具有较强的灵活性和有效性。
2.2 PowerTOSSIMz仿真原理
PowerTOSSIMz内核维护了一个仿真器事件队列。当执行一个仿真器事件时,仿真调度器会检查相应仿真节点的任务队列,按照先进先出的原则执行队列中的任务,直至任务队列为空。而核心调度器用一个全局状态表指示正在运行的节点,当执行的任务从硬件抽象组件中退出时,PowerTOSSIMz立即转去运行TOSSIM。PowerTOSSIMz通过变动较少的代码替换TOSSIM的部分硬件抽象组件,从而使PowerTOSSIMz接口链接到TOSSIM的组件上。另外,PowerTOSSIMz还采用独立的PowerState模块测量各节点能耗的方法,有利于扩展接口支持新的硬件组件。
3 仿真
3.1 PowerTOSSIMz配置步骤
(1)根据文献[11]所在网址下载PowerTOSSIMz源码。
(2)使用PowerTOSSIMz的组件替换TOSSIM的相关硬件抽象组件,然后在TinyOS的相应目录下创建PowerTOSSIMz的能耗评估文件,用于测量仿真节点消耗的能量。
(3)在文件support/make/sim.extra中增加build_storage,而在tos/platforms/micaz/sim/.platform文件中须加入如下代码:
%T/platforms/mica2/chips/at45db
%T/platforms/mica/chips/at45db
%T/chips/at45db
(4)为了生成功率状态信息,须在Makefile文件中添加:CFLAGS += -DPOWERTOSSIMZ。
(5)在Python的文件中须增加额外的ENERGY_HANDLER,可将标准的能耗结果输出到指定的文件中。
3.2 PowerTOSSIMz運行过程
首先在tinyos-2.1.2/apps/test目录下执行如下两条命令:make micaz、make micaz sim;然后进入tinyos-2.1.2/apps/test/postprocessZ目录中,执行命令python postprocessZ.py--powercurses Energy.txt>EnergyPowerCurses.txt。其主要的仿真过程可分为如下4个步骤:
(1)启动。仿真程序读取能量评估所需要的初始信息,例如仿真时间、噪声配置信息、随机数种子及仿真节点个数。
(2)初始化。首先初始化全局数据结构,然后初始化各仿真节点模块,包括数模转换模块ADC、时钟模块CLOCK、射频模块RF,以及初始化外部通信接口和仿真时间队列等。
(3)调度处理。PowerTOSSIMz按先进先出的原则从仿真器事件队列中取出事件,然后在执行该事件的同时,将下一仿真器事件进入队列,以此驱动仿真程序继续向前执行。若仿真器发现仿真时间已到或收到了终止命令,则立即结束。
(4)结束。PowerTOSSIMz内核关闭对外的所有通信接口,将能耗信息写入所规定的文件中,然后释放占有的系统资源。
3.3 基于PowerTOSSIMz的仿真
为了更好体现PowerTOSSIMz测量能耗的有效性,本文对PPM[3]、PPF[4]和DP[5]方法进行了能耗对比实验。在实验中,使用了100个节点,其中0号节点作为BS使用,网络直径为12跳,对能耗测量使用的性能指标如下:
Total Energy Consumption (TEC):在仿真周期内传输Provenance消耗的总能量(单位:毫焦),TEC的定义如下:TEC=∑mi=1ECi 其中,ECi表示节点ni传输Provenance所消耗的能量,m表示WSN中节点的总数。
图2给出了数据传输跳数为6时,PPM方法下PowerTOSSIMz的仿真结果。从图中可直观地看出WSN中仿真节点所消耗的能量,包括CPU、ADC模块、LED模块、无线通信模块、总能耗及节点剩余能量等,从而可计算出所有仿真节点的能耗。
在相同的仿真环境中,图3给出了PPM方法下PowerTOSSIM测量结果。数据显示,该工具的功能与PowerTOSSIMz类似,但并没有给出仿真环境中节点的剩余能量。另外,也显示了5号节点和6号节点在CPU耗能方面存在较大差异。
根据理论分析,PPM方法在各节点处都采用相同的Provenance编码方法,由此可推导出CPU的能耗差异应较小,这与图3中的数据差异较大,因此使用PowerTOSSIM测量传感器节点的能耗,其稳定性低于PowerTOSSIMz。
图4给出了当采用PowerTOSSIMz测量PPM、PPF和DP方法的能耗时,Provenance的传输能耗TEC与数据包传输跳数之间的关系曲线。由此可直观地看出,DP方法的TEC曲线趋于水平,其成因是在网络稳定时,每次只传输字典索引,因而其能耗最低,性能最好,PPF其次,而PPM最弱。
4 结语
WSN是一个典型的能量受限网络,而能耗问题又直接影响其通信质量,因此如何评估WSN中的传输能耗已是重点关注的问题。由于实时测量节点的能耗目前缺乏有效的技术手段,因而本文在TinyOS-2.1.2中配置PowerTOSSIMz,能够在TOSSIM仿真的同时记录每个节点的能耗状态,从而便于计算出网络传输的总能耗。与PowerTOSSIM相比,仿真数据实证了PowerTOSSIMz具有更高的稳定性,还能直观地看出节点的剩余能量,因此在WSN中使用PowerTOSSIMz测量能耗更为合理。
参考文献:
[1] DOGAN G.A survey of provenance in wireless sensor networks[J]. Adhoc & Sensor Wireless Networks,2016.
[2] PRIYANKA, DEVIKA M.A survey of provenance management in wireless sensor network[J].Journal of Engineering Research and Applications,2016.
[3] CHAUDHARI K P, TURUKMANE A V.Dynamic probabilistic packet marking[M]. Springer Berlin Heidelberg,2013.
[4] ALAM S I, FAHMY S.A practical approach for provenance transmission in wireless sensor networks[J].Ad Hoc Networks,2014(16):28-45.
[5] WANG C, HUSSAIN S, BERTINO E.Dictionary based secure provenance compression for wireless sensor networks[J].IEEE Transactions on Parallel & Distributed Systems,2015,27(2):1.
[6] SHNAYDER V, HEMPSTEAD M, CHEN B R, et al. Simulating the power consumption of large-scale sensor network applications[C].International Conference on Embedded Networked Sensor Systems,2004:188-200.
[7] 郭克君.基于PowerTOSSIM的WSN仿真软件研究与实现[D].南京:南京航空航天大学,2012.
[8] 熊书明,王良民,王新胜,等.PowerTOSSIM无线传感网仿真器剖析[J].系統仿真学报,2010,22(1):75-78.
[9] PERLA E,IN A, CARBAJO R S, et al. PowerTOSSIM z: realistic energy modelling for wireless sensor network environments[C].ACM Workshop on PERFORMANCE Monitoring and Measurement of Heterogeneous Wireless and Wired Networks,2008:35-42.
[10] CORMEN T H, LEISERSON C E, RIVEST R L,et al.Introduction to algorithms[M]. MIT press Cambridge,2001.
[11] MICHAEL.Powertossimz-November-2-2010[EB/OL].http:///1543634.html, 2012-11-16.
(责任编辑:孙 娟)
推荐访问:能耗 评估 WSN PowerTOSSIMz