Mutual exclusion scheduling - Baker, Brenda S; Coffman, Edward G (Theoretical computer science, 1996)
Mutual exclusion scheduling is the problem of scheduling unit-time tasks non-preemptively on m processors subject to constraints represented by a graph G, such that tasks represented by adjacent vertices in G must run in disjoint time intervals. This problem arises in load-balancing the parallel solution of partial differential equations by domain decomposition. Minimizing the completion time is NP-hard even if either the number of processors or the completion time is fixed but greater than two. However, polynomial time is sufficient to produce optimal schedules for forests, and simple heuristics perform well on certain classes of graphs. For graphs derived from the two-dimensional domain decomposition problem, heuristics yield solutions within 4 c − 7 time units of optimal, where c is the maximal number of regions that touch each other at a single point in the domain decomposition; these solutions are within a constant factor of optimal.