JPH1166022A - クラスタシステム - Google Patents

クラスタシステム

Info

Publication number
JPH1166022A
JPH1166022A JP9217535A JP21753597A JPH1166022A JP H1166022 A JPH1166022 A JP H1166022A JP 9217535 A JP9217535 A JP 9217535A JP 21753597 A JP21753597 A JP 21753597A JP H1166022 A JPH1166022 A JP H1166022A
Authority
JP
Japan
Prior art keywords
routing
computer
adapter
processor
instruction
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
JP9217535A
Other languages
English (en)
Inventor
Atsushi Ugajin
敦 宇賀神
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9217535A priority Critical patent/JPH1166022A/ja
Publication of JPH1166022A publication Critical patent/JPH1166022A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 プロセッサ間通信のレイテンシを小さくする
と共にプロセッサ間アクセスのルーティングを行うこと
が可能な技術を提供する。 【解決手段】 ローカルシステムまたはリモートシステ
ムのいずれのシステムにアクセスするかを示すルーティ
ングフィールドと、当該システムのコンピュータ内の通
常のアドレス空間にアクセスする為のリアルアドレスフ
ィールドとを有するアクセスアドレスを用いた命令を発
行するプロセッサと、リモートシステムにアクセスする
命令の処理要求を、当該命令のアクセスアドレスのルー
ティングフィールドで示されたリモートシステムに送信
するルーティングアダプタと、前記プロセッサが発行し
た命令のルーティングフィールドがリモートシステムに
アクセスすることを示している場合に、前記プロセッサ
が発行した命令の処理要求を前記ルーティングアダプタ
に渡すシステム接続機構とを備えるものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
間でデータアクセス及びプロセッサ間通信を行うクラス
タシステムに関し、特に、複数のプロセッサ間でデータ
アクセス及びプロセッサ間通信を行う際のレイテンシを
抑えて大規模な構成とすることが可能なクラスタシステ
ムに適用して有効な技術に関するものである。
【0002】
【従来の技術】複数のプロセッサを接続したクラスタシ
ステムでは、処理内容を複数のプロセッサに分配し、そ
の処理内容に応じてプロセッサ間通信や複数の磁気ディ
スク装置等の入出力装置とのデータアクセスを行って並
列処理を実行している。
【0003】従来のクラスタシステムにおけるプロセッ
サ間通信としては、データをメッセージとして作成し、
通信機能を用いて宛先のプロセッサに送信することによ
りプロセッサ間でメッセージを送受信するメッセージパ
ッシングや、load/store命令を用いて相手の
プロセッサのデータが格納されているアドレスに直接ア
クセスし、他のプロセッサのデータを読み書きする方法
がある。
【0004】また、従来のクラスタシステムにおいてプ
ロセッサと磁気ディスク装置等の入出力装置との間のデ
ータアクセスを行う場合には、DMA(Direct
Memory Access)を用いてメモリを介して
データアクセスを行っている。
【0005】
【発明が解決しようとする課題】従来のクラスタシステ
ムのメッセージパッシングでは、メッセージをプロセッ
サ間で送受信している為、メッセージの宛先を変更する
ことによりプロセッサ間アクセスのルーティングができ
るので大規模構成をとることが可能であるが、レイテン
シが大きくなるという問題がある。
【0006】また、前記従来のクラスタシステムにおい
てload/store命令によりプロセッサ間通信を
行う場合では、相手のプロセッサのデータが格納されて
いるアドレスに直接アクセスする為、レイテンシは小さ
いが大規模構成がとれないという問題がある。
【0007】更に、前記従来のクラスタシステムにおい
てプロセッサと磁気ディスク装置等の入出力装置と間の
データアクセスを行う場合には、DMAを用いてメモリ
を介してデータアクセスを行っており、プロセッサから
入出力装置へのアクセスをload/store命令で
直接行うことはできないという問題がある。
【0008】本発明の目的は、上記問題を解決し、プロ
セッサ間通信のレイテンシを小さくすると共にプロセッ
サ間アクセスのルーティングを行うことが可能な技術を
提供することにある。
【0009】
【課題を解決するための手段】本発明は、ネットワーク
を介して接続された複数のコンピュータ間で通信を行っ
て並列処理を実行するクラスタシステムにおいて、ロー
カルシステムやリモートシステムのコンピュータ内の装
置へのアクセスをload/store命令で行うもの
である。
【0010】本発明のクラスタシステムにおいて、自シ
ステムであるローカルシステムまたは自システム以外の
システムであるリモートシステムのコンピュータ内の装
置や通常のアドレス空間へのアクセスが生じた場合、プ
ロセッサは、ローカルシステムまたはリモートシステム
のいずれのシステムにアクセスするかを示すルーティン
グフィールドと、当該システムのコンピュータ内の通常
のアドレス空間にアクセスする為のリアルアドレスフィ
ールドとを有するアクセスアドレスを用いた命令を発行
する。
【0011】システム接続機構は、前記プロセッサが発
行した命令を受け取り、そのアクセスアドレスのルーテ
ィングフィールドを調べ、当該ルーティングフィールド
が有効でない場合には、そのアクセスアドレスのリアル
アドレスフィールドに示された、ローカルシステム内の
通常のアドレス空間へのアクセスを行う。
【0012】また、システム接続機構は、前記プロセッ
サが発行した命令のアクセスアドレスのルーティングフ
ィールドを調べた結果、当該ルーティングフィールドが
有効であり、そのルーティングフィールドがローカルシ
ステム内の磁気ディスク装置等の入出力装置を示してい
る場合には、アクセスアドレスのリアルアドレスフィー
ルドに示されたローカルシステム内の入出力装置へのア
クセスを行う。
【0013】更に、システム接続機構は、前記プロセッ
サが発行した命令のアクセスアドレスのルーティングフ
ィールドを調べた結果、当該ルーティングフィールドが
有効でリモートシステムのコンピュータへのアドレスを
示している場合には、前記プロセッサが発行した命令の
処理要求をルーティングアダプタに渡す。
【0014】ルーティングアダプタは、リモートシステ
ムのコンピュータにアクセスする命令の処理要求を前記
システム接続機構から受け取り、当該命令のアクセスア
ドレスのルーティングフィールドで示されたリモートシ
ステムのコンピュータに当該命令の処理要求を送信す
る。
【0015】当該命令の処理要求を受信したリモートシ
ステムのルーティングアダプタは、当該命令の処理要求
を当該リモートシステム内で実行し、当該命令が応答の
必要な命令である場合には、その応答を送信元のルーテ
ィングアダプタに送信する。
【0016】以上の様に、本発明のクラスタシステムに
よれば、ルーティングフィールドとリアルアドレスフィ
ールドとを有するアクセスアドレスを用いた命令を使用
するので、プロセッサ間通信のレイテンシを小さくする
と共にプロセッサ間アクセスのルーティングを行うこと
が可能である。
【0017】
【発明の実施の形態】以下に、ルーティングフィールド
とリアルアドレスフィールドとを有するアクセスアドレ
スを用いてローカルシステムのコンピュータ内の入出力
装置またはリモートシステムのコンピュータにアクセス
する一実施形態のクラスタシステムについて説明する。
【0018】図1は、本実施形態のクラスタシステムの
概略構成を示す図である。図1に示す様に、コンピュー
タ100は、システム接続機構101と、ローカルメモ
リ102と、監視プロセッサ103と、プロセッサバス
110と、プロセッサ111及び112と、システムバ
ス120と、コアI/Oアダプタ130と、シリアルI
/F131と、パラレルI/F132と、バスアダプタ
140と、I/Oバス150と、ルーティングアダプタ
160と、SCSIアダプタ170と、磁気ディスク装
置180〜182とを有している。
【0019】システム接続機構101はプロセッサ11
1及び112を接続するプロセッサバス110、ローカ
ルメモリ102、監視プロセッサ103及びシステムバ
ス120を接続し、プロセッサ111または112が発
行した命令のルーティングフィールドがリモートシステ
ムにアクセスすることを示している場合に、当該命令の
処理要求をルーティングアダプタ160に渡す処理装置
である。ローカルメモリ102はコンピュータ100の
中にあるメモリである。監視プロセッサ103はシステ
ム全体の動作状態の監視を行う処理装置である。
【0020】プロセッサバス110はプロセッサ111
及びプロセッサ112を接続するバスである。プロセッ
サ111及び112はローカルシステムまたはリモート
システムのいずれのシステムにアクセスするかを示すル
ーティングフィールドと、当該システムのコンピュータ
100内の通常のアドレス空間にアクセスする為のリア
ルアドレスフィールドとを有するアクセスアドレスを用
いた命令を発行する処理装置である。システムバス12
0はコアI/Oアダプタ130と、バスアダプタ140
と、ルーティングアダプタ160とを接続するバスであ
る。
【0021】コアI/Oアダプタ130はシリアルI/
F131やパラレルI/F132等の標準入出力インタ
フェースを接続するアダプタである。シリアルI/F1
31はシリアルケーブルにより周辺装置を接続するイン
タフェースである。パラレルI/F132はパラレルケ
ーブルにより周辺装置を接続するインタフェースであ
る。
【0022】バスアダプタ140はI/Oバス150を
システムに接続するアダプタである。I/Oバス150
は入出力装置を接続するSCSIアダプタ170(Sm
all Computer System Inter
faceアダプタ)を接続するバスである。ルーティン
グアダプタ160はコンピュータ100と、コンピュー
タ200及びコンピュータ300とを接続し、リモート
システムにアクセスする命令の処理要求及びそのレスポ
ンスを、当該命令のアクセスアドレスのルーティングフ
ィールドで示されたリモートシステムのコンピュータ2
00またはコンピュータ300との間で送受信するアダ
プタである。
【0023】SCSIアダプタ170はI/Oバス15
0接続されているアダプタである。磁気ディスク装置1
80〜182はコンピュータ100のデータを格納する
記憶装置である。
【0024】ネットワーク500はコンピュータ10
0、200及び300を接続する通信回線である。
【0025】尚、本実施形態のクラスタシステムにおい
てルーティングアダプタ160は、システムバス120
に接続されているが、I/Oバス150に接続されてい
ても良い。また、ネットワーク500を介してコンピュ
ータ100と接続されるコンピュータ200、コンピュ
ータ300の構成はコンピュータ100と同様であるも
のとする。
【0026】図2は、本実施形態のload/stor
e命令のアクセスアドレスのフォーマット例を示す図で
ある。図2に示す様に、アクセスアドレス800は、ル
ーティングフィールド810と、リアルアドレスフィー
ルド860とを有している。
【0027】ルーティングフィールド810はローカル
システムの入出力装置またはリモートシステムにアクセ
スする為のルーティング情報を格納するフィールドであ
る。リアルアドレスフィールド860は当該システムの
コンピュータ内の通常のアドレス空間にアクセスする為
のアドレス情報を格納するフィールドである。
【0028】本実施形態のクラスタシステムにおいて6
4ビットのアドレスを用いてアクセスを行う場合には、
例えば図2に示す様に、上位24ビットをルーティング
フィールド810とし、下位40ビットをリアルアドレ
スフィールド860として使用する。
【0029】図3は、本実施形態のルーティングフィー
ルド810のフォーマット例を示す図である。図3に示
す様に、ルーティングフィールド810は、制御フィー
ルド820と、システムID830と、レイヤID84
0と、サブレイヤID850とを有している。
【0030】制御フィールド820はルーティングフィ
ールド810が有効であるかどうか等の制御情報を格納
するフィールドである。システムID830はコンピュ
ータ100、200及び300を識別するIDである。
レイヤID840は各コンピュータ内の特定の機能を実
現するグループを識別するIDである。サブレイヤID
850はレイヤID840で示されるグループ内の個々
の装置を識別するIDである。
【0031】ルーティングフィールド810のビット6
0から63は、制御フィールド820である。ビット6
3は、ルーティングフィールド810が有効であるかど
うかを示すビットで、ビット63が‘1’の場合はルー
ティングフィールド810が有効であることを示し、ビ
ット63が‘0’の場合はルーティングフィールド81
0が無効であることを表している。
【0032】ビット62は、アクセスアドレス800へ
のアクセスが自システムであるローカルシステムへのア
クセスであるかどうかを示すビットであり、ビット62
が‘0’の場合はローカルシステムへのアクセスを示
し、ビット62が‘1’の場合は自システム以外のロー
カルシステムへのアクセスであることを表している。
【0033】ビット60及び61は、アクセスアドレス
800へのアクセスのデータ転送の形態を示しており、
ビット60及び61が‘00’Bの場合にはユニキャス
トを示し、ビット60及び61が‘11’Bの場合には
ブロードキャストを表している。尚、ここで‘00’B
や‘11’Bは2進数を表しており、以下、バイナリデ
ータを示す場合には‘ ’Bと記載する。
【0034】ビット52から59はシステムID830
を表しており、本実施形態のクラスタシステムでは、コ
ンピュータ100、200及び300にそれぞれ1つの
システムID830を割り当てているが、1台に複数の
システムID830を割り当てても良い。但し、システ
ムID830の値の重複は許さないものとする。
【0035】ビット48から51はレイヤID840を
表しており、各コンピュータ内で特定の機能を実現する
サブシステムを識別するIDを示している。ビット47
から40はサブレイヤID850を表しており、レイヤ
ID840の下位階層にあるSCSIアダプタ170や
磁気ディスク装置180〜182、若しくはLAN(L
ocal Area Network)アダプタ等を識
別するIDを示している。
【0036】図4は、本実施形態のレイヤID840及
びサブレイヤID850の割り当て例を示す図である。
図4は、本実施形態のクラスタシステムのローカルメモ
リ102、バスアダプタ140及びコアI/Oアダプタ
130のレイヤID840及びサブレイヤID850の
割り当て例を示しており、ローカルメモリ102のレイ
ヤID840は‘00’H、サブレイヤID850は
‘00’Hである。ここで、‘00’Hは16進数を表
しており、以下16進データを示す場合には‘’Hと記
載する。
【0037】また、バスアダプタ140のレイヤID8
40は‘01’H、サブレイヤID850は‘00’H
であり、コアI/Oアダプタ130のレイヤID840
は‘0F’H、サブレイヤID850は‘00’Hであ
る。
【0038】図5は、本実施形態のルーティングフィー
ルド810の割り当て例を示す図である。図5は、コン
ピュータ100、コンピュータ200及びコンピュータ
300のシステムID830並びにコンピュータ100
内の各装置のレイヤID840及びサブレイヤID85
0の割り当て例を表している。
【0039】図5に示す様にコンピュータ100のシス
テムID830は‘01’H、コンピュータ200のシ
ステムID830は‘02’H、コンピュータ300の
システムID830は‘03’Hである。
【0040】コンピュータ100のローカルメモリ10
2、コアI/Oアダプタ130及びバスアダプタ140
のレイヤID840及びサブレイヤID850は、図4
に示した通りである。ルーティングアダプタ160のレ
イヤID840は‘02’H、サブレイヤID850は
‘00’Hである。
【0041】バスアダプタ140に接続されているSC
SIアダプタ170のレイヤID840は、バスアダプ
タ140と同じ‘01’Hである。SCSIアダプタ1
70がバスアダプタ140のI/Oバス150に接続さ
れている為、同一のレイヤID840になる。また、S
CSIアダプタ170のサブレイヤID850は、‘0
1’Hである。
【0042】図6は、本実施形態のアクセスアドレス全
体のアドレスマップの一例を示す図である。図6に示す
様に、アドレスマップは、リアルアドレス空間900
と、アクセス空間910と、SCSIアダプタ空間92
0と、ローカルブロードキャスト空間930と、アクセ
ス空間940と、ブロードキャスト空間950とを有し
ている。
【0043】リアルアドレス空間900はコンピュータ
100で通常のアクセスを行う空間である。アクセス空
間910はコンピュータ100内でルーティング情報を
用いたアクセスを行う空間である。SCSIアダプタ空
間920はコンピュータ100のSCSIアダプタ17
0に接続された入出力装置へのアクセスを行う空間であ
る。
【0044】ローカルブロードキャスト空間930はコ
ンピュータ100内でブロードキャストを行う際に用い
る空間である。アクセス空間940はコンピュータ20
0またはコンピュータ300へのルーティング情報を用
いたアクセスを行う空間である。ブロードキャスト空間
950はシステム全体のブロードキャストを行う際に用
いる空間である。
【0045】図6は、コンピュータ100内から見たア
クセスアドレス全体のアドレスマップの一例を表してお
り、本実施形態のクラスタシステムではリアルアドレス
フィールド860は40ビットである為、‘0’Hから
‘0ffffffffff’Hまでが通常のリアルアド
レス空間900となっている。
【0046】前記のリアルアドレス空間900へのアク
セスは、ルーティングフィールド810が無効の場合ま
たはルーティングの機能を持たない装置に対して行われ
る。
【0047】‘8000000000000000’H
から‘bfffffffffffffff’Hまでが、
コンピュータ100内でルーティングフィールド810
を用いたアクセスを行う場合のアクセス空間910であ
る。このアクセス空間910には、SCSIアダプタ空
間920やコンピュータ100内のローカルブロードキ
ャスト空間930が存在する。
【0048】‘c000000000000000’H
から以降は、コンピュータ100以外へのアクセスを行
う為の空間である。‘c00000000000000
0’Hから‘efffffffffffffff’Hま
でが、コンピュータ100以外へのアクセス空間940
であり、‘f000000000000000’Hから
‘ffffffffffffffff’Hまでがブロー
ドキャスト空間950である。
【0049】図7は、本実施形態のSCSIアダプタ1
70のアドレスマップ例を示す図である。図7に示す様
に、SCSIアダプタ空間920は、SCSIアダプタ
内部空間921と、アクセス空間922〜924とを有
している。
【0050】SCSIアダプタ内部空間921はSCS
Iアダプタ170のコントローラへアクセスを行う空間
である。アクセス空間922〜924は磁気ディスク装
置180〜182へのアクセスを行う空間である。
【0051】図7は、コンピュータ100のSCSIア
ダプタ170のアドレスマップ例を表しており、‘80
11010000000000’Hから‘801101
00ffffffff’Hが、SCSIアダプタ170
内部のコントローラへアクセスするSCSIアダプタ内
部空間921である。
【0052】‘8011010100000000’H
からは磁気ディスク装置180へのアクセス空間922
が割り当てられており、以下同様に磁気ディスク装置1
81へのアクセス空間923及び磁気ディスク装置18
2へのアクセス空間924が割り当てられている。
【0053】尚、本実施形態のクラスタシステムでは、
4GBの容量の磁気ディスクの場合を例にしているが、
磁気ディスク装置180〜182の容量に従って割り当
て空間を変更することができる。
【0054】図8は、本実施形態のルーティングアダプ
タ160の概略構成を示す図である。図8に示す様に、
ルーティングアダプタ160は、DMAコントローラ1
61と、バッファメモリ162と、プロセッサ163
と、ROM164と、ネットワークコントローラ165
と、タイマ166とを有している。
【0055】DMAコントローラ161はプロセッサ1
11やローカルメモリ102との間でデータの送受信を
行うコントローラである。バッファメモリ162は送受
信データをバッファリングし、プロセッサ163が使用
する制御テーブル類等を格納する記憶装置である。プロ
セッサ163はルーティングアダプタ160全体の動作
を制御し、DMAコントローラ161やネットワークコ
ントローラ165からの割り込み制御やデータ送受信制
御を行う処理装置である。
【0056】ROM164はルーティングアダプタ16
0の動作を制御する為の制御プログラムを格納しておく
記憶装置である。ネットワークコントローラ165はネ
ットワーク500を介してデータの送受信を行うコント
ローラである。タイマ166はプロセッサ163に内蔵
されている計時装置である。
【0057】図9は、本実施形態のネットワーク500
上のフレームフォーマットの概要を示す図である。図9
に示す様に、フレームは、コマンドフィールド550
と、相手アクセスアドレスフィールド560と、送信元
アクセスアドレスフィールド570と、送信データフィ
ールド580と、エラー情報フィールド590とを有し
ている。
【0058】コマンドフィールド550はフレームの指
示内容を示すフィールドである。相手アクセスアドレス
フィールド560は送信先のアクセスアドレス800を
格納するフィールドである。送信元アクセスアドレスフ
ィールド570は送信元のアクセスアドレス800を格
納するフィールドである。
【0059】送信データフィールド580は送信するデ
ータを格納するフィールドである。エラー情報フィール
ド590はCRC(Cyclic Redundanc
yCheck)等のエラー検出及び訂正を行う為の情報
を格納するフィールドである。
【0060】ネットワーク500上に送出されるフレー
ムのコマンドフィールド550は1バイトからなり、ビ
ット5から7がコマンド内容を示し、ビット0から4が
データ長を示している。
【0061】コマンドフィールド550のビット5から
7のコマンド内容は、‘111’Bである場合にはエラ
ー通知を示し、‘101’Bである場合は読み出し要求
に対するレスポンスを示し、‘100’Bである場合は
読み出し要求を示し、‘010’Bである場合は書き込
み要求を表している。
【0062】また、コマンドフィールド550のビット
0から4のデータ長は、送信データフィールド580の
長さを2のn乗で表した場合のnを示しており、例えば
送信データフィールド580の長さが32バイトの場合
には、コマンドフィールド550のビット0から4のデ
ータ長には「5」が格納される。
【0063】相手アクセスアドレスフィールド560及
び送信元アクセスアドレスフィールド570には、それ
ぞれ送信先及び送信元のアクセスアドレス800が格納
される。
【0064】エラー情報フィールド590は4バイトで
あり、コマンドフィールド550から送信データフィー
ルド580までを対象としたCRC等のエラー検出/訂
正符号が格納される。
【0065】尚、ネットワーク500上に送出されたフ
レームが読み出し要求に対するレスポンスや書き込み要
求である場合には送信データフィールド580がある
が、読み出し要求である場合には送信データフィールド
580は無い。
【0066】図10は、本実施形態のstore命令発
行時のシーケンスの概要を示す図である。図10は、コ
ンピュータ100からコンピュータ200にデータを送
信する際の動作シーケンスを表しており、コンピュータ
100のプロセッサ111は、コンピュータ200に書
き込みを行うstore命令を発行する。
【0067】この時のstore命令のアクセスアドレ
ス800は、‘c02xxxxxxxxxxxxx’H
であり、xxxxには、両コンピュータ上で通信を行う
アプリケーション同士で予めネゴシエーションしたアド
レスを設定する。
【0068】コンピュータ100においてプロセッサ1
11がstore命令を発行すると、システム接続機構
101はプロセッサ111が発行したstore命令を
受け取り、store命令のアクセスアドレス800の
判定を行う。
【0069】まず、システム接続機構101は、sto
re命令のアクセスアドレス800のルーティングフィ
ールド810中のビット63を参照し、ルーティングフ
ィールド810が有効であるかどうかを判定して、ルー
ティングフィールド810が無効である場合には、40
ビットのリアルアドレスフィールド860に示されたア
ドレスにstore動作を行う。
【0070】また、システム接続機構101は、sto
re命令のアクセスアドレス800のルーティングフィ
ールド810が有効であるかどうかを判定した結果、ル
ーティングフィールド810が有効である場合には、次
にルーティングフィールド810中のビット62を参照
し、リモートシステムへのアクセスであるかどうかを判
定する。尚、前記のルーティングフィールド810中の
ビット62及びビット63の判定を同時に行っても良
い。
【0071】システム接続機構101は、プロセッサ1
11が発行したstore命令のルーティングフィール
ド810がリモートシステムにアクセスすることを示し
ている場合には、プロセッサ111が発行したstor
e命令の処理要求をルーティングアダプタ160に渡
す。
【0072】すなわち、システム接続機構101は、ル
ーティングフィールド810がリモートシステムにアク
セスすることを示している場合には、store命令の
アクセスアドレス800とstore命令により処理さ
れるデータをルーティングアダプタ160に渡す。
【0073】ルーティングアダプタ160のDMAコン
トローラ161は、システム接続機構101から渡され
たstore命令のアクセスアドレス800とそのデー
タをDMAコントローラ161のFIFO(First
In First Out)メモリに格納し、プロセ
ッサ163に割り込みを通知する。
【0074】ルーティングアダプタ160のプロセッサ
163は、store命令のアクセスアドレス800を
含むページ(4KBバウンダリに配置された4KBの領
域)がバッファメモリ162にヒットしているかどうか
を判定する。
【0075】store命令のアクセスアドレス800
を含むページがバッファメモリ162にヒットしている
場合には、ヒットしているバッファアドレスをDMAコ
ントローラ161へ指示して、その領域を当該データの
送信バッファとして使用する。
【0076】こうすることで、ヒットしていた領域中の
データをパージすることができる。この機能は、同一ア
クセスアドレス800に対しての読み出し及び書き込み
をヒットした領域で行うことを可能にしている。
【0077】また、ルーティングアダプタ160のプロ
セッサ163は、store命令のアクセスアドレス8
00を含むページがバッファメモリ162にヒットして
いるかどうかを判定した結果、store命令のアクセ
スアドレス800を含むページがバッファメモリ162
にヒットしない場合には、バッファメモリ162に新た
に送信バッファを割り当て、その割り当てたバッファア
ドレスをDMAコントローラ161へ指示する。
【0078】ルーティングアダプタ160のプロセッサ
163から送信バッファのバッファアドレスの指示を受
けたDMAコントローラ161は、指示されたバッファ
アドレスにデータを格納する。
【0079】また、ルーティングアダプタ160は、s
tore命令のアクセスアドレス800と送信バッファ
のバッファアドレスの関係をDMAコントローラ161
に登録し、一度アクセスがあったアクセスアドレス80
0についてはプロセッサ163への割り込みを発生する
ことなく、データの読み書きを行うものとしても良い。
【0080】ルーティングアダプタ160のDMAコン
トローラ161は、store命令で処理するデータの
終了を、プロセッサ111から送られたルーティングア
ダプタ160のDMAコントローラ161自身へのst
ore命令により判定する。
【0081】すなわち、DMAコントローラ161自身
へのアクセスアドレス800は、‘801200xxx
xxxxxxx’Hであり、プロセッサ111は、本ア
ドレスに対して送信バッファに格納した最終アドレスを
書き込むことにより、当該データの終了をDMAコント
ローラ161に通知するので、DMAコントローラ16
1は、DMAコントローラ161自身へのstore命
令により当該データの終了を検出し、プロセッサ163
に割り込みを発生する。
【0082】データの終了を示す割り込みをDMAコン
トローラ161から受けたプロセッサ163は、図9に
示す様にネットワーク500にデータを送信する為のヘ
ッダを作成し、データを格納した送信バッファのバッフ
ァアドレスをネットワークコントローラ165に通知す
る。
【0083】プロセッサ163から送信バッファのバッ
ファアドレスを受け取ったネットワークコントローラ1
65は、データをバッファメモリ162から読み出して
送信し、store命令の処理要求をリモートシステム
に送る。
【0084】図11は、本実施形態のstoreデータ
受信時のシーケンスの概要を示す図である。図11は、
コンピュータ100がコンピュータ200またはコンピ
ュータ300からstore命令の処理要求を受信した
場合の動作シーケンスを表している。
【0085】まず、コンピュータ100のプロセッサ1
11は、ルーティングアダプタ160がリモートシステ
ムからデータを受信したときにデータを受信したことを
示す受信通知をルーティングアダプタ160のプロセッ
サ163から受け取る場合には、予めルーティングアダ
プタ160のプロセッサ163に前記受信通知の送信を
指示しておく。
【0086】コンピュータ100のルーティングアダプ
タ160で書き込み要求を示すフレームを受信すると、
ルーティングアダプタ160のネットワークコントロー
ラ165は、受信したフレーム中のコマンドフィールド
550と相手アクセスアドレスフィールド560の内容
を判定する。
【0087】相手アクセスアドレスフィールド560に
は当該フレームを送信する送信先のアクセスアドレス8
00が入っているので、ネットワークコントローラ16
5は、その中のシステムID830がコンピュータ10
0のシステムID830と等しいかを判定する。
【0088】相手アクセスアドレスフィールド560の
アクセスアドレス800中のシステムID830がコン
ピュータ100のシステムID830と等しければ、コ
ンピュータ100のルーティングアダプタ160は、D
MAコントローラ161によりフレーム中のデータをロ
ーカルメモリ102に直接格納する。
【0089】DMAコントローラ161によりローカル
メモリ102に全てのデータを格納しデータの受信が完
了したら、ネットワークコントローラ165は、プロセ
ッサ163にデータの受信が完了したことを示す割り込
みを通知する。
【0090】ルーティングアダプタ160のプロセッサ
163は、当該アドレスに対する受信通知指示を予めプ
ロセッサ111から受けているかどうかを調べ、前記指
示を受けている場合には、プロセッサ163は、プロセ
ッサ111に受信完了を示す割り込みを通知し、前記指
示を受けていない場合には割り込みを通知せずに処理を
終了する。
【0091】図12は、本実施形態のload命令の実
行及びそのレスポンスのシーケンスの概要を示す図であ
る。図12は、コンピュータ100からコンピュータ2
00のデータの送信を要求する際の動作シーケンスを表
しており、コンピュータ100のプロセッサ111は、
コンピュータ200にデータの読み出しを要求するlo
ad命令を発行する。
【0092】コンピュータ100のプロセッサ111が
load命令を発行すると、システム接続機構101
は、プロセッサ111が発行したload命令を受け取
り、図10に示したシーケンスと同様にしてload命
令のアクセスアドレス800の判定を行う。
【0093】システム接続機構101は、load命令
のアクセスアドレス800を判定した結果、アクセスア
ドレス800がリモートシステムへのアクセスを示して
いる場合にはそのload命令をルーティングアダプタ
160に渡す。
【0094】コンピュータ100のルーティングアダプ
タ160は、load命令を受信すると、当該load
命令のアクセスアドレス800に対する読み出し要求を
コンピュータ200のルーティングアダプタ160に送
信する。
【0095】コンピュータ100のルーティングアダプ
タ160は、続けて当該load命令のアクセスアドレ
ス800を含むページ全体に対する読み出し要求をコン
ピュータ200のルーティングアダプタ160に出す。
これは、当該load命令のアクセスアドレス800に
連続するアドレス領域が、続けて読み出される可能性が
高いと考えて先行読み出しを行う為である。
【0096】読み出しデータがコンピュータ200のル
ーティングアダプタ160から戻ってくると、コンピュ
ータ100のルーティングアダプタ160は、コンピュ
ータ200から送られてきたデータをプロセッサ111
に返す。
【0097】コンピュータ100のプロセッサ111か
ら連続してload命令が発行された場合には、ページ
全体を先行読み出ししているので、今度はload命令
のアクセスアドレス800がルーティングアダプタ16
0内のバッファメモリ162にヒットし、データはバッ
ファメモリ162から読み出される。
【0098】図13は、本実施形態のフレームエラー発
生時のシーケンスの概要を示す図である。コンピュータ
100のルーティングアダプタ160は、ルーティング
アダプタ160からの読み出し要求を出す際にタイマ1
66をセットする。ネットワーク500で読み出し要求
フレームが紛失した場合にはタイマ166がタイムアウ
トし、前記タイムアウトが発生するとコンピュータ10
0のルーティングアダプタ160は、読み出し要求を再
送する。
【0099】再送した読み出し要求を受信したコンピュ
ータ200のルーティングアダプタ160は、コンピュ
ータ200のローカルメモリ102からデータを読み出
し、データを送り返す。尚、タイムアウトが発生したと
きのリトライ回数は、プロセッサ111からの設定で可
変であるものとする。
【0100】図14は、本実施形態のload命令でプ
ロセッサ111が長時間ストールするのを防ぐ為の機構
の概要を示す図である。本実施形態のクラスタシステム
においてコンピュータ100からコンピュータ200や
コンピュータ300のデータを読み出す場合には、通
常、コンピュータ100のプロセッサ111は、ビット
62をリモートシステムに設定すると共にコンピュータ
200またはコンピュータ300のシステムID830
を設定したアクセスアドレス800のload命令を発
行する。
【0101】一方、load命令でプロセッサ111が
長時間ストールするのを防ぐ場合には、リモートシステ
ムにload命令(以下load命令bと記載する)を
発行する前に、そのアクセスアドレス800のビット6
2だけが異なる(ローカルシステムとしておく)loa
d命令(以下load命令b’と記載する)を発行す
る。尚、load命令b及びload命令b’のアクセ
スアドレス800のビット62以外の他のフィールドは
全て同じであるものとする。
【0102】システム接続機構101は、load命令
b’のアクセスアドレス800のルーティングフィール
ド810中のビット62がローカルシステムへのアクセ
スを示しており、そのシステムID830がコンピュー
タ100以外のリモートシステムを示している場合には
load命令b’をルーティングアダプタ160に渡
す。
【0103】load命令b’を受けたルーティングア
ダプタ160は、アクセスアドレス800で示されるデ
ータがバッファメモリ162にヒットしているかを判定
し、ヒットしていたら‘ffffffff’H、ヒット
していなかったら‘0’Hを返す。
【0104】プロセッサ111は、ルーティングアダプ
タ160から戻ってきたデータを判定して、アクセスア
ドレス800で示されるデータがバッファメモリ162
にヒットしていたらload命令bを続けて発行し、デ
ータの読み出しを行う。
【0105】データがヒットしていなかったら、アクセ
スアドレス800のデータを受信したときに割り込みを
発生させる受信割り込み通知をルーティングアダプタ1
60に依頼して、load命令b’を発行したプロセス
をスリープさせて受信割り込み待ち状態にする。
【0106】リモートシステムからデータを受信したら
ルーティングアダプタ160は、プロセッサ111に割
り込みを通知して当該プロセスの処理を再開し、処理が
再開されたプロセスはload命令bを発行する。
【0107】以上の様に、本実施形態のクラスタシステ
ムでは、リモートシステムのデータがバッファメモリ1
62にヒットしていなかった場合には、当該load命
令を発行したプロセスをスリープさせて受信割り込み待
ち状態にするので、プロセッサ111は他のプロセスを
実行することが可能である。
【0108】尚、本実施形態のクラスタシステムにおけ
るネットワーク上のフレームのルーティングは、システ
ムID830を用いて行うものとする。本実施形態のク
ラスタシステムでは、システムID830に対応するシ
ステムは一意に決まるのでシステムID830を用いて
ルーティングを行うことが可能であり、一般的なLAN
スイッチの様に、通過するフレーム中に格納されている
システムID830をネットワーク500に接続する通
信ポート毎に記憶しておけば良い。
【0109】従って、本実施形態のクラスタシステムの
ネットワーク500を、図15に示す様に多段接続した
構成とすることも可能である。
【0110】図15は、本実施形態の多段ネットワーク
構成の一例を示す図である。図15に示す様に、多段ネ
ットワーク構成のクラスタシステムは、磁気ディスク装
置280と、磁気ディスク装置380と、ディスクサブ
システム400と、磁気ディスク装置480及び481
と、ネットワーク600及び601と、ルータ700と
を有している。
【0111】磁気ディスク装置280はコンピュータ2
00のデータを格納する記憶装置である。磁気ディスク
装置380はコンピュータ300のデータを格納する記
憶装置である。ディスクサブシステム400は磁気ディ
スク装置480及び481を管理するシステムである。
【0112】磁気ディスク装置480及び481はディ
スクサブシステム400のデータを格納する記憶装置で
ある。ネットワーク600及び601はコンピュータ1
00及びコンピュータ200と、コンピュータ300及
びディスクサブシステム400とを接続する通信回線で
ある。ルータ700はネットワーク600とネットワー
ク601とを接続するインタネットワーク装置である。
【0113】図15は、図1に示したネットワーク50
0が多段になった場合のシステム構成の一例を表してお
り、コンピュータ100には磁気ディスク装置180が
接続され、コンピュータ200には磁気ディスク装置2
80が接続され、コンピュータ300には磁気ディスク
装置380が接続されており、ディスクサブシステム4
00に接続されている磁気ディスク装置480及び48
1を各コンピュータ100、コンピュータ200及び3
00からアクセス可能である。
【0114】それぞれのコンピュータ100、コンピュ
ータ200及び300に接続されている磁気ディスク装
置180、磁気ディスク装置280及び磁気ディスク装
置380に対してもディスクサブシステム400に接続
されている磁気ディスク装置480及び481に対して
もload/store命令でアクセスが可能である。
【0115】以上説明した様に、本実施形態のクラスタ
システムによれば、ルーティングフィールドとリアルア
ドレスフィールドとを有するアクセスアドレスを用いた
命令を使用するので、プロセッサ間通信のレイテンシを
小さくすると共にプロセッサ間アクセスのルーティング
を行うことが可能である。
【0116】
【発明の効果】本発明によれば、ルーティングフィール
ドとリアルアドレスフィールドとを有するアクセスアド
レスを用いた命令を使用するので、プロセッサ間通信の
レイテンシを小さくすると共にプロセッサ間アクセスの
ルーティングを行うことが可能である。
【図面の簡単な説明】
【図1】本実施形態のクラスタシステムの概略構成を示
す図である。
【図2】本実施形態のload/store命令のアク
セスアドレスのフォーマット例を示す図である。
【図3】本実施形態のルーティングフィールド810の
フォーマット例を示す図である。
【図4】本実施形態のレイヤID840及びサブレイヤ
ID850の割り当て例を示す図である。
【図5】本実施形態のルーティングフィールド810の
割り当て例を示す図である。
【図6】本実施形態のアクセスアドレス全体のアドレス
マップの一例を示す図である。
【図7】本実施形態のSCSIアダプタ170のアドレ
スマップ例を示す図である。
【図8】本実施形態のルーティングアダプタ160の概
略構成を示す図である。
【図9】本実施形態のネットワーク500上のフレーム
フォーマットの概要を示す図である。
【図10】本実施形態のstore命令発行時のシーケ
ンスの概要を示す図である。
【図11】本実施形態のstoreデータ受信時のシー
ケンスの概要を示す図である。
【図12】本実施形態のload命令の実行及びそのレ
スポンスのシーケンスの概要を示す図である。
【図13】本実施形態のフレームエラー発生時のシーケ
ンスの概要を示す図である。
【図14】本実施形態のload命令でプロセッサ11
1が長時間ストールするのを防ぐ為の機構の概要を示す
図である。
【図15】本実施形態の多段ネットワーク構成の一例を
示す図である。
【符号の説明】
100、200及び300…コンピュータ、101…シ
ステム接続機構、102…ローカルメモリ、103…監
視プロセッサ、110…プロセッサバス、111及び1
12…プロセッサ、120…システムバス、130…コ
アI/Oアダプタ、131…シリアルI/F、132…
パラレルI/F、140…バスアダプタ、150…I/
Oバス、160…ルーティングアダプタ、170…SC
SIアダプタ、180〜182…磁気ディスク装置、5
00…ネットワーク、800…アクセスアドレス、81
0…ルーティングフィールド、860…リアルアドレス
フィールド、820…制御フィールド、830…システ
ムID、840…レイヤID、850…サブレイヤI
D、900…リアルアドレス空間、910…アクセス空
間、920…SCSIアダプタ空間、930…ローカル
ブロードキャスト空間、940…アクセス空間、950
…ブロードキャスト空間、921…SCSIアダプタ内
部空間、922〜924…アクセス空間、161…DM
Aコントローラ、162…バッファメモリ、163…プ
ロセッサ、164…ROM、165…ネットワークコン
トローラ、166…タイマ、550…コマンドフィール
ド、560…相手アクセスアドレスフィールド、570
…送信元アクセスアドレスフィールド、580…送信デ
ータフィールド、590…エラー情報フィールド、28
0…磁気ディスク装置、380…磁気ディスク装置、4
00…ディスクサブシステム、480及び481…磁気
ディスク装置、600及び601…ネットワーク、70
0…ルータ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して接続された複数の
    コンピュータ間で通信を行って並列処理を実行するクラ
    スタシステムにおいて、 ローカルシステムまたはリモートシステムのいずれのシ
    ステムにアクセスするかを示すルーティングフィールド
    と、当該システムのコンピュータ内の通常のアドレス空
    間にアクセスする為のリアルアドレスフィールドとを有
    するアクセスアドレスを用いた命令を発行するプロセッ
    サと、 リモートシステムのコンピュータにアクセスする命令の
    処理要求を、当該命令のアクセスアドレスのルーティン
    グフィールドで示されたリモートシステムのコンピュー
    タに送信するルーティングアダプタと、 前記プロセッサが発行した命令のルーティングフィール
    ドがリモートシステムにアクセスすることを示している
    場合に、前記プロセッサが発行した命令の処理要求を前
    記ルーティングアダプタに渡すシステム接続機構とを備
    えることを特徴とするクラスタシステム。
  2. 【請求項2】 前記ルーティングアダプタは、リモート
    システムのコンピュータに送信する命令の処理要求がリ
    モートシステムのコンピュータ内の特定のアクセスアド
    レスの読み出しを行う命令である場合に、当該アクセス
    アドレスの読み出し要求をリモートシステムのコンピュ
    ータに送信すると共に、当該アクセスアドレスを含む特
    定のアドレス領域の先行読み出しを行う読み出し要求を
    送信することを特徴とする請求項1に記載されたクラス
    タシステム。
  3. 【請求項3】 前記プロセッサは、リモートシステムの
    コンピュータに送信した命令の処理要求がリモートシス
    テムのコンピュータ内の特定のアクセスアドレスの読み
    出しを行う命令であり、当該アクセスアドレスのデータ
    がルーティングアダプタに準備できていない場合には、
    当該アクセスアドレスのデータを受信したときに割り込
    みを発生させる受信割り込みをルーティングアダプタに
    指示して当該命令を発行したプロセスを一時的に停止さ
    せることを特徴とする請求項1または請求項2のいずれ
    かに記載されたクラスタシステム。
JP9217535A 1997-08-12 1997-08-12 クラスタシステム Pending JPH1166022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9217535A JPH1166022A (ja) 1997-08-12 1997-08-12 クラスタシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9217535A JPH1166022A (ja) 1997-08-12 1997-08-12 クラスタシステム

Publications (1)

Publication Number Publication Date
JPH1166022A true JPH1166022A (ja) 1999-03-09

Family

ID=16705783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9217535A Pending JPH1166022A (ja) 1997-08-12 1997-08-12 クラスタシステム

Country Status (1)

Country Link
JP (1) JPH1166022A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム
WO2011161787A1 (ja) * 2010-06-23 2011-12-29 富士通株式会社 通信装置、通信方法、および通信プログラム
JP2021157771A (ja) * 2018-10-18 2021-10-07 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. ネットワークオンチップによるデータ処理方法及び装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム
US7058744B2 (en) 2001-05-18 2006-06-06 Nec Corporation Cluster system, computer and program
WO2011161787A1 (ja) * 2010-06-23 2011-12-29 富士通株式会社 通信装置、通信方法、および通信プログラム
CN102947817A (zh) * 2010-06-23 2013-02-27 富士通株式会社 通信装置、通信方法以及通信程序
JP5403160B2 (ja) * 2010-06-23 2014-01-29 富士通株式会社 通信装置、通信方法、および通信プログラム
US9565049B2 (en) 2010-06-23 2017-02-07 Fujitsu Limited Communication apparatus, communication method, and computer product for sharing data
JP2021157771A (ja) * 2018-10-18 2021-10-07 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. ネットワークオンチップによるデータ処理方法及び装置
JP2021166034A (ja) * 2018-10-18 2021-10-14 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. ネットワークオンチップによるデータ処理方法及び装置

Similar Documents

Publication Publication Date Title
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
JP3512910B2 (ja) 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
US5941969A (en) Bridge for direct data storage device access
CN101539902B (zh) 多计算机系统中节点的dma设备及通信方法
JP2625385B2 (ja) マルチプロセッサシステム
US6487619B1 (en) Multiprocessor system that communicates through an internal bus using a network protocol
JPH01142963A (ja) バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法
US11966585B2 (en) Storage device and storage system
JP4208506B2 (ja) 高性能記憶装置アクセス環境
US7043603B2 (en) Storage device control unit and method of controlling the same
JPH01142964A (ja) 記憶装置管理方法
US6826622B2 (en) Method of transferring data between memories of computers
US6108694A (en) Memory disk sharing method and its implementing apparatus
CN1185255A (zh) 用于处理器间传输数据的链路协议
JPH1166022A (ja) クラスタシステム
JP2019164661A (ja) 情報処理装置、情報処理方法及びプログラム
US6529972B1 (en) Message translation and data proxy service for remote data transport in a computer network
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal
JPH06274463A (ja) データ通信システム
JP2001067299A (ja) インタフェース制御装置及び計算機システム
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
US8234651B2 (en) Information processing method and apparatus using the same
JP2664827B2 (ja) 実時間情報転送制御方法
JP2984594B2 (ja) マルチクラスタ情報処理システム
JPH1011387A (ja) 情報処理装置