Using Gzip Data Compression To Reduce Power Consumption in Iot Devices

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Using GZIP Data

Compression to Reduce
Power Consumption
in IoT Devices

Meredith Lucky
VP of Sales
CAST, Inc.
www.cast-inc.com
December 2016

Slide 1 IoT Energy Savings with GZIP IP


Second Generation IoT
The First Generation was trying to get a product
to market ASAP.
The Second Generation is about product
differentiation.
Low power
Processing power in edge devices
Reduced cost (less memory, smaller devices)

Slide 2 IoT Energy Savings with GZIP IP


A Typical IoT Node
BATTERY / ENERGY HARVESTING DEVICE

NVM (e.g. Flash, EEPROM)

SENSORS / ACTUATORS
NVM Controller

CPU(s)
Peripherals

Accelerators

SRAM
Wireless Protocol Accel.
(e.g. Baseband, Link Layer)

RF AFE (e.g. 802.11ah, Zigbee etc)

Low Energy Consumption is a key factor


Slide 3 IoT Energy Savings with GZIP IP
Where is Energy Consumed?
Low-power Serial Flash
BATTERY / ENERGY HARVESTING DEVICE

2–25mA
NVM (e.g. Flash, EEPROM)

SENSORS / ACTUATORS
NVM Controller

CPU(s)
Peripherals
Low-power CPU
Accelerators
0.1–1 nAmA
MCU (no NVM or RF)
SRAM
Wireless Protocol Accel.
(e.g. Baseband, Link Layer)

0.5–5mA
RF AFE (e.g. 802.11ah, Zigbee etc)

Low-power RF
10–30mA

RF Transceivers and NVMs


are major energy consumers
Slide 4 IoT Energy Savings with GZIP IP
Reducing the Energy Consumed
via Compression
NVM: Firmware Compression
Less on-chip data to transfer = lower energy (and
less time) to boot/wake-up
NVM: Data Storage Compression
Less off-chip data = faster R/W operations = lower
energy
RF: Tx/Rx Data Compression
Less data to send/receive = lower RF active time =
lower communication energy

Slide 5 IoT Energy Savings with GZIP IP


IoT Node with GZIP Accelerator
GZIP Compression
BATTERY / ENERGY HARVESTING DEVICE

NVM (e.g. Flash, EEPROM)

Standard for interoperability

SENSORS / ACTUATORS
NVM Controller

CPU(s)

Hardware
GZIP/GUNZIP Accel.

Peripherals &

SRAM
Accelerators
Acceleration
Wireless Protocol Accel.
(e.g. Baseband, Link Layer) Lower power consumption,
less processor overhead,
low latency
RF AFE (e.g. 802.11ah, Zigbee etc)

Uses
NVM: Firmware decompression while code shadowing
NVM: data compression for local data storage
RF: data compression at application level or in networking stack

Slide 6 IoT Energy Savings with GZIP IP


Expected Energy Gains
Depends on compression performance (ratio), which
depends on Data Characteristics and Compression
Algorithm Parameters
Basic GZIP Compression Parameters:
Static or Dynamic Huffman
Static: smaller silicon
Dynamic: higher compression
History Window
Smaller: smaller silicon
Larger: higher compression

Low silicon overhead = Static Huffman and relatively


small History Window

Slide 7 IoT Energy Savings with GZIP IP


How Compressible is
Wireless Data?
IoT Devices typically
Exchange a set of measurements/sensed data
Are able to receive commands, and
May allow remote access via an HTML page
Data they transmit resembles text files,
spreadsheets, and HTML
These all compress nicely to levels of 3:1 even
for Static Huffman and Small History Windows

Slide 8 IoT Energy Savings with GZIP IP


How Compressible Is Firmware?
Three examples:
 FreeRTOS Port and Sensor Control app on BA22-DE
 Cygnal FreeRTOS Port and demo app on 8051
 InterNiche Tech. TCPI/IP and HTTP Stacks on Cortex-M3

3.00 2.44
2.35 2.23
2.17 2.05 2.14
2.50 1.83 1.93 2.01
Compression Ra o

2.00

1.50

1.00

0.50

0.00
Sta c Huffman, 1024 Sta c Huffman, 2048 Sta c Huffman, 4096
History History History

Slide 9 IoT Energy Savings with GZIP IP


Energy and Boot Time Savings
from Firmware Compression
Code Size in kBytes Required NVM Size averages
System #1 System #2 System #3 System #1 System #2 System #3
(8051) (BA2) (ARM) (8051) (BA2) (ARM)
Code Size
Uncompressed 52.72%
Code 25.5 161 985 256kbits 2Mbit 8Mbits
Compressed Code 10.9 76 511 128kbits 1Mbit 4Mbits NVM Size
Savings 57.25% 52.80% 48.12% 54.25% 50.00% 50.00%
51.42%
Boot Time in msec Boot Power in mA - sec
System #1 System #2 System #3 System #1 System #2 System #3 Boot Time
Uncompressed
(8051) (BA2) (ARM) (8051) (BA2) (ARM) 52.45%
Code 3.98 25 154 0.02 0.13 0.77 Boot
Power
Compressed Code 1.7 12 80 0.01 0.06 0.4
Savings 57.29% 52.00% 48.05% 57.25% 52.80% 48.12%
52.73%
GZIP Assumption: Static Huffman, 2KB History
NVM Assumptions: 1.8V Serial, 5mA Read Current, 50MHz Read Clock

Slide 10 IoT Energy Savings with GZIP IP


Data
Storage
Servers &
Gateways

Move analytics from cloud to edge for faster response and


bandwidth limited applications -> Requires local data
storage instead of sending data to remote server

Slide 11 IoT Energy Savings with GZIP IP


Local Data Storage for Analytics
Store data from many edge sensor devices. Wake-up
server for periodic analytic processing
No longer just simple log data, but much larger
imagery and natural language data
Compression minimizes the amount of NVM, but also
power of read/write operations
for 2KB Page for Block of 64 pages = 128kB
Access time Power Power
us/page uJ/page uJ/block
Read 130.9 4.72 302
Write 405.9 38.94 2,492
Power example in Micron SLC NAND

Slide 12 IoT Energy Savings with GZIP IP


Energy Saving VS Duty Cycles
Example IoT node without compression
Total Energy (mJ/hour) 328.257 40.278 11.480 8.600
Example IoT node with compression (Compression Ratio: 2:1) * Energy decreased 50%
Duty Cycle (sec per hour) * 5.000 0.500 0.050 0.005
RF Active (Tx) Energy (mJ/hour) * 150.00 15.00 1.50 0.15
RF Idle Energy (mJ/hour) 7.19 7.20 7.20 7.20
MCU Active Energy (mJ/hour) * 10.00 1.00 0.10 0.01
MCU Idel Energy 1.08 1.08 1.08 1.08
GZIP Active Energy (mJ/hour) 0.91 0.09 0.01 0.00
GZIP Idle Energy (mJ/hour) 0.00 0.00 0.00 0.00
Total (mJ/hour) 169.175 24.370 9.889 8.441
Net Savings (mJ/hour) 159.082 15.908 1.591 0.159
% Energy Saved 48.5% 39.5% 13.9% 1.8%

Slide 13 IoT Energy Savings with GZIP IP


Conclusion
Compression can be used to significantly decrease
the energy consumption in IoT Nodes
Firmware Compression for devices using code shadowing
Compression of local Data for edge analytics
Compression of Data exchanged over wireless links
Parameters that need to be evaluated
Compression algorithm and parameters
Compressibility of data
System’s energy profile (duty cycle)
GZIP/GUNZIP IP cores available from CAST are
perfectly suitable for IoT Nodes
Slide 14 IoT Energy Savings with GZIP IP
GZIP Cores From CAST
Low latency:
from 20 cycles FIFO latency
Low silicon requirements:
~22kGates for gzip or gunzip (Static Huffman
and History Windows sizes up to 4096 Bytes)
Low power:
160 MBytes/sec at just 10 MHz
Easy integration:
AXI-Streaming (AXI-ST), or AHB Interfaces

Slide 15 IoT Energy Savings with GZIP IP

You might also like