Supporting high‐performance I/O in QoS‐enabled ORB middleware

To be an effective platform for high‐performance distributed applications, off-the-shelf Object Request Broker (ORB) middleware, such as CORBA, must preserve communication-layer quality of service (QoS) properties both vertically (i.e., network interface ↔ application layer) and horizontally (i.e., end-to-end). However, conventional network interfaces, I/O subsystems, and middleware interoperability protocols are not well-suited for applications that possess stringent throughput, latency, and jitter requirements. It is essential, therefore, to develop vertically and horizontally integrated ORB endsystems that can be (1) configured flexibly to support high-performance network interfaces and I/O subsystems and (2) used transparently by performance-sensitive applications. This paper provides three contributions to research on high-performance I/O support for QoS-enabled ORB middleware. First, we outline the key research challenges faced by high-performance ORB endsystem developers. Second, we describe how our real-time I/O (RIO) subsystem and pluggable protocol framework enables ORB endsystems to preserve high-performance network interface QoS up to applications running on off-the-shelf hardware and software. Third, we illustrate empirically how highly optimized ORB middleware can be integrated with real-time I/O subsystem to reduce latency bounds on communication between high-priority clients without unduly penalizing low-priority and best-effort clients. Our results demonstrate how it is possible to develop ORB endsystems that are both highly flexible and highly efficient.

[1]  Roger Riggs,et al.  A Distributed Object Model for the Java System , 1996, Comput. Syst..

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

[3]  Douglas C. Schmidt,et al.  The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware , 1999 .

[4]  Douglas C. Schmidt,et al.  The design and performance of a scable ORB architecture for COBRA asynchronous messaging , 2000 .

[5]  Eric Eide,et al.  Flick: a flexible, optimizing IDL compiler , 1997, PLDI '97.

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

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

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

[9]  C SchmidtDouglas,et al.  The design and performance of a real-time CORBA event service , 1997 .

[10]  Douglas C. Schmidt,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM 1996.

[11]  Aniruddha S. Gokhale,et al.  The Advanced Computing Systems Association 5 Th Usenix Conference on Object-oriented Technologies and Systems (coots '99) Applying Optimization Principle Patterns to Design Real-time Orbs Applying Optimization Principle Patterns to Design Real-time Orbs , 2022 .

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

[13]  Grady Booch,et al.  Essential COM , 1998 .

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

[15]  Edward D. Lazowska,et al.  Operating System Support for High-Performance Architectures , 1991, Operating Systems of the 90s and Beyond.

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

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

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

[20]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

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

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

[23]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

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

[25]  Martina Zitterbart,et al.  A Model for Flexible High-Performance Communication Subsystems , 1993, IEEE J. Sel. Areas Commun..

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

[27]  Mark Smith,et al.  Beyond Multiprocessing: Multithreading the SunOS Kernel , 1992, USENIX Summer.

[28]  Guru M. Parulkar,et al.  Design of the APIC: A high performance ATM host-network interface chip , 1995, Proceedings of INFOCOM'95.

[29]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

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

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

[32]  Douglas C. Schmidt,et al.  The design and performance of a CORBA audio/video streaming service , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[33]  Stephen A. Rago,et al.  UNIX system V network programming , 1993, Addison-Wesley professional computing series.

[34]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[35]  J. Duane Northcutt,et al.  SVR4UNIX Scheduler Unacceptable for Multimedia Applications , 1993, NOSSDAV.

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

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

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

[39]  Douglas C. Schmidt Using Design Patterns to Develop High-Performance Object-Oriented Communication Software Frameworks , 1996 .

[40]  Scott Pakin,et al.  Efficient layering for high speed communication: Fast Messages 2.x , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[41]  Douglas C. Schmidt,et al.  The Design and Performance of a Real-Time CORBA Scheduling Service , 2001, Real-Time Systems.

[42]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[43]  Fred Kuhns,et al.  Design and Implementation of QoS enabled OO Middleware , 2000 .

[44]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[45]  Carlos O'Ryan,et al.  The Design and Performance of a Pluggable Protocols Framework for Real-Time Distributed Object Computing Middleware , 2000, Middleware.

[46]  Calton Pu,et al.  Harnessing user-level networking architectures for distributed object computing over high-speed networks , 1998 .

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

[48]  Douglas C. Schmidt,et al.  The Design and Performance of a Scalable ORB Architecture for CORBA Asynchronous Messaging , 2000, Middleware.

[49]  Douglas C. Schmidt,et al.  Operating system support for high-performance, real-time CORBA , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

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

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

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

[53]  Guru M. Parulkar,et al.  Quality of service support for protocol processing within endsystems , 1995, High-Speed Networking for Multimedia Applications.

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

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

[56]  D. Schmidt,et al.  The Design and Performance of RIO A Real-time I / O Subsystem for ORB Endsystems , 1999 .

[57]  Douglas C. Schmidt,et al.  The design and performance of a real-time I/O subsystem , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[58]  Douglas C. Schmidt,et al.  ADAPTIVE: A dynamically assembled protocol transformation, integration and evaluation environment , 1993, Concurr. Pract. Exp..

[59]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

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

[61]  Guru M. Parulkar,et al.  Efficient user-space protocol implementations with QoS guarantees using real-time upcalls , 1998, TNET.