system architecture directions for networked sensors jason hill, robert szewczyk, alec woo, seth...
TRANSCRIPT
System Architecture Directions for Networked
Sensors
Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris
Pister
Presented by Yang Zhao
Networked Sensors
What is a Networked Sensor? Small (I.e. 2”x2” and smaller) Onboard processor and
communication device (e.g IR, Radio)
Self-contained power source (e.g. Battery, Solar)
How do we combine sensing, communication and computation into a complete architecture?
What are the requirements of the software?
Outline
Networked Sensor Characteristics =>Architecture Directions Mote – the Hardware TinyOS System Architecture System evaluation
Networked Sensor Characteristics => Key Architecture Directions
Small physical size and low power consumption=> Limited Physical Parallelism and
Controller Hierarchy=> primitive direct-to-device interface
Concurrency-intensive operation=> must handle multiple inputs and
outputs simultaneously
Networked sensor characteristics => Key Architecture directions
Diverse in Design and Usage application specific, not general purpose huge device variation=> efficient modularity=> migration across HW/SW boundary
Largely Unattended & Numerous=> robust operation=> narrow interfaces
Outline
Networked sensor characteristics =>Architecture Directions Mote – the hardware TinyOS system architecture System evaluation
Mote – the hardware Assembled from off-the-shelf
components 4MHz, 8bit MCU (ATMEL)
512 bytes RAM, 8K ROM 900MHz Radio (RF
Monolithics) Temperature Sensor & Light
Sensor LED outputs Serial Port Coprocessor
1.5” x 1.5”
Second Generation ‘Mote’
Two Board Sandwich Main CPU board with
Radio Communication Secondary Sensor
Board Allows for expansion
and customization http://
tinyos.millennium.berkeley.edu
Mote – Power Characteristics
Lithium Battery runs for 35 hours at peak load and years at minimum load!
Make unused component inactive whenever possible The system must get the work done quickly and go
to sleep
Active Idle Sleep
MCU core 5 mA 2 mA 1 μA
MCU pins 1.5 mA 0 0
Radio 12 mA (TX) 4.5 mA (RX) 5 μA
EE-Prom 3 mA 0 1 μA
LED’s 4.6 mA each 0 0
Photocell 0.3 mA 0 0
Temperature 1 mA 0.6 mA 1.5 μA
Outline
Networked sensor characteristics =>Architecture Directions Mote – the hardware TinyOS system architecture System evaluation
TinyOS system architecture
What can software do to conserve energy, support concurrency-intensive operation and achieve efficient modularity and robustness?
Event-based Programming Model
Event-based programming model, not Thread based
Command and event handlers transition a component from one state to another Quick, low overhead, non-blocking state
transitions Many independent component allowed to
efficiently share a single execution context “Tasks” are used to perform computational work
Run to completion, Atomic with respect to each other, but can be preempted by events
TinyOS – the Software
Scheduler and a graph of components. Component:
Frame (storage) Tasks (concurrency) Commands, and Handlers (events)
Two level scheduling system allows events to preempt tasks.
Capable of maintaining necessary levels of concurrency.
Provides a component based model abstracting hardware specifics from application programmer
Composition into a Complete Application
RFM
Radio byte
Radio Packet
UART
Serial Packet
i2c
Temp
photo
Active Messages
clocksbit
byte
packet
Ad hoc Routing App.application
HW
SW
Outline
Networked sensor characteristics =>Architecture Directions Mote – the hardware TinyOS system architecture System evaluation
Evaluation Small physical size
• Complete applications in 3.45 Kbytes• Useful applications developed for 4MHz, 8-bit CPU
Concurrency-intensive operations• 50 cycle thread overhead, 10 cycle event
overhead Limited physical parallelism and controller hierarchy
• Demonstrated by the ability to use a single controller to manage multiple I/O sources
• Event-based programming model allows efficient use of CPU and memory
Efficient modularity• Component model allows efficient composition of
task specific applications Diversity in usage and Robust operation
Related WorkName Code Size Target CPU
pOSEK 2K MicrocontrollerspSOSystem PII->ARM ThumbVxWorks 286K Pentium -> Strong ARMQNX Nutrino >100K Pentium II -> NECQNX RealTime 100K Pentium II -> SH4OS-9 Pentium -> SH4Chorus OS 10K Pentium -> Strong ARMARIEL 19K SH2, ARM ThumbCreem 560 bytes ATMEL 8051
QNX context switch = 2400 cycles on x86
pOSEK context switch > 40 µs
Conclusion System Architecture Directions
Small physical size Capable of supporting concurrency-intensive
operation Efficient Resource Utilization High Modularity
TinyOSTinyOS is a highly modular software environment tailored to the requirements of Network Sensors, stressing efficiency, modularity and concurrency