A Protocol for the Atomic Capture of Multiple Molecules on Large Scale Platforms

  • Marin Bertier
  • Marko Obrovac
  • Cédric Tedeschi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7129)


With the rise of service-oriented computing, applications are more and more based on coordination of autonomous services. Envisioned over largely distributed and highly dynamic platforms, expressing this coordination calls for alternative programming models. The chemical programming paradigm, which models applications as chemical solutions where molecules representing digital entities involved in the computation, react together to produce a result, has been recently shown to provide the needed abstractions for autonomic coordination of services.

However, the execution of such programs over large scale platforms raises several problems hindering this paradigm to be actually leveraged. Among them, the atomic capture of molecules participating in concurrent reactions is one of the most significant.

In this paper, we propose a protocol for the atomic capture of these molecules distributed and evolving over a large scale platform. As the density of possible reactions is crucial for the liveness and efficiency of such a capture, the protocol proposed is made up of two sub-protocols, each of them aimed at addressing different levels of densities of potential reactions in the solution. While the decision to choose one or the other is local to each node participating in a program’s execution, a global coherent behaviour is obtained. Proof of liveness, as well as intensive simulation results showing the efficiency and limited overhead of the protocol are given.


Mutual Exclusion Distribute Hash Table Switch Threshold Chemical Program Reaction Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dittrich, P., Ziegler, J., Banzhaf, W.: Artificial chemistries – a Review. Artificial Life 7, 225–275 (2001)CrossRefGoogle Scholar
  2. 2.
    Viroli, M., Zambonelli, F.: A Biochemical Approach to Adaptive Service Ecosystems. Information Sciences (2009)Google Scholar
  3. 3.
    Banâtre, J.-P., Priol, T.: Chemical Programming of Future Service-oriented Architectures. Journal of Software 4 (2009)Google Scholar
  4. 4.
    Banâtre, J.-P., Coutant, A., Le Metayer, D.: A parallel Machine for Multiset Transformation and its Programming Style. Future Gener. Comput. Syst. 4, 133–144 (1988)CrossRefGoogle Scholar
  5. 5.
    Lamport, L.: Ti clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefzbMATHGoogle Scholar
  6. 6.
    Banâtre, J.-P., Fradet, P., Radenac, Y.: Generalised Multisets for Chemical Programming. Mathematical Structures in Computer Science 16 (2006)Google Scholar
  7. 7.
    Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. In: SIGCOMM, pp. 149–160 (2001)Google Scholar
  8. 8.
    Rowstron, A., Druschel, P.: Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems. In: Liu, H. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Schmidt, C., Parashar, M.: Squid: Enabling search in dht-based systems. J. Parallel Distrib. Comput. 68(7), 962–975 (2008)CrossRefzbMATHGoogle Scholar
  10. 10.
    Schneider, F.B.: Implementing Fault-Tolerant Services Using the State Machine Approach: a Tutorial. ACM Comput. Surv. 22 (1990)Google Scholar
  11. 11.
    Lynch, N.A., Malkhi, D., Ratajczak, D.: Atomic Data Access in Distributed Hash Tables. In: Druschel, P., Kaashoek, M.F., Rowstron, A. (eds.) IPTPS 2002. LNCS, vol. 2429, pp. 295–305. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Skeen, D., Stonebraker, M.: A Formal Model of Crash Recovery in a Distributed System. IEEE Transactions on Software Engineering SE-9(3) (1983)Google Scholar
  13. 13.
    Lampson, B.W., Sturgis, H.E.: Crash recovery in a distributed data storage system (1979)Google Scholar
  14. 14.
    Huang, L., Tong, W., Kam, W., Sun, Y.: Implementation of gamma on a massively parallel computer. Journal of Computer Science and Technology 12, 29–39 (1997)CrossRefzbMATHGoogle Scholar
  15. 15.
    Lin, H., Kemp, J., Gilbert, P.: Computing Gamma Calculus on Computer Cluster. IJTD 1(4), 42–52 (2010)Google Scholar
  16. 16.
    Sanders, B.A.: The information structure of distributed mutual exclusion algorithms. ACM Transactions on Computer Systems 5(3), 284–299 (1987)CrossRefGoogle Scholar
  17. 17.
    Chandy, K.M., Misra, J.: The drinking philosophers problem. ACM Transactions on Programming Languages and Systems 6(4), 632–646 (1984)CrossRefGoogle Scholar
  18. 18.
    Raynal, M.: A Distributed Solution to the k-out of-M Resources Allocation Problem. In: Dehne, F., Fiala, F., Koczkodaj, W.W. (eds.) ICCI 1991. LNCS, vol. 497, pp. 599–609. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  19. 19.
    Fernandez, H., Priol, T., Tedeschi, C.: Decentralized approach for execution of composite web services using the chemical paradigm. In: ICWS, pp. 139–146 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Marin Bertier
    • 1
  • Marko Obrovac
    • 1
  • Cédric Tedeschi
    • 1
  1. 1.IRISA / INRIAFrance

Personalised recommendations