Flexible Soft Real-Time Processing in Middleware | Real-Time Systems Skip to main content
Log in

Flexible Soft Real-Time Processing in Middleware

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

Abstract

As desktop computer computational power continues to increase dramatically, it is becoming commonplace to run a combination of deadline-sensitive applications. Despite the proliferation of computational power, the detailed nature of these applications causes new problems for the system resource allocation mechanisms. First, these applications are designed to meet their deadlines as long as nearly all the system's resources are available to them; once the system approaches saturation, the collective applications will fail to meet their deadlines. To aggravate the situation, conventional best effort managers will allocate resources to the competing applications based on a static form of equitability rather than addressing the dynamic relative benefit provided by each application. Second, the applications differ from conventional real-time applications: though members of this new class of desktop applications are sensitive to deadlines, their constraints are non-critical. They are also typically designed to use the full spectrum of functions provided by a general purpose system call interface rather than the more limited interface of a real-time operating system (OS). This paper describes a flexible soft real-time system design that addresses these two problems. The CPU scheduling strategy accommodates the community of applications by taking application benefit into account during times of heavy load. Applications are written to use the full interface of a general purpose system call interface, yet the system is able to schedule them according to their deadlines and resource reservation and availability. This paper describes the theoretical foundation of the approach, additional application responsibilities, the design of a middleware system to implement the approach, and then it presents an extensive set of experimental studies that demonstrate the behavior of the approach. The Dynamic QoS Manager middleware (implemented on top of two different versions of Unix), is shown to be a highly effective system for supporting contemporary soft real-time desktop applications.

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

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abdelzaher, T., Atkins, E. and Shin, K. 1997. QoS negotiation in real-time systems and its application to automated flight control. In Proceedings of the 3rd IEEE Real-Time Technology and Applications Symposium.

  2. Abdelzaher, T. and Shin, K. 1998. End-host architecture for QoS-adaptive communication. In Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium.

  3. Braden, R., Zhang, L., Berson, S., Herzog, S., and Jamin, S. 1997. Resource ReSerVation Protocol (RSVP)—Version 1 Functional Specification, RFC 2205.

  4. Brandt, S. 1999. Dynamic soft real-time processing with QoS level resource management. Ph.D. Thesis, University of Colorado.

  5. Brandt, S., Nutt, G., Berk, T., and Mankovich, J. 1998. A dynamic quality of service middleware agent for mediating application resource usage. In Proceedings of the 19th IEEE Real-Time Systems Symposium.

  6. Brandt, S., Nutt, G., Berk, T., and Humphrey, M. 1998. Soft real-time application execution with dynamic quality of service assurance. In Proceedings of the 6th IEEE/IFIP International Workshop on Quality of Service.

  7. Brandt, S., Nutt, G., and Klingenstein, K. 1998. A discrete and dynamic approach to application/operating system QoS resource management. In Proceedings of the 1st Internet2 Joint application/Engineering QoS Workshop.

  8. Chen, K., and Muhlethaler, P. 1996. A scheduling algorithm for tasks described by time value function. Real-Time Systems 10.

  9. Chu, H., and Nahrstedt, K. 1997. A soft real time scheduling server in UNIX operating system. Proceedings of the European Workshop on Interactive Distributed Multimedia Systems and Telecommunication Services.

  10. Compton C., and Tennenhouse, D. 1993. Collaborative load shedding. Proceedings of the Workshop on the Role of Real-Time in Multimedia/Interactive Computing Systems.

  11. Fan, C. 1995. Realizing a soft real-time framework for supporting distributed multimedia applications. In Proceedings of the 5th IEEE Workshop on the Future Trends of Distributed Computing Systems.

  12. Feng W., and Liu, J. 1997. Algorithms for scheduling real-time tasks with input error and end-to-end deadlines. IEEE Transactions on Software Engineering 20(2).

  13. Ferrari, D., Gupta, A., and Ventre, G. 1995. Distributed advance reservations of real-time connections. In Proceedings of the 5th International Workshop on Network and Operating System Support for Digital Audio and Video.

  14. Hull, D., Feng, W., and Liu, J. 1996. Operating system support for imprecise computation. In Proceedings of the AAAI Fall Symposium on Flexible Computation.

  15. Humphrey, M., Berk, T., Brandt, S., Nutt, G. 1997. The DQM architecture: middleware for application-centered QoS resource management. Proceedings of the IEEE Workshop on Middleware for Distributed Real-Time Systems and Services.

  16. Ibaraki, T., and Katoh, N. 1988. Resource Allocation Problems, Algorithmic Approaches. The MIT Press, Cambridge, Massachusetts.

    Google Scholar 

  17. Jeffay, K., Smith, F., Moorthy, A., and Anderson, J. 1998. Proportional share scheduling of operating system services for real-time applications. In Proceedings of the 19th Real-Time Systems Symposium.

  18. Jeffay, K., and Bennett, D. 1995. A rate-based execution abstraction for multimedia computing. In Proceedings of the 5th International Workshop on Network and Operating System Support for Digital Audio and Video.

  19. Jensen, E., Locke C., and Tokuda, H. 1985. A time-driven scheduling model for real-time operating systems. In Proceedings of the 6th IEEE Real-Time Systems Symposium.

  20. Jones, C., and Atkinson, D. 1998. Development of opinion-based audiovisual quality models for desktop video-teleconferencing. In Proceedings of the 6th International Workshop on Quality of Service.

  21. Jones, M., Rosu, D., and Rosu, M. 1997. CPU reservations and time constraints: efficient predictable scheduling of independent activities. In Proceedings of the 16th ACM Symposium on Operating Systems Principles.

  22. Kay J., and Lauder, P. 1988. A fair share scheduler. Communications of the ACM 31(1).

  23. Kravets, R., Calvert, K., and Schwan, K., Payoff adaptation of communication for distributed interactive applications. Journal for High Speed Networking: Special Issue on Multimedia Networking, to appear.

  24. Lee, C., and Siewiorek, D. 1998. An approach for quality of service management. CMU Technical Report #CMU-CS-98-165.

  25. Mercer, C., Savage, S., and Tokuda, H. 1994. Processor capacity reserves: operating system support for multimedia applications. Proceedings of the International Conference on Multimedia Computing and Systems.

  26. Nahrstedt, K., Chu, H., Narayan, S. 1998. QoS-aware resource management for distributed multimedia applications. Journal on High-Speed Networking.

  27. Nichols, K., Jacobson, V., and Zhang, L. 1997. A two-bit differentiated services architecture for the Internet, Internet Draft.

  28. Nieh, J., and Lam, M. 1997. The design, implementation and evaluation of SMART: a scheduler for multimedia applications. In Proceedings of the 16th ACM Symposium on Operating Systems Principles.

  29. Nutt, G., Brandt, S., Griff, A., Siewert, S., Berk, T., and Humphrey, M., Dynamically negotiated resource management for data intensive application suites. IEEE Transactions on Knowledge and Data Engineering, to appear.

  30. Rajkumar, R., Lee, C., Lehoczky J. and Siewiorek, D. 1997. A resource allocation model for QoS management. In Proceedings of the 18th IEEE Real-Time Systems Symposium.

  31. Rajkumar, R., Lee, C., Lehoczky, J., and Siewiorek, D. 1998. Practical solutions for QoS-based resource allocations. In Proceedings of the 19th IEEE Real-Time Systems Symposium.

  32. Smith, S. 1997. The Scientist and Engineer's Guide to Digital Signal Processing, California Technical Publishing.

  33. Steere, D., Goel, A., Gruenberg, J., McNamee, D., Pu, C. and Walpole, J. 1999. A feedback-driven proportion allocator for real-rate sheduling. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation.

  34. Teitelbaum, B., Sikora, J., and Hanss, T. 1998. Quality of service for Internet2. In Proceedings of the 1st Internet2 Joint Application/Engineering Workshop.

  35. Tokuda, H., and Kitayama, T. 1993. Dynamic QoS control based on real-time threads. In Proceedings of the 3rd International Workshop on Network and Operating Systems Support for Digital Audio and Video.

  36. Tokuda, H., Nakajima, T., and Rao, P. 1990. Real-time Mach: towards a predictable real-time system. Proceedings of USENIX Mach Workshop.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brandt, S.A., Nutt, G.J. Flexible Soft Real-Time Processing in Middleware. Real-Time Systems 22, 77–118 (2002). https://doi.org/10.1023/A:1013433504150

Download citation

  • Issue Date:

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