One reasonable categorization of coordination models is into data sharing or message passing, based on whether the information necessary to coordination is persistently stored and shared, or instead is only transiently available during communication. Generally speaking, approaches based on data sharing are more expressive and provide full decoupling in space and time. The alternative approach requires the simultaneous presence of the coordinated parties, but is typically more scalable. Prominent examples are, respectively, tuple spaces and publish-subscribe. An open research question is whether it is possible to exploit in synergy the best of these two approaches, e.g. by implementing the more complex data sharing coordination on top of the more lightweight message passing one. In this paper, we seek an answer to this question in a pragmatic way: we analyze an implementation of the Lime tuple space middleware on top of REDS, an open source publish-subscribe system. Our implementation-driven style of investigation forces us to face details that do not surface when reasoning in the abstract about the nature and expressiveness of the models. We report about lessons we learned in this experience, and propose an extension to the publish-subscribe model that, albeit useful per se, constitutes a more effective foundation for data sharing coordination models.
Data Sharing vs. Message Passing: Synergy or Incompatibility? An Implementation-Driven Case Study
Ceriotti, Matteo;Murphy, Amy Lynn;Picco, Gian Pietro
2008-01-01
Abstract
One reasonable categorization of coordination models is into data sharing or message passing, based on whether the information necessary to coordination is persistently stored and shared, or instead is only transiently available during communication. Generally speaking, approaches based on data sharing are more expressive and provide full decoupling in space and time. The alternative approach requires the simultaneous presence of the coordinated parties, but is typically more scalable. Prominent examples are, respectively, tuple spaces and publish-subscribe. An open research question is whether it is possible to exploit in synergy the best of these two approaches, e.g. by implementing the more complex data sharing coordination on top of the more lightweight message passing one. In this paper, we seek an answer to this question in a pragmatic way: we analyze an implementation of the Lime tuple space middleware on top of REDS, an open source publish-subscribe system. Our implementation-driven style of investigation forces us to face details that do not surface when reasoning in the abstract about the nature and expressiveness of the models. We report about lessons we learned in this experience, and propose an extension to the publish-subscribe model that, albeit useful per se, constitutes a more effective foundation for data sharing coordination models.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.