On the Parallelization of Sequential Programs

Parallelization of sequential programs for MIMD computers is considered. In general, the major steps included in the parallelization process are: program partitioning into a task system, derivation of a parallel task system, scheduling and execution of this task system on a multiprocessor system. We present a general framework for an automatic maximally parallel task system generator which may be useful as a component of the code parallelization process. The framework is based on the concept of maximally parallel task systems, a concept which has been mainly used for designing operating systems.