Networks of Tiny Devices Embedded in the Physical World David Culler Computer Science Division U.C.

Download Report

Transcript Networks of Tiny Devices Embedded in the Physical World David Culler Computer Science Division U.C.

Networks of Tiny Devices
Embedded in the Physical World
David Culler
Computer Science Division
U.C. Berkeley
www.cs.berkeley.edu/~culler
Intel Research
Berkeley
Technology Push
• Complete network embedded systems going
microscopic
Processing
Storage
Power
Sensing
Actuation
Communication
I SDQ SD
PLL baseband
filters
mixer
LNA
5/13/2002
TinyOS IPAM
2
Application Pull
• Complete NW embedded systems going microscopic
• Huge space of new applications
Monitoring & Managing Spaces
Disaster
Management
Habitat Monitoring
Circulatory Net
Condition-based
maintenance
Ubiquitous
computing
5/13/2002
TinyOS IPAM
3
Bridging the Technology-Application Gap
• Power-aware, communication-centric node
architecture
• Tiny Operating System for Range of HighlyConstrained 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
5/13/2002
TinyOS IPAM
4
Critical issues
• Highly constrained devices
– power, storage, bandwidth, energy, visibility
– primitive I/O hierarchy
• Observation and action inherently distributed
– many small nodes coordinate and cooperate on overall task
• The structure of the SYSTEM changes
• Devices ARE the infrastructure
– ad hoc, self-organized network of sensors
• Highly dynamic
–
–
–
–
–
passive vigilance most of the time
concurrency-intensive bursts
highly correlated behavior
variation in connectivity over time
failure is common
5/13/2002
TinyOS IPAM
5
A 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
5/13/2002
USC robomote
TinyOS IPAM
6
Many Research Groups using it
• UCB
–
–
–
–
–
–
–
•
•
•
•
•
•
NEST
SensorWeb
Blackout
Glaser structures
CBE
BFD
BRWC
UCLA
USC, ISI
Rutgers winlab
Intel
Bosch
Crossbow
5/13/2002
•
•
•
•
•
•
•
•
•
•
•
•
U Wash
Rutgers
UIUC
NCSA
U Virginia
Ohio State
UCSD
Dartmouth
MIT
UT Austin, ASU, Iowa
Accenture
and many more
TinyOS IPAM
7
The MICA architecture
51-Pin I/O Expansion Connector
8 Programming
Digital I/O 8 Analog I/O
Lines
• Atmel ATMEGA103
– 4 Mhz 8-bit CPU
– 128KB Instruction Memory
– 4KB RAM
DS2401 Unique ID
Atmega103 Microcontroller
– SPI interface
– 1-4 uj/bit r/w
Transmission
Power Control
• RFM TR1000 radio
Hardware
Accelerators
TR 1000 Radio Transceiver
– 50 kb/s – ASK
– Focused hardware acceleration
SPI Bus
• 4 Mbit flash (AT45DB041B)
Coprocessor
4Mbit External Flash
Power Regulation MAX1678 (3V)
• Network programming
• Rich Expansion connector
– i2c, SPI, GIO, 1-wire
– Analog compare + interrupts
• TinyOS tool chain
• sub microsecond RF
synchronization primitive
5/13/2002
TinyOS IPAM
2xAA form factor
8
Rich Sensor board
Mica PINS
PHOTO
Y Axis
X Axis
TEMP
Tone
Intr
Mic
Signal
SOUNDER
MICROPHONE
Gain Adjustment
MAGNETOMETER
ACCELEROMETER
ADC Signals (ADC1-ADC6)
On/Off Control
I2C Bus
Interrupt
Microphone
Sounder Magnetometer
1.25 in
Temperature
Sensor
5/13/2002
TinyOS IPAM
Light
Sensor
2.25 in
Accelerometer
9
More Sensors and Actuators
• Motor-Servo board interfaces any
combination of two motors, servos, and
solenoids to a toy car platform
• whisker board for obstacle detection
• digital accelerometer (ADXL202)
board for crude odometry
• GPS Board
• Weatherboard
• light, temp, humidity, barometric
pressure, occupancy (thermopile)
5/13/2002
TinyOS IPAM
10
Getting Ready for Outdoors
Acadia National Park
Mt. Desert Island, ME
Great Duck Island
Nature Conservancy
5/13/2002
TinyOS IPAM
11
A 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
=> allow appropriate abstractions to emerge
5/13/2002
TinyOS IPAM
12
Tiny OS Concepts
• Scheduler + Graph of Components
init
Commands,
Event Handlers
Frame (storage)
Tasks (concurrency)
Messaging Component
– frame per component, shared stack, no
heap
• Very lean multithreading
• Efficient Layering
5/13/2002
TinyOS IPAM
internal thread
Internal
State
TX_pack
et_done
(success
RX_pack
)et_done
(buffer)
• Constrained Storage Model
init
Power(mode)
TX_packet(buf)
–
–
–
–
msg_rec(type, data)
msg_sen
d_done)
• Component:
Events
send_msg
(addr,
type, data)
Commands
power(mode)
– constrained two-level scheduling model:
threads + events
13
application
Application = Graph of Components
Route map
router
sensor appln
packet
Radio byte
bit
Radio Packet
byte
Active Messages
RFM
5/13/2002
Serial Packet
UART
Temp
photo
SW
HW
ADC
clocks
TinyOS IPAM
Example: ad hoc, multi-hop
routing of photo sensor
readings
3450 B code
226 B data
Graph of cooperating
state machines
on shared stack
14
TOS Execution Model
• commands request action
– ack/nack at every boundary
– call cmd or post task
message-event driven
• events notify occurrence
• Tasks provide logical
concurrency
event-driven packet-pump
packet
HW intrpt at lowest level
may signal events
call cmds
post tasks
active message
5/13/2002
crc
Radio byte
encode/decode
event-driven bit-pump
bit
– preempted by events
• Migration of HW/SW
boundary
Radio Packet
event-driven byte-pump
byte
–
–
–
–
data processing
application comp
TinyOS IPAM
RFM
15
Dynamics of Events and Threads
bit event filtered
at byte layer
bit event =>
end of byte =>
end of packet =>
end of msg send
thread posted to start
send next message
radio takes clock events to detect recv
5/13/2002
TinyOS IPAM
16
Maintaining Scheduling Agility
• Need logical concurrency at many levels of the
graph
• While meeting hard timing constraints
– sample the radio in every bit window
Retain event-driven structure throughout
application
Tasks extend processing outside event window
All operations are non-blocking
lock-free scheduling queue
5/13/2002
TinyOS IPAM
17
Demonstration 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
Group response
=> continued application focus
• more real and long lived
• more dynamics
• extract architecture and create framework
5/13/2002
TinyOS IPAM
18
Example 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!
5/13/2002
TinyOS IPAM
19
Structural performance due to multi-directional
ground motions (Glaser & CalTech)
.
Mote
Layout
1
3
1
54
6`
1
8
1
1
1
5
29
Mote infrastructure
Comparison of Results
Wiring for traditional
structural instrumentation
+ truckload of equipment
5/13/2002
TinyOS IPAM
20
Energy Monitoring/Mgmt System
•
•
•
•
50 nodes on 4th floor
5 level ad hoc net
30 sec sampling
250K samples to database
over 6 weeks
5/13/2002
TinyOS IPAM
21
Energy Monitoring Network Arch
20-ton
chiller
sensor net
GW
control net
GW
GW
802-11
PC
modbus
PC
MYSQL
telegraph
scada term
UCB power
monitor net
5/13/2002
Browser
TinyOS IPAM
22
Meeting Social Network
5/13/2002
TinyOS IPAM
23
Wealth of Research Challenges
• Large numbers of highly
constrained (energy &
capability), connected devices
service
• New family of issues across all
the layers
network
system
architecture
technology
5/13/2002
TinyOS IPAM
24
prog / data model
– operating in aggregate
application
algorithm / theory
– imperfect operation and reliability
mgmt / diag / debug
– able to be casually deployed in
infrastructure (existing or in design)
Node Communication Architecture
Classic Protocol
Direct Device
Processor
Control
Application Controller
Application Controller
Narrow, refined
Chip-to-Chip Interface
RF Transceiver
Protocol Processor
RF Transceiver
Hybrid Accelerator
Application Controller
Serialization Accelerator
Memory I/O BUS
Raw RF Interface
Timing Accelerator
Hardware Accelerators
RF Transceiver
5/13/2002
TinyOS IPAM
25
Novel Protocol Examples
• Low-power Listening
• Really Tight Application-level Time
Synchronization
• Localization
• Wake-up
• MACs
• Self-organization
5/13/2002
TinyOS IPAM
26
Low-Power Listening
• Costs about as much to listen as to xmit, even
when nothing is received
• Must turn radio off when there is nothing to hear.
• Time-slotting and rendezvous cost BW and
Latency
• Can turn radio on/of in <1 bit
Small sub-msg recv sampling
Trade small, infrequent
tx cost for freq. Rx savings
Low Power Listening
Preamble
Transmission
Start Symbol
Transmission
MAC Delay
Transmitting individual bits
Bit Modulations
Radio Samples
Slow, Periodic Sampling
Reception
5/13/2002
TinyOS IPAMStart Symbol Search
Receiving individual bits
Synchronization
Start Symbol Detection
27
Exposing Time Synchronization Up
• Many applications require correlated data
sampling
• Distributed time sync accuracy bounded by ½
the variance in RTT.
• Successful radio transmission requires sub-bit
synchronization
Provide accurate timestamping with msg
delivery
Jitter < 0.1us (propagation) + 0.25 us (edge
capture accuracy) + 0.625 us (clock synch)
5/13/2002
TinyOS IPAM
28
Localization
• Many applications need to
derive physical placement
from observations
– Spatial sampling, proximity,
context-awareness
• Radio is another sensor
• Sample baseband to
estimate distance
– Need a lot of statistical data
– Calibration and multipleobservations are key
Error
Error
Noise
Noise
• Acoustic time-of-flight
alternative
– Requires good time
synchronization
5/13/2002
TinyOS IPAM
29
Probability
Statistical Approach
Y
5/13/2002
Node A
X
Distance
TinyOS IPAM
Node B
30
Integrated Architecture
• Chip Area ~5 mm2
–
–
–
–
AVR core with protocol Accelerators
16 Kbytes on-chip ram
ADC
800-1GHz FSK transceiver, -90dBm receive sens’y
.5 mm2
4 mm2
.5 mm2
• Expected sleep current = 1 uW
– lifetime on a single AA = 400+ years
• Expected active (processing current)
– Processor @ 4 Mhz < 1 mW
– Radio: 1mW power consumption, 100Kbps
– ADC: 20 pJ/sample 10 Ksamps/second = .2 uW.
5/13/2002
TinyOS IPAM
31
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
5/13/2002
TinyOS IPAM
32
The Nodes are the Infrastucture
• Simple Epidemic Algorithm Schema
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
=> surprising complexity in this simple mechanism
5/13/2002
TinyOS IPAM
33
Network Discovery: Radio Cells
5/13/2002
TinyOS IPAM
34
Network Discovery
5/13/2002
TinyOS IPAM
35
Controlled 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
5/13/2002
TinyOS IPAM
36
Example “epidemic” tree formation
5/13/2002
TinyOS IPAM
37
Final Tree
5/13/2002
TinyOS IPAM
38
Power Laws ?
1000
100
100
Links
Count
1000
10
10
1
1
1
10
100
1
10
100
Cluster Size
Cluster Size (1 + # children)
• Most nodes have very small degree (ave = .92)
• Some have degree = 15% of the population
• Few large clusters account for most of the edges
5/13/2002
TinyOS IPAM
39
Open Territory => Many Children
• Example: Level 1
5/13/2002
TinyOS IPAM
40
Open Territory => Many Children
• Example: Level 2 – variation in distance
5/13/2002
TinyOS IPAM
41
Open Territory => Many Children
• Example: Level 3 – long links
5/13/2002
TinyOS IPAM
42
Understanding 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.
• Define “range”: radius where 75%
of enclosed nodes receive 75% of
packets
• Often good nodes at a distance
probability of reception from center
node vs xmit strength
5/13/2002
TinyOS IPAM
43
Importance of Asymmetric Links
• Asymmetric Link:
– >65% successful reception in one direction
– <25% successful reception in the other direction
• 10%-25% of links are asymmetric
• Many long links are asymmetric
– in large field it is likely that someone far away can hear you
– what does this mean for protocol design?
5/13/2002
TinyOS IPAM
44
Collisions are primary factor
• Nodes out of range may have overlapping cells
– hidden terminal effect
• Collisions => these nodes hear neither ‘parent’
– become stragglers
• As the tree propagates
– folds back on itself
– rebounds from the edge
– picking up these stragglers.
• Seen in many experiments
• Mathematically complex because behavior is not
independent beyond singe cell
5/13/2002
TinyOS IPAM
45
Stragglers
• significant fraction of links point ‘backwards’
5/13/2002
TinyOS IPAM
46
Minimal lessons learned
• Don’t think about wireless networks as bunch of
circles of radius r
– connectivity is a probability distribution
– falls off with distance, but not as simple fading law
– shape varies with time and context
• With large, dense arrays the low-probability
events are common
• Must strike a balance in exploiting structure and
adapting to observed behavior
• Want simple local rules that have predictable,
robust global behavior
5/13/2002
TinyOS IPAM
47
More typical routing for sensor nets
• Current applications dominated by data
acquisition
– route from many nodes to nearest gateway
– aggregate from many nodes
– routing determined by simple local rules
• Nodes listen to data transfers from neighbors
–
–
–
–
–
carries hop-count info
monitors link goodness of potential ‘parents’
dynamically selects best node is lesser hop count
includes hysterisis and continuous rediscovery
gateways emit null data with 0-hop
• Much to understand about how such algorithms
manage major change
5/13/2002
TinyOS IPAM
48
Self-propagating Programs?
Network Programming Rate
100%
Percent
Programmed
• TinyOS components
support class of applns.
• Tiny virtual machine
adds layer of
interpretation for specific
coordination
• Primitives for sensing
and communication
• Small capsules (24
bytes)
• Propagate themselves
through network
80%
60%
40%
20%
0%
0
5/13/2002
TinyOS IPAM
20
40
60
80
100 120 140 160 180 200 220 240
Tim e (seconds)
49
Multihop Bandwidth Management
• Should self-organize into fair, dynamic multihop net
• Hidden nodes between each pair of “levels”
– CSMA is not enough
• P[msg-to-base] drops with each hop
– Investment in packet increases with distance
– need to optimize for low-power fairness!
• RTS/CTS costly (power & BW)
 Local rate control to approx. fairness
 Priority to forwarding, adjust own data rate
 Additive increase, multiplicative decrease
 Listen for retransmission as ack
5/13/2002
TinyOS IPAM
50
Example: Multihop Adaptive Transmission
Control
Max rate: 4 samples/sec
- rate = 4p
Channel BW ~20 p/s
1
8
- cannot expect more than 1/3
thru parent
Monitor number of children (n)
1
5
1
4
1
6
1
7
B
a(n) ~ 1/n
b=½
p’ = p + a(n) on success (echo)
p’ = p * b
node
14
15
16
17
18
5/13/2002
mean
0.36
0.56
0.55
0.55
0.39
p/s (COV)
(64%)
(14%)
(11%)
(12%)
(11%)
without rate control,
success drops ~½ per hop
TinyOS IPAM
51
Key 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
5/13/2002
TinyOS IPAM
52
Feeding experience back into simulation
5/13/2002
TinyOS IPAM
53
Rich set of additional challenges
• Efficient and robust security primitives
• Density independent wake-up, aggregation
– sensor => 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
5/13/2002
TinyOS IPAM
54
The “Law of Miniaturization”
Innovation
Log R
Personal Computer
Workstation
Server
Integration
Minicomputer
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 – this will change
5/13/2002
TinyOS IPAM
55
Where to go for more?
• http://www.tinyos.net/tos/
• Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David
Culler, Kristofer Pister. System architecture directions for
network sensors. ASPLOS 2000.
• David E. Culler, Jason Hill, Philip Buonadonna, Robert
Szewczyk, and Alec Woo. A Network-Centric Approach to
Embedded Software for Tiny Devices. EMSOFT 2001.
5/13/2002
TinyOS IPAM
56