The Design and Performance of RIO A Real-time I / O Subsystem for ORB Endsystems

There is increasing demand to extend Object Request Broker (ORB) middleware to support applications with stringent quality of service (QoS) requirements. However, conventional ORBs do not define standard features for specifying or enforcing end-to-end QoS for applications with deterministic realtime requirements. This paper provides two contributions to the study of real-time ORB middleware. First, it describes the design of a real-time I/O (RIO) subsystem optimized for ORB endsystems that support real-time applications running on “off-the-shelf” hardware and software. Second, it illustrates how integrating a real-time ORB with a real-time I/O subsystem can reduce latency bounds on end-to-end communication between high-priority clients without unduly penalizing low-priority and best-effort clients.

[1]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[2]  Douglas C. Schmidt,et al.  GPERF: A Perfect Hash Function Generator , 1990, C++ Conference.

[3]  Stephen E. Deering,et al.  Path MTU discovery , 1990, RFC.

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

[5]  Dennis M. Ritchie,et al.  A stream input-output system , 1990 .

[6]  Ieee Standards Board System application program interface (API) (C language) , 1990 .

[7]  John Zolnowsky,et al.  Realtime Scheduling in SunOS 5.0 , 1992 .

[8]  Mohan Krishnan,et al.  Pitfalls in Multithreading SVR4 STREAMS and Other Weightless Processes , 1993, USENIX Winter.

[9]  Mark Klein,et al.  A practitioner's handbook for real-time analysis - guide to rate monotonic analysis for real-time systems , 1993, The Kluwer international series in engineering and computer science.

[10]  Larry L. Peterson,et al.  PathFinder: A Pattern-Based Packet Classifier , 1994, OSDI.

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

[12]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[13]  Douglas C. Schmidt,et al.  Reactor: an object behavioral pattern for concurrent event demultiplexing and event handler dispatching , 1995 .

[14]  G. Parulkar,et al.  a I t P m : a Strategy for Integrating IP with ATM , 1995 .

[15]  Guru M. Parulkar,et al.  Design of Universal Continuous Media I/O , 1995, NOSSDAV.

[16]  Douglas C. Schmidt,et al.  aItPm: a strategy for integrating IP with ATM , 1995, SIGCOMM '95.

[17]  Guru M. Parulkar,et al.  A real-time upcall facility for protocol processing with QoS guarantees , 1995, SOSP.

[18]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[19]  Brian N. Bershad,et al.  An Extensible Protocol Architecture for Application-Specific Networking , 1996, USENIX Annual Technical Conference.

[20]  Keith Bostic,et al.  The design and implementa-tion of the 4.4BSD operating system , 1996 .

[21]  Guru M. Parulkar,et al.  Bringing real-time scheduling theory and practice closer for multimedia computing , 1996, SIGMETRICS '96.

[22]  A. Gokhale,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM '96.

[23]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[24]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[25]  D. Schmidt,et al.  Evaluating the performance of demultiplexing strategies for real-time CORBA , 1997, GLOBECOM 97. IEEE Global Telecommunications Conference. Conference Record.

[26]  Douglas C. Schmidt,et al.  Acceptor and Connector Design Patterns for Initializing Communication Services , 1997 .

[27]  Guru M. Parulkar,et al.  The APIC approach to high performance network interface design: protected DMA and other techniques , 1997, Proceedings of INFOCOM '97.

[28]  Douglas C. Schmidt,et al.  A high-performance end system architecture for real-time CORBA , 1997, IEEE Commun. Mag..

[29]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

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

[31]  Vincent Roca,et al.  Demultiplexed architectures: a solution for efficient STREAMS-based communication stacks , 1997, IEEE Netw..

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

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

[34]  Douglas C. Schmidt,et al.  Evaluating Architectures for Multi-threaded CORBA Object Request Brokers , 1998 .

[35]  Douglas C. Schmidt,et al.  Dynamic scheduling strategies for avionics mission computing , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

[36]  Aniruddha S. Gokhale,et al.  Alleviating priority inversion and non-determinism in real-time CORBA ORB core architectures , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

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

[38]  Aniruddha S. Gokhale,et al.  Techniques for optimizing CORBA middleware for distributed embedded systems , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[39]  Carlos O'Ryan,et al.  Design Considerations and Performance Optimizations for Real-time ORBs , 1999 .