This Article 
 Bibliographic References 
 Add to: 
Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks
April 1998 (vol. 47 no. 4)
pp. 391-413

Abstract—There is increasing demand to extend object-oriented middleware, such as OMG CORBA, to support applications with stringent quality of service (QoS) requirements. However, conventional CORBA Object Request Broker (ORB) implementations incur high latency and low scalability when used for performance-sensitive applications. These inefficiencies discourage developers from using CORBA for mission/life-critical applications such as real-time avionics, telecom call processing, and medical imaging. This paper provides two contributions to the research on CORBA performance. First, we systematically analyze the latency and scalability of two widely used CORBA ORBs, VisiBroker and Orbix. These results reveal key sources of overhead in conventional ORBs. Second, we describe techniques used to improve latency and scalability in TAO, which is a high-performance, real-time implementation of CORBA. Although conventional ORBs do not yet provide adequate QoS guarantees to applications, our research results indicate it is possible to implement ORBs that can support high-performance, real-time applications.

[1] D.D. Clark and D.L. Tennenhouse, "Architectural Considerations for a New Generation of Protocols," Computer Comm. Rev., vol. 20, no. 4, Sept. 1990.
[2] Object Management Group, The Common Object Request Broker: Architecture and Specification, second ed., July 1995.
[3] Object Management Group, CORBAServices: Common Object Services Specification, revised ed., 95-3-31 ed., Mar. 1995.
[4] T.H. Harrison, D.L. Levine, and D.C. Schmidt, "The Design and Performance of a Real-Time CORBA Event Service," Proc. OOPSLA '97,Atlanta, Ga., Oct. 1997.
[5] A. Gokhale and D.C. Schmidt, "Measuring the Performance of the CORBA Dynamic Invocation Interface and Dynamic Skeleton Interface Over High-Speed ATM Networks," Proc. SIGCOMM '96, pp. 306-317,Stanford, Calif., Aug. 1996.
[6] A. Gokhale and D.C. Schmidt, "The Performance of the CORBA Dynamic Invocation Interface and Dynamic Skeleton Interface Over High-Speed ATM Networks," Proc. GLOBECOM '96, pp. 50-56,London, Nov. 1996.
[7] I. Pyarali, T.H. Harrison, and D.C. Schmidt, "Design and Performance of an Object-Oriented Framework for High-Performance Electronic Medical Imaging," USENIX Computing Systems, vol. 9, no. 4, Nov./Dec. 1996.
[8] A. Gokhale and D.C. Schmidt, "Principles for Optimizing CORBA Internet Inter-ORB Protocol Performance," Proc. Hawaiian Int'l Conf. System Sciences, Jan. 1998.
[9] E. Eide, K. Frei, B. Ford, J. Lepreau, and G. Lindstrom, "Flick: A Flexible, Optimizing IDL Compiler," Proc. ACM SIGPLAN '97 Conf. Programming Language Design and Implementation (PLDI),Las Vegas, Nev., June 1997.
[10] Object Management Group, Specification of the Portable Object Adapter (POA), OMG Document orbos/97-05-15 ed., June 1997.
[11] USNA, TTCP: A Test of TCP and UDP Performance, Dec. 1984.
[12] S. Dharnikota, K. Maly, and C.M. Overstreet, "Performance Evaluation of TCP(UDP)/IP Over ATM Networks," Technical Report CSTR_94_23, Dept. of Computer Science, Old Dominion Univ., Sept. 1994.
[13] M. DoVan, L. Humphrey, G. Cox, and C. Ravin, "Initial Experience with Asynchronous Transfer Mode for Use in a Medical Imaging Network," J. Digital Imaging, vol. 8, no. 1, pp. 43-48, Feb. 1995.
[14] K. Modeklev, E. Klovning, and O. Kure, "TCP/IP Behavior in a High-Speed Local ATM Network Environment," Proc. 19th Conf. Local Computer Networks, pp. 176-185,Minneapolis, Minn., Oct. 1994.
[15] PureAtria Software Inc., Quantify User's Guide. PureAtria Software Inc., 1996.
[16] D.L. Tennenhouse, "Layered Multiplexing Considered Harmful," Proc. First Int'l Workshop High-Speed Networks, May 1989.
[17] A. Gokhale and D.C. Schmidt, "Evaluating Latency and Scalability of CORBA Over High-Speed ATM Networks," Proc. Int'l Conf. Distributed Computing Systems,Baltimore, Md., May 1997.
[18] A. Gokhale and D.C. Schmidt, "Evaluating the Performance of Demultiplexing Strategies for Real-Time CORBA," Proc. GLOBECOM '97,Phoenix, Ariz., Nov. 1997.
[19] D.C. Schmidt, D.L. Levine, and S. Mungee, "The Design and Performance of Real-Time Object Request Brokers," Computer Comm., vol. 21, no. 4, pp. 294-324, Apr. 1998.
[20] D.R. Engler and M.F. Kaashoek, "DPF: Fast, Flexible Message Demultiplexing Using Dynamic Code Generation," Proc. ACM SIGCOMM '96 Conf. Computer Comm. Review, pp. 53-59, Stanford Univ., Stanford, Calif., Aug. 1996.
[21] S.W. O'Malley, T.A. Proebsting, and A.B. Montz, "USC: A Universal Stub Compiler," Proc. Symp. Comm. Architectures and Protocols (SIGCOMM),London, Aug. 1994.
[22] V.F. Wolfe, L.C. DiPippo, R. Ginis, M. Squadrito, S. Wohlever, I. Zykh, and R. Johnston, "Real-Time CORBA," Proc. Third IEEE Real-Time Technology and Applications Symp.,Montréal, Canada, June 1997.
[23] Z.D. Dittia, G.M. Parulkar, and J.R. Cox Jr., "The APIC Approach to High Performance Network Interface Design: Protected DMA and Other Techniques," Proc. INGOCOM '97,Kobe, Japan, Apr. 1997.
[24] P. Hoschka and C. Huitema, "Automatic Generation of Optimized Code for Marshalling Routines," Proc. IFIP Conf. Upper Layer Protocols, Architectures, and Applications ULPA '94,Barcelona, Spain, 1994.
[25] J.-D. Choi, R. Cytron, and J. Ferrante, "Automatic Construction of Sparse Data Flow Evaluation Graphs," Conf. Record 18th Ann. ACE Symp. Principles of Programming Languages, Jan. 1991.
[26] R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, and F.K. Zadeck, "Efficiently Computing Static Single Assignment Form and the Control Dependence Graph," ACM Trans. Programming Languages and Systems, Oct. 1991.
[27] D.C. Schmidt and C. Cleeland, "Applying Patterns to Develop Extensible and Maintainable ORB Middleware," Comm. ACM, to appear.
[28] D.C. Schmidt, "GPERF: A Perfect Hash Function Generator," Proc. Second C++ Conf., pp. 87-102,San Francisco, Apr. 1990.
[29] G. Varghese, "Algorithmic Techniques for Efficient Protocol Implementations," SIGCOMM Tutorial,Stanford, Calif., Aug. 1996.
[30] J. Kay and J. Pasquale, "The Importance of Non-Data Touching Processing Overheads in TCP/IP," Computer Communication Review, Vol. 23, No. 4, Oct. 1993, pp. 259-268.
[31] C. Papadopoulos and G. Parulkar, "Experimental Evaluation of SUNOS IPC and TCP/IP Protocol Implementation," IEEE/ACM Trans. Networking, vol. 1, no. 2, pp. 199-216, Apr. 1993.
[32] S.J. Leffler, M.K. McKusick, M.J. Karels, and J.S. Quarterman, The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, 1989.
[33] I. Chrisment, "Impact of ALF on Communication Sybsystems Design and Performance," Proc. First Int'l Workshop High Performance Protocol Architectures, HIPPARCH '94,Sophia Antipolis, France, Dec. 1994.
[34] A. Ghosh, J. Crowcroft, M. Fray, and M. Handley, "Integrated Layer Video Decoding and Application Layer Framed Secure Login: General Lessons from Two or Three Very Different Applications," Proc. First Int'l Workshop High Performance Protocol Architectures, HIPPARCH '94,Sophia Antipolis, France, Dec. 1994.
[35] M. Abbott and L. Peterson, "Increasing Network Throughput by Integrating Protocol Layers," ACM Trans. Networking, vol. 1, no. 5, Oct. 1993.
[36] A. Richards, R. De Silva, A. Fladenmuller, A. Seneviratne, and M. Fry, "The Application of ILP/ALF to Configurable Protocols," Proc. First Int'l Workshop High Performance Protocol Architectures, HIPPARCH '94,Sophia Antipolis, France, Dec. 1994.
[37] T. Braun and C. Diot, "Protocol Implementation Using Integrated Layer Processing," Proc. Symp. Comm. Architectures and Protocols (SIGCOMM), Sept. 1995.

Index Terms:
Distributed object computing, CORBA communication middleware performance, real-time CORBA.
Aniruddha S. Gokhale, Douglas C. Schmidt, "Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks," IEEE Transactions on Computers, vol. 47, no. 4, pp. 391-413, April 1998, doi:10.1109/12.675710
Usage of this product signifies your acceptance of the Terms of Use.