Gianluca Tempesti, Daniel Mange, AndrŽ Stauffer
Logic Systems Laboratory
Swiss Federal Institute of Technology (EPFL)Summary
A human being consists of approximately 60 trillion (60x1012) cells. At each instant, in each of these 60 trillion cells, the genome, a ribbon of 2 billion characters, is decoded to produce the proteins needed for the survival of the organism. This genome contains the ensemble of the genetic inheritance of the individual and, at the same time, the instructions for both the construction and the operation of the organism. The parallel execution of 60 trillion genomes in as many cells occurs ceaselessly from the conception to the death of the individual. Faults are rare and, in the majority of cases, successfully detected and repaired. This process is remarkable for its complexity and its precision, and is undoubtedly one of the most remarkable examples of autonomic computing to be observed in nature.
The "architecture" used by most living beings, to use a term familiar to computer science, is based on multicellular organization, which divides the organism into a finite number of cells, each realizing a unique function (neuron, muscle, intestine, etc.). The same organism can contain multiple cells of the same kind, and all cells contain all the genetic material (the genome) of the organism. This organization, together with its mechanisms of cellular division and differentiation, is the source of inspiration for the Embryonics (embryonic electronics) project.
The project aims at the development of extremely large, totally distributed computing systems capable of self-organization (via mechanisms inspired by cellular division and growth) and of self-repair (via mechanisms inspired by the cicatrization process in multicellular organisms). The main features of the project have been verified with a large-scale prototype, the BioWall (http://lslwww.epfl.ch/biowall), a programmable computing surface consisting of several thousand "electronic molecules", each containing an input unit (a touch-sensitive surface), an output unit (a LED matrix), and a Xilinx FPGA.