Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "“Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010."— Presentation transcript:

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

2 The 4 levels of Embryonics Population level (∑ organisms) Organism level (∑ cells) Cell level (∑ molecules) Molecule level (∑ transistors = FPGA)

3 Multi-Cellular Organization An organism is an application-specific computing system, implemented as a two-dimensional array of simple processors (the cells). Each cell executes a program, the gene. All the cells operate in parallel. Together, the cells realize the desired application.

4 Cellular Differentiation Each cell contains all the programs of all the cells in the organism: the genome. Each cell executes one of the genes in the genome, depending on its spatial position in the array, identified by a set of [X,Y] coordinates.

5 Cellular Self-Repair The capability for self-repair at the cellular level is a direct consequence of the coordinate system. Since each cell contains the entire genome, the re- computation of the coordinates automatically reassigns the tasks in the array. No transfer of programs is necessary.

6 Multi-Molecular Organization A cell, to be truly universal, must be adapted to the application. This versatility can be obtained by breaking it down into simpler components: the molecules. Each molecule is the element of a field-programmable gate array (FPGA). The function and the connections of the molecule are defined by its molcode.

7 The MUXTREE Molecule Our molecule (MUXTREE) is a very fine-grained FPGA element, including all the "standard" components. The molcode is stored in a single 20-bit long shift register (the configuration register CREG).

8 Molecular Configuration During configuration, all the configuration registers within a cell are chained together to form a single long shift register. The borders of the cells, required for self-replication are defined by the space divider, which also defines the spare columns required for self-repair.

9 The MUXTREE Molecule Every cell must store the (large) genome program. Unfortunately, the only memory elements in the MUXTREE molecule are a single D-type flip-flop and the configuration register CREG.

10 The Genome Memory A "conventional" addressable memory (ROM) is not suited to our architecture (decoding logic too large, incompatible storage). However, the access pattern of the genome program allows us to use a different kind of memory, which we will call cyclic memory. Performance-wise, it is not efficient (jumps) but the storage structure is perfectly suited to a shift-register implementation.

11 Genome Memory: Implementation X0 INPUT SELECT[7:0]FU[2:0]SWITCH BLOCK[7:0] 01 DATA[7:0]MEM[2:0]SWITCH BLOCK[7:0] 11 DATA[15:0]MEM[2:0] FFCREG[19:0] A: B: C: Our configuration register CREG is a shift register. And all the connections required for a cyclic memory are already in place for configuration and/or repair.

12 MUXTREE: Test & Repair Every component of a molecule should be tested online. Unfortunately, this implies a staggering overhead. Possible solution: test online the most active parts (FU), offline the static parts (CREG). Connections are a major problem (testing a wire).

13 Testing at Configuration Time During configuration, the registers CREG can be fully tested with a minimal amount of overhead. The connections can be re-routed on the fly, re- distributing the functionality of the array.

14 Genome Memory: Test When used as memory, the registers CREG become active parts of the circuit. They should be tested online. Duplication is a feasible, high-overhead (redundancy) solution, inspired by the DNA’s double helix. 01 DATA[7:0]MEM[2:0]~DATA[7:0] FFCREG[19:0] D: COMP ERR

15 Genome Memory: Repair To repair a memory element, duplication is not sufficient. Triplication becomes necessary, associated with a majority function. The overhead rapidly increases. Another option is to consider the fault non-repairable, and seek a different (software) repair strategy. 01 DATA[4:0] MEM[2:0] FFCREG[19:0] E: COMP ERR DATA[4:0] MAJ RECOVER 0

16 Self-Repair: the KILL Signal For practical reasons, the self-repair mechanism at the molecular level is limited. Too many faults too close together (or a non-repairable fault) can overwhelm it. When such a failure occurs, the dying molecule sends a KILL signal that causes all the molecules in a column of cells (defined by the space divider) to die.

17 Hierarchical Self-Repair The KILL signal at the molecular level is the mechanism that allows the self-repair at the cellular level to work. 

18 Self-Repair: the UNKILL process The majority of hardware faults in a digital circuit are transient, that is, disappear after a while. As soon as cellular self-repair is over, the dead molecular tissue attempts to re-configure itself. This process is completely invisible to the upper layers of the system, i.e. the organism keeps working.

19 Hierarchical UNKILL If a sufficient number of faults has disappeared, the column of cells "comes back to life" via an UNKILL process (very similar to the KILL process). 

20 Conclusions  Ontogenetic systems are necessarily large and operate over long periods. Fault tolerance is a must both for the logic and for the memories, independently of their implementation, and transient faults cannot be ignored.  Fault tolerance implies overhead (hardware or software). How much overhead is acceptable? What is the overhead in nature?  Hardware testing (proteins within a cell) is not sufficient: higher-level software testing (immune system?) must aid the hardware.


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

Similar presentations


Ads by Google