JPH0581216A - 並列プロセツサ - Google Patents
並列プロセツサInfo
- Publication number
- JPH0581216A JPH0581216A JP3241092A JP24109291A JPH0581216A JP H0581216 A JPH0581216 A JP H0581216A JP 3241092 A JP3241092 A JP 3241092A JP 24109291 A JP24109291 A JP 24109291A JP H0581216 A JPH0581216 A JP H0581216A
- Authority
- JP
- Japan
- Prior art keywords
- input
- coordinate
- message
- transfer
- crossbar
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】 (修正有)
【目的】並列処理を実行するプロセッサの台数を減らす
ことなく、並列処理の管理機能や入出力機能を実現する
並列プロセッサと、その実装方法を提供する。 【構成】2のべき乗+1個のポートを持つクロスバスイ
ッチ101を設け、そのクロスバスイッチに2のべき乗
個となるようにプロセッサ103群を配置する。また各
クロスバスイッチ101の残りに並列処理の管理機能や
入出力機能を実行するプロセッサ104、105、10
6を配置し、又各プロセッサとクロスバスイッチ101
の接続には乗り換えスイッチ102を設ける。これによ
り並列処理の実行は2のべき乗個のプロセッサで実行
し、並列処理の管理機能や入出力機能はそれ以外のプロ
セッサでその処理とは独立に実行できるようにした。並
列プロセッサの実装では、ある1つの次元のクロスバス
イッチ、そのクロスバスイッチに接続するプロセッサ
群、および、そのプロセッサ群の中の1個のプロセッサ
に接続する。
ことなく、並列処理の管理機能や入出力機能を実現する
並列プロセッサと、その実装方法を提供する。 【構成】2のべき乗+1個のポートを持つクロスバスイ
ッチ101を設け、そのクロスバスイッチに2のべき乗
個となるようにプロセッサ103群を配置する。また各
クロスバスイッチ101の残りに並列処理の管理機能や
入出力機能を実行するプロセッサ104、105、10
6を配置し、又各プロセッサとクロスバスイッチ101
の接続には乗り換えスイッチ102を設ける。これによ
り並列処理の実行は2のべき乗個のプロセッサで実行
し、並列処理の管理機能や入出力機能はそれ以外のプロ
セッサでその処理とは独立に実行できるようにした。並
列プロセッサの実装では、ある1つの次元のクロスバス
イッチ、そのクロスバスイッチに接続するプロセッサ
群、および、そのプロセッサ群の中の1個のプロセッサ
に接続する。
Description
【0001】
【産業上の利用分野】本発明は並列プロセッサにおける
プロセッサの結合方式に関わり、特に並列処理の高速化
に好適な並列プロセッサの構成と、その実装方法に関す
る。
プロセッサの結合方式に関わり、特に並列処理の高速化
に好適な並列プロセッサの構成と、その実装方法に関す
る。
【0002】
【従来の技術】従来、並列処理プログラムを実行する複
数のプロセッサ(以下、実行プロセッサと呼ぶ)と、プ
ロセッサ間のデータ転送を可能にするネットワークによ
り構成される並列プロセッサは、たとえば特開昭63−
124162号(以下、第1の従来例と呼ぶ)に示され
ている。この並列プロセッサにおいては縦2のm乗行と
横2のn乗列(m,nは正の整数)からなる2次元アレ
イ状に実行プロセッサを配置し、このアレイの各行(X
方向)、各列(Y方向)ごとにクロスバスイッチを設け
る。各実行プロセッサはX/Y方向のそれぞれの1つの
クロスバスイッチに結合される。このため各実行プロセ
ッサには1つのX方向のクロスバスイッチと1つのY方
向のクロスバスイッチを結合するために2つの入出力ポ
ート(以下、単にポートと呼ぶ)を有している。以下、
このような各次元ごとに設けたクロスバスイッチネット
ワークを部分クロスバネットワークと呼ぶ。
数のプロセッサ(以下、実行プロセッサと呼ぶ)と、プ
ロセッサ間のデータ転送を可能にするネットワークによ
り構成される並列プロセッサは、たとえば特開昭63−
124162号(以下、第1の従来例と呼ぶ)に示され
ている。この並列プロセッサにおいては縦2のm乗行と
横2のn乗列(m,nは正の整数)からなる2次元アレ
イ状に実行プロセッサを配置し、このアレイの各行(X
方向)、各列(Y方向)ごとにクロスバスイッチを設け
る。各実行プロセッサはX/Y方向のそれぞれの1つの
クロスバスイッチに結合される。このため各実行プロセ
ッサには1つのX方向のクロスバスイッチと1つのY方
向のクロスバスイッチを結合するために2つの入出力ポ
ート(以下、単にポートと呼ぶ)を有している。以下、
このような各次元ごとに設けたクロスバスイッチネット
ワークを部分クロスバネットワークと呼ぶ。
【0003】一方NCUBE社のNCUBE(以下、第
2の従来例と呼ぶ)ではハイパキューブ構成のネットワ
ークに入出力プロセッサを結合している(例えば、「3
2ビットマイクロプロセッサの全容 企業戦略・技術・
市場動向」236、238ページ、日経マグローヒル社
発行、1986年12月)。これを実現するために各ノ
ードプロセッサでは、ハイパキューブの次元数分に1つ
加えた数のポートを持っている。ハイパキューブの次元
数のポートには各ノードプロセッサを結合し、残りの1
つには入出力プロセッサを結合する。即ち各ノードプロ
セッサは、補助プロセッサと接続するための専用のポー
トを有している。
2の従来例と呼ぶ)ではハイパキューブ構成のネットワ
ークに入出力プロセッサを結合している(例えば、「3
2ビットマイクロプロセッサの全容 企業戦略・技術・
市場動向」236、238ページ、日経マグローヒル社
発行、1986年12月)。これを実現するために各ノ
ードプロセッサでは、ハイパキューブの次元数分に1つ
加えた数のポートを持っている。ハイパキューブの次元
数のポートには各ノードプロセッサを結合し、残りの1
つには入出力プロセッサを結合する。即ち各ノードプロ
セッサは、補助プロセッサと接続するための専用のポー
トを有している。
【0004】また従来、部分クロスバネットワークを構
成する並列プロセッサの実装については、例えばザ・セ
カンド・シンポジューム・オン・ザ・フロンティア・オ
ブ・マッシブリィ・パラレル・コンピューテーション
(1988年10月)第463ページから第466ペー
ジ(The 2nd Syposium on the Frontiers of Massively
Parallel Computation,October 10-12 ,1988,pp463-46
6)、および電子情報通信学会技術研究報告、CPSY
89−45〜58、1989年3月、第39ページから
第44ページ(それぞれ第3、第4の従来例と呼ぶ)に
示されている。
成する並列プロセッサの実装については、例えばザ・セ
カンド・シンポジューム・オン・ザ・フロンティア・オ
ブ・マッシブリィ・パラレル・コンピューテーション
(1988年10月)第463ページから第466ペー
ジ(The 2nd Syposium on the Frontiers of Massively
Parallel Computation,October 10-12 ,1988,pp463-46
6)、および電子情報通信学会技術研究報告、CPSY
89−45〜58、1989年3月、第39ページから
第44ページ(それぞれ第3、第4の従来例と呼ぶ)に
示されている。
【0005】第3の従来例では2次元の部分クロスバネ
ットワークで構成された並列プロセッサを、ローカルク
ロスバネットワークと呼ばれる1つのクロスバスイッチ
とそれに接続されるプロセッサ群を1つのウェハに実装
する。またグローバルクロスバネットワークと呼ばれる
もう1つのクロスバスイッチは前記ウェハとは別に、専
用のLSIに実装する。このウェハと専用のLSIを複
数個、組み合せて並列プロセッサを構成する。
ットワークで構成された並列プロセッサを、ローカルク
ロスバネットワークと呼ばれる1つのクロスバスイッチ
とそれに接続されるプロセッサ群を1つのウェハに実装
する。またグローバルクロスバネットワークと呼ばれる
もう1つのクロスバスイッチは前記ウェハとは別に、専
用のLSIに実装する。このウェハと専用のLSIを複
数個、組み合せて並列プロセッサを構成する。
【0006】第4の従来例では3次元の部分クロスバネ
ットワークで構成された並列プロセッサを、1つの面に
対応するX方向とY方向のクロスバスイッチ群とそれに
接続されるプロセッサ群を1つの筐体に実装する。また
Z方向のクロスバスイッチ群は専用の筐体に実装する。
これらの筐体を複数個、組み合せて並列プロセッサを構
成する。
ットワークで構成された並列プロセッサを、1つの面に
対応するX方向とY方向のクロスバスイッチ群とそれに
接続されるプロセッサ群を1つの筐体に実装する。また
Z方向のクロスバスイッチ群は専用の筐体に実装する。
これらの筐体を複数個、組み合せて並列プロセッサを構
成する。
【0007】
【発明が解決しようとする課題】各実行プロセッサをX
方向とY方向のクロスバスイッチに結合した上記第1の
従来技術ではプロセッサの結合方式についてのみ開示さ
れている。しかし並列処理を実行するためにはプロセッ
サ群への処理分配などの管理機能や入出力機能も不可欠
であるが、これを行なう補助プロセッサについては言及
していない。また、この補助プロセッサを上記プロセッ
サ群へ接続するためのネットワークを示していない。上
記第2の従来例技術のように各実行プロセッサと補助プ
ロセッサを直結したのでは、各実行プロセッサに新規に
1つのポートを設け必要があり、かつ、そのポートでの
メッセージ転送制御回路が複雑とならざるを得ない。ま
た、この従来技術では補助プロセッサと各実行プロセッ
サを接続するネットワークを別に設けているが、この別
のネットワークは実行プロセッサの台数の増大とともに
複雑化せざるを得ない。
方向とY方向のクロスバスイッチに結合した上記第1の
従来技術ではプロセッサの結合方式についてのみ開示さ
れている。しかし並列処理を実行するためにはプロセッ
サ群への処理分配などの管理機能や入出力機能も不可欠
であるが、これを行なう補助プロセッサについては言及
していない。また、この補助プロセッサを上記プロセッ
サ群へ接続するためのネットワークを示していない。上
記第2の従来例技術のように各実行プロセッサと補助プ
ロセッサを直結したのでは、各実行プロセッサに新規に
1つのポートを設け必要があり、かつ、そのポートでの
メッセージ転送制御回路が複雑とならざるを得ない。ま
た、この従来技術では補助プロセッサと各実行プロセッ
サを接続するネットワークを別に設けているが、この別
のネットワークは実行プロセッサの台数の増大とともに
複雑化せざるを得ない。
【0008】また第3、4の従来技術による並列プロセ
ッサの実装においては、プロセッサの実装とは別に、ク
ロスバスイッチ群を実装するための専用のLSI、筐体
などが必要である。これによればプロセッサ台数が多く
なると、プロセッサとクロスバスイッチを接続するため
のインタフェースが一ヶ所に集中し、そのインタフェー
スが多くなる。このためクロスバスイッチ群を実装する
専用のLSI、筐体などの物理ピン数を越えることにな
り、そのインタフェースが接続できない場合がある。
ッサの実装においては、プロセッサの実装とは別に、ク
ロスバスイッチ群を実装するための専用のLSI、筐体
などが必要である。これによればプロセッサ台数が多く
なると、プロセッサとクロスバスイッチを接続するため
のインタフェースが一ヶ所に集中し、そのインタフェー
スが多くなる。このためクロスバスイッチ群を実装する
専用のLSI、筐体などの物理ピン数を越えることにな
り、そのインタフェースが接続できない場合がある。
【0009】本発明の第1の目的は補助プロセッサを実
行プロセッサに接続する比較的構造の簡単なネットワー
クを有する並列プロセッサを提供することにある。
行プロセッサに接続する比較的構造の簡単なネットワー
クを有する並列プロセッサを提供することにある。
【0010】本発明の第2の目的はプロセッサとネット
ワークを接続するためのインタフェースを一ヶ所に集中
させない並列プロセッサの実装方法を提供することにあ
る。
ワークを接続するためのインタフェースを一ヶ所に集中
させない並列プロセッサの実装方法を提供することにあ
る。
【0011】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明では並列処理の管理機能や入出力機能
を実行するための補助プロセッサを、任意の実行プロセ
ッサ間でデータ転送を行なう部分クロスバネットワーク
に接続する。各次元のクロスバスイッチとして2のべき
乗個のポートに1個のポートを追加したポート数(2の
べき乗+1個)のポートを持つ部分クロスバスイッチを
用いる。各次元が2のべき乗個となるようにn次元直方
体に実行プロセッサ群を配置し、それらのクロスバスイ
ッチに乗換えスイッチを介して、また各クロスバスイッ
チの残りの1ポートのいずれかに並列処理の管理機能や
入出力機能を実行する補助プロセッサを乗換えスイッチ
を介して接続する。
るために、本発明では並列処理の管理機能や入出力機能
を実行するための補助プロセッサを、任意の実行プロセ
ッサ間でデータ転送を行なう部分クロスバネットワーク
に接続する。各次元のクロスバスイッチとして2のべき
乗個のポートに1個のポートを追加したポート数(2の
べき乗+1個)のポートを持つ部分クロスバスイッチを
用いる。各次元が2のべき乗個となるようにn次元直方
体に実行プロセッサ群を配置し、それらのクロスバスイ
ッチに乗換えスイッチを介して、また各クロスバスイッ
チの残りの1ポートのいずれかに並列処理の管理機能や
入出力機能を実行する補助プロセッサを乗換えスイッチ
を介して接続する。
【0012】上記第2の目的を達成するために、本発明
では、ある1つの次元のクロスバスイッチ、そのクロス
バスイッチに接続するプロセッサ群、および、そのプロ
セッサ群の中の1個のプロセッサに接続する、かつ、上
記とは別の次元の全てのクロスバスイッチを、1つの実
装単位とする。
では、ある1つの次元のクロスバスイッチ、そのクロス
バスイッチに接続するプロセッサ群、および、そのプロ
セッサ群の中の1個のプロセッサに接続する、かつ、上
記とは別の次元の全てのクロスバスイッチを、1つの実
装単位とする。
【0013】
【作用】並列処理は、従来通り、各次元が2のべき乗個
となるようにn次元直方体に配置した実行プロセッサ群
で実行できる。並列処理を実行する実行プロセッサから
は、プロセッサ間データ転送と同様にして補助プロセッ
サに対して通信が可能である。これにより各実行プロセ
ッサにポートを追加することなく、また補助プロセッサ
を結合するためのネットワークの追加はごくわずかであ
る。このため並列プロセッサの実装規模を小さくでき
る。
となるようにn次元直方体に配置した実行プロセッサ群
で実行できる。並列処理を実行する実行プロセッサから
は、プロセッサ間データ転送と同様にして補助プロセッ
サに対して通信が可能である。これにより各実行プロセ
ッサにポートを追加することなく、また補助プロセッサ
を結合するためのネットワークの追加はごくわずかであ
る。このため並列プロセッサの実装規模を小さくでき
る。
【0014】並列プロセッサの実装においては、クロス
バスイッチ群を実装するための専用のLSI、筐体など
は必要なく、この実装単位だけの組合せで可能である。
これによりプロセッサとネットワークを接続するインタ
フェースを一ヶ所に集中させることなく実装できる。
バスイッチ群を実装するための専用のLSI、筐体など
は必要なく、この実装単位だけの組合せで可能である。
これによりプロセッサとネットワークを接続するインタ
フェースを一ヶ所に集中させることなく実装できる。
【0015】
【実施例】以下、本発明の一実施例を図を用いて説明す
る。図1に並列プロセッサのシステム構成を示す。本並
列プロセッサにおいては行方向または列方向のクロスバ
スイッチ101(行方向クロスバスイッチを101x、
列方向クロスバスイッチを101yと呼び、これらを区
別しない場合には単に101と呼ぶ)、行方向クロスバ
スイッチ101xと列方向クロスバスイッチ101y間
の乗り換えを行なう複数の乗り換えスイッチ102、i
行i列に配列された並列処理を実行するプロセッサ(以
下、計算クラスタと呼ぶ)103、入出力機能を実行す
る入出力プロセッサ(以下、入出力クラスタと呼ぶ)1
04、各計算クラスタ103で共有するデータや中間結
果などを保持する拡張記憶プロセッサ(以下、ESクラ
スタと呼ぶ)105、並列処理の管理機能を実行するフ
ロントエンドプロセッサ(以下、FEPと呼ぶ)10
6、一般的なユーザ環境を持つワークステーション(以
下、WSと呼ぶ)107、ユーザファイルを管理するフ
ァイルサーバ(以下、FSと呼ぶ)108、ユーザファ
イルを保持するディスク装置109、WS107などの
コンピュータ間の通信を高速に行なうローカルエリアネ
ットワーク(以下、LANと呼ぶ)110により構成す
る。本実施例では、各クロスバスイッチ101は、2の
i乗プラス1個のポートを有し、同じ構造を有し、さら
に計算クラスタ103は2のi乗行2のi乗列に配列さ
れるのが特徴である。
る。図1に並列プロセッサのシステム構成を示す。本並
列プロセッサにおいては行方向または列方向のクロスバ
スイッチ101(行方向クロスバスイッチを101x、
列方向クロスバスイッチを101yと呼び、これらを区
別しない場合には単に101と呼ぶ)、行方向クロスバ
スイッチ101xと列方向クロスバスイッチ101y間
の乗り換えを行なう複数の乗り換えスイッチ102、i
行i列に配列された並列処理を実行するプロセッサ(以
下、計算クラスタと呼ぶ)103、入出力機能を実行す
る入出力プロセッサ(以下、入出力クラスタと呼ぶ)1
04、各計算クラスタ103で共有するデータや中間結
果などを保持する拡張記憶プロセッサ(以下、ESクラ
スタと呼ぶ)105、並列処理の管理機能を実行するフ
ロントエンドプロセッサ(以下、FEPと呼ぶ)10
6、一般的なユーザ環境を持つワークステーション(以
下、WSと呼ぶ)107、ユーザファイルを管理するフ
ァイルサーバ(以下、FSと呼ぶ)108、ユーザファ
イルを保持するディスク装置109、WS107などの
コンピュータ間の通信を高速に行なうローカルエリアネ
ットワーク(以下、LANと呼ぶ)110により構成す
る。本実施例では、各クロスバスイッチ101は、2の
i乗プラス1個のポートを有し、同じ構造を有し、さら
に計算クラスタ103は2のi乗行2のi乗列に配列さ
れるのが特徴である。
【0016】図1では一例として計算クラスタ103の
台数を合計16台とし、それを4×4の2次元アレイ状
に配置したものを示す。従って各クロスバスイッチは5
個のポートを有する。しかし本発明は任意の値のiに対
して有効である。
台数を合計16台とし、それを4×4の2次元アレイ状
に配置したものを示す。従って各クロスバスイッチは5
個のポートを有する。しかし本発明は任意の値のiに対
して有効である。
【0017】各計算クラスタ103は、行方向(以下、
X方向と呼ぶ)と列方向(Y方向と呼ぶ)の各クロスバ
スイッチ101に乗換えスイッチ102を介して接続す
る。図1では入出力クラスタ104とESクラスタ10
5はそれぞれ2台づつあり、X方向のクロスバスイッチ
101xの残りの1つのポートに接続する。FEP10
6は計算クラスタ103を接続するY方向の各クロスバ
スイッチ101yの残りの1つのポートにブロードキャ
ストスイッチ100により接続される。ただし入出力ク
ラスタ104とESクラスタ105とが接続されたY方
向のクロスバスイッチ101y(図の右端のもの)の残
りの1つのポート1000は、このクロスバスイッチ1
00には接続されない。これはブロードキャストスイッ
チ100のポートの数をクロスバスイッチ101と同じ
にしたため、このポート1000を接続するためのポー
トが存在しないからである。ここでは、このブロードキ
ャストスイッチ100はクロスバスイッチ101と同じ
構成である。各クロスバスイッチ101と各入出力クラ
スタ104、ESクラスタ105の接続にもそれらの間
で乗り換えを行なう乗り換えスイッチ102を設ける。
結局、本実施例では、2次元空間のX座標が0、1、
2、3、Y座標が0、1、2、3からなる点群に対応し
て計算クラスタ103が配置される。各Y座標0〜3の
各点に対応して1つのX方向のクロスバスイッチが設け
られ、各X座標に対応して1つのY方向のクロスバスイ
ッチが設けらている。各入出力クラスタ104とESク
ラスタ105がX=4、Y=0〜3の座標点群に対応し
て設けられていることになる。以下、これらのクロスバ
スイッチおよび乗換えスイッチにより構成されるネット
ワークをクロスバネットワークと呼ぶ。
X方向と呼ぶ)と列方向(Y方向と呼ぶ)の各クロスバ
スイッチ101に乗換えスイッチ102を介して接続す
る。図1では入出力クラスタ104とESクラスタ10
5はそれぞれ2台づつあり、X方向のクロスバスイッチ
101xの残りの1つのポートに接続する。FEP10
6は計算クラスタ103を接続するY方向の各クロスバ
スイッチ101yの残りの1つのポートにブロードキャ
ストスイッチ100により接続される。ただし入出力ク
ラスタ104とESクラスタ105とが接続されたY方
向のクロスバスイッチ101y(図の右端のもの)の残
りの1つのポート1000は、このクロスバスイッチ1
00には接続されない。これはブロードキャストスイッ
チ100のポートの数をクロスバスイッチ101と同じ
にしたため、このポート1000を接続するためのポー
トが存在しないからである。ここでは、このブロードキ
ャストスイッチ100はクロスバスイッチ101と同じ
構成である。各クロスバスイッチ101と各入出力クラ
スタ104、ESクラスタ105の接続にもそれらの間
で乗り換えを行なう乗り換えスイッチ102を設ける。
結局、本実施例では、2次元空間のX座標が0、1、
2、3、Y座標が0、1、2、3からなる点群に対応し
て計算クラスタ103が配置される。各Y座標0〜3の
各点に対応して1つのX方向のクロスバスイッチが設け
られ、各X座標に対応して1つのY方向のクロスバスイ
ッチが設けらている。各入出力クラスタ104とESク
ラスタ105がX=4、Y=0〜3の座標点群に対応し
て設けられていることになる。以下、これらのクロスバ
スイッチおよび乗換えスイッチにより構成されるネット
ワークをクロスバネットワークと呼ぶ。
【0018】本並列プロセッサは、WS107などで作
成された計算依頼をLAN110を介してFEP106
で受け付ける。FEP106にWS107の機能も持
ち、FEP106で直接、計算依頼を作成することも可
能である。FEP106では、その計算依頼をスプーリ
ングし、その計算依頼で指示されたプログラムの実行が
可能なクラスタにそれを割当るなどの処理を行なう。ま
た、これらのためにFEP106ではディスク装置11
1を保持する。各計算クラスタ103で実行するプログ
ラムやデータにおいては、まずFEP106が各計算ク
ラスタ103に対してプログラムをロードするための情
報を配った後、各計算クラスタ103にプログラムの実
行開始を指示する。そして各計算クラスタ103がそれ
を受け取ると、計算クラスタ103内のオペレーティン
グシステムにより、クロスバネットワークを介して、い
ずれかの入出力プロセッサ104に依頼し、FS108
からその入出力プロセッサを介してプログラムやデータ
をロードする。ロードが終了すると、各計算クラスタ1
03はプログラムの実行を開始する。
成された計算依頼をLAN110を介してFEP106
で受け付ける。FEP106にWS107の機能も持
ち、FEP106で直接、計算依頼を作成することも可
能である。FEP106では、その計算依頼をスプーリ
ングし、その計算依頼で指示されたプログラムの実行が
可能なクラスタにそれを割当るなどの処理を行なう。ま
た、これらのためにFEP106ではディスク装置11
1を保持する。各計算クラスタ103で実行するプログ
ラムやデータにおいては、まずFEP106が各計算ク
ラスタ103に対してプログラムをロードするための情
報を配った後、各計算クラスタ103にプログラムの実
行開始を指示する。そして各計算クラスタ103がそれ
を受け取ると、計算クラスタ103内のオペレーティン
グシステムにより、クロスバネットワークを介して、い
ずれかの入出力プロセッサ104に依頼し、FS108
からその入出力プロセッサを介してプログラムやデータ
をロードする。ロードが終了すると、各計算クラスタ1
03はプログラムの実行を開始する。
【0019】各計算クラスタ103間でデータ転送が必
要な時はクロスバネットワークを介して行なう。たとえ
ば、計算クラスタP00からP33へのデータ転送で
は、まずP00から送出されたメッセージはP00に接
続される乗り換えスイッチ102からX方向のクロスバ
スイッチ101x(図1の最上段の101x)へ送られ
る。そのX方向のクロスバスイッチ101xを通ったメ
ッセージは、P30に接続される乗り換えスイッチ10
2によりY方向のクロスバスイッチ101y(図1の最
右側から2番目の101y)に乗り換えられる。そし
て、Y方向のクロスバスイッチ101yからP33に接
続される乗り換えスイッチ102に送られ、P33に届
く。また同様に計算クラスタ103が計算の途中で入出
力を必要とする時は入出力クラスタ104にクロスバネ
ットワークを介して依頼する。依頼された入出力クラス
タ104では依頼された内容に従い動作し、応答が必要
な場合は、その結果を依頼元の計算クラスタ103に返
す。またESクラスタ105では、各計算クラスタ10
3が起動される前にFEP106によりデータがロード
され、各計算クラスタ103は実行時にクロスバネット
ワークを介してそのデータをアクセスする。また計算ク
ラスタ103が実行時に計算結果などを直接書き込んで
もよい。
要な時はクロスバネットワークを介して行なう。たとえ
ば、計算クラスタP00からP33へのデータ転送で
は、まずP00から送出されたメッセージはP00に接
続される乗り換えスイッチ102からX方向のクロスバ
スイッチ101x(図1の最上段の101x)へ送られ
る。そのX方向のクロスバスイッチ101xを通ったメ
ッセージは、P30に接続される乗り換えスイッチ10
2によりY方向のクロスバスイッチ101y(図1の最
右側から2番目の101y)に乗り換えられる。そし
て、Y方向のクロスバスイッチ101yからP33に接
続される乗り換えスイッチ102に送られ、P33に届
く。また同様に計算クラスタ103が計算の途中で入出
力を必要とする時は入出力クラスタ104にクロスバネ
ットワークを介して依頼する。依頼された入出力クラス
タ104では依頼された内容に従い動作し、応答が必要
な場合は、その結果を依頼元の計算クラスタ103に返
す。またESクラスタ105では、各計算クラスタ10
3が起動される前にFEP106によりデータがロード
され、各計算クラスタ103は実行時にクロスバネット
ワークを介してそのデータをアクセスする。また計算ク
ラスタ103が実行時に計算結果などを直接書き込んで
もよい。
【0020】図2に計算クラスタの構成を示す。計算ク
ラスタ103は、一般的なプロセッサにクロスバネット
ワークとのインタフェースを持つように構成されていれ
ばよく、たとえば複数の計算処理を実行するプロセッシ
ングユニット201、各計算クラスタ103間とのデー
タ転送を実行するネットワークインタフェースアダプタ
202、プログラムやデータを記憶するメモリ203、
計算クラスタ内のオペレーティングシステム(以下、O
S)のブートデバイスやページングおよびスワップデバ
イスなどとして用いるディスク装置205および、その
ディスク装置205との入出力インタフェースを持つ入
出力アダプタ204により構成される。ここでは計算ク
ラスタ103がマルチプロセッサ構成をとるようにプロ
セッシングユニット201が複数台あるが、1台であっ
てもよい。
ラスタ103は、一般的なプロセッサにクロスバネット
ワークとのインタフェースを持つように構成されていれ
ばよく、たとえば複数の計算処理を実行するプロセッシ
ングユニット201、各計算クラスタ103間とのデー
タ転送を実行するネットワークインタフェースアダプタ
202、プログラムやデータを記憶するメモリ203、
計算クラスタ内のオペレーティングシステム(以下、O
S)のブートデバイスやページングおよびスワップデバ
イスなどとして用いるディスク装置205および、その
ディスク装置205との入出力インタフェースを持つ入
出力アダプタ204により構成される。ここでは計算ク
ラスタ103がマルチプロセッサ構成をとるようにプロ
セッシングユニット201が複数台あるが、1台であっ
てもよい。
【0021】プロセッシングユニット201の処理にお
いて、計算クラスタ間のデータ転送要求、入出力要求、
拡張記憶へのアクセス、FEPへの通信などがある場合
は、ネットワークインタフェースアダプタ202へその
処理を依頼する。ネットワークインタフェースアダプタ
202ではこれらの要求を受け付けると、それに必要な
メッセージを組立て、クロスバネットワークへ送り出
す。またネットワークインタフェースアダプタ202で
はクロスバネットワークから送られてくるメッセージを
受け付け、それに対応した処理を行なう。その処理はた
とえばプロセッシングユニット201にメッセージを渡
すために割込みをかける、メッセージで指定された転送
データをメモリ203に書き込むなどである。
いて、計算クラスタ間のデータ転送要求、入出力要求、
拡張記憶へのアクセス、FEPへの通信などがある場合
は、ネットワークインタフェースアダプタ202へその
処理を依頼する。ネットワークインタフェースアダプタ
202ではこれらの要求を受け付けると、それに必要な
メッセージを組立て、クロスバネットワークへ送り出
す。またネットワークインタフェースアダプタ202で
はクロスバネットワークから送られてくるメッセージを
受け付け、それに対応した処理を行なう。その処理はた
とえばプロセッシングユニット201にメッセージを渡
すために割込みをかける、メッセージで指定された転送
データをメモリ203に書き込むなどである。
【0022】図3に入出力クラスタの構成を示す。入出
力クラスタ104は、計算クラスタ103と同じように
ネットワークインタフェースアダプタ202、メモリ2
03、入出力アダプタ204、ディスク装置205を持
ち、さらに入出力を制御する入出力制御プロセッサ30
1、LAN110のインタフェースを持つLANアダプ
タ302により構成する。
力クラスタ104は、計算クラスタ103と同じように
ネットワークインタフェースアダプタ202、メモリ2
03、入出力アダプタ204、ディスク装置205を持
ち、さらに入出力を制御する入出力制御プロセッサ30
1、LAN110のインタフェースを持つLANアダプ
タ302により構成する。
【0023】入出力クラスタ104では、計算クラスタ
103からの入出力要求メッセージをネットワークイン
タフェースアダプタ202で受け付けると、そのメッセ
ージを入出力制御プロセッサ301に渡す。入出力制御
プロセッサ301ではそのメッセージに従い、入出力ア
ダプタ204、LANアダプタ302を介してディスク
205に対して入出力動作を実行する。入出力動作後、
計算クラスタ103への応答が必要な場合はネットワー
クインタフェースアダプタ202にその処理を依頼す
る。また、この処理以外にも入出力クラスタ104では
ファイルサーバの機能も有する。
103からの入出力要求メッセージをネットワークイン
タフェースアダプタ202で受け付けると、そのメッセ
ージを入出力制御プロセッサ301に渡す。入出力制御
プロセッサ301ではそのメッセージに従い、入出力ア
ダプタ204、LANアダプタ302を介してディスク
205に対して入出力動作を実行する。入出力動作後、
計算クラスタ103への応答が必要な場合はネットワー
クインタフェースアダプタ202にその処理を依頼す
る。また、この処理以外にも入出力クラスタ104では
ファイルサーバの機能も有する。
【0024】図4にESクラスタの構成を示す。ESク
ラスタ105はES制御プロセッサ401、ネットワー
クインタフェースアダプタ202、メモリ203、およ
び拡張記憶(ES)402により構成される。
ラスタ105はES制御プロセッサ401、ネットワー
クインタフェースアダプタ202、メモリ203、およ
び拡張記憶(ES)402により構成される。
【0025】ES制御プロセッサ401は、後述するロ
ック要求メッセージ、ES読出し要求メッセージなどの
処理を行なう。また計算クラスタ103への応答がある
場合は、ネットワークインタフェースアダプタ202へ
その処理を依頼する。ネットワークインタフェースアダ
プタ202では要求を受け付けると、それに必要なメッ
セージを組立て、クロスバネットワークへ送り出す。ま
たネットワークインタフェースアダプタ202ではクロ
スバネットワークから送られてくるメッセージを受け付
け、それに対応した処理を行なう。その処理はたとえば
ES制御プロセッサ401にメッセージを渡すために割
込みをかける、メッセージで指定されたES書き込みデ
ータをES402に書き込むなどである。またメモリ2
03はES制御プロセッサ401で実行するプログラム
やデータなどを格納するものである。このES制御プロ
セッサ401は、一般的なマイクロプロセッサとメモリ
制御ユニットで構成されてもよい。
ック要求メッセージ、ES読出し要求メッセージなどの
処理を行なう。また計算クラスタ103への応答がある
場合は、ネットワークインタフェースアダプタ202へ
その処理を依頼する。ネットワークインタフェースアダ
プタ202では要求を受け付けると、それに必要なメッ
セージを組立て、クロスバネットワークへ送り出す。ま
たネットワークインタフェースアダプタ202ではクロ
スバネットワークから送られてくるメッセージを受け付
け、それに対応した処理を行なう。その処理はたとえば
ES制御プロセッサ401にメッセージを渡すために割
込みをかける、メッセージで指定されたES書き込みデ
ータをES402に書き込むなどである。またメモリ2
03はES制御プロセッサ401で実行するプログラム
やデータなどを格納するものである。このES制御プロ
セッサ401は、一般的なマイクロプロセッサとメモリ
制御ユニットで構成されてもよい。
【0026】次にメッセージの転送について説明する。
図5に計算クラスタ間データ転送のメッセージフォーマ
ットを示す。このメッセージは、メッセージを受け取る
クラスタを表わす受信クラスタ番号501、ネットワー
クの転送方法を表わす転送制御502、メッセージの種
別、受信クラスタ内での処理方法を表わすデータ転送コ
マンド503、受信クラスタに転送データ507が届い
たことを知らせるためのデータ識別子アドレス504、
受信クラスタに転送データ507が届いた時にその転送
データ507をメモリ203に書き込むための転送デー
タ受信アドレス505、転送データ507の長さを示す
転送データ長506および転送データ507により構成
される。
図5に計算クラスタ間データ転送のメッセージフォーマ
ットを示す。このメッセージは、メッセージを受け取る
クラスタを表わす受信クラスタ番号501、ネットワー
クの転送方法を表わす転送制御502、メッセージの種
別、受信クラスタ内での処理方法を表わすデータ転送コ
マンド503、受信クラスタに転送データ507が届い
たことを知らせるためのデータ識別子アドレス504、
受信クラスタに転送データ507が届いた時にその転送
データ507をメモリ203に書き込むための転送デー
タ受信アドレス505、転送データ507の長さを示す
転送データ長506および転送データ507により構成
される。
【0027】各プロセッシングユニット201で実行さ
れているプログラムがメッセージを転送する時には、プ
ロセッシングユニット201はメッセージの各フィール
ドに設定する値をネットワークインタフェースアダプタ
202に渡し、さらにメッセージ生成および送出の開始
を指示する。ここで受信クラスタ番号501は図6に示
すようにX方向/Y方向のクロスバスイッチのポートを
決定するX系クロスバ番号とY系クロスバ番号で構成さ
れる。また各計算クラスタ間のデータ転送における送受
信クラスタ番号は、プログラムあるいはシステムからは
一般に順序付けられた番号にした方が、指定しやすい。
たとえば16台の計算クラスタ構成の場合は0から15
の番号が付けらる。しかし実際のハードウェアで使用す
るクラスタ番号は異なる。これは16台の計算クラスタ
構成の場合、計算クラスタを指定するには4ビットであ
れば十分であるが、2のべき乗+1個のポートを持つク
ロスバスイッチを用いたことにより、ハードウェアとし
てはX系クロスバ番号/Y系クロスバ番号にそれぞれ3
ビットづつで合計6ビットが必要になる。これによると
各計算クラスタは順序付けられた番号にならない。この
ため図12に示すような計算クラスタの番号変換を行な
う必要がある。この変換は、たとえば計算クラスタ内の
ネットワークインタフェースアダプタ202で実現す
る。またFEP106、入出力クラスタ104の番号変
換についても同図に示すように同様に実現される。
れているプログラムがメッセージを転送する時には、プ
ロセッシングユニット201はメッセージの各フィール
ドに設定する値をネットワークインタフェースアダプタ
202に渡し、さらにメッセージ生成および送出の開始
を指示する。ここで受信クラスタ番号501は図6に示
すようにX方向/Y方向のクロスバスイッチのポートを
決定するX系クロスバ番号とY系クロスバ番号で構成さ
れる。また各計算クラスタ間のデータ転送における送受
信クラスタ番号は、プログラムあるいはシステムからは
一般に順序付けられた番号にした方が、指定しやすい。
たとえば16台の計算クラスタ構成の場合は0から15
の番号が付けらる。しかし実際のハードウェアで使用す
るクラスタ番号は異なる。これは16台の計算クラスタ
構成の場合、計算クラスタを指定するには4ビットであ
れば十分であるが、2のべき乗+1個のポートを持つク
ロスバスイッチを用いたことにより、ハードウェアとし
てはX系クロスバ番号/Y系クロスバ番号にそれぞれ3
ビットづつで合計6ビットが必要になる。これによると
各計算クラスタは順序付けられた番号にならない。この
ため図12に示すような計算クラスタの番号変換を行な
う必要がある。この変換は、たとえば計算クラスタ内の
ネットワークインタフェースアダプタ202で実現す
る。またFEP106、入出力クラスタ104の番号変
換についても同図に示すように同様に実現される。
【0028】計算クラスタより送出されたメッセージ
は、クロスバスイッチ101および乗り換えスイッチ1
02がメッセージ内の受信クラスタ番号501および転
送制御502を用いてルーティングを行ない、目的の受
信クラスタに到着する。ここで転送制御502は図7に
示すようにそのメッセージを全てのクラスタに転送する
か否かを示すブロードキャスト制御とメッセージを転送
する時にX方向あるいはY方向のどちらからを先に送出
するかを決定する転送順序制御により構成される。この
転送順序制御はクロスバネットワーク内のルーティング
をたとえば、X方向からY方向に限る固定ルーティング
とし、必ずその方向の転送だけになれば必要ないが、各
クラスタからFEP106へのデータ転送のように構成
次第で、Y方向からX方向へメッセージを転送すること
が必要になるため転送順序制御を設けている。
は、クロスバスイッチ101および乗り換えスイッチ1
02がメッセージ内の受信クラスタ番号501および転
送制御502を用いてルーティングを行ない、目的の受
信クラスタに到着する。ここで転送制御502は図7に
示すようにそのメッセージを全てのクラスタに転送する
か否かを示すブロードキャスト制御とメッセージを転送
する時にX方向あるいはY方向のどちらからを先に送出
するかを決定する転送順序制御により構成される。この
転送順序制御はクロスバネットワーク内のルーティング
をたとえば、X方向からY方向に限る固定ルーティング
とし、必ずその方向の転送だけになれば必要ないが、各
クラスタからFEP106へのデータ転送のように構成
次第で、Y方向からX方向へメッセージを転送すること
が必要になるため転送順序制御を設けている。
【0029】メッセージが届いた受信クラスタでは、ネ
ットワークインタフェースアダプタ202がそのメッセ
ージのデータ転送コマンド503をみて、転送データ5
07を転送データ受信アドレス505に従いメモリ20
3に書き込む。また受信した転送データ507をメモリ
203に書き込んだことを知らせるために、データ識別
子アドレス504に従いメモリ203にその情報を書き
込む。受信クラスタ内のプロセッシングユニット201
はデータ識別子アドレスによりメモリ203を監視し、
転送データ507が届いたことを知る。
ットワークインタフェースアダプタ202がそのメッセ
ージのデータ転送コマンド503をみて、転送データ5
07を転送データ受信アドレス505に従いメモリ20
3に書き込む。また受信した転送データ507をメモリ
203に書き込んだことを知らせるために、データ識別
子アドレス504に従いメモリ203にその情報を書き
込む。受信クラスタ内のプロセッシングユニット201
はデータ識別子アドレスによりメモリ203を監視し、
転送データ507が届いたことを知る。
【0030】次にブロードキャストのメッセージ転送に
ついて説明する。各乗換えスイッチ102では対応する
計算クラスタ103から転送されてきたメッセージ内の
ブロードキャスト制御がブロードキャストを示している
ことを知ると、まず、そのスイッチに接続されたX方向
クロスバスイッチ101xにそのメッセージを転送す
る。上記X方向クロスバスイッチ101xでは、それに
接続される全ての乗換えスイッチ102に対して、転送
可能であることを確認してからそのメッセージを転送す
る。X方向クロスバスイッチ101xからブロードキャ
ストのメッセージが転送されてきた乗換えスイッチ10
2の各々では、次にそのスイッチに接続されたY方向ク
ロスバスイッチ101yにそのメッセージを転送する。
以下同様にY方向クロスバスイッチ101yから乗換え
スイッチ102にブロードキャストのメッセージを転送
する。この乗換えスイッチ102では、このメッセージ
をそれに接続される計算クラスタ103に転送する。こ
のようにしてブロードキャストのメッセージ転送を実行
する。
ついて説明する。各乗換えスイッチ102では対応する
計算クラスタ103から転送されてきたメッセージ内の
ブロードキャスト制御がブロードキャストを示している
ことを知ると、まず、そのスイッチに接続されたX方向
クロスバスイッチ101xにそのメッセージを転送す
る。上記X方向クロスバスイッチ101xでは、それに
接続される全ての乗換えスイッチ102に対して、転送
可能であることを確認してからそのメッセージを転送す
る。X方向クロスバスイッチ101xからブロードキャ
ストのメッセージが転送されてきた乗換えスイッチ10
2の各々では、次にそのスイッチに接続されたY方向ク
ロスバスイッチ101yにそのメッセージを転送する。
以下同様にY方向クロスバスイッチ101yから乗換え
スイッチ102にブロードキャストのメッセージを転送
する。この乗換えスイッチ102では、このメッセージ
をそれに接続される計算クラスタ103に転送する。こ
のようにしてブロードキャストのメッセージ転送を実行
する。
【0031】次にFEP106と計算クラスタ103と
のメッセージ転送について説明する。図1では、FEP
106と各計算クラスタ103とのメッセージ転送を効
率よく行うためにブロードキャストスイッチ100を1
つ新たに設けている。これによりブロードキャストスイ
ッチ100と一群のY方向のクロスバスイッチ101y
を経由するだけで、FEP106といずれの計算クラス
タ103との間でメッセージ転送が可能である。
のメッセージ転送について説明する。図1では、FEP
106と各計算クラスタ103とのメッセージ転送を効
率よく行うためにブロードキャストスイッチ100を1
つ新たに設けている。これによりブロードキャストスイ
ッチ100と一群のY方向のクロスバスイッチ101y
を経由するだけで、FEP106といずれの計算クラス
タ103との間でメッセージ転送が可能である。
【0032】たとえば図1のシステム構成における計算
クラスタ103のP00からFEP106へのメッセー
ジ転送では、計算クラスタ103間のメッセージ転送と
同様にしてネットワークインタフェースアダプタ202
からメッセージが送出される。このときのメッセージ内
の受信クラスタ番号は、図12のクラスタ番号変換表で
示すようにFEP106を示すX系クロスバ番号=4、
Y系クロスバ番号=4に変換されている。またメッセー
ジ内の転送順序制御は、図10に示すようにY方向クロ
スバスイッチからX方向クロスバスイッチへメッセージ
を転送するように、1に設定されている。計算クラスタ
内のネットワークインタフェースアダプタ202から送
出されたメッセージは、まずP00に接続される乗換え
スイッチ102に送出される。その乗換えスイッチ10
2では、メッセージ内の転送順序制御により、それに接
続されるY方向のクロスバスイッチ101yに転送す
る。そのY方向のクロスバスイッチ101yでは、図8
で示すルーティング情報(詳細については後述する)に
従い、メッセージ内の受信クラスタ番号のY系クロスバ
番号に一致するポート番号804のポートにそのメッセ
ージを送出する。この場合、このポートにはブロードキ
ャストスイッチ100が接続されている。ブロードキャ
ストスイッチ100では、メッセージ内の受信クラスタ
番号のX系クロスバ番号に一致するポート番号804の
ポートにそのメッセージを送出することにより、FEP
106へのメッセージ転送が行なわれる。
クラスタ103のP00からFEP106へのメッセー
ジ転送では、計算クラスタ103間のメッセージ転送と
同様にしてネットワークインタフェースアダプタ202
からメッセージが送出される。このときのメッセージ内
の受信クラスタ番号は、図12のクラスタ番号変換表で
示すようにFEP106を示すX系クロスバ番号=4、
Y系クロスバ番号=4に変換されている。またメッセー
ジ内の転送順序制御は、図10に示すようにY方向クロ
スバスイッチからX方向クロスバスイッチへメッセージ
を転送するように、1に設定されている。計算クラスタ
内のネットワークインタフェースアダプタ202から送
出されたメッセージは、まずP00に接続される乗換え
スイッチ102に送出される。その乗換えスイッチ10
2では、メッセージ内の転送順序制御により、それに接
続されるY方向のクロスバスイッチ101yに転送す
る。そのY方向のクロスバスイッチ101yでは、図8
で示すルーティング情報(詳細については後述する)に
従い、メッセージ内の受信クラスタ番号のY系クロスバ
番号に一致するポート番号804のポートにそのメッセ
ージを送出する。この場合、このポートにはブロードキ
ャストスイッチ100が接続されている。ブロードキャ
ストスイッチ100では、メッセージ内の受信クラスタ
番号のX系クロスバ番号に一致するポート番号804の
ポートにそのメッセージを送出することにより、FEP
106へのメッセージ転送が行なわれる。
【0033】FEP106から計算クラスタ103のP
00へのへのメッセージ転送では、計算クラスタ103
間のメッセージ転送と同様にしてネットワークインタフ
ェースアダプタ202からメッセージが送出される。こ
のときのメッセージ内の受信クラスタ番号は、図12の
クラスタ番号変換表で示すように計算クラスタ103の
P00を示すX系クロスバ番号=0、Y系クロスバ番号
=0に変換されている。またメッセージ内の転送順序制
御は、図10に示すようにX方向クロスバスイッチから
Y方向クロスバスイッチへメッセージを転送するよう
に、0に設定されている。FEP106のネットワーク
インタフェースアダプタ202から送出されたメッセー
ジは、まずブロードキャストスイッチ100に送出され
る。そのブロードキャストスイッチ100では、図8で
示すルーティング情報(詳細については後述する)に従
い、メッセージ内の受信クラスタ番号のX系クロスバ番
号に一致するポート番号804のポートにそのメッセー
ジを送出する。この場合、このポートにはY方向のクロ
スバスイッチ101yが接続されている。そのY方向の
クロスバスイッチ101yでは、メッセージ内の受信ク
ラスタ番号のY系クロスバ番号に一致するポート番号8
04のポートにそのメッセージを送出する。このポート
には、P00に接続される乗換えスイッチ102が接続
されており、これにより計算クラスタ103のP00へ
のメッセージ転送が行なわれる。
00へのへのメッセージ転送では、計算クラスタ103
間のメッセージ転送と同様にしてネットワークインタフ
ェースアダプタ202からメッセージが送出される。こ
のときのメッセージ内の受信クラスタ番号は、図12の
クラスタ番号変換表で示すように計算クラスタ103の
P00を示すX系クロスバ番号=0、Y系クロスバ番号
=0に変換されている。またメッセージ内の転送順序制
御は、図10に示すようにX方向クロスバスイッチから
Y方向クロスバスイッチへメッセージを転送するよう
に、0に設定されている。FEP106のネットワーク
インタフェースアダプタ202から送出されたメッセー
ジは、まずブロードキャストスイッチ100に送出され
る。そのブロードキャストスイッチ100では、図8で
示すルーティング情報(詳細については後述する)に従
い、メッセージ内の受信クラスタ番号のX系クロスバ番
号に一致するポート番号804のポートにそのメッセー
ジを送出する。この場合、このポートにはY方向のクロ
スバスイッチ101yが接続されている。そのY方向の
クロスバスイッチ101yでは、メッセージ内の受信ク
ラスタ番号のY系クロスバ番号に一致するポート番号8
04のポートにそのメッセージを送出する。このポート
には、P00に接続される乗換えスイッチ102が接続
されており、これにより計算クラスタ103のP00へ
のメッセージ転送が行なわれる。
【0034】FEP1106から全計算クラスタ103
へのブロードキャスト転送では、計算クラスタ103間
のメッセージ転送と同様にしてネットワークインタフェ
ースアダプタ202からメッセージが送出される。この
ときのメッセージ内の受信クラスタ番号は何であっても
よい。またメッセージ内の転送順序制御は、図10に示
すようにX方向クロスバスイッチからY方向クロスバス
イッチへメッセージを転送するように0に設定されてい
る。さらにメッセージ内のブロードキャスト制御がブロ
ードキャストを示している。FEP106のネットワー
クインタフェースアダプタ202から送出されたメッセ
ージは、まずブロードキャストスイッチ100に送出さ
れる。そのブロードキャストスイッチ100では、ブロ
ードキャストが指定されているため、全ポートに送出可
能であることを確認して、そのメッセージを送出する。
各々のY方向のクロスバスイッチ101yでは、ブロー
ドキャストのメッセージが転送されてくると、それに接
続される全ての乗換えスイッチ102に対して、メッセ
ージが転送可能であることを確認して各乗換えスイッチ
102に転送する。
へのブロードキャスト転送では、計算クラスタ103間
のメッセージ転送と同様にしてネットワークインタフェ
ースアダプタ202からメッセージが送出される。この
ときのメッセージ内の受信クラスタ番号は何であっても
よい。またメッセージ内の転送順序制御は、図10に示
すようにX方向クロスバスイッチからY方向クロスバス
イッチへメッセージを転送するように0に設定されてい
る。さらにメッセージ内のブロードキャスト制御がブロ
ードキャストを示している。FEP106のネットワー
クインタフェースアダプタ202から送出されたメッセ
ージは、まずブロードキャストスイッチ100に送出さ
れる。そのブロードキャストスイッチ100では、ブロ
ードキャストが指定されているため、全ポートに送出可
能であることを確認して、そのメッセージを送出する。
各々のY方向のクロスバスイッチ101yでは、ブロー
ドキャストのメッセージが転送されてくると、それに接
続される全ての乗換えスイッチ102に対して、メッセ
ージが転送可能であることを確認して各乗換えスイッチ
102に転送する。
【0035】このようにFEP1106から全計算クラ
スタ103へのブロードキャストでは、計算クラスタ間
のそれとは異なり、X方向のクロスバスイッチ101x
を介することなく、ブロードキャストスイッチ100と
一群のY方向のクロスバスイッチ101yを経由するだ
けで、全ての計算クラスタ103にメッセージをブロー
ドキャスト転送が可能である。また各計算クラスタ10
3からFEP106にメッセージを転送する場合にも、
ブロードキャストスイッチ100を使うことによりX方
向のクロスバスイッチ101xを介さずに転送できるの
で、ネットワーク内で実行されている他の計算クラスタ
間のメッセージ転送の妨げを少なくできる。もしFEP
106がたとえば図1の右上端の入出力プロセッサ10
4の位置にあった場合には、各計算クラスタ103から
送出された複数のメッセージがそのFEP106が接続
されるX方向のクロスバスイッチ101xに集中するこ
とになり、そのX方向のクロスバスイッチ101xを使
用する他のメッセージ転送が妨げられるが、本実施例で
は、このような問題はない。
スタ103へのブロードキャストでは、計算クラスタ間
のそれとは異なり、X方向のクロスバスイッチ101x
を介することなく、ブロードキャストスイッチ100と
一群のY方向のクロスバスイッチ101yを経由するだ
けで、全ての計算クラスタ103にメッセージをブロー
ドキャスト転送が可能である。また各計算クラスタ10
3からFEP106にメッセージを転送する場合にも、
ブロードキャストスイッチ100を使うことによりX方
向のクロスバスイッチ101xを介さずに転送できるの
で、ネットワーク内で実行されている他の計算クラスタ
間のメッセージ転送の妨げを少なくできる。もしFEP
106がたとえば図1の右上端の入出力プロセッサ10
4の位置にあった場合には、各計算クラスタ103から
送出された複数のメッセージがそのFEP106が接続
されるX方向のクロスバスイッチ101xに集中するこ
とになり、そのX方向のクロスバスイッチ101xを使
用する他のメッセージ転送が妨げられるが、本実施例で
は、このような問題はない。
【0036】次にこのネットワークを構成するハードウ
ェアの実現方法について説明する。図8にメッセージの
転送に必要なルーティング情報を示す。このルーティン
グ情報はシステムが立ち上がった時に予め設定される。
各クラスタ103、104、105およびFEP106
には各クラスタの自クラスタ番号801を持つ。この番
号801は送信クラスタが応答を必要とする時など、メ
ッセージにそれを追加する。受信クラスタではそれに対
応するメッセージを送り返す時、その番号が受信クラス
タ番号として使用される。また各乗り換えスイッチ10
2にもそれに接続される各クラスタの自クラスタ番号8
02を持つ。この番号802はメッセージ内の受信クラ
スタ番号501と比較される。乗り換えスイッチ102
は、その結果によりクラスタやクロスバスイッチにメッ
セージを渡す。各クロスバスイッチ101には各クロス
バスイッチ101がX方向/Y方向かの次元を示すクロ
スバスイッチ次元情報803および、各クロスバスイッ
チ101のそれぞれのポートがどこに接続されているか
を示すポート番号804を持つ。クロスバスイッチ次元
情報803はクロスバスイッチ101内のルーティング
において、メッセージ内の受信クラスタ番号501のX
系クロスバ番号/Y系クロスバ番号のどちらを切り出す
かを決定する。またポート番号804は受信クラスタ番
号501から切り出されたX/Y系クロスバ番号と比較
され、一致するポートへメッセージを送出するために使
用される。
ェアの実現方法について説明する。図8にメッセージの
転送に必要なルーティング情報を示す。このルーティン
グ情報はシステムが立ち上がった時に予め設定される。
各クラスタ103、104、105およびFEP106
には各クラスタの自クラスタ番号801を持つ。この番
号801は送信クラスタが応答を必要とする時など、メ
ッセージにそれを追加する。受信クラスタではそれに対
応するメッセージを送り返す時、その番号が受信クラス
タ番号として使用される。また各乗り換えスイッチ10
2にもそれに接続される各クラスタの自クラスタ番号8
02を持つ。この番号802はメッセージ内の受信クラ
スタ番号501と比較される。乗り換えスイッチ102
は、その結果によりクラスタやクロスバスイッチにメッ
セージを渡す。各クロスバスイッチ101には各クロス
バスイッチ101がX方向/Y方向かの次元を示すクロ
スバスイッチ次元情報803および、各クロスバスイッ
チ101のそれぞれのポートがどこに接続されているか
を示すポート番号804を持つ。クロスバスイッチ次元
情報803はクロスバスイッチ101内のルーティング
において、メッセージ内の受信クラスタ番号501のX
系クロスバ番号/Y系クロスバ番号のどちらを切り出す
かを決定する。またポート番号804は受信クラスタ番
号501から切り出されたX/Y系クロスバ番号と比較
され、一致するポートへメッセージを送出するために使
用される。
【0037】図9に乗り換えスイッチの構成を示す。乗
り換えスイッチ102は、乗り換えスイッチ102に接
続されるクラスタ、クロスバスイッチから送出されるメ
ッセージを一時保持するファーストーイン・ファースト
ーアウト・メモリ(以下、FIFO)901、FIFO
901に保持されたメッセージを取り出し、そのメッセ
ージの受信クラスタ番号501と転送制御502により
転送先を決定するルーティング制御902および各ルー
ティング制御902からの要求に対して優先順位を決定
し、各ポートにメッセージを送出するメッセージ送出制
御903を各ポート対応に設け、それらと自クラスタ番
号802により構成する。
り換えスイッチ102は、乗り換えスイッチ102に接
続されるクラスタ、クロスバスイッチから送出されるメ
ッセージを一時保持するファーストーイン・ファースト
ーアウト・メモリ(以下、FIFO)901、FIFO
901に保持されたメッセージを取り出し、そのメッセ
ージの受信クラスタ番号501と転送制御502により
転送先を決定するルーティング制御902および各ルー
ティング制御902からの要求に対して優先順位を決定
し、各ポートにメッセージを送出するメッセージ送出制
御903を各ポート対応に設け、それらと自クラスタ番
号802により構成する。
【0038】FIFO901は読み出しと書き込み動作
が非同期に行なえる。これには市販されているFIFO
用LSIを用いてもよい。ルーティング制御902はF
IFO読み出し制御921と転送先決定回路922によ
り構成する。FIFO読み出し制御921では、FIF
O901から出力されるEMPTY信号911が0であ
ることを確認して、リードストローブ912を送出し、
FIFO901に保持されたメッセージを読みだす。こ
のEMPTY信号911はFIFO901に1個もデー
タが入ってない時は1で、それ以外は0である。
が非同期に行なえる。これには市販されているFIFO
用LSIを用いてもよい。ルーティング制御902はF
IFO読み出し制御921と転送先決定回路922によ
り構成する。FIFO読み出し制御921では、FIF
O901から出力されるEMPTY信号911が0であ
ることを確認して、リードストローブ912を送出し、
FIFO901に保持されたメッセージを読みだす。こ
のEMPTY信号911はFIFO901に1個もデー
タが入ってない時は1で、それ以外は0である。
【0039】転送先決定回路922では、図10に示す
ように、読みだされたメッセージ内の受信クラスタ番号
501のX系クロスバ番号、Y系クロスバ番号がそれぞ
れ各乗り換えスイッチ102に保持されている自クラス
タ番号802のX系クロスバ番号、Y系クロスバ番号と
比較される。この比較結果に基づきメッセージ内の転送
制御502の転送順序制御の内容によりX方向から先に
送出するか,あるいはY方向から先に送出するかを決定
する。この転送先決定回路922の動作は、たとえば転
送順序制御がX方向からY方向への転送が指定されてい
る、即ち転送順序制御が0であると、X系クロスバ番号
の比較結果が0、即ち不一致で、かつY系クロスバ番号
の比較結果が0の場合X系クロスバスイッチに転送、X
系クロスバ番号の比較結果が0で、かつY系クロスバ番
号の比較結果が1、即ち一致の場合X系クロスバスイッ
チに転送、X系クロスバ番号の比較結果が1で、かつY
系クロスバ番号の比較結果が0の場合Y系クロスバスイ
ッチに転送、X系クロスバ番号の比較結果が1で、かつ
Y系クロスバ番号の比較結果が1の場合クラスタに転送
することを示す。そして転送先決定回路922では決定
した転送先に、それに対応する信号923によりメッセ
ージ送出制御903に送出することを指示する。
ように、読みだされたメッセージ内の受信クラスタ番号
501のX系クロスバ番号、Y系クロスバ番号がそれぞ
れ各乗り換えスイッチ102に保持されている自クラス
タ番号802のX系クロスバ番号、Y系クロスバ番号と
比較される。この比較結果に基づきメッセージ内の転送
制御502の転送順序制御の内容によりX方向から先に
送出するか,あるいはY方向から先に送出するかを決定
する。この転送先決定回路922の動作は、たとえば転
送順序制御がX方向からY方向への転送が指定されてい
る、即ち転送順序制御が0であると、X系クロスバ番号
の比較結果が0、即ち不一致で、かつY系クロスバ番号
の比較結果が0の場合X系クロスバスイッチに転送、X
系クロスバ番号の比較結果が0で、かつY系クロスバ番
号の比較結果が1、即ち一致の場合X系クロスバスイッ
チに転送、X系クロスバ番号の比較結果が1で、かつY
系クロスバ番号の比較結果が0の場合Y系クロスバスイ
ッチに転送、X系クロスバ番号の比較結果が1で、かつ
Y系クロスバ番号の比較結果が1の場合クラスタに転送
することを示す。そして転送先決定回路922では決定
した転送先に、それに対応する信号923によりメッセ
ージ送出制御903に送出することを指示する。
【0040】メッセージ送出制御903はプライオリテ
ィ制御931とセレクタ932により構成される。プラ
イオリティ制御931では、各ルーティング制御からの
信号923を受け取り、それらの間で送出する優先順位
を決め、それに対して送出を行なう。送出の制御は、メ
ッセージ送出制御903が送出先に乗り換えスイッチと
同様に設けられているFIFOから出力されるFULL
信号904が0であることを確認して、ライトストロー
ブ905を送出し、送出先のFIFOにメッセージを書
き込む。このFULL信号904は送出先FIFOが一
杯で1個のデータも受け取れない時は1で、それ以外は
0である。またプライオリティ制御931では一回の送
出でメッセージの転送が終わらない場合、送り出すごと
に信号933により対応するFIFO読み出し制御92
1に対してFIFO901から次のデータを読みだすこ
とを指示する。
ィ制御931とセレクタ932により構成される。プラ
イオリティ制御931では、各ルーティング制御からの
信号923を受け取り、それらの間で送出する優先順位
を決め、それに対して送出を行なう。送出の制御は、メ
ッセージ送出制御903が送出先に乗り換えスイッチと
同様に設けられているFIFOから出力されるFULL
信号904が0であることを確認して、ライトストロー
ブ905を送出し、送出先のFIFOにメッセージを書
き込む。このFULL信号904は送出先FIFOが一
杯で1個のデータも受け取れない時は1で、それ以外は
0である。またプライオリティ制御931では一回の送
出でメッセージの転送が終わらない場合、送り出すごと
に信号933により対応するFIFO読み出し制御92
1に対してFIFO901から次のデータを読みだすこ
とを指示する。
【0041】次にこの乗換えスイッチ102におけるブ
ロードキャストのメッセージ転送の動作について説明す
る。ここではブロードキャストは、前述したように送出
元計算クラスタ103、乗換えスイッチ102、X方向
クロスバスイッチ101x、乗換えスイッチ102、Y
方向クロスバスイッチ101y、乗換えスイッチ10
2、全計算クラスタ103の順番でメッセージの転送が
行なわれる。
ロードキャストのメッセージ転送の動作について説明す
る。ここではブロードキャストは、前述したように送出
元計算クラスタ103、乗換えスイッチ102、X方向
クロスバスイッチ101x、乗換えスイッチ102、Y
方向クロスバスイッチ101y、乗換えスイッチ10
2、全計算クラスタ103の順番でメッセージの転送が
行なわれる。
【0042】まず計算クラスタ103から送出されたメ
ッセージは、乗換えスイッチ102に送出される。そし
て乗換えスイッチ102のルーティング制御902が、
メッセージ内のブロードキャスト制御によりブロードキ
ャストが指定されているかを判定する。ブロードキャス
トが指定されていると、ルーティング制御902は出力
ポート番号レジスタ924に保持されているポート番号
に従い、そのブロードキャストのメッセージをX方向の
クロスバスイッチ101xが接続されるポートに出力す
る。
ッセージは、乗換えスイッチ102に送出される。そし
て乗換えスイッチ102のルーティング制御902が、
メッセージ内のブロードキャスト制御によりブロードキ
ャストが指定されているかを判定する。ブロードキャス
トが指定されていると、ルーティング制御902は出力
ポート番号レジスタ924に保持されているポート番号
に従い、そのブロードキャストのメッセージをX方向の
クロスバスイッチ101xが接続されるポートに出力す
る。
【0043】ここで出力ポート番号レジスタ924の内
容は、ブロードキャストのメッセージをどこのポートに
出力するかを示す情報である。この場合の出力ポート番
号レジスタ924の内容は、計算クラスタからブロード
キャストのメッセージを受け取るルーティング制御90
2はX方向クロスバスイッチ101xに出力するよう
に、X方向クロスバスイッチ101xからブロードキャ
ストのメッセージを受け取るルーティング制御902は
Y方向クロスバスイッチ101yに出力するように、Y
方向クロスバスイッチ101yからブロードキャストの
メッセージを受け取るルーティング制御902は計算ク
ラスタに出力するように設定されている。また同様にX
方向のクロスバスイッチ101xから送出されたブロー
ドキャストのメッセージは、乗換えスイッチ102のル
ーティング制御902が判定を行ない、ブロードキャス
トが指定されているとルーティング制御902は出力ポ
ート番号レジスタ924に保持されているポート番号に
従い、Y方向のクロスバスイッチ101yが接続される
ポートに出力する。また同様にY方向のクロスバスイッ
チ101yから送出されたブロードキャストのメッセー
ジは、乗換えスイッチ102のルーティング制御902
が判定を行ない、ブロードキャストが指定されていると
ルーティング制御902は出力ポート番号レジスタ92
4に保持されているポート番号に従い、計算クラスタが
接続されるポートに出力する。ブロードキャストのメッ
セージ転送では、この動作以外は他の転送制御と同じで
ある。図11にクロスバスイッチの構成を示す。クロス
バスイッチ101は、それに接続される乗り換えスイッ
チ102などから送出されるメッセージを一時保持し、
それを要求に応じて取り出しを行なうメッセージ受信制
御1101および、そのメッセージの受信クラスタ番号
501と転送制御502により自ポートへ出力するかを
決定し、各メッセージ受信制御1101からの要求の優
先順位を決定し、各ポートにメッセージを送出するメッ
セージ送出制御1102を各ポート対応に設け、構成す
る。
容は、ブロードキャストのメッセージをどこのポートに
出力するかを示す情報である。この場合の出力ポート番
号レジスタ924の内容は、計算クラスタからブロード
キャストのメッセージを受け取るルーティング制御90
2はX方向クロスバスイッチ101xに出力するよう
に、X方向クロスバスイッチ101xからブロードキャ
ストのメッセージを受け取るルーティング制御902は
Y方向クロスバスイッチ101yに出力するように、Y
方向クロスバスイッチ101yからブロードキャストの
メッセージを受け取るルーティング制御902は計算ク
ラスタに出力するように設定されている。また同様にX
方向のクロスバスイッチ101xから送出されたブロー
ドキャストのメッセージは、乗換えスイッチ102のル
ーティング制御902が判定を行ない、ブロードキャス
トが指定されているとルーティング制御902は出力ポ
ート番号レジスタ924に保持されているポート番号に
従い、Y方向のクロスバスイッチ101yが接続される
ポートに出力する。また同様にY方向のクロスバスイッ
チ101yから送出されたブロードキャストのメッセー
ジは、乗換えスイッチ102のルーティング制御902
が判定を行ない、ブロードキャストが指定されていると
ルーティング制御902は出力ポート番号レジスタ92
4に保持されているポート番号に従い、計算クラスタが
接続されるポートに出力する。ブロードキャストのメッ
セージ転送では、この動作以外は他の転送制御と同じで
ある。図11にクロスバスイッチの構成を示す。クロス
バスイッチ101は、それに接続される乗り換えスイッ
チ102などから送出されるメッセージを一時保持し、
それを要求に応じて取り出しを行なうメッセージ受信制
御1101および、そのメッセージの受信クラスタ番号
501と転送制御502により自ポートへ出力するかを
決定し、各メッセージ受信制御1101からの要求の優
先順位を決定し、各ポートにメッセージを送出するメッ
セージ送出制御1102を各ポート対応に設け、構成す
る。
【0044】メッセージ受信制御1101はメッセージ
を一時保持するFIFO901およびFIFO901に
保持されたメッセージをレジスタ1111に取り出すF
IFO読み出し制御1110により構成する。FIFO
読み出し制御1110は、乗り換えスイッチのそれと同
様にFIFO901から出力されるEMPTY信号11
12が0であることを確認して、リードストローブ11
13を送出し、FIFO901に保持されたメッセージ
を読みだし、レジスタ1111に保持する。このEMP
TY信号1112はFIFO901に1個もデータが入
ってない時は1で、それ以外は0である。そしてメッセ
ージ受信制御1101は、FIFO901からメッセー
ジをレジスタ1111に取り出したことを、信号112
2によりメッセージ送出制御1102に知らせる。
を一時保持するFIFO901およびFIFO901に
保持されたメッセージをレジスタ1111に取り出すF
IFO読み出し制御1110により構成する。FIFO
読み出し制御1110は、乗り換えスイッチのそれと同
様にFIFO901から出力されるEMPTY信号11
12が0であることを確認して、リードストローブ11
13を送出し、FIFO901に保持されたメッセージ
を読みだし、レジスタ1111に保持する。このEMP
TY信号1112はFIFO901に1個もデータが入
ってない時は1で、それ以外は0である。そしてメッセ
ージ受信制御1101は、FIFO901からメッセー
ジをレジスタ1111に取り出したことを、信号112
2によりメッセージ送出制御1102に知らせる。
【0045】メッセージ送出制御1102は、信号11
22により各メッセージ受信制御1101から読みださ
れたメッセージ内の受信クラスタ番号501内のX系ク
ロスバ番号/Y系クロスバ番号のどちらを切り出すか
を、クロスバスイッチ次元情報803により決定する。
そして、その受信クラスタ番号501から切り出された
X/Y系クロスバ番号とポート番号804とを一致回路
1120で比較する。その比較結果が一致すれば、その
ポートへメッセージを送出することを決定する。また一
致しなければ何も動作はしない。このメッセージの送出
では、送出が決定した各メッセージ受信制御1101間
の送出順序がプライオリティ制御1121により決めら
れる。またプライオリティ制御1121が送出先に乗り
換えスイッチと同様に設けられているFIFOから出力
されるFULL信号905が0であることを確認して、
ライトストローブ905を送出し、送出先のFIFOに
メッセージを書き込む。このFULL信号904は送出
先FIFOが一杯で1個のデータも受け取れない時は1
で、それ以外は0である。プライオリティ制御1121
は送出先のFIFOにメッセージを書き込んだことを信
号1123により、メッセージ受信制御1101に知ら
せる。メッセージ受信制御1101は、この信号112
3により次のメッセージを読みだす。またプライオリテ
ィ制御1121では一回の送出でメッセージの転送が終
わらない場合、送り出すごとに信号1124により対応
するFIFO読み出し制御1110に対してFIFO9
01から次のデータを読みだすことを指示する。
22により各メッセージ受信制御1101から読みださ
れたメッセージ内の受信クラスタ番号501内のX系ク
ロスバ番号/Y系クロスバ番号のどちらを切り出すか
を、クロスバスイッチ次元情報803により決定する。
そして、その受信クラスタ番号501から切り出された
X/Y系クロスバ番号とポート番号804とを一致回路
1120で比較する。その比較結果が一致すれば、その
ポートへメッセージを送出することを決定する。また一
致しなければ何も動作はしない。このメッセージの送出
では、送出が決定した各メッセージ受信制御1101間
の送出順序がプライオリティ制御1121により決めら
れる。またプライオリティ制御1121が送出先に乗り
換えスイッチと同様に設けられているFIFOから出力
されるFULL信号905が0であることを確認して、
ライトストローブ905を送出し、送出先のFIFOに
メッセージを書き込む。このFULL信号904は送出
先FIFOが一杯で1個のデータも受け取れない時は1
で、それ以外は0である。プライオリティ制御1121
は送出先のFIFOにメッセージを書き込んだことを信
号1123により、メッセージ受信制御1101に知ら
せる。メッセージ受信制御1101は、この信号112
3により次のメッセージを読みだす。またプライオリテ
ィ制御1121では一回の送出でメッセージの転送が終
わらない場合、送り出すごとに信号1124により対応
するFIFO読み出し制御1110に対してFIFO9
01から次のデータを読みだすことを指示する。
【0046】次にこのクロスバスイッチ101における
ブロードキャストのメッセージ転送の動作について説明
する。FIFO読出し制御1110がメッセージ内のブ
ロードキャスト制御を判定し、ブロードキャストのメッ
セージ転送であることを認識すると、FIFO901か
らメッセージをレジスタ1111に取り出したことを、
信号1122により全てのメッセージ送出制御1102
に知らせる。それぞれのメッセージ送出制御1102で
は、上記と同じ動作を行ない、送出先のFIFOにメッ
セージを書き込んだことを信号1123により、メッセ
ージ受信制御1101に知らせる。メッセージ受信制御
1101は、信号1123が全てのメッセージ送出制御
1102から送られてくるのを判別する。信号1123
が全てのメッセージ送出制御1102から送られてきた
ときに、次のメッセージを読みだす。全てから送られて
こないときは、全ての信号1123が送られてくるまで
次のメッセージを読みださない。またプライオリティ制
御1121では一回の送出でメッセージの転送が終わら
ない場合、送り出すごとに信号1124により対応する
FIFO読み出し制御1110に対してFIFO901
から次のデータを読みだすことを指示する。
ブロードキャストのメッセージ転送の動作について説明
する。FIFO読出し制御1110がメッセージ内のブ
ロードキャスト制御を判定し、ブロードキャストのメッ
セージ転送であることを認識すると、FIFO901か
らメッセージをレジスタ1111に取り出したことを、
信号1122により全てのメッセージ送出制御1102
に知らせる。それぞれのメッセージ送出制御1102で
は、上記と同じ動作を行ない、送出先のFIFOにメッ
セージを書き込んだことを信号1123により、メッセ
ージ受信制御1101に知らせる。メッセージ受信制御
1101は、信号1123が全てのメッセージ送出制御
1102から送られてくるのを判別する。信号1123
が全てのメッセージ送出制御1102から送られてきた
ときに、次のメッセージを読みだす。全てから送られて
こないときは、全ての信号1123が送られてくるまで
次のメッセージを読みださない。またプライオリティ制
御1121では一回の送出でメッセージの転送が終わら
ない場合、送り出すごとに信号1124により対応する
FIFO読み出し制御1110に対してFIFO901
から次のデータを読みだすことを指示する。
【0047】次にESクラスタのアクセスについて説明
する。図13にESのアドレス空間を示す。ESは図1
のようにクロスバスイッチに接続され、分散配置されて
いる。各ソフトウェアからESは各計算クラスタのメモ
リと独立した1つのアドレス空間にみえる。各ESクラ
スタ105内のES402(図4)は、この1つの空間
内の1部の連続領域が割り当てられている。各ESのデ
ータは計算クラスタのメモリに転送してから使用する。
計算クラスタから各ESクラスタのアクセスは計算クラ
スタ間データ転送と同様にクロスバネットワークを介す
る。各計算クラスタから指定されるESアドレスは、プ
ログラムからESクラスタ間をまたがるアドレスとな
る。このため実際のアクセスでは、このアドレスを複数
ESクラスタのうち1個を指定するESクラスタ番号
と、1個のESクラスタで保持できる最大容量のビット
数からなるESクラスタ内アドレスに分けられる。この
ESクラスタ番号は計算クラスタから指定されるESア
ドレスの上位の数ビットから変換されて得られる。たと
えばESアドレスが32ビット幅で、各ESクラスタ1
05内のES402(図4)の最大容量が256Mバイ
ト(228)であると、ESクラスタ番号に変換されるE
Sアドレスのビット数は上位4ビットである。図14
に、この場合における図1の構成時の変換方法を示す。
この場合ESクラスタ105は2台だけがクロスバネッ
トワークに接続されているため、ESアドレスの上位4
ビットが(0000)2の場合ではESクラスタ番号の
X系クロスバ番号=4、Y系クロスバ番号=2に、また
ESアドレスの上位4ビットが(0001)2の場合で
はESクラスタ番号のX系クロスバ番号=4、Y系クロ
スバ番号=3に変換される。この変換は、たとえば計算
クラスタ103内のネットワークインタフェースアダプ
タ202(図2)で実現する。
する。図13にESのアドレス空間を示す。ESは図1
のようにクロスバスイッチに接続され、分散配置されて
いる。各ソフトウェアからESは各計算クラスタのメモ
リと独立した1つのアドレス空間にみえる。各ESクラ
スタ105内のES402(図4)は、この1つの空間
内の1部の連続領域が割り当てられている。各ESのデ
ータは計算クラスタのメモリに転送してから使用する。
計算クラスタから各ESクラスタのアクセスは計算クラ
スタ間データ転送と同様にクロスバネットワークを介す
る。各計算クラスタから指定されるESアドレスは、プ
ログラムからESクラスタ間をまたがるアドレスとな
る。このため実際のアクセスでは、このアドレスを複数
ESクラスタのうち1個を指定するESクラスタ番号
と、1個のESクラスタで保持できる最大容量のビット
数からなるESクラスタ内アドレスに分けられる。この
ESクラスタ番号は計算クラスタから指定されるESア
ドレスの上位の数ビットから変換されて得られる。たと
えばESアドレスが32ビット幅で、各ESクラスタ1
05内のES402(図4)の最大容量が256Mバイ
ト(228)であると、ESクラスタ番号に変換されるE
Sアドレスのビット数は上位4ビットである。図14
に、この場合における図1の構成時の変換方法を示す。
この場合ESクラスタ105は2台だけがクロスバネッ
トワークに接続されているため、ESアドレスの上位4
ビットが(0000)2の場合ではESクラスタ番号の
X系クロスバ番号=4、Y系クロスバ番号=2に、また
ESアドレスの上位4ビットが(0001)2の場合で
はESクラスタ番号のX系クロスバ番号=4、Y系クロ
スバ番号=3に変換される。この変換は、たとえば計算
クラスタ103内のネットワークインタフェースアダプ
タ202(図2)で実現する。
【0048】このネットワークインタフェースアダプタ
202のブロック図を20図に示す。これはプロセッシ
ングユニット、メモリなどとのインタフェース制御を行
なうプロセッサバス制御回路2001、プロセッサバス
制御回路2001からの指示でメッセージをクロスバネ
ットワークに送出するメッセージ送出制御回路200
2、およびクロスバネットワークから送られてきたメッ
セージを受信し、クラスタ内のプロセッシングユニット
201に割込みをかけたり、メッセージで指定された転
送データをメモリ203に書き込む処理などを制御する
メッセージ受信制御回路2003により構成される。
202のブロック図を20図に示す。これはプロセッシ
ングユニット、メモリなどとのインタフェース制御を行
なうプロセッサバス制御回路2001、プロセッサバス
制御回路2001からの指示でメッセージをクロスバネ
ットワークに送出するメッセージ送出制御回路200
2、およびクロスバネットワークから送られてきたメッ
セージを受信し、クラスタ内のプロセッシングユニット
201に割込みをかけたり、メッセージで指定された転
送データをメモリ203に書き込む処理などを制御する
メッセージ受信制御回路2003により構成される。
【0049】さらにメッセージ送出回路2002は、メ
ッセージの送出を制御するメッセージ送出制御220
1、ハードウェアで生成するメッセージの転送データの
最大バイト数を保持する最大転送データ長レジスタ22
02(以下、MTUと呼ぶ)、プロセッシングユニット
から指定される転送データ長を保持する転送データ長レ
ジスタ2203(以下、LENと呼ぶ)、プロセッシン
グユニットから指定されるESアドレスを保持するES
アドレスレジスタ2204(以下、ESAと呼ぶ)、プ
ロセッシングユニットから指定される自クラスタ内のメ
モリをアクセスするためのメモリアドレスを保持する送
信メモリアドレスレジスタ2205(以下、MS−Sと
呼ぶ)、プロセッシングユニットから指定される受信側
クラスタ内のメモリをアクセスするためのメモリアドレ
スを保持する受信メモリアドレスレジスタ2206(以
下、MS−Rと呼ぶ)、プロセッシングユニットから指
定される受信クラスタ番号を保持するクラスタ番号レジ
スタ2207(以下、CLNと呼ぶ)、MTU2202
とLEN2203を比較する比較器2211、LEN2
203からMTU2202を減算する減算器2212、
ESA2204の上位ビットからESクラスタ番号に変
換する変換回路2213、ESA2204とMTU22
02を加算する加算器2214、MS−S2204とM
TU2202を加算する加算器2215、MS−R22
04とMTU2202を加算する加算器2216、CL
N2207から受信クラスタ番号に変換する変換回路2
217、および、メッセージ送出制御の指示により上記
レジスタなどの内容を入力とし、メモリから転送データ
を読出し、メッセージを組立て、クロスバネットワーク
に送出する送信回路2208から構成される。
ッセージの送出を制御するメッセージ送出制御220
1、ハードウェアで生成するメッセージの転送データの
最大バイト数を保持する最大転送データ長レジスタ22
02(以下、MTUと呼ぶ)、プロセッシングユニット
から指定される転送データ長を保持する転送データ長レ
ジスタ2203(以下、LENと呼ぶ)、プロセッシン
グユニットから指定されるESアドレスを保持するES
アドレスレジスタ2204(以下、ESAと呼ぶ)、プ
ロセッシングユニットから指定される自クラスタ内のメ
モリをアクセスするためのメモリアドレスを保持する送
信メモリアドレスレジスタ2205(以下、MS−Sと
呼ぶ)、プロセッシングユニットから指定される受信側
クラスタ内のメモリをアクセスするためのメモリアドレ
スを保持する受信メモリアドレスレジスタ2206(以
下、MS−Rと呼ぶ)、プロセッシングユニットから指
定される受信クラスタ番号を保持するクラスタ番号レジ
スタ2207(以下、CLNと呼ぶ)、MTU2202
とLEN2203を比較する比較器2211、LEN2
203からMTU2202を減算する減算器2212、
ESA2204の上位ビットからESクラスタ番号に変
換する変換回路2213、ESA2204とMTU22
02を加算する加算器2214、MS−S2204とM
TU2202を加算する加算器2215、MS−R22
04とMTU2202を加算する加算器2216、CL
N2207から受信クラスタ番号に変換する変換回路2
217、および、メッセージ送出制御の指示により上記
レジスタなどの内容を入力とし、メモリから転送データ
を読出し、メッセージを組立て、クロスバネットワーク
に送出する送信回路2208から構成される。
【0050】この構成においてESにデータを書き込む
ための計算クラスタ103のメッセージの送出処理につ
いて述べる。ESを書き込むためにプロセッシングユニ
ットからは、ネットワークインタフェースアダプタに対
して、転送データ長がLEN2203に、ESにデータ
を書き込むためのESアドレスがESA2204に、E
Sに書き込むデータを自クラスタ内のメモリから読みだ
すためのメモリ主記憶アドレスがMS−S2205に、
およびESに対するアクセス種別(書き込み要求)が設
定される。ただしアクセス種別についてはメッセージ送
出制御2201で保持される。またES書き込みに関係
のないレジスタ(この場合ではMS−R2206、CL
N2207である)には何も設定されない。
ための計算クラスタ103のメッセージの送出処理につ
いて述べる。ESを書き込むためにプロセッシングユニ
ットからは、ネットワークインタフェースアダプタに対
して、転送データ長がLEN2203に、ESにデータ
を書き込むためのESアドレスがESA2204に、E
Sに書き込むデータを自クラスタ内のメモリから読みだ
すためのメモリ主記憶アドレスがMS−S2205に、
およびESに対するアクセス種別(書き込み要求)が設
定される。ただしアクセス種別についてはメッセージ送
出制御2201で保持される。またES書き込みに関係
のないレジスタ(この場合ではMS−R2206、CL
N2207である)には何も設定されない。
【0051】またMTU2202については、プロセッ
シングユニットから指定された転送データ長がとても長
い場合、それをそのままメッセージとして組み立ててし
まうと、クロスバネットワークでそのためのメッセージ
転送でパスが長い時間、占有されてしまい、他のメッセ
ージ転送に影響がでる。このためメッセージの最大転送
データ長を予め決めておき、それよりメッセージが長く
なる場合は、その最大転送データ長に従いメッセージを
分割して送出する。この最大転送データ長を保持するの
がMTU2202であり、この値はシステムが立ち上が
る時に設定されている。
シングユニットから指定された転送データ長がとても長
い場合、それをそのままメッセージとして組み立ててし
まうと、クロスバネットワークでそのためのメッセージ
転送でパスが長い時間、占有されてしまい、他のメッセ
ージ転送に影響がでる。このためメッセージの最大転送
データ長を予め決めておき、それよりメッセージが長く
なる場合は、その最大転送データ長に従いメッセージを
分割して送出する。この最大転送データ長を保持するの
がMTU2202であり、この値はシステムが立ち上が
る時に設定されている。
【0052】以下、メッセージ送出回路2002の動作
手順を示す。
手順を示す。
【0053】(1)ES書き込み処理に必要なレジスタ
が設定されたことをメッセージ送出制御2201が認識
する。
が設定されたことをメッセージ送出制御2201が認識
する。
【0054】(2)比較器2211においてプロセッシ
ングユニットから指定された転送データ長LEN220
3がハードウェアで生成するメッセージの最大転送デー
タ長MTU2203以下であるかを判定し、その結果を
メッセージ送出制御2201に渡す。
ングユニットから指定された転送データ長LEN220
3がハードウェアで生成するメッセージの最大転送デー
タ長MTU2203以下であるかを判定し、その結果を
メッセージ送出制御2201に渡す。
【0055】(3)メッセージ送出制御2201では、
プロセッシングユニットから指定された転送データ長が
ハードウェアで生成するメッセージの最大転送データ長
を越えている場合には、選択回路2209を制御し、転
送データ長をMTU2203を選択し、送信回路220
8に送る。またESA2204の上位のあるビット幅分
は変換回路2213によりESクラスタ番号に変換さ
れ、送信回路2208に送られる。ESA2204の残
りのビットおよびMS−S2205はそのまま送信回路
2208に送られる。
プロセッシングユニットから指定された転送データ長が
ハードウェアで生成するメッセージの最大転送データ長
を越えている場合には、選択回路2209を制御し、転
送データ長をMTU2203を選択し、送信回路220
8に送る。またESA2204の上位のあるビット幅分
は変換回路2213によりESクラスタ番号に変換さ
れ、送信回路2208に送られる。ESA2204の残
りのビットおよびMS−S2205はそのまま送信回路
2208に送られる。
【0056】(4)そしてメッセージ送出制御2201
は、送信回路2208に対してメッセージの送信を行な
うことを指示する。
は、送信回路2208に対してメッセージの送信を行な
うことを指示する。
【0057】(5)送信回路2208では、MS−S2
206に従い、クラスタ内のメモリから転送データを転
送データ長分を読出し、それとメッセージ転送に必要な
情報を組み合わせてメッセージとしてクロスバネットワ
ークに送出する。
206に従い、クラスタ内のメモリから転送データを転
送データ長分を読出し、それとメッセージ転送に必要な
情報を組み合わせてメッセージとしてクロスバネットワ
ークに送出する。
【0058】(6)送信回路2208がメッセージの送
出を終えると、メッセージ送出制御2201に知らせ
る。
出を終えると、メッセージ送出制御2201に知らせ
る。
【0059】(7)メッセージ送出制御2201では送
信回路2208からのメッセージの送出終了を知ると、
ESA2204およびMS−S2205の値にMTU2
202の値をそれぞれの加算器2214、2215にて
加算を行なう。この加算結果はそれぞれのESA220
4およびMS−S2205に設定する。
信回路2208からのメッセージの送出終了を知ると、
ESA2204およびMS−S2205の値にMTU2
202の値をそれぞれの加算器2214、2215にて
加算を行なう。この加算結果はそれぞれのESA220
4およびMS−S2205に設定する。
【0060】(8)この後、減算器2212にてLEN
2203からMTU2202を減算し、その結果をLE
N2203に設定する。
2203からMTU2202を減算し、その結果をLE
N2203に設定する。
【0061】(9)(2)から(8)までをLEN22
03で保持する値がMTU2202で保持する値以下に
なるまで繰り返す。
03で保持する値がMTU2202で保持する値以下に
なるまで繰り返す。
【0062】(10)LEN2203で保持する値がM
TU2202で保持する値以下になると、メッセージ送
出制御2201では選択回路2209を制御し、転送デ
ータ長をLEN2203を選択し、送信回路に送り、
(2)から(8)までの処理を1回だけ行なうことによ
り、ESにデータを書き込むための計算クラスタ103
のメッセージの送出処理を終える。
TU2202で保持する値以下になると、メッセージ送
出制御2201では選択回路2209を制御し、転送デ
ータ長をLEN2203を選択し、送信回路に送り、
(2)から(8)までの処理を1回だけ行なうことによ
り、ESにデータを書き込むための計算クラスタ103
のメッセージの送出処理を終える。
【0063】ここでESのアクセスが複数のESクラス
タに渡る場合にでも、たとえばESのアクセスを4Kバ
イト単位で、かつ4Kバイト境界とし、またハードウェ
アで生成するメッセージの最大転送データ長MTU22
03を8Kバイトにすれば、このESのアドレス加算の
結果を番号変換することにより、複数のESクラスタに
渡っても、この構成で処理できる。
タに渡る場合にでも、たとえばESのアクセスを4Kバ
イト単位で、かつ4Kバイト境界とし、またハードウェ
アで生成するメッセージの最大転送データ長MTU22
03を8Kバイトにすれば、このESのアドレス加算の
結果を番号変換することにより、複数のESクラスタに
渡っても、この構成で処理できる。
【0064】また、このネットワークインタフェースア
ダプタ202は、計算クラスタ103、入出力クラスタ
104、ESクラスタ105、FEP106の中に構成
され、計算クラスタ間のデータ転送でも、MTU220
1、LEN2203、MS−S2204、MS−R22
06、CLN2207などを用いてESのアクセスと同
様に実現できる。
ダプタ202は、計算クラスタ103、入出力クラスタ
104、ESクラスタ105、FEP106の中に構成
され、計算クラスタ間のデータ転送でも、MTU220
1、LEN2203、MS−S2204、MS−R22
06、CLN2207などを用いてESのアクセスと同
様に実現できる。
【0065】図15にESアクセスのメッセージフォー
マットを示す。このメッセージには、大きく計算クラス
タ間での排他制御を行なうためのロック処理、読み出し
処理、および書き込み処理がある。これらのメッセージ
では計算クラスタ間データ転送メッセージと同様に受信
クラスタ番号、転送制御および、それぞれの処理に対応
したデータ転送コマンドが付けられる。
マットを示す。このメッセージには、大きく計算クラス
タ間での排他制御を行なうためのロック処理、読み出し
処理、および書き込み処理がある。これらのメッセージ
では計算クラスタ間データ転送メッセージと同様に受信
クラスタ番号、転送制御および、それぞれの処理に対応
したデータ転送コマンドが付けられる。
【0066】ロック処理では、ES上にロック変数を定
義し、それにより計算クラスタ間で排他制御を行なう。
まず計算クラスタからのロック要求メッセージ(a)が
ESクラスタ内のネットワークインタフェースアダプタ
202に届くと、そのメッセージをES制御プロセッサ
401に渡す。ES制御プロセッサ401では、そのメ
ッセージ内のESアドレスに従い、ES402からES
データを読み出す。そして、そのESデータとメッセー
ジ内の比較データとを比較し、等しければメッセージ内
の格納データをそのESアドレスに格納する。等しくな
ければ格納はしない。この比較、格納する処理を行なう
間は、他のESアクセスに関係する処理はネットワーク
インタフェースアダプタ202で行なわないようにす
る。またES制御プロセッサ401では、その比較結果
に従い条件コードを作成する。そしてロック応答メッセ
ージ(b)を計算クラスタに送り返すためにネットワー
クインタフェースアダプタ202に必要な情報を設定
し、依頼する。ネットワークインタフェースアダプタ2
02では、ロック応答メッセージ(b)を組立て、ネッ
トワークにメッセージを送出する。計算クラスタに受信
されたロック応答メッセージ(b)は、その中のプロセ
ッシングユニット201(図2)に渡され、その条件コ
ードの内容によりロック処理が行なわれたことを知る。
義し、それにより計算クラスタ間で排他制御を行なう。
まず計算クラスタからのロック要求メッセージ(a)が
ESクラスタ内のネットワークインタフェースアダプタ
202に届くと、そのメッセージをES制御プロセッサ
401に渡す。ES制御プロセッサ401では、そのメ
ッセージ内のESアドレスに従い、ES402からES
データを読み出す。そして、そのESデータとメッセー
ジ内の比較データとを比較し、等しければメッセージ内
の格納データをそのESアドレスに格納する。等しくな
ければ格納はしない。この比較、格納する処理を行なう
間は、他のESアクセスに関係する処理はネットワーク
インタフェースアダプタ202で行なわないようにす
る。またES制御プロセッサ401では、その比較結果
に従い条件コードを作成する。そしてロック応答メッセ
ージ(b)を計算クラスタに送り返すためにネットワー
クインタフェースアダプタ202に必要な情報を設定
し、依頼する。ネットワークインタフェースアダプタ2
02では、ロック応答メッセージ(b)を組立て、ネッ
トワークにメッセージを送出する。計算クラスタに受信
されたロック応答メッセージ(b)は、その中のプロセ
ッシングユニット201(図2)に渡され、その条件コ
ードの内容によりロック処理が行なわれたことを知る。
【0067】またロックを解除するアンロック処理では
計算クラスタからアンロック要求メッセージ(c)を送
出する。ESクラスタでそのメッセージが届くと、ES
制御プロセッサ401にそのメッセージを渡すことな
く、ネットワークインタフェースアダプタ202がその
メッセージ内のESアドレスに従い格納データを書き込
む。これによりアンロック処理は終了する。
計算クラスタからアンロック要求メッセージ(c)を送
出する。ESクラスタでそのメッセージが届くと、ES
制御プロセッサ401にそのメッセージを渡すことな
く、ネットワークインタフェースアダプタ202がその
メッセージ内のESアドレスに従い格納データを書き込
む。これによりアンロック処理は終了する。
【0068】ESの読み出し処理では、計算クラスタは
前述したESアドレスの変換を行ない、読み出し要求メ
ッセージ(d)を送出する。読み出し要求メッセージ
(d)がいずれかのESクラスタ内のネットワークイン
タフェースアダプタ202(図4)に届くと、そのメッ
セージをES制御プロセッサ401に渡す。ES制御プ
ロセッサ401ではそのメッセージを解釈し、ESデー
タの読出しに必要な情報をネットワークインタフェース
アダプタ202に設定し、ESデータ読み出し応答メッ
セージ(e)の送出を依頼する。ネットワークインタフ
ェースアダプタ202では、ES制御プロセッサ401
から設定された情報に従い、読み出しデータ長分だけE
Sデータを読みだし、読み出し応答メッセージ(e)を
作成し、ネットワークに送出する。読み出し応答メッセ
ージ(e)を受け取った計算クラスタでは、ネットワー
クインタフェースアダプタ202(図2)がそのメッセ
ージ内の読み出しデータ格納アドレスに従いメモリ20
3(図2)に書き込み、ES読み出しデータが届いたこ
とをプロセッシングユニット301(図2)に知らせ
る。
前述したESアドレスの変換を行ない、読み出し要求メ
ッセージ(d)を送出する。読み出し要求メッセージ
(d)がいずれかのESクラスタ内のネットワークイン
タフェースアダプタ202(図4)に届くと、そのメッ
セージをES制御プロセッサ401に渡す。ES制御プ
ロセッサ401ではそのメッセージを解釈し、ESデー
タの読出しに必要な情報をネットワークインタフェース
アダプタ202に設定し、ESデータ読み出し応答メッ
セージ(e)の送出を依頼する。ネットワークインタフ
ェースアダプタ202では、ES制御プロセッサ401
から設定された情報に従い、読み出しデータ長分だけE
Sデータを読みだし、読み出し応答メッセージ(e)を
作成し、ネットワークに送出する。読み出し応答メッセ
ージ(e)を受け取った計算クラスタでは、ネットワー
クインタフェースアダプタ202(図2)がそのメッセ
ージ内の読み出しデータ格納アドレスに従いメモリ20
3(図2)に書き込み、ES読み出しデータが届いたこ
とをプロセッシングユニット301(図2)に知らせ
る。
【0069】ESの書き込み処理では、計算クラスタは
前述したESアドレスの変換を行ない、書き込み要求メ
ッセージ(f)を送出する。そのメッセージを受信した
ESクラスタ105内のネットワークインタフェースア
ダプタ202では、メッセージ内のESアドレスに従
い、書き込みデータ長分だけES402に書き込みデー
タを書き込む。
前述したESアドレスの変換を行ない、書き込み要求メ
ッセージ(f)を送出する。そのメッセージを受信した
ESクラスタ105内のネットワークインタフェースア
ダプタ202では、メッセージ内のESアドレスに従
い、書き込みデータ長分だけES402に書き込みデー
タを書き込む。
【0070】次に入出力について説明する。入出力クラ
スタは図1のようにX方向クロスバスイッチ101xと
Y方向クロスバスイッチ101yに接続され、分散配置
されている。各入出力クラスタのアクセスは計算クラス
タ間データ転送と同様にクロスバネットワークを介して
メッセージ転送により行なわれる。入出力クラスタがX
方向クロスバスイッチ101xとY方向クロスバスイッ
チ101yに接続されている理由は、全計算クラスタ1
03から各入出力クラスタ104に対してアクセスが可
能にするためである。もし仮にX方向のクロスバスイッ
チに接続されている計算クラスタが同じクロスバスイッ
チに接続されている入出力クラスタだけにしかアクセス
しないのであればY方向のクロスバスイッチはなくても
よい。
スタは図1のようにX方向クロスバスイッチ101xと
Y方向クロスバスイッチ101yに接続され、分散配置
されている。各入出力クラスタのアクセスは計算クラス
タ間データ転送と同様にクロスバネットワークを介して
メッセージ転送により行なわれる。入出力クラスタがX
方向クロスバスイッチ101xとY方向クロスバスイッ
チ101yに接続されている理由は、全計算クラスタ1
03から各入出力クラスタ104に対してアクセスが可
能にするためである。もし仮にX方向のクロスバスイッ
チに接続されている計算クラスタが同じクロスバスイッ
チに接続されている入出力クラスタだけにしかアクセス
しないのであればY方向のクロスバスイッチはなくても
よい。
【0071】計算クラスタ103から入出力を行う場合
は入出力命令により実行される。この入出力命令では、
入出力クラスタ番号、入出力装置番号あるいはファイル
名などが指定され、計算クラスのネットワークインタフ
ェースアダプタに渡される。このネットワークインタフ
ェースアダプタでは、計算クラスタ間データ転送メッセ
ージと同様に命令で指定された入出力クラスタ番号から
ハードウェアで使用する受信クラスタ番号に変換を行な
う。またメッセージのハードウェアヘッダとして転送制
御、転送データ長などを生成する。メッセージ内の転送
データは、入出力装置に書き込むためのデータや入出力
のプロトコルなどとして使用する情報であり、それとハ
ードウェアヘッダをメッセージとしてクロスバネットワ
ークに送出する。
は入出力命令により実行される。この入出力命令では、
入出力クラスタ番号、入出力装置番号あるいはファイル
名などが指定され、計算クラスのネットワークインタフ
ェースアダプタに渡される。このネットワークインタフ
ェースアダプタでは、計算クラスタ間データ転送メッセ
ージと同様に命令で指定された入出力クラスタ番号から
ハードウェアで使用する受信クラスタ番号に変換を行な
う。またメッセージのハードウェアヘッダとして転送制
御、転送データ長などを生成する。メッセージ内の転送
データは、入出力装置に書き込むためのデータや入出力
のプロトコルなどとして使用する情報であり、それとハ
ードウェアヘッダをメッセージとしてクロスバネットワ
ークに送出する。
【0072】メッセージを受信した入出力クラスタのネ
ットワークインタフェースアダプタ202(図3)は入
出力クラスタの入出力制御プロセッサ302にその制御
を渡す。入出力制御プロセッサではメッセージの転送デ
ータの内容を解読し、入出力アダプタ204、LANア
ダプタ302などを介してメッセージの転送データの内
容に対応して実際の入出力装置との間で処理を行なう。
この処理についてはUNIXオペレーティングシステム
などの処理と同様でよい。また入出力動作後、計算クラ
スタ103への応答が必要な場合は、入出力制御プロセ
ッサ302がネットワークインタフェースアダプタ20
2にその処理を依頼する。
ットワークインタフェースアダプタ202(図3)は入
出力クラスタの入出力制御プロセッサ302にその制御
を渡す。入出力制御プロセッサではメッセージの転送デ
ータの内容を解読し、入出力アダプタ204、LANア
ダプタ302などを介してメッセージの転送データの内
容に対応して実際の入出力装置との間で処理を行なう。
この処理についてはUNIXオペレーティングシステム
などの処理と同様でよい。また入出力動作後、計算クラ
スタ103への応答が必要な場合は、入出力制御プロセ
ッサ302がネットワークインタフェースアダプタ20
2にその処理を依頼する。
【0073】次に本発明による並列プロセッサの実装に
ついて説明する。図16に図1の構成時の実装を示す。
1601はまとめて実装する1つの単位であり、たとえ
ば筐体、パッケージ、LSIなどのいずれかに対応す
る。この実装単位1601は1個のY方向のクロスバス
イッチ101yとそれに接続されるそれぞれ4つの乗り
換えスイッチ102と計算クラスタ103、および1個
のX方向のクロスバスイッチ101xである。
ついて説明する。図16に図1の構成時の実装を示す。
1601はまとめて実装する1つの単位であり、たとえ
ば筐体、パッケージ、LSIなどのいずれかに対応す
る。この実装単位1601は1個のY方向のクロスバス
イッチ101yとそれに接続されるそれぞれ4つの乗り
換えスイッチ102と計算クラスタ103、および1個
のX方向のクロスバスイッチ101xである。
【0074】また入出力クラスタ104とESクラスタ
105の実装については、実装単位1601内の計算ク
ラスタ103を入出力クラスタ104とESクラスタ1
05に置き換えて実装する。さらにFEP106とそれ
に接続する1個のブロードキャストスイッチ100は、
上記とは別に実装する。
105の実装については、実装単位1601内の計算ク
ラスタ103を入出力クラスタ104とESクラスタ1
05に置き換えて実装する。さらにFEP106とそれ
に接続する1個のブロードキャストスイッチ100は、
上記とは別に実装する。
【0075】この実装単位1601を4つと、その単位
1601内の計算クラスタ103を入出力クラスタ10
4とESクラスタ105に置き換えた単位を1つと、F
EP106とそれに接続する1個のブロードキャストス
イッチ100の単位により、図1の構成の並列プロセッ
サが実現される。
1601内の計算クラスタ103を入出力クラスタ10
4とESクラスタ105に置き換えた単位を1つと、F
EP106とそれに接続する1個のブロードキャストス
イッチ100の単位により、図1の構成の並列プロセッ
サが実現される。
【0076】この実装ではネットワークの構成要素であ
るクロスバスイッチ101を分散実装が可能である。こ
れによりクロスバスイッチ群とクラスタ群間を接続する
インタフェースが1ヶ所に集中することがない。またク
ロスバスイッチ群とクラスタ群に分けて、それぞれを集
中実装した場合と比較し、乗り換えスイッチとクロスバ
スイッチとの接続するインタフェースにおいて、実装単
位間を接続するインタフェースの本数を減らすことがで
きる。たとえば実装単位1601が筐体であるならば筐
体間を渡るケーブルの本数を減らすことができる。また
クラスタの台数を拡張する場合にも、予めクロスバスイ
ッチ101のポート数を増やしておけば、その実装単位
1601で増設が可能である。さらにこの場合、実装単
位1601内でクラスタとクロスバスイッチのインタフ
ェースが閉じるため、その間のインタフェースは近距離
になり、実装単位を渡るインタフェースに比べ、高速な
クラスタ間データ転送が実現できる。この局所的に速い
クラスタ間データ転送を考慮し、並列処理のクラスタへ
の割当てなどを行なえば、並列処理全体の性能を向上す
ることも可能である。
るクロスバスイッチ101を分散実装が可能である。こ
れによりクロスバスイッチ群とクラスタ群間を接続する
インタフェースが1ヶ所に集中することがない。またク
ロスバスイッチ群とクラスタ群に分けて、それぞれを集
中実装した場合と比較し、乗り換えスイッチとクロスバ
スイッチとの接続するインタフェースにおいて、実装単
位間を接続するインタフェースの本数を減らすことがで
きる。たとえば実装単位1601が筐体であるならば筐
体間を渡るケーブルの本数を減らすことができる。また
クラスタの台数を拡張する場合にも、予めクロスバスイ
ッチ101のポート数を増やしておけば、その実装単位
1601で増設が可能である。さらにこの場合、実装単
位1601内でクラスタとクロスバスイッチのインタフ
ェースが閉じるため、その間のインタフェースは近距離
になり、実装単位を渡るインタフェースに比べ、高速な
クラスタ間データ転送が実現できる。この局所的に速い
クラスタ間データ転送を考慮し、並列処理のクラスタへ
の割当てなどを行なえば、並列処理全体の性能を向上す
ることも可能である。
【0077】また乗り換えスイッチ、各クラスタ、クロ
スバスイッチ間を接続するインタフェースは高速に実現
可能な同期転送を用いることが考えられる。しかし、こ
の同期転送ではクラスタの最大台数時のインタフェース
によるディレイを考慮して設計を行なう必要があり、ま
たクラスタの台数を拡張するごとにクロックスキュー合
わせが必要になる。これを考えれば乗り換えスイッチ、
各クラスタ、クロスバスイッチ間を接続するインタフェ
ースは非同期転送にするのが好ましい。このため本実施
例では前述したように、各クラスタと乗り換えスイッチ
間、乗り換えスイッチとクロスバスイッチ間にFIFO
を設け、非同期転送を実現する。
スバスイッチ間を接続するインタフェースは高速に実現
可能な同期転送を用いることが考えられる。しかし、こ
の同期転送ではクラスタの最大台数時のインタフェース
によるディレイを考慮して設計を行なう必要があり、ま
たクラスタの台数を拡張するごとにクロックスキュー合
わせが必要になる。これを考えれば乗り換えスイッチ、
各クラスタ、クロスバスイッチ間を接続するインタフェ
ースは非同期転送にするのが好ましい。このため本実施
例では前述したように、各クラスタと乗り換えスイッチ
間、乗り換えスイッチとクロスバスイッチ間にFIFO
を設け、非同期転送を実現する。
【0078】FIFOの動作は図17に示すように、書
き込み動作ではFIFOから出力されるFULL信号が
0であることを確認して、ライトストローブとFIFO
書き込みデータを送出し、FIFOにそのデータを書き
込む。このFULL信号は送出先FIFOが一杯で1個
のデータも受け取れない時は1で、それ以外は0であ
る。またFULL信号が1である時は、FULL信号が
0になる、即ち読み出し動作が行なわれるまで書き込み
動作を抑止する。一方、読み出し動作ではFIFOから
出力されるEMPTY信号が0であることを確認して、
リードストローブを送出し、FIFOに保持されたメッ
セージを読みだす。このEMPTY信号はFIFOに1
個もデータが入ってない時は1で、それ以外は0であ
る。またEMPTY信号が1である時は、EMPTY信
号が0になる、即ち書き込み動作が行なわれるまで読み
出し動作を抑止する。また、これらの書き込み動作と読
み出し動作は上記の動作を守れば、非同期に行なうこと
ができる。
き込み動作ではFIFOから出力されるFULL信号が
0であることを確認して、ライトストローブとFIFO
書き込みデータを送出し、FIFOにそのデータを書き
込む。このFULL信号は送出先FIFOが一杯で1個
のデータも受け取れない時は1で、それ以外は0であ
る。またFULL信号が1である時は、FULL信号が
0になる、即ち読み出し動作が行なわれるまで書き込み
動作を抑止する。一方、読み出し動作ではFIFOから
出力されるEMPTY信号が0であることを確認して、
リードストローブを送出し、FIFOに保持されたメッ
セージを読みだす。このEMPTY信号はFIFOに1
個もデータが入ってない時は1で、それ以外は0であ
る。またEMPTY信号が1である時は、EMPTY信
号が0になる、即ち書き込み動作が行なわれるまで読み
出し動作を抑止する。また、これらの書き込み動作と読
み出し動作は上記の動作を守れば、非同期に行なうこと
ができる。
【0079】これを用いれば各クラスタ、乗り換えスイ
ッチ、クロスバスイッチ間をそれぞれ独立に動作するこ
とが可能になる。これにより、たとえば乗り換えスイッ
チにエラーが生じ、その解析のためサービスプロセッサ
(以下、SVP)がその乗り換えスイッチに対して乗り
換えスイッチ内のレジスタ群などをスキャンアウト動作
をしている時も、それに接続される各クロスバスイッチ
やクラスタは、そのスキャンアウト動作を知る必要がな
く、また、それにより停止する必要もなく通常動作を実
行できる。これは、各クロスバスイッチやクラスタの動
作が、乗り換えスイッチに対するデータ転送動作を非同
期転送であるFIFOの書き込み/読み出し動作を用い
ており、そのFIFOから出力されるFULL/EMP
TY信号により、抑止できるためである。このように乗
り換えスイッチ、各クラスタ、クロスバスイッチ間を接
続するインタフェースを非同期転送にすることにより、
それらを分離して部分保守が可能になる。
ッチ、クロスバスイッチ間をそれぞれ独立に動作するこ
とが可能になる。これにより、たとえば乗り換えスイッ
チにエラーが生じ、その解析のためサービスプロセッサ
(以下、SVP)がその乗り換えスイッチに対して乗り
換えスイッチ内のレジスタ群などをスキャンアウト動作
をしている時も、それに接続される各クロスバスイッチ
やクラスタは、そのスキャンアウト動作を知る必要がな
く、また、それにより停止する必要もなく通常動作を実
行できる。これは、各クロスバスイッチやクラスタの動
作が、乗り換えスイッチに対するデータ転送動作を非同
期転送であるFIFOの書き込み/読み出し動作を用い
ており、そのFIFOから出力されるFULL/EMP
TY信号により、抑止できるためである。このように乗
り換えスイッチ、各クラスタ、クロスバスイッチ間を接
続するインタフェースを非同期転送にすることにより、
それらを分離して部分保守が可能になる。
【0080】以上、本実施例では16台の計算クラスタ
が2次元アレイ状に配置された場合について説明した
が、各クラスタの台数、その次元数を限定する必要はな
く同様な考え方で実施可能である。図18に3次元アレ
イ状に配置された並列プロセッサの構成のイメージを示
す。ここで、1801は乗り換えスイッチ102と計算
クラスタ103を、1802は乗り換えスイッチ102
と入出力クラスタ104を、1803は乗り換えスイッ
チ102とESクラスタ105を、1つにしてそれぞれ
図示している。この詳細な説明は省略するが、このよう
に容易に実現できることがわかる。
が2次元アレイ状に配置された場合について説明した
が、各クラスタの台数、その次元数を限定する必要はな
く同様な考え方で実施可能である。図18に3次元アレ
イ状に配置された並列プロセッサの構成のイメージを示
す。ここで、1801は乗り換えスイッチ102と計算
クラスタ103を、1802は乗り換えスイッチ102
と入出力クラスタ104を、1803は乗り換えスイッ
チ102とESクラスタ105を、1つにしてそれぞれ
図示している。この詳細な説明は省略するが、このよう
に容易に実現できることがわかる。
【0081】またFEP106の接続においても新たな
クロスバスイッチ100を設けるのではなく、図19に
示すように図1の入出力クラスタ104、ESクラスタ
105などの代わりに複数ある構成であってもよい。こ
の構成ではFEP106の負荷が重く、1台で処理しき
れない場合に、複数のFEP106を接続し、その負荷
を分散するのに有効である。
クロスバスイッチ100を設けるのではなく、図19に
示すように図1の入出力クラスタ104、ESクラスタ
105などの代わりに複数ある構成であってもよい。こ
の構成ではFEP106の負荷が重く、1台で処理しき
れない場合に、複数のFEP106を接続し、その負荷
を分散するのに有効である。
【0082】なお以上の実施例においては、X方向のク
ロスバスイッチとY方向のクロスバスイッチとFEPに
接続するクロスバネットワークを全て同一構造と仮定し
た。従って、それらのポートの数は全て同一とした。し
かし本発明はこれらに限られるのでなく、X方向のクロ
スバスイッチとY方向のクロスバスイッチに接続するプ
ロセッサの数は異なっていてもよく、従って、それらの
ポートの数は異なっていてもよい。またクロスバネット
ワークは、FEPから全あるいは各クラスタへの転送お
よび各クラスタからFEPへの転送が行える必要最小限
の機能があればよい。
ロスバスイッチとY方向のクロスバスイッチとFEPに
接続するクロスバネットワークを全て同一構造と仮定し
た。従って、それらのポートの数は全て同一とした。し
かし本発明はこれらに限られるのでなく、X方向のクロ
スバスイッチとY方向のクロスバスイッチに接続するプ
ロセッサの数は異なっていてもよく、従って、それらの
ポートの数は異なっていてもよい。またクロスバネット
ワークは、FEPから全あるいは各クラスタへの転送お
よび各クラスタからFEPへの転送が行える必要最小限
の機能があればよい。
【0083】
【発明の効果】本発明によれば、2のべき乗+1個のポ
ートを持つクロスバスイッチを設け、そのクロスバスイ
ッチに2のべき乗個となるように実行プロセッサ群を配
置し、クロスバスイッチの残りの1ポートに並列処理の
管理機能や入出力機能を実行する補助プロセッサを配置
することができるので、各実行プロセッサにポートの追
加、補助プロセッサを結合するためのクロスバスイッチ
の追加は必要なくなり、並列プロセッサの実装規模を小
さくできる。さらに並列処理の実行は並列処理の管理機
能や入出力機能とは独立に実行でき、並列処理を実行す
るプロセッサの台数を減らすことなく2のべき乗台と
し、並列プロセッサを構成できる。
ートを持つクロスバスイッチを設け、そのクロスバスイ
ッチに2のべき乗個となるように実行プロセッサ群を配
置し、クロスバスイッチの残りの1ポートに並列処理の
管理機能や入出力機能を実行する補助プロセッサを配置
することができるので、各実行プロセッサにポートの追
加、補助プロセッサを結合するためのクロスバスイッチ
の追加は必要なくなり、並列プロセッサの実装規模を小
さくできる。さらに並列処理の実行は並列処理の管理機
能や入出力機能とは独立に実行でき、並列処理を実行す
るプロセッサの台数を減らすことなく2のべき乗台と
し、並列プロセッサを構成できる。
【0084】また本発明では、ある1つの次元のクロス
バスイッチ、そのクロスバスイッチに接続するプロセッ
サ群、および、そのプロセッサ群の中の1個のプロセッ
サに接続する全ての、上記とは別の次元のクロスバスイ
ッチを、1つの実装単位とするため、並列プロセッサの
実装においては、クロスバスイッチ群を実装するための
専用のLSI、筐体などは必要なく、この実装単位だけ
の組合せで可能である。これによりプロセッサとネット
ワークを接続するインタフェースを一ヶ所に集中させる
ことなく実装できる。
バスイッチ、そのクロスバスイッチに接続するプロセッ
サ群、および、そのプロセッサ群の中の1個のプロセッ
サに接続する全ての、上記とは別の次元のクロスバスイ
ッチを、1つの実装単位とするため、並列プロセッサの
実装においては、クロスバスイッチ群を実装するための
専用のLSI、筐体などは必要なく、この実装単位だけ
の組合せで可能である。これによりプロセッサとネット
ワークを接続するインタフェースを一ヶ所に集中させる
ことなく実装できる。
【図1】本発明による2次元構成時の並列プロセッサの
一実施例を示すシステム構成図。
一実施例を示すシステム構成図。
【図2】図1の構成に用いる計算クラスタの概略構成
図。
図。
【図3】図1の構成に用いる入出力クラスタの概略構成
図。
図。
【図4】図1の構成に用いる拡張記憶クラスタの概略構
成図。
成図。
【図5】本発明による計算クラスタ間データ転送メッセ
ージフォーマット図。
ージフォーマット図。
【図6】本発明によるデータ転送メッセージ内の受信ク
ラスタ番号を示す図。
ラスタ番号を示す図。
【図7】本発明によるデータ転送メッセージ内の転送制
御を示す図。
御を示す図。
【図8】図1の構成に用いるデータ転送のルーティング
情報を示す図。
情報を示す図。
【図9】図1の構成に用いる乗り換えスイッチの概略構
成図。
成図。
【図10】図9の構成に用いる転送先決定回路を示す
図。
図。
【図11】図1の構成に用いるクロスバスイッチの概略
構成図。
構成図。
【図12】図1の構成に用いる計算クラスタ番号変換を
示す図。
示す図。
【図13】本発明による拡張記憶の空間を示す図。
【図14】図1の構成に用いる拡張記憶クラスタ番号変
換を示す図。
換を示す図。
【図15】本発明による拡張記憶アクセスのメッセージ
フォーマット図。
フォーマット図。
【図16】図1の構成における並列プロセッサの実装を
示す図。
示す図。
【図17】本発明で用いるFIFOのタイムチャート
図。
図。
【図18】本発明による3次元構成時の並列プロセッサ
の一実施例を示すシステム構成イメージ図。
の一実施例を示すシステム構成イメージ図。
【図19】本発明によるフロントエンドを複数結合した
2次元構成時の並列プロセッサの一実施例を示すシステ
ム構成イメージ図。
2次元構成時の並列プロセッサの一実施例を示すシステ
ム構成イメージ図。
【図20】本発明によるネットワークインタフェースア
ダプタのブロック図。
ダプタのブロック図。
101…クロスバスイッチ、102…乗り換えスイッ
チ、103…計算クラスタ、104…入出力クラスタ、
105…拡張記憶クラスタ、106…フロントエンド、
107…ワークステーション、108…ファイルサー
バ、109…ディスク装置、110…ローカルエリアネ
ットワーク(LAN)、111…ディスク装置、201
…プロセッシングユニット、202…ネットワークイン
タフェースアダプタ、203…メモリ、204…入出力
アダプタ、205…ディスク装置、301…入出力制御
ユニット、302…LANアダプタ、901…ファース
トインファーストアウトメモリ(FIFO)、904…
FIFOから出力されるFULL信号、911…FIF
Oから出力されるEMPTY信号、1601…まとめて
実装する1つの単位。
チ、103…計算クラスタ、104…入出力クラスタ、
105…拡張記憶クラスタ、106…フロントエンド、
107…ワークステーション、108…ファイルサー
バ、109…ディスク装置、110…ローカルエリアネ
ットワーク(LAN)、111…ディスク装置、201
…プロセッシングユニット、202…ネットワークイン
タフェースアダプタ、203…メモリ、204…入出力
アダプタ、205…ディスク装置、301…入出力制御
ユニット、302…LANアダプタ、901…ファース
トインファーストアウトメモリ(FIFO)、904…
FIFOから出力されるFULL信号、911…FIF
Oから出力されるEMPTY信号、1601…まとめて
実装する1つの単位。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 濱中 直樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 千葉 寛之 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 樋口 達雄 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 首藤 信一 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 緒方 康洋 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内 (72)発明者 武内 茂雄 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内 (72)発明者 鳥羽 達 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内
Claims (15)
- 【請求項1】それぞれ並列処理プログラムを実行する複
数の実行プロセッサと、それらを補助するための複数の
補助プロセッサと、それらの実行プロセッサとそれらの
補助プロセッサを接続するネットワ−クからなる並列プ
ロセッサにおいて、 そのネットワークは、 それぞれ、並列にデータを転送可能な複数の部分ネット
ワークからなる複数群の部分ネットワークと、 互いに異なる部分ネットワークに属する複数の部分ネッ
トワークにそれぞれ含まれる複数の入出力ポートをそれ
ぞれ接続する複数の乗り換えスイッチとを有し、 該複数群の一つに属する部分ネットワークは、それぞれ
2のべき乗プラス1個の入出力ポートを有し、 他の群の部分ネットワークの各々は、その群により定め
られた2のべき乗箇の入出力ポ−トを有し、 該複数の実行プロセッサは、該一つの群に属する複数の
部分ネットワークの各々に含まれる2のべき乗個の入出
力ポートの一つにそれぞれ接続された複数の乗り換えス
イッチに接続され、 該複数の補助プロセッサは、該一つの群に属する複数の
部分ネットワークの各々に含まれる該2のべき乗個の入
出力ポート以外の一つの入出力ポートにそれぞれ接続さ
れた複数の乗り換えスイッチに接続されている並列プロ
セッサ。 - 【請求項2】各部分ネットワークは、クロスバスイッチ
からなる請求項1記載の並列プロセッサ。 - 【請求項3】該複数の補助プロセッサは、複数の入出力
プロセッサを含む請求項1記載の並列プロセッサ。 - 【請求項4】該複数の補助プロセッサは、拡張記憶をそ
れぞれ有する複数の拡張記憶プロセッサを含む請求項1
記載の並列プロセッサ。 - 【請求項5】該複数の補助プロセッサは、複数の入出力
プロセッサと複数のフロントエンドプロセッサを含む請
求項1記載の並列プロセッサ。 - 【請求項6】該複数の補助プロセッサは、少なくとも一
つのフロントエンドプロセッサを含む請求項1記載の並
列プロセッサ。 - 【請求項7】少なくとも1つのフロントエンドプロセッ
サと、 該他の群の内の一つの群に属する複数の部分ネットワー
クの各々に対応する入出力ポートおよび該フロントエン
ドプロセッサに接続された入出力ポートを有する他の一
つの部分ネットワークとを更に有し、 該他の一つの群に属する複数の部分ネットワークの各々
は、該他の部分ネットワークの一つの入力ポートに接続
された一つの入出力ポートを更に有する請求項1記載の
並列プロセッサ。 - 【請求項8】それぞれ並列処理プログラムを実行する複
数の実行プロセッサと、それらを補助するための複数の
補助プロセッサと、それらの実行プロセッサとそれらの
補助プロセッサを接続するネットワ−クからなる並列プ
ロセッサにおいて、 そのネットワ−クは、 それぞれ、2のi乗(iは、正の整数)箇の第1の座標
軸の座標点群の1つに対応して設けられ、それぞれ2の
j乗(jは、正の整数)プラス1箇の入出力ポ−トを有
する、2のi乗箇の第1種のクロスバスイッチと、 それぞれ、2のj乗箇プラス1箇の第2の座標軸の座標
点群の1つに対応して設けられ、それぞれ少なくとも2
のi乗箇の入出力ポ−トを有する、2のj乗箇プラス1
箇の第2種のクロスバスイッチと、 それぞれ該第1の座標軸の座標点群と該第2の座標軸の
座標点群との異なる組の1つに対応して配置され、それ
ぞれ対応する組の第1の座標軸の座標点に対応する1つ
の第1種のクロスバスイッチ内の1つの入出力ポ−ト
と、該対応する組の第2の座標軸の座標点に対応する1
つの第2種のクロスバスイッチ内の1つの入出力ポ−ト
とに接続され、それらの間でデ−タの転送をする複数の
乗り換えスイッチを有し、 該複数のプロセッサは、該複数の乗り換えスイッチのう
ち、該第1の座標軸の座標点群と該第2の座標点群の内
の連続する2のj乗箇の座標点との異なる組の1つに対
応してそれぞれ配列された第2群の乗り換えスイッチの
対応する1つにそれぞれ接続されている並列プロセッ
サ。 - 【請求項9】並列処理プログラムを並列に実行する、複
数の実行プロセッサと、それらを補助するための複数の
補助プロセッサと、それらの実行プロセッサとそれらの
補助プロセッサを接続するネットワ−クからなる並列プ
ロセッサにおいて、 そのネットワ−クは、 それぞれ、2のi乗(iは、正の整数)箇の第1の座標
軸の座標点群と2のk乗(kは、正の整数)箇の第3の
座標軸の座標点群との異なる組の1つにそれぞれ対応し
て設けられ、それぞれ2のj乗(jは、正の整数)プラ
ス1箇の入出力ポ−トを有する、2の(iプラスk)乗
箇の第1種のクロスバスイッチと、 それぞれ、該第2の座標軸の座標点群と該第3の座標軸
の座標点群との異なる組のそれぞれに対応して設けら
れ、それぞれ少なくとも2のi乗箇の入出力ポ−トを有
する、2のj乗箇プラス1掛ける2のk乗箇の第2種の
クロスバスイッチと、 それぞれ、該第1の座標軸の座標点群と該第2の座標軸
の座標点群との異なる組のそれぞれに対応して設けら
れ、それぞれ少なくとも2のk乗箇の入出力ポ−トを有
する、2のi乗掛ける(2のj乗プラス1)箇の第3種
のクロスバスイッチと、 それぞれ該第1の座標軸の座標点群と該第2の座標軸の
座標点群と該第3の座標軸の座標点群との異なる組の1
つに対応して配置され、それぞれ対応する組の第1の座
標軸の座標点に対応する1つの第1種のクロスバスイッ
チ内の1つの入出力ポ−トと、該対応する組の第2の座
標軸の座標点に対応する1つの第2種のクロスバスイッ
チ内の1つの入出力ポ−トと、該対応する組の第3の座
標軸の座標点に対応する1つの第3種のクロスバスイッ
チ内の1つの入出力ポ−トとに接続され、それらの間で
デ−タの転送をする複数の乗り換えスイッチを有し、 該複数のプロセッサは、該複数の乗り換えスイッチのう
ち、該第1の座標軸の座標点群と該第2の座標点群の内
の連続する2のj乗箇の座標点と該第3の座標軸の座標
点群との異なる組の1つに対応してそれぞれ配列された
第1群の乗り換えスイッチの対応する1つにそれぞれ接
続され、 該複数の補助プロセッサの少なくとも一部の複数の補助
プロセッサは、該複数の乗り換えスイッチのうち、該第
1の座標軸の座標点群と該連続する複数の第2の座標軸
の座標点以外の第2の座標点と該第3の座標軸の座標点
群との異なる組の1つにそれぞれ対応する第2群の乗り
換えスイッチの対応する1つに接続されている並列プロ
セッサ。 - 【請求項10】各第1種のクロスバスイッチと各第2種
のクロスバスイッチは、互いに同じ回路からなる、請求
項8または9記載の並列プロセッサ。 - 【請求項11】それぞれp箇の第1の座標軸の座標点群
の1つに対応して設けられ、それぞれq箇の入出力ポ−
トを有する、p箇の第1種のクロスバスイッチと、 それぞれq箇の第2の座標軸の座標点群の1つに対応し
て設けられ、それぞれp箇の入出力ポ−トを有する、q
箇の第2種のクロスバスイッチと、 それぞれ第1から第3の入出力ポ−トを有し、それらの
間でデ−タの転送をするp箇掛けるq箇の乗換えスイッ
チからなり、 それぞれの乗換えスイッチは、該第1の座標軸の座標点
群と該第2の座標軸の座標点群との異なる組の1つに対
応して配列され、それぞれの第1の入出力ポ−トが対応
する組の第1の座標軸の座標点群に対応する1つの第1
種のクロスバスイッチ内の1つの入出力ポ−トに接続さ
れ、それぞれの第2の入出力ポ−トが対応する組の第2
の座標軸の座標点群に対応する1つの第2種のクロスバ
スイッチ内の1つの入出力ポ−トに接続され、それぞれ
の第3の入出力ポ−トはデ−タ処理装置が接続され、 該p箇の第1種のクロスバスイッチと該q箇の第2種の
クロスバスイッチとp箇掛けるq箇の乗換えスイッチ
は、相互に接続された実質的に同一構造の複数の実装単
位上に構成され、 各実装単位は、 1つの第1種のクロスバスイッチと、 1つの第2種のクロスバスイッチと、 それぞれ該1つの第1種のクロスバスイッチのp箇の入
出力ポ−トの対応する1つにその第1の入出力ポ−トに
接続された、p箇の乗換えスイッチと、 そのp箇の乗換えスイッチの内の1つの乗換えスイッチ
の第2の入出力ポ−トが上記1つの第2種のクロスバス
イッチの1つの入出力ポ−トに接続され、 該実装単位は、そのp箇の乗換えスイッチの内の残りの
p箇の乗換えスイッチの第2の入出力ポ−トがそれぞれ
他の対応する1つの実装単位上の1つの第2種のクロス
バスイッチの1つの入出力ポ−トに接続されているクロ
スバネットワ−ク。 - 【請求項12】該pと該qはともに2のi乗プラス1
(iは正の整数)である請求項11記載のクロスバネッ
トワ−ク。 - 【請求項13】各実装単位上に該複数の装置の1部の装
置がそれぞれ、その上の該p箇の乗換えスイッチのいず
れか1つに含まれている第3の入出力ポ−トに接続され
て、実装されている請求項11記載の並列プロセッサ。 - 【請求項14】それぞれ並列処理プログラムを実行する
複数の実行プロセッサと、それらの実行プロセッサを接
続するネットワ−クからなる並列プロセッサにおいて、 少なくとも1つのフロントエンドプロセッサと、 そのネットワークは、 それぞれ、並列にデータを転送可能な複数の部分ネット
ワークからなる複数群の部分ネットワークと、 互いに異なる部分ネットワークに属する複数の部分ネッ
トワークにそれぞれ含まれる複数の入出力ポートをそれ
ぞれ接続する複数の乗り換えスイッチとを有し、 該複数の実行プロセッサは、該一つの群に属する複数の
部分ネットワークの各々に含まれる2のべき乗個の入出
力ポートの一つにそれぞれ接続された複数の乗り換えス
イッチに接続され、 該他の群の内の一つの群に属する複数の部分ネットワー
クの各々に対応する入出力ポートおよび該フロントエン
ドプロセッサに接続された入出力ポートを有する他の一
つの部分ネットワークとを更に有し、 該他の一つの群に属する複数の部分ネットワークの各々
は、該他の部分ネットワークの一つの入力ポートに接続
された一つの入出力ポートを更に有する並列プロセッ
サ。 - 【請求項15】各部分ネットワークは、クロスバスイッ
チからなる請求項14に記載の並列プロセッサ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3241092A JPH0581216A (ja) | 1991-09-20 | 1991-09-20 | 並列プロセツサ |
| US07/945,483 US5377333A (en) | 1991-09-20 | 1992-09-15 | Parallel processor system having computing clusters and auxiliary clusters connected with network of partial networks and exchangers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3241092A JPH0581216A (ja) | 1991-09-20 | 1991-09-20 | 並列プロセツサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0581216A true JPH0581216A (ja) | 1993-04-02 |
Family
ID=17069171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3241092A Pending JPH0581216A (ja) | 1991-09-20 | 1991-09-20 | 並列プロセツサ |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5377333A (ja) |
| JP (1) | JPH0581216A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008502029A (ja) * | 2004-03-16 | 2008-01-24 | テクノロジー プロパティーズ リミテッド | コンピュータ・プロセッサ・アレイ |
Families Citing this family (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2770603B2 (ja) * | 1991-03-14 | 1998-07-02 | 三菱電機株式会社 | 並列計算機 |
| JP3679813B2 (ja) * | 1991-07-22 | 2005-08-03 | 株式会社日立製作所 | 並列計算機 |
| AU2939892A (en) * | 1991-12-06 | 1993-06-28 | Richard S. Norman | Massively-parallel direct output processor array |
| US5754792A (en) * | 1992-03-19 | 1998-05-19 | Hitachi, Ltd. | Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same |
| USRE38410E1 (en) * | 1994-01-31 | 2004-01-27 | Axs Technologies, Inc. | Method and apparatus for a parallel data storage and processing server |
| US5737549A (en) * | 1994-01-31 | 1998-04-07 | Ecole Polytechnique Federale De Lausanne | Method and apparatus for a parallel data storage and processing server |
| JP3438105B2 (ja) * | 1994-03-18 | 2003-08-18 | 富士通株式会社 | 迂回経路探索方法 |
| US5822605A (en) * | 1994-03-24 | 1998-10-13 | Hitachi, Ltd. | Parallel processor system with a broadcast message serializing circuit provided within a network |
| US5996020A (en) | 1995-07-21 | 1999-11-30 | National Security Agency | Multiple level minimum logic network |
| US5805614A (en) * | 1996-07-03 | 1998-09-08 | General Signal Corporation | Fault tolerant switch fabric with control and data correction by hamming codes |
| US5812556A (en) * | 1996-07-03 | 1998-09-22 | General Signal Corporation | Fault tolerant switch fabric with control and data correction by hamming codes and error inducing check register |
| US6289021B1 (en) | 1997-01-24 | 2001-09-11 | Interactic Holdings, Llc | Scaleable low-latency switch for usage in an interconnect structure |
| KR100259276B1 (ko) | 1997-01-27 | 2000-06-15 | 윤종용 | 대역폭확장이 가능한 상호연결망 |
| KR100207598B1 (ko) * | 1997-01-27 | 1999-07-15 | 윤종용 | 상호연결망으로서 파이브 채널을 사용한 클러스터시스템 |
| US6742068B2 (en) * | 1997-06-30 | 2004-05-25 | Emc Corporation | Data server with hot replaceable processing unit modules |
| US8782199B2 (en) * | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US6956851B1 (en) * | 2001-02-20 | 2005-10-18 | Pmc-Sierra, Inc. | Crossbar subsystem and method |
| JP2003067354A (ja) * | 2001-08-29 | 2003-03-07 | Hitachi Ltd | 並列計算機システム及びプロセッサ間通信処理方法 |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US20040047519A1 (en) * | 2002-09-05 | 2004-03-11 | Axs Technologies | Dynamic image repurposing apparatus and method |
| US20030228071A1 (en) * | 2002-06-05 | 2003-12-11 | Axs Technologies | Parallel resampling of image data |
| AU2003256699A1 (en) * | 2002-07-23 | 2004-02-09 | Gatechange Technologies, Inc. | Self-configuring processing element |
| US7386704B2 (en) * | 2002-10-31 | 2008-06-10 | Lockheed Martin Corporation | Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method |
| US7584271B2 (en) * | 2004-01-07 | 2009-09-01 | International Business Machines Corporation | Method, system, and computer readable medium for delaying the configuration of a shared resource |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| WO2006039710A2 (en) | 2004-10-01 | 2006-04-13 | Lockheed Martin Corporation | Computer-based tool and method for designing an electronic circuit and related system and library for same |
| US7332976B1 (en) * | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| TWI283411B (en) * | 2005-03-16 | 2007-07-01 | Ind Tech Res Inst | Inter-cluster communication module using the memory access network |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US9098641B1 (en) * | 2006-01-30 | 2015-08-04 | Cypress Semiconductor Corporation | Configurable bus |
| US7904615B2 (en) * | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
| US7617383B2 (en) * | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
| US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8040266B2 (en) * | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US7555637B2 (en) * | 2007-04-27 | 2009-06-30 | Vns Portfolio Llc | Multi-port read/write operations based on register bits set for indicating select ports and transfer directions |
| US8161480B2 (en) * | 2007-05-29 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation using shared memory |
| US8140826B2 (en) * | 2007-05-29 | 2012-03-20 | International Business Machines Corporation | Executing a gather operation on a parallel computer |
| US7840779B2 (en) * | 2007-08-22 | 2010-11-23 | International Business Machines Corporation | Line-plane broadcasting in a data communications network of a parallel computer |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| US8422402B2 (en) | 2008-04-01 | 2013-04-16 | International Business Machines Corporation | Broadcasting a message in a parallel computer |
| US8484440B2 (en) | 2008-05-21 | 2013-07-09 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
| US8281053B2 (en) | 2008-07-21 | 2012-10-02 | International Business Machines Corporation | Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations |
| US8565089B2 (en) * | 2010-03-29 | 2013-10-22 | International Business Machines Corporation | Performing a scatterv operation on a hierarchical tree network optimized for collective operations |
| US9424087B2 (en) | 2010-04-29 | 2016-08-23 | International Business Machines Corporation | Optimizing collective operations |
| US8949577B2 (en) | 2010-05-28 | 2015-02-03 | International Business Machines Corporation | Performing a deterministic reduction operation in a parallel computer |
| US8776081B2 (en) | 2010-09-14 | 2014-07-08 | International Business Machines Corporation | Send-side matching of data communications messages |
| US8566841B2 (en) | 2010-11-10 | 2013-10-22 | International Business Machines Corporation | Processing communications events in parallel active messaging interface by awakening thread from wait state |
| US8893083B2 (en) | 2011-08-09 | 2014-11-18 | International Business Machines Coporation | Collective operation protocol selection in a parallel computer |
| US8910178B2 (en) | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
| US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
| US11564327B2 (en) * | 2018-11-05 | 2023-01-24 | Cisco Technology, Inc. | Connectors for a networking device with orthogonal switch bars |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1112985A (en) * | 1966-08-09 | 1968-05-08 | Standard Telephones Cables Ltd | Improvements in or relating to crosspoint switches |
| FR2015556A1 (ja) * | 1968-08-13 | 1970-04-30 | Cselt Centro Studi Lab Telecom | |
| US3617823A (en) * | 1969-03-07 | 1971-11-02 | Rca Corp | Self-scanned phototransistor array employing common substrate |
| US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
| JPS54139415A (en) * | 1978-04-21 | 1979-10-29 | Hitachi Ltd | Semiconductor channel switch |
| US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
| US4837739A (en) * | 1986-07-25 | 1989-06-06 | Ford Aerospace & Communications Corporation | Telemetry data processor |
| JP2635031B2 (ja) * | 1986-11-14 | 1997-07-30 | 株式会社日立製作所 | 並列計算機の相互結合方式 |
| US5058001A (en) * | 1987-03-05 | 1991-10-15 | International Business Machines Corporation | Two-dimensional array of processing elements for emulating a multi-dimensional network |
| US4918686A (en) * | 1987-07-27 | 1990-04-17 | Hitachi, Ltd. | Data transfer network suitable for use in a parallel computer |
| JP2585318B2 (ja) * | 1987-11-18 | 1997-02-26 | 株式会社日立製作所 | 相互結合ネツトワークおよびそのためのクロスバスイツチ |
| US5070446A (en) * | 1988-11-13 | 1991-12-03 | Thinking Machines Corporation | Method of simulating a hexagonal array of computer processors and/or memories |
| US4973956A (en) * | 1988-12-22 | 1990-11-27 | General Electric Company | Crossbar switch with distributed memory |
| US5072217A (en) * | 1989-10-31 | 1991-12-10 | International Business Machines Corporation | One-sided crosspoint switch with distributed control |
-
1991
- 1991-09-20 JP JP3241092A patent/JPH0581216A/ja active Pending
-
1992
- 1992-09-15 US US07/945,483 patent/US5377333A/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008502029A (ja) * | 2004-03-16 | 2008-01-24 | テクノロジー プロパティーズ リミテッド | コンピュータ・プロセッサ・アレイ |
| JP4856053B2 (ja) * | 2004-03-16 | 2012-01-18 | ブイエヌエス ポートフォリオ エルエルシー | コンピュータ・プロセッサ・アレイ |
Also Published As
| Publication number | Publication date |
|---|---|
| US5377333A (en) | 1994-12-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0581216A (ja) | 並列プロセツサ | |
| US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
| KR102888093B1 (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
| US4833468A (en) | Layered network | |
| US5408617A (en) | Inter-system communication system for communicating between operating systems using virtual machine control program | |
| TW544589B (en) | Loosely coupled-multi processor server | |
| US4621359A (en) | Load balancing for packet switching nodes | |
| EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
| US6601134B1 (en) | Multi-processor type storage control apparatus for performing access control through selector | |
| JPS6118053A (ja) | デ−タ処理システム | |
| WO1989003564A1 (en) | Enhanced input/ouput architecture for toroidally-connected distributed-memory parallel computers | |
| GB2112553A (en) | Communication arrangement for a multiprocessor system | |
| JPH08185380A (ja) | 並列計算機 | |
| US6092136A (en) | Multi-processor central processing unit | |
| JP2731742B2 (ja) | クラスタ構成の並列計算機 | |
| JPH10333836A (ja) | ディスクアレイ制御装置 | |
| EP0164972A2 (en) | Shared memory multiprocessor system | |
| JP4117621B2 (ja) | データ一括転送装置 | |
| US20070079077A1 (en) | System, method, and computer program product for shared memory queue | |
| JP3508857B2 (ja) | ノード間データ転送方法およびデータ転送装置 | |
| EP0169909B1 (en) | Auxiliary memory device | |
| CA1329656C (en) | Method for controlling a vector register and a vector processor applying thereof | |
| JP3791463B2 (ja) | 演算装置及びデータ転送システム | |
| JPH056333A (ja) | マルチプロセサシステム | |
| JPS5835635A (ja) | メモリ制御回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20011218 |