Next | Prev | Up | Top | Contents | Index
Parallel Programs on Uniprocessors
It might seem a contradiction, but it is possible to execute some parallel programs in uniprocessors. Obviously you would not do this expecting the best performance. However:
- It is possible to restrict and assign the available CPUs of a multiprocessor so that only one CPU is available to execute a given program, even a program intended to use parallel execution. This can arise as a brief transient condition as IRIX dynamically assigns CPUs to programs, or it can arise through the operator using commands such as mpadmin (see the mpadmin(1) reference page).
- It is easier to debug a parallel program by running it in the more predictable environment of a uniprocessor.
Most parallel programming models adapt to the available hardware, running concurrently on multiple CPUs (up to some programmer-defined limit) when the CPUs are available, but running on a limited number, or even just one CPU, when necessary. For example, the Fortran programmer can control the number of CPUs used by a MIPpro Fortran 77 program by setting environment variables before the program starts (see "Using Statement-Level Parallelism").
Next | Prev | Up | Top | Contents | Index