JPH0844683A - フォールト・トレラント・プロセッサ相互間ネットワークを備えた大規模マルチプロセッサ・システム - Google Patents

フォールト・トレラント・プロセッサ相互間ネットワークを備えた大規模マルチプロセッサ・システム

Info

Publication number
JPH0844683A
JPH0844683A JP3636995A JP3636995A JPH0844683A JP H0844683 A JPH0844683 A JP H0844683A JP 3636995 A JP3636995 A JP 3636995A JP 3636995 A JP3636995 A JP 3636995A JP H0844683 A JPH0844683 A JP H0844683A
Authority
JP
Japan
Prior art keywords
processor
units
processor unit
unit
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3636995A
Other languages
English (en)
Inventor
W Horst Robert
ダブリュー ホースト ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH0844683A publication Critical patent/JPH0844683A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/803Three-dimensional arrays or hypercubes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 各プロセッサ・ユニットが高利用度を有し、
システムが保持するデータへのアクセスと提供に使用で
きる帯域幅を備えた大規模並列処理システムを構築す
る。 【構成】 多数の個別プロセッサ・ユニットを接続して
大規模並列プロセッサが構成される。冗長なバス機構に
よるデータ通信用に相互接続された一または複数のプロ
セッサ・ユニットを含む複数のプロセッサ部が形成され
る。続いて、プロセッサ部はトロイダル構成により相互
接続され、横と縦の列の配列を形成する。各プロセッサ
部は二重通信路により4つの隣接プロセッサ部に接続さ
れる。これにより、任意の一つのプロセッサ・ユニット
から他の任意のプロセッサ・ユニットへのデータ通信用
に少なくとも2つの個別の経路が提供される。各プロセ
ッサ・ユニットは、三次元への拡張においてプロセッサ
部配列を相互接続するために使用できる個別の入出力バ
ス機構を含んでいる。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は、データ処理システムに向けられ
ている。具体的には、本発明は、ネットワーク内の多数
の処理ユニットが並列トポロジーで相互接続されて、大
規模並列処理システムを形成する並列処理環境に向けら
れている。
【0002】
【発明の背景】今日の産業における様々な商業用の応用
分野に、並列処理が利用されてきている。例えば、多数
の個別のトランザクション(商取引)を取り扱うオンラ
イン・トランザクション処理においては、小さなタスク
が複数のプロセッサ間に分配され、素早く処理される。
並列処理の他の応用として、記録保持および意思決定処
理のために、または多数のユーザへアクセス可能な情報
記憶を提供するメディア・サービスとして、大規模デー
タベースを保持およびアクセスするものがある。並列処
理特有の利点は、多様な大量データを処理する能力にあ
る。例えば、多数の記憶装置間に分散可能な多様なデー
タの検索を要する意思決定処理における大量のデータ処
理がある。また、並列プロセッサのメディア・サーバの
応用分野として、オン・ディマンドによる映画のような
インタラクティブなサービス環境がある。このサービス
は、膨大な数の顧客に、読出し可能メモリ(例えば、デ
ィスク記憶装置)に記憶された動画を保存する大きな供
給源へのアクセスを提供する。この後者の応用分野で
は、並列プロセッサが、要求された動画の発見、選択お
よび読出しを行い、続いて要求元の顧客に選択した動画
を送信することによって、複数のリクエストに同時にサ
ービスを提供するように要求されることがよくある。
【0003】並列処理の応用分野を制限する因子とし
て、システムの高い利用度(例えば、1日24時間、1年
365 日の運用)に対する要求がある。この要求は、シス
テムのサイズ(例えば、システムを構成するプロセッサ
・ユニットの数)を制限するように働く。この制限は、
システムの構成要素の数が増加すると、それだけ構成要
素の故障する機会が増加するという事実に基づくもので
ある。
【0004】並列プロセッサ・システムのサイズを制限
するより重大なものとして、並列処理環境においてよく
行われる大量データのアクセスおよび移動に利用できる
通信路の数がある。また、大量のデータの検索、移動お
よび通信のいずれかまたは全てを必要とする使用におい
て、大規模並列処理システムが非効率的になるように、
システムの個別のプロセッサ・ユニットの個数が増加す
るので、制限されたスループットの問題は悪化する。通
信路の数が少ないと、並列処理技術によってもたらされ
る処理速度および処理能力が制限される。一方、通信路
の数を増加させると、構成要素の故障が、並列プロセッ
サ全体でなくても、並列プロセッサの重要な部分をダウ
ンさせる危険を増加させる傾向にある。
【0005】したがって、各プロセッサ・ユニットが高
利用度を有し、かつ、システムが保持するデータへのア
クセスおよび提供に使用できる帯域幅を備えた大規模並
列処理システムを構築するための、多数のプロセッサ・
ユニットの相互接続技術およびアーキテクチャが必要と
されている。
【0006】
【発明の概要】本発明は、現在利用可能(入手可能)な
エレメントを組み込んで複数の個別のプロセッサ・ユニ
ットを相互接続し、大規模並列プロセッサを形成するよ
うにされている。この大規模並列プロセッサは、例え
ば、従来のいわゆる「最新鋭」のスーパコンピュータよ
りもずっと安価にすることができる。そして、本発明
は、従来のものと同程度またはより高い計算能力の性能
をより高めるものである。さらに、前記相互接続は、プ
ロセッサ・ユニットのグループ間のデータ通信路を形成
する。この相互接続は、単一の構成要素の故障が、この
並列プロセッサの任意の部分を使用不能にすることがな
いように冗長を有する。実際に、これらのプロセッサ・
ユニットのグループ間を相互接続したネットワーク・ト
ポロジーは、プロセッサ・ユニットの任意の一つのグル
ープと任意の他のグループとの間に複数のデータ通信路
を備えている。これにより、冗長通信路のあるものが完
全に故障しても、この並列プロセッサの性能または処理
に重大な影響はない。
【0007】本発明によるマルチプロセッサ・システム
は、複数のプロセッサ部であって、各プロセッサ部が一
または二以上のプロセッサ・ユニットおよび前記一また
は二以上のプロセッサ・ユニット間でデータ通信を行う
ために前記プロセッサ・ユニットを相互接続する手段を
備えているプロセッサ部、ならびに前記プロセッサ部か
らなる第1の数の横列および前記プロセッサ部からなる
第2の数の縦列の配列に、かつ、前記配列における前記
複数のプロセッサ部の任意の一つから前記複数のプロセ
ッサ部の任意の他のものへデータを通信するための循環
通信路をプロセッサ部の各横列および各縦列用に確立す
る方法で、前記複数のプロセッサ部を相互接続する手段
を備え、前記相互接続する手段が、前記複数のプロセッ
サ部の任意の一つと前記複数のプロセッサ部の隣接する
4つのプロセッサ部との間に少なくとも二つの通信路を
備えているものである。
【0008】本発明による大規模並列処理システムを構
成する方法は、各プロセッサ部が相互間のデータ通信の
ために相互接続された少なくとも一対のプロセッサ・エ
レメントを含む、そのような複数のプロセッサ部を設
け、プロセッサ部グループのそれぞれが、前記プロセッ
サ部グループの前記プロセッサ部が2つのデータ通信路
によって互いに通信するためのリング状データ通信路を
形成する手段を含む、そのような第1の数のプロセッサ
部グループを形成する様式で前記プロセッサ部を相互接
続し、第2の数のプロセッサ部の対応するもののそれぞ
れが前記第1のプロセッサ部グループの対応する一つに
含まれ、前記第2の数のもののそれぞれのプロセッサ部
間でデータを通信するための2つの通信路を形成する様
式で、前記第2の数のプロセッサ部の対応するものを相
互接続するものである。
【0009】本発明の他の構成によるマルチプロセッサ
・システムは、それぞれが一または二以上のプロセッサ
・エレメントとプロセッサ・エレメント間の通信用のプ
ロセッサ・エレメント相互接続手段とを備えている第1
の複数のプロセッサ部、プロセッサ部の少なくとも第1
および第2の横列を形成するための前記プロセッサ部を
相互接続する手段、ならびに前記第1および第2の横列
の各列の各プロセッサ部の対応するものを相互接続し
て、前記第1および第2の横列の各列の各プロセッサ部
の、前記第1および第2の横列の他方のそれぞれへの二
重通信路を提供する二重リング状通信路を形成する手段
を備えている。
【0010】また、本発明による並列プロセッサ・シス
テムは、各サブシステムがプロセッサ部にグループ化さ
れた複数のプロセッサ・ユニットを含む、そのような多
数の並列プロセッサ・サブシステム、前記多数の並列プ
ロセッサ・サブシステムの各サブシステムのプロセッサ
・ユニット間でのデータ通信用のリング・データ通信路
を形成する第1の手段、および前記並列プロセッサ・サ
ブシステムの前記多数のプロセッサ部の対応するもの
を、それらの間のデータ通信用のリング構成で相互接続
する第2の手段を備えている。前記プロセッサ部のそれ
ぞれは、前記複数のプロセッサ・ユニットの少なくとも
一つを備えている。前記第1および第2の手段には、光
ファイバのデータ通信路が含まれる。
【0011】さらに、本発明による並列処理システム
は、各プロセッサ部がプロセッサ相互間通信用のプロセ
ッサ・バス手段によって相互に接続された少なくとも一
対のプロセッサ・ユニットを含む、そのような複数のプ
ロセッサ部、ならびに前記複数のプロセッサ部を横およ
び縦の列に並べた配列(アレイ)状に相互接続する手段
を備えている。前記相互接続手段は、データ通信用に、
前記複数のプロセッサ部のそれぞれ1つを前記複数のプ
ロセッサ部の他の4つに接続する一対のバス手段を含ん
でいる。各横列および各縦列の前記プロセッサ部は、二
重のデータ通信リング構成で前記相互接続手段によって
ともに接続される。前記各プロセッサ部のプロセッサ・
ユニットを接続する前記バス手段は、少なくとも第1お
よび第2のバス手段を含んでいてもよい。また、この並
列処理システムは、前記第1および第2のバス手段を前
記一対のバス手段の対応する一つに接続する回路手段を
含んでいてもよい。
【0012】本発明は、広く、多数の自己充足的なプロ
セッサ・ユニット(例えば、それぞれが自己のメモリ・
システム、入出力(I/O)、周辺装置等を備えてい
る)の相互接続に向けられている。この相互接続は、任
意の他のプロセッサ・ユニットに接続された少なくとも
2つのデータ通信路を各プロセッサに設ける方法で行わ
れる。本発明の一構成において、少数(例えば、1以上
4以下)のプロセッサ・ユニットが冗長なバス機構によ
り相互接続され、「プロセッサ部」を形成する。プロセ
ッサ部は、二重リングのデータ通信路によって相互接続
され、複数のプロセッサ部からなる横および縦の配列
(アレイ)を形成する。この配列の各プロセッサ部は、
その4つの隣接するプロセッサ部(配列の端部ないし周
辺に配置され、反対側の周辺にあるプロセッサ部に接続
されているプロセッサ部を含む)に向かう2つの直接通
信路を備えている。これにより、各プロセッサ部は、こ
の配列内の任意の他のプロセッサ部に向かう少なくとも
4つのデータ通信路を備えることになる。
【0013】その結果、複数のプロセッサ・ユニットの
トロイダル(環状の)相互接続が形成され、フォールト
・トレラント性(故障に対する許容性)と、並列プロセ
ッサにおける任意の一つのプロセッサ・ユニットから他
の任意のプロセッサ・ユニットへの、高い帯域幅のデー
タ通信路とを備えた大規模並列プロセッサが形成され
る。
【0014】本発明の他の構成においては、プロセッサ
部の第1の配列が上述のように相互接続される。この第
1の配列は、各プロセッサ部の一または二以上のプロセ
ッサ・ユニットに利用可能なI/O路を用いて、プロセ
ッサ部の第2の配列(第1の配列と同じように構成され
る)に接続できる。これにより、複数のプロセッサ・ユ
ニットからなる三次元配列が、大規模並列プロセッサを
形成するために使用される。
【0015】本発明の実施例においては、各プロセッサ
部のプロセッサ・ユニットは、一般に、データ通信用
に、米国特許第4,228,496 号に示されるものに基づく二
重のプロセッサ相互間バス機構によって相互接続され
る。但し、この技術分野の専門家(当業者)ならば、他
のプロセッサ相互間接続をプロセッサ部内のプロセッサ
・ユニットに使用してもよいことが分かるであろう。配
列の一方向(例えば、縦列(カラム))におけるプロセ
ッサ部間の接続は、米国特許第4,667,287 号および第4,
663,706 号に示された装置および方法を使用して達成さ
れることが好ましい。配列のもう一つの方向(例えば、
横列(行、ロー))におけるプロセッサ部間の接続は、
1990年10月17日に出願された米国特許出願第07/599,325
号に示された装置および方法を使用することが好まし
い。この米国特許出願は、本出願と同一の出願人により
出願されている。
【0016】任意のプロセッサ部内におけるプロセッサ
相互間のデータ通信(メッセージ通信)には、プロセッ
サ相互間バス機構が使用される。あるプロセッサ部の任
意のプロセッサ・ユニットと別のプロセッサ部のプロセ
ッサ・ユニットとの間のデータ通信は、先ず、適切な接
続装置へのプロセッサ相互間バス機構により、続いて、
目的のプロセッサ・ユニットを有するプロセッサ部への
相互接続リンクにより、そして、目的のプロセッサ・ユ
ニットへのプロセッサ相互間バス機構により行われる。
異なるプロセッサ部のプロセッサ・ユニット間でデータ
通信が行われる場合に、相互接続装置は、目的のプロセ
ッサ部およびプロセッサ・ユニットへの送信のために、
相互接続リングによって提供される2つの可能な経路の
うちの最短のものを選択する。一方、配列内の異なる横
列にあるプロセッサ部間でデータ通信が行われる場合に
は、データは、先ず、「垂直方向」(すなわち、横列か
ら横列へ)の通信路により、目的のプロセッサ・ユニッ
トがある横列まで通信される。続いて、データは、「水
平方向」(すなわち、その横列内)の通信路により、目
的のプロセッサ部(およびそのプロセッサ部内にある目
的のプロセッサ・ユニット)へ送信される。ここで、あ
る横列から他の横列への通信路、および目的の横列内に
おける通信路の双方において、可能な最短経路が選択さ
れる。
【0017】本発明によって、多くの利点が達成され
る。第1の利点は、複数のプロセッサ・ユニット間にフ
ォールト・トレラント性のある相互接続が実現されるこ
とである。すなわち、データ通信路に故障が生じても、
システムまたはシステムの重要部分がダウンすることは
ない。あるデータ通信路が故障しても、他の通信路が利
用できる。したがって、本発明は、高い利用度を有する
並列プロセッサを提供する。
【0018】本発明のもう一つの利点は、スループット
が大幅に増加することである。並列プロセッサ・システ
ムを構成する個別のプロセッサ・ユニットのグループ間
の相互接続の数が増加するので、データの通信量が増加
され、システムを通過する入出力データも増加される。
【0019】これらの利点および他の利点は、以下の本
発明の詳細な説明を、図面を参照しながら読むことによ
り、当業者には明らかになるであろう。
【0020】
【実施例】図1は、並列処理システム(参照符号10)を
簡単化した形で示している。並列処理システム10は、複
数のプロセッサ部12を備えている。各プロセッサ部12
は、一または二以上のプロセッサ・ユニットを有する。
本発明によると、各プロセッサ部12に含まれるプロセッ
サ・ユニットの数は、4つに制限されることが好まし
い。この主な理由は、一つのプロセッサ部におけるプロ
セッサ・ユニット間のデータ通信に使用されるバス機構
の過負荷を避けるためである。
【0021】プロセッサ部12はリング状の水平方向通信
路14によって相互接続され、複数のプロセッサ部からな
る横列15が形成されている。同様にして、通信路16がプ
ロセッサ部12を縦方向にリング状に相互接続し、複数の
プロセッサ部からなる縦列17が形成されている。図1に
示すように、通信路14および16のそれぞれは、各プロセ
ッサ部12の任意の方向に一対の通信路を備えており、冗
長を有する。したがって、例えば、通信路141 は、プロ
セッサ部121 に対して、横列151 内の他のプロセッサ部
122 および123 の任意のものへのデータ通信用に4つの
個別ルートを提供する。4つのルートのうちの2つは、
プロセッサ部121 をその隣接するプロセッサ部122 に直
接接続するものであり、他の2つのルートは、プロセッ
サ部121をもう一方の隣接するプロセッサ部123 (横列1
51 内)に直接接続するものである。プロセッサ部121
がプロセッサ部123 に通信データを送信する必要がある
場合に、プロセッサ部121 は4つのルートのうちのいず
れか一つにより送信を行うことができる。2つは直接行
うものであり、他の2つはプロセッサ部122 を経由して
行うものである。実際には、このような通信は、可能な
最短経路(ここでは直接に接続された経路)(利用可能
ならば)を用いて行われる。
【0022】同様にして、プロセッサ部12は、通信路16
によって縦列17の方向に相互接続されている。この通信
路16も冗長構成を有する。したがって、横列15の方向に
おいて、各プロセッサ部12は、その同じ横列17内の任意
のプロセッサ部12への4つの有効な通信路を備えてい
る。
【0023】通信路14および16によって提供されるリン
グ状の相互接続によって、各プロセッサ部12には、他の
任意のプロセッサ部12への複数のメッセージ・ルートが
提供される。例えば、プロセッサ部121 がプロセッサ部
128 に通信メッセージを送信する場合に、垂直方向通信
路161 および162 ならびに水平方向通信路141 、142
よび143 の任意の組合せを使用することができる。好ま
しいルートは、簡単のために、プロセッサ121 から縦方
向通信路(すなわち、通信路161 )に沿って、目的のプ
ロセッサ部12を含む横列15まで進み、続いて、目的のプ
ロセッサ部12(すなわち、プロセッサ部128 )を含む通
信路143 に沿って進むルートである。
【0024】さらに、プロセッサ部121 からプロセッサ
部128 への可能な最短ルートが選択されるであろう。し
たがって、メッセージ・データは、プロセッサ部121
らプロセッサ部124 へ、そして、そこから横列153 のプ
ロセッサ部127 へ送信されるよりも、プロセッサ部121
からプロセッサ部127 へ直接送信するルートに沿って送
信されるであろう。目的の横列153 のプロセッサ部127
にデータが受信されると、メッセージ・データは、再び
水平方向の最短路に沿って、目的のプロセッサ部128
送信される(すなわち、プロセッサ部129 を経由してプ
ロセッサ部128へ送信されるのではなく、プロセッサ部1
27 からプロセッサ部128 へ直接送信される)。したが
って、本発明は、並列処理システム10の複数のプロセッ
サ・ユニット間のデータ通信のために付加的な経路を提
供するだけでなく、送信側プロセッサ・ユニット(プロ
セッサ部)から目的のプロセッサ・ユニット(プロセッ
サ部)への最短経路が取られることを保証する方法で通
信が行われる。
【0025】図2は、一つのプロセッサ部12n の構成を
示している。プロセッサ部12n は、前述の米国特許第4,
228,496 号に示されているようなデータ通信用のプロセ
ッサ相互間バス機構24によって相互接続されている、実
質的に同一の構成を有する4つのプロセッサ・ユニット
20を有する。このプロセッサ部は、これよりも少ない数
のプロセッサ・ユニット20(例えば、1〜3個)を含ん
でいてもよいし、横列15または縦列17のプロセッサ部が
異なる個数のプロセッサ・ユニットを備えていてもよ
い。
【0026】プロセッサ・ユニット20のそれぞれは、入
出力(I/O)システムを備えている。I/Oシステム
は、種々の周辺装置および周辺コントローラ(例えば、
プロセッサ・ユニット20のディスク記憶ユニット27への
アクセスを制御するディスク・コントローラ26)の双方
またはいずれか一方にプロセッサ・ユニット20を接続す
るI/Oバス22を含んでいる。米国特許第4,228,496 号
に示されているように、ディスク・コントローラ26は第
2のポートを有する。この第2のポートは、他のプロセ
ッサ・ユニット20に対して、記憶ユニット27へのアクセ
スおよびその制御を提供する。プロセッサ・ユニット20
のそれぞれは、バス機構24によって相互接続されてい
る。バス機構24はバス機構22から分離して示されている
が、この技術分野の専門家(当業者)には、今日の高速
技術(例えば、マイクロプロセッサ、マイクロプロセッ
サ制御チャネル等)を使用して、プロセッサの相互間通
信が適切な通信コントローラを用いてプロセッサ20のI
/Oバスの相互接続を介して行われることが明らかであ
ろう。これは、以下の図4に示す第2実施例において行
われる。
【0027】一方、プロセッサ相互間の通信に分離した
バス機構24を用いる有利な点がある。その一つは、図1
に示す方法でプロセッサ部を相互接続する接続装置を、
バス機構24の処理設計に利用できることである。バス機
構24は、代表的には、米国特許第4,228,496 号に示され
ているように、冗長なバス24aおよび24bによって実現
され、メッセージ通信の帯域幅を増加させるだけでなく
フォールト・トレラント性も提供する。
【0028】プロセッサ部12n をその隣接する4つのプ
ロセッサ部に接続する横列の一対の通信路および縦列の
一対の通信路のそれぞれは、プロセッサ相互間バス24a
および24bの対応する一つに接続される。したがって、
プロセッサ20相互間の通信が行われるプロセッサ相互間
バス24aは、横列のインタフェース・ユニット30aによ
って、横列の一対の通信路14naの一つに接続される。縦
列のインタフェース・ユニット32aは、プロセッサ相互
間バス24aを、垂直方向、すなわち縦列の一対の通信路
16naの一つに接続される。同様にして、冗長なプロセッ
サ相互間バス24bは、横列のインタフェース・ユニット
30bによって、横列のもう一つの通信路である通信路14
nbに接続される。縦列のもう一方の通信路16nbは、縦列
のインタフェース・ユニット32bによって、プロセッサ
相互間バス24bに接続される。
【0029】横列のインタフェース・ユニット30aおよ
び30bの構成ならびに処理は、1990年10月17日に出願さ
れた米国特許出願第07/599,325号に示されている。米国
特許第4,667,287 号および第4,663,706 号は、垂直方向
のインタフェース・ユニット32aおよび32bの構成およ
び処理を示している。横列および縦列の双方のインタフ
ェース・ユニット30および32は、シリアル通信の光ファ
イバ・リンクを使用して構成され、2重通信路14および
16をそれぞれ形成している。ビット・パラレルの通信路
を実現できることもいうまでもない。
【0030】各プロセッサ・ユニット20は、そのプロセ
ッサ部から垂直方向の(すなわち、縦方向の通信路16に
沿った)目的のプロセッサ・ユニット20を有する他のプ
ロセッサ部への通信を操作する役割を有する。各プロセ
ッサ・ユニット20はテーブルを保持する。テーブルは、
どのプロセッサ・ユニット20がそれ自身のサブシステム
15の一部を形成するか、およびどのサブシステム内に、
プロセッサ20が配置されているかを識別するものであ
る。一方、各プロセッサ部12のプロセッサ・ユニット20
のうちの一つだけが、そのプロセッサ部12の他のプロセ
ッサ・ユニット20によるテーブルの開発に使用される情
報を獲得し、かつ、保持(更新)する役割を有する。
【0031】この情報は次のようにして収集される。各
プロセッサ部12における役割を有する各プロセッサ・ユ
ニット20は、その隣接するプロセッサ部12に送信する質
問メッセージを作成する。この質問メッセージは、前記
隣接するプロセッサ部12にさらに隣接するプロセッサ
部、これらのさらに隣接するプロセッサ部の方向(すな
わち、どのプロセッサ部が「右側」にあり、どのプロセ
ッサ部が「左側」にあるか)、およびどのプロセッサ・
ユニットがこのような横列15に存在するかといった横列
15の構成に関する情報を特定するためのものである。質
問を行ったプロセッサがその質問メッセージに対する応
答を受信すると、そのプロセッサは、同じ質問を作成
し、隣接プロセッサ部のもう一方の側にあるプロセッサ
部に、隣接プロセッサ部を越えてこの同じ質問を送信す
る。再び、受信された応答は、この応答によって識別さ
れるさらに遠い隣接プロセッサ部へ追加のメッセージ
を、隣接プロセッサ部を越えて送信するために使用され
る。この処理は、質問に対する応答が、質問を行うプロ
セッサ・ユニット20が既知のプロセッサ部(および横列
の構成要素)を識別するものであるまで続けられる。こ
の時点で、質問処理は終了し、収集された情報は、質問
を行ったプロセッサ・ユニット20を含むプロセッサ部12
の他のプロセッサ・ユニット20に分散される。この質問
処理は定期的に繰り返され、最後の質問処理から得られ
たシステム構成が変化していないこと、または変化した
場合には変化したものが確認される。変化があった場合
には、その変化は、各プロセッサ・ユニット20が保持す
るテーブルを更新するために使用される。
【0032】同様の手続が、各システム内の横列の通信
路14に使用される。これにより、任意の特定のプロセッ
サ部12に関連して、各プロセッサ・ユニット20がどの位
置にあり、どの(最短の)方向に位置しているかが決定
される。米国特許出願第07/599,325号に示すように、メ
ンテナンス診断システム(MDS:Maintenance Diagno
stic System )(図示略)が横列15のそれぞれの一部を
形成し、その横列の各プロセッサ・ユニット20および横
列インタフェース・ユニット30に接続される。MDSの
関連する横列15の各プロセッサ・ユニット20に質問を行
う役割は、MDS(図示略)の様々なタスク内にあり、
この質問により、どのプロセッサ・ユニットがその横列
に含まれ、どのプロセッサ・ユニットがどのプロセッサ
部に関係したものであるかが決定される。この情報は、
その横列の横列インタフェース・ユニット30に書き込ま
れる。そして、この情報は、メッセージが、あるプロセ
ッサ・ユニット20から、ある横列15の異なるプロセッサ
部12の他のプロセッサ・ユニットへ送信されるときに使
用され、目的のプロセッサ・ユニット20を含むプロセッ
サ部への最も直接的な横列通信路16に沿った方向(経
路)が選択される。
【0033】並列処理システム10が構築され、種々のプ
ロセッサ・ユニットの位置を判定するための様々な質問
処理が完了すると、このシステム10は、一般に以下のよ
うな処理を行う。図2がプロセッサ部129 (図1)の構
成を示し、プロセッサ部129のプロセッサ・ユニット20
の一つが、例えばプロセッサ部122 の目的のプロセッサ
・ユニット20に情報を送信したい場合を仮定する。送信
を行うプロセッサ・ユニット20は、予め定められたフォ
ーマットに従ってメッセージを生成する。このフォーマ
ットは、プロセッサ部122 の目的のプロセッサ・ユニッ
ト20が含まれる横列およびその横列内のプロセッサ・ユ
ニットの識別情報によって、目的のプロセッサ・ユニッ
ト20を識別するものである。続いて、送信を行うプロセ
ッサ・ユニット20は、2つのプロセッサ相互間バス機構
24aおよび24bの一つにメッセージを送信する。メッセ
ージは、プロトコルに従って、まず垂直方向、すなわち
縦列通信路16に沿って送信されるので、縦列インタフェ
ース・ユニット32は、メッセージのアドレスを、その特
定の横列の外部に向けられているものと認識し、対応す
る縦列通信路16n に送信するためにメッセージを捕らえ
る。この処理において、縦列インタフェース・ユニット
32は、メッセージに含まれるアドレスに基づいて、目的
のプロセッサ・ユニット20を含む横列15への最短経路を
選択し、メッセージを選択された経路に送信する。
【0034】送信されたメッセージは、プロセッサ部12
3 の縦列インタフェース・ユニット32に受信され、プロ
セッサ部123 の横列と同じ横列15内にある目的のプロセ
ッサ・ユニットへのメッセージであると認識され、その
プロセッサ部12のプロセッサ相互間バス24へ接続され
る。このメッセージの識別情報(アドレス)は、プロセ
ッサ部123 内にあるプロセッサ・ユニット20のいずれに
も一致しないが、プロセッサ部123 が位置するサブ・シ
ステム15と同じサブ・システム15にあるプロセッサと一
致する。したがって、そのプロセッサ部の横列インタフ
ェース・ユニット30は、プロセッサ相互間バス24からそ
のメッセージを取り出す。横列インタフェース・ユニッ
ト30は、メッセージに含まれるアドレスに基づいて、目
的のプロセッサ・ユニット20への最短経路となるよう
に、メッセージを送信すべき横列通信路141 の方向を決
定する。続いて、横列インタフェース・ユニット30は、
プロセッサ部122 へ、選択した経路に沿ってメッセージ
を送信する。そして、関連した横列インタフェース・ユ
ニット30は、プロセッサ相互間バス24にメッセージを送
信し、メッセージは、プロセッサ相互間バス24に接続さ
れている目的のプロセッサ・ユニット20によって受信さ
れる。
【0035】並列プロセッサ・システム10は、上述した
ように、二次元トロイダル・ネットワーク構成を使用し
て、横および縦方向に図1のプロセッサ部12を相互接続
し、横および縦方向の通信路14および16をそれぞれ形成
している。しかし、このネットワークは、図3に示すよ
うに、三次元に拡張することもできる。
【0036】図3は、並列プロセッサ60をシンプルな形
態(説明を明快にする理由による)で示している。並列
プロセッサ60は、二つの個別のプレーンAおよびB内
に、上述した通信路によって組織された複数のプロセッ
サ部62を含んでいる。各プレーンのプロセッサ部62は、
横列および縦列のリング状通信路64および66によってそ
れぞれ相互接続され、各プレーン内においてトロイダル
・ネットワーク構成を形成している。具体的には、プレ
ーンAはプロセッサ部621 〜624 を含んでいる。これら
のプロセッサ部は、横列通信路641 および642 ならびに
縦列通信路661 および662 によって相互接続されてい
る。同様にして、プレーンBはプロセッサ部625 〜628
を含んでいる。これらのプロセッサ部は、横列通信路64
3 および644ならびに縦列通信路663 および664 によっ
てそれぞれ相互接続されている。
【0037】横列通信路64および縦列通信路66による相
互接続に加えて、各プレーンAおよびBの各プロセッサ
部62は、他のプレーンの対応するプロセッサ部62にも、
通信路68によって接続されている。その結果、三次元並
列プロセッサ60が形成されている。各プロセッサ部62と
対応する横列通信路64および縦列通信路68との間の通信
路接続は、上述したものと同じである(すなわち、それ
らは、横列および縦列のインタフェース・ユニット30お
よび32(図2)を使用する)。通信路68の接続は、プロ
セッサ・ユニット20のI/Oシステムおよび通信コント
ローラを用いて確立される。したがって、例えば、図2
のプロセッサ部12n が図3のプロセッサ部621 であると
仮定する。図3に示すシステム構成においては、プロセ
ッサ・ユニット20には、プロセッサ部625 のプロセッサ
・ユニット20(図示略)に接続される通信コントローラ
70(図2の破線)が提供される。この通信コントローラ
70は、2つのプロセッサ部621 と625 、および関連する
プレーンAとBの間のブリッジを提供する。
【0038】三次元トロイダル構成の個々のプレーン内
のメッセージ通信は、上記と同様にして行われる。すな
わち、メッセージは、目的のプロセッサ・ユニットが存
在する水平方向の横列に到達するまで、まず垂直方向通
信路66に沿って送信される。続いて、メッセージは、目
的のプロセッサ・ユニットを有するプロセッサ部62が存
在する通信路68に到達するまで、水平方向に送信され
る。最後に、メッセージは、一つのプロセッサ部62から
他のプロセッサ部62への関連する通信コントローラを介
して送信され、関連するプロセッサ相互間バスに置かれ
る(メッセージがプレーンAとBとの間のブリッジを維
持する役割を有する特定のプロセッサ・ユニット用のも
のでなければ)(図3に示す並列プロセッサ60は各プレ
ーンAおよびBに4つのプロセッサ部62のみを含んでい
るが、これは記述を簡単にするためのものである。この
技術分野の専門家(当業者)ならば、プレーン自体を容
易に拡張して三次元構成とできることは明らかであろ
う)。このように、目的のプロセッサ・ユニットが、送
信側プロセッサのプレーンとは異なるもう一方のプレー
ンにある場合には、メッセージ通信は、まず縦列方向の
通信路に沿って、続いて横列方向の通信路に沿って、そ
してプレーンAまたはBの一方から他方に向けて行われ
る。
【0039】本発明の上記説明では、ある特定のアーキ
テクチャ(個々のプロセッサがプロセッサ相互間バスに
よって接続されたプロセッサ部)に即してその使用が示
されている。本発明は、他のアーキテクチャ(好ましく
はフォールト・トレラント・アーキテクチャであるが)
において使用可能である。したがって、例えば、図4
は、本発明を、米国特許出願第07/992,944号に詳細に説
明されている異なるアーキテクチャに関連させて示して
いる。この出願は、1992年12月17日に同一出願人により
出願されたものであり、参照のためにここに引用され
る。
【0040】上記出願に開示され、図4に一般的に示さ
れているように、コンピュータ・アーキテクチャは、中
央処理装置(CPU)104 の複数の対102 を備えてい
る。これらのCPU104 は、データ処理をロック・ステ
ップ方式で行ってもよいし、個別に行ってもよい。各C
PU104 は入出力システムを有している。この入出力シ
ステムはマルチポート・ルータ108 を介してCPUによ
ってアクセスされる。また、各CPU104 (例えばCP
U104a)は、その兄弟のCPU(例えばCPU104b)の
ルータ(例えば108b)に接続されている。したがって、
各CPUは、その兄弟のI/Oシステムにアクセスする
ことができる。逆に、兄弟のCPU(104b)は、その兄
弟のCPU(104a)のI/Oシステムにアクセスできる
ように、ルータ108aを介して接続されている。
【0041】図4は、CPU対102 のセットを4つ備え
た並列プロセッサ100 を示している。各CPU対は2つ
のCPU104aおよび104bを備えている。各CPU104 は
個別の入出力システムを有する。個別の入出力システム
は、2つのバス接続106 の一つにより、関連するルータ
108 を介してアクセスされる。CPU104aのバス接続
は、ルータ108aおよび108bに接続されているバス対106a
を有している。CPU104aは、ルータ108aを介して、そ
れ自身のI/Oシステム(図示略)にアクセスすること
ができる。同様にして、CPU104bは、ルータ108bを介
して、それ自身のI/Oシステムにアクセスすることが
できる。さらに、CPU104aおよび104bは、ルータ104b
および104aを介して、他のI/Oシステムにそれぞれア
クセスすることができる。他のCPU対1022、1023およ
び1024も、図4に示すように同様の構成を有する。
【0042】ルータ108 はマルチポート装置である。各
ポートは双方向の通信インタフェースを備えている。し
たがって、ルータ108aおよび108bにCPU104aを接続し
ているバスのそれぞれは、双方向のバス構成であり、デ
ータの両方向通信が可能である。
【0043】ルータ108 は6つの双方向ポートを有する
ように設計されている。ある特定のCPUのI/Oシス
テムへのアクセス・ポイントとして使用される場合に、
これらのポートの内の2つはCPU対102 への接続用に
使用され、他の4つは他の相互接続用に空けられる。し
たがって、ルータ108 の双方向ポートの1つは、マルチ
ポート列(横列)A’を形成するバス路114 によって相
互接続されてもよい。各CPU対102 に対応した一つの
ルータのもう一方のポートは、バス路116 によって接続
され、図4に示すように縦列B’を形成する。これによ
り、トロイダル・ネットワーク構成が、図1に示す通信
路14および16によって相互接続されたプロセッサ部12と
同じ様式で実現される。
【0044】ルータ108 の他のポートを用いて、同様に
構成され、かつ、相互接続されたCPU対102 のアレイ
(配列)を接続し、図3に示すような三次元トロイダル
・ネットワーク・アレイ接続を形成することができる。
さらに、図4のアーキテクチャはそれ自身が、上記出願
(第07/992,944号)に具体的に示されているように、ル
ータ108 を使用してずっと簡単に拡張することに使用さ
れる。
【0045】二つの同等な並列プロセッサ・アーキテク
チャについての本発明を上記説明により、二重トロイダ
ル・ネットワークによりプロセッサ部を相互接続する利
点は明らかであろう。任意の単一のデータ通信の故障、
または一通信路における任意の構成要素の故障、プロセ
ッサ・ユニットの任意の対の間の通信路の故障が、その
プロセッサ・ユニット対の間の通信を制約または破壊し
ないという事実は、特に重要である。さらに、プロセッ
サ部の間の通信は、隣接するプロセッサ・システムを接
続する両方向通信路の欠損に耐えることができる。
【0046】本発明についての十分かつ完全な開示が上
記されているが、当業者ならば様々な修整および変更を
行うことができることは明らかであろう。
【図面の簡単な説明】
【図1】各プロセッサ部が一または複数のプロセッサ・
ユニットを含み、本発明により相互接続されて大規模並
列プロセッサ・システムを形成する、プロセッサ部のア
レイを簡単化したものを示す。
【図2】プロセッサ部を構成するプロセッサ・ユニット
を相互接続する一方法を示した一つのプロセッサ部の構
成、および図1のプロセッサ部間を相互接続するために
使用される装置を示す。
【図3】4つのプロセッサ部からなるアレイを2つ相互
接続して、三次元並列プロセッサ・アレイを形成したも
のを簡単化して示す。
【図4】対となったプロセッサ処理ユニットの配列(マ
ルチポート入出力ルータによって相互接続され、本発明
による大規模並列プロセッサを形成する)を簡単化して
示す本発明の変形例である。
【符号の説明】
10 並列処理システム 121 〜129 、621 〜628 プロセッサ部 141 〜143 、641 〜644 水平方向通信路 151 〜153 横列 161 〜163 、661 〜664 垂直方向通信路 171 〜173 縦列 20 プロセッサ・ユニット 24、24a、24b プロセッサ相互間バス機構 30a、30b 横列インタフェース・ユニット 32a、32b 縦列インタフェース・ユニット A、B プレーン 60 並列プロセッサ 68 通信路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサ部であって、各プロセ
    ッサ部が一または二以上のプロセッサ・ユニットおよび
    前記一または二以上のプロセッサ・ユニット間でデータ
    通信を行うために前記プロセッサ・ユニットを相互接続
    する手段を備えているプロセッサ部、ならびに 前記プロセッサ部からなる第1の数の横列および前記プ
    ロセッサ部からなる第2の数の縦列の配列に、かつ、前
    記配列における前記複数のプロセッサ部の任意の一つか
    ら前記複数のプロセッサ部の任意の他のものへデータを
    通信するための循環通信路をプロセッサ部の各横列およ
    び各縦列用に確立する方法で、前記複数のプロセッサ部
    を相互接続する手段、 を備え、 前記相互接続する手段が、前記複数のプロセッサ部の任
    意の一つと前記複数のプロセッサ部の隣接する4つのプ
    ロセッサ部との間に少なくとも二つの通信路を備えてい
    るものである、 マルチプロセッサ・システム。
  2. 【請求項2】 前記複数のプロセッサ部のそれぞれのプ
    ロセッサ・ユニットを相互接続する前記手段が、前記プ
    ロセッサ・エレメントのそれぞれに結合された冗長なバ
    ス手段を含むものである、請求項1に記載のマルチプロ
    セッサ・システム。
  3. 【請求項3】 前記相互接続する手段が、前記複数のプ
    ロセッサ部のそれぞれ対応する一つの前記バス手段に接
    続されているものである、請求項2に記載のマルチプロ
    セッサ・システム。
  4. 【請求項4】 各プロセッサ部が相互間のデータ通信の
    ために相互接続された少なくとも一対のプロセッサ・エ
    レメントを含む、そのような複数のプロセッサ部を設
    け、 プロセッサ部グループのそれぞれが、前記プロセッサ部
    グループの前記プロセッサ部が2つのデータ通信路によ
    って互いに通信するためのリング状データ通信路を形成
    する手段を含む、そのような第1の数のプロセッサ部グ
    ループを形成する様式で前記プロセッサ部を相互接続
    し、 第2の数のプロセッサ部の対応するもののそれぞれが前
    記第1のプロセッサ部グループの対応する一つに含ま
    れ、前記第2の数のもののそれぞれのプロセッサ部間で
    データを通信するための2つの通信路を形成する様式
    で、前記第2の数のプロセッサ部の対応するものを相互
    接続する、 大規模並列処理システムを構成する方法。
JP3636995A 1994-02-24 1995-02-24 フォールト・トレラント・プロセッサ相互間ネットワークを備えた大規模マルチプロセッサ・システム Pending JPH0844683A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20110394A 1994-02-24 1994-02-24
US08/201103 1994-02-24

Publications (1)

Publication Number Publication Date
JPH0844683A true JPH0844683A (ja) 1996-02-16

Family

ID=22744508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3636995A Pending JPH0844683A (ja) 1994-02-24 1995-02-24 フォールト・トレラント・プロセッサ相互間ネットワークを備えた大規模マルチプロセッサ・システム

Country Status (3)

Country Link
EP (1) EP0669584A3 (ja)
JP (1) JPH0844683A (ja)
CA (1) CA2142510A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378085B1 (en) 1998-06-15 2002-04-23 Nec Corporation High reliability system, apparatus and method for generating connective relation, and computer readable storage medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718428B2 (en) 2000-12-18 2004-04-06 Sun Microsystems, Inc. Storage array interconnection fabric using a torus topology
US7401161B2 (en) 2000-12-18 2008-07-15 Sun Microsystems, Inc. High performance storage array interconnection fabric using multiple independent paths
US7072976B2 (en) 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
US6909695B2 (en) 2001-05-07 2005-06-21 Sun Microsystems, Inc. Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network
US7007189B2 (en) 2001-05-07 2006-02-28 Sun Microsystems, Inc. Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network
EP2690562A4 (en) * 2011-03-22 2017-03-01 Fujitsu Limited Parallel computing system and control method of parallel computing system
CN105204952B (zh) * 2015-08-21 2018-03-09 北京控制工程研究所 一种多核操作系统容错管理方法
CN112416852B (zh) * 2020-12-08 2023-11-21 海光信息技术股份有限公司 环形互连结构路由确定方法及装置
CN113325717B (zh) * 2021-06-10 2022-01-28 哈尔滨工业大学 基于互联大规模系统的最优容错控制方法、系统、处理设备、存储介质
CN114968902B (zh) * 2022-07-28 2022-10-25 沐曦科技(成都)有限公司 一种多处理器互联系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
DE3486257T2 (de) * 1984-01-09 1994-04-21 Hitachi Ltd Synchrones dezentralisiertes Verarbeitungssystem.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378085B1 (en) 1998-06-15 2002-04-23 Nec Corporation High reliability system, apparatus and method for generating connective relation, and computer readable storage medium

Also Published As

Publication number Publication date
EP0669584A3 (en) 1995-11-29
EP0669584A2 (en) 1995-08-30
CA2142510A1 (en) 1995-08-25

Similar Documents

Publication Publication Date Title
US5243704A (en) Optimized interconnect networks
US6243361B1 (en) Multistage interconnect network uses a master processor to perform dynamic configuration for all switch nodes based on a predetermined topology
US6504841B1 (en) Three-dimensional interconnection geometries for multi-stage switching networks using flexible ribbon cable connection between multiple planes
JP4577851B2 (ja) 動的再分割を介するスーパーコンピュータでのフォールト・トレランス
JP3090593B2 (ja) スケーラブル並行処理ネットワーク及びノードの相互接続方法
US5379440A (en) Parallel processor with array of clustered processing elements having inputs seperate from outputs and outputs limited to a maximum of two per dimension
JPH04139566A (ja) 多重プロセッシング・システム
EP2230606A2 (en) System having a plurality of nodes connected in multi-dimensional matrix, method of controlling system and apparatus
EP1665065B1 (en) Integrated data processing circuit with a plurality of programmable processors
US20060174085A1 (en) Storage enclosure and method for the automated configuration of a storage enclosure
JPH06507744A (ja) 大量並列プロセッサ間の、階層的プロセッサ相互間通信ネットワークのための手順決定技術
JPH0844683A (ja) フォールト・トレラント・プロセッサ相互間ネットワークを備えた大規模マルチプロセッサ・システム
US20060015537A1 (en) Cluster network having multiple server nodes
US4999771A (en) Communications network
EP0392216B1 (en) Network rearrangement method and system
US7373546B2 (en) Cluster network with redundant communication paths
EP0492174B1 (en) Parallel processor
US7904663B2 (en) Secondary path for coherency controller to interconnection network(s)
JPH10222475A (ja) クラスタシステム
JPH05204876A (ja) 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム
Siegel et al. An introduction to the multistage cube family of interconnection networks
Shin et al. A distributed i/o architecture for harts
EP0398678A2 (en) Optimized interconnect systems
Das et al. Efficient communication in folded Petersen networks
KR0155266B1 (ko) 멀티프로세서 컴퓨터 시스템