self-replication of complex machines. cellular self-replication the molecular fpga is used to create...
TRANSCRIPT
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?