The "art" of programming gossip-based systems

How does one best go about building actual gossip-based protocols? Trying to answer this question has brought us to address two preliminary questions, namely (1) what the intrinsics of such systems or protocols are, and (2) what kind of applications would in the end be built on top of such protocols. We address the first question by arguing that gossip-based protocols are all built following one and the same pattern, and describing three building blocks which we claim are used to support this recurrent pattern---most notably a source of randomness. We validate these claims by devising simplified versions of well-known protocols, in a layered fashion, on top of a conceptual interface describing these basic services. The second question is addressed by arguing that gossip-based protocols exhibit some probabilistic or imperfect flavor (e.g., probabilistic or partial completion), and by proposing to take such probabilistic behavior into account when devising interfaces for applications building on top of gossip-based protocols. We argue for inherent support for these probabilities in the programming model.

[1]  Dahlia Malkhi,et al.  Estimating network size from local information , 2003, Information Processing Letters.

[2]  Rachid Guerraoui,et al.  -Reliable Broadcast: A Probabilistic Measure of Broadcast Reliability , 2004, ICDCS 2004.

[3]  Davide Ancona,et al.  A core calculus for Java exceptions , 2001, OOPSLA '01.

[4]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[5]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[6]  B. Bollobás The evolution of random graphs , 1984 .

[7]  P. Erdos,et al.  On the evolution of random graphs , 1984 .

[8]  Jared Saia,et al.  Choosing a random peer , 2004, PODC '04.

[9]  Anne-Marie Kermarrec,et al.  Peer to peer size estimation in large and dynamic networks: A comparative study , 2006, 2006 15th IEEE International Conference on High Performance Distributed Computing.

[10]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[11]  Anne-Marie Kermarrec,et al.  Efficient epidemic-style protocols for reliable and scalable multicast , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[12]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[13]  Paolo Costa,et al.  Epidemic algorithms for reliable content-based publish-subscribe: an evaluation , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[14]  Richard M. Karp,et al.  Randomized rumor spreading , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[15]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[16]  Robbert van Renesse,et al.  A Gossip-Style Failure Detection Service , 2009 .

[17]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[18]  Jie Wu Handbook on Theoretical and Algorithmic Aspects of Sensor, Ad Hoc Wireless, and Peer-to-Peer Networks , 2005 .

[19]  Kenneth P. Birman,et al.  Bimodal multicast , 1999, TOCS.

[20]  Anne-Marie Kermarrec,et al.  The Peer Sampling Service: Experimental Evaluation of Unstructured Gossip-Based Implementations , 2004, Middleware.

[21]  Maarten van Steen,et al.  CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays , 2005, Journal of Network and Systems Management.

[22]  Indranil Gupta,et al.  Scalable fault-tolerant aggregation in large process groups , 2001, 2001 International Conference on Dependable Systems and Networks.

[23]  Indranil Gupta,et al.  Decentralized Schemes for Size Estimation in Large and Dynamic Groups , 2005, Fourth IEEE International Symposium on Network Computing and Applications.

[24]  Anne-Marie Kermarrec,et al.  Probabilistic Reliable Dissemination in Large-Scale Systems , 2003, IEEE Trans. Parallel Distributed Syst..