The goal of this paper to identify and discuss the basic issues of parallel processing on clusters of workstations (COWs). Firstly, paralel system architectures are presented. A COW is identified as one of the very promising parallel architectures. Parallel computational models such as Single Program, Multiple Data (SPMD) and Multiple Programs, Multiple Data (MPMD) which can efficiently be supported on COWs are introduced. The folliwing parallel programming approaches supporting identification and expressing parallelism in application programs are discussed: parallel programming languages, parallel programming tools, parallelizing compilers, and sequential programming supported by distributed shared memory (DSM). Since parallel execution requires an efficient management of computational resources, a parallel execution environment is built based on a distributed operating system. This system, in order to allow parallel programs to achieve high performance, should provide services such as global scheduling, process migration, local and remote process creation, computation coordination, group communicationand distributed shaed memory. The generic parallel programs following both the SPMD and MPMD computational models with RHODOS primitives invoking these services are presented.
展开▼