Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

23
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

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 Presentation

Transcript of Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

Page 1: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 2: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 3: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 4: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 4

Swarm Computing: Long-Range Goal

Cement10 TFlop

Page 5: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 6: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 7: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 8: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 8

Biological Complexity

Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml

Page 9: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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]

Page 10: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 11: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 12: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

Step 24 5071 cells

Page 13: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 13

Step 25 Catastrophic eventkills 75% of cells

Page 14: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 14

Robustness of Sphere Program

Page 15: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 16: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 17: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 18: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 19: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 19

Distributed Wireless File ServiceFile Distribution and Update

Server inhibit

Page 20: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 20

Distributed Wireless File Service

File Distribution and Update

replicate

Page 21: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

DDDAS - 23 June 2003 swarm.cs.virginia.edu 21

Robustness to Node Failures

80% of requests satisfied

Page 22: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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

Page 23: Dynamic Data-driven Application Systems Panel ACM International Conference on Supercomputing

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