In computer science
, multiprocessor scheduling
is an NP-Complete
optimization problem. The problem statement is: "Given a set J
of jobs where job ji
has length li
and a number of processors mi
, what is the minimum possible time required to schedule all jobs in J
processors such that none overlap?" The applications of this problem are numerous, but are, as suggested by the name of the problem, most strongly associated with the scheduling
of computational tasks in a multiprocessor
A simple often used algorithm is the LPT-Algorithm (Longest Processing Time) which sorts the jobs by its processing time and then assigns them to the machine with the first end time. This algorithm achieves a sharp bound of 4/3 - 1/(3m) OPT.
Since multiprocessor scheduling is NP-Complete
, it can be restated as any other NP-Complete problem. One of the simplest restatements of the problem is as a linear bin packing problem
, where each processor is a "bin", and each job is represented by an object to pack, whose length is proportional to the job's time. Thus, the approximation algorithms
used with bin packing can easily be adapted to multiprocessor scheduling.
- A compendium of NP optimization problems. Editors: Pierluigi Crescenzi, and Viggo Kann