+ All Categories
Home > Documents > Ontogenetic hardware

Ontogenetic hardware

Date post: 24-Jan-2016
Category:
Upload: holleb
View: 20 times
Download: 0 times
Share this document with a friend
Description:
Ontogenetic hardware. Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA But what kind of structures is it interesting to self-replicate. Ontogenetic hardware. Embryonics = embryonic electronics: - PowerPoint PPT Presentation
Popular Tags:
46
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA But what kind of structures is it interesting to self-replicate
Transcript
Page 1: Ontogenetic hardware

Ontogenetic hardware

Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA

But what kind of structures is it interesting to self-replicate

Page 2: Ontogenetic hardware

Ontogenetic hardwareEmbryonics = embryonic electronics:Drawing inspiration from growth processes of living organisms to design complex computing systems

Phylogeny (P)[Evolvability]

Epigenesis (E)[Adaptability]

Ontogeny (O)[Scalability]

PO hw

POE hw

OE hw

PE hw

Page 3: Ontogenetic hardware

Bio-Inspired Approaches

Growth Self-organization Massive parallelism

(multicellular systems)

Issues that growth can potentially address: Complexity Scalability Fault tolerance

Page 4: Ontogenetic hardware

Caenorhabditis Elegans

11 December 1998

Page 5: Ontogenetic hardware

Caenorhabditis Elegans

From S.F. Gilbert, Developmental Biology, Sinauer, 1991

Page 6: Ontogenetic hardware

Multicellular Organization

959 somatic cells

Page 7: Ontogenetic hardware

Cellular Differentiation

Pharynx

Intestine

Page 8: Ontogenetic hardware

Embryonics: How?

Iterative electronic circuit based on 3 features:

• multicellular organization

• cellular division

• cellular differentiation

Page 9: Ontogenetic hardware

Embryonics LandscapePopulation level

(population = organisms)

Organismic level (organism = cells)

Cellular level (cell = molecules)

Molecular level (basic FPGA's element)

MUX

COMP

MUX

d

ORG ORG

ORG ORG

c

b

a d

e

f

A C E

B D FORG

CELL

MO

LECULE

Page 10: Ontogenetic hardware

StopWatch

MIN SECRESET

STARTSTOP

Page 11: Ontogenetic hardware

StopWatch

MIN SECMIN SEC

Page 12: Ontogenetic hardware

Multicellular Organization

O R G

CELLgene

A C E

B D F2

1

1 2 3

Y

X

Page 13: Ontogenetic hardware

StopWatch

StopWatch

ORG

CELLgene

1

1 2 3

Y

X

Countmod 6

Countmod10

Countmod 6

Countmod10

4

Page 14: Ontogenetic hardware

6 10 6 101 2 3 4

OG: operative genomegene

StopWatch

First step: design of a totipotent cell (stem cell)

(of course, in practice it can be optimized)

Page 15: Ontogenetic hardware

StopWatch

X = (WX+1) mod 4 case of X: X = 1: Countmod 6 (10 minutes) X = 2: Countmod 10 (minutes) X = 3: Countmod 6 (10 seconds) X = 4: Countmod 10 (seconds)

OG: operative genome

Page 16: Ontogenetic hardware

Cellular Differentiation

6 10 6 101 2 3 4

X = 1

6 10 6 101 2 3 4

6 10 6 101 2 3 4

6 10 6 101 2 3 4

2

10t1

3

6t2

10

4

t3

Page 17: Ontogenetic hardware

Cloning

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1

1 2

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

t1

1

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1 t2

1 2 3

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10t2

t1

1

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1 t2 t3

MOTHER ORG

1 2 3 4

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10t2 t3

t1

1

Page 18: Ontogenetic hardware

Cloning

1

Y

X

t1 t2 t3

MOTHER ORG

t4

1 2 3 4 1

t2 t3 t4

t1DAUGHTER ORG # 1

1

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 101

Y

X

t1 t2 t3

MOTHER ORG

t5t4

1 2 3 4 1 2

t2 t3 t4 t5

t1DAUGHTER ORG # 1

1

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 101

Y

X

t1 t2 t3

MOTHER ORG

t5 t6t4

1 2 3 4 1 2 3

t2 t3 t4 t6t5

t1DAUGHTER ORG # 1

1

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 101

Y

X

t1 t2 t3

MOTHER ORG

t5 t6 t7t4

DAUGHTER ORG # 2

1 2 3 4 1 2 3 4

t2 t3 t4 t6 t7t5

t1DAUGHTER ORG # 1

1

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 101

Y

X

t1 t2 t3

MOTHER ORG

t5 t6 t7t4

DAUGHTER ORG # 2

1 2 3 4 1 2 3 4

t2 t3 t4 t6 t7 t8t5

t1DAUGHTER ORG # 1 DAUGHTER ORG # 3

1

Directions of self-replication

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

6 10 6 10 6 10 6 10 6 10 6 106 10 6 10

Page 19: Ontogenetic hardware

Self-Repair

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

ORIGINAL ORG

6 10 6 10 6 10 6 10

1 2 3 4 1 2

SPARE CELLS

Direction of self-repair

1

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 4 1 2

KILL=1

SCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3

KILL=1

SCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3 4

KILL=1

NEW ORG NEW ORGSCAR

106 10 6 101

Y

X

6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

1 2 3 4 1

KILL=1

NEW ORG NEW ORGSCAR SPARE CELL

106 10 6 10

Page 20: Ontogenetic hardware

BioWatch The application can of course be anything…

But then, the size and structure of the cell will vary from application to application: we need programmable logic!

1

1 2 3

Y

X

mod3

mod10/4

mod6

mod10

4

mod6

mod10

5 6

Modulo-24 counter StopWatch

Page 21: Ontogenetic hardware

MUXTREE Molecule The “molecular” layer of Embryonics is an FPGA

0 10 1 2 3 4

0 10 1 2 3 4

1 0

NOUT

SIN

CK

EOBUS

EOUT

EIN

WIBUS

WIN

WOUT

L2:0 R2:0

1 0 R

SB

1 0EIBUS

B

WOBUS

NOBUS NIBUS

SOBUSSIBUS

5 56 7 6 7

INITP

DQ FF

MUXTREE

MUX

0 L2:0 0 R2:0 N1:0 S1:0 E1:0W1:0 0 P R Bswitch block (SB)connection block (CB)

memory and test

1 0456789101112141618 219

CREGMOLCODE = MC19:0

2 30 1

3 12 0

NOBUS

SOBUS

0

1

3

2

EOBUS1

3

2

0

WOBUSNOUT

NIBUS

NOUT

NOUT

NOUT

EIBUS

S1:0

WIBUS

N1:0E1:0

W1:0

SIBUS

SB

Page 22: Ontogenetic hardware

Cellular Self-Replication But if we use FPGAs, then we need to CREATE

the array of cells in the first place, before differentiation can take place (self-replication)

Page 23: Ontogenetic hardware

Cellular Self-Replication

PGX=1

But if we use FPGAs, then we need to CREATE the array of cells in the first place, before differentiation can take place (self-replication)

Page 24: Ontogenetic hardware

Cellular Self-Replication

PGPG2X=1 3 4 SPARE CELL

But if we use FPGAs, then we need to CREATE the array of cells in the first place, before differentiation can take place (self-replication)

Page 25: Ontogenetic hardware

Cellular Self-Replication

RG+OG

2 3 4X=1 SPARE CELL

Self-replication will allow the same FPGA partial configuration to be duplicated as many times as needed

Page 26: Ontogenetic hardware

Cellular Self-Repair

RG+OG

2 3 4X=1 SPARE CELL

faulty molecule

But self-replication, and custom FPGAs, can ALSO be used to improve the reliability of the system

Page 27: Ontogenetic hardware

Cellular Self-Repair

RG+OG

2 3 4X=1 SPARE CELL

3 4

KILL=1

But self-replication, and custom FPGAs, can ALSO be used to improve the reliability of the system … within limits

Page 28: Ontogenetic hardware

Operation of the Cell

Page 29: Ontogenetic hardware

Kill a Molecule

Page 30: Ontogenetic hardware

Recovered Molecule

Page 31: Ontogenetic hardware

Kill Again (Kill a Cell)

Page 32: Ontogenetic hardware

Recovered Cell

Page 33: Ontogenetic hardware

Implementation - The BioWall

Page 34: Ontogenetic hardware
Page 35: Ontogenetic hardware

Genotype Layer

Phenotype Layer

Example – Automatic Synthesis

Application-specific (parallel) functions

Developmental algorithm

Genetic code

Mapping Layer

Page 36: Ontogenetic hardware

Example – Automatic Synthesis

Phenotype Layer

Mapping Layer

Genotype Layer

Totipotent Cell

Page 37: Ontogenetic hardware

Example – Automatic SynthesisTotipotent CellProgrammable Logic

Page 38: Ontogenetic hardware

Example – Automatic SynthesisProgrammable Logic

Cellular Array

Page 39: Ontogenetic hardware

What kind of applications can take advantage of this kind of system?

Complex "real-world" streaming applications computation is carried out sequentially can be represented by a DAG of computation nodes each node processes data locally then forwards

them to the next node in the graph

Applications

×+ ÷≠ FFT +

×

DCTIN OUT

Page 40: Ontogenetic hardware

READ DCT QNTZ CMPR WRT

Example: JPEG

Specialized MOVE functional units can be designed for each of these steps

IN OUT

Page 41: Ontogenetic hardware

Programmable substrate

×+ ÷≠ FFT +

×

DCT

Context

IN OUT

Problem: task or resource allocation – i.e. how do we map the graph nodes to the array?

Specifically: dynamic allocation

Page 42: Ontogenetic hardware

Self-Scaling Stream Processing

Source

Funct A

Funct B

Funct C JoinFunct A

Funct A

Funct A

Funct C

Funct A

Funct A

Funct C

Funct A

Funct C

Page 43: Ontogenetic hardware
Page 44: Ontogenetic hardware

SSSP The MJPEG application consists of a four-stage

computation pipeline. The data to be compressed are composed of 192 bytes corresponding to an 8x8 array of pixels using 24-bit colour.

The maximum rate achievable (determined by the input rate) is of 700 packets per second - roughly 1 MBit/second. With a single pipeline, the performance tops at about 60 packets per second.

Page 45: Ontogenetic hardware
Page 46: Ontogenetic hardware

SSSP

When performance peaks, the average output rate is of 675 packets per second (out of a maximum of 700): this technique allows to multiply the throughput by a factor of 11 using 28 processors.


Recommended