dynamic data-driven application systems panel acm international conference on supercomputing
DESCRIPTION
Biological Programming Models for Robustness and Scalability David Evans University 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. - PowerPoint PPT PresentationTRANSCRIPT
Biological Programming Models for Robustness and Scalability
David EvansUniversity of Virginia, Department of Computer Science
Dynamic Data-driven Application Systems Panel
ACM International Conference on Supercomputing23 June 2003
DDDAS - 23 June 2003 swarm.cs.virginia.edu 2
(Really) Brief History of Computing1950 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
Fixed Networks of PCs
Data interactions with other computers, but most computing done locally
Rich interface to user, limited interface to environment
Billions of small, cheap unreliable devices
Computing organized through local interactions
Fundamentally integrated into physical environment
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 4
Swarm Computing: Long-Range Goal
Cement10 TFlop
DDDAS - 23 June 2003 swarm.cs.virginia.edu 5
Existing Systems• 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 6
Swarm Programming
Swarm Program Generator
EnvironmentModel
Behavioral Description
DeviceModel
Primitives Library
DeviceUnits
ProgrammedDeviceUnits
DevicePrograms
Behavior and primitives defined over groups
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 8
Biological Complexity
Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml
DDDAS - 23 June 2003 swarm.cs.virginia.edu 9
Foundations Current Research
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
Reaction-DiffusionTuring [1952]
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 11
Example
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; }
AA
BB
CC
alive < 0.5
alive < .5 & inner
> .5
alive < .5 & outer > .5
inner < .1& outer > .5
Step 24 5071 cells
DDDAS - 23 June 2003 swarm.cs.virginia.edu 13
Step 25 Catastrophic eventkills 75% of cells
DDDAS - 23 June 2003 swarm.cs.virginia.edu 14
Robustness of Sphere Program
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 19
Distributed Wireless File ServiceFile Distribution and Update
Server inhibit
DDDAS - 23 June 2003 swarm.cs.virginia.edu 20
Distributed Wireless File Service
File Distribution and Update
replicate
DDDAS - 23 June 2003 swarm.cs.virginia.edu 21
Robustness to Node Failures
80% of requests satisfied
DDDAS - 23 June 2003 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
DDDAS - 23 June 2003 swarm.cs.virginia.edu 23
http://swarm.cs.virginia.edu
Acknowledgements
Sponsor:National Science Foundation
Contributors:Lance Davidson (UVa Biology)Selvin George (Cell Simulator)Steven MarchetteQi WangBrian Zhang