JP2000259584A - クラスタシステムとノード間通信方法とその方法を記録した記録媒体 - Google Patents

クラスタシステムとノード間通信方法とその方法を記録した記録媒体

Info

Publication number
JP2000259584A
JP2000259584A JP11061853A JP6185399A JP2000259584A JP 2000259584 A JP2000259584 A JP 2000259584A JP 11061853 A JP11061853 A JP 11061853A JP 6185399 A JP6185399 A JP 6185399A JP 2000259584 A JP2000259584 A JP 2000259584A
Authority
JP
Japan
Prior art keywords
node
nodes
area
divided
memory area
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
JP11061853A
Other languages
English (en)
Inventor
Atsushi Miyazaki
宮崎  淳
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP11061853A priority Critical patent/JP2000259584A/ja
Publication of JP2000259584A publication Critical patent/JP2000259584A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 共有メモリエリアへの通信データの書き込み
/読み出しによって、ノード間の通信を行なう複数ノー
ドから構成され、通信に使用する共有メモリエリアのア
クセス権を管理するされるクラスタシステムを提供す
る。 【解決手段】 複数のノードと、ここで、各ノードは、
複数のノードのノード数と等しい分割領域が確保されて
いる共有メモリエリアと、ここで、各分割領域は、個別
に複数のノードの各々に対応しており、各分割領域への
読み出し/書き込みを管理する管理テーブルとを具備
し、複数のノードと接続されており、送信元ノードによ
って、送信元ノードの管理テーブルを参照して得られ
る、書き込み可能な分割領域に書き込まれた通信データ
を、送信先ノードの送信元ノードに対応する分割領域に
書き込むクロスバコントローラとからなるクラスタシス
テムを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数ノードから構
成されるクラスタシステムとノード間通信方法とその方
法を記録した記録媒体に関し、さらに詳しくは、共有メ
モリエリアへの通信データの書き込み/読み出しによっ
て、ノード間の通信を行なう複数ノードから構成される
クラスタシステムと、その通信方法に関する。
【0002】
【従来の技術】複数ノードから構成されるクラスタシス
テムには、各ノードが他のノードとの共有領域を自メモ
リ領域内に設け、その共有メモリを利用したノード間通
信が行われている。
【0003】複数ノードから構成されるクラスタシステ
ムに関連する従来技術として、関連する過去の特許出願
を以下に示す。
【0004】特開平9−160893号公報に、「並列
処理コンピュータシステムにおけるクロスバスイッチを
利用したクラスタ連結構造」という発明が開示されてい
る。この発明は、多数のコンピュータシステムを相互連
結してクラスタに運用する場合、クロスバスイッチを用
いて、コンピュータシステムを2次元トーラス方式で連
結することによって、一定の情報交換量を確保しながら
コンピュータシステムの個数をに増加させることが可能
なシステムである。
【0005】特開平5−110586号公報に、「セル
分解装置」という発明が開示されている。この発明は、
ATM(Asynchronous Transfer Mode:非同期転送モー
ド)通信方式におけるセル分解装置に関するものであ
る。
【0006】特開平6−103155号公報に、「共有
メモリ制御方法及び共有メモリ制御装置」という発明が
開示されている。この発明は、電気通信システムの共有
メモリにおけるメモリアクセス制御に関し、共有メモリ
システム中にセマフォア(値を持つ部分とプロセスを待
ち行列につなぐポインタ部を有する構造体)を供給する
方法と回路に関するものである。
【0007】特開平9−293055号公報に、「疎結
合多重計算機システムにおける共有ファイルの排他制御
システム、排他制御方法、および排他制御プログラムを
記録する媒体」という発明が開示されている。この発明
は、疎結合多重計算機システムを構成する各ホストが効
率よく、かつ正確に共有ファイルを共有使用することに
関するものである。
【0008】特開平10−228458号公報に、「構
成可能なハードウェア・システム・ドメインを有するマ
ルチプロセッサ・コンピュータ」という発明が開示され
ている。この発明は、電子コンピュータに関し、多数の
プロセッサを可変集合即ちドメイン群に動的に分離可能
とし、処理上の独立性を得ると共に、ハードウェアのエ
ラーにも拘わらず動作しつづけることを可能とするもの
である。
【0009】
【発明が解決しようとする課題】従来、複数ノードから
構成されるクラスタシステムにおける、共有メモリを使
用したノード間通信方法では、次のような問題点があっ
た。
【0010】共有メモリ内において、読み出しエリア、
書き込みエリアの区別がなく、各共有メモリエリアに対
するアクセス権の管理が行われていなかった。そのた
め、誤ったデータのアクセスを行う可能性があり、デー
タ破壊および不正データの参照を招く恐れがあった。
【0011】本発明の課題は、複数ノードから構成され
るクラスタシステムとノード間通信方法とその方法を記
録した記録媒体に関し、通信に使用する共有メモリエリ
アのアクセス権を管理することである。
【0012】特開平9−160893号公報に開示され
ている発明は、コンピュータシステムを2次元トーラス
方式で連結することによって、一定の情報交換量を確保
しながらコンピュータシステムの個数を増加させるもの
であり、ノード間通信方法に関するものとは異なる。
【0013】特開平5−110586号公報に開示され
ている発明は、ATM通信方式に関するものであり、ノ
ード間通信方法に関するものとは異なる。
【0014】特開平6−103155号公報に開示され
ている発明は、共有メモリシステム中にセマフォアを供
給する方法に関するものであり、ノード間通信方法に関
するものとは異なる。
【0015】特開平9−293055号公報に開示され
ている発明は、疎結合多重計算機システムを構成する各
ホストが効率よく、かつ正確に共有ファイルを共有使用
することに関するものであり、ノード間通信方法に関す
るものとは異なる。
【0016】特開平10−228458号公報に開示さ
れている発明は、多数のプロセッサを可変集合即ちドメ
イン群に動的に分離可能とし、処理上の独立性を得ると
共に、ハードウェアのエラーにも拘わらず動作しつづけ
ることを可能とするものであり、ノード間通信方法に関
するものとは異なる。
【0017】
【課題を解決するための手段】上記課題を解決するため
に、本発明によると、複数のノードと、ここで、各ノー
ドは、複数のノードのノード数と等しい分割領域が確保
されている共有メモリエリアと、ここで、各分割領域
は、個別に複数のノードの各々に対応しており、各分割
領域への読み出し/書き込みを管理する管理テーブルと
を具備し、複数のノードと接続されており、送信元ノー
ドによって、送信元ノードの管理テーブルを参照して得
られる、書き込み可能な分割領域に書き込まれた通信デ
ータを、送信先ノードの送信元ノードに対応する分割領
域に書き込むクロスバコントローラとからなるクラスタ
システムを提供する。
【0018】上記のクラスタシステムにおいて、クロス
バコントローラは、送信先ノードに、通信データの書き
込まれた分割領域のアドレスを通知する通知手段をさら
に有し、送信先ノードは、通知手段で通知された分割領
域のアドレスに基づいて送信先ノードの管理テーブルを
参照し、分割領域のアドレスが読み出し可能な領域であ
る場合に、通信データを読み出す読み出し手段を有する
ことが可能である。
【0019】また、上記のクラスタシステムにおいて、
各分割領域は、同じ記憶容量からなることが可能であ
る。
【0020】さらに、上記のクラスタシステムにおい
て、複数のノード全てが有する、所定のノードに対応す
る分割領域のアドレスが等しいことが可能である。
【0021】他に、上記課題を解決するために、本発明
によると、個別にメモリ領域を有する複数のノードと、
複数のノード間を接続するクロスバコントローラから構
成されるクラスタシステムにおいて、各ノードのメモリ
領域に、クロスバコントローラによって格納されている
データの読み書きが制御される共有メモリエリアを確保
するメモリエリア確保ステップと、各ノードが、自ノー
ドの共有メモリエリアを複数のノードのノード数と等し
い分割領域を確保する分割領域確保ステップと、ここ
で、各分割領域は、個別に複数のノードの各々に対応し
ており、各ノードは、対応する共有メモリエリアの、分
割ステップで分割された各分割領域に対して、自ノード
による読み出し/書き込みの許可/不許可を設定する設
定ステップと、設定ステップで設定された、書き込みを
許可されている送信元ノードの分割領域に書き込まれた
通信データを、送信先ノードの送信元ノードに対応する
分割領域に書き込む通信ステップとからなるノード間通
信方法を提供する。
【0022】上記のノード間通信方法において、送信先
ノードに、通信データの書き込まれた分割領域のアドレ
スを通知する通知ステップと、通知ステップで通知され
た分割領域のアドレスが、設定ステップで設定された読
み出し可能な領域に含まれる場合に、通信データを読み
出す読み出しステップをさらに有することが可能であ
る。
【0023】また、上記のノード間通信方法において、
メモリエリア確保ステップで確保された各ノードの共有
メモリエリアの容量が同じであることが可能である。
【0024】さらに、上記のノード間通信方法におい
て、分割領域確保ステップは、各ノードが、対応する共
有メモリエリアを複数のノードのノード数からなり、同
じ容量からなる分割領域を確保するステップからなるこ
とが可能である。
【0025】加えて、上記のノード間通信方法におい
て、分割領域確保ステップは、複数のノード全てが有す
る、所定のノードに対応する分割領域のアドレスが等し
く設定されるステップをさらに含むことが可能である。
【0026】また更に、上記のノード間通信方法におい
て、設定ステップは、各分割領域への読み出し/書き込
み可能なノードを個別に設定するステップをさらに具備
することが可能である。
【0027】他に、上記課題を解決するために、本発明
によると、個別にメモリ領域を有する複数のノードと、
複数のノード間を接続するクロスバコントローラから構
成されるクラスタシステムにおいて、各ノードのメモリ
領域に、クロスバコントローラによって格納されている
データの読み書きが制御される共有メモリエリアを確保
するメモリエリア確保ステップと、各ノードが、自ノー
ドの共有メモリエリアを複数のノードのノード数と等し
い分割領域を確保する分割領域確保ステップと、ここ
で、各分割領域は、個別に複数のノードの各々に対応し
ており、各ノードは、対応する共有メモリエリアの、分
割ステップで分割された各分割領域に対して、自ノード
による読み出し/書き込みの許可/不許可を設定する設
定ステップと、設定ステップで設定された、書き込みを
許可されている送信元ノードの分割領域に書き込まれた
通信データを、送信先ノードの送信元ノードに対応する
分割領域に書き込む通信ステップとからなる実行プログ
ラムを格納した記録媒体を提供する。
【0028】上記の記録媒体において、送信先ノード
に、通信データの書き込まれた分割領域のアドレスを通
知する通知ステップと、通知ステップで通知された分割
領域のアドレスが、設定ステップで設定された読み出し
可能な領域に含まれる場合に、通信データを読み出す読
み出しステップをさらに有することが可能である。
【0029】また、上記の記録媒体において、メモリエ
リア確保ステップは、各ノードの共有メモリエリアが同
じ容量に設定されるステップをさらに含むことが可能で
ある。
【0030】さらに、上記の記録媒体において、分割領
域確保ステップは、各ノードが、対応する共有メモリエ
リアを複数のノードのノード数からなり、同じ容量から
なる分割領域を確保するステップからなることが可能で
ある。
【0031】加えて、上記の記録媒体において、分割領
域確保ステップは、複数のノード全てが有する、所定の
ノードに対応する分割領域のアドレスが等しく設定され
るステップをさらに含むことが可能である。
【0032】また他に、上記の記録媒体において、設定
ステップは、各分割領域への読み出し/書き込み可能な
ノードを個別に設定するステップをさらに具備すること
が可能である。
【0033】
【発明の実施の形態】以下、図面を参照して、本発明に
おけるクラスタシステムを説明する。
【0034】図1は、本発明におけるクラスタシステム
10の構成を示す構成図である。
【0035】図1を参照すると、クラスタシステム10
は、複数のノード20,30,40,50と、各ノード
間でデータの授受を制御するためのクロスバコントロー
ラ60とからなる。各ノードは、セルカードを有し、ノ
ードを管理するOSを図示しない記憶領域に格納してい
る。また、各ノード毎が有するセルカード21,31,
41,51は、セルカード間でデータの授受を制御する
ためのクロスバコントローラ60と接続されている。ま
た、図示されていないが、クラスタシステム10と接続
可能なデバイスを有し、そのデバイスを介して記録媒体
に格納されたプログラムを取得して実行することが可能
である。
【0036】なお、図1に示されるクラスタシステム1
0は、ノード0(20)、ノード1(30)、ノード2
(40)、ノード3(50)という4つのノードから構
成されているが、これは1実施例であって、クラスタシ
ステム10はこの構成に限定されるものではない。
【0037】図2は、本発明におけるセルカード21の
構成を示す構成図である。
【0038】図2を参照すると、セルカード21は、メ
モリ70と、MPU(Micro Processing Unit)80
と、周辺処理装置を制御するためのI/Oコントローラ
90とから構成されている。また、他のセルカード3
1,41,51も図2に示される構成を有する。
【0039】また、MPU80によって、そのMPU8
0の含まれるセルカードが格納されたノードに格納され
ているOSが読み込まれ、対応するノードの管理が行わ
れる。
【0040】図3は、本発明におけるメモリ空間100
を示すメモリマップである。
【0041】図3を参照すると、メモリ70に対応する
メモリ空間100は、共有メモリエリア110とノード
固有メモリエリア120とからなり、ノード固有メモリ
エリア120は、共有メモリアクセス管理テーブル12
1を有している。
【0042】各ノード内の共有メモリエリア110は、
クラスタを構成する全ノードにおいて同じ容量を有し、
クラスタを構成するノード数分(本実施例の場合は4ノ
ード)のブロック111,112,113,114に等
分に分割されている。ここでは、図1に示される、4つ
のノードから構成されるクラスタシステム10に基づい
たメモリ空間100のメモリマップを示しているが、こ
れは1実施例であって、メモリ空間100のメモリマッ
プはこの構成に限定されるものではない。
【0043】あるノードの共有メモリエリアのブロック
に書き込まれたデータは、クロスバコントローラ60に
よって、クラスタシステム10内の他ノードへ転送さ
れ、他ノード内の共有メモリエリアのブロックに書き込
まれる。
【0044】図4は、ノード0(20)内共有メモリア
クセス管理テーブルの構成を示す図である。
【0045】図4を参照すると、ノード0(20)の共
有メモリアクセス管理テーブル121には、共有メモリ
エリア110内の各ブロックの先頭アドレスと最終アド
レスと、各ブロックに対するread可/不可と、wr
ite可/不可とを示すフラグがブロック数分登録され
ており、各ノードがノード間通信ドライバのアルゴリズ
ムに基づいて、共有メモリエリア内の各ブロックをアク
セスする際に用いられる。
【0046】各ノードが、共有メモリエリア110にデ
ータを書き込む、または、共有メモリエリア110から
データを読み出す時に、共有メモリアクセス管理テーブ
ル121を参照する。この時、アクセスする対象ブロッ
クが、read可(write可)であれば、共有メモ
リアクセス管理テーブル121のread可/不可(w
rite可/不可)を示すフラグは1である。また、ア
クセスする対象ブロックが、read不可(write
不可)であれば、共有メモリアクセス管理テーブル12
1のread可/不可(write可/不可)を示すフ
ラグは0である。
【0047】ここでは、ブロック0(111)に対応し
て、read可/不可を示すフラグが0、write可
/不可を示すフラグが1を示し、ブロック1(11
2)、ブロック2(113)、ブロック3(114)の
各々に対応して、read可/不可を示すフラグが1、
write可/不可を示すフラグが0を示している。こ
のことから、ノード0(20)は、自分の共有メモリエ
リア110を、ブロック0(111)に対して、ノード
0(20)から他ノードへの送信データの書き込み領域
に、ブロック1(112)、ブロック2(113)、ブ
ロック3(114)に対して、対応するノード1(3
0)、ノード2(40)ノード3(50)からの受信デ
ータ読み込み領域に設定している。
【0048】図5は、ノード1(30)内共有メモリア
クセス管理テーブルの構成を示す図である。
【0049】テーブル構成は図4で示されるノード0
(20)内共有メモリアクセス管理テーブルの構成と同
じである。
【0050】また、ここでは、ブロック1(112)に
対応して、read可/不可を示すフラグが0、wri
te可/不可を示すフラグが1を示し、ブロック0(1
11)、ブロック2(113)、ブロック3(114)
の各々に対応して、read可/不可を示すフラグが
1、write可/不可を示すフラグが0を示してい
る。このことから、ノード1(30)は、自分の共有メ
モリエリア110を、ブロック1(112)に対して、
ノード1(30)から他ノードへの送信データの書き込
み領域に、ブロック0(111)、ブロック2(11
3)、ブロック3(114)に対して、対応するノード
0(20)、ノード2(40)、ノード3(50)から
の受信データ読み込み領域に設定している。
【0051】同様に、他ノード内共有メモリアクセス管
理テーブルの構成も図4、図5で示される構成と同じで
ある。ブロック毎に他ノードへの送信データの書き込み
領域、または他ノードからの受信データ読み込み領域を
示すフラグが、read可/不可を示すフラグの値と、
write可/不可を示すフラグの値によって設定され
ている。
【0052】次に、図1、図2、図3、図4及び図5を
参照して、本発明における実施例の動作について詳細に
説明する。
【0053】まず、クラスタシステム10起動時、クラ
スタを構成する各ノードとして、各セルカード21,3
1,41,51のMPU80によって、対応するOS2
2,32,42,52がブートされる。
【0054】OSブート完了後、各MPU80はノード
間の通信を制御するアルゴリズムが記録されたノード間
通信ドライバを取得する(ロード)。
【0055】各MPU80は、ノード間通信ドライバに
記録されたアルゴリズムに基づいて、以下の動作を実行
する。まず、各MPU80が含まれるセルカード上の各
メモリ70領域から、共有メモリエリア110と、ノー
ド固有メモリエリア120を確保する。次に、対応する
ノードの共有メモリエリア110を、クラスタシステム
10を構成するノード数分のブロックに分割する。次
に、分割された共有メモリエリア110をメモリ空間1
00へマッピングする。最後に、ノード固有メモリエリ
ア120に、共有メモリエリア110を管理するための
共有メモリアクセス管理テーブル121を確保する。
【0056】ノード固有メモリエリア120内の共有メ
モリアクセス管理テーブル121には、各ブロックの先
頭アドレスと、最終アドレスと、該ブロックに対するア
クセス権が登録される。このアクセス権は、フラグを用
いて表現されており、具体的には、MPU80による、
該ブロックに格納されたデータの読み込みが可能(re
ad可能)、もしくは該ブロックに対してデータの書き
込みが可能(write可能)を示すフラグ値からな
る。
【0057】また、共有メモリエリア110内の各ブロ
ックのブロック番号は、クラスタシステム10を構成す
るノードのノード番号と対応している。図1に示される
クラスタシステム10と、図3に示されるメモリ空間の
メモリマップを参照して説明すると、ブロック0(11
1)がノード0(20)に、ブロック1(112)がノ
ード1(30)に、ブロック2(113)がノード3
(40)に、ブロック4(114)がノード4(50)
に対応している。
【0058】共有メモリエリア110を有しているノー
ドは、各ブロックに対応するノードからデータの受信が
可能である。該ブロックが対応するノードからのデータ
の読み込みが可能な場合、ブロックのread可/不可
を示すフラグに1を設定し、write可/不可を示す
フラグに0を設定する。
【0059】また、共有メモリエリア110を有してい
るノードは、各ブロックに対応するノードに対してデー
タの送信が可能である。自ノードに対応するブロックが
他ノードに対してデータ送信が可能な場合、ブロックの
read可/不可を示すフラグに0を設定し、writ
e可/不可を示すフラグに1を設定する。
【0060】また、各ブロックに対応するノードがノー
ドダウンしている場合、ブロックのread可/不可、
write可/不可を示すフラグともに0を設定する。
【0061】次に、ノード間の通信動作について以下に
示す。
【0062】初めに、送信元ノードは、送信元ノードの
共有メモリアクセス管理テーブル121を検索し、送信
元ノードの共有メモリエリア内の、write可/不可
を示すフラグが1を示す、データ送信が可能なブロック
を示す情報を取得する。次に、送信元ノードは、送信元
ノードの共有メモリエリアにアクセスし、そのデータ送
信が可能なブロックに対して通信データを書き込み、書
き込まれたその通信データの先頭アドレスを取得する。
この時、通信データがそのブロックの領域外に格納され
る場合は、送信動作の中止、または通信データをそのブ
ロックの領域内に格納されるサイズに分割して送信動作
を繰り返す等の処理を行う。
【0063】次に、送信元ノードは、クロスバコントロ
ーラ60に対して、送信先ノードと、通信データの先頭
アドレスと、その通信データ長を通知して、通信データ
の送信先ノードへの転送要求を行う。
【0064】次に、クロスバコントローラ60は、送信
元ノードからの転送要求を受けて、送信元ノードからの
通知に基づいて、送信先ノードの共有メモリエリアに、
通信データを転送する。また、クロスバコントローラ6
0は、転送された通信データの、送信先ノードの共有メ
モリエリアでの先頭アドレスと通信データ長を、送信先
ノードに通知して、送信先ノードへ受信要求(read
要求)を行う。
【0065】次に、送信先ノードは、クロスバコントロ
ーラ60からの受信要求を受けて、クロスバコントロー
ラ60からの通知に基づいて、通信データの格納されて
いる送信先ノードの共有メモリエリアでの先頭アドレス
と通信データ長を取得する。
【0066】次に、送信先ノードは、取得したその共有
メモリエリアでの先頭アドレスと通信データ長に基づい
て、送信先ノードの共有メモリアクセス管理テーブルを
検索する。その検索結果、通信データの格納されている
ブロックが、共有メモリアクセス管理テーブルのrea
d可/不可を示すフラグが1を示す、データ読み込み可
能なブロックである場合、送信先ノードは送信先ノード
の共有メモリエリアとアクセスし、そのデータ読み込み
可能なブロックからその通信データを取得する。また、
その検索結果、通信データの格納されているブロック
が、共有メモリアクセス管理テーブルのread可/不
可を示すフラグが0を示す場合と、クロスバコントロー
ラ60から通知された通信データが、共有メモリアクセ
ス管理テーブルで管理されているブロック内に存在しな
い場合は、送信先ノードは共有メモリエリアとのアクセ
スを行わない。
【0067】ここで、図4と図5を参照して、ノード0
(20)からノード1(30)に対して通信データの送
信動作を以下に示す。
【0068】まず、ノード0(20)は、ノード0(2
0)の共有メモリアクセス管理テーブル121を検索
し、write可/不可を示すフラグが1を示す、デー
タ送信が可能なブロックを示す情報を取得する。
【0069】ここでは、ノード0(20)のメモリ空間
100におけるブロック0(111)の領域が、そのデ
ータ送信可能なブロックにあたる。
【0070】次に、ノード0(20)は、そのブロック
0(111)の領域に通信データを書き込む。この時、
通信データの書き込み先頭アドレスを取得する。
【0071】ここで、図4に示される共有メモリアクセ
ス管理テーブル121を参照すると、ブロック0(11
1)の領域は、先頭アドレスが0x5000、最終アド
レスが0x5FFFである。通信データの通信データ長
が&H100、通信データの書き込み先頭アドレスが0
x5100とすると、通信データはブロック0(11
1)内の領域に格納される。ここで、&Hは以下に示さ
れる数字の進法が16進法であることを示す。
【0072】次に、ノード0(20)は、クロスバコン
トローラ60に対して、送信先ノードを示すノード1
(30)と、通信データの書き込み先頭アドレスを示す
0x5100と、その通信データ長を示す&H100を
通知して、通信データのノード1(30)への転送要求
を行う。
【0073】次に、クロスバコントローラ60は、通信
データをノード0(20)からノード1(30)に転送
する。ここで、クロスバコントローラ60は、ノード0
(20)から通信データを取得し、ノード1(30)の
共有メモリエリア内の、書き込み先頭アドレスが0x5
100、通信データ長が&H100である領域に、通信
データを書き込む。転送後、クロスバコントローラ60
は、ノード1(30)に書き込み先頭アドレスを示す0
x5100と、通信データ長を示す&H100を通知す
る。
【0074】次に、ノード1(30)は、クロスバコン
トローラ60から、書き込み先頭アドレスを示す0x5
100と、通信データ長を示す&H100を示す情報を
取得する。その情報に基づいて、ノード1(30)の共
有メモリアクセス管理テーブルを検索する。
【0075】図5を参照すると、ノード1(30)の共
有メモリアクセス管理テーブルにおいて、書き込み先頭
アドレスの0x5100を先頭として、通信データ長の
&H100を加えた書き込み最終アドレス0x5200
までの領域は、ブロック0の領域に含まれる。
【0076】その結果、通信データがノード1(30)
の共有メモリエリア内のブロック0の領域に格納されて
おり、また、そのブロック0の領域は、共有メモリアク
セス管理テーブルのread可/不可を示すフラグが1
を示す、データ読み込み可能なブロックである。
【0077】次に、ノード1(30)は、ノード1(3
0)の共有メモリエリアとアクセスを行い、書き込み先
頭アドレスを示す0x5100から、通信データ長を示
す&H100の長さの通信データを取得する。
【0078】上記の一連の動作によって、ノード0(2
0)からノード1(30)へのデータ送信を行う。
【0079】ここで、図4と図5を参照すると、ノード
0(20)とノード1(30)の共有メモリエリアは、
同一アドレス領域に確保され、各ブロックは、ブロック
番号毎に同一アドレス領域を有する。この場合、クロス
バコントローラ60による通信データ転送時に、送信元
のアドレスと送信先のアドレスが等しく、送信元のアド
レスを取得すると、以後の通信動作において、その送信
元のアドレスを送信先アドレスとしても適応することが
可能である。
【0080】このように、全てのノードにおいて、各ノ
ードの共有メモリエリアは、同一アドレス領域に確保さ
れ、各ブロックは、ブロック番号毎に同一アドレス領域
を有する構成が望ましい。
【0081】本発明によると、共有メモリエリアへ通信
データのwrite/readを行なうことによって、
ノード間の通信を行なう機能を有する、複数ノードから
構成されるクラスタシステムにおいて、write/r
eadを行なう共有メモリエリアを、write専用エ
リアとread専用エリアとに区別し、各エリアに対す
るアクセス管理を、ドライバのアルゴリズムに基づいて
各ノードが有するMPUがおこなう。このため、共有メ
モリエリアへのメモリアクセス時に、ノード間の通信デ
ータに対する不正アクセスによるデータ破壊、および不
正データ参照を防ぐことが可能となる。また、ノード間
通信ドライバのアルゴリズムに基づいて制御を行うため
に、制御方法の変更がノード間通信ドライバの更新によ
って行えるために容易である。
【0082】
【発明の効果】本発明の効果は、メモリアクセス時にノ
ード間の通信データに対する不正アクセスによるデータ
破壊、および不正データ参照を防ぐことが可能となる。
【図面の簡単な説明】
【図1】本発明におけるクラスタシステムの構成を示す
構成図である。
【図2】本発明におけるセルカードの構成を示す構成図
である。
【図3】本発明におけるメモリ空間を示すメモリマップ
である。
【図4】ノード0内共有メモリアクセス管理テーブルの
構成を示す図である。
【図5】ノード1内共有メモリアクセス管理テーブルの
構成を示す図である。
【符号の説明】
10 クラスタシステム 20,30,40,50 ノード 21,31,41,51 セルカード 22,32,42,52 OS 60 クロスバコントローラ 70 メモリ 80 MPU 90 I/Oコントローラ 100 メモリ空間 110 共有メモリエリア 111,112,113,114 共有メモリブロック 120 ノード固有メモリエリア 121 共有メモリアクセス管理テーブル

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードと、 各ノードは、 前記複数のノードのノード数と等しい分割領域が確保さ
    れている共有メモリエリアと、ここで、前記各分割領域
    は、個別に前記複数のノードの各々に対応しており、 前記各分割領域への読み出し/書き込みを管理する管理
    テーブルとを具備し、 前記複数のノードと接続されており、送信元ノードによ
    って、前記送信元ノードの前記管理テーブルを参照して
    得られる、書き込み可能な分割領域に書き込まれた通信
    データを、前記送信先ノードの前記送信元ノードに対応
    する分割領域に書き込むクロスバコントローラと、 からなるクラスタシステム。
  2. 【請求項2】 前記クロスバコントローラは、 前記送信先ノードに、前記通信データの書き込まれた分
    割領域のアドレスを通知する通知手段をさらに有し、 前記送信先ノードは、 前記通知手段で通知された前記分割領域のアドレスに基
    づいて前記送信先ノードの前記管理テーブルを参照し、
    前記分割領域のアドレスが読み出し可能な領域である場
    合に、前記通信データを読み出す読み出し手段を有す
    る、 請求項1に記載のクラスタシステム。
  3. 【請求項3】 前記各分割領域は、同じ記憶容量からな
    る、 請求項1または2に記載のクラスタシステム。
  4. 【請求項4】 前記複数のノード全てが有する、所定の
    ノードに対応する分割領域のアドレスが等しい、 請求項1から3のいずれかに記載のクラスタシステム。
  5. 【請求項5】 個別にメモリ領域を有する複数のノード
    と、前記複数のノード間を接続するクロスバコントロー
    ラから構成されるクラスタシステムにおいて、 各ノードのメモリ領域に、クロスバコントローラによっ
    て格納されているデータの読み書きが制御される共有メ
    モリエリアを確保するメモリエリア確保ステップと、 前記各ノードが、自ノードの前記共有メモリエリアを前
    記複数のノードのノード数と等しい分割領域を確保する
    分割領域確保ステップと、ここで、前記各分割領域は、
    個別に前記複数のノードの各々に対応しており、 前記各ノードは、対応する前記共有メモリエリアの、前
    記分割ステップで分割された前記各分割領域に対して、
    自ノードによる読み出し/書き込みの許可/不許可を設
    定する設定ステップと、 前記設定ステップで設定された、書き込みを許可されて
    いる送信元ノードの分割領域に書き込まれた通信データ
    を、送信先ノードの前記送信元ノードに対応する分割領
    域に書き込む通信ステップと、 からなるノード間通信方法。
  6. 【請求項6】 前記送信先ノードに、前記通信データの
    書き込まれた分割領域のアドレスを通知する通知ステッ
    プと、 前記通知ステップで通知された前記分割領域のアドレス
    が、前記設定ステップで設定された読み出し可能な領域
    に含まれる場合に、前記通信データを読み出す読み出し
    ステップをさらに有する、 請求項5に記載のノード間通信方法。
  7. 【請求項7】 前記メモリエリア確保ステップで確保さ
    れた前記各ノードの共有メモリエリアの容量が同じであ
    る、 請求項5または6に記載のノード間通信方法。
  8. 【請求項8】 前記分割領域確保ステップは、 前記各ノードが、対応する前記共有メモリエリアを前記
    複数のノードのノード数からなり、同じ容量からなる分
    割領域を確保するステップからなる、 請求項5から7のいずれかに記載のノード間通信方法。
  9. 【請求項9】 前記分割領域確保ステップは、 前記複数のノード全てが有する、所定のノードに対応す
    る分割領域のアドレスが等しく設定されるステップをさ
    らに含む請求項5から8のいずれかに記載のノード間通
    信方法。
  10. 【請求項10】 前記設定ステップは、 前記各分割領域への読み出し/書き込み可能な前記ノー
    ドを個別に設定するステップをさらに具備する、 請求項5から9のいずれかに記載のノード間通信方法。
  11. 【請求項11】 個別にメモリ領域を有する複数のノー
    ドと、前記複数のノード間を接続するクロスバコントロ
    ーラから構成されるクラスタシステムにおいて、 各ノードのメモリ領域に、クロスバコントローラによっ
    て格納されているデータの読み書きが制御される共有メ
    モリエリアを確保するメモリエリア確保ステップと、 前記各ノードが、自ノードの前記共有メモリエリアを前
    記複数のノードのノード数と等しい分割領域を確保する
    分割領域確保ステップと、ここで、前記各分割領域は、
    個別に前記複数のノードの各々に対応しており、 前記各ノードは、対応する前記共有メモリエリアの、前
    記分割ステップで分割された前記各分割領域に対して、
    自ノードによる読み出し/書き込みの許可/不許可を設
    定する設定ステップと、 前記設定ステップで設定された、書き込みを許可されて
    いる送信元ノードの分割領域に書き込まれた通信データ
    を、送信先ノードの前記送信元ノードに対応する分割領
    域に書き込む通信ステップと、 からなる実行プログラムを格納した記録媒体。
  12. 【請求項12】 前記送信先ノードに、前記通信データ
    の書き込まれた分割領域のアドレスを通知する通知ステ
    ップと、 前記通知ステップで通知された前記分割領域のアドレス
    が、前記設定ステップで設定された読み出し可能な領域
    に含まれる場合に、前記通信データを読み出す読み出し
    ステップをさらに有する、 からなる実行プログラムを格納した請求項11に記載の
    記録媒体。
  13. 【請求項13】 前記メモリエリア確保ステップは、 前記各ノードの共有メモリエリアが同じ容量に設定され
    るステップをさらに含む、 実行プログラムを格納した請求項11または12に記載
    の記録媒体。
  14. 【請求項14】 前記分割領域確保ステップは、 前記各ノードが、対応する前記共有メモリエリアを前記
    複数のノードのノード数からなり、同じ容量からなる分
    割領域を確保するステップからなる、 実行プログラムを格納した請求項11から13のいずれ
    かに記載の記録媒体。
  15. 【請求項15】 前記分割領域確保ステップは、 前記複数のノード全てが有する、所定のノードに対応す
    る分割領域のアドレスが等しく設定されるステップをさ
    らに含む実行プログラムを格納した請求項11から14
    のいずれかに記載の記録媒体。
  16. 【請求項16】 前記設定ステップは、 前記各分割領域への読み出し/書き込み可能な前記ノー
    ドを個別に設定するステップをさらに具備する、 実行プログラムを格納した請求項11から15のいずれ
    かに記載の記録媒体。
JP11061853A 1999-03-09 1999-03-09 クラスタシステムとノード間通信方法とその方法を記録した記録媒体 Pending JP2000259584A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11061853A JP2000259584A (ja) 1999-03-09 1999-03-09 クラスタシステムとノード間通信方法とその方法を記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11061853A JP2000259584A (ja) 1999-03-09 1999-03-09 クラスタシステムとノード間通信方法とその方法を記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000259584A true JP2000259584A (ja) 2000-09-22

Family

ID=13183084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11061853A Pending JP2000259584A (ja) 1999-03-09 1999-03-09 クラスタシステムとノード間通信方法とその方法を記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000259584A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435939A (zh) * 2019-01-14 2020-07-21 百度在线网络技术(北京)有限公司 用于划分节点的存储空间的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435939A (zh) * 2019-01-14 2020-07-21 百度在线网络技术(北京)有限公司 用于划分节点的存储空间的方法和装置

Similar Documents

Publication Publication Date Title
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
EP0458516B1 (en) Memory access bus arrangement
JP2868141B2 (ja) ディスクアレイ装置
US5574862A (en) Multiprocessing system with distributed input/output management
KR100457146B1 (ko) 비정형 메모리 액세스 데이터 프로세싱 시스템을 위한 인터럽트 아키텍쳐
JP3962026B2 (ja) 拡張されたインテリジェントプラットフォーム管理のためのアプリケーションプログラミングインタフェースシステムおよび方法
CN100410912C (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
JP5546635B2 (ja) データ転送装置およびその制御方法
JP2005122640A (ja) サーバシステム及びi/oスロット共有方法。
JPH04246745A (ja) 情報処理装置及びその方法
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
US6212587B1 (en) Device proxy agent for hiding computing devices on a computer bus
JPWO2010097925A1 (ja) 情報処理装置
US20040139267A1 (en) Accessing a primary bus messaging unit from a secondary bus through a pci bridge
US8327081B2 (en) Information processing device and method for controlling the same
TWI245222B (en) Accessing configuration registers by automatically changing an index
US20060277326A1 (en) Data transfer system and method
JP2000259584A (ja) クラスタシステムとノード間通信方法とその方法を記録した記録媒体
US5408612A (en) Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register
JPH0697449B2 (ja) 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
JPH11126173A (ja) メモリアクセス制御装置およびその記憶媒体
JP4983133B2 (ja) 入出力制御装置およびその制御方法、並びにプログラム
JP3525771B2 (ja) バス・スヌープ制御回路
JP2746189B2 (ja) ファイルアクセス制御システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030730