This Article 
 Bibliographic References 
 Add to: 
Performance of CORBA-Based Client-Server Architectures
February 2002 (vol. 13 no. 2)
pp. 111-127

Abstract—Middleware has been introduced to provide interoperability as well as transparent location of servers in heterogeneous client-server environments. Although such benefits accrue from the use of middleware, careful consideration of system architecture is required to achieve high performance. Based on implementation and measurements made on the system, this paper is concerned with the impact of client-server interaction architecture on the performance of CORBA Systems. CORBA or Common Object Request Broker Architecture, proposed by the Object Management Group, is one of the commonly used standards for middleware architectures. Using a commercially available CORBA compliant ORB software called ORBeline, four different architectures were designed and implemented for client-server interaction on a network of workstations. In the Handle-Driven ORB (H-ORB) architecture, the client gets the address of the server from the agent and communicates with the server directly. In the Forwarding ORB (F-ORB) architecture the client request is automatically forwarded by the agent to the appropriate server which then returns the results of the computations to the client directly. In the Process Planner (P-ORB) architecture, the agent combines request forwarding with concurrent invocation of multiple servers for complex requests that require the services of multiple servers. The Adaptive ORB (A-ORB) combines the functionalities of both the H-ORB and the F-ORB and can switch dynamically from an H-ORB mode to an F-ORB mode and vice versa, depending on the load condition. Our measurements show that the difference samong the performances of these architectures change with a change in the workload. The paper will report on the relative performances of these four architectures under different workload conditions. The results provide insights into system behavior for designers as well as users of systems. In particular, the impact of internode delays, message size, and request service times on the latency and scalability attributes of these architectures is analyzed. A discussion of how agent cloning can improve system performance is also included.

[1] I. Abdul-Fatah, “Performance of CORBA-Based Client-Server Architectures,” MEng. thesis, Carleton Univ., Ottawa, Canada, Apr. 1997.
[2] R.M. Adler, "Distributed Coordination Models for Client-Server Computing," Computer, vol. 29, no. 4, Apr. 1995, pp. 14-22.
[3] T. Barth, G. Flender, B. Freisleben, and F. Thilo, “Load Distribution in a CORBA Environment,” Proc. Int'l Symp. Distributed Objects and Applications (DOA '99), Sept. 1999.
[4] M.J. Fontenot,“Software congestion, mobile servers, and the hyperbolic model,” IEEE Trans. on Software Engineering, vol. 15, pp. 947-962, 1989.
[5] P. Haggerty and K. Seetharaman, “The Benefits of CORBA in Network Management,” Comm. ACM, vol. 41, no. 10, pp. 73-79, 1998.
[6] M. Henning and S. Vinoski, Advanced Corba Programming with C++, Addison Wesley Longman, Reading, Mass., 1999.
[7] H.W. Lockhart Jr.,OSF DCE Guide to Developing Distributed Applications. McGraw Hill, 1994.
[8] S. Mishra and X. Liu, “Design, Implementation and Performance Evaluation of a High Performance CORBA Group Membership Protocol,” Proc. Seventh Int'l Conf. High Performance Computing, pp. 121-130, Dec. 2000.
[9] B. Nataraja, A. Gokhale, S. Yajnik, and D.C. Schmidt, “Applying Patterns to Improve the Performance of Fault-Tolerant CORBA,” Proc. Seventh Int'l Conf. High Performance Computing, pp. 121-130, Dec. 2000.
[10] J.E. Neilson, C.M. Woodside, D.C. Petriu, and S. Majumdar, “Software Bottlenecking in Client-Server Systems and Rendez-vous Networks,” IEEE Trans. Software Eng., vol. 21, no. 9, pp. 776-782, Sept. 1995.
[11] Object Management Group, “Real-Time CORBA—Joint Revised Submission (Request for Proposal),” OMG-TC Document Orbos/99-02-12, Mar. 1999.
[12] Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.3 ed., June 2000.
[13] R. Otte, P. Patrick, and M. Roy, Understanding CORBA The Common Object Request Broker Architecture. Upper Saddle River, N.J.: Prentice Hall, 1996.
[14] Post Modern Computing Technologies Inc., personal communication, 1996.
[15] Post Modern Computing Technologies Inc., ORBeline ReferenceGuide. Mountain View, C.A., 1994.
[16] Post Modern Computing Technologies Inc., ORBeline User's Guide. Mountain View, Calif., 1994.
[17] D.C. Schmidt, “Evaluating Architectures for Multithreaded CORBA Object Request Brokers,” Comm. ACM, vol. 41, no. 10, pp. 54-61, 1998.
[18] D.C. Schmidt, A. Gokhale, T. Harrison, and G. Parulkar, “A High-Performance Endsystem Architecture for Real-Time CORBA,” IEEE Comm. Magazine, Feb. 1997.
[19] D.C. Schmidt, T.H. Harrison, and E. Al-Shaer, “Object-Oriented Components for High-Speed Network Programming,” Proc. First Conf. Object-Oriented Technologies, USENIX, June 1995.
[20] D.C. Schmidt, D.L. Levine, and C. Cleeland, “Architectures and Patterns for High-Performance, Real-Time CORBA Object Request Brokers,” Advances in Computers, M. Zelkowitz, ed., Academic Press, 1998.
[21] D.C. Schmidt and S. Vinoski, “Comparing Alternative Client-Side Distributed Programming Techniques,” SIGS C++ Report, May 1995.
[22] D.C. Schmidt and S. Vinoski, “Comparing Alternative Programming Techniques for Multi-Threaded Servers,” SIGS C++ Report, Feb. 1996.
[23] D.C. Schmidt and S. Vinoski, “Comparing Alternative Server Programming Techniques,” SIGS C++ Report, Oct. 1995.
[24] D.C. Schmidt and S. Vinoski, “Modeling Distributed Object Applications,” C++ Report, Feb. 1995.
[25] K. Seetharaman, “Special Issue: CORBA Connection,” Comm. ACM, vol. 41, no. 10, pp. 73-79, 1998.
[26] E.-K. Shen, S. Majumdar, and I. Abdul-Fatah, “High Performance Adaptive Middleware for CORBA-Based Systems,” Proc. ACM Principles of Distributed Computing (PODC) Conf., pp. 119-207, July 2000.
[27] M. Stal, “The Broker Architectural Framework,” Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '95), 1995.
[28] Sun Microsystems, “Official JINI Network Technology,” http://www.sun.comjini, Mar. 2001
[29] A. Tanenbaum, Distributed Operating Systems. Prentice-Hall, 1995.
[30] Handbook of Object Technology, S. Zamir, ed. CRC Press, Dec. 1998.

Index Terms:
Middleware performance, CORBA performance, software performance, experimental performance evaluation, client-server performance.
Istabrak Abdul-Fatah, Shikharesh Majumdar, "Performance of CORBA-Based Client-Server Architectures," IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 2, pp. 111-127, Feb. 2002, doi:10.1109/71.983940
Usage of this product signifies your acceptance of the Terms of Use.