Principles for Optimizing CORBA Internet Inter-ORB Protocol Performance

  • Authors:
  • Aniruddha S. Gokhale;Douglas C. Schmidt

  • Affiliations:
  • -;-

  • Venue:
  • HICSS '98 Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences-Volume 7 - Volume 7
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. The IIOP uses the Common Data Representation (CDR) transfer syntax to map OMG Interface Definition Language (IDL) data types into a portable network format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of function call overhead, some implementations of IIOP protocols have yielded relatively poor performance over high-speed networks. To meet the demands of emerging distributed multimedia applications, however, CORBA-compliant ORBs must support interoperable and highly efficient IIOP implementations. This paper provides three contributions to the study and design of efficient CORBA IIOP implementations. First, we outline the software architecture of the SunSoft's public domain implementation of IIOP version 1.0. Second, we pinpoint the key sources of overhead in the SunSoft IIOP implementation (which is an implementation of IIOP written in C++) by measuring its performance for transferring richly-typed data over a high-speed ATM network. Third, we empirically demonstrate the benefits of systematically applying protocol optimizations to SunSoft IIOP. The results of applying these optimizations to SunSoft IIOP improved its performance substantially for all data types. The resulting optimized IIOP implementation is competitive with existing commercial ORBs using CORBA's static invocation interface and 2 to 4.5 times (depending on the data type) faster than commercial ORBs using the dynamic skeleton interface. We have integrated the optimized IIOP implementation into TAO, which is a CORBA ORB targeted for real-time systems.