130 likes | 137 Views
Explore system architecture for Tiny Networked Devices (TNDs) with small size, low power consumption, and diverse usage. Characteristics include robust operation and constrained storage. Learn about the 'Mote' initial platform and the TOS Tiny OS with its components and messaging model. Discover the dynamics of events and threads, energy utilization, and empirical breakdown of effort. Programming CAD tools and projects for device proxy architecture, mobile-IP integration, adaptive MAC layer, and more are covered. Looking forward, Mote offers a basis for exciting hardware architectures.
E N D
Towards System Architecture for Tiny Networked Devices David Culler http://www.cs.berkeley.edu/~culler U.C. Berkeley Wireless hoo-hah 5/30/2000
Scalable Infrastructure • highly available • persistent state (safe) • databases, agents • service programming environment Service Path • Ubiquitous Devices • billions • sensors / actuators • PDAs / smartphones / PCs • heterogeneous An End-to-end Perspective • Desktops • max out at few 100M • in your face • connected to the infrastructure wireless hoo hah
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 wireless hoo hah
‘Mote’ Initial Platform wireless hoo hah
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 wireless hoo hah
send_msg(addr, type, data) power(mode) msg_rec(type, data) msg_send_done (success) init Internal State Messaging Component send_msg_thread TX_packet(buf) Power(mode) RX_packet_done (buffer) init TX_packet_done (success) TOS 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
Composition mapper router sensor appln appln Active Messages packet Serial Packet Temp Radio Packet SW byte HW UART Radio byte i2c photo bit clocks RFM wireless hoo hah
Timing diagram of event propagation Dynamics of Events and Threads • Message Send Transition wireless hoo hah
Components Packet reception work breakdown Percent CPU Utilization Energy (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% 100.00% 2028.66 Empirical Breakdown of Effort • can take apart time, power, space, … • 50 cycles threads ovhd, 10 cycle event ovhd wireless hoo hah
Storage Breakdown (C Code) 3450 B code 226 B data wireless hoo hah
Programming CAD • Can assemble overall system using WV structural VHDL • Scripts convert to all the make magic wireless hoo hah
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 wireless hoo hah
Looking forward • Mote “designed for experimentation” this summer • Lots of projects now “small matter of programming” • Good basis for incorporating more exciting HW architectures wireless hoo hah