Operating system performance in support of real-time middleware
D.C. Schmidt, Mayur Deshpande, Carlos O’Ryan · 2003
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.