Title: The%204%20levels%20of%20Embryonics
1(No Transcript)
2The 4 levels of Embryonics
- Population level
- (? organisms)
- Organism level
- (? cells)
- Cell level
- (? molecules)
- Molecule level
- (? transistors FPGA)
3Multi-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.
4Cellular 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.
5Cellular 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.
6Multi-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.
7The 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).
8Molecular 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.
9The 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.
10The 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.
11Genome Memory Implementation
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.
12MUXTREE 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).
13Testing 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.
14Genome 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 DNAs
double helix.
15Genome 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.
16Self-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.
17Hierarchical Self-Repair
The KILL signal at the molecular level is the
mechanism that allows the self-repair at the
cellular level to work.
?
18Self-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.
19Hierarchical 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).
?
20Conclusions
- 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.