Think in G Machines Corporation Connection
Total Page:16
File Type:pdf, Size:1020Kb
THINK ING MACHINES CORPORATION CONNECTION MACHINE TECHNICAL SUMMARY The Connection Machine System Connection Machine Model CM-2 Technical Summary ................................................................. Version 6.0 November 1990 Thinking Machines Corporation Cambridge, Massachusetts First printing, November 1990 The information in this document is subject to change without notice and should not be construed as a commitment by Thinking Machines Corporation. Thinking Machines Corporation reserves the right to make changes to any products described herein to improve functioning or design. Although the information in this document has been reviewed and is believed to be reliable, Thinking Machines Corporation does not assume responsibility or liability for any errors that may appear in this document. Thinking Machines Corporation does not assume any liability arising from the application or use of any information or product described herein. Connection Machine® is a registered trademark of Thinking Machines Corporation. CM-1, CM-2, CM-2a, CM, and DataVault are trademarks of Thinking Machines Corporation. C*®is a registered trademark of Thinking Machines Corporation. Paris, *Lisp, and CM Fortran are trademarks of Thinking Machines Corporation. C/Paris, Lisp/Paris, and Fortran/Paris are trademarks of Thinking Machines Corporation. VAX, ULTRIX, and VAXBI are trademarks of Digital Equipment Corporation. Symbolics, Symbolics 3600, and Genera are trademarks of Symbolics, Inc. Sun, Sun-4, SunOS, and Sun Workstation are registered trademarks of Sun Microsystems, Inc. UNIX is a registered trademark of AT&T Bell Laboratories. The X Window System is a trademark of the Massachusetts Institute of Technology. StorageTek is a registered trademark of Storage Technology Corporation. Trinitron is a registered trademark of Sony Corporation. Copyright © 1990 by Thinking Machines Corporation. All rights reserved. Thinking Machines Corporation 245 First Street Cambridge, Massachusetts 02142-1264 (617) 234-1000/876-1111 Contents ..? ,' ...;.,. I--I~-......>,.s; Part I The Parallel Environment Parallel Architecture...................... Chapter 1 ................. 3 1.1 System Organization ........................... ................. 3 1.2 Data Parallel Hardware ........................ ................. 4 1.3 Data Parallel Computation ...................... ................. 7 1.4 Data Parallel Software ......................... ................. 12 Chapter 2 The Operating System Environment. ................. 13 2.1 The Front-End Environment .................... ................. 13 2.2 Partitioning the Connection Machine System ....... ................. 14 2.3 The NQS Batch System ........................ ................. 15 2.4 Timesharing .................................. ................. 17 2.5 The Program Development Environment .......... ................. 17 2.6 The Program Execution Environment ............. ................. 18 2.7 The Connection Machine File System ............. ................. 19 2.8 CM Diagnostics .............................. ................. 20 Part II Parallel Software Chapter 3 Languages ............................ ................. 23 3.1 Establishing Parallel Data Structures ......... ................. 24 3.2 Establishing Linkages among Data Elements .. ................. 24 3.3 Establishing Scalar Data ................... ................. 25 3.4 Operations on Mixed Data ................. ................. 25 3.5 Conditionals ............................ ................. 25 111 iv Connection MachineModel CM-2 TechnicalSummary iv Connection Machine Model CM-2 Technical Summary Chapter 4 Fortran ..................... ........... .................... 27 4.1 Structuring Parallel Data ......... ........... .................... 27 4.2 Computing in Parallel ............ ........... .................... 29 4.3 Communicating in Parallel ........ ........... .................... 30 4.4 Transforming Parallel Data ....... ........... .................... 32 4.5 To Learn More ................. ........... .................... 33 Chapter 5 The C* Language ......... 35 ............. .......... .......... 5.1 Structuring Parallel Data ....... ............. .......... .......... 35 5.2 Computing in Parallel .......... ............. .......... .......... 37 5.3 Communicating in Parallel ...... ............. .......... .......... 38 5.4 Transforming Parallel Data ..... ............. .......... .......... 40 Chapter 6 The *Lisp Language .... 41 ............. ............ .......... 6.1 Structuring Parallel Data ..... ............. ............ .......... 42 6.2 Computing in Parallel ........ ............. ............ .......... 45 6.3 Communicating in Parallel .... ............. ............ .......... 46 6.4 Transforming Parallel Data ... ............. ............ .......... 48 Chapteir 7 CM Scientific Software Library ... ........................ 51 7.1 CMSSL Capabilities .................... ........................ 51 7.2 CMSSL Parallel Computation ............ ........................ 53 7.3 Linear Algebra ........................ ........................ 56 7.4 Fast Fourier Transforms ................. ........................ 58 7.5 Random Number Generators ............. ........................ 59 7.6 Statistical Analysis ..................... ........................ 60 Chapter 8 Data Visualization ................. ........................ 61 8.1 Visualization Output from the CM System.. ........................ 62 8.2 *Render .............................. ........................ 63 8.3 Generic Display Interface ............... ........................ 65 8.4 Image File Interface .................... ........................ 67 Contents v C.nn - - - - - - -- - - Vr. Part m Parallel Architecture Chapter 9 Paris ....................................................... 71 9.1 Virtual Machine Archiectu ..................................... 71 9.2 Instruction Set Overview ...................... 75 Chapter 10 CM-2 Architecture .............. ........................... 81 10.1 Processor Architecture ............... .......................... 83 10.2 The Parallel Processing Array ........ ........................... 83 10.3 The Floating-Point Accelerator ........ ............. ............ 85 10.4 The Router ........................ .. .. .. ...... .. ... .. 86 10.5 The NEWS Grid .................... ......... ........ ........ 88 10.6 Scans and Spreads .................. .... ... ........ ........ 89 10.7 Communication with the Front End .... ......... ........ ........ 90 Chapter 11 Data and Image UO ...................... 91 11.1 Data I/O Channels ............................ ...... ..... 91 11.2 Data I/O Overview ............................ ...... ..... 92 11.3 Graphics Output for Data Visualization ........... 93 ............. 11.4 CM I/O Controller ............................ 93 .... ... ... 11.5 CMIO Bus ................................... 94 Chapter 12 The DataVault ............................ .97 ................. 12.1 The File Server ............................... ................. 99 12.2 Writing and Reading Data ...................... ................. 100 12.3 Data Protection ............................... 101 ................. Chapter 13 CMIO Intelligent Bus Interfaces .. 103 13.1 HIPPI Bus Interface .................... ....... ....... ....... 103 13.2 VMEbus Interface...................... .... .... .... .... ... 104 13.3 SCSI Bus Interface ..................... ........................ 105 Chapter 14 The Graphics Display System ..... 107 14.1 Connection Machine Framebuffer ......... 107 14.2 The Monitor.......................... 109 v i ··I· :i· i- an P ..:.:··3-i -;· I:; :· ·-, .----- :i- ·- : ? ' i:: Connection Machine Model CM-2 and DataVault System The Connection Machine Model CM-2 uses thousands of processors operating in parallel to achieve peak processing speeds of above 10 gigaflops. The DataVault mass storage system stores up to 60 gigabytes of data. vii Part I The Parallel Environment 2. Chapter 1 Parallel Architecture The Connection Machine Model CM-2 is a data parallel computing system. Data parallel computing associates one processor with each data element. This computing style exploits the natural computational parallelism inherent in many data-intensive problems. It can sig- nificantly decrease the execution time of a problem, as well as simplify its programming. Execution time is frequently reduced in proportion to the number of data elements in the computation; programming effort is reduced in proportion to the complexity involved in expressing a naturally parallel problem statement in a serial manner. The Connection Machine Model CM-2 is an integrated system of hardware and software. The hardware elements of the system include front-end computers that provide the devel- opment and execution environments for the users' software, a parallel processing unit of 64K processors that executes the data parallel operations, and a high-performance data parallel I/O system. Software elements begin with the standard operating system and program development environment of the front-end computer and enhance that environ- ment with extensions to standard languages and tools that facilitate data parallel program development. Users write programs using familiar languages and constructs, taking advan- tage of the full, enhanced front-end development environment. When they choose, they can also call on CM language features and library routines specifically designed to handle tasks and