Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE...

Post on 16-Jan-2016

212 views 0 download

Tags:

Transcript of Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE...

Self-replication of complex machines

MUX

COMP

MUX

d

ORG ORG

ORG ORG

c

b

a d

e

f

A C E

B D FORG

CELL

MO

LECULE

Cellular Self-Replication The molecular FPGA is used to CREATE the

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

Self-organization

So we can make cells appear and disappear at will in a surface of silicon.

Self-organization

We can then apply all sorts of nice algorithms: Coordinates

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Self-organization

We can then apply all sorts of nice algorithms: Coordinates Gradients

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Self-organization

We can then apply all sorts of nice algorithms: Coordinates Gradients L-Systems

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

1,1 1,2

2,1

1,3

2,2

3,1

1,4

2,3

3,2

4,1

1,5

2,4

3,3

4,2

2,5

3,4

4,3

3,5

4,4 4,5

Self-organization

But all this is (relatively) useless…

A B C D E

F G H I J

K L M N O

P Q R S T

… unless the system can use the algorithms

X

X

Engineering challenges Connectivity – cellular division

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

X

X

Engineering challenges Connectivity – cellular division

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

X

X

Engineering challenges Connectivity – cellular division and fault

tolerance

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

LX

L

X

X

Engineering challenges Connectivity – cellular division and fault

tolerance

A B

E F

C

I

D

G

J

M

X

H

K

N

L

O P X

F

FF

X

L

Embryonics – The BioWatch

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

Kill a Molecule

MUXTREE Molecule The molecules are configured and interconnected

to realize a cell

MUXTREE Molecule All connections must be re-routed

Hardware re-routing is a good option because: The connections are few They rely on fixed, configuration-independent

resources (metal lines)

columnspare

active molecule

faulty molecule

spare molecule

Kill Again (Kill a Cell)

All connections must be re-routed (including those used to compute the coordinates)

In reality, we “cheated”, since we assumed that: The organism is one-dimensional It’s possible to route lines through a faulty cell

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

Self-Repair The mechanism can be extended to two

dimensions, by “sacrificing” an entire column whenever a cell dies

But it represents a major loss of efficiency Hardware re-routing like in the molecules is not

an option, because these connections depend on the configuration and change from one application to the next (different cell sizes, communication patterns, etc.)

S

T

T

?

The problem of connectivity Connectivity is a major issue, for self-repair but

also in general for developmental systems Solutions for specific cases (e.g., RAM) are

common, but general ones are very rare (at logic level, i.e., FPGAs)

The problem is that, in conventional FPGAs, all the communication paths are part of the configuration of each individual element

One solution was proposed in the POEtic project, a EU project that ran from 2001 to 2004. It involves the development of a novel FPGA circuit for bio-inspired circuits that exploits a dynamic connection network

The POEtic molecule An industry-level programmable logic element

The POEtic molecule Molecules, through their configuration, can alter

their functional structure

Connectivity – The POEtic approach The problem is that, in conventional FPGAs, all

the communication paths are part of the configuration of each individual element

The POEtic solution = dynamically set-up the communication paths at runtime, using a dedicated, configuration-free routing layer

Connectivity – The POEtic approach In POEtic, molecular connections (gate-to-gate) are

realized conventionally and repair can use hardware re-routing. Cellular connections (processor-to-processor) are realized dynamically in the configuration-free routing layer

S

T

T

Next week We can design complex digital circuits that self-

replicate These circuits can self-repair And they can re-route their connection network

dynamically when needed

But what ARE these circuits? In the BioWatch, they were hand-designed processors. Do we need to hand-design every single circuit, or can we find a processor architecture ideally suited to this kind of non-conventional systems?