Analyzing a Pre Run-Time Scheduling Algorithm and Precedence Graphs

In the design of time-critical real-time systems, the selection of the scheduling policy is one of the major factors determining the systems' temporal predictability. This paper presents an o -line scheduling algorithm and an analysis of the in uence of various taskset characteristics and algorithmic parameters on the behavior of the algorithm, along with detailed results and their discussion. The algorithm constructs schedules for precedence graphs speci ed for hard real-time multiprocessor systems before run-time. Thus a veri cation of the speci ed timing behavior can be achieved. It is based on a heuristic search strategy. Although designed to determine feasible schedules, the algorithm's aims can be changed easily by modifying the heuristic function. The paper presents and discusses results of an analysis performed by some 10000 scheduler invocations. In uences of precedence graph structures and deadlines on solutions were detected, and pipelining found to be of signi cant di culty, increasing search time and decreasing the number of successes. For non-pipelining cases the heuristic performs reasonably well. A strategy for an \iterative process", gradually increasing search quality and time is derived. The results show that the \pure" algorithm is overly careful and can be modi ed to speed up without reducing the number of solutions found.

[1]  G. Fohler,et al.  Realizing Changes of Operational Modes with a Pre Run-Time Scheduled Hard Real-Time System , 1993 .

[2]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[3]  David S. Johnson,et al.  Complexity Results for Multiprocessor Scheduling under Resource Constraints , 1975, SIAM J. Comput..

[4]  Hermann Kopetz,et al.  Distributed fault-tolerant real-time systems: the Mars approach , 1989, IEEE Micro.

[5]  Dennis W. Leinbaugh Guaranteed Response Times in a Hard-Real-Time Environment , 1980, IEEE Transactions on Software Engineering.

[6]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[7]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[8]  Alexander D. Stoyenko,et al.  A real-time language with a schedulability analyzer , 1988 .

[9]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[10]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[11]  Gerhard Fohler Scheduling eines verteilten Echtzeitsystems mittels heuristischer Suchstrategien , 1988 .

[12]  Jane W.-S. Liu,et al.  Scheduling tasks with AND/OR precedence constraints , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.