Structural Complexity and Execution Efficiency of Distributed Application Protocols

The complexity and efficiency aspects of a distributed application protocol (e.g., replicated data access) are often intertwined with the application-specific communication requirements between protocol entities and the underlying primitives for message broadcasting. For instance, the choice between recovery by application from a mis-ordered message delivery versus providing message ordering property in the communication layer (CL) is based on tradeoffs between protocol complexity and efficiency. The paper systematically analyzes these tradeoffs with respect to message ordering and atomicity properties in broadcast communication. Enforcing these properties in the CL leads to uniform communication structure of applications; however, the CL incurs message and execution time overhead due to extensive communication state (e.g., message buffering). When these properties are not supported by CL but are required for an application, mechanisms to enforce it are built into the application protocol, thereby increasing complexity in the protocol structure. Detailed examples of applications are given to illustrate these tradeoffs. The analysis is useful in designing communication primitives and application protocols for distributed systems.

[1]  K. Ravindran,et al.  A Distributed Kernel Model for Reliable Group Communication , 1986, RTSS.

[2]  Richard D. Schlichting,et al.  Preserving and using context information in interprocess communication , 1989, TOCS.

[3]  Willy Zwaenepoel,et al.  Distributed process groups in the V Kernel , 1985, TOCS.

[4]  K. Ravindran,et al.  A Flexible Causal Broadcast Communication Interface for Distributed Applications , 1992, J. Parallel Distributed Comput..

[5]  K. Ravindran,et al.  Extraction of logical concurrency in distributed applications , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[6]  Paulo Veríssimo,et al.  xAMp: a multi-primitive group communications service , 1992, [1992] Proceedings 11th Symposium on Reliable Distributed Systems.

[7]  Kenneth P. Birman,et al.  Exploiting virtual synchrony in distributed systems , 1987, SOSP '87.

[8]  Baruch Awerbuch,et al.  Reliable broadcast protocols in unreliable networks , 1986, Networks.

[9]  Virgil D. Gligor,et al.  A Fault-Tolerant Protocol for Atomic Broadcast , 1990, IEEE Trans. Parallel Distributed Syst..