Software Architectures for Reducing Priority Inversion and Non

Software Architectures for Reducing Priority Inversion and Non

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers Douglas C. Schmidt Sumedh Mungee, Sergio Flores-Gaitan, and Aniruddha Gokhale g [email protected] fsumedh,sergio,gokhale @cs.wustl.edu Electrical & Computer Engineering Department of Computer Science University of California, Irvine Washington University, St.Louis This paper was published in the Kluwer Journal of Real- from developing real-time applications from scratch to in- time Systems, Volume 21, Number 2, 2001. tegrating applications using reusable components based on object-oriented (OO) middleware [3]. The objective of mid- Abstract dleware is to increase quality and decrease the cycle-time and effort required to develop software by supporting the integra- There is increasing demand to extend Object Request Bro- tion of reusable components implemented by different suppli- ker (ORB) middleware to support distributed applications with ers. stringent real-time requirements. However, conventional ORB implementations, such as CORBA ORBs, exhibit substantial Increased focus on QoS-enabled components and open sys- priority inversion and non-determinism, which makes them un- tems: There is increasing demand for remote method invo- suitable for applications with deterministic real-time require- cation and messaging technology to simplify the collaboration ments. This paper provides two contributions to the study and of open distributed application components [4] that possess design of real-time ORB middleware. First, it illustrates em- deterministic and statistical QoS requirements. These compo- pirically why conventional ORBs do not yet support real-time nents must be customizable to meet the functionality and QoS quality of service. Second, it evaluates connection and concur- requirements of applications developed in diverse contexts. rency software architectures to identify strategies that reduce priority inversion and non-determinism in real-time CORBA Increased focus on standardizing and leveraging real-time ORBs. The results presented in this paper demonstrate the COTS hardware and software: To leverage development feasibility of using standard OO middleware like CORBA to effort and reduce training, porting, and maintenance costs, support certain types of real-time applications over the Inter- there is increasing demand to exploit the rapidly advancing net. capabilities of standard common-off-the-shelf (COTS) hard- Keywords: Real-time CORBA Object Request Broker, QoS- ware and COTS operating systems. Several international stan- enabled OO Middleware, Performance Measurements dardization efforts are currently addressing QoS-related issues associated with COTS hardware and software. One particularly noteworthy standardization effort has 1 Introduction yielded the Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) specifica- Next-generation distributed real-time applications, such as tion [5]. CORBA is OO middleware software that allows video conferencing, avionics mission computing, and process clients to invoke operations on objects without concern for control, require endsystems that can provide statistical and de- where the objects reside, what language the objects are writ- terministic quality of service (QoS) guarantees for latency [1], ten in, what OS/hardware platform they run on, or what com- bandwidth, and reliability [2]. The following trends are shap- munication protocols and networks are used to interconnect ing the evolution of software development techniques for these distributed objects [6]. distributed real-time applications and endsystems: There has been recent progress towards standardizing Increased focus on middleware and integration frame- CORBA for real-time [7] and embedded [8] systems. Sev- works: There is a trend in real-time R&D projects away eral OMG groups, most notably the Real-Time Special Interest Group (RT SIG), are defining standard extensions to CORBA This work was supported in part by AFOSR grant F49620-00-1-0330, Boeing, CDI/GDIS, DARPA contract 9701516, Lucent, Motorola, NSF grant to support distributed real-time applications. The goal of stan- NCR-9628218, Siemens, and Sprint. dardizing real-time CORBA is to enable real-time applications 1 to interwork throughout embedded systems and heterogeneous integrated ORB endsystem architecture that can deliver end-to- distributed environments, such as the Internet. end QoS guarantees at multiple levels throughout a distributed However, developing, standardizing, and leveraging dis- system [10]. The key levels in an ORB endsystem include the tributed real-time Object Request Broker (ORB) middleware network adapters, OS I/O subsystems, communication pro- remains hard, notwithstanding the significant efforts of the tocols, ORB middleware, and higher-level services shown in OMG RT SIG. There are few successful examples of stan- Figure 1. dard, widely deployed distributed real-time ORB middle- in args ware running on COTS operating systems and COTS hard- OBJ operation() OBJECT ware. Conventional CORBA ORBs are generally unsuited for CLIENT REF out args + return (SERVANT) performance-sensitive, distributed real-time applications due value to their (1) lack of QoS specification interfaces, (2) lack of IDL SKELETON QoS enforcement, (3) lack of real-time programming features, REAL-TIME IDL ORB RUN-TIME OBJECT and (4) overall lack of performance and predictability [9]. STUBS SCHEDULER Although some operating systems, networks, and protocols ADAPTER REAL-TIME ORB CORE now support real-time scheduling, they do not provide inte- IOP IOP PLUGGABLE PLUGGABLE grated end-to-end solutions [10]. Moreover, relatively little ORB & XPORT ORB & XPORT PROTOCOLS PROTOCOLS systems research has focused on strategies and tactics for real- time ORB endsystems. For instance, QoS research at the net- OS KERNEL OS KERNEL REAL-TIME I/O ACE REAL-TIME I/O work and OS layers is only beginning to address key require- SUBSYSTEM COMPONENTS SUBSYSTEM ments and programming models of ORB middleware [11]. HIGH-SPEED HIGH-SPEED Historically, research on QoS for high-speed networks, such NETWORK INTERFACE NETWORK NETWORK INTERFACE as ATM, has focused largely on policies for allocating virtual circuit bandwidth [12]. Likewise, research on real-time op- Figure 1: Components in the TAO Real-time ORB Endsystem erating systems has focused largely on avoiding priority in- versions in synchronization and dispatching mechanisms for The main focus of this paper is on software architectures multi-threaded applications [13]. An important open research that are suitable for real-time ORB Cores. The ORB Core topic, therefore, is to determine how best to map the results is the component in the CORBA reference model that man- from QoS work at the network and OS layers onto the OO ages transport connections, delivers client requests to an Ob- programming model familiar to many real-time applications ject Adapter, and returns responses (if any) to clients. The developers who use ORB middleware. ORB Core also typically implements the transport endpoint This paper is organized as follows: Section 2 outlines the demultiplexing and concurrency architecture used by applica- general factors that impact real-time ORB endsystem perfor- tions. Figure 1 illustrates how an ORB Core interacts with mance and predictability; Section 3 describes software ar- other CORBA components. Appendix A describes the stan- chitectures for real-time ORB Cores, focusing on alternative dard CORBA components in more detail. ORB Core concurrency and connection software architectures; For completeness, Section 2.1 briefly outlines the general Section 4 presents empirical results from systematically mea- sources of performance overhead in ORB endsystems. Sec- suring the efficiency and predictability of alternative ORB tion 2.2 describes the key sources of priority inversion and Core architectures in four contemporary CORBA implemen- non-determinism that affect the predictability and utilization tations: CORBAplus, miniCOOL, MT-Orbix, and TAO; Sec- of real-time ORB endsystems. After this overview, Section 3 tion 5 compares our research with related work; and Section 6 explores alternative ORB Core concurrency and connection ar- presents concluding remarks. For completeness, Appendix A chitectures. provides an overview of the CORBA reference model. 2.1 General Sources of ORB Endsystem Per- 2 Factors Impacting Real-time ORB formance Overhead Endsystem Performance Our experience [14, 15, 16, 17] measuring the throughput and latency of CORBA implementations indicates that perfor- Meeting the QoS needs of next-generation distributed appli- mance overheads in real-time ORB endsystems arise from in- cations requires much more than defining Interface Defini- efficiencies in the following components: tion Language (IDL) interfaces or adding preemptive real-time 1. Network connections and network adapters: These scheduling into an OS. It requires a vertically and horizontally endsystem components handle heterogeneous network con- 2 nections and bandwidths, which can significantly increase la- 2.2 Sources of Priority Inversion and Non- tency and cause variability in performance. Inefficient design determinism in ORB Endsystems of network adapters can cause queueing delays and lost pack- ets [18], which are unacceptable for certain types of real-time Minimizing priority inversion and non-determinism is impor- systems. tant for real-time operating systems and ORB middleware in order to bound application execution

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us