Optimizing a CORBA Internet Inter-ORB protocol (IIOP) engine for minimal footprint embedded multimedia systems

01 September 1999

New Image

To support the quality-of-service (QoS) requirements of embedded multimedia applications, such as real-time audio and video, electronic mail and fax, and Internet telephony, off-the-shelf middleware like common object request broker architecture (CORBA) must be flexible, efficient, and predictable. Moreover, stringent memory constraints imposed by embedded system hardware necessitates a minimal footprint for middleware that supports multimedia applications. This paper provides three contributions toward developing efficient object request brokers (ORB's) middleware to support embedded multimedia applications. First, we describe the optimization principle patterns used to develop a time and space-efficient CORBA Inter-ORE Protocol (IIOP) interpreter for the adaptive communication environment (ACE)-ORB (TAO), which is our high-performance, real-time ORE. Second, we describe the optimizations applied to TAO's interface definition language (IDL) compiler to generate efficient and small stubs/skeletons used in TAO's IIOP protocol engine, Third, we empirically compare the performance and memory footprint of interpretive (de)marshaling versus compiled (de)marshaling for a nide range of IDL data types. Applying our optimization principle patterns to TAO's IIOP protocol engine improved its interpretive (de)marshaling performance to the point where it is now comparable to the performance of compiled (de)marshaling. Moreover, our IDL compiler optimizations generate interpreted stubs/skeletons whose footprint is substantially smaller than compiled stubs/skeletons. Our results illustrate that careful application of optimization principle patterns can yield both time and space-efficient standards-based middleware.