Smart Dust and TinyOS: Hardware and Software for Network Sensors - the software part - PowerPoint PPT Presentation

About This Presentation
Title:

Smart Dust and TinyOS: Hardware and Software for Network Sensors - the software part

Description:

Smart Dust and TinyOS: Hardware and Software for Network Sensors the software part – PowerPoint PPT presentation

Number of Views:262
Avg rating:3.0/5.0
Slides: 38
Provided by: DavidE1
Category:

less

Transcript and Presenter's Notes

Title: Smart Dust and TinyOS: Hardware and Software for Network Sensors - the software part


1
Smart Dust and TinyOS Hardware and Software for
Network Sensors- the software part
  • David E. Culler
  • Kris Pister
  • University of California, Berkeley
  • Intel Research Berkeley

2
A New Computer Class Emerging
log (people per computer)
year
3
CMOS Trends miniaturization and
more
nearly a thousand 8086s fit in a modern
microproc.
4
New Role for Computing
Number Crunching Data Storage
log (people per computer)
productivity interactive
streaming information to/from physical world
year
5
Example Habitat Monitoring
gt 1000 ft
6
Current State of the Art
7
Sensor Network Solution
8
Typical Applications
  • nodes gtgt people
  • sensor/actuator data stream
  • unattended
  • inaccessible
  • prolonged deployment
  • energy constrained
  • operate in aggregate
  • in-network processing necessary
  • what they do changes over time
  • gt must be programmed in situ

9
the Technology-Application Gap
mgmt / diag / debug
algorithm / theory
technology
MEMS
Power
Comm.
uRobots
10
Open Experimental Platform to Catalyze a Community
Services
Networking
TinyOS
Rene 00
Dot 01
Mica 02
WeC 99
Small microcontroller - 8 kb code, 512 B data
Simple, low-power radio - 10 kb EEPROM
storage (32 KB) Simple sensors
Demonstrate scale
  • Designed for experimentation
  • sensor boards
  • power boards

NEST open exp. platform 128 KB code, 4 KB data 50
KB radio 512 KB Flash comm accelerators
11
An Operating System for Tiny Devices embedded in
the Physical World
12
Traditional Systems
  • Well established layers of abstractions
  • Strict boundaries
  • Ample resources
  • Independent Applications at endpoints communicate
    pt-pt through routers
  • Well attended

Application
Application
User
System
Network Stack
Transport
Threads
Network
Address Space
Data Link
Files
Physical Layer
Drivers
Routers
13
by comparison ...
  • Highly Constrained resources
  • processing, storage, bandwidth, power
  • Applications spread over many small nodes
  • self-organizing Collectives
  • highly integrated with environment and network
  • communication is fundamental
  • Concurrency intensive in bursts
  • streams of sensor data and network traffic
  • Robust
  • inaccessible, critical operation
  • Unclear where the boundaries belong
  • gt Provide a framework for
  • Resource-constrained concurrency
  • Defining boundaries
  • Appln-specific processing
  • allow abstractions to emerge

14
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

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)
15
Application 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
16
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!

17
Vast Networks of Tiny Devices
  • Past 25 years of internet technology built up
    around powerful dedicated devices that are
    carefully configured and very stable
  • local high-power wireless subnets at the edges
  • 1-1 communication between named computers
  • Here, ...
  • every little node is potentially a router
  • work together in application specific ways
  • collections of data defined by attributes
  • connectivity is highly variable
  • must self-organize to manage topology, routing,
    etc
  • and for power savings, radios may be off 99 of
    the time

18
Directed Diffusion Concept
  • Nodes express interest in data with certain
    attributes (sinks)
  • Establishes gradient from sources

Estrin, Govindan, Heideman
19
Directed Diffusion Concept
  • Nodes express interest in data with certain
    attributes (sinks)
  • Establishes gradient from sources
  • Sources generate data
  • Useful paths reinforced, others suppressed
  • in-network aggregation
  • nested queries

20
Challenges
  • Probabilistic Connectivity
  • Contention creates interference
  • Mobility
  • Discovery
  • Flooding does not scale
  • Mechanism for reinforcement and suppression
  • Naming, operators

21
Common Special Case Data Gather
  • Collection of nodes take periodic samples
  • Stream data towards a root node
  • Root announces interest
  • depth 0
  • Nodes listen to neighbors
  • When hear neighbor with smaller depth
  • start transmitting data to good neighbor with
    smallest depth
  • set own depth to one greater and include with
    data
  • Data transmission continuously reinforces /
    adjusts routes

22
Network Discovery Radio Cells
23
Network Discovery
0
24
Surge Demo
25
Local Operations gt Global Behavior
  • Packets directed to a parent neighbor
  • all other neighbors hear too
  • carry additional organizational information
  • Each nodes builds estimate of neighborhood
  • adjusted with every packet and with time
  • Interactively selects parent
  • Routes traffic upward
  • Collectively they build and maintain a stable
    spanning tree
  • takes energy to maintain structure

node depth child? parent? link goodness
17 1 yes 90 .7
6 3 yes 75 .6
...


26
Programming Challenges
  • thousands of constrained nodes,
  • interacting in real-time with physical world,
  • where you cannot touch them,
  • and what you want them to do changes with time...
  • How do you program the network?
  • How do you specify what you want it to do?

27
Programmable network fabric
  • Architectural approach
  • new code image pushed through the network as
    packets
  • assembled and verified in local flash
  • second watch-dog processor reprograms main
    controller
  • Viral code approach
  • each node runs a tiny virtual machine interpreter
  • captures the high-level behavior of application
    domain as individual instructions
  • packets are capsule sequence of high-level
    instructions
  • capsules can forward capsules
  • Rich challenges
  • security
  • energy trade-offs
  • DOS

pushc 1 Light is sensor 1 sense Push
light reading pushm Push message
buffer clear Clear message buffer add
Append val to buffer send Send message
using AHR forw Forward capsule halt
28
Higher-level Programming?
  • Ideally, would specify the desired global
    behavior
  • Compilers would translate this into local
    operations
  • High-Performance Fortran (HPF) analog
  • program is sequence of parallel operations on
    large matrices
  • each of the matrices are spread over many
    processors on a parallel machine
  • compiler translates from global view to local
    view
  • local operations message passing
  • highly structured and regular
  • We need a much richer suite of operations on
    unstructured aggregates on irregular, changing
    networks

29
Sensor Databases a start
  • Relational databases rich queries described by
    declarative queries over tables of data
  • select, join, count, sum, ...
  • user dictates what should be computed
  • query optimizer determines how
  • assumes data is presented in complete, tabular
    form
  • First step database operations over streams of
    data
  • incremental query processing
  • Big step process the query in the sensor net
  • query processing content-based routing?
  • energy savings, bandwidth, reliability

SELECT AVG(light) GROUP BY roomNo
30
TinyDB Demo
Joe Hellerstein, Sam Madden, Wei Hong, Michael
Franklin
31
New Architectures?
Embedded Network Arch.
Typical Wireless Arch. (cellphone)
audio
kbd / display
Sensor / Actuators
Codec
Application Controller
CoProc
Multi-Purpose Controller
DSP
protocol accelerators
Protocol Processor
RF Transceiver
RF Transceiver
  • Traditional approach is to partition design into
    specialized subsystems with rigid interfaces.
  • TinyOS allows low and high-level processing to be
    interleaved.
  • rich physical information can be exposed
  • specialized hardware to accelerate primitives
  • Enables cross-layer optimizations

32
Example monitoring and alarm
  • Monitoring
  • sample every 4 seconds, aggregate over 5 minutes,
    transmit statistical summary
  • 20,000 samples, 300 reports per day per node
  • aggregate statistics up the routing tree
  • schedule rendezvous, so radio mostly off
  • Alarm
  • upon detection of dramatic environmental change
  • routes alarm through parent at any time
  • Where the energy goes
  • sleeping
  • sensing processing
  • communication
  • listening for communication to start
  • listening for an alarm message

33
Cross-Layer optimization
  • Sensing Processing
  • 15 mw 17 mJ per day
  • Sleeping
  • 45 uw 5038 mJ per day
  • Communination
  • hardware accelerators for edge capture and
    serialization
  • 10 kbps gt 50 kbps 2262 gt 452 mJ/day 5x
  • Rendezvous 2x time-synchronization
  • time-stamp packets - 100 ms
  • radio bit edge detection - 2 us
  • radio-level timesynch 669 gt 33 mj/day 20x
  • Wake-up
  • packet listen 108 ms (21 ms) 54,000 gt 25
    mj/day 2000x
  • sample radio channel for energy 50 us
  • Combined 2AA lifetime grows from 1 year to 9
    years
  • dominated by sleep energy

receiver-based alternative (Elison)
34
A rich growing research agenda
  • Localization
  • High-fidelity Time-Synch
  • Collaborative Processing
  • Multi-layered storage hierarchy
  • Simulation environments
  • Distributed Algorithms

35
CENS
36
Tiny Stuff
37
Example Distributed Control
  • Sensor field quietly monitors
  • net env. data for health monitoring
  • off-line geographic localization
  • Event detected locally by small group
  • Local broadcast of processed data
  • Group leader elected to aggregate
  • time sensitive
  • Multihop geographic transport to well-define dest
  • base-station for processing response
  • mobile pursuer node
  • Additional time-sensitive cooperative
    localization data for pursuer navigation and
    planning

Hill, Whitehouse, et al.
Write a Comment
User Comments (0)
About PowerShow.com