loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
On Group Communication Support in CORBA
February 2001 (vol. 12 no. 2)
pp. 193-208

Abstract—Current group communication services have mostly been implemented on a homogeneous, distributed computing environment. This limits their applicability because most modern distributed computing environment are heterogeneous in nature. This paper describes the design, implementation, and performance evaluation of a CORBA group communication service. Using CORBA to implement a group communication service enables that group communication service to operate in a heterogeneous, distributed computing environment. To evaluate the effect of CORBA on the performance of a group communication service, this paper provides a detailed comparison of the performance measured from three implementations of an atomic broadcast protocol and a group membership protocol. Two of these implementations use CORBA, while the third uses UDP sockets for interprocess communication. The main conclusion is that heterogeneity can be achieved in group communication services by implementing them using CORBA, but there is a substantial performance cost. This performance cost can be reduced to a certain extent by carefully choosing a design and tuning various protocol parameters such as buffer sizes and timer values.

[1] Iona Technologies, Inc.,http:/www.iona.com.[2] Y. Amir, L.E. Moser, M. Melliar-Smith, D.A. Agarwal, and P. Ciarfella, “The Totem Single-Ring Ordering and Membership Protocol,” ACM Trans. Computer Systems, vol. 13, no. 4, pp. 311–342, 1995.[3] T. Anker, D. Dolev, and I. Keidar,“Fault Tolerant Video-on-Demand Services,” Proc. 19th Int'l Conf. Distributed Computing Systems, pp. 244–252, June 1999.[4] P.A. Barrett et al., “The Delta-4 Extra Performance Architecture,” Proc. 20th Int'l Symp. Fault-Tolerant Computing (FTCS-20), pp. 481-488, 1990.[5] K. Birman, "The Process Group Approach to Reliable Distributed Computing," Comm. ACM, vol. 36, no. 12, pp. 37-53, 1993.[6] K. Birman, A. Schiper, and P. Stephenson, “Lightweight Causal and Atomic Group Multicast,” ACM Trans. Computer Systems, vol. 9, no. 3, pp. 272-314, Aug. 1991.[7] T.D. Chandra, V. Hadzillacos, S. Toueg, and B. Charron-Bost, “On the Impossibility of Group Membership,” Proc. 15th ACM Symp. Principles of Distributed Computing, pp. 322–330, 1996.[8] J. Chang and N. Maxemchuk,“Reliable broadcast protocols,”ACM Trans. Comput. Syst., vol. 2, pp. 251–273, Aug. 1984. [9] F. Cristian, "Understanding Fault-Tolerant Distributed Systems," Comm. ACM, vol. 34, no. 2, Feb. 1991.[10] F. Cristian, B. Dancey, and J. Dehn, “Fault-Tolerance in Air Traffic Control Systems,” ACM Trans. Computer Systems, vol. 14, no. 3, pp. 265–286, Aug. 1996.[11] F. Cristian and C. Fetzer, “The Timed Asynchronous System Model,” Technical Report CSE97-519, Dept. of Computer Science and Eng., Univ. of California, San Diego, 1997.[12] F. Cristian and S. Mishra, “The Pinwheel Asynchronous Atomic BroadCast Protocols,” Proc. Second Int'l Symp. Autonomous Decentralized Systems, pp. 215–221, Apr. 1995.[13] F. Cristian and F. Schmuck, “Agreeing on Processor Group Membership in Asynchronous Distributed Systems,” Technical Report CSE95-428, Dept. of Computer Science and Eng., Univ. of California, San Diego, 1995.[14] M. Cukier et al., AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects Proc. IEEE Symp. Reliable Distributed Systems, pp. 245-253, Oct. 1998.[15] P. Ezhilchelvan, R. Macedo, and S. Shrivastava, "Newtop: A Fault-Tolerant Group Communication Protocol," Proc. 15th Int'l Conf. Distributed Computing Systems, IEEE CS Press, Vancouver, BC, Canada, June 1995.[16] P. Felber, B. Garbinato, and R. Guerraoui, “The Design of a CORBA Group Communication Service,” Proc. 15th Symp. Reliable Distributed Systems (SRDS), pp. 150-159, Oct. 1996.[17] P.A. Felber, R. Guerraoui, and A. Schiper, “The Implementation of a Corba Object Group Service,” Theory and Practice of Object Systems, vol. 4, no. 2, 1998.[18] M.J. Fischer, N.A. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374i–382, 1985.[19] O.M. Group, “Fault-Tolerant Corba Using Entity Redundancy: Request for Proposals,” Technical Report OMG Technical Document orbos/98-04-01, Apr. 1988.[20] IONA Technologies Ltd. and Isis Distributed Systems, Inc., An Introduction to Orbix+Isis, 1994.[21] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.[22] S. Landis and S. Maffeis, “Building Reliable Distributed Systems with Corba,” Theory and Practice of Object Systems, vol. 3, no. 1, Apr. 1997.[23] X. Liu, C. Kreitz, R. van Renesse, J. Hickey, M. Hayden, K. Birman, and R. Constable, “Bulding Reliable, High-Performance Communication Systems from Components,” Operating Systems Rev., vol. 34, no. 5, pp. 80-92, Dec. 1999.[24] S. Maffeis, “Adding Group Communication and Fault Tolerance to Corba,” Proc. 1995 USENIX Conf. Object Oriented Technologies, June 1995.[25] S. Mishra, L. Fei, and G. Xing, “Design, Implementation, and Performance Evaluation of a Corba Group Communication Service,” Proc. 29th IEEE Int'l Symp. Fault-Tolerant Computing, June 1999.[26] S. Mishra, C. Fetzer, and F. Cristian, “The Timewheel Asynchronous Atomic Broadcast Protocol,” Proc. 1997 Int'l Conf. Parallel and Distributed Processing Techniques and Applications, pp. 1239–1248, June 1997.[27] S. Mishra, C. Fetzer, and F. Cristian, “The Timewheel Group Membership Protocol,” Proc. Workshop Fault-Tolerant Parallel and Distributed Systems, Apr. 1998.[28] S. Mishra and G. Pang, “Design and Implementation of an Availability Management Service,” Proc. 19th Int'l Conf. Distributed Computing Systems, Workshop on Middleware, June 1999.[29] S. Mishra, L. Peterson, and R. Schlichting, “Consul: A Communication Substrate for Fault-Tolerant Distributed Programs,” Distributed Systems Eng., vol. 1, no. 2, pp. 87–103 Dec. 1993.[30] S. Mishra and R. Yang, “Thread-Based vs. Event-Based Implementation of a Group Communication Service,” Proc. 12th Int'l Parallel Processing Symp. and Ninth Symp. Parallel and Distributed Processing, Apr. 1998.[31] L.E. Moser, P.M. Melliar-Smith, and P. Narasimhan, “Consistent Object Replication in the Eternal System,” Theory and Practice of Object Systems, vol. 4, no. 2, pp. 81–92, 1998.[32] Object Management Group, The Common Object Request Broker: Architecture and Specification, 1995.[33] L. Sabel and K. Marzullo, “Election vs. Consensus in Asynchronous Systems,” Technical Report TR95-1488, Cornell Univ., Feb. 1995.[34] F.B. Schneider, "Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial," ACM Computing Surveys, vol. 22, no. 4, pp. 299-319, Dec. 1990.[35] J. Siegel, CORBA Fundamentals and Programming. John Wiley&Sons, 1996.[36] R. Vitenberg, I. Keidar, G. Chockler, and D. Dolev, “Group Communication Specifications: A Comprehensive Study,” Technical Report MIT-LCS-TR-790, Massachusetts Inst. of Technology, Laboratory for Computer Science, Cambridge. 1999.

Index Terms:
Group communication, CORBA, fault tolerance, performance, heterogeneity.
Citation:
Shivakant Mishra, Lan Fei, Xiao Lin, Guming Xing, "On Group Communication Support in CORBA," IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 2, pp. 193-208, Feb. 2001, doi:10.1109/71.910873
Usage of this product signifies your acceptance of the Terms of Use.