Next: The Intel Paragon Up: The CM-5 at Previous: The CM-5 Hardware

The CM-5 Internal Communication Networks

The CM-5 has two internal networks that support interprocessor communication. They are:

Measured performance or point-to-point communication (which uses the data network) has about 80 microseconds latency (startup time) and 8.7 MB/sec bandwidth.

Global operations generally use the control network and are extremely fast, as long as they do not involve large arrays. Global synchronizations and integer reductions take about 5 microseconds. Global floating point reductions take about 25 microseconds. A broadcast of a single word to all nodes takes about 8 microseconds. An all-to-all gather (CMMD_concat_with_nodes()) takes 42 microseconds for a single word on each node. The broadcast and concatenation operations take longer for longer messages, reaching an aggregate bandwidth of 25 MB/sec and 34 MB/sec on 32 nodes, respectively. The preceding numbers were obtained with CMMD 3.1 final.

The CM-5 I/O System

The CM-5 Software and Programming Environment

Data Parallel Languages

Data Parallel Processing: From the software perspective, an array object refers to all the data elements of the array simultaneously. From the hardware perspective, the separate operations on the array's elements are all performed simultaneously.

CM Fortran: The CM Fortran language is an implementation of Fortran 77 supplemented with array-processing extensions from the ANSI and ISO (draft) standard Fortran 90. These array-processing features map naturally onto the data parallel architecture of the Connection Machine (CM) system, which is designed for computations on large data sets. CM Fortran thus combines:

In Fortran 77, operations are defined only on individual scalars. Operating on an array requires stepping through its elements, explicitly performing the operation on each one. With Fortran 90 constructions, it is not necessary to reference array elements separately by means of subscripts, and it is not necessary to write DO loops or other such control constructs to have the operation repeated for each element. It is sufficient simply to name the array as an operand or argument.

CM Fortran implements the array-processing features of Fortran 90. Features of Fortran 90 in the major areas other than array processing - such as pointers, structures, modules, and precision control - are not part of CM Fortran.

CM Fortran Utility Library: The Utility Library provides convenient access from CM Fortran to the capabilities of lower-level CM software. The purpose is typically to achieve functionality or performance beyond what is currently available from the compiler. CM Fortran programmers can use Utility Library procedures in situations where one is normally tempted to make explicit calls to lower-level software. The CM Utility Library provides parallel I/O which is compatible with the parallel I/O of the CMMD library and the CM Fortran timer.

Software Libraries



Next: The Intel Paragon Up: The CM-5 at Previous: The CM-5 Hardware


xshen@
Sat Dec 3 17:51:03 EST 1994