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.