ADTY:SMAC中一种新的自适应占空比调整机制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ADTY:SMAC中一种新的自适应占空比调整机制1
卢凯,李方敏
武汉理工大学信息工程学院,武汉 (430070)
E-mail:ruifeng_1113@
摘要:SMAC协议中使用周期性侦听休眠机制使节点尽量处于低功耗的休眠状态,从而节省能量。

但它采用的是10%的固定占空比机制,当节点负载增加到一定程度时,发送节点经常要等待接收节点从休眠中醒来然后再进行数据传输,这导致网络的延时显著增加,吞吐率下降。

而如果改为采用较大的固定占空比,在轻负载情况下又存在过多空闲侦听。

本文提出一种新的自适应占空比调整机制—ADTY,节点通过判断单位时间段内负载情况,动态调整占空比,从而有效的降低网络延时,增加网络吞吐率。

NS2仿真结果证明了自适应占空比机制能较好的适应网络负载的变化。

关键词:SMAC,占空比,自适应,吞吐率,包延时,能效性
1. 引言
随着集成电路工艺的进步,处理器和传感器模块的功耗变得很低,绝大部分能量消耗在无线通信模块上,图1所示为Deborah Estrin在Mobicom 2002会议上的特邀报告(Wireless Sensor Network, Part Ⅳ:Sensor Network Protocols) 中所述传感器节点各部分能量消耗的情况,从图中可知传感器节点的绝大部分能量消耗在无线通信模块。

传感器节点传输信息时要比执行计算时更消耗能量,无线通信模块将1bit信息传输100m距离所需要的能量大约相当于处理器执行3000条指令消耗的能量。

图1 传感器节点能量消耗情况
无线传感器节点的无线通信模块的状态包括发送、接收、侦听和休眠等。

单位时间内消耗的能量按照上述顺序依次减少:在发送状态消耗能量最多,在休眠状态消耗能量最少,接
收状态和侦听状态下的能量消耗稍小于发送状态。

如何让网络通信更有效率,减少不必要的能量消耗,是传感器网络MAC协议设计需要重点考虑的问题。

2. SMAC协议分析
1
本课题得到基金项目:高等学校博士学科点科研基金项目(2005497006);新世纪优秀人才支持计划
(NCET-05-0657);湖北省青年杰出人才基金项目(2006ABB028)的资助。

如何让网络通信更有效率,提高网络的能耗性,是无线传感器网络MAC 协议设计需要重点考虑的问题。

Wei Ye 等人在 2002 年提出的SMAC [1-3]减少了空闲监听、串音、冲突等几种能量浪费,是一种减少节点能量消耗的较好方案。

SMAC 协议是分布式的层协议,无须任何局部或全局主节点的调度便能让传感器节点发现相邻节点,并安排合理信道占用的时间。

S-MAC 协议引入了周期休眠机制,图2为S-MAC 协议的时间帧结构,帧由固定占空比的listen 和sleep 状态组成,节点在listen 状态保持开启、发送RTS/CTS 、竞争随后的sleep 状态内的传输时刻,数据传输完毕时便可关闭电路休眠至下一listen 状态开始。

图2 S-MAC 协议的时间帧结构
与一般 802.11MAC [4] 协议相比,大大节约了节点的能量,从而可以增加无限传感器网络的寿命。

在SMAC 协议中相关的能量节约比为:
frame
listen frame sleep s T T T T E −==
1 (1) 其中: sleep listen frame T T T += (2)
由上述推理:休眠时间增加,节约的能量百分比也随之增大。

图3 三种MAC 协议能量消耗对比示意图
IEEE802.11MAC 协议、串音避免MAC 协议和S-MAC 协议的能耗比较如图3[5]。

该仿真图建立在UCB Rene Motes [6]平台上,基于TinyOS 操作系统[7,8]。

TinyOS 是一个有效的事件驱动操作系统,它提供基本的报传输、接收、和处理。

由图3可看出在网络负载一般时,
S-MAC 的性能远优于IEEE802.11,而网络负载较小时,S-MAC 消耗稍微更多一些能量,这是因为S-MAC 增加了同步头和接收SYNC 消息报的控制。

简单考虑轻负载时(如一个数据包)数据包经过N 跳转发的延时情况。

由于负载很小,数据包在每帧内都可竞争到发送时间,发送时也无冲突发生,节点收到数据包后可以立即处理而无排队延时,又因为节点间距很小,空中传播时延非常小,可以忽略,则数据包在第()N k k ,,2,1L L =跳内的延时k D 只需考虑休眠延时(k s T ,)、竞争延时(k c T ,)和传输延时(k tr T ,),其中k c T ,为从帧开始至开始发送数据时的延时,包括listen 状态内数据发送前的等待时间,各跳内的传输延时有相同长度,设为tr T ,tr T 包括 DATA 和 ACK 的传输时间和处理时间。

则:
tr k c k s k T T T D ++=,, (3)
而一帧时间长f T 为:
k s tr k c f T T T T ,1,++=− (4)
将(4)代入(3)得:
k c k c f k T T T D ,1,+−=− (5)
那么数据包经过N 跳转发后的总延时()N D 为:
()()∑∑∑=−==+−+++=+==N
k k c k c f tr c s N k k N k k T T T T T T D D D N D 2,1,1,1,211
()∑∑==−+−−+++=N k k c N k k c f tr c s T T T N T T T 2
,21,1,1,1 ()f tr N c s T N T T T 1,1,−+++= (6) 由于数据包在源节点随机时间生成,1,s T 在()
f T ,0内均匀分布,因此:
()[]()[]
f tr N c s T N T T T E N D E 1,1,−+++= []()f N c tr f T N T E T T 121,−+++= c tr f f T T T NT ++−=2
1 (7) 由(7)式可见()[]f T N D E ∝,为了更大程度地减少空闲侦听,应采用较大的f T 增加休眠时间比重,而增加f T 却线性地增加了延时,这就是延时与能耗的矛盾问题。

SMAC 协议采用周期性的动休眠调度机制减少空闲监听,周期长度是固定不变的,节点的活动时间也是固定的。

SMAC 协议的周期长度受限于缓存大小和延迟要求,活动时间则主要依赖于消息速率。

这样就会存在一个矛盾,缓存大小和延迟要求通常是固定的,而消息速率通常是变化的。

如果要保证可靠及时的消息传输,依据式(7)节点必须增加活动时间,占空比必须适应最高通信负载。

这样当负载动态较小时,节点处于空闲监听的时间相对增加,又没有达到节能的目的。

而为低的流量负载而把调整占空比调低时会造成在高流量时低的吞吐量和较大的延时。

由以上分析可知,SMAC 协议的固定占空比的周期休眠机制不能根据网络中业务量的变化动态调整占空比,存在延时和能耗的矛盾。

3. SMAC 占空比机制改进
SMAC协议中采取的是10%的固定占空比,一帧有10%的时间处于listen状态,其余90%的时间处于sleep状态。

这种占空比机制相对于没有周期休眠的MAC协议而言,在节能方面确实有了很大的进步。

但当负载较大时这个10%的低占空比是显然不够的,容易导致延时增加,吞吐率没有随着负载的增加而增加。

而且通一个簇里面的节点只能在这10%的时间里传输大量数据,这也导致了冲突的增加。

本文提出一种新的自适应占空比调整机制ADTY(Adaptive DUTY)。

改进的自适应占空比调整机制中所有节点的周期大小仍然是固定不变的,而且是相等的。

设置一个固定时间T值以及T时间段内吞吐率门限值L、M、N(L<M<N)三个等级,并设置四个等级的固定占空比A、B、C、D(A<B<C<D)。

节点启动后设置一个定时器,周期为T,每次定时器满,就重启定时器,并求出刚过去的这个T时间段内的节点的吞吐率throughput(即求出刚过去T时间段内本节点MAC层收到包的大小总和,包括节点的发包和收包,然后除以固定时间T)。

然后将这个T时间段内的吞吐率统计值与L、M和N三个门限值进行如下对比:
1.如果total<L,说明目前节点的负载流量很小,调整占空比,采用最小的占空比值A;
2.如果L=<total<M,说明目前节点的负载流量较小,调整占空比,采用占空比值为B;
3.如果M=<total<N,说明目前节点的负载流量较大,调整占空比,采用占空比值为C;
4.如果total>=N,说明目前节点的负载流量很大,调整占空比,采用占空比值为D;
这样,在负载动态变化的网络中,节点就可以根据过去T时间段内负载的情况预测未来T时间段内负载的情况,从而采取合适的占空比,这样就解决了SMAC协议固定占空比机制不能适应网络动态变化的问题。

关于这个固定时间段T长度的选取,为了不影响虚拟簇内节点的同步,防止节点改变占空比后与当前所在虚拟簇的其它节点在该同步周期内剩余时间的不同步,从而导致节点间通信出现问题,我们将其定为节点同步周期的大小。

每次节点要进行同步前,统计刚过去的T时间段的节点的平均吞吐率。

然后根据这个吞吐率统计值与T时间段内吞吐率门限值L、M和N的关系,调整节点的占空比,然后以新的休眠时间表进行同步。

关于T时间段内吞吐率门限值L、M、N和占空比A、B、C、D值的选取将在后面进行详细分析。

4. SMAC新占空比机制理论分析
与原始SMAC协议固定占空比机制相比,ADTY能根据过去T时间段内本节点的吞吐率情况预测下个T内节点的负载情况,从而对占空比进行调整。

如果发现目前的占空比相比过去T时间段内的负载情况显得过大,节点便调低自己的占空比,以减少空闲监听的时间,节省能量,提高信道利用率和能效性;如果发现过去T时间段内节点的负载较大,目前的占空比在过去T时间段内已经显得过小,节点便增加自己的占空比,以解决因为源节点必须等待目的节点从睡眠中醒来导致的延迟增加、吞吐率下降问题。

ADTY具有比较好的实时性,提高了网络的吞吐率和带宽利用率,而且在负载较大时能很显著的降低数据包的延时。

虽然在负载较大时,节点增加了自己的占空比,活动时间增加了,能量消耗也变大了,但这是应负载变化做出的调整。

因为如果负载变得很大,而节点还是一味的为了节省能量使用很小的占空比,网络的吞吐率没有随着负载的增加而增加,这样很多节点的重要数据因为严重丢包和冲突问题得不到传递,很多传输成功的数据包可能因为竞争过于激烈导致的冲突重传而延时显著增加,降低了这些传感信息的价值,这也就失去了无线传感器网络本身的意义,显得得不偿失了。

5. NS仿真与分析
为了验证改进方案的有效性,本文采用 Berkeley 大学的 NS2[9,10] 仿真工具进行网络仿真。

NS2 是一个源代码公开的软件,并且已经实现了 SMAC协议,
1.参数选取
SMAC中,每个侦听/休眠周期长度CycleTime约为1.4s,带宽为20kbps,发送一个字节大约需要0.4ms。

在NS2中,SMAC协议里面规定数据包最大为1000bytes,为了方便起见,这里设所有数据包大小均为256bytes,每个数据包的发包时间大概为0.1s。

这样,发包速率和占空比的关系大致如下表1所示。

表1 发包速率和占空比关系表
发包速率(bit/s)
每秒
发包(个/s)
每CycleTime
发包(个/cycletime)

CycleTime发包
时间(s)
每CycleTime发
包时间
/CycleTime(%)
1k 0.5 0.7 0.07 5 2k 1 1.4 1.14 10 3k 1.5 2.1 1.21 15 4k 2 2.8 0.28 20 5k 2.5 3.5 0.35 25 6k 3 4.2 0.42 30 7k 3.5 4.9 0.49 35 8k 4 5.6 0.56 40 9k 4.5 6.3 0.63 45 10k 5 7.0 0.70 50 11k 5.5 7.7 0.77 55 12k 6 8.4 0.84 60 13k 6.5 9.1 0.91 65 14k 7 9.8 0.98 70 15k 7.5 10.5 1.05 75 16k 8 11.2 1.12 80 17k 8.5 11.9 1.19 85 18k 9 12.6 1.26 90 19k 9.5 13.3 1.33 95 20k 10 14.0 1.40 100
表2 SMAC自适应占空比机制参数选取
吞吐率门限值(kbps) 占空比(%)
L 1.5 A 10
M 5 B 30
N 8 C 50
70
D
表1中发包速率和占空比之间的关系是在不考虑冲突的情况下得出的。

依据上表,在考
虑冲突的情况下本文对自适应占空比调整机制的参数的选取如表2。

2.场景设置
在400m*400m区域内随机分布150个节点,编号从0到149。

节点k(0=<k<60)与节点
149-k之间形成一对CBR流传输链路。

节点2n与节点149-2n、节点2n+1与节点
149-(2n+1)(0=<n<30)这两条CBR流发包率均为(n+1)kbps,这两条CBR流启动时间均为
40+50n。

仿真总时间为1540秒。

由于SMAC在启动时需要40s时间同步形成虚拟簇,所以
所有CBR流都时在40秒之后才启动。

而CBR数据流启动间隔时间为50s,是因为SMAC
中每隔50s进行一次同步更新。

这样就构造了一个负载越来越大的场景,来演示新机制在负
载变化的网络中的相关性能。

NS中相关参数设置如下:
表3 NS2场景参数选取
BANDWIDTH(kbps) 20
Data packet length(bytes) 256
Number of Nodes 150
energyModel EnergyModel
rxPower(mw) 12
txPower(mw) 14
idlePower(mw) 11
sleepPower(mw) 1
syncFlag 1
dutyCycleinit(%) 10
Pt_ 0.2818
RXThresh 1.42681e-08
其中,RXThresh是信号能量有效接收门限值,Pt_为信号功率,当Pt_=0.2818、RXThresh=1.42681e-08时,信号的有效传输半径为100m。

本文分别对原始SMAC和SMAC(ADTY)协议进行了仿真,下面分别就网络平均包延时、
网络吞吐率以及网络的能效性三个方面进行了对比分析。

3.NS仿真与分析
从图4可以看出在整个仿真过程中,原始SMAC协议的平均包延时一直处于显著增加
的趋势。

这是因为随着网络中高发包率链路的不断激活,整个网络的发包速率一直在增加,
但所有节点仍然采取10%的侦听休眠机制。

网络负载增加,但节点活动时间不变,网络中
越来越多的数据包要在这10%的时间里面完成,这导致两个后果:一源节点经常要等待目
的节点从休眠中醒来,增加了延时,降低了吞吐率;二网络冲突越来越严重,所有CBR流
都希望在这10%时间内完成传输,使得这10%的时间内网络竞争异常激烈,冲突越来越多,整个网络的平均包延时显著增加。

从图5可以看出在690s前,随着网络中高发包率链路的不断激活,原始SMAC协议的网络吞吐率由于链路的增加而小幅的稳步增加。

700s之后,由于冲突的显著增加,再加上固定占空比导致不断增加的平均包延时,网络的吞吐率没有因为链路的不断激活而不断增加,而是处于近乎停滞状态。

反观使用了自适应占空比调整机制的SMAC协议,由于节点能根据自身的吞吐率情况动态调整占空比。

当前一个同步周期内吞吐率增加时,节点能自适应的增加自己的占空比,增加自己的侦听时间,网络的延时和吞吐率性能都得到了大幅改进,延时降低了一半左右,吞吐率增加了两倍多。

图4 SMAC与SMAC(ADTY)的平均包延时比较
图5 SMAC与SMAC(ADTY)的网络吞吐率比较
从图6可以看出原始SMAC的位消耗能量在初始阶段很高,在690s左右降到最低最低值,之后又有增加的趋势。

在初始阶段网络位消耗能量之所以很高是因为初始阶段只有少量CBR流处于激活状态,大部分节点在这段时间内都是没有数据传输的,在它们10%的活动时间里基本上处于空闲监听的状态。

在690s之后网络的负载越来越大,节点的活动时间固定,异常激烈的竞争引起大量的数据包重传,以及源节点经常等待目的节点从睡眠中醒来,导致网络的能量消耗有所增加。

而网络的吞吐率处于停滞状态,因此,网络的能效性有所恶化。

而使用了ADTY的SMAC协议,在整个仿真阶段,位消耗能量始终比原始SMAC低。

使用自适应占空比调整机制后,虽然节点随着自己吞吐率的增加而增大自己的占空比,更多时间处于活动状态,相比原始SMAC能效消耗确实增加了,但从图5可以看出整个网络的吞吐率也在显著增加,使得整个网络的能效性仍然比原始SMAC协议好一些。

图6 SMAC与SMAC(ADTY)的位消耗能量比较
6. 结论
SMAC协议中使用周期性侦听休眠机制使节点尽量处于低功耗的休眠状态,从而节省能量。

但它采用的是10%的固定占空比机制,当节点负载增加到一定程度时,发送节点经常要等待接收节点从休眠中醒来然后再进行数据传输,这导致网络的延时显著增加,吞吐率下降。

而如果改为采用较大的固定占空比,在轻负载情况下又存在过多空闲侦听。

本文提出一种新的自适应占空比调整机制,节点设定一个定时器,通过判断单位时间段内负载情况,动态调整占空比,从而有效的降低网络延时,增加网络吞吐率。

参考文献
[1] W.Ye, J.Heidemann. Medium Access Control in Wireless Sensor Networks. USC/ISI Technical Report ISI-TR-580, 2003. 73~91.
[2] W.Ye, J.Heidemann, Estrin D. An energy-efficient MAC protocol for wireless sensor networks. IEEE INFOCOM, 2002. 1567~1576.
[3] Wei Ye, Heidemann J, Estrin D. Medium access control with coordinated adaptive sleeping for wireless sensor networks. IEEE, ACM Transactions on Networking, 2004.12(3): 493~506.
[4] LAN MAN Standards Committee of the IEEE Computer Society. ISBN 1-55937-935-9 1997 IEEE 802 Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. USA: Institute of Electrical and Electronics Engineers, 1997.
[5] W.Ye, J.Heidemann, Estrin D. An energy-efficient MAC protocol for wireless sensor networks. IEEE INFOCOM, 2002. 1567~1576
[6] /-pister/SmartDust
[7] Jason Hill, Robert Szewczyk, Alec Woo, et al. System Architecture Directions for Networked Sensors. In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operationg Systems, Cambridge, MA, USA, NOV. 2000, 93~104 ACM
[8]
[9] /nsnam/ns
[10] 徐雷鸣,庞博.NS与网络模拟.人民邮电出版社,2003
ADTY: A new Adaptive Dutycycle scheme in SMAC
Lu Kai,Li Fangmin
School of Information Engineering,Wuhan University of Technology,Wuhan(430070)
Abstract
The low-duty-cycle scheme of SMAC can make the node sleep most of the time on the purpose of saving energy. But this constant low-duty-cycle could not adapt to heavy load. When the load is too heavy, the sender could not send data until the receiver wake up. This results in growing delay and declining throughput. If using bigger duty-cycle, when the load is light, there is too much unwanted listening. This paper proposes an adaptive duty-cycle scheme (Adaptive Duty, ADTY) which can dynamically periodically adjust the duty-cycle based on the load of the last period. ADTY can efficiently reduce the delay and enhance the throughput. The results of simulation in NS2 prove that compared to original SMAC, these new scheme have better performance in delay and throughput while the load is dynamical-change.
Keywords: SMAC, duty-cycle, adaptive, delay, throughput, energy-efficiency
作者简介:
卢凯,硕士,主要研究方向为无线传感器网络、嵌入式系统。

李方敏,教授,博士生导师,主要研究方向为网络服务质量、新型网络体系结构、嵌入式系统。

相关文档
最新文档