Biological Programming Models for Robustness and Scalability Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing 23 June 2003 David Evans University of Virginia, Department of Computer Science (Really) Brief History of Computing 1950 1960 1970 1980 1990 2000- Monolithic Computers in guarded, airconditioned rooms Fixed Networks of PCs Billions of small, cheap unreliable devices No interactions Data interactions with other computers, but most computing done locally Computing organized through local interactions Narrow interface to operator (punch cards, teletype), no interface to environment Rich interface to user, limited interface to environment Fundamentally integrated into physical environment DDDAS - 23 June 2003 swarm.cs.virginia.edu 2 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 3 Swarm Computing: Long-Range Goal Cement 10 TFlop DDDAS - 23 June 2003 swarm.cs.virginia.edu 4 Existing Systems • Trillions of unreliable, inexpensive components • No significant performance degradation when billions fail • Small programs produce complex behavior DDDAS - 23 June 2003 • ~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 swarm.cs.virginia.edu 5 Swarm Programming Behavioral Description Environment Model Behavior and primitives defined over groups Swarm Program Generator Device Model Device Units Device Programs Programmed Device Units Primitives Library DDDAS - 23 June 2003 swarm.cs.virginia.edu 6 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 7 Biological Complexity Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml DDDAS - 23 June 2003 swarm.cs.virginia.edu 8 Foundations Current Research • Amorphous Computing [Abelson, Nagpal, Sussman] Cellular Automata • Paintable Computing von Neumann [1940s] [Butera] Conway’s Game of Life [1970] • Embryonics [Mange, Wolfram [2002] Sipper] Reaction-Diffusion Turing [1952] • Ant Colony Optimization, Swarm Intelligence DDDAS - 23 June 2003 swarm.cs.virginia.edu 9 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 10 A alive < 0.5 B alive < .5 & inner > .5 state A { color red emits (alive, 1) diffuses (inner, 12), (outer, 14) transitions (alive < 0.5) from dir -> (A, B) in dir; } Example state B { color green emits (alive, 1) transitions (alive < 0.5) from dir & (inner > 0.5) inner < .1 -> (B, B) in dir; & outer > .5 (inner < 0.1) & (outer > 0.5) -> C; } C alive < .5 & outer > .5 DDDAS - 23 June 2003 state C { color yellow emits (alive, 1) transitions (alive < 0.5) from dir & (outer > 0.5) -> (C, C) in dir; } swarm.cs.virginia.edu 11 Step 24 5071 cells Step 25 Catastrophic event kills 75% of cells DDDAS - 23 June 2003 swarm.cs.virginia.edu 13 Robustness of Sphere Program DDDAS - 23 June 2003 swarm.cs.virginia.edu 14 state corner { color red emits (length, 8), (alive, 1) transitions (alive < 1) from dir -> (corner, segment) in dir; -> (corner); } Network Mesh 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; } DDDAS - 23 June 2003 swarm.cs.virginia.edu 15 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 16 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 17 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 18 Distributed Wireless File Service File Distribution and Update Server DDDAS - 23 June 2003 inhibit swarm.cs.virginia.edu 19 Distributed Wireless File Service File Distribution and Update replicate DDDAS - 23 June 2003 swarm.cs.virginia.edu 20 Robustness to Node Failures 80% of requests satisfied DDDAS - 23 June 2003 swarm.cs.virginia.edu 21 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 22 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 DDDAS - 23 June 2003 swarm.cs.virginia.edu 23