MPI makes it relatively easy to write portable parallel programs. However, one thing that MPI does not standardize is the environment within which the parallel program is running. There are two basic types of parallel environments: parallel computers and clusters of workstations. Naturally, a parallel computer (usually) provides an integrated, relatively easy way of running parallel programs. Clusters of workstations and other computers, on the other hand, usually have no standard way of running a parallel program and will require some additional setup. The MPICH implementation is designed to hide these differences behind the mpirun script; however, if you need special features or options or if you are having problems running your programs, you will need to understand the differences between these systems.