Abstract
In a parallelizable task model, a task can be parallelized and the component tasks can be executed concurrently on multiple processors. We use this parallelism in tasks to meet their deadlines and also obtain better processor utilisation compared to non-parallelized tasks. Non-preemptive parallelizable task scheduling combines the advantages of higher schedulability and lower scheduling overhead offered by the preemptive and non-preemptive task scheduling models, respectively. We propose a new approach to maximize the benefits from task parallelization. It involves checking the schedulability of periodic tasks (if necessary, by parallelizing them) off-line and run-time scheduling of the schedulable periodic tasks together with dynamically arriving aperiodic tasks. To avoid the run-time anomaly that may occur when the actual computation time of a task is less than its worst case computation time, we propose efficient run-time mechanisms.
We have carried out extensive simulation to study the effectiveness of the proposed approach by comparing the schedulability offered by it with that of dynamic scheduling using Earliest Deadline First (EDF), and by comparing its storage efficiency with that of the static table-driven approach. We found that the schedulability offered by parallelizable task scheduling is always higher than that of the EDF algorithm for a wide variety of task parameters and the storage overhead incurred by it is less than 3.6% of the static table-driven approach even under heavy task loads.
Similar content being viewed by others
References
Belkhale, K. P., and Banerjee, P. 1990. Approximate algorithms for the partitionable independent task scheduling problem. Intl. Conf. on Parallel Processing 1: 72–75.
Blazewicz, J., Drabowski, M., and Weglarz, J. 1986. Scheduling multiprocessor tasks to minimize schedule length. IEEE Trans. on Computers 35(5): 389–393.
Ekmecic, I., Tartalja, I., and Milutinovic, V. 1996. A survey of heterogeneous computing: concepts and systems. Proc. IEEE 84(8): 1127–1146.
Graham, R. L. 1969. Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17(2).
Han, C. C., and Lin, K. J. 1989. Scheduling parallelizable jobs on multiprocessors. Real-Time Systems Symposium: 59–67.
Krishnamoorthy, R., and Ma, E. 1992. An approximate algorithm for scheduling tasks on varying partition sizes in partitionable multiprocessor systems. IEEE Trans. on Computers 41(12): 1572–1579.
Liu, C., and Layland, J. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM 20.
Liu, J. W. S., Lin, K. J., Shih, W. K., Yu, A. C., Chung, J. Y., and Zhao, W. 1991. Algorithms for scheduling imprecise computations. IEEE Computer: 58–68.
Manimaran, G., Siva Ram Murthy, C., and Ramamritham, K. 1995. A new algorithm for dynamic scheduling of parallelizable tasks in real-time multiprocessor systems. Intl. Conf. on High Performance Computing: 267–272 (shorter version of this paper).
Peng, D. T., and Shin, K. G. 1989. Static allocation of periodic tasks with precedence constraints in distributed real-time systems. Intl. Conf. on Distributed Computing Systems: 190–198.
Ramamritham, K., Stankovic, J. A., and Shiah, P.-F. 1990. Efficient scheduling algorithms for real-time multiprocessor systems. IEEE Trans. on Parallel and Distributed Systems 1(2): 184–194.
Ramamritham, K., Fohler, G., and Adan, J. M. 1993. Issues in the static allocation and scheduling of complex periodic tasks. 10th IEEE Workshop on Real-time Operating Systems and Software.
Ramamritham, K., and Stankovic, J. A. 1994. Scheduling algorithms and operating systems support for real-time systems. Proc. IEEE 82(1): 55–67.
Ramamritham, K. 1995. Allocation and scheduling of precedence-related periodic tasks. IEEE Trans. on Parallel and Distributed Systems 6(4): 412–420.
Shen, C., Ramamritham, K., and Stankovic, J. A. 1993. Resource reclaiming in multiprocessor real-time systems. IEEE Trans. on Parallel and Distributed Systems 4(4): 382–397.
Shin, K. G., and Ramanathan, P. 1994. Real-time computing: A new discipline of computer science and engineering. Proc. IEEE 82(1): 6–24.
Wang, Q., and Cheng, K. H. 1992. A heuristic of scheduling parallel tasks and its analysis. SIAM J. Computing 21(2): 281–294.
Xu, J., and Parnas, L. 1990. Scheduling processes with release times, deadlines, precedence, and exclusion relations. IEEE Trans. on Software Engg. 16(3): 360–369.
Zomaya, A. Y. 1996. Parallel processing for real-time simulation: a case study. IEEE Parallel & Distributed Technology: 49–56.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Manimaran, G., Murthy, C.S.R. & Ramamritham, K. A New Approach for Scheduling of Parallelizable Tasks in Real-Time Multiprocessor Systems. Real-Time Systems 15, 39–60 (1998). https://doi.org/10.1023/A:1008022923184
Issue Date:
DOI: https://doi.org/10.1023/A:1008022923184