# Connection Machine

The Connection Machine (CM) is a member of a series of massively parallel supercomputers sold by Thinking Machines Corporation. The idea for the Connection Machine grew out of doctoral research on alternatives to the traditional von Neumann architecture of computers by Danny Hillis at Massachusetts Institute of Technology (MIT) in the early 1980s. Starting with CM-1, the machines were intended originally for applications in artificial intelligence (AI) and symbolic processing, but later versions found greater success in the field of computational science.

## Origin of idea

Danny Hillis and Sheryl Handler founded Thinking Machines Corporation (TMC) in Waltham, Massachusetts, in 1983, moving in 1984 to Cambridge, MA. At TMC, Hillis assembled a team to develop what would become the CM-1 Connection Machine, a design for a massively parallel hypercube-based arrangement of thousands of microprocessors, springing from his PhD thesis work at MIT in Electrical Engineering and Computer Science (1985). The dissertation won the ACM Distinguished Dissertation prize in 1985, and was presented as a monograph that overviewed the philosophy, architecture, and software for the first Connection Machine, including information on its data routing between central processing unit (CPU) nodes, its memory handling, and the programming language Lisp applied in the parallel machine. Very early concepts contemplated just over a million processors, each connected in a 20-dimensional hypercube, which was later scaled down.

## Designs

Thinking Machines Connection Machine models :
| | 1984 | 1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1991 | 1991 | 1992 | 1993 | 1994 |
| | Custom architecture | Custom architecture | Custom architecture | Custom architecture | Custom architecture | Custom architecture | Custom architecture | Custom architecture | | RISC-based (SPARC) | RISC-based (SPARC) | RISC-based (SPARC) | RISC-based (SPARC) |
| Entry | — | — | — | — | CM-2a | CM-2a | CM-2a | CM-2a | | — | — | — | — |
| Mainstream | — | CM-1 | CM-1 | CM-2 | CM-2 | CM-2 | — | — | | CM-5 | CM-5 | CM-5E | CM-5E |
| Hi-end | — | — | — | — | CM-200 | CM-200 | CM-200 | CM-200 | | | | | CM-5 | CM-5 | CM-5E | CM-5E |
| expansions |||||||||||||||
| Storage | — | — | — | DataVault | DataVault | DataVault | DataVault | DataVault | DataVault | DataVault | — | — | — |
Each CM-1 microprocessor has its own 4 kilobits of random-access memory (RAM), and the hypercube-based array of them was designed to perform the same operation on multiple data points simultaneously, i.e., to execute tasks in single instruction, multiple data (SIMD) fashion. The CM-1, depending on the configuration, has as many as 65,536 individual processors, each extremely simple, processing one bit at a time. CM-1 and its successor CM-2 take the form of a cube 1.5 meters on a side, divided equally into eight smaller cubes. Each subcube contains 16 printed circuit boards and a main processor called a sequencer. Each circuit board contains 32 chips. Each chip contains a router, 16 processors, and 16 RAMs. The CM-1 as a whole has a 12-dimensional hypercube-based routing network (connecting the 2$^{12}$ chips), a main RAM, and an input-output processor (a channel controller). Each router contains five buffers to store the data being transmitted when a clear channel is not available. The engineers had originally calculated that seven buffers per chip would be needed, but this made the chip slightly too large to build. Nobel Prize-winning physicist Richard Feynman had previously calculated that five buffers would be enough, using a differential equation involving the average number of 1 bits in an address. They resubmitted the design of the chip with only five buffers, and when they put the machine together, it worked fine. Each chip is connected to a switching device called a nexus. The CM-1 uses Feynman's algorithm for computing logarithms that he had developed at Los Alamos National Laboratory for the Manhattan Project. It is well suited to the CM-1, using as it did, only shifting and adding, with a small table shared by all the processors. Feynman also discovered that the CM-1 would compute the Feynman diagrams for quantum chromodynamics (QCD) calculations faster than an expensive special-purpose machine developed at Caltech.
To improve its commercial viability, TMC launched the CM-2 in 1987, adding Weitek 3132 floating-point numeric coprocessors and more RAM to the system. Thirty-two of the original one-bit processors shared each numeric processor. The CM-2 can be configured with up to 512 MB of RAM, and a redundant array of independent disks (RAID) hard disk system, called a DataVault, of up to 25 GB. Two later variants of the CM-2 were also produced, the smaller CM-2a with either 4096 or 8192 single-bit processors, and the faster CM-200.
Due to its origins in AI research, the software for the CM-1/2/200 single-bit processor was influenced by the Lisp programming language and a version of Common Lisp, *Lisp (spoken: Star-Lisp), was implemented on the CM-1. Other early languages included Karl Sims' IK and Cliff Lasser's URDU. Much system utility software for the CM-1/2 was written in *Lisp. Many applications for the CM-2, however, were written in C*, a data-parallel superset of ANSI C.
With the CM-5, announced in 1991, TMC switched from the CM-2's hypercubic architecture of simple processors to a new and different multiple instruction, multiple data (MIMD) architecture based on a fat tree network of reduced instruction set computing (RISC) SPARC processors. To make programming easier, it was made to simulate a SIMD design. The later CM-5E replaces the SPARC processors with faster SuperSPARCs. A CM-5 was the fastest computer in the world in 1993 according to the TOP500 list, running 1024 cores with Rpeak of 131.0 GFLOPS, and for several years many of the top 10 fastest computers were CM-5s.

## Visual design

Connection Machines were noted for their striking visual design. The CM-1 and CM-2 design teams were led by Tamiko Thiel. The physical form of the CM-1, CM-2, and CM-200 chassis was a cube-of-cubes, referencing the machine's internal 12-dimensional hypercube network, with the red light-emitting diodes (LEDs), by default indicating the processor status, visible through the doors of each cube.
By default, when a processor is executing an instruction, its LED is on. In a SIMD program, the goal is to have as many processors as possible working the program at the same time – indicated by having all LEDs being steady on. Those unfamiliar with the use of the LEDs wanted to see the LEDs blink – or even spell out messages to visitors. The result is that finished programs often have superfluous operations to blink the LEDs.
The CM-5, in plan view, had a staircase-like shape, and also had large panels of red blinking LEDs. Prominent sculptor-architect Maya Lin contributed to the CM-5 design.

## Surviving examples
### Permanent exhibits

* The very first CM-1 is on permanent display in the Computer History Museum, Mountain View, California, which also has two other CM-1s and CM-5.
* There is a decommissioned CM-1 or CM-2 on display in the main building of the Karlsruhe Institute of Technology computer science department. Students have converted it into a Bluetooth-controlled LED matrix display which can be used to play games or display art.
* A CM-2 with flashing red LED arrays and its accompanying DataVault storage unit are on permanent display at the Mimms Museum of Technology and Art in Roswell, Georgia.
* There is a CM-200 on permanent display at École Polytechnique Fédérale de Lausanne in Switzerland, part of the exhibition space of Musée Bolo.

### Past exhibits, Museum collections

* The Museum of Modern Art in New York City displayed a CM-2 in 2018. They continue to house the machine in their collection.
* A CM-2 is in the collection of the Swedish National Museum of Science and Technology (Tekniska Museet) in Stockholm, Sweden.
* Several parts of a CM-1 are in the collection of the Smithsonian Institution National Museum of American History, though it may not be a complete example.
* The Living Computers: Museum + Labs in Seattle displayed a CM-2 with flashing LEDs prior to its closing in 2020. It is possible this machine is now in private hands, though it is not listed among the objects auctioned by Christie's.

### Private collections

* As of 2007, a preserved CM-2a was owned by the Corestore, a type of online-only museum.

## References in popular culture

A CM-5 was featured in the film Jurassic Park in the control room for the island (instead of a Cray X-MP supercomputer as in the novel). Two banks, one bank of 4 Units and a single off to the right of the set could be seen in the control room.
The computer mainframes in Fallout 3 were inspired heavily by the CM-5.
Cyberpunk 2077 features numerous CM-1/CM-2 style units in various portions of the game.
The b-side to Clock DVA's 1989 single "The Hacker" is titled "The Connection Machine" in reference to the CM-1.