Task scheduling on multiprocessors

The paper describes a technique for estimating the minimum execution time of an algorithm or a mix of algorithms on a multiprocessor. Bottlenecks that would have to be removed to further reduce the execution time are identified. The main applications are for designing special purpose. dedicated multiprocessors. Today, a bewildering array of computer components * processors and devices with which to interconnect them are available. The future will bring even more of these components. To intelligently choose mixes of them one needs systematic procedures. In the procedure of this paper the multiprocessors are modelled by P. a set of processors and R, a set of resources that the processors can use. The algorithms are modelled by T. an ordered set of tasks. The problem of optimally assigning tne processors to the tasks while meeting the resource constraints is NP-complete. A heuristic using maximum weighted matchings on graphs has been devised that is extremely fast and produces solutions that are reasonably close to the optimal solutions. The heuristic has been coded in Fortran and illustrations of its use included.