Distributed Chemical Computing: A Feasibility Study
Marko Obrovac and Cedric Tedeschi
Chemical Programming was born to fill the lack of naturally parallel languages. In such a paradigm, a computation is envisioned as a solution of information-carrying molecules colliding non-deterministically. On collisions, new molecules, and thus new data, are produced. With the rise of service-oriented computing, such models have recently regained momentum, and have been shown to be an adequate means to express the dynamic coordination of services in an autonomic fashion.
However, the execution of programs written following this model at large scale is still a widely open problem, hindering it to be actually leveraged. This paper studies the possibility of building a distributed execution environment for chemical programs. A runtime model and algorithms to distribute the runtime of chemical programs are proposed on top of a peer-to-peer environment. The theoretical analysis as well as the experimental campaign conducted on a first prototype establish the viability of the framework proposed, thus lifting a barrier towards the full adoption of the chemical model.
Keywords: Distributed systems, unconventional computing models, chemical programming model, runtime, P2P, DHT