“politehnica” university of timisoara course no. 3: project e mbryonics evolvable systems winter...
TRANSCRIPT
““Politehnica” University of TimisoaraPolitehnica” University of Timisoara
Course No. 3:Course No. 3:
Project EProject EMBRYONICSMBRYONICS
Evolvable SystemsEvolvable Systems
Winter Semester 2010Winter Semester 2010
The 4 levels of EmbryonicsThe 4 levels of Embryonics
Population levelPopulation level(∑ organisms)(∑ organisms)
Organism levelOrganism level(∑ cells)(∑ cells)
Cell levelCell level(∑ molecules)(∑ molecules)
Molecule levelMolecule level(∑ transistors = (∑ transistors =
FPGA)FPGA)MUX
COMP
MUX
d
ORG ORG
ORG ORG
c
b
a d
e
f
A C E
B D FORG
CELL
MO
LECULE
Multi-Cellular OrganizationMulti-Cellular OrganizationAn An organismorganism is an application-specific computing is an application-specific computing system, implemented as a two-dimensional array system, implemented as a two-dimensional array of simple processors (the of simple processors (the cellscells).).
Each Each cell cell executes a program, the executes a program, the genegene. All the . All the cells operate in parallel. Together, the cells operate in parallel. Together, the cellscells realize realize the desired application.the desired application.
CELLGENE
A C E
B D F2
1
1 2 3Y
X
O R G
Cellular DifferentiationCellular DifferentiationEach Each cell cell contains all the programs of all the cells contains all the programs of all the cells in the organism: the in the organism: the genomegenome..
Each Each cell cell executes executes oneone of the genes in the of the genes in the genome, depending on its spatial position in the genome, depending on its spatial position in the array, identified by a set of array, identified by a set of [X,Y] coordinates[X,Y] coordinates..
2
1
1 2 3
BA C
DEF
BA C
DEF
YX
BA C
DEF B
A CD
EF
BA C
DEFB
A CD
EF
OG: OPERATIVE GENOME EXPRESSED GENE
1 2 3
1
2 BA C
DEF
Cellular Self-RepairCellular Self-RepairThe capability for The capability for self-repair at the cellular levelself-repair at the cellular level is is a direct consequence of the coordinate system.a direct consequence of the coordinate system.
Since each Since each cell cell contains the entire genome, contains the entire genome, the the re-computation of the coordinatesre-computation of the coordinates automatically reassigns the tasks in the automatically reassigns the tasks in the array. No transfer of programs is necessary.array. No transfer of programs is necessary.
1
1
A
B D
C E
F
A
B
ORIGINAL ORG
DIRECTION OFSELF-REPAIR
2
SPARECELLS 1 2
A
B D
C E
F
3NEW ORGSCAR
KILL=1
KILL=1
NEW ORGY
X 2 3
Multi-Molecular OrganizationMulti-Molecular OrganizationA A cellcell, to be truly universal, must be , to be truly universal, must be adapted to the adapted to the applicationapplication. This versatility can be obtained by . This versatility can be obtained by breaking it down into simpler components: thebreaking it down into simpler components: the moleculesmolecules..
Each Each moleculemolecule is the element of a is the element of a field-field-programmable gate array (FPGA)programmable gate array (FPGA). The function . The function and the connections of the and the connections of the moleculemolecule are defined are defined by its by its molcodemolcode..
spare
spare
spare
c
b
a
e
f
d
MOLECULEMOLCODE
CELL
The MUXTREE MoleculeThe MUXTREE MoleculeOur Our moleculemolecule ( (MUXTREEMUXTREE) is a very fine-grained ) is a very fine-grained FPGA element, including all the "standard" FPGA element, including all the "standard" components.components.
The molcode is stored in a single 20-bit long The molcode is stored in a single 20-bit long shift shift registerregister (the (the configuration register CREGconfiguration register CREG).).
SB
MOLCODE[19:0]
FUFFD1 D
Q
NOUT
SEL
INPUT_SEL
MUXTREE
CREG
Molecular ConfigurationMolecular ConfigurationDuring configuration, all the configuration registers During configuration, all the configuration registers within a cell are within a cell are chainedchained together to form a single together to form a single long shift register.long shift register.
The The bordersborders of the cells, required for of the cells, required for self-self-replication replication are defined by the are defined by the space dividerspace divider, which , which also defines the also defines the spare columnsspare columns required for required for self-self-repairrepair..
b
a
c f
d
e
spare
spare
spare
MOLCODE
spareb
a
c
e
f
d
spare
spare d spare
CONFIGURATIONPATH
SPACE DIVIDER
CONFIGURATIONENTRY POINTS
SPARES
b
a
c f spare
e spare
The MUXTREE MoleculeThe MUXTREE MoleculeEvery Every cellcell must store the (large) must store the (large) genome programgenome program..
Unfortunately, the only Unfortunately, the only memory elementsmemory elements in the in the MUXTREE moleculeMUXTREE molecule are a single are a single D-type flip-flopD-type flip-flop and the and the configuration register CREGconfiguration register CREG..
SB
MOLCODE[19:0]
FUFFD1 D
Q
NOUT
SEL
INPUT_SEL
MUXTREE
CREG
The Genome MemoryThe Genome Memory
A "conventional" A "conventional" addressable memoryaddressable memory ( (ROMROM) is not ) is not suited to our architecture (decoding logic too large, suited to our architecture (decoding logic too large, incompatible storage).incompatible storage).
However, the However, the access patternaccess pattern of the genome of the genome program allows us to use a different kind of program allows us to use a different kind of memory, which we will call memory, which we will call cyclic memorycyclic memory. . Performance-wise, it is not efficient (jumps) but Performance-wise, it is not efficient (jumps) but the storage structure is perfectly suited to a the storage structure is perfectly suited to a shift-shift-registerregister implementation. implementation.
ADDRESS
DATA OUT
DATA OUT
Genome Memory: Genome Memory: ImplementationImplementation
X 0 INPUT SELECT[7:0] FU[2:0]SWITCH BLOCK[7:0]
0 1 DATA[7:0] MEM[2:0]SWITCH BLOCK[7:0]
1 1 DATA[15:0] MEM[2:0]
FF CREG[19:0]
A:
B:
C:
Our Our configuration register CREGconfiguration register CREG is a shift register. is a shift register.
And all the And all the connectionsconnections required for a cyclic required for a cyclic memory are memory are already in placealready in place for configuration for configuration and/or repair.and/or repair.
a
b
c d f g
k
j
ie h l
X31:16
X15:0
X63:48
X47:32
OUT
Y31:16
Y15:0
Y63:48
Y47:32
OUT
Z31:16
Z15:0
Z63:48
Z47:32
OUT
MUXTREE: Test & RepairMUXTREE: Test & RepairEvery component of a molecule Every component of a molecule shouldshould be tested be tested onlineonline..Unfortunately, this implies a staggering Unfortunately, this implies a staggering overheadoverhead..
Possible solution: test online the most Possible solution: test online the most activeactive parts parts (FU), offline the (FU), offline the staticstatic parts (CREG). parts (CREG). ConnectionsConnections are a major problem (testing a wire).are a major problem (testing a wire).
SB
MOLCODE [19:0]
FUFFD1 D
Q
NOUT
SEL
INPUT_SEL
FAULTFUFFD1 D
Q
NOUT
SEL
INPUT_SEL
MUXTREE
COMP
CREG
Testing at Configuration TimeTesting at Configuration TimeDuring configurationDuring configuration, the registers CREG can be , the registers CREG can be fully tested with a minimal amount of overhead.fully tested with a minimal amount of overhead.
The connections can be re-routed The connections can be re-routed on the flyon the fly, re-, re-distributing the functionality of the array.distributing the functionality of the array.
spareb
a
c
e
f
d
spare
spare
MOLCODE
spareb
a
c
e
f
d
spare
spare d spare
CONFIGURATIONPATH
SPACE DIVIDER
CONFIGURATIONENTRY POINTS
SPARES
FAULTY MOLECULE
b
a
c f spare
edead
Genome Memory: TestGenome Memory: Test
When used as memory, the registers CREG become When used as memory, the registers CREG become active parts of the circuit. They should be tested active parts of the circuit. They should be tested onlineonline..
DuplicationDuplication is a feasible, high-overhead is a feasible, high-overhead (redundancy) solution, inspired by the (redundancy) solution, inspired by the DNA’s DNA’s double helixdouble helix. .
0 1 DATA[7:0] MEM[2:0]~DATA[7:0]
FF CREG[19:0]
D:
COMP
ERR
Genome Memory: RepairGenome Memory: RepairTo To repairrepair a memory element, duplication is not a memory element, duplication is not sufficient. sufficient. TriplicationTriplication becomes necessary, becomes necessary, associated with a associated with a majority functionmajority function. .
The The overheadoverhead rapidly increases. rapidly increases.
Another option is to consider the fault Another option is to consider the fault non-non-repairablerepairable, and seek a , and seek a different (software) repair different (software) repair strategystrategy..
0 1 DATA[4:0] MEM[2:0]
FF CREG[19:0]
E:
COMPERR
DATA[4:0] DATA[4:0]
MAJ RECOVER
0
Self-Repair: the KILL SignalSelf-Repair: the KILL SignalFor practical reasons, the self-repair mechanism at For practical reasons, the self-repair mechanism at the the molecularmolecular level is level is limitedlimited. Too many faults too . Too many faults too close together (or a non-repairable fault) can close together (or a non-repairable fault) can overwhelm it.overwhelm it.
When such a failure occurs, the dying When such a failure occurs, the dying moleculemolecule sends a sends a KILLKILL signal that causes all the signal that causes all the moleculesmolecules in in a a columncolumn of of cellscells (defined by the (defined by the space dividerspace divider) to ) to diedie..
kill
spareb
a
c
e
f
d
spare
spare
kill
dead
KILL SIGNAL
kill
killkill
kill kill
dead spareb
a
c
e
f
d
spare
spare
Hierarchical Self-RepairHierarchical Self-RepairThe The KILLKILL signal at the signal at the molecularmolecular level is the level is the mechanism that allows the self-repair at the mechanism that allows the self-repair at the cellular cellular levellevel to work. to work.
∫
1
1
A
B D
C E
F
A
B
ORIGINAL ORG
DIRECTION OFSELF-REPAIR
2
SPARECELLS 1 2
A
B D
C E
F
3NEW ORGSCAR
KILL=1
KILL=1
NEW ORGY
X 2 3
kill
spareb
a
c
e
f
d
spare
spare
kill
dead
KILL SIGNAL
kill
killkill
kill kill
dead spareb
a
c
e
f
d
spare
spare
Self-Repair: the UNKILL processSelf-Repair: the UNKILL processThe majority of hardware faults in a digital circuit The majority of hardware faults in a digital circuit are are transienttransient, that is, disappear after a while., that is, disappear after a while.
As soon as As soon as cellularcellular self-repair is over, the dead self-repair is over, the dead molecularmolecular tissue attempts to tissue attempts to re-configure itselfre-configure itself. . This process is This process is completely invisiblecompletely invisible to the upper to the upper layers of the system, i.e. the organism keeps layers of the system, i.e. the organism keeps working.working.
spareb
a
c
e
f
d
spare
spare
spareb
a
c
e
f
d
spare
spare d spare
RE-CONFIGURATION PERMANENT FAULT
b
a
c f spare
edead
Hierarchical UNKILLHierarchical UNKILLIf a If a sufficient numbersufficient number of faults has disappeared, the of faults has disappeared, the column of column of cellscells "comes back to life" via an "comes back to life" via an UNKILLUNKILL process (very similar to the process (very similar to the KILLKILL process). process).
∫
1 2
A
B D
C E
F
3NEW ORGSCAR
KILL=1
KILL=1
NEW ORG
1
A
B D
C E
F
A
B
ORIGINAL ORG SPARECELLS2 3
1
DIRECTIONOF UNKILL
2
Y
X
spareb
a
c
e
f
d
spare
spare
spareb
a
c
e
f
d
spare
spare d spare
RE-CONFIGURATION PERMANENT FAULT
b
a
c f spare
edead
ConclusionsConclusions Ontogenetic systems are necessarily Ontogenetic systems are necessarily largelarge
and operate over and operate over long periodslong periods. . Fault Fault tolerancetolerance is a must both for the logic and is a must both for the logic and for the memories, independently of their for the memories, independently of their implementation , and implementation , and transient faultstransient faults cannot be ignored.cannot be ignored.
Fault tolerance implies Fault tolerance implies overheadoverhead (hardware or software). How much (hardware or software). How much overhead is acceptable? What is the overhead is acceptable? What is the overhead in nature?overhead in nature?
Hardware testingHardware testing (proteins within a cell) is (proteins within a cell) is notnot sufficient: higher-level sufficient: higher-level software testing software testing (immune system?) must aid the hardware.(immune system?) must aid the hardware.