Techniques for enhancing real-time CORBA quality of service

End-to-end predictability of remote operations is essential for many fixed-priority distributed real-time and embedded (DRE) applications, such as command and control systems, manufacturing process control systems, large-scale distributed interactive simulations, and testbeam data acquisition systems. To enhance predictability, the Real-time CORBA specification defines standard middleware features that allow applications to allocate, schedule, and control key CPU, memory, and networking resources necessary to ensure end-to-end quality of service support. This paper provides two contributions to the study of Real-time CORBA middleware for DRE applications. First, we identify potential problems with ensuring predictable behavior in conventional middleware by examining the end-to-end critical code path of a remote invocation and identifying sources of unbounded priority inversions. Experimental results then illustrate how the problems we identify can yield unpredictable behavior in conventional middleware platforms. Second, we present design techniques for ensuring real-time quality of service in middleware. We show how middleware can be redesigned to use nonmultiplexed resources to eliminate sources of unbounded priority inversion. The empirical results in this paper are conducted using TAO, which is widely used and open-source DRE middleware compliant with the Real-time CORBA specification.

[1]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[2]  Douglas C. Schmidt,et al.  Evaluating policies and mechanisms to support distributed real‐time applications with CORBA , 2001, Concurr. Comput. Pract. Exp..

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  Douglas C. Schmidt,et al.  An overview of the CORBA portable object adapter , 1998, STAN.

[5]  Victor Fay Wolfe,et al.  Real-time Method Invocations in Distributed Environments , 1995 .

[6]  Prashant Jain,et al.  Service Configurator: A Pattern for Dynamic Configuration of Services , 1997, COOTS.

[7]  Stefan Lankes,et al.  A time-triggered Ethernet protocol for Real-Time CORBA , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[8]  Aniruddha S. Gokhale,et al.  Optimizing a CORBA Internet inter-ORB protocol (IIOP) engine for minimal footprint embedded multimedia systems , 1999, IEEE J. Sel. Areas Commun..

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[10]  Aniruddha S. Gokhale,et al.  Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers , 2001, Real-Time Systems.

[11]  Aniruddha S. Gokhale,et al.  The Advanced Computing Systems Association 5 Th Usenix Conference on Object-oriented Technologies and Systems (coots '99) Applying Optimization Principle Patterns to Design Real-time Orbs Applying Optimization Principle Patterns to Design Real-time Orbs , 2022 .

[12]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[13]  Douglas C. Schmidt,et al.  Optimizing a corba iiop protocol engine for minimal footprint multimedia systems , 1998 .

[14]  Massachusett Framingham,et al.  The Common Object Request Broker: Architecture and Specification Version 3 , 2003 .

[15]  Thomas Bemmerl,et al.  Design and implementation of a SCI-based real-time CORBA , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[16]  Douglas C. Schmidt,et al.  A pattern language for efficient, predictable, scalable, and flexible dispatching mechanisms for distributed object computing middleware , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[17]  Mehmet Aksit,et al.  Proceedings of the 11th European Conference on Object-Oriented Programming , 1997 .

[18]  David Sharp,et al.  Freeing product line architectures from execution dependencies , 2000, SPLC.

[19]  Douglas C. Schmidt,et al.  Patterns and performance of a CORBA event service for large-scale distributed interactive simulations , 2002, Comput. Syst. Sci. Eng..

[20]  Douglas C. Schmidt,et al.  The Design and Performance of a Real-Time CORBA Scheduling Service , 2001, Real-Time Systems.

[21]  D. Schmidt,et al.  The Design and Performance of RIO A Real-time I / O Subsystem for ORB Endsystems , 1999 .

[22]  Douglas C. Schmidt,et al.  The design and performance of a real-time I/O subsystem , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[23]  Aniruddha S. Gokhale,et al.  Measuring the Performance of Communication Middleware on High-Speed Networks , 1996, SIGCOMM.

[24]  Ron K. Cytron,et al.  Hardware Support for Fast and Bounded-Time Storage Allocation , 2002 .

[25]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[26]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[27]  Douglas C. Schmidt,et al.  Middleware scheduling optimization techniques for distributed real-time and embedded systems , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[28]  E. D. Jensen Eliminating the 'hard'/'soft' real-time dichotomy , 1997 .

[29]  Krishna M. Kavi,et al.  Storage Allocation for Real-Time, Embedded Systems , 2001, EMSOFT.

[30]  Kwei-Jay Lin,et al.  Implementing a general real-time scheduling framework in the RED-Linux real-time kernel , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[31]  Douglas C. Schmidt,et al.  Evaluating policies and mechanisms for supporting embedded, real-time applications with CORBA 3.0 , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.

[32]  Carlos O'Ryan,et al.  The Design and Performance of a Pluggable Protocols Framework for Real-Time Distributed Object Computing Middleware , 2000, Middleware.

[33]  Douglas C. Schmidt,et al.  The performance of a real-time I/O subsystem for QoS-enabled ORB middleware , 1999, Proceedings of the International Symposium on Distributed Objects and Applications.

[34]  Douglas C. Schmidt,et al.  An overview of the Real-Time CORBA specification , 2000, Computer.

[35]  Lisa Cingiser DiPippo,et al.  Real-time CORBA , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[36]  Christopher D. Gill,et al.  Comparing and contrasting adaptive middleware support in wide-area and embedded distributed object applications , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[37]  Douglas C. Schmidt,et al.  The Design and Performance of a Scalable ORB Architecture for CORBA Asynchronous Messaging , 2000, Middleware.

[38]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.