1 / 23

Swarm Computing: Models for Scalability and Robustness in Biological Programming

Explore the biological programming models for scalability and robustness in swarm computing, designed to handle billions of unreliable components. Learn about Swarm Programming, Nature's Programs, Biological Complexity, and Current Research Foundations.

doviej
Download Presentation

Swarm Computing: Models for Scalability and Robustness in Biological Programming

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. Biological Programming Models for Robustness and ScalabilityDavid EvansUniversity of Virginia,Department of Computer Science Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing 23 June 2003

  2. (Really) Brief History of Computing 1950 1960 1970 1980 1990 2000- Monolithic Computers in guarded, air-conditioned rooms No interactions Narrow interface to operator (punch cards, teletype), no interface to environment Billions of small, cheap unreliable devices Computing organized through local interactions Fundamentally integrated into physical environment Fixed Networks of PCs Data interactions with other computers, but most computing done locally Rich interface to user, limited interface to environment swarm.cs.virginia.edu

  3. Challenges and Opportunities • Embedded in physical environment • Challenges: unpredictable, energy-limited • Opportunities: physical laws, continuous • Scale • Challenges: billions of independent components • Opportunities: redundant to failures • Demands new programming approaches and reasoning techniques swarm.cs.virginia.edu

  4. Swarm Computing: Long-Range Goal Cement 10 TFlop swarm.cs.virginia.edu

  5. Trillions of unreliable, inexpensive components No significant performance degradation when billions fail Small programs produce complex behavior ~70 Trillion Cells in adult human ~ 3 Billion of your cells have died since I started talking Program (3B nucleotides) is shorter than Windows XP, difference between 2 humans on 1 floppy Existing Systems swarm.cs.virginia.edu

  6. Swarm Programming Behavior and primitives defined over groups Behavioral Description Device Units Swarm Program Generator Device Programs Environment Model Programmed Device Units Device Model Primitives Library swarm.cs.virginia.edu

  7. Observations About Nature’s Programs • Responsive • Aware of state of self and surroundings • Localized • Communication through chemical diffusion • Redundant • Millions of cells can die without compromising function • Remarkably Expressive • Human genome ~250MB swarm.cs.virginia.edu

  8. Biological Complexity Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml swarm.cs.virginia.edu

  9. Cellular Automata von Neumann [1940s] Conway’s Game of Life [1970] Wolfram [2002] Amorphous Computing [Abelson, Nagpal, Sussman] Paintable Computing [Butera] Embryonics [Mange, Sipper] Ant Colony Optimization, Swarm Intelligence Foundations Current Research • Reaction-Diffusion • Turing [1952] swarm.cs.virginia.edu

  10. Simplified Cell Model • Awareness of Environment • Sense chemicals on cell walls • Sense chemicals in environment • Cell Actions • Cell Division (asymmetric) • State Change • Communicate: emit (directional, neighboring walls), diffuse (omnidirectional) • Simple physical forces • Two cells cannot overlap in space swarm.cs.virginia.edu

  11. A Example alive < 0.5 state A { color red emits (alive, 1) diffuses (inner, 12), (outer, 14) transitions (alive < 0.5) from dir -> (A, B) in dir; } state B { color green emits (alive, 1) transitions (alive < 0.5) from dir & (inner > 0.5) -> (B, B) in dir; (inner < 0.1) & (outer > 0.5) -> C; } state C { color yellow emits (alive, 1) transitions (alive < 0.5) from dir & (outer > 0.5) -> (C, C) in dir; } B inner < .1 & outer > .5 C alive < .5 & inner > .5 alive < .5 & outer > .5 swarm.cs.virginia.edu

  12. Step 24 5071 cells

  13. Step 25 Catastrophic event kills 75% of cells swarm.cs.virginia.edu

  14. Robustness of Sphere Program swarm.cs.virginia.edu

  15. state corner { color red emits (length, 8), (alive, 1) transitions (alive < 1) from dir -> (corner, segment) in dir; -> (corner); } state segment { color cyan emits (alive, 1) forwards (length - 1) transitions (length > 1.5) from dir & (alive < 0.5) from opposite (dir) -> (segment, segment) in opposite (dir); (length > 0.1) -> (corner); (length < 0.1) -> die; } Network Mesh swarm.cs.virginia.edu

  16. Composing Primitives • Cells can follow multiple programs simultaneously (vector of independent states) • Cells can combine primitives through shared chemicals • Chemicals secreted by one primitive can induce changes in other primitives • Goal: predict properties of composition based on properties of primitives swarm.cs.virginia.edu

  17. Mickey Mouse Program • 20 states • 50 transition rules • Starts from one cell, • combines lines, spheres • Real Mouse Program • 3B base pairs • 98% same as human DNA • Starts from one cell, • combines complex proteins swarm.cs.virginia.edu

  18. Towards Real Systems • Cells • Sensor Devices, MEMS, Internet Nodes • Division • Processes • Find new hosts • Communication • Point-to-point emissions • Wireless multicast (can be multi-hop) diffusions • Example: distributed file system running on simulated wireless nodes swarm.cs.virginia.edu

  19. Distributed Wireless File ServiceFile Distribution and Update Server inhibit swarm.cs.virginia.edu

  20. Distributed Wireless File ServiceFile Distribution and Update replicate swarm.cs.virginia.edu

  21. Robustness to Node Failures 80% of requests satisfied swarm.cs.virginia.edu

  22. Summary • Trillions of creatures have died to evolve the extremely robust programs that survive today • Robustness and scalability require: • Decentralization • Awareness of surroundings: Dynamic, Data-Driven • Swarm Programming • Develop high level behaviors from local interactions • Use communication through environment to coordinate locally • Produce complex behaviors by combining primitives defined over groups swarm.cs.virginia.edu

  23. Acknowledgements Sponsor: National Science Foundation Contributors: Lance Davidson (UVa Biology) Selvin George (Cell Simulator) Steven Marchette Qi Wang Brian Zhang http://swarm.cs.virginia.edu swarm.cs.virginia.edu

More Related