Towards System Architecture for Tiny Networked Devices David

  • Slides: 13
Download presentation
Towards System Architecture for Tiny Networked Devices David Culler http: //www. cs. berkeley. edu/~culler

Towards System Architecture for Tiny Networked Devices David Culler http: //www. cs. berkeley. edu/~culler U. C. Berkeley Wireless hoo-hah 5/30/2000 wireless hoo hah

An End-to-end Perspective • Scalable Infrastructure – – highly available persistent state (safe) databases,

An End-to-end Perspective • Scalable Infrastructure – – highly available persistent state (safe) databases, agents service programming environment Service Path • Desktops – max out at few 100 M – in your face – connected to the infrastructure • Ubiquitous Devices – billions – sensors / actuators – PDAs / smartphones / PCs – heterogeneous 5/30/2000 wireless hoo hah 2

Key Characteristics of TNDs • Small physical size and low power consumption • Concurrency-intensive

Key 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 => efficient modularity => migration across HW/SW boundary • Robust Operation – numerous, unattended, critical => narrow interfaces 5/30/2000 wireless hoo hah 3

‘Mote’ Initial Platform 5/30/2000 wireless hoo hah 4

‘Mote’ Initial Platform 5/30/2000 wireless hoo hah 4

TOS Tiny OS • Scheduler and Graph of Components – constrained two-level scheduling model:

TOS 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 5/30/2000 wireless hoo hah 5

msg_send_ done (success) msg_rec(type, data) send_msg(ad dr, type, data) power(mode) init TOS Component send_msg_thread.

msg_send_ done (success) msg_rec(type, data) send_msg(ad dr, type, data) power(mode) init TOS Component send_msg_thread. Internal State 5/30/2000 TX_packet _done (success) RX_packet_ done (buffer) init Power(mode) TX_packet(buf) Messaging 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)(); wireless hoo hah 6

Composition mapper appln router sensor appln Active Messages packet Radio Packet Serial Packet Temp

Composition mapper appln router sensor appln Active Messages packet Radio Packet Serial Packet Temp Radio byte UART i 2 c SW byte HW photo bit clocks RFM 5/30/2000 wireless hoo hah 7

Dynamics of Events and Threads • Message Send Transition Timing diagram of event propagation

Dynamics of Events and Threads • Message Send Transition Timing diagram of event propagation 5/30/2000 wireless hoo hah 8

Empirical Breakdown of Effort Components AM Packet Ratio handler Radio decode thread RFM Radio

Empirical Breakdown of Effort Components AM Packet Ratio handler Radio decode thread RFM Radio Reception Idle Total Packet reception Percent CPU work breakdown Utilization 0. 05% 1. 12% 26. 87% 5. 48% 66. 48% 100. 00% 0. 20% 0. 51% 12. 16% 2. 48% 30. 08% 54. 75% 100. 00% Energy (nj/Bit) 0. 33 7. 58 182. 38 37. 2 451. 17 1350 2028. 66 • can take apart time, power, space, … • 50 cycles threads ovhd, 10 cycle event ovhd 5/30/2000 wireless hoo hah 9

Storage Breakdown (C Code) 3450 B code 226 B data 5/30/2000 wireless hoo hah

Storage Breakdown (C Code) 3450 B code 226 B data 5/30/2000 wireless hoo hah 10

Programming CAD • Can assemble overall system using WV structural VHDL • Scripts convert

Programming CAD • Can assemble overall system using WV structural VHDL • Scripts convert to all the make magic 5/30/2000 wireless hoo hah 11

Projects this Term • Device Proxy Architecture – mobile-IP RDP variant • Integration with

Projects 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 5/30/2000 wireless hoo hah 12

Looking forward • Mote “designed for experimentation” this summer • Lots of projects now

Looking forward • Mote “designed for experimentation” this summer • Lots of projects now “small matter of programming” • Good basis for incorporating more exciting HW architectures 5/30/2000 wireless hoo hah 13