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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Sarkar, V. 1989. Partitioning and Scheduling Programs for Execution on Multiprocessors. The MIT Press, Cambridge, Massachusetts.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008092427865