1 / 26

Endeavouring to Build Networks of Tiny Devices

This article discusses the design principles for extremely diverse system architectures, the use of tiny devices as the "eyes and ears" of ubiquitous computing, and the emergence of microscopic devices such as MEMS. It also explores the approach of TinyOS, a low-power wireless communication platform for tiny devices, and showcases examples of its applications and networked sensor systems.

Download Presentation

Endeavouring to Build Networks of Tiny Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Endeavouring to Build Networksof Tiny Devices David Culler Computer Science Division U.C. Berkeley www.cs.berkeley.edu/~culler

  2. Background • Q1: design principles for Extremely Diverse system architectures? • immense services (Millennium, Ninja) • tiny devices • appln as graph of state machines • concurrency intensive, variation in load, robustness • reactive • tiny devices became “eyes and ears” of ubiquitous computing • become source of control as well TinyOS

  3. Low-power Wireless Communication I SD Q SD baseband PLL filters mixer LNA Emerging Microscopic Devices • CMOS trend is not just Moore’s law • Micro Electical Mechanical Systems (MEMS) • rich array of sensors are becoming cheap and tiny • Imagine, all sorts of chips that are connected to the physical world and to cyberspace! TinyOS

  4. Current One-Inch Networked Sensor • 1” x 1.5” motherboard • ATMEL 4Mhz, 8bit MCU, 512 bytes RAM, 8K pgm flash • 900Mhz Radio (RF Monolithics) 10-100 ft. range • ATMEL network pgming assist • Radio Signal strength control and sensing • I2C EPROM (logging) • Base-station ready • stackable expansion connector • all ports, i2c, pwr, clock… • Several sensor boards • basic protoboard • tiny weather station (temp,light,hum,press) • vibrations (2d acc, temp, LIGHT) • accelerometers • magnetometers TinyOS

  5. TinyOS Approach • Stylized programming model with extensive static information • Program = graph of TOS components • TOS component = command/event interface + behavior • Rich expression of concurrency • Events propagate across many components • Tasks provide internal concurrency • Regimented storage management • Very simple implementation • Broad range of alternative execution mechanisms • For More see http://tinyos.millennium.berkeley.edu TinyOS

  6. msg_rec(type, data) msg_send_done) Tiny OS Concurrency Framework • 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 thread Internal State TX_packet(buf) Power(mode) TX_packet_done (success) init RX_packet_done (buffer) TinyOS

  7. Application = Component Graph Route map router sensor appln application Active Messages Serial Packet Radio Packet packet Temp photo SW HW UART Radio byte ADC byte Example: ad hoc, multi-hop routing of photo sensor readings clocks RFM bit TinyOS

  8. DARPA-esq demo • UAV drops nodes along road, • hot-water pipe insulation for package • Nodes self configure into linear network • 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! TinyOS

  9. Cory Energy Monitoring/Mgmt System • 50 nodes on 4th floor • 5 level ad hoc net • 30 sec sampling • 250K samples to database over 6 weeks TinyOS

  10. 20-ton chiller GW GW GW MYSQL Energy Monitoring Network Arch sensor net control net 802-11 telegraph PC PC modbus scada term UCB power monitor net Browser TinyOS

  11. Directions • Systems technology: long-term management • integrate new MAC and rate control (Alec Woo) • in situ network programming (Rob Szewczyk) • node query scheme (Sam Madden) • implicit discovery (Phil Levi) • signal strength adaptation • telegraph • Power management • Battery monitoring and adaptation • current and voltage sensors • non-intrusive load monitoring • integrate with broader sensor net • alert response TinyOS

  12. Emerging “de facto” tiny system • Feb. bootcamp • 40 people • UCB, UCLA, USC, Cornell, Rutgers, Wash., • LANL, Bosch, Accenture, Intel, crossbow • Several groups actively developing around tinyOS on “rene” node • Concurrency framework has held up well. • Next generation(s) selected as DARPA networked embedded system tech (NEST) open platform • Smaller building blocks for ubicomp TinyOS

  13. Challenge Application composition services coordination services synthesis services SW platform HW platform sensors processing communication storage actuators NEST Program Structure – evolution Composition Open Platform initial low-power wireless Open Platform 100+ tiny devices for alg. dev. year 3 2 1 0 TinyOS

  14. HW Platforms • Current: SmartDust MacroMOTE => Renes => • Phase 1: 6 months => algorithm studies • Mote++, MEMS sensors, TinyOS • more microcontroller • atmega163 => 2x storage • atmega103 => 128K flash, 4k ram • TIMSP430 => 60k flash, 2k ram, HW *, ... • many subtle factors • RFM with “ASH” 100 kb/s • too early for bluetooth • 100+ nodes for < 20K$ • Phase 2: 30 months => composition of alg’s • ARM-power, Bluetooth physical • integrated system • OS?? TinyOS

  15. SW Platform • Tiny event-driven component OS • allows NEST abstractions to emerge and each level • Language-based robustness and optimization • eg., critical path and jitter analysis • inter-component transformations • narrow interface with simple IDL • Tiny networking • power-aware appln-specific ad hoc routing, MAC, transmission control • in network aggregation • in situ programming • Algorithm building blocks • Local multicast • event-driven reception • intelligent pruning of retransmission • non-blocking execution TinyOS

  16. Programming Environment & Tools • Provide support for: event-driven programming, composition, debugging & visualization in the small (node) and large (collection) • Emulation => simulation => real devices • identical APIs, range of visibility, and reality • Debugging and visualization tools • geared toward many interacting nodes & event-centric development • Application-Specific Virtual Machines • analogous to query-plan vs query-processing engine • FSM-based programming abstractions • Macrocomputing TinyOS

  17. FSM-based Software Approach • Fundamentally, we are not computing, we are moving data intelligently • threads are a computing abstraction, FSMs are a protocol abstraction • use FSMs as the base then add some computing • natural high concurrency • natural handling of events, exceptions, and the environment • tools for understanding stability (e.g markov models, game theory, control theory) • composition is separate from creation • late bind the callee in a separate step called "composition" TinyOS

  18. Macrocomputing • Program a large, unstructured collection in aggregate • Single program, multiple data • but errors and probabilistic behavior • unstructured collection • “global” variables that reflect collections • need to handle error propagation • scatter/gather for collections? • online query processing? • multi-WEbS abstractions TinyOS

  19. Security • Individual nodes may be compromised, but hard to get large fraction of nodes. • Attacks introduce another form of unreliability in the data. • Lightweight encryption/decryption, authentication. • Novel protocols to support aggregate operations, eg., broadcast, w/o shared root key • Resilient aggregation TinyOS

  20. Resilient Aggregators • operate in the face of faulty nodes, intermittent communication, and security attacks • ex max is not resilient, nine-tile is. • develop algebra of resilient aggregators • Random sampling as implementation • foundation for security model • easy to attack a node • hard to attack large fraction of the nodes TinyOS

  21. Simulation • Large-scale NEST simulator • very large number of small nodes • integrated with event-driven OS design for efficiency • checkpointing • Adversarial simulation mode • Detecting “composition” bugs and scaling bugs • Target failure: search for bugs • test race conditions automatically • pick orders that consume resources • more efficient than random-walk testing • simulator is an adversary… • guided search • Hybrid simulator/testbed TinyOS

  22. Test-bed Kits • in situ programming/upgrade and debugging • synchronized logging (trace extraction) • passive monitoring • data collection TinyOS

  23. Challenge Applications active markers obstacles • sequence of applications • interactive spaces • flock of model cars • Multi-agent pursuit-evasion • also environmental monitoring • stunt ranch “whole canopy ecophysiology” with UCLA UAVs evader TinyOS

  24. Closed-loop at many levels • Within a node • behavior adapts to available energy, physical measurements, network condition • Across the network • discovery and routing, transmission rate and schedule • adopting roles, • Within the middleware components • synchronization, scheduling • On the vehicle • direction, stability, probabalistic map building • Among the vehicles • competitive, hidden markov decision processes TinyOS

  25. New building blocks for Ubicomp TinyOS

  26. New Collaboration • Intel Berkeley LabletExtreme Interconnected Systems (XIS) lab TinyOS

More Related