Skip to main content
Log in

Automated Meta-Control for Adaptable Real-Time Software

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

Abstract

The software meta-controller is an online agent responsible for dynamically adapting an application's software configuration, e.g. altering operational modes and migrating tasks, to best accommodate varying runtime circumstances. In distributed real-time applications such adaptations must be carried out in a manner which maintains the schedulability of all critical tasks while maximizing some notion of system value for all other tasks. For large-scale real-time applications, considering all possible adaptations at the task-level is computationally intractable. This paper presents an automated aggregate approach to software meta-control, appropriate for large-scale distributed real-time systems. The aggregate automated meta-control problem is still NP-hard, but it has very practical approximate solutions. Introduced, here, are two very-effective approximation algorithms, QDP and GG, with very reasonable polynomial time complexity. Both algorithms also provide us with upper bounds for optimum system values, useful for deriving absolute, albeit somewhat pessimistic, measures of actual performance. Extensive Monte Carlo analysis is used to illustrate that expected performance for both algorithms is generally suboptimal by no more than a few percent. Our flexible software meta-control model is also shown to be readily applied to a wide range of time-sensitive applications.

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

  • Agrawal, R. and Ezzat, A. 1985. Processor sharing in NEST: a network of computer workstations. 1st International Conference on Computer Workstations, pp. 198–208.

  • Bihari, T. and Schwan, K. 1988. A comparison of four adaptation algorithms for increasing the reliability of real-time software. Proceedings Ninth Real-Time Systems Symposium, pp. 232–243.

  • Douglis, F. and Ousterhout, J. 1991. Transparent process migration: Design alternatives and the sprite implementation. Software-Practice and Experience 21:757–785.

    Google Scholar 

  • Garey, M. and Johnson, D. 1979 Computers and Intractability-Guide to the Theory of NP-Completeness. Bell Telephone Laboratories, Inc.

  • Gopinath, P. and Schwan, K. 1989. CHAOS: why one cannot have only an operating system for real-time applications. ACM Operating Systems Review 23:106–125.

    Google Scholar 

  • Ibarra, O. and Kim, C. 1975. Fast approximation algorithms for the knapsack and sum of subset problems. Journal of the ACM 22:463–468.

    Google Scholar 

  • Jehuda, J. and Berry, D. 1995. A top layer design approach for adaptive real-time software. 20th IFAC/IFIP Workshop on Real Time Programming.

  • Jehuda, J. 1996. A Top Layer Design Approach to Complex Real-Time Systems. Submitted. PhD thesis, Department of Electrical Engineering, Israel Institute of Technology, Technion, Haifa, Israel.

    Google Scholar 

  • Jehuda, J., Koren, G. and Berry, D. 1995. A time-sharing architecture for complex real-time systems. 1st International Conference on the Engineering of Complex Computer Systems.

  • Johnson, D., Demers, A., Ullmann, J., Garey, M. and Graham, R. 1974. Worst-case performance bounds for simple one dimensional packing algorithms. SIAM Journal of Computing 3:299–325.

    Google Scholar 

  • Kenny, K. and Lin, K. 1991. Building flexible real-time systems using the Flex language. IEEE Computer 24:70–78.

    Google Scholar 

  • Lawler, E. 1977. Fast approximation algorithms for knapsack problems. 18th Annual Symposium on Foundations of Computer Science, pp. 206–213.

  • Lantz, K., Theimer, M. and Cheriton, D. Preemptable remote execution facilities for the V-system. Proceedings of the ACM-SIGOPS 10th ACM Symposium on Operating System Principles, pp. 2–12.

  • Sahni, S. 1975. Approximatie algorithms for the 0/1 knapsack problem. Journal of the ACM 22:115–124.

    Google Scholar 

  • Stankovic, J. and Ramamritham, K. 1989. The Spring kernel: A new paradigm for real-time operating systems. ACM Operating Systems Review 23:54–71.

    Google Scholar 

  • Sha, L., Rugunathan, R., Lehoczky, J., and Ramamritham, K. 1989. Mode change protocols for priority-driven preemptive scheduling. Journal of Real-Time Systems 1:243–264.

    Google Scholar 

  • Walker, B., Popek, G. and English, R. 1983. The LOCUS distributed operating system. Proceedings of the 9th ACM Symposium on Operating System Principles, pp. 49–70.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jehuda, J., Israeli, A. Automated Meta-Control for Adaptable Real-Time Software. Real-Time Systems 14, 107–134 (1998). https://doi.org/10.1023/A:1007907330985

Download citation

  • Issue Date:

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

Navigation