Operating system performance in support of real-time middleware

Commercial-off-the-shelf (COTS) hardware and software is being evaluated and/or used in an increasing range of mission-critical distributed real-time and embedded (DRE) systems. Due to substantial R&D investment over the past decade, COTS middleware has matured to the point where it is no longer the dominant factor in the overhead, non-determinism, and priority inversion incurred by DRE systems. As a result, the focus has shifted to the COTS operating systems and networks, which are once again responsible for the majority of end-to-end latency and jitter. We compare and evaluate the suitability of popular COTS operating systems for real-time COTS middleware, such as Real-time CORBA. We examine real-time operating systems (VxWorks and QNX), general-purpose operating systems with real-time thread scheduling classes (Windows NT Windows 2K, and Linux), and a hybrid real-time/general-purpose operating system (Linux/RT). While holding the hardware and ORB constant, we vary these operating systems systematically to measure platform-specific variations in context switch overhead, throughput of the ORB in terms of two-way operations per-second and memory-footprint of the ORB libraries. We also measure how the latency and jitter of high-priority operations are affected as the number of low-priority operations increase.

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

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

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

[4]  Shakuntala Baichoo,et al.  Implementing the CORBA GIOP in a high-performance object request broker environment , 2001, Distributed Computing.

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

[6]  Ragunathan Rajkumar,et al.  Portable RK: a portable resource kernel for guaranteed and enforced timing behavior , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

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

[8]  Douglas C. Schmidt,et al.  Mastering complexity with ACE and patterns , 2002 .

[9]  Douglas C. Schmidt,et al.  An Empirical Evaluation of OS Support for Real-time CORBA Object Request Brokers , 1998 .

[10]  Ralph E. Johnson,et al.  Frameworks = (components + patterns) , 1997, CACM.

[11]  Douglas C. Schmidt,et al.  Middleware for Distributed Systems Evolving the Common Structure for Network-centric Applications , 2001 .

[12]  Douglas C. Schmidt,et al.  The Design and Performance of , 2003 .

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

[14]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[15]  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..

[16]  G.H. Thaker,et al.  In search of commercial off-the-shelf, hard real-time, distributed object computing middleware , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[17]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[18]  Douglas C. Schmidt,et al.  C++ network programming , 2002 .

[19]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[20]  Douglas C. Schmidt,et al.  Measuring OS support for real-time CORBA ORBs , 1999, 1999 Proceedings. Fourth International Workshop on Object-Oriented Real-Time Dependable Systems.

[21]  Aniruddha S. Gokhale,et al.  Using principle patterns to optimize real-time ORBs , 2000, IEEE Concurr..

[22]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .