Skip to main content
Log in

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

There is increasing demand to extend Object RequestBroker (ORB) middleware to support distributed applications withstringent real-time requirements. However, conventional ORB implementations,such as CORBA ORBs, exhibit substantial priority inversion andnon-determinism, which makes them unsuitable for applicationswith deterministic real-time requirements. This paper providestwo contributions to the study and design of real-time ORB middleware.First, it illustrates empirically why conventional ORBs do notyet support real-time quality of service. Second, it evaluatesconnection and concurrency software architectures to identifystrategies that reduce priority inversion and non-determinismin real-time CORBA ORBs. The results presented in this paperdemonstrate the feasibility of using standard OO middleware likeCORBA to support certain types of real-time applications overthe Internet.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Abdelzaher, T., Dawson, S., Feng, W.-C., Jahanian, F., Johnson, S., Mehra, A., Mitton, T., Shaikh, A., Shin, K., Wang, Z., and Zou, H. 1997. ARMADA middleware suite. Proceedings of the Workshop on Middleware for Real-Time Systems and Services. San Francisco, CA, IEEE, December.

    Google Scholar 

  • Campbell, A., and Nahrstedt, K. 1997. Building QoS into Distributed Systems. London: Chapman & Hall. Proceedings of the IFIP TC6 WG6.1 Fifth International Workshop on Quality of Service (IWQOS '97), 21-23 May. New York.

    Google Scholar 

  • Cooper, G., DiPippo, L. C., Esibov, L., Ginis, R., Johnston, R., Kortman, P., Krupp, P., Mauer, J., Squadrito, M., Thuraisingham, B., Wohlever, S., and Wolfe, V. F. 1997. Real-time CORBA development at MITRE, NRaD, tri-Pacific and URI. Proceedings of the Workshop on Middleware for Real-Time Systems and Services. San Francisco, CA, IEEE, December.

    Google Scholar 

  • Deng, Z., and Liu, J. W.-S. 1997. Scheduling real-time applications in an open environment. Proceedings of the 18th IEEE Real-Time Systems Symposium, IEEE Computer Society Press, December.

  • Dittia, Z. D., Cox, Jr., J. R., and Parulkar, G.M. 1995. Design of the APIC:Ahigh performanceATMhost-network interface chip. IEEE INFOCOM '95. Boston, USA, IEEE Computer Society Press, April, pp. 179-187.

    Google Scholar 

  • Dittia, Z. D., Parulkar, G. M., and Cox, Jr., J. R. 1997. The APIC approach to high performance network interface design: Protected DMA and other techniques. Proceedings of INFOCOM '97. Kobe, Japan, pp. 179-187, IEEE, April.

  • Eide, E., Frei, K., Ford, B., Lepreau, J., and Lindstrom, G. 1997. Flick: A flexible, optimizing IDL compiler. Proceedings of ACMSIGPLAN '97 Conference on Programming Language Design and Implementation (PLDI). Las Vegas, NV, ACM, June.

    Google Scholar 

  • Eykholt, J., Kleiman, S., Barton, S., Faulkner, R., Shivalingiah, A., Smith, M., Stein, D., Voll, J., Weeks, M., and Williams, D. 1992. Beyond multiprocessing... multithreading the SunOS kernel. Proceedings of the Summer USENIX Conference. San Antonio, Texas, June.

  • Fay-Wolfe, V., Black, J. K., Thuraisingham, B., and Krupp, P. 1995. Real-time method invocations in distributed environments. Tech. Rep. 95-244, University of Rhode Island, Department of Computer Science and Statistics.

  • Feng, W., Syyid, U., and Liu, J.-S. 1997. Providing for an Open, real-time CORBA. Proceedings of the Workshop on Middleware for Real-Time Systems and Services. San Francisco, CA, IEEE, December.

    Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. DesignPatterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley.

    Google Scholar 

  • Guillemont, M. 1997. CHORUS/ClassiX r3 technical overview (technical report #CS/TR-96-119.13). Tech. rep., Chorus Systems, May.

  • Gokhale, A., and Schmidt, D. C. 1996. Measuring the performance of communication middleware on high-speed networks. Proceedings of SIGCOMM '96. Stanford, CA, pp. 306-317, ACM, August.

  • Gokhale, A., and Schmidt, D. C. 1996. The performance of the CORBA dynamic invocation interface and dynamic skeleton interface over high-speed ATM networks. In Proceedings of GLOBECOM '96. London, England, pp. 50-56, IEEE, November.

  • Gokhale, A., and Schmidt, D. C. 1997. Evaluating the performance of demultiplexing strategies for real-time CORBA. Proceedings of GLOBECOM '97. Phoenix, AZ, IEEE, November.

    Google Scholar 

  • Gokhale, V., and Schmidt, D. C. 1998. Measuring and optimizing CORBA latency and scalability over high-speed networks. Transactions on Computing 47(4).

  • Gokhale, A., and Schmidt, D. C. 1999. Optimizing a CORBA IIOP protocol engine for minimal footprint multimedia systems. Journal on Selected Areas in Communications Special Issue on Service Enabling Platforms for Networked Multimedia Systems 17, September.

  • Gopalakrishnan, R., and Parulkar, G. 1996. Bringing real-time scheduling theory and practice closer for multimedia computing. SIGMETRICS Conference. Philadelphia, PA, ACM, May.

    Google Scholar 

  • Harrison, T. H., Levine, D. L., and Schmidt, D. C. 1997. The design and performance of a real-time CORBA event service. Proceedings of OOPSLA '97. Atlanta, GA, ACM, October.

    Google Scholar 

  • Henning, M. 1998. Binding, migration, and scalability in CORBA. Communications of the ACM special issue on CORBA 41, October.

  • Henning, M., and Vinoski, S. 1999. Advanced CORBA Programming With C++. Addison-Wesley Longman.

  • Hu, J., Pyarali, I., and Schmidt, D. C. 1997. Measuring the impact of event dispatching and concurrency models on web server performance over high-speed networks. Proceedings of the 2nd Global Internet Conference. IEEE, November.

  • Hu, J., Mungee, S., and Schmidt, D. C. 1998. Principles for developing and measuring high-performance web servers over ATM. Proceeedings of INFOCOM '98. March/April.

  • Hutchinson, N. C., and Peterson, L. L. 1991. The x-kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering 17: pp. 64-76, January.

    Google Scholar 

  • Johnson, R. 1997. Frameworks D patterns C components. Communications of the ACM 40, October.

  • Khanna, S., et al. 1992. Realtime scheduling in SunOS 5.0. Proceedings of the USENIX Winter Conference. USENIX Association, pp. 375-390.

  • Kiczales, G. 1997. Aspect-oriented programming. Proceedings of the 11th European Conference on Object-Oriented Programming, June.

  • Klein, M. H., Ralya, T., Pollak, B., Obenza, R., and Harbour, M. G. 1993. A Practitioner's Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems. Norwell, Massachusetts: Kluwer Academic Publishers.

    Google Scholar 

  • Kuhns, F., Schmidt, D. C., and Levine, D. L. 1999. The design and performance of a real-time I/O Subsystem. In Proceedings of the 5th IEEE Real-Time Technology and Applications Symposium. Vancouver, British Columbia, Canada, IEEE, June, pp. 154-163.

    Google Scholar 

  • Landis, S., and Maffeis, S. 1997. Building reliable distributed systems with CORBA. Theory and Practice of Object Systems 3(1): 31-43.

    Google Scholar 

  • Levine, D. L., Flores-Gaitan, S., and Schmidt, D. C. 1999. Measuring OS support for real-time CORBA ORBs. Proceedings of the 4th Workshop on Object-Oriented Real-Time Dependable Systems. Santa Barbara, CA, IEEE, January.

    Google Scholar 

  • Liu, C., and Layland, J. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment.JACM 20, pp. 46-61, January.

    Google Scholar 

  • Mogul, J. C., and Borg, A. 1991. The Effects of Context Switches on Cache Performance. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Santa Clara, CA, ACM, April.

    Google Scholar 

  • Nimmagadda, S., Liyanaarchchi, C., Niehaus, D., Gopinath, A., and Kaushal, A. 1999. Performance patterns: Automated scenario based ORB performance evaluation. Proceedings of the 5th Conference on Object-Oriented Technologies and Systems. San Diego, CA, USENIX, May.

    Google Scholar 

  • Object Management Group. 1996. Control and Management of A/V Streams Request For Proposals, OMG Document telecom/96-08-01 ed., August.

  • Object Management Group. 1997. Control and Management of Audio/Video Streams: OMG RFP Submission, 1.2 ed., March.

  • Object Management Group. 1997. Minimum CORBA-Request for Proposal, OMG Document orbos/97-06-14 ed., June.

  • Object Management Group. 2000. The Common Object Request Broker: Architecture and Specification, 2.2 ed., February.

  • Object Management Group. 2000. CORBA Messaging Specification, OMG Document orbos/98-05-05 ed., May.

  • Object Management Group. 2000. Minimum CORBA-Joint Revised Submission, OMG Document orbos/98-08-04 ed., August.

  • Object Management Group. 1999. Realtime CORBA Joint Revised Submission, OMG Document orbos/99-02-12 ed., March.

  • Object Management Group. 1999. The Common Object Request Broker: Architecture and Specification, 2.3 ed., June.

  • P. S. Inc. 1996. Quantify User's Guide. PureAtria Software Inc.

  • Pyarali, I., O'Ryan, C., Schmidt, D. C., Wang, N., Kachroo, V., and Gokhale, A. 1999. Applying Optimization Patterns to the Design of Real-time ORBs. Proceedings of the 5th Conference on Object-Oriented Technologies and Systems. San Diego, CA, USENIX, May.

    Google Scholar 

  • Rajkumar, R., Sha, L., and Lehoczky, J. P. 1988. Real-time synchronization protocols for multiprocessors. In Proceedings of the Real-Time Systems Symposium. Huntsville, Alabama, December.

  • Ritchie, D. 1984. A stream input-output system. AT&T Bell Labs Technical Journal 63, pp. 311-324, October.

    Google Scholar 

  • Schmidt, D. C. 1998. Evaluating architectures for multi-threaded CORBA object request brokers. Communications of the ACM special issue on CORBA 41, October.

  • Schmidt, D. C., and Cleeland, C. 1999. Applying patterns to develop extensible ORB middleware. IEEE Communications Magazine 37: April.

  • Schmidt, D. C., Gokhale, A., Harrison, T., and Parulkar, G. 1997. A high-performance endsystem architecture for real-time CORBA. IEEE Communications Magazine 14, February.

  • Schmidt, D. C., Levine, D. L., and Mungee, S. 1998. The design and performance of real-time object request brokers. Computer Communications 21: 294-324.

    Google Scholar 

  • Schmidt, D. C., Mungee, S., Flores-Gaitan, S., and Gokhale, A. 1998. Alleviating priority inversion and nondeterminism in real-time CORBA ORB core architectures. Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium. Denver, CO, IEEE, June.

    Google Scholar 

  • Schmidt, D., and Vinoski, S. 1996. Comparing alternative programming techniques for multi-threaded CORBA servers: Thread-per-request. C++ Report 8, February.

  • Schmidt D., and Vinoski, S. 1996. Comparing alternative programming techniques for multi-threaded CORBA servers: Thread pool. C++ Report 8, April.

  • Schmidt, D., and Vinoski, S. 1996. Comparing alternative programming techniques for multi-threaded CORBA servers: Thread-per-object. C++ Report 8, July.

  • Schmidt, D., Stal, M., Rohnert, H., and Buschmann, F. 2000. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. New York, NY: Wiley and Sons.

    Google Scholar 

  • Stevens, W. R. 1993. TCP/IP Illustrated, Volume 2. Reading, Massachusetts: Addison Wesley.

    Google Scholar 

  • Thuraisingham, B., Krupp, P., Schafer, A., and Wolfe, V. 1994. On real-time extensions to the common object request broker architecture. Proceedings of the Object Oriented Programming, Systems, Languages, and Applications (OOPSLA) Workshop on Experiences with CORBA. ACM, October.

  • Wolfe, V. F., DiPippo, L. C., Ginis, R., Squadrito, M., Wohlever, S., Zykh, I., and Johnston, R. 1997. Realtime CORBA. Proceedings of the Third IEEE Real-Time Technology and Applications Symposium. Montréal, Canada, June.

  • Zinky, J. A., Bakken, D. E., and Schantz, R. 1997. Architectural support for quality of service for CORBA objects. Theory and Practice of Object Systems 3(1). 1997.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schmidt, D.C., Mungee, S., Flores-Gaitan, S. et al. Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers. Real-Time Systems 21, 77–125 (2001). https://doi.org/10.1023/A:1011195304563

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011195304563

Navigation