コネクションマシン(CM )は、 Thinking Machines Corporationが販売する超並列スーパーコンピュータシリーズの一つです。コネクションマシンの構想は、 1980年代初頭にマサチューセッツ工科大学(MIT)のダニー・ヒリスが、従来のフォン・ノイマン型コンピュータアーキテクチャに代わるものについて行った博士課程の研究から生まれました。CM-1から始まったこのマシンは、当初は人工知能(AI)や記号処理の分野での応用を想定していましたが、後のバージョンでは計算科学の分野でより大きな成功を収めました。
ダニー・ヒリスとシェリル・ハンドラーは、1983年にマサチューセッツ州ウォルサムでシンキング・マシーンズ・コーポレーション(TMC)を設立し、1984年にマサチューセッツ州ケンブリッジに移転しました。TMCで、ヒリスは、MITの電気工学およびコンピュータ科学の博士論文(1985年)から生まれた、数千個のマイクロプロセッサのハイパーキューブベースの大規模並列構成の設計であるCM-1コネクションマシンを開発するためのチームを編成しました。 [ 3 ]この博士論文は1985年にACM優秀博士論文賞を受賞し、[ 4 ]最初のコネクションマシンの哲学、アーキテクチャ、ソフトウェアの概要をまとめたモノグラフとして発表されました。これには、中央処理装置(CPU)ノード間のデータルーティング、メモリ処理、並列マシンで使用されたプログラミング言語Lispに関する情報が含まれています。 [ 3 ] [ 5 ]ごく初期のコンセプトでは、それぞれが20次元のハイパーキューブで接続された100万個強のプロセッサが想定されていましたが、[ 6 ]後に規模が縮小されました。

各 CM-1 マイクロプロセッサは独自の 4キロビットのランダムアクセスメモリ(RAM) を持ち、ハイパーキューブベースのアレイは、複数のデータポイントに対して同じ操作を同時に実行するように、つまり、単一命令複数データ ( SIMD ) 方式でタスクを実行するように設計されている。CM-1 は、構成に応じて最大 65,536 個の個別のプロセッサを持ち、それぞれが非常に単純で、一度に1 ビットを処理する。CM-1 とその後継機CM-2 は、一辺1.5メートルの立方体の形をしており、8 つの小さな立方体に均等に分割されている。各サブキューブには、16 枚のプリント回路基板とシーケンサと呼ばれるメインプロセッサが含まれている。各回路基板には 32 個のチップが含まれている。各チップには、ルータ、16 個のプロセッサ、および 16 個の RAM が含まれている。CM-1 全体としては、12 次元ハイパーキューブベースのルーティングネットワーク (2 12 個のチップを接続)、メイン RAM、および入出力プロセッサ (チャネルコントローラ)を備えている。各ルータには、クリアチャネルが利用できない場合に送信中のデータを格納するためのバッファが 5 つ搭載されています。エンジニアたちは当初、チップあたり 7 つのバッファが必要だと計算していましたが、これではチップが少し大きくなりすぎて製造が困難でした。ノーベル賞受賞物理学者リチャード・ファインマンは、アドレス内の 1 ビットの平均数を含む微分方程式を用いて、5 つのバッファで十分であることを既に計算していました。彼らは 5 つのバッファのみでチップの設計を再提出し、マシンを組み立てたところ、問題なく動作しました。各チップは、ネクサスと呼ばれるスイッチング デバイスに接続されています。CM-1 は、ファインマンがマンハッタン計画のためにロスアラモス国立研究所で開発した対数計算アルゴリズムを使用しています。このアルゴリズムは、すべてのプロセッサで共有される小さなテーブルを使用し、シフトと加算のみを行うため、CM-1 に最適です。ファインマンはまた、CM-1 が、カリフォルニア工科大学で開発された高価な専用マシンよりも高速に量子色力学(QCD) 計算用のファインマン図を計算できることも発見しました。 [ 7 ] [ 8 ]
商業的な実現可能性を高めるため、TMCは1987年にCM-2を発売し、Weitek 3132浮動小数点数値コプロセッサとRAMをシステムに追加しました。オリジナルの1ビットプロセッサ32個が各数値プロセッサを共有していました。CM-2は最大512MBのRAMと、 DataVaultと呼ばれる最大25GB の冗長アレイ独立ディスク(RAID)ハードディスクシステムで構成できます。CM-2の後期の2つの派生型も製造され、 4096または8192のシングルビットプロセッサを搭載した小型のCM-2aと、より高速なCM-200がありました。
人工知能研究に端を発するCM-1/2/200シングルビットプロセッサのソフトウェアは、Lispプログラミング言語の影響を受けており、 CM-1にはCommon Lispの一種である*Lisp(発音:Star-Lisp)が実装された。初期の言語には、カール・シムズのIKやクリフ・ラッサーのURDUなどもあった。CM-1/2のシステムユーティリティソフトウェアの多くは*Lispで記述された。しかし、CM-2のアプリケーションの多くは、 ANSI Cのデータ並列スーパーセットであるC*で記述された。
1991年に発表されたCM-5では、TMCはCM-2の単純なプロセッサのハイパーキュービックアーキテクチャから、RISC SPARCプロセッサのファットツリーネットワークに基づく新しい異なるマルチ命令マルチデータ( MIMD )アーキテクチャに移行しました。プログラミングを容易にするために、 SIMD設計をシミュレートするように作られました。後のCM-5Eでは、SPARCプロセッサがより高速なSuperSPARCに置き換えられました。1993年のTOP500リストによると、CM-5は1024コアでRpeak 131.0 G FLOPSを実行し、世界最速のコンピュータでした。数年間、最速コンピュータのトップ10の多くはCM-5でした。[ 9 ]

コネクションマシンは、その印象的なビジュアルデザインで知られていました。CM-1とCM-2の設計チームはタミコ・ティールが率いていました。[ 10 ] CM-1、CM-2、CM-200シャーシの物理的な形状は、マシンの内部にある12次元ハイパーキューブネットワークを参照したキューブ・オブ・キューブで、各キューブのドアから見える赤色の発光ダイオード(LED)は、デフォルトではプロセッサの状態を示しています。
デフォルトでは、プロセッサが命令を実行している間は、そのプロセッサのLEDが点灯します。SIMDプログラムでは、できるだけ多くのプロセッサが同時にプログラムを実行することが目標であり、これはすべてのLEDが点灯している状態として示されます。LEDの使い方に不慣れな人は、LEDを点滅させたり、訪問者にメッセージを表示させたりすることを望みました。その結果、完成したプログラムには、LEDを点滅させるための余分な処理が含まれていることがよくあります。
CM-5は、平面図では階段のような形状をしており、赤い点滅LEDの大きなパネルも備えていた。著名な彫刻家兼建築家のマヤ・リンがCM-5のデザインに貢献した。[ 11 ]
映画『ジュラシック・パーク』では、島の制御室にCM-5が登場した(小説ではCray X-MPスーパーコンピュータが使われていた)。制御室には2つのバンク、1つのバンクに4台のユニット、そしてセットの右側に1台のユニットが見られた。[ 24 ]
Fallout 3のコンピュータ メインフレームは、CM-5 から大きな影響を受けている。[ 25 ]
『サイバーパンク2077』には、ゲームの様々な場面でCM-1/CM-2スタイルのユニットが多数登場する。
Clock DVAの1989年のシングル「The Hacker」のB面は、CM-1にちなんで「The Connection Machine」と題されている。
Machines Connection Machine CM-200スーパーコンピュータ。ローザンヌのEPFLにあるMusée Boloに展示されている。