240 likes | 357 Views
Data Compression Algorithms for Energy-Constrained Devices in Delay Tolerant Networks. Christopher Sadler Margaret Martonosi Princeton University. Why do we care about Compression in Sensor Networks?. ~2 Million!. Success = Energy Savings Energy = Compute Energy + Transmit Energy. ~32,000.
E N D
Data Compression Algorithms for Energy-Constrained Devices inDelay Tolerant Networks Christopher Sadler Margaret Martonosi Princeton University
Why do we care about Compression in Sensor Networks? ~2 Million! • Success = Energy Savings • Energy = Compute Energy + Transmit Energy ~32,000 ~4,000 Med. Range 300 m Short Range 125 m Long Range 15 km
Why do we care about Compression in Sensor Networks? Medium Range Radio (CC1000) Unreliability: • Retransmission • Extra energy cost • Easier to amortize original energy cost of compression ~128,000! ~32,000
Why do we care about Compression in Sensor Networks? • Downstream Energy Tradeoff: • Relay all data • vs. • Relay compressed data Source • DownstreamEnergy Tradeoff: • Relayall data • vs. • Relay compressed data • Local Energy Tradeoff: • Transmit all data • vs. • Compress data • Store data • Transmit compressed data Sink Savings Accumulate with Hop Count
This work • Lossless compression algorithms tailored to static and mobile sensors • Generally applicable for WSNs • Aggregation • Spatial-temporal correlation • Implementation and evaluation on the real data set • Great Duck Island Monitoring, ZebraNet, …
Outline • Design Criteria and LZW Compression • What we want in Sensor Compression? • How do we adapt LZW to Sensors? • Using Compression to Conserve Energy • Conclusions
Sensor Network Compression: Energy Savings for Everyone • Need a general purpose, lossless compression algorithm that can work across the design space Great Duck Island (UCB): Outdoors, Stationary SensorScope (EPFL): Indoors, Stationary ZebraNet (Princeton): Outdoors, Mobile
Sensor Network Compression: What do we want? • Low Transmission Overhead • Computationally Simple • Compute energy of compression should not outweigh transmission energy savings • Bounded Memory Footprint • To fit in small sensor node memories • Adaptive to general data sets • Exploit repetition in general input data streams • Work on small blocks of data
LZW Compression LZW is a dictionary-based algorithm which encodes new strings based on previously encountered strings. AAAABAAABCC (8bits * 11 = 88bits required) Standard Dic A = 65 B = 66 C = 67 . . . Z = 90 . . . ? = 255 Encoded String Output Stream New Dic entry A 65 AA = 256 AA 65 256 AAA = 257 A 65 256 65 AB = 258 B 65 256 65 66 BA = 259 AAA 65 256 65 66 257 AAAB = 260 B 65 256 65 66 257 66 BC = 261 C 65 256 65 66 257 66 67 CC = 262 C 65 256 65 66 257 66 67 67 66 bits required
Outline • Design Criteria and LZW Compression • What we want in Sensor Compression? • How do we adapt LZW to Sensors? • Using Compression to Conserve Energy • Conclusions
S-LZW: LZW for Sensor Nodes • Dictionary decisions • How large should we make the dictionary? • What do we do if the dictionary fills? • Data decisions • How much data should we compress at once? • Can we shape the dictionary to improve compression? • Can we shape the data to make it easier to compress?
S-LZW: LZW for Sensor Nodes • Dictionary decisions • How large should we make the dictionary? • What do we do if the dictionary fills? • Data decisions • How much data should we compress at once? • Longer data streams => better compression learning • But too long => high retransmit cost when packets dropped • Can we shape the dictionary to improve compression? • Can we shape the data to make it easier to compress? Examined by experiments
… … … S-LZW Idea 1: Data Size SENSOR DATA – N BYTES GENERATED OVER TIME … 528 B Block (2 Flash Pages) 528 B Block (2 Flash Pages) 528 B Block (2 Flash Pages) … COMP. ALGORITHM COMP. ALGORITHM COMP. ALGORITHM … Compressed Data Compressed Data Compressed Data … Independent groups of 10 or fewer dependent packets
Exploit fine-grained locality even in short sensor data sequences Proposal: Mini-cache to tightly encode MRU entries Hit => Saves multiple bits. Miss => Costs just 1 extra escape bit S-LZW Idea 2: Mini-Caching Escape Bit 0 1 Dictionary Tree Mini-Cache (N entries) 10 Bit Entries 9 Bit Entries (Log2 N)+1 Bit Entries
S-LZW Idea 3: Data Transforms • BWT – Reversible method of transforming data used in bzip2 and applicable for all data • Proposal: Structured Transform - Create a matrix of readings and transpose it to create runs • Simple, but effective cb 4e 70 62 … d5 4e 46 62 … d8 4e 31 62 … db 4e 2b 62 … ............ cb d5 d8 db … 4e 4e 4e 4e … 70 46 31 2b … 62 62 62 62 … ............
Outline • Design Criteria and LZW Compression • Using Compression to Conserve Energy • Local and Downstream Energy • The Influence of Unreliable Communications • The Effects of Shaping the Data • Conclusions
Measurement Methodology:CPU and Radios • Evaluation Platform: • TI microcontroller MSP430: 10 kB RAM, 48 kB ROM • Off-Chip Flash: 4 Mbit Atmel • 3 Radios: Short (CC2420), Medium (CC1000), and Long (XTend) range • 3 Real World Datasets… • SensorScope (SS) – Indoor, Stationary • Great Duck Island (GDI) – Outdoor, Stationary • ZebraNet (ZNet) – Outdoor, Mobile • … And one Compression Benchmark • Geo from the Calgary Corpus (Calgeo)
Local Energy Savings CC2420(Short Range) XTend(Long Range) 15+% Loss 1% Loss 1.2X Gain 1.7X Gain Lower is better 2.6X Gain Data Compressed with S-LZW with Mini-Cache Model assumes 100% reliability
Downstream EnergySavings CC2420 (Short Range) XTend (Long Range) ZNet data, Compressed with S-LZW with Mini-Cache Model assumes 100% reliability
Coping with Unreliability CC2420 (Short Range) • Energy savings increase linearly with hop count GDI Data, Compressed with S-LZW with Mini-Cache
Coping with Unreliability CC2420 (Short Range) • Energy savings increase linearly with hop count • At a 90% success rate, we save energy locally GDI Data, Compressed with S-LZW with Mini-Cache
Transforms to Improve Performance • BWT – Reversible method of transforming data through sorting it XTend (Long Range) Top – Radio EnergyMiddle – Flash EnergyBottom – CPU Energy 7-8% Improvement • We sort with an iterative quicksort algorithm, but this comes at a high computational cost 2.4X Gain 3.4X Gain Model assumes 100% reliability Normalized against sending the data without compression
Algorithms Summary Data Composition? Structured General Number of Hops? Number of Hops? Few Many Few Many Radio Range? Radio Range? S-LZW-MC8-ST ~2.3X Savings S-LZW-MC16-BWT ~1.8X Savings Medium/Long Medium/Long Short Short RLE-ST ~1.9X Savings S-LZW-MC16-BWT ~1.8X Savings S-LZW-MC32 ~1.4X Savings S-LZW-MC8-ST ~2.4X Savings BWT – Unstructured Transform MC – Mini-CacheST – Structured Transform
Conclusions • Existing techniques (LZW, Cache, BWT …) applied to new application domains (WSNs) • Less novelty and originality • Incremental work • Upper bound 4 points • Systematic solution with complete considerations • Dictionary size, data size, local cache, data transformation … • Substantial merits proved by sound experiments • Different types of radio transceivers (CC2420, CC1000, XTend) • Real-world data set