Title: Networks of Tiny Devices embedded in the Physical World
1Networks of Tiny Devices embedded in the Physical
World
- David Culler
- Computer Science Division
- U.C. Berkeley
- www.cs.berkeley.edu/culler
- Intel Research
- Berkeley
2Technology Push
- Complete network embedded systems going
microscopic
Power
3Application Pull
- Complete NW embedded systems going microscopic
- Huge space of new applications
Monitoring Managing Spaces
Ubiquitous computing
4Bridging the Technology-Application Gap
- Power-aware, communication-centric node
architecture - Tiny Operating System for Range of
Highly-Constrained Application-specific
environments - Network Architecture for vast, self-organized
collections - Programming Environments for aggregate
applications in a noisy world - Distributed Middleware Services (time, trigger,
routing, allocation) - Techniques for Fine-grain distributed control
- Demonstration Applications
5A de facto platform for EmNets
- Developed a series of wireless sensor devices
- TinyOS concurrency framework
- Messaging Model
- Networking stacks (RF and Serial)
- Multihop routing
- Several Key components
- sensing, logging, data filters, broadcast
- Simulation tools
- DARPA NEST OEP
6Many Research Groups on board
- UCB
- NEST
- SensorWeb
- Blackout
- Glaser structures
- CBE
- BFD
- BRWC
- UCLA
- USC
- Rutgers winlab
- Intel
- Bosch
- Crossbow
- U Wash
- Rutgers
- UIUC
- NCSA
- U Virginia
- Ohio State
- UCSD
- Dartmouth
- MIT
- Accenture
- and soon many more
7A Operating System for Tiny Devices?
- Traditional approaches
- command processing loop (wait request, act,
respond) - monolithic event processing
- bring full thread/socket posix regime to platform
- Alternative
- provide framework for concurrency and modularity
- never poll, never block
- interleaving flows, events, energy management
- gt allow appropriate abstractions to emerge
8Tiny OS Concepts
- Scheduler Graph of Components
- constrained two-level scheduling model threads
events - Component
- Commands,
- Event Handlers
- Frame (storage)
- Tasks (concurrency)
- Constrained Storage Model
- frame per component, shared stack, no heap
- Very lean multithreading
- Efficient Layering
Events
Commands
send_msg(addr, type, data)
power(mode)
init
Messaging Component
Internal State
internal thread
TX_packet(buf)
Power(mode)
TX_packet_done (success)
init
RX_packet_done (buffer)
9Application Graph of Components
Route map
router
sensor appln
application
Active Messages
Radio Packet
Serial Packet
packet
Temp
photo
SW
Example ad hoc, multi-hop routing of photo
sensor readings
HW
UART
Radio byte
ADC
byte
3450 B code 226 B data
clocks
RFM
bit
Graph of cooperating state machines on shared
stack
10Demonstration applications
- 29 Palms
- Cory Hall network
- ½ million packets over 3 weeks
- Surge network and environment display
- 800 node ad hoc network
- CBE
- Glaser Shakes
- Granlibakken retreat watcher
- Robomote
- gt continued application focus
- more real and long lived
- more dynamics
- extract architecture and create framework
11Example TinyOS study
- UAV drops 10 nodes along road,
- hot-water pipe insulation for package
- Nodes self-configure into linear network
- Synchronize (to 1/32 s)
- Calibrate magnetometers
- Each detects passing vehicle
- Share filtered sensor data with 5 neighbors
- Each calculates estimated direction velocity
- Share results
- As plane passes by,
- joins network
- upload as much of missing dataset as possible
from each node when in range - 7.5 KB of code!
- While servicing the radio in SW every 50 us!
12Structural performance due to multi-directional
ground motions (Glaser CalTech)
Mote infrastructure
Mote Layout
14
5
15
15
13
6
12
9
11
8
Comparison of Results
Wiring for traditional structural
instrumentation truckload of equipment
13Cory Energy Monitoring/Mgmt System
- 50 nodes on 4th floor
- 5 level ad hoc net
- 30 sec sampling
- 250K samples to database over 6 weeks
14Energy Monitoring Network Arch
sensor net
control net
802-11
telegraph
PC
PC
modbus
scada term
UCB power monitor net
Browser
15Wealth of Research Challenges
- Large numbers of highly constrained (energy
capability), connected devices - able to be casually deployed in infrastructure
(existing or in design) - imperfect operation and reliability
- operating in aggregate
- New family of issues across all the layers
application
service
prog / data model
network
mgmt / diag / debug
algorithm / theory
system
architecture
technology
16Example Networking
- Hands-on Experience with Large Networks of Tiny
Network sensors - intense constraints, freedom of abstraction
- Re-explore entire range of networking issues
- encoding, framing, error handling
- media access control, transmission rate control
- discovery, multihop routing
- broadcast, multicast, aggregation
- active network capsule (reprogramming)
- localization, time synchronization
- security, network-wide protection
- density independent wake-up and proximity est.
- Fundamentally new aspects in each
17Simple Epidemic Algorithm Schema
- One (multicast) message handler
- if (new mcast) then
- take local action
- retransmit modified request
- Examples Network wakeup, command propagation
- Build spanning tree
- record parent
- Naturally adapts to available connectivity
- Minimal state and protocol overhead
- gt surprising complexity in this simple mechanism
18Network Discovery Radio Cells
19Network Discovery
20Controlled Empirical Study
- Experimental Setup
- 13x13 grid of nodes
- separation 2ft
- flat open surface
- Identical length antennas, pointing vertically
upwards. - Fresh batteries on all nodes
- Identical orientation of all nodes
- The region was clean of external noise sources.
- Range of signal strength settings
- Log many runs
21Example epidemic tree formation
22Final Tree
23Power Laws ?
- Most nodes have very small degree (ave .92)
- Some have degree 15 of the population
- Few large clusters account for most of the edges
24Open Territory gt Many Children
25Open Territory gt Many Children
- Example Level 2 variation in distance
26Open Territory gt Many Children
- Example Level 3 long links
27Understanding Connectivity
- 16 transmit power settings
- For each transmit power setting, each node
transmits 20 packets. - Receivers log successfully received packets.
- Nodes transmit one after the other in a
token-ring fashion - No collisions.
- Contour plot show probability of reception from
center node - Define range a radius where 75 of enclosed
nodes receive 75 of packets - Often good nodes at a distance
28Link symmetry in open environment
- Asymmetric Link Greater than 65 successful
reception in one direction and less than 25
successful reception in the other direction - Symmetric Link Greater than 65 successful
reception in both directions - others are bad links
29Importance of Asymmetric Links
- 10-25 asymmetric links.
- Many asymmetric links are long links
- asymmetric long links symmetric long
links - Why are long links useful?
- Beacon-based Routing Long links can be used to
build low-depth routing trees - Diffusion short routing paths
- Protocol design
- When to confirm bidirectionality?
30Collisions are primary factor
- Nodes out of range may have overlapping cells
- hidden terminal effect
- Collisions gt these nodes hear neither parent and
become stragglers - As the tree propagates
- folds back on itself
- rebounds from the edge
- picking up these stragglers.
- This effect was seen in many experiments
31Stragglers
- significant fraction of links point backwards
32Key Experience
- Really good at building tinyOS subsystems
- non-blocking, split-phase event structures
- Internalized the state of constant change
paradigm - ex maintain routing tree by constantly
rebuilding it - soft state that is always suspect
- simple one-way protocols
- Operating in the aggregate
- Simple mechanisms to accomplish large goals
- MAC, ATC
- Out of the box on networking abstractions
- Low-power listen, wake-up, statistical sampling,
weighted aggregation - Understanding of large scale dynamics
33Rich set of additional challenges
- Efficient and robust security primitives
- Application specific virtual machines
- Time space information in every packet
- Density independent wake-up, aggregation
- sensor gt can use radio in analog mode
- Resilient aggregators
- Programming support for systems of generalized
state machines - Programming the unstructured aggregate
- SPMD, Data Parallel, Query Processing, Tuples
- Understanding how an extreme system is behaving
and what is its envelope - adversarial simulation
- Self-configuring, self-correcting systems
34The Law of Miniaturization
Integration
Log R
Mainframe
99
Time
- Each major generation is increasingly smaller,
more deeply interactive, arrives when previous is
at its strength - Vast majority of computing will be small,
embedded, devices connected to the physical world - actually the case today, but
- not connected to us, the web, or each other