Evaluating policies and mechanisms to support distributed real-time applications with CORBA
Concurrency and Computation
To be an effective platform for performance-sensitive realtime systems, commodity-off-the-shelf (COTS) distributed object computing (DOC) middleware must support application quality of service (QoS) requirements end-to-end. However, conventional COTS DOC middleware does not provide this support, which makes it unsuited for applications with stringent latency, determinism, and priority preservation requirements. It is essential, therefore, to develop standards-based, COTS DOC middleware that
... its the specification, allocation, and enforcement of application QoS requirements endto-end. The Real-time CORBA and Messaging specifications in the CORBA 2.4 standard are important steps towards defining standards-based, COTS DOC middleware that can deliver end-to-end QoS support at multiple levels in distributed and embedded real-time systems. These specifications still lack sufficient detail, however, to portably configure and control processor, communication, and memory resources for applications with stringent QoS requirements. This paper provides four contributions to research on realtime DOC middleware. First, we illustrate how the CORBA 2.4 Real-time and Messaging specifications provide a starting point to address the needs of an important class of applications with stringent real-time requirements. Second, we illustrate how the CORBA 2.4 specifications are not sufficient to solve all the issues within this application domain. Third, we describe how we have implemented portions of these specifications, as well as several enhancements, using TAO, which is our open-source real-time CORBA ORB. Finally, we evaluate the performance of TAO empirically to illustrate how its features address the QoS requirements for certain classes of real-time applications. Subject Areas: Real-time CORBA; Patterns and Frameworks; Distributed and Real-Time Middleware deployment of efficient, predictable, and scalable middleware for real-time systems. In particular, commodity-off-the-shelf (COTS) DOC middleware generally lacks (1) support for QoS specification and enforcement, (2) integration with high-speed networking technology, and (3) efficiency, predictability, and scalability optimizations . These omissions have limited the rate at which performance-sensitive applications, such as teleconferencing and avionics mission computing, have been able to leverage advances in DOC middleware. Candidate solution ! CORBA: First-generation DOC middleware was not targeted for high-performance and realtime systems. Thus, it was not appropriate for systems with stringent deterministic and statistical real-time QoS requirements . Over the past two years, however, the use of CORBA-based DOC middleware for real-time applications has increased significantly in aerospace , telecommunications , medical systems , and distributed interactive simulation  domains. The increased adoption of CORBA stems from the following factors: 1. The maturation of patterns -In recent years, a substantial amount of R&D effort has focused on patterns [10, 11]. For instance, research conducted as part of the DARPA Quorum project [12, 7, 5, 13] has identified key patterns  and optimization principles  for highperformance and real-time systems. 2. The maturation of frameworks -Recent progress in patterns R&D has enabled the creation of higher-quality frameworks , such as ACE , that support the development of QoS-enabled DOC middleware and applications. 3. The maturation of standards -During the past decade, the OMG's suite of CORBA standards has matured considerably, particularly the Real-time  and Messaging  specifications that define components and QoS features for high-performance and real-time systems. 4. The maturation of COTS CORBA products -An increasing number of COTS ORBs  are applying patterns and frameworks to implement the CORBA Real-time  and Messaging  specifications. The vehicle for our research on DOC middleware for highperformance and real-time applications is TAO . TAO is an open-source CORBA-compliant ORB designed to support applications with stringent end-to-end QoS requirements. In our prior work on TAO, we have shown that it is possible to achieve high efficiency, predictability, and scalability in ORB middleware by applying appropriate concurrency , connection  and demultiplexing  patterns . Our earlier work, however, has not addressed techniques for balancing competing real-time application requirements for la-tency and throughput. Moreover, the OMG has recently approved the Real-time  and Messaging  specifications, which give application developers greater control over end-toend priority preservation and ORB predictability. Therefore, in this paper, we evaluate these specifications to illustrate the extent to which they do and do not satisfy the requirements of an important class of real-time applications. For situations where CORBA 2.4 is under-specified, we demonstrate how the specification can be enhanced to allow greater application control and portability. Communication infrastructure resource management: A CORBA 2.4 endsystem must leverage policies and mechanisms in the underlying communication infrastructure that support resource guarantees. This support can range from (1) managing the choice of the connection used for a particular invocation to (2) exploiting advanced QoS features, such as controlling the ATM virtual circuit cell pacing rate . OS scheduling mechanisms: ORBs exploit OS mechanisms to schedule application-level activities end-to-end. The real-time CORBA features in CORBA 2.4 target fixed-priority real-time systems  . Thus, these mechanisms correspond to managing OS thread scheduling priorities. The Real-time CORBA specification in CORBA 2.4 focuses on operating systems that allow applications to specify scheduling priorities and policies. For example, the real-time extensions in IEEE POSIX 1003.1c  define a static priority FIFO scheduling policy that meets this requirement. 3. Real-Time ORB endsystem: ORBs are responsible for communicating requests between clients and servers transparently. A real-time ORB endsystem must provide standard interfaces that allow applications to specify their resource requirements to the ORB. The QoS policy framework defined by the OMG Messaging specification  allows applications to configure ORB endsystem resources, such as thread priorities, buffers for message queueing, transport-level connections, and network signaling, in order to control ORB behavior.