Download presentation
Presentation is loading. Please wait.
1
Towards System Architecture for Tiny Networked Devices David Culler http://www.cs.berkeley.edu/~culler U.C. Berkeley Wireless hoo-hah 5/30/2000
2
wireless hoo hah2 An End-to-end Perspective Desktops –max out at few 100M –in your face –connected to the infrastructure Ubiquitous Devices –billions –sensors / actuators –PDAs / smartphones / PCs –heterogeneous Service Path Scalable Infrastructure –highly available –persistent state (safe) –databases, agents –service programming environment
3
5/30/2000wireless hoo hah3 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
4
5/30/2000wireless hoo hah4 ‘Mote’ Initial Platform
5
5/30/2000wireless hoo hah5 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
6
5/30/2000wireless hoo hah6 TOS Component Messaging Component init Power(mode) TX_packet(buf) TX_packet _done (success) RX_packet_ done (buffer) Internal State init power(mode) send_msg(ad dr, type, data) msg_rec(type, data) msg_send_ done (success) send_msg_thread /* 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)();
7
5/30/2000wireless hoo hah7 Composition RFM Radio byte Radio Packet UART Serial Packet i2c Temp photo Active Messages clocks bit byte packet mapper routersensor appln appln HW SW
8
5/30/2000wireless hoo hah8 Dynamics of Events and Threads Message Send Transition Timing diagram of event propagation
9
5/30/2000wireless hoo hah9 Empirical Breakdown of Effort can take apart time, power, space, … 50 cycles threads ovhd, 10 cycle event ovhd Components Packet reception work breakdown Percent CPU UtilizationEnergy (nj/Bit) AM 0.05%0.20%0.33 Packet 1.12%0.51%7.58 Ratio handler 26.87%12.16%182.38 Radio decode thread 5.48%2.48%37.2 RFM 66.48%30.08%451.17 Radio Reception --1350 Idle-54.75%- Total 100.00% 2028.66
10
5/30/2000wireless hoo hah10 Storage Breakdown (C Code) 3450 B code 226 B data
11
5/30/2000wireless hoo hah11 Programming CAD Can assemble overall system using WV structural VHDL Scripts convert to all the make magic
12
5/30/2000wireless hoo hah12 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
13
5/30/2000wireless hoo hah13 Looking forward Mote “designed for experimentation” this summer Lots of projects now “small matter of programming” Good basis for incorporating more exciting HW architectures
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.