Date post: | 21-Dec-2015 |
Category: |
Documents |
View: | 218 times |
Download: | 2 times |
Networks of Tiny Devices embedded in the Physical World
David Culler Computer Science Division
U.C. Berkeleywww.cs.berkeley.edu/~culler
Intel Research Berkeley
1/17/2002 TinyOS CSTB 2
Technology Push
• Complete network embedded systems going microscopic
ProcessingStorage
Sensing
Actuation
Communication
LNAmixerPLL basebandfilters
I Q
Power
1/17/2002 TinyOS CSTB 3
Application Pull
• Complete NW embedded systems going microscopic
• Huge space of new applications
Circulatory Net
Habitat Monitoring
Condition-based maintenance
Disaster Management
Ubiquitous
computing
Monitoring & Managing Spaces
1/17/2002 TinyOS CSTB 4
Bridging 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
1/17/2002 TinyOS CSTB 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
1/17/2002 TinyOS CSTB 6
Many 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
1/17/2002 TinyOS CSTB 7
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
1/17/2002 TinyOS CSTB 8
Tiny 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
Messaging Component
init
Po
we
r(m
od
e)
TX
_p
ack
et(
bu
f)
TX
_p
ack
et_
do
ne
(s
ucc
ess
)RX
_p
ack
et_
do
ne
(b
uff
er)
Internal
State
init
po
we
r(m
od
e)
sen
d_
msg
(ad
dr,
ty
pe
, d
ata
)
msg
_re
c(ty
pe
, d
ata
)
msg
_se
nd
_d
on
e)
internal thread
Commands Events
1/17/2002 TinyOS CSTB 9
Application = Graph of Components
RFM
Radio byte
Radio Packet
UART
Serial Packet
ADC
Temp photo
Active Messages
clocks
bit
by
tep
ac
ke
t
Route map router sensor appln
ap
pli
ca
tio
n
HW
SWExample: ad hoc, multi-hop routing of photo sensor readings
3450 B code 226 B data
Graph of cooperatingstate machines on shared stack
1/17/2002 TinyOS CSTB 10
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
=> continued application focus• more real and long lived• more dynamics• extract architecture and create framework
1/17/2002 TinyOS CSTB 11
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!
1/17/2002 TinyOS CSTB 12
Structural performance due to multi-directional ground motions (Glaser & CalTech)
.
Wiring for traditional structural instrumentation+ truckload of equipment
Mote infrastructure15
13
14
6
5`
15
118
Mote Layou
t 129
Comparison of Results
1/17/2002 TinyOS CSTB 13
Cory Energy Monitoring/Mgmt System
• 50 nodes on 4th floor• 5 level ad hoc net• 30 sec sampling• 250K samples to database over 6 weeks
1/17/2002 TinyOS CSTB 14
Energy Monitoring Network Arch
sensor net
GW GW
802-11
control net
GW
20-ton chiller
PC
scada term
modbus
UCB power monitor net
PC telegraphMYSQL
Browser
1/17/2002 TinyOS CSTB 15
Wealth 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
network
system
architecture
technology
mg
mt
/ dia
g /
deb
ug
alg
ori
thm
/ th
eory
pro
g /
dat
a m
od
el
1/17/2002 TinyOS CSTB 16
Example: 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
1/17/2002 TinyOS CSTB 17
Simple Epidemic Algorithm Schema
• One (multicast) message handlerif (new mcast) then
take local actionretransmit 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
1/17/2002 TinyOS CSTB 18
Network Discovery: Radio Cells
1/17/2002 TinyOS CSTB 19
Network Discovery
1/17/2002 TinyOS CSTB 20
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
1/17/2002 TinyOS CSTB 21
Example “epidemic” tree formation
1/17/2002 TinyOS CSTB 22
Final Tree
1/17/2002 TinyOS CSTB 23
Power 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
1
10
100
1000
1 10 100
Cluster Size (1 + # children)
Co
un
t
1
10
100
1000
1 10 100
Cluster SizeL
ink
s
1/17/2002 TinyOS CSTB 24
Open Territory => Many Children
• Example: Level 1
1/17/2002 TinyOS CSTB 25
Open Territory => Many Children
• Example: Level 2 – variation in distance
1/17/2002 TinyOS CSTB 26
Open Territory => Many Children
• Example: Level 3 – long links
1/17/2002 TinyOS CSTB 27
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.
• 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
1/17/2002 TinyOS CSTB 28
Link 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
A -> BB -> A
Frequency
1/17/2002 TinyOS CSTB 29
Importance 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?
1/17/2002 TinyOS CSTB 30
Collisions are primary factor
• Nodes out of range may have overlapping cells
– hidden terminal effect
• Collisions => 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
1/17/2002 TinyOS CSTB 31
Stragglers
• significant fraction of links point ‘backwards’
1/17/2002 TinyOS CSTB 32
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
1/17/2002 TinyOS CSTB 33
Rich 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 => 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
1/17/2002 TinyOS CSTB 34
The “Law of Miniaturization”
• 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
Time
Integration
Log R
Mainframe
99
Innovation
Minicomputer
Personal ComputerWorkstationServer