Sequential results were obtained using a Sun Microsystems
SPARCstation 10, model 30 with an internal chip speed of 33 MHz and an on-chip
cache of 36 KB. The processor architecture is the SuperSPARC
.
The operating system was SunOS Release 4.1.3 and the machine
had 128 Mb of physical memory.
The multiple-instruction-multiple-data (MIMD) architecture used
for parallelizing cluster identification was the
Thinking Machines 32-processor CM-5.
The CM-5 is a scalable parallel processing
computer using the CMOST operating system which provides
both time-sharing and space-sharing. The CM-5 consists of groups of
processing nodes (PNs) under the control of a control
processor (CP) also known as the partition manager (PM). The group of PNs and the
PM are collectively called a partition with a size
ranging from tens to thousands of processors.
The processors in a 32-node CM-5 are denoted as
, ...,
.
Each partition runs the CMOST operating system---an enhanced
version of UNIX where time-sharing is the natural mode.
Although not exploited in this study, each PN has four
vector unit accelerators (VUs) for enhanced arithmetic performance.
Programming on the CM-5 utilizes one of two paradigms, host/node and hostless. In the host/node paradigm, the CP acts as the host for the program controlling the program flow and the workload assigned to each PN. The host is also responsible for message-passing control and servicing the input/output (I/O) requests generated by the PNs. Furthermore, access to the partition's PNs is only accomplished through the CP. In this paradigm the program is not limited to executing the same program on each of the PNs. A different program may be executing on independent data on each of the PNs in the partition (MIMD).
In the hostless paradigm, the CM-5 is operating in SIMD mode. All of the PNs used by the program will be executing the same code on either the same or different data. The actual amount of work performed by each PN is determined either by data inconsistencies or direct programming references. Because access to the PNs requires a CP, the CMOST operating system provides a limited host program to control the message passing and I/O service request generated by the PNs.
In both situations communication between the CP and the PNs, or between individual PNs, is accomplished through message-passing routines that are supplied in a communications library, CMMD, as an enhancement to one of the supported programming languages. CMMD is primarily used for interprocessor communication - message passing between nodes in the hostless model and between host and nodes in the host/node mode (Thinking Machines Corp., 1993b). Both the sequential and parallel implementations use the C++ programming language and version 2.6.3 of the g++ compiler.