1 / 20

The 4 levels of Embryonics

The 4 levels of Embryonics. Population level (∑ organisms) Organism level (∑ cells) Cell level (∑ molecules) Molecule level (∑ transistors = FPGA). Multi-Cellular Organization.

erwin
Download Presentation

The 4 levels of Embryonics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: themolecules. Each moleculeis 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 FF CREG[19:0] A: X 0 INPUT SELECT[7:0] SWITCH BLOCK[7:0] FU[2:0] 0 1 DATA[7:0] SWITCH BLOCK[7:0] MEM[2:0] B: 1 1 DATA[15:0] MEM[2:0] 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 FF CREG[19:0] 0 1 DATA[7:0] ~DATA[7:0] MEM[2:0] D: COMP ERR 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.

  15. Genome Memory: Repair FF CREG[19:0] 0 DATA[4:0] DATA[4:0] 0 1 DATA[4:0] MEM[2:0] E: COMP MAJ ERR RECOVER 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.

  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.

More Related