230 likes | 246 Views
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.
E N D
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
(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
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
Swarm Computing: Long-Range Goal Cement 10 TFlop swarm.cs.virginia.edu
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
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
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
Biological Complexity Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml swarm.cs.virginia.edu
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
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
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
Step 25 Catastrophic event kills 75% of cells swarm.cs.virginia.edu
Robustness of Sphere Program swarm.cs.virginia.edu
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
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
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
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
Distributed Wireless File ServiceFile Distribution and Update Server inhibit swarm.cs.virginia.edu
Distributed Wireless File ServiceFile Distribution and Update replicate swarm.cs.virginia.edu
Robustness to Node Failures 80% of requests satisfied swarm.cs.virginia.edu
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
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