Practical Impact of Group Communication Theory [chapter]

André Schiper
2003 Lecture Notes in Computer Science  
Group communication is nowadays a well established topic in distributed computing. It emerged over the years as a topic with a strong synergy between theory and practice: group communication is highly relevant for building distributed systems, and is also of theoretical importance, because of the difficult problems it addresses. The paper presents an -inevitably subjective -retrospective of the main milestones that led to our current understanding of group communication, with the focus on
more » ... tical contributions of practical relevance. Some open issues are discussed at the end of the paper. What is theory? In the context of group communication, theoretical contributions can be defined as contributions to abstractions and paradigms, contributions to system models and problem specifications, and of course contributions to algorithms. What is of practical importance in the context of group communication? We can mention efficiency, clean structure (or architecture) of the system, flexibility of the system, correctness, and clear understanding of the properties of the system. Efficiency is clearly important: no one would like to have an inefficient group communication system. Algorithms and paradigms may contribute to efficiency: a new algorithm, or the application of a new paradigm, may increase efficiency. Abstractions and algorithms contribute to a clean and flexible architecture of the system. Consider for example atomic broadcast. The algorithm in [1.11] solves atomic broadcast by reduction to consensus. This identifies consensus as a key abstraction, and directly influences the architecture of a group communication system by introducing a consensus component. A system with an architecture that reflects key algorithmic abstractions has more chance to be flexible, i.e., adaptable to a changing environment. Correctness, which obviously is of practical importance, is related to specifications (what is the system supposed to do), to system models (what are the assumptions about the system) and to algorithms (which are proven to meet a given specification in a given system model). Clear understanding of the properties of the system can be seen as a subset of correctness. When a system is deployed, it is important to know the conditions under which the system can deliver the services it is supposed to provide. This requires understanding of the specifications of the system, of the system models and algorithms, and also of theoretical results (e.g., the FLP impossibility result [1.26], or the result about the weakest failure detector for solving consensus [1.10]). To summarize, the retrospective addresses the practical impact of group communication theory by focusing on key contributions to abstractions, algorithms, paradigms,
doi:10.1007/3-540-37795-6_1 fatcat:uxnuulm2c5ctbiktwjbkjsen6q