Author_Institution :
IRISA, Univ. de Rennes 1, Rennes, France
Abstract :
Chemical computing was initially proposed as an intuitive paradigm to capture the essence of parallel computing. Within such a model, a program is a solution of information-carrying molecules, that, at run time, collide non-deterministically to produce new data. Such a paradigm allowed the programmers to focus on the logic of the problem to be solved in parallel, without having to worry about implementation´s considerations. Throughout the years, the model has been enriched with various features related to program structure, control and practicability. More importantly, the model was raised to the higher order, increasing again its expressiveness. With the rise of service-oriented computing, such models have recently regained a lot of interest. They have been shown to provide adequate abstractions to enhance service-oriented architectures with autonomic properties such as self-adaptation, self-healing, or self-organisation. However, the deployment of chemical programs over large scale distributed platforms is still a widely open problem, hindering the model to be leveraged in practice. This paper studies the possibility of building a distributed execution environment for chemical programs. A generic peer-to-peer-based runtime model and distributed algorithms for large scale chemical computing are discussed. To complete this study, a software prototype was developed and experimented over the Grid´5000 test-bed. Experimental performance results are detailed, allowing for a discussion of the feasibility and performance of such a runtime, thus lifting a barrier towards the enactment of the chemical programming model.
Keywords :
chemistry computing; parallel processing; peer-to-peer computing; service-oriented architecture; Grid´5000 test-bed; chemical computing; chemical programming model; distributed algorithms; distributed execution environment; information-carrying molecules; large scale distributed platforms; parallel computing; peer-to-peer-based runtime model; program control; program structure; service-oriented architectures; Chemicals; Computational modeling; Parallel processing; Program processors; Prototypes; Routing; Runtime;