An Ultra Low Power System Architecture for Sensor Network Applications Mark Hempstead, Nikhil Tripathi, Patrick Mauro, Prof. Gu-Yeon Wei, Prof. David Brooks Division of Engineering and Applied Sciences Harvard University Cambridge, MA Overview • Wireless sensor networks (WSN) are constrained by energy consumption • Goal: Average power consumption <100 µW enables energy scavenging methods • Our architectural approach: • • • • Holistic approach Event-driven architecture Modular hardware accelerators Fine-grain power management • In the implementation phase 2 Outline • What are sensor networks? • Project motivation and design constraints • Event-driven architecture • Performance and power estimates • Conclusion and future work 3 Sample Application Space • Monitoring Apps • Structural/Earthquake/Weather/Habitat monitoring • Building/Border/Battlefield detection • Road/traffic monitoring • Medical Apps • Long-term health monitoring • Untethered Pulseox Sensors • Business Applications • Supply Chain Management • Expired/Damaged Goods Tracking • Automatic Checkout Systems 4 Example App: Great Duck Island • Great Duck Island (GDI), Maine - (UC Berkeley) • • • Gather temp, humidity, IR readings from Leach's Storm Petrel burrows and weather station motes Determine occupancy of nests to understand migration patterns Total of 150 nodes deployed in 2003, over 650,000 observations taken • Performance Requirements are Low • Samples taken and transmitted once every 5 min • Power consumption limited lifetime of deployment Single Hop Network Multi-Hop Network R. Szewczyk et al. An Analysis of a Large Scale Habitat Monitoring Application. ACM Conference on Embedded Networked Sensor Systems (SenSys), 2004. 5 Example Sensor Network Node Low Power Low Throughput TinyOS for Event Driven Wireless Communication and Adhoc Networking Programmable CPU Battery Operated Interface to Various Sensors Small Form Factor Mica2 Mote – Designed by UC Berkeley, Manufactured by Crossbow 6 Energy is the primary limitation CPU Mode Current @3V Radio Mode Current @3V Active 8.0 mA Receive 7.0 mA Idle 3.2 mA Transmit Min Power 3.7 mA Standby 216 µA Transmit Max Power 21.5 mA Sensor Board 0.7 mA Power-save 110 µA • Mica2 Power Consumption Measured by component • Not the complete picture, how is power consumed in an application? V. Shnayder, M. Hempstead, B. Chen, G. Werner-Allen, M. Welsh. Simulating the Power Consumption of Large-Scale Sensor Network Applications. (SenSys'04). 7 Application-level Power Analysis Total energy consumption per component of “Surge”, a multi-hop routing application, run for 60 sec on the Mica2 mote. SensorBoard 6% CPU 35% Due to General Purpose architecture of CPU Requires software overhead to run TinyOS Radio 59% Can be decreased at application and protocol levels however this requires more CPU computation Design Goal: Average Power consumption of < 100 µW to enable energy scavenging methods. Where should design energy be focused to decrease energy consumption? 8 Regular Application Behavior Sense and Transmit Abstract View Timer Interrupt Collect Sensor Data Prepare Message Send Radio Message Example - GDI Every 5 min Burrow Occupancy - infrared - humidity - Pack data in packet - Calculate checksum - wait for acknowledgement Receive and Forward Message Arrives Decode Message Search Routing Table Resend Radio Message 9 Flexibility/Programmability Key goals of our architecture General Purpose CPU Remove Software Overhead OUR SYSTEM Retain Programmability ASIC Energy Efficiency • • • • • • Event-driven computation Hardware accelerators for power-efficiency Exploit regular operations Optimize for sensor net workloads Modular design Fine-grain power management 10 Abstract view of architecture Shared Memory Radio Transceiver General Purpose Event Microcontroller Processor Slave Blocks Sensors 11 Detailed view of architecture Radio Addr/Data Event Processor Interrupt Power Ctrl SRAM Sensors Addr/Data System Bus Micro Controller Message Processor Data Filter Timer • Regular events mapped solely to EP and slaves • Micro Controller included for irregular events • Slaves provide application specific HW • All resource usage is explicit 12 Event Processor • Interrupts invoke EP interrupt service routines • 8 instructions • 4 power control/control transfer • 4 read/write/transfer data to devices READY Interrupt to LOOKUP process Lookup is complete FETCH EXECUTE Fetch Complete Fetch Next Instruction ISR Complete 13 App. Example: Sense + Transmit System Initialization/Reprogram Collect Sensor Data Prepare Message Micro Controller Sensors Radio Addr/Data Event Processor Interrupt Power Ctrl SRAM System Bus Timer Interrupt Message Processor Data Filter Timer Send Radio Message Configuration written to memory and timer 14 Example: Sense + Transmit (2) Collect Sensor Data Prepare Message Send Radio Message Micro Controller Radio Addr/Data Event Processor Sensors Addr/Data Interrupt Power Ctrl SRAM System Bus Timer Interrupt Message Processor Data Filter Timer Pseudo Code <timer intaddr>: SWITCHON <sensor> SWITCHON <message proc> TRANSFER <reading size> <sensor addr><message proc addr> SWITCHOFF <sensor> WRITEI <ctrl_wrd> <message proc> TERMINATE; 15 Example: Sense + Transmit (3) Collect Sensor Data Prepare Message Send Radio Message Micro Controller Radio Addr/Data Event Processor Interrupt Power Ctrl SRAM Sensors Addr/Data System Bus Timer Interrupt Message Processor Data Filter Timer Pseudo Code <message proc mesg. ready intaddr>: SWITCHON <radio> TRANSFER <mesg size> <message proc> <radio> SWITCHOFF <message proc> WRITEI <ctrl_wrd> <radio> TERMINATE; 16 Example: Sense + Transmit (4) Collect Sensor Data Prepare Message Micro Controller Radio Addr/Data Event Processor Send Radio Message Interrupt Power Ctrl SRAM Sensors Addr/Data System Bus Timer Interrupt Message Processor Data Filter Timer Pseudo Code <radio, message sent intaddr> SWITCHOFF <radio> TERMINATE; 17 Example: Sense + Transmit (5) Collect Sensor Data Prepare Message Send Radio Message Micro Controller Radio Addr/Data Event Processor Interrupt Power Ctrl SRAM Sensors Addr/Data System Bus Timer Interrupt Message Processor Data Filter Timer System Idle 18 Implementation • Process technology study (see paper) • Does Moore’s Law help us? • Leakage power increasing concern • Tradeoff active power and leakage power • Architectural enables low power circuit techniques • Fine-grain power management – VDD gating • Simple Circuit Implementation • • • • Synchronous design VDD roughly 2VT Performance Target: 100 kHz Possible to use less common circuit design styles (subthreshold, asynchronous) 19 Initial Results • Developed performance model for system architecture in SystemC (~8K lines of code) • GP microcontroller, event processor, slave blocks, radio • Power Model • VHDL for Event Processor + Key Blocks • Custom design (SRAM, CAM) • 0.25 µm Process Technology • Workload Analysis and early comparison to other architectures included in the paper 20 Performance Comparison 1600 1400 Mica-2 ED Arch 1200 1000 Cycles 800 600 400 200 0 Total send Total send Receive and path without path with process a filter filter regular message Timer change Threshold change Roughly 10x cycle-reduction justifies 100KHz clock speed 21 Power estimates 100000 ED Active ED Idle Mica2 Active Mica2 Idle 10000 1000 100 uW 10 1 0.1 0.01 0.001 0.0001 Event Processor Timer Message Processor Memory Threshold Filter System Unknown blocks: GP microcontroller, busses, off-chip interfaces 22 Conclusion/Future work • Wireless Sensor Networks provide unique opportunities for low power, low throughput design • Architecture meets design goals • Less than 100 µW average power consumption • Event Processor provides event handling in HW • HW slaves provide application specific processing for regular tasks • Fits sensor network application characteristics • Implementation phase of first chip • Stay Tuned! 23