“politehnica” university of timisoara course no. 3: project e mbryonics evolvable systems winter...

20
Politehnica” University of Timisoara Politehnica” University of Timisoara Course No. 3: Course No. 3: Project E Project E MBRYONICS MBRYONICS Evolvable Systems Evolvable Systems Winter Semester 2010 Winter Semester 2010

Upload: matilda-green

Post on 18-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

““Politehnica” University of TimisoaraPolitehnica” University of Timisoara

Course No. 3:Course No. 3:

Project EProject EMBRYONICSMBRYONICS

Evolvable SystemsEvolvable Systems

Winter Semester 2010Winter Semester 2010

Page 2: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter 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

Page 3: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 4: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 5: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 6: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 7: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 8: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 9: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 10: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 11: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 12: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 13: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 14: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 15: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 16: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 17: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 18: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 19: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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

Page 20: “Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

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.