Skip to main content
Log in

The Slack Method: A New Method for Static Allocation of Hard Real-Time Tasks

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

Abstract

This article presents and evaluates the Slack Method, a new constructive heuristic for the allocation (mapping) of periodic hard real-time tasks to multiprocessor or distributed systems. The Slack Method is based on task deadlines, in contrast with other constructive heuristics, such as List Processing. The presented evaluation shows that the Slack Method is superior to list-processing-based approaches with regard to both finding more feasible solutions as well as finding solutions with better objective function values.

In a comparative survey we evaluate the Slack Method against several alternative allocation techniques. This includes comparisons with optimal algorithms, non-guided search heuristics (e.g. Simulated Annealing), and other constructive heuristics. The main practical result of the comparison is that a combination of non-guided search and constructive approaches is shown to perform better than either of them alone, especially when using the Slack Method.

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.

Similar content being viewed by others

References

  • Adán, J. M., Magalhães, M. F., & Ramamritham, K. 1995. Meeting hard real-time constraints using a client-server model of interaction. Proceedings of the 7th Euromicro Workshop on Real-time Systems, pp. 286–293.

  • Altenbernd, Peter. 1995. Deadline-monotonic software scheduling for the co-synthesis of parallel hard real-time systems. Proceedings of the European Design and Test Conference, pp. 190–195.

  • Altenbernd, Peter. 1996a. On the false path problem in hard real-time programs. Proceedings of the 8th Euromicro Workshop on Real-time Systems, pp. 102–107.

  • Altenbernd, Peter. 1996b. Timing analysis, scheduling, and allocation of periodic hard real-time tasks. Dissertation, Computer Science Department, Paderborn University, Germany.

    Google Scholar 

  • Altenbernd, Peter. 1997. CHaRy: The C-LAB hard real-time system to support mechatronical design. Proceedings of the International Conference and Workshop on Engineering of Computer Based Systems ECBS'97, pp. 271–278.

  • Baccouche, L. 1995. Efficient static allocation of real-time tasks using genetic algorithms. Internal Report. Imag Institute, Laboratoire de génie informatique.

  • Blażewicz, J., & Ecker, K. 1994. Multiprocessor task scheduling with resource requirements. Journal of Real-Time Systems 6(1).

  • Cardeira, C., & Mammeri, Z. 1996. Neural network versus max-flow algorithms for multiprocessor real-time scheduling. Proceedings of the 8th Euromicro Workshop on Real-time Systems, pp. 175–180.

  • Chapman, R. 1995. Static timing analysis and program proof. Dissertation, Computer Science Department, University of York.

  • Cheng, B.-C., Stoyenko, A. D., & Marlowe, T. J. 1994. Least-space-time-first scheduling algorithm: A policy for complex real-time tasks in multiple processor systems. Proceedings of the WRTP'94.

  • Chou, T. C. K., & Abraham, J. A. 1982. Load balancing in distributed systems. IEEE Transactions on Software Engineering 8(4): pp. 401–412.

    Google Scholar 

  • Coli, M., & Palazzari, P. 1995. A new method for optimisation of allocation and scheduling in real-time applications. Proceedings of the 7th Euromicro Workshop on Real-time Systems, pp. 262–269.

  • DiNatale, M., & Stankovic, J. A. 1994. Dynamic end-to-end guarantees in distributed real-time systems. Proceedings of the IEEE Real-Time Systems Symposium, pp. 216–227.

  • DiNatale, M., & Stankovic, J. A. 1995. Applicability of simulated annealing methods to real-time scheduling and jitter control. Proceedings of the IEEE Real-Time Systems Symposium.

  • Dück, G., & Scheuer, T. 1990. Threshold accepting: A general purpose optimisation algorithm appearing superior to simulated annealing. Journal of Computational Physics: pp. 161–175.

  • Efe, K. 1982. Heuristic models of task assignment scheduling in distributed systems. IEEE Computer 15(6): 50–56.

    Google Scholar 

  • Ford, L., & Fulkerson, D. 1962. Flows in Networks. Princeton University Press.

  • Glover, F., Taillard, E., & deWarra, D. 1993. A user's guide to Tabu search. Annals of OR 7(x): pp. 3–28.

    Google Scholar 

  • Goldberg, D. E. 1989. Genetic Algorithms in Search, Optimisation, and Machine Learning. Addison-Wesley Pub. Company Inc.

  • Greenwood, G., Lang, C., & Hurley, S. 1995. An evolutionary strategy for scheduling periodic tasks in real-time systems. Applied Decision Technologies, pp. 171–188.

  • Gustafsson, J., & Ermedahl, A. 1997. Deriving annotations for tight calculation of execution time. Proceedings of the Euro-Par'97 Conference.

  • Hansson, H., & Sjödin, M. 1997. CAN-based real-time lab environment. CAN Newsletter (September): pp. 48–49.

  • Hansson, H., Lawson, H., Strömberg, M., & Larsson, S. 1996. BASEMENT: a distributed real-time architecture for vehicle applications. Real-Time Systems 11(3): p. 223–244.

    Google Scholar 

  • Harmon, M. G., Baker, T. P., & Whalley, D. B. 1994. A retargetable technique for predicting execution time of code segments. Journal of Real-Time Systems 7(2): pp. 159–182.

    Google Scholar 

  • Hitchcock, R. B. 1982. Timing verification and the timing analysis program. Proceedings of the 19th Design Automation Conference, pp. 594–603.

  • Hou, C.-J., & Shin, K. G. 1992. Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems. Proceedings of 13th Real-Time Systems Symposium.

  • Jonsson, J. 1997. The impact of application and architecture properties on real-time multiprocessor scheduling. Dissertation, Department of Computer Engineering, Chalmers University of Technology, Göteborg, Sweden.

    Google Scholar 

  • Jonsson, J., Olsson, A., & Vasell, J. 1995. Predicting real-time behaviour for data-flow computations. Proceedings of the 7th Euromicro Workshop on Real-time Systems, pp. 270–275

  • Kim, S. J., & Browne, J. C. 1988. A general approach to mapping of parallel computation upon multiprocessor architectures. Proceedings of the International Conference on Parallel Processing.

  • Kirkpatrick, S., Gelatt, C. D., & Vecchi, M. P. 1983. Optimisation by simulated annealing. Science 220(4589): pp. 671–680.

    Google Scholar 

  • Kopetz, H. 1991. Event-triggered versus time-triggerd real-time systems. Proceedings of the International Workshop on Operating Systems of the 90s and Beyond, pp. 87–101.

  • Lawler, E. L. 1983. Recent results in the theory of machine scheduling. Mathematical Programming: The State of the Art, A. Bachen (ed.), Springer Verlag, pp. 202–233.

  • Leung, J. Y. T., & Whitehead, J. 1982. On the complexity of fixed-priority scheduling of periodic real-time tasks. Performance Evaluation 2(4): pp. 237–250.

    Google Scholar 

  • Nicholson, M. 1993. Allocating and scheduling hard real-time tasks on a point-to-point distributed system. Proceedings of Workshop on Parallel and Distributed Real-Time Systems.

  • Nicholson, M. 1995. Optimisation searches inspired by nature. Qualifying Dissertation, Computer Science Department, University of York.

  • Palis, M. A., Liou, J.-C., & Wei, D. S. L. 1996. Task clustering and scheduling for distributed memory parallel architectures. IEEE Transactions on Parallel and Distributed Systems 7(1): pp. 46–55.

    Google Scholar 

  • Peng, D.-T., & Shin, K. G. 1989. Static allocation of periodic tasks with precedence constraints in distributed real-time systems. Proceedings of the 9th International Conference on Distributed Computing Systems, pp. 190–198.

  • Porto, S. C. S., & Celso, C. R. 1993. A tabu search approach to task scheduling on heterogeneous processors under precedence constraints. Report PUCRioInf-MCC03/93. Pontifícia Universidade Católica do Rio de Janeiro.

  • Puschner, P., & Koza, C. 1989. Calculating the maximum execution time of real-time programs. Journal of Real-Time Systems 1(2): pp. 159–176.

    Google Scholar 

  • Ramamritham, K. 1990. Allocation and scheduling of complex periodic tasks. Proceedings of the 10th International Conference on Distributed Computing Systems, pp. 108–115.

  • Rönngren, S., & Shirazi, B. A. 1995. Static multiprocessor scheduling of periodic real-time tasks with precedence constraints and communication costs. Proceedings of the 28th Annual Hawaii International Conference on System Sciences, pp. 143–152.

  • Sandnes, F. E. 1996. A hybrid genetic algorithm applied to automatic parallel controller code generation. Proceedings of the 8th Euromicro Workshop on Real-time Systems, pp. 70–75.

  • Santos, J., Ferro, E., Orozco, J., & Cayssials, R. 1997. A heuristic approach to the multitask-multiprocessor assignment problem using the empty-slots method and rate monotonic scheduling. Journal of Real-Time Systems 13(2): pp. 167–199.

    Google Scholar 

  • Sarkar, V. 1989. Partitioning and Scheduling Programs for Execution on Multiprocessors. The MIT Press, Cambridge, Massachusetts.

    Google Scholar 

  • Sih, G. C., & Lee, E. A. 1993. Declustering: A new multiprocessor scheduling technique. IEEE Transactions on Parallel and Distributed Systems 4(6): pp. 625–637.

    Google Scholar 

  • Stappert, Friedhelm. 1997. Predicting pipelining and caching behaviour of hard real-time programs. Proceedings of the 9th Euromicro Workshop on Real-time Systems.

  • Tindell, K. 1993. Holistic schedulability analysis for distributed hard real-time systems. Report YCS197. Department of Computer Science, University of York.

  • Tindell, K., Burns, A., & Wellings, A. 1992. Allocating real-time tasks (An NP-hard problem made easy). Journal of Real-Time Systems 4(2): pp. 145–165.

    Google Scholar 

  • Xu, J. 1993. Multiprocessor scheduling of processes with release times, deadlines, precedence, and exclusion relations. IEEE Transactions on Software Engineering 19(2): pp. 139–154.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Altenbernd, P., Hansson, H. The Slack Method: A New Method for Static Allocation of Hard Real-Time Tasks. Real-Time Systems 15, 103–130 (1998). https://doi.org/10.1023/A:1008092427865

Download citation

  • Issue Date:

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

Navigation