Approximating Real-Time Scheduling on Identical Machines [chapter]

Nikhil Bansal, Cyriel Rutten, Suzanne van der Ster, Tjark Vredeveld, Ruben van der Zwaan
2014 Lecture Notes in Computer Science  
We study the problem of assigning n tasks to m identical parallel machines in the real-time scheduling setting, where each task recurrently releases jobs that must be completed by their deadlines. The goal is to find a partition of the task set over the machines such that each job that is released by a task can meet its deadline. Since this problem is co-NP-hard, the focus is on finding α-approximation algorithms in the resource augmentation setting, i.e., finding a feasible partition on
more » ... s running at speed α ≥ 1, if some feasible partition exists on unit-speed machines. Recently, Chen and Chakraborty gave a polynomial-time approximation scheme if the ratio of the largest to the smallest relative deadline of the tasks, λ, is bounded by a constant. However, their algorithm has a super-exponential dependence on λ and hence does not extend to larger values of λ. Our main contribution is to design an approximation scheme with a substantially improved running-time dependence on λ. In particular, our algorithm depends exponentially on log λ and hence has quasi-polynomial running time even if λ is polynomially bounded. This improvement is based on exploiting various structural properties of approximate demand bound functions in different ways, which might be of independent interest. Supported by the NWO VIDI grant 639.022.211. system, such that all jobs from all tasks meet their deadlines. In this paper, we consider the feasibility question of scheduling a set of sporadic tasks to multiple identical machines (processors). This problem and related problems in real-time scheduling have received great attention in the last years; see for example [1, 4, 6] and the references therein. Single-processor case: Determining the feasibility of a task system on a single (preemptive 4 ) processor is quite well-understood. It is well-known that the hardest case for feasibility is when the first jobs of all tasks arrive simultaneously and all subsequent jobs arrive as rapidly as legally possible [5] . That is, we can assume that for each task τ in the task system, the jobs of τ arrive at times 0, p τ , 2p τ , . . .. This sequence of job-arrivals is called the synchronous arrival sequence. Another well-known fact [11] is that the Earliest Deadline First (EDF) algorithm, that schedules at any time the job with the earliest absolute deadline, will always produce a valid schedule for any sequence of jobs that is feasible. Although one can validate whether a task system is feasible by running EDF, this does not provide an efficient polynomial-time feasibility test. The problem is that the periodic nature of jobs together with their relative deadlines can introduce complicated long-range dependencies. In particular, the infeasibility may occur only at a very late time in the schedule, say close to the hyperperiod (which is the least common multiple of the periods of the tasks). In fact, no polynomial-time feasibility test on a uniprocessor is likely to exist, unless P=co-NP [10] . For more results on scheduling sporadic task systems on a single processor, we refer to Baruah and Goosens [4]. Multiprocessor case: For multiprocessor systems, there are two main paradigms for scheduling: global vs. partitioned scheduling. In partitioned scheduling each task is assigned to one of the machines and all jobs corresponding to this task must be scheduled on that machine. In global scheduling, tasks can use all machines and jobs can even be migrated. Partitioned scheduling is used much more than global scheduling as it is easier to implement and has no communication overhead, which is required if a single task is split between multiple processors. The communication may also lead to security issues. In this paper, we only consider partitioned scheduling. Observe that in this setting, given a partition of the tasks over the machines, determining its feasibility simply reduces to several independent uniprocessor feasibility problems -one for each machine. Together with the facts for uniprocessor feasibility, the problem we study can be viewed as follows: Find a partition of tasks among machines, such that for each machine, the synchronous arrival sequence for tasks assigned to that machine is feasible for EDF. Clearly, this problem is also co-NP-hard and, as we shall see, it is also NP-hard. Resource Augmentation and α-feasibility: The hardness of the problem leads us to finding a good approximation algorithm. As usual, we consider the resource
doi:10.1007/978-3-642-54423-1_48 fatcat:zlkmukgscvdddp2nuwoe5qbmmq