Adaptive Sleep Scheduling for Energy-efficient Movement-predicted Wireless Communication David K. Y. Yau Purdue University Department of Computer Science
Objective Reducing energy consumption of battery powered devices, e.g., Laptops and Handhelds, in wireless networks –Wireless communication is power intensive –Node movement can be exploited to reduce energy use in communication
Movement Prediction Observation: Reduced distance between communicating peers ⇒ Reduced transmission power requirement ⇒ Energy saving –Assuming network interface has transmission power control capability –Single hop communication – obvious –Multi hop communication – expected
Power Saving Strategy If likely to move closer to the target, postpone communication for a future time –Assuming application can tolerate some delay k. Needs movement prediction –Based on movement history –Consumes energy itself
Network Structure Mobile nodes are moving within a rectangular plane We divide the network into virtual grids Each grid has a unique grid ID
Assumptions Each node knows its own position – GPS Each mobile host maintains a sequence of n previous grid IDs Simplifying assumption –Target is fixed –Every mobile node knows the target’s location Fixed target assumption can be relaxed –Both communicating peers are mobile
Notations History of node h: S h = {x 1, x 2, …, x n } A window of size l (for i ≤ n-l+1 ): W(i,i+l-1) = {x i, x i+1, …, x i+l-1 } Distance between two grids i and j : d(i,j)
Example Average Distance (AD) Algorithm [TMC 05] Calculate the average distance between a mobile node and the target over all windows of size k in the mobile node's movement history as: If the current distance between the mobile node and the target is greater than avg, then the mobile node decides to postpone the communication, or else it communicates immediately. Less Computational overhead Takes into consideration the actual distance
AD Algorithm Example
Energy Use in Movement Tracking Continuous movement tracking requires device to be turned on –Idle device can consume significant energy Movement sampling –Device put to sleep between sampling instants –More frequent sampling => higher accuracy –How often and when to sample?
System / Communication Energy Tradeoff
Communication energy Sleep period System energy Total energy Sleep period Optimal Sleep period
Adaptive Wakeup Scheduler If postponement algorithm finds a good position to communicate, then increase sleep time by delta –Can afford to sleep more after successful transmission Else, decrease sleep time by delta –Need to work harder to find a good position for sending
Adaptive Wakeup Algorithms Speed based adaptation (SBA) –Faster movement more frequent updates Delay budget based adaptation (DBA) –Less time until deadline more frequent updates
Adaptive Wakeup Algorithms (Cont’d) Position based adaptation (PoBA) –Position estimated at next wakeup instant, based on nodal speed and direction –Wakeup chosen at ``good’’ position estimate Performance based adaptation (PeBA) –Distance savings compared between current and last updates –Decreased saving reduced sleep
Sensor Implementation Berkeley Mica mote –TR MHz network interface –256 level power control (radio output voltage proportional to square of input data pin current) –GPS would add 12—24 mW in operation TinyOS –Sleep by snooze component –Power control by pot component
Sensor System Architecture
Implementation Architecture Positioning System Operating System Services Application Transmission Scheduler Sleep Scheduler Power Manager
Transmission scheduler –Implements postponement algorithm Variable length of movement history Variable delay budget (application specific) –Buffers packets until decision to transmit Adaptive wakeup scheduler –Implements adaptive wakeup algorithm for position sampling –Wakes up at sampling instant –Adjusts next sleep period
Measurement Setup
Constant Power Supply Multimeter Sensor R
Energy Estimation by Component Multimeter setup measures total system energy use Energy breakdown by selectively turning off system components / activities –Radio network interface turned on / off –Packet actually sent / not sent (but deleted from transmission queue) –Energy difference between configurations gives estimates of component energy use
System Parameters Input parameters –Length of history maintained –Application delay budget –Mobility scenario –Fixed vs adaptive wakeup Output parameters –Energy use and percentage saving (total and component) –Percentage distance saving –Actual postponement delay –Number of wakeups for position sampling
Average Speed of Mobility Scenarios Scenariom/sKm/sMiles/s Walker Runner Bicycle Vehicle (local) Vehicle (highway) Airplane
Experimental Scenario
Current Drawn (mA) for Fixed Sleeping Strategy ConfigurationWith Prediction No Prediction Send / all on No send / radio on No send / radio off
Current Drawn (mA) by System Component ComponentsWith Prediction No Prediction Packet transmission Radio interface (idle) Others (CPU, memory)
Postponement Delay
Communication Distance
Total Energy Percentage
Energy Consumption of Sending
System Energy Consumption with radio interface off
System Performance at Different Fixed Sleep Periods Sleep timeDistanceDelayWakeups
Adaptive vs Fixed Wakeup Performance Sleep timeDistanceWakeupsCurrent (mA) Adaptive
Total Energy Consumption
Percentage Distance Saving vs Sleep Period and Delay Budget
Percentage Energy Saving vs Sleep Period and Delay Budget
Percentage Distance Saving (Bicycle)
Percentage Energy Saving (Bicycle)
Number of Wakeups (Bicycle)
Actual Postponement Delay (Bicycle)
Percentage Distance Saving vs Mobility Scenario
Percentage Energy Saving vs Mobility Scenario
Number of System Wakeups vs Mobility Scenario
Performance Comparison between Sampling Strategies SchedulerPower (mW) Distance saving WakeupsDelay Baseline %04.83 Fixed % Fixed % Fixed % Fixed % DBA %
Conclusions Node movement prediction can reduce the energy cost of wireless network communication However, need to balance against energy cost of movement prediction Adaptive sampling schedule works well based on operating conditions –Simulations + measurements on sensor prototype –Saves substantial energy by putting device to sleep –Outperforms fixed sleep period in general, since optimal sleep period is hard to determine a priori