Static-Priority Real-Time Scheduling: Response Time Computation Is NP-Hard

Abstract

This paper is concerned with a classical problem in real-time scheduling. We are given n tasks (c1, p1), . . . , (cn, pn), where each task is determined by a running time ci and a period pi ≥ ci. Each task generates a job of length ci at each integer multiple of pi (starting at time 0), which has to be finished before the next job is released; the jobs have implicit deadlines, i.e., the deadlines are given by the periods themselves. A preemptive, static-priority schedule consists of a priority assignment to all tasks, such that jobs of higher priority always preempt jobs of lower priority. Liu and Layland [LL73] have shown that the rate-monotonic schedule is optimal. Meaning that if there is any feasible priority assignment, then all jobs will meet their deadline if task i has priority 1/pi. This means that the computation of an optimal schedule is tractable. Still an important problem remains: Is there a polynomial algorithm which decides whether a task in this schedule is feasible, i.e., whether each job of a task finishes before its implicit deadline? The response time of a task is the maximum amount of time that may elapse between the arrival of a job of this task and its completion. It was already shown in [LL73] that the time required by the first job of each task defines its response time. If rj denotes the response time of the task (cj , pj), then the system is feasible, if and only if rj ≤ pj holds for each j. What is this number rj and how can it be computed? Assume that the periods are ordered, i.e., p1 ≤ p2 ≤ . . . ≤ pn. The first job of task (cj , pj) needs time rj . While it is running, the i-th task, i < j,

DOI: 10.1109/RTSS.2008.25

Extracted Key Phrases

1 Figure or Table

Cite this paper

@inproceedings{Eisenbrand2008StaticPriorityRS, title={Static-Priority Real-Time Scheduling: Response Time Computation Is NP-Hard}, author={Friedrich Eisenbrand and Thomas Rothvo\ss}, booktitle={RTSS}, year={2008} }