Maintaining Performance while Saving Energy on Wireless LANs Ronny Krashinsky Term Project
Motivation Mobile devices limited by battery weight and lifetime Wireless network access consumes a lot of energy Want to disable the network interface card whenever its not in use –Basic problem: data may arrive from the network at any time Focus of this work: a mobile client communicating with a wired base-station to perform request/response traffic (e.g. web browsing) –Not focusing on: ad hoc networks, mobile servers, real-time communication (voice) –Not relying on high-level knowledge of application state
Power-Saving Mode Overview (For Infrastructure Networks) Network Interface Card power consumption: –Cisco Aironet: 1.7W Tx, 1.2W Rx, 1.1W Idle, 50mW Sleep Basic idea: sleep to save energy, periodically wakeup to check for pending data Clients go to sleep after sending or receiving data Base-station buffers received data while client is asleep Base-station sends out beacons every 100ms indicating whether or not the Client has pending data Client wakes up to listen to beacon, then polls Base- station to receive data (ListenInterval can be less than BeaconPeriod) Client can wake up to send data at any time
Talk Outline Measured performance of TCP over PSM (it’s not good) Trace analysis for characteristics of client HTTP traffic (how to save energy) Proposed enhancements to PSM to improve performance and minimize energy Simulation of web browsing traffic over existing PSM and alternatives
Request/Response Over TCP Over RTT +delta Mobile Client Base- Station Server syn syn+ack ack request response start RTT PSM Off Mobile Client Base- Station Server syn syn+ack ack request response start 100ms sleep beacon PSM On queue beacon queue
Request/Response Performance Test for (N := various sizes) { start timer for (several iterations) { TCP connect to server send request receive N bytes close connection } stop timer } Client: Compaq iPAQ with Enterasys Networks RoamAbout NIC Servers: Methodology: repeat tests five times, alternating between PSM on and off, use mean RTTBandwidth LCS5ms10Mbps Berkeley80ms10Mbps Home (DSL) 50ms70Kbps
PSM Measured Performance
PSM Measured Slowdown Conclusion: PSM is too coarse-grain to maintain network performance
Client Network Usage response resp response waitrecv idle waitreceiveidle request Req/Resp 1: Req/Resp 2: Req/Resp 3: Req/Resp 4: time Client State: Analyzed UC Berkeley Home-IP (modem) HTTP Traces: client ID, request time, response start time, response end time Classified client state as: {wait, idle, receive} Discarded incomplete transactions (no timestamp) Ignored receive and idle times longer than 1000s
Client Network Usage Characteristics Wait TimeIdle Time Conclusion: PSM is too fine-grain to reduce energy effectively Most wait time and idle time is spent in a few number of long latency events These events will therefore account for most of the sleep energy
Proposed Solution: StayAlive and ListenInterval-Backoff 0s1s2s3s request PSM basic wakeup to listen to beacons… Stay Alive stay awake after sending request Listen- Interval Backoff increase ListenInterval if there is no response max = 0.9s 20% delay never sleep for more than 20% of total time since request
Latency and Energy Comparison Latency (vs. No PSM) Energy (vs. PSM basic) ShortMediumLongactive (awake) listening to beacons PSM basic Increased by up to 100ms StayAlive UnchangedIncreased by up to 100msIncreasedUnchanged ListenInterval -Backoff (2x) Increased by up to 2xIncreased by up to 0.9s UnchangedDecreased 20% delay UnchangedIncreased by up to 20% Increased by up to 0.9s IncreasedDecreased
Client Web Browsing Simulation Modeled PSM using ns-2 –Did not model detailed MAC protocol: no channel contention, no node movement, no packet losses –Modified Link C++ code to support sleep mode and send alerts to OTcl, control and beaconing in OTcl Modeled HTTP traffic using empirical model –Based on study by Bruce Mah –Limited “Think Time” to 1000s –Added “Server Response Time” based on wait time from UCB Home-IP traces (less 100ms to account for network delays). –Updated to use FullTcp Client BaseStation: 0.1ms, 5Mbps BaseStation Server: 20ms, 10Mbps Energy: 1W while active, 50mW while sleeping, 5mJ per listened-to beacon (1W 5ms)
Performance Results
Performance and Energy Results energy per page (PSM off = 54 J) PSM basicStayAliveLI-Backoff: 2xMax %delay slowdown (vs. PSM off)
Conclusions Existing PSM causes RTTs to be rounded up to the nearest 100ms –This adversely affects short TCP connections which are limited by the RTT –A viable solution is to stay awake for a short period of time after sending a request When using PSM, almost all energy consumption is due to sleep power and listening to beacons –ListenInterval-Backoff can reduce the listen energy –Longer sleep intervals have the potential to enable deeper sleep modes
(backup slides)
Simulation vs. Measured
Actual Values Used in HTTP Simulation
Intersil PRISM Radio Chip Set Current (mA) Wakeup Time ( s) Tx488 Rx287 PSM PSM PSM PSM