1 April 1998DARPA Ultrascale Computing Program 1 AMORPHOUS COMPUTING Harold Abelson, Thomas F. Knight, and Gerald Jay Sussman Massachusetts Institute of.

Slides:



Advertisements
Similar presentations
NanoFabric Chang Seok Bae. nanoFabric nanoFabric : an array of connect nanoBlocks nanoBlock : logic block that can be progammed to implement Boolean function.
Advertisements

Parameterizing a Geometry using the COMSOL Moving Mesh Feature
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
DYNAMICS OF RANDOM BOOLEAN NETWORKS James F. Lynch Clarkson University.
Using the Crosscutting Concepts As conceptual tools when meeting an unfamiliar problem or phenomenon.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
An Introduction to Amorphous Computing Daniel Coore, PhD Dept. Mathematics and Computer Science University of the West Indies, Mona.
System Development. Numerical Techniques for Matrix Inversion.
Goal: Programming Computational Matter Develop engineering principles and programming techniques for directing the behavior of systems composed of myriad.
Social Entrepreneurship Complexity & Copyright © 2008 James K Hazy All Rights Reserved.
CPSC 668Set 14: Simulations1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Computer Vision Optical Flow
Greg Streletz UC Davis Department of Computer Science
Programmable Self-Assembly Prashanth Bungale October 26, 2004 “Programmable Self-Assembly Using Biologically-Inspired Multiagent Control”, R. Nagpal, ACM.
Dynamic Modeling Of Biological Systems. Why Model? When it’s a simple, constrained path we can easily go from experimental measurements to intuitive understanding.
Programming Biological Cells Ron Weiss, George Homsy, Radhika Nagpal Tom Knight, Gerald Sussman, Nick Papadakis MIT Artificial Intelligence Laboratory.
Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as “Amorphous Computing” or “Swarm Computing” Radhika Nagpal.
Writing Good Software Engineering Research Papers A Paper by Mary Shaw In Proceedings of the 25th International Conference on Software Engineering (ICSE),
Topologically Adaptive Stochastic Search I.E. Lagaris & C. Voglis Department of Computer Science University of Ioannina - GREECE IOANNINA ATHENS THESSALONIKI.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Describing Syntax and Semantics
Science and Engineering Practices
Monte Carlo Methods in Partial Differential Equations.
The Growth and Curvature of Surfaces C Goodman-Strauss We are surrounded by surfaces that grow and develop, are shaped and.
Seashells. This presentation presents a method for modeling seashells. Why seashells you ask ? Two main reasons : The beauty of shells invites us to construct.
Architectural Design.
What is Software Architecture?
1 Ion Optics Simulations What it is. How it’s useful. The SIMION ion optics software. –How it works. –Limitations and cautions –Demonstrations and examples.
Cellular Texture Generation. Scales Feathers Thorns We are interested in making images of surfaces covered with interacting geometry elements such as.
Connectionism. ASSOCIATIONISM Associationism David Hume ( ) was one of the first philosophers to develop a detailed theory of mental processes.
Design Science Method By Temtim Assefa.
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Programming for Swarm CS655 Course Project Weilin Zhong.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Introduction to Self-Organization
The Next Generation Science Standards: 4. Science and Engineering Practices Professor Michael Wysession Department of Earth and Planetary Sciences Washington.
Shape Formation Through Cell Growth and Gradient Exudation Growing arbitrary shapes with more fun than you can shake a caml at! UVa October 4 th,
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Systems Biology ___ Toward System-level Understanding of Biological Systems Hou-Haifeng.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Lecture 7: Intro to Computer Graphics. Remember…… DIGITAL - Digital means discrete. DIGITAL - Digital means discrete. Digital representation is comprised.
The Wave Nature of Light
Amorphous Computing
CENTER FOR EXOTIC QUANTUM SYSTEMS CEQS Preskill 1983 Kitaev 2002 Refael 2005 Motrunich 2006 Fisher 2009 Historically, Caltech physics has focused on the.
WOSS 2002Selvin George1 A Biologically Inspired Programming Model for Self-Healing Systems Selvin George Computer Science David Evans Computer Science.
A Preliminary Proposal
Programming the Way Biology Programs David Evans University of Virginia, Department of Computer Science NSF Advanced Computation Inspired by Biological.
Programming for Swarm CS655 Course Project Weilin Zhong.
Javier Junquera Introduction to atomistic simulation methods in condensed matter Alberto García Pablo Ordejón.
Ch 4 Fluids in Motion.
A Roadmap towards Machine Intelligence
Paintable Computer Ting Yan CS 851 Bio-Inspired Computing Presentation March 25, 2003.
The Challenge of Amorphous Computing To develop engineering principles and programming techniques for directing the behavior of systems composed of billions.
An Algorithm for Bootstrapping Communications Jun Wang 03/20/03.
Discrete, Amorphous Physical Models Erik Rauch Digital Perspectives on Physics Workshop.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Hierarchical Modeling.  Explain the 3 different types of model for which computer graphics is used for.  Differentiate the 2 different types of entity.
Science and Engineering Practices K–2 Condensed Practices3–5 Condensed Practices6–8 Condensed Practices9–12 Condensed Practices Developing and Using Models.
A Generic Model for Software Architecture Yun Sang-hyun Rossak. W. / Kirova. V. / Jolian. L. / Lawson. H. / Zemel. T. Software, IEEE Jul/Aug.
788.11J Presentation “Flock Control: Using Information Energy” Presented by Mukundan Sridharan.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
The Concept of Universal Service
Binary Notation and Intro to Computer Graphics
Business System Development
Lecture 23: Programming with Pictures & Programming Wet Stuff
A synthetic multicellular system for programmed pattern formation
Data-Centric Networking
Presentation transcript:

1 April 1998DARPA Ultrascale Computing Program 1 AMORPHOUS COMPUTING Harold Abelson, Thomas F. Knight, and Gerald Jay Sussman Massachusetts Institute of Technology

1 April 1998DARPA Ultrascale Computing Program 2 A scientific and technological effort to identify methods for obtaining coherent behavior from the cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways techniques for instructing myriads of programmable entities to cooperate to achieve particular goals engineering principles and languages that can be used to observe, control, organize, and exploit the behavior of programmable multitudes.

1 April 1998DARPA Ultrascale Computing Program 3 Amorphous computing is Not emergent behavior Not “pretty pictures” It is engineering of mechanisms with prespecified, well-defined behavior

1 April 1998DARPA Ultrascale Computing Program 4 Our model Computing elements sprinkled on a surface or in a volume Each can talk to a few nearby neighbors, but not reliably Each has modest computing power and a modest amount of memory The particles are not synchonized, nor are they regularly arranged.

1 April 1998DARPA Ultrascale Computing Program 5 Properties of our model Local communication –locally disordered, but constrained by geometry Too many components to individually program or even to name Components are possibly faulty, sensitive to the environment, and may effect actions

1 April 1998DARPA Ultrascale Computing Program 6 Example of an Amorphous Computing Medium An amorphous medium has independent computational particles, all identically programmed. Each particle is represented by a spot in the picture, and different states are shown by different colors.

1 April 1998DARPA Ultrascale Computing Program 7 Why is this interesting? Physically feasible at any scale Forces robustness of design Potentially extremely inexpensive Provides the possibility of bulk computation –smart paints –smart gels –concrete by the Megaflops

1 April 1998DARPA Ultrascale Computing Program 8 How can we program amorphous stuff? We can look to biology for organizational metaphors (although we do not try to duplicate actual biological mechanisms) We’ll take examples from pattern formation to illustrate the point, and produce cartoon caricatures of biological morphogenesis

1 April 1998DARPA Ultrascale Computing Program 9 Bifurcating Tubes: an example of emergent behavior This is an amorphous physical simulation of a weak membrane bounding a pressure vessel. When a bulge appears, the membrane thins and the bulge expands. (by Radhika Nagpal)

1 April 1998DARPA Ultrascale Computing Program 10 … But suppose we wanted to make something with a precisely specified geometry? from Frank Netter Atlas of Human Anatomy

1 April 1998DARPA Ultrascale Computing Program 11 Local SIMD paradigm for programming differentiation and growth (Ron Weiss) Each computing element’s state includes some binary markers. Each computing element’s program has many independent rules. Rules are triggered when messages are received. A rule is applicable if a certain boolean combination of markers is satisfied. When a rule is applied it may set markers and send further messages. Messages have hop counts that determine how far they will diffuse. Markers may have lifetimes after which they expire.

1 April 1998DARPA Ultrascale Computing Program 12 Differentiation To make a “spine” the elements in an initial polarized tube must differentiate into bands of alternating C and D type segments.

1 April 1998DARPA Ultrascale Computing Program 13 A program for creating segments (start Crest ((send (make-seg C 1) 3))) ((make-seg seg-type seg-index) (and Tube (not C) (not D)) ((set seg-type) (set seg-index) (send created 3))) (((make-seg) (= 0)) Tube ((set Bottom))) (((make-seg) (> 0)) Tube ((unset Bottom))) (created (or C D) ((set Waiting 10))) (* (and Bottom C 1 (Waiting (= 0))) ((send (make-seg D 1) 3))) (* (and Bottom D 1 (Waiting (= 0))) ((send (make-seg C 2) 3))) (* (and Bottom C 2 (Waiting (= 0))) ((send (make-seg D 2) 3))) (* (and Bottom D 2 (Waiting (= 0))) ((send (make-seg C 3) 3)))

1 April 1998DARPA Ultrascale Computing Program 14 Segments can grow by invading neighboring segments, thereby stimulating them to grow

15

1 April 1998DARPA Ultrascale Computing Program 16 An experimental prototype for amorphous computing Chris Hanson Don Allen Darren Schmidt Bei Wang Chris Terman Tom Knight

1 April 1998DARPA Ultrascale Computing Program 17 Computational particles communicate using spread-spectrum transceivers.

1 April 1998DARPA Ultrascale Computing Program 18 Test setup for transceiver

1 April 1998DARPA Ultrascale Computing Program 19 Test signals from transceiver

1 April 1998DARPA Ultrascale Computing Program 20 Some general tools for building structure in amorphous systems Wave propagation Coordinate refinement Activation/inhibition

1 April 1998DARPA Ultrascale Computing Program 21 Crude local coordinate systems can be constructed by intersecting countdown waves radiating from several loci.

1 April 1998DARPA Ultrascale Computing Program 22 Cleverness makes better Coordinates Laplace’s equation can be used to interpolate from a boundary condition. One can approximately solve Laplace’s equation on an amorphous computer by successive averaging.

1 April 1998DARPA Ultrascale Computing Program 23 Local coordinate systems can be combined. A global picture can be constructed by working out the mappings at the overlaps among the local coordinate systems.

1 April 1998DARPA Ultrascale Computing Program 24

1 April 1998DARPA Ultrascale Computing Program 25 By combining these ideas, we can obtain detailed topological control, and embody the control mechanisms in a language… Cartoon caricature of “differentiation” to build a chain of “CMOS inverters” (by Daniel Coore)

1 April 1998DARPA Ultrascale Computing Program 26 A botanical metaphor We organize the process in terms of “growing points.” They make structures that exhibit “tropisms” toward particular “chemical gradients.” The growing points may lay down materials. Materials may secrete pheromones that attract or repel other growing points. Growing points may split, die off, or join. Support for this abstraction may be programmed as a uniform state machine in each computational particle.

1 April 1998DARPA Ultrascale Computing Program 27 Start with Vdd, Vss, and a Poly Contact

1 April 1998DARPA Ultrascale Computing Program 28 The poly contact sprouts a growing point that bifurcates and then grows toward the pheromones secreted by Vdd and Vss.

1 April 1998DARPA Ultrascale Computing Program 29 When the growing poly gets close to Vdd and Vss it is stopped by a short-range inhibition

1 April 1998DARPA Ultrascale Computing Program 30 The poly growing points die off, but first they sprout P and N transistor diffusion growing points, which grow toward Vdd and Vss, where they drop contacts.

1 April 1998DARPA Ultrascale Computing Program 31 The diffusions also grow toward each other. When they hit they form a new poly contact and poly growing point.

1 April 1998DARPA Ultrascale Computing Program 32 The process then repeats, growing the next inverter.

1 April 1998DARPA Ultrascale Computing Program 33 This process repeats to make an arbitrarily long chain of ugly, but topologically correct inverters. This demonstrates totally local control of precision topology.

1 April 1998DARPA Ultrascale Computing Program 34 This very parallel process can be described using a serial process metaphor. The growing points provide a serial locus of control, even though the implementation is in terms of a uniform state machine in each computational particle (define-growing-point ((poly from-input-contact) Q-id) (material poly) (tropism constant Vdd-long Vss-long) (initialize lifetime 5) (secrete (poly-short inhibitor) Q-id) (when (= lifetime 0) (start-growing-point (poly up) Q-id) (start-growing-point (poly down) Q-id) (terminate)))

1 April 1998DARPA Ultrascale Computing Program 35 The growing points created by the poly contact growing point have independent existence. (define-growing-point ((poly up) Q-id) (material poly) (secrete (poly-short inhibitor) Q-id) (tropism increasing Vdd-long) (when (sensing? Vdd-short) (start-growing-point (poly p-fet) Q-id) (terminate))) (define-growing-point ((poly p-fet) Q-id) (material poly) (initialize lifetime 10) (secrete (poly-short inhibitor) Q-id) (tropism constant Vdd-short) (when (= lifetime 1) (start-growing-point (diffusion p-fet Vdd)) (start-growing-point (diffusion p-fet contact) Q-id)))

1 April 1998DARPA Ultrascale Computing Program 36 Growing points can join as well as split. (define-growing-point ((diffusion p-fet Vdd) Q-id) (material diffusion p-type) (secrete (diffusion-short inhibitor) Q-id) (tropism increasing Vdd-short) (when (is-type? Vdd) (drop-metal-diffusion-contact) (terminate))) (define-growing-point ((diffusion p-fet contact) Q-id) (material diffusion p-type) (secrete (diffusion-short inhibitor) Q-id) (secrete (n-diffusion-attract attractor) Q-id) (tropism increasing p-diffusion-attract Q-id) (when (is-type? n-diffusion) (drop-poly-diffusion-contact) (start-growing-point (poly from-input-contact) (new-id)) (terminate)))

1 April 1998DARPA Ultrascale Computing Program 37 The Challenge of Amorphous Computing To reliably obtain a desired behavior by engineering the cooperation of many parts, without assuming any precision interconnect or precision geometrical arrangement of the parts. To invent the computational substrate that can support this kind of engineering.