Processor allocation and loop scheduling on multiprocessor computers

  • Authors:
  • Nadia Tawbi;Paul Feautrier

  • Affiliations:
  • -;-

  • Venue:
  • ICS '92 Proceedings of the 6th international conference on Supercomputing
  • Year:
  • 1992

Quantified Score

Hi-index 0.01

Visualization

Abstract

This paper is concerned with the automatic exploitation of the parallelism detected in a sequential program. The target machine is a shared memory multiprocessor.The main goal is minimizing the completion time of the program. To achieve this, one has first to distribute the code over the processors, then to schedule the parts of the code in order to minimize the execution time while preserving the semantics. This problem is NP-complete.Loop scheduling and processor allocation are the main problems. However we are also able to deal with so-called control parallelism. Allocation and scheduling are performed at compile time. For a given processor allocation, we use list scheduling algorithm to compute the elapsed time, which is then optimized by the Tabu heuristic.The estimation of each component execution time is based on knowledge of average execution time of the operators and built-in functions and on the estimation of iteration space size.Experimentations on the Encore-Multimax machine show that on a representative set of scientific programs, the efficiency we obtained is in almost all the cases greater than 80%, as soon as the problem size is large enough.