Title: Towards System Architecture for Tiny Networked Devices
1Towards System Architecture for Tiny Networked
Devices
- David Culler
- http//www.cs.berkeley.edu/culler
- U.C. Berkeley
- Wireless hoo-hah
- 5/30/2000
2An End-to-end Perspective
- Desktops
- max out at few 100M
- in your face
- connected to the infrastructure
3Key Characteristics of TNDs
- Small physical size and low power consumption
- Concurrency-intensive operation
- flow-thru, not wait-command-respond
- Limited Physical Parallelism and Controller
Hierarchy - primitive direct-to-device interface
- Diversity in Design and Usage
- application specific, not general purpose
- huge device variation
- gt efficient modularity
- gt migration across HW/SW boundary
- Robust Operation
- numerous, unattended, critical
- gt narrow interfaces
4Mote Initial Platform
5TOS Tiny OS
- Scheduler and Graph of Components
- constrained two-level scheduling model threads
events - Component
- Frame
- Threads (concurrency)
- Commands, and Handlers (events)
- Constrained Storage Model
- frame per component, shared stack, no heap
- Very lean multithreading
- Layering
- components issue commands to lower-level
components - event signal high-level events, or call
lower-level commands
6TOS Component
/ Messaging Component Declaration
/ //ACCEPTS char TOS_COMMAND(AM_SEND_MSG)(char
addr,char type, char data) void
TOS_COMMAND(AM_POWER)(char mode) char
TOS_COMMAND(AM_INIT)() //SIGNALS char
AM_MSG_REC(char type, char data) char
AM_MSG_SEND_DONE(char success) //HANDLES char
AM_TX_PACKET_DONE(char success) char
AM_RX_PACKET_DONE(char packet) //USES char
TOS_COMMAND(AM_SUB_TX_PACKET)(char data) void
TOS_COMMAND(AM_SUB_POWER)(char mode) char
TOS_COMMAND(AM_SUB_INIT)()
7Composition
mapper
router
sensor appln
appln
Active Messages
packet
Serial Packet
Temp
Radio Packet
SW
byte
HW
UART
Radio byte
i2c
photo
bit
clocks
RFM
8Dynamics of Events and Threads
9Empirical Breakdown of Effort
- can take apart time, power, space,
- 50 cycles threads ovhd, 10 cycle event ovhd
10Storage Breakdown (C Code)
3450 B code 226 B data
11Programming CAD
- Can assemble overall system using WV structural
VHDL - Scripts convert to all the make magic
12Projects this Term
- Device Proxy Architecture
- mobile-IP RDP variant
- Integration with infrastructure
- JINI and Ninja
- Multithreaded vs federated archtiecture
- Pluggable adaptive MAC layer
- often periodic, moment of crisis
- sleep cycling
- Ad Hoc routing component
- Connectivity-based location detection
- smart badge sensor in smart space
13Looking forward
- Mote designed for experimentation this summer
- Lots of projects now small matter of
programming - Good basis for incorporating more exciting HW
architectures