Amorphous computing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

AMORPHOUS COMPUTING PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on
  • Presentation posted in: General

AMORPHOUS COMPUTING. Harold Abelson, Thomas F. Knight, and Gerald Jay Sussman Massachusetts Institute of Technology. A scientific and technological effort to identify.

Download Presentation

AMORPHOUS COMPUTING

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Amorphous computing

AMORPHOUS COMPUTING

Harold Abelson, Thomas F. Knight,

and Gerald Jay Sussman

Massachusetts Institute of Technology

DARPA Ultrascale Computing Program


A scientific and technological effort to identify

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.

DARPA Ultrascale Computing Program


Amorphous computing is

Amorphous computing is

  • Not emergent behavior

  • Not “pretty pictures”

  • It is engineering of mechanisms with prespecified, well-defined behavior

DARPA Ultrascale Computing Program


Our model

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.

DARPA Ultrascale Computing Program


Properties of our model

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

DARPA Ultrascale Computing Program


Example of an amorphous computing medium

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.

DARPA Ultrascale Computing Program


Why is this interesting

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

DARPA Ultrascale Computing Program


How can we program amorphous stuff

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

DARPA Ultrascale Computing Program


Bifurcating tubes an example of emergent behavior

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)

DARPA Ultrascale Computing Program


But suppose we wanted to make something with a precisely specified geometry

… But suppose we wanted to make something with a precisely specified geometry?

from Frank Netter

Atlas of Human Anatomy

DARPA Ultrascale Computing Program


Local simd paradigm for programming differentiation and growth ron weiss

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.

DARPA Ultrascale Computing Program


Amorphous computing

Differentiation

To make a “spine” the elements in an initial polarized tube must differentiate into bands of alternating C and D type segments.

DARPA Ultrascale Computing Program


A program for creating segments

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)))

DARPA Ultrascale Computing Program


Amorphous computing

Segments can grow by invading neighboring

segments, thereby stimulating them to grow

DARPA Ultrascale Computing Program


An experimental prototype for amorphous computing

An experimental prototype for amorphous computing

Chris Hanson

Don Allen

Darren Schmidt

Bei Wang

Chris Terman

Tom Knight

DARPA Ultrascale Computing Program


Computational particles communicate using spread spectrum transceivers

Computational particlescommunicate using spread-spectrum transceivers.

DARPA Ultrascale Computing Program


Test setup for transceiver

Test setup for transceiver

DARPA Ultrascale Computing Program


Test signals from transceiver

Test signals from transceiver

DARPA Ultrascale Computing Program


Some general tools for building structure in amorphous systems

Some general tools for building structure in amorphous systems

  • Wave propagation

  • Coordinate refinement

  • Activation/inhibition

DARPA Ultrascale Computing Program


Amorphous computing

Crude local coordinate systems can be constructed by intersecting countdown waves radiating from several loci.

DARPA Ultrascale Computing Program


Cleverness makes better coordinates

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.

DARPA Ultrascale Computing Program


Local coordinate systems can be combined

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.

DARPA Ultrascale Computing Program


Amorphous computing

DARPA Ultrascale Computing Program


Amorphous computing

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)

DARPA Ultrascale Computing Program


A botanical metaphor

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.

DARPA Ultrascale Computing Program


Start with vdd vss and a poly contact

Start with Vdd, Vss, and a Poly Contact

DARPA Ultrascale Computing Program


Amorphous computing

The poly contact sprouts a growing point that bifurcates and then grows toward the pheromones secreted by Vdd and Vss.

DARPA Ultrascale Computing Program


When the growing poly gets close to vdd and vss it is stopped by a short range inhibition

When the growing poly gets close to Vdd and Vss it is stopped by a short-range inhibition

DARPA Ultrascale Computing Program


Amorphous computing

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.

DARPA Ultrascale Computing Program


Amorphous computing

The diffusions also grow toward each other. When they hit they form a new poly contact and poly growing point.

DARPA Ultrascale Computing Program


The process then repeats growing the next inverter

The process then repeats, growing the next inverter.

DARPA Ultrascale Computing Program


This process repeats to make an arbitrarily long chain of ugly but topologically correct inverters

This process repeats to make an arbitrarily long chain of ugly, but topologically correct inverters.

This demonstrates totally local control of precision topology.

DARPA Ultrascale Computing Program


Amorphous computing

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)))

DARPA Ultrascale Computing Program


The growing points created by the poly contact growing point have independent existence

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)))

DARPA Ultrascale Computing Program


Growing points can join as well as split

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)))

DARPA Ultrascale Computing Program


The challenge of amorphous computing

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.

DARPA Ultrascale Computing Program


  • Login