Towards partially evaluating reflection in Java
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
The design and performance of a scable ORB architecture for COBRA asynchronous messaging
IFIP/ACM International Conference on Distributed systems platforms
IFIP/ACM International Conference on Distributed systems platforms
The Design and Performance of a Real-Time CORBA SchedulingService
Real-Time Systems - Special issue on challenges in design and implementation of middlewares for real time systems
Supporting high-performance I/O in QoS-enabled ORB middleware
Cluster Computing
Using Principle Patterns to Optimize Real-Time ORBs
IEEE Concurrency
Applying Patterns to Improve the Performance of Fault Tolerant CORBA
HiPC '00 Proceedings of the 7th International Conference on High Performance Computing
COMPSAC '00 24th International Computer Software and Applications Conference
Applying optimization principle patterns to design real-time ORBs
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Hi-index | 0.07 |
To support the quality-of-service (QoS) requirements of embedded multimedia applications 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 broker's (ORBs) middleware to support embedded multimedia applications. First, we describe optimization principle patterns used to develop a time and space-efficient CORBA inter-ORB protocol (IIOP) interpreter for the adaptive communication environment (ACE)-ORB (TAO), which is our high-performance, real-time ORB. 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 wide 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