![]() |
The Blob computing
project
|
|||||||||||||
|
|
1st
system level Blob Division on a cellular automata
|
2nd
programmable level Self Developping and self mapping netword
|
In the first system level a local rule (pre-programmed) can maintain global connected regions called blobs. A blob is similar to a deformable elastic balloon filled with a gas of particles. Each hardware processing element can host one particle. Blobs can also be interconnected. The rule can cause Blobs to move, duplicate or delete themselves. The rule can also propagate signals intra-blob, or inter-blob, like wave. |
|
In the second programmable level each particle contains an elementary piece of data and code, and can receive, process or send signals. The set of particles contained in a given blob encodes a user-programmed finite state automaton with output action (i.e machine instruction) including duplicate-blob, delete-blob, duplicate-link, delete-link. Execution starts with a single ancestor blob that divides repeatedly, and generates a network of blobs. The blob is designed to be a generic distributed-computing primitive installing a higher level virtual machine on top of a low level uniform computing medium. This virtual machine called "self developing automata network" has a number of properties with respect to parallelism. Moreover, its language has been used in machine learning, since 1992 under the name of "cellular encoding". |
The
following overview summerizes the project
challenges. We present the motivation, and state of the art. Next, we outline
"self developing automata network" by listing its specific features that ensure
programmability, parallelization, and performance. The fine grain blob machine
is presented last, as the most promising option to fit self-development, while
allowing scalability.