220 likes | 333 Views
Implementing Software on Resource-Constrained Mobile Sensors: Experiences with Impala and ZebraNet. Ting Liu, Christopher M. Sadler, Pei Zhang and Margaret Martonosi Princeton Univ. Appears in MobiSYS’04 Presented by: Lei Yang. Outline. About ZebraNet Hardware & constraints
E N D
Implementing Software on Resource-Constrained Mobile Sensors: Experiences with Impala and ZebraNet Ting Liu, Christopher M. Sadler, Pei Zhang and Margaret Martonosi Princeton Univ. Appears in MobiSYS’04 Presented by: Lei Yang
Outline • About ZebraNet • Hardware & constraints • Impala layers and interfaces • Impala operation scheduling • Impala event handling model • Impala network interface • Conclusions
Princeton ZebraNet Project • Energy-aware mobile sensor network • Track zebra migrations in Africa • Status • January, 2004: 7 test collars deployed on zebras in Kenya. First data received: 1/19/2004 • Next Step • Refine collar design; switch to lower-energy GPS, merge Impala software update code into final collars
ZebraNet System Hardware Microcontroller TI MSP430F149 16-bit RISC 2KB RAM 60KB ROM 8MHz/32KHz dual clock FLASH ATMEL AT45DB041B 4Mbit 78 days data capacity SPI 667Kbps USART 38.4Kbps Radio MaxStream 9Xstream 902-928MHz 19.2Kbps over-the-air 0.5-1mile transmit range GPS µ-blox GPS-MS1E 10-20s position fix time USART 38.4Kbps 5V 3.3V Power supplies Charging circuits Solar modules
Hardware-Imposed Constraints on Software • Components power consumption measured at 4.0 V • Constrains on system software • Memory constraint • Energy constraint • Device access constraint • Radio packet size constraint • FLASH storage constraint • GPS sensing time constraint
Software adaptation for sensor network performance • Software update for sensor network deployment • Operation scheduling for regular operations • Event handling for irregular events • Network support for sensor network communications This Paper Implemented on ZebraNet PPoPP 2003 Prototyped on iPAQs Impala Overview • ZebraNet’s middle layer, light weight OS • Must support: Adapter Updater Operation Scheduler Event Filter Network Support
Impala Layers and Interfaces Application 1 Application 2 Application 3 Application 4 Async. Network Transmission Protected FLASH Access Application Timer Control System Clock Time Read GPS Data Event Handler Application Timer Event Handler Network Packet Event Handler Network Send Done Event Handler Adapter Updater Operation Scheduler Event Filter Network Support GPS Data Event Radio Packet Event Timer Event Access and Control to All Devices CPU Radio GPS FLASH Timer WDT
Static Memory Requirement • Each node has • 2 KB RAM and 60 KB Flash, internal • 4 Mbit (500KB) Flash, external
Impala Regular Operation Scheduling • Use timers to trigger operations • Node iterates through a cycle of send/receive data -> obtain GPS position -> sleep 1 2 7 8 4 5 3 6 Networking Period Sleep Period GPS Sensing Period 1 5 CPU wake up/Radio, FLASH power on GPS power on 2 6 Radio transmitting / receiving start GPS sensing time 3 7 Network communication time GPS power off / FLASH power on 4 8 Radio power off/FLASH power off CPU sleep / FLASH power off
Impala Regular Operation Scheduling, Cont. • Hardware attributes & constraints • GPS-aided time calibration • Simplifies operation synchronization • Prohibited simultaneous device operations • Voltage regulation • GPS and radio operations MUST alternate • Non-trivial radio wake-up time • Affects network communication schedule • Potentially long GPS sensing time • Async. Sensing operation • Components port sharing • GPS and Flash can’t simultaneously • Stringent energy budget • Battery can support 1 to 3 days • Solar cell limited • Low-energy, sleep phase • Scheduling skips networking/GPS if low on energy
Issue One: Event Abstraction Issue Two: Concurrency Abstract Application Events Short / atomic hardware interrupts Impala Long / preemptive software events Idle Miscellaneous Hardware Interrupts Issue Three: Event Prioritization High Priority Events Event Handler Event Signaler Low Priority Events Impala (Irregular) Event Handling
Impala (Irregular) Event Handling Four types of abstract events
Issue Two: Concurrency Issue One: Event Abstraction Short / atomic hardware interrupts Abstract Application Events Impala Long / preemptive software events Idle Miscellaneous Hardware Interrupts Issue Three: Event Prioritization High Priority Events Event Handler Event Signaler Low Priority Events Impala (Irregular) Event Handling Cont.
Issue Two: Concurrency Issue One: Event Abstraction Short / atomic hardware interrupts Abstract Application Events Impala Long / preemptive software events Idle Miscellaneous Hardware Interrupts Issue Three: Event Prioritization High Priority Events Event Handler Event Signaler Low Priority Events Impala (Irregular) Event Handling Cont.
Impala Network Interface • P2P communication • Pairwise store-n-forward routing • Session-based message model • Session-based transport control • A session can be 1 to 32KB • Unicast, multicast, broadcast • Data from FLASH or RAM • Acknowledgment or not • Connectionless • Asynchronous • Send session queue • Receive session queue
B acks packet 1-8 C acks packet 1-4 D silent B acks packet 9-16 C acks packet 1-4 D acks packet 9-16 B acks packet 1-8 C acks packet 1-4 D acks packet 1-8 D D A B C D A B C A B C A gives up C and sends packet 9-16 A sends packet 1-8 to B, C, and D A sends packet 1-8 Impala Network Interface, Cont. • MAC & Transport control • MAC: round-robin timeslots (w/ GPS-aided time synchronization) • Transport control: detect packet loss and retransmit • Unified: reduce data copy and overhead across protocol layers
Network Interface Performance • Packet reception processing overhead • Packet transmission processing overhead By system components
Network Interface Performance • Communication overhead by packet headers Header size and payload size for different packet types
Network Interface Performance • Communication latency in reliable multicast Observed data delivery latencies for different number of destinations and different packet loss rates
Conclusions • Hardware -> Impala middle layer -> applications • Regular operation scheduling, • Achieve maximum energy conservation • Irregular event handling, • Ensure activity concurrency and prioritization • Efficient network interface • Large messages transferred over small radio packets • Support multiple message models • Concrete experience with real system and application • Software design challenges with hardware constraints • Valuable to other wireless sensor network research