Amorphous computing - Lorentz Center

8 downloads 173 Views 1MB Size Report
A Deepness in the Sky by Vernor Vinge, 1999. Device Miniaturization. ○ Technology allows producing very small energy efficient processors (MEMS, NEMS) ...
Institute of Computer Science Academy of Sciences of the Czech Republic

Amorphous Computing: A Research Agenda for the Near Future Jiří Wiedermann & Lukáš Petrů Academy of Sciences Charles University Prague, CZ Partially supported by grant 1ET100300517 and Czech NSF grant P202/10/1333

Motivation Scientific fiction: • •

The Black Cloud by Fred Hoyle, 1957 A Deepness in the Sky by Vernor Vinge, 1999

Device Miniaturization Technology allows producing very small energy efficient processors (MEMS, NEMS) equipped by sensors, transmitters and a power source z They can be built in large numbers → Wireless (sensor) networks → Amorphous computers (Smart Dust) z

Cellular engineering •

Synthetic biology (Biots)

Computability theory • •

What is the simplest universal computing device?

A collection (of order at least millions) of computational particles dispersed irregularly on a surface or throughout a volume creating a self-organizing computing network Particles: • have no a priori knowledge about their positions, no identifiers • are possibly faulty, contain sensors and effectors, might be mobile • are not synchronized but operate at the same speed • are identically programmed Each particle: • has energy source, modest computing power and modest amount of memory, random number generator, plus sender/receiver apparatus • Can communicate only with nearby neighbors (via radio, chemically, optically, acoustically,…) • communication is unreliable, no assurance of message delivery

The Scale

..

m

1/1000

mm 1/1000 μm 1/1000 nm MEMS

NEMS

Å

Possible applications: • • • • • • • • • •

Traffic control, people and item tracking in buildings, monitoring plant yield in agriculture, environment monitoring, weather forecast, ocean, atmosphere and underwater flow, intruder detection, battle field surveillance, artificial immune systems in the blood stream, space prospecting, etc.

Amorphous Computer

A bag containing a large number of computing elements

Amorphous Computer

Amorphous Computer

Amorphous Computer

A simple model: synchronous static amorphous computer • identical processors, no identifiers, modeled by finite automata

• the nodes communicate via a single channel radio with each other only within a bounded distance • the nodes are synchronized Assumptions: • a uniformly distributed set of processors in a bounded area • no “big holes” in the actual distribution of nodes • the number of neighbors of a node is bounded by a fixed constant Experiment: wave propagation

Simulating a two-dimensional cellular automaton: • establish a regular 2D grid consisting of so-called virtual cells over the nodes of the amorphous computer

• in one round simulate one (parallel) step of a cellular automaton by letting the nodes in each virtual cell communicate with the nodes from the neighboring virtual cells • Rows and columns formation in an amorphous computer:

Grid formation with node density 20:

Theorem : Any n × n cellular automaton can be simulated by a synchronous amorphous computer with “no-holes” property of size O(n × n) nodes with a constant slow-down.

A more realistic model: asynchronous AC Local clock, not synchronized with other nodes

z

Radio Transceiver

Random number

z

No identifiers

zRadio

… Control unit Registers Size O(log N) bits

A node of an amorphous computer

transceiver: z single channel z limited range r z No collision detection (a node cannot distinguish the case of no broadcasting from the case of two or more nodes broadcasting simultaneously)

Random Topology When the node topology is random, what are the necessary conditions for the communication among nodes to work? For low densities, majority of nodes will be isolated

Random Topology Node density: average number of nodes in the communication area of one node: d=Nπr²/a where a is the size of A For medium densities, there will be many fixedsizes components

Random Topology For high densities, above so-called percolation threshold, one large component containing almost all nodes will emerge

High density

Experiments: d=6 gives components of size ~0.5N in 98% of cases

Important properties of random communication graphs z

Connectivity: one large connected component (“giant component”) containing majority of nodes (a density above percolation threshold is needed)

z

Small diameter; asymptotically, D=√N (verified experimentally)

z

Bounded node degree; asymptotically, deg=~logN/loglog N with probability ~1/N (proved analytically)

Jungle telegraph

• No synchronization

• no addresses • no sense of direction • no collision detection

A tomtom

Protocol Send

for transmitting a message to node’s neighbours The key idea: - realize the previous jungle telegraph, i.e., – send sporadically (in order to avoid broadcast conflicts), – repeat sending a few times (increases the probability of errorfree message receiving) Theorem: Let ε >0, let Q be the number of neighbours of a node X. Then if the same message is repeatedly Q log (1/ε) times sent by X each time with probability 1/(Q+1) , then at least one of the neighbours of X will receive the message with probability 1- ε. The above protocol SEND can easily be extended to protocol FLOOD delivering a message to any node in the network: each node that receives a new message “resends” it further using SEND , but only once.

Simulating a RAM

Assumptions: z The simulating AC has one large connected component of size N of diameter D and maximum neighborhood size Q containing the base station z The nodes are used as RAM registers while RAM accumulators are in the base station z The simulation is controlled by the base station where the RAM program also resides Simulation consists of three phases: 1. Address assignment using the random no. generators in nodes 2. Input reading and register initialization – via the base node 3. Simulation – using protocol FLOOD from communication between the nodes with the respective addresses

The complexity of simulation: •

• • •

Theorem: a unit-cost RAM of time complexity T(n) and space complexity S(n) can be simulated by an amorphous computer of size N>2S(n) in time • O(T(n) D Q log(2NT(n)/ε)), with probability of failure at most ε D – network diameter Q – neighbourhood size

Remark: our AC is a non-uniform model

Communicating mobile nano-machines Nano-machines

• molecular cell-sized devices or engineered organisms • produced by self-assembly or self-replication • capable of performing simple tasks such as actuation and sensing Communication

Molecular

Conventional

Carrier

Molecule

Electromagnetic waves

Signal type

Chemical

Digital

Propagation

Slow (by diffusion)

Fast (light speed)

Environment

Aqueous

Airborne or cable

Energy costs

Low

High

Reliability

Low (stochastic)

High accuracy

Computational/Communication Scenario: • A finite number of nanomachines freely moving (actively or passively) in a closed liquid environment

Sender Sender

• no external control • interaction via molecular communication

Receiver Sender

Nano-machine Computational Model Timed probabilistic finite-state automaton – • each transition has a probability value and a timer assigned determining the likelihood that the transition occurs and the time at which it does so; • a timer can be reset by a transition and since that time the timer starts running A biomolecular realization of probabilistic automata has been described, e.g., in Adar R., Benenson Y., Linshiz G., Rozner A, Tishby N., Shapiro E.: Stochastic computing with biomolecular automata. Proc. Natl. Acad. Sci. USA, 101, pp. 9960-65, 2004 Open: biomolecular timer realization

Distributed computing through nano-machines Idea: • represent the input in unary, i.e., each machines reads a symbol from {0,1} via a special sensor and stores it in its state • simulate a so-called counter machine:

Elementary operations: • add and subtract 1 • test for zero

Theorem: a nanonet can correctly simulate a counter machine with a high probability

Flying amorphous computer Model: the same as in the case of a static asynchronous amorphous computer (“a RAM with distributed registers”), but this time the nodes are mobile. The nodes move in a square area in random directions, with a constant speed, bouncing when reaching a boundary: Obviously, protocol SEND will also work in this case, but FLOOD need not work at all, because there is a new kind of problems: A node’s temporal inaccessibility…

Broadcasting in a flying amorphous computer

We say that a flying amorphous computer is a lively flying computer if any of its nodes cannot stay isolated (unreachable) from other nodes for an infinite time. That is, for any node the following property holds: if a message is repeatedly broadcast from that node then after a finite time the message will reach all other nodes. No upper bound on the time complexity for actions of lively flying amorphous computers can be given Theorem: A RAM with n registers can be correctly simulated by a properly initialized lively flying amorphous computer with O(n) nodes in a finite time.

Conclusion We have … z

z z

z

Introduced a new class of computing devices: amorphous computers inspired both by nature and scientific imagination Shown the universal computing power of families of such computers Members of the respective families (multisets of embodied finite automata) are among the simplest computational devices possessing universal computing power A further research is needed to better understand the paradigm of amorphous computing

References: L. Petru: Universality in Amorphous Computing. PhD Dissertation Thesis (submitted). Dept. of Math. and Physics, Charles University, Prague, 2009 J. Wiedermann, L. Petru: Computability in Amorphous Structures. In: Proc. CiE 2007, Computation and Logic in the Real World. LNCS Volume 4497, Springer, pp. 781--790, July 2007 J. Wiedermann, L. Petru: Communicating Mobile Nano-Machines and Their Computational Power. In: Third International ICST Conference, NanoNet 2008, Boston, MA, USA, September 14-16, 2008, Revised Selected Papers, LNICST Vol. 3, Part 2, Springer, pp. 123-130, 2009. J. Wiedermann, L. Petru: On the Universal Computing Power of Amorphous Computing Systems. Theory of Computing Systems 46:4 (2009), 995-1010, www.springerlink.com/content/k2x6266k78274m05/fulltext.pdf