JP3991886B2 - 計算機システム及び計算機並びにプログラム - Google Patents
計算機システム及び計算機並びにプログラム Download PDFInfo
- Publication number
- JP3991886B2 JP3991886B2 JP2003048593A JP2003048593A JP3991886B2 JP 3991886 B2 JP3991886 B2 JP 3991886B2 JP 2003048593 A JP2003048593 A JP 2003048593A JP 2003048593 A JP2003048593 A JP 2003048593A JP 3991886 B2 JP3991886 B2 JP 3991886B2
- Authority
- JP
- Japan
- Prior art keywords
- control data
- computer
- exchange
- transfer
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は複数の計算機を交換機経由で接続した計算機システムに関し、特に計算機間のデータ転送の方法に関する。
【0002】
【従来の技術】
複数の計算機を使って処理を分散的に行う分散型の計算機システムにおいて、計算機どうしを通信可能にする方法として、計算機と計算機の間に一時記憶手段を設け、この一時記憶手段を介して通信する方法がある(例えば特許文献1参照)。しかし、この方法は計算機の数が増えると必要な一時記憶手段の数が増大するため、計算機の数が多い場合には、クロスバ交換機などの交換機を通じて計算機を相互に接続する構成が一般に採用されている。
【0003】
複数の計算機を交換機経由で相互に接続した計算機システムでは、計算機間でやりとりされる全ての種類のデータが交換機を流れるため、交換機の処理能力によって計算機システム全体の処理能力が左右される。計算機間で授受されるデータは、或る計算機から別の計算機に対して何らかの指示を伝達する制御データと、制御データ以外のデータとに大別される。本明細書では、制御データ以外のデータを転送データと呼んで、制御データと区別する。一般に制御データは転送データよりもサイズが小さく、且つ転送の緊急性が高い。
【0004】
複数の計算機を1台の交換機で相互に接続した計算機システムでは、制御データと転送データが同じ交換機を流れるため、サイズの大きな転送データによって制御データの転送が妨げられるという問題が発生する。この問題は交換機を多重化しても解消されず、全ての交換機がサイズの大きな転送データでうめつくされる状況が発生する。このような問題の解決を狙った従来技術の一例が特許文献2に記載されている。特許文献2に記載される従来技術では、制御データ(同文献では制御メッセージ)および転送データ(同文献ではデータメッセージ)の何れについても使用可能な複数の双方向通信リンクにより複数のノードを相互に接続し、各ノードに、制御データと転送データとをそれぞれ独立に扱うラインを設けて、制御データおよび転送データがノード内の別々のパスに沿って処理されるようにし、かつ、制御データまたは転送データを、若し両者が競合した場合には制御データを優先して、複数の双方向通信リンクの何れか1つへディスパッチする入出力交換器を設けるようにしている。
【0005】
また、特許文献2では、制御データを以下のように扱う。まず、ノードの出力ポートにはそれぞれ異なる優先度の制御データを格納するための複数のキューがあり、優先度の高いキュー内の制御データから順に他のノードへ制御データが送られる。受信側のノードでは、送信時におけるような優先度別のキューはなく、受信した順番に制御データを解釈し、実行する。例えば制御データが、メモリに記憶されたデータを読み出して、それを要求しているノードに転送することを示している場合、当該指定されたデータ転送を実行する。
【0006】
【特許文献1】
特開平5−334219号公報
【特許文献2】
特開平8−320839号公報
【0007】
【発明が解決しようとする課題】
前述したように、複数の計算機を1台ないし複数台の交換機で相互に接続した計算機システムでは、サイズの大きな転送データによって制御データの転送が妨げられるという問題が発生する。特許文献2記載の従来技術を用いれば、この問題点を或る程度解消することができるが、全ての双方向通信リンクが長い転送データの伝送で処理能力を使い果たしている状況が発生し得るため、完全には解決することはできない。
【0008】
また、制御データの扱いに関し、特許文献2では、制御データを送信する側での送出順優先制御は可能であるが、制御データを受信する側では到着順に処理されるため、受信した複数の制御データのうち特定の計算機から受信した制御データを優先的に処理するといった柔軟な運用が行えないという課題がある。特許文献2における送出順優先制御と同様の考えを受信側に適用し、それぞれ異なる優先度の制御データを格納するキューを受信側に設け、優先度の高いキュー内の制御データから順に処理することも考えられるが、異なる計算機の制御データどうしが同じ高優先度になる場合があり得るため、特定の計算機の制御データだけを優先的に処理するのは難しい。
【0009】
本発明の目的は、複数の計算機を交換機で相互に接続した計算機システムにおいて、サイズの大きな転送データによって制御データの転送が妨げられないようにすることにある。
【0010】
本発明の別の目的は、制御データを受信した計算機側において、特定の計算機から受信した制御データを優先的に処理することができるようにすることにある。
【0011】
【課題を解決するための手段】
本発明の計算機システムは、複数の計算機が、終了フラグと計算機番号とメッセージとを含む制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機によって、相互に接続されている計算機システムであって、各々の前記計算機は、自計算機の記憶領域上における他計算機と同一のアドレス箇所に、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックにスタックされている制御データの数を管理するスタックカウントと、前記命令スタックのライトポインタと、前記命令スタックから優先的に取り出す制御データに含まれる計算機番号とを保持し、且つ、前記記憶領域に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、制御データ中のメッセージに含まれる命令によってデータの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行した後、前記制御データ中の終了フラグをセットする受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに終了フラグをリセットした状態の制御データを書き込み、その後に前記制御データ用交換機を通じて前記書き込んだ制御データ中の終了フラグがセットされるのを監視する送信側処理手段とを備える。
【0012】
本発明の計算機は、終了フラグと計算機番号とメッセージとを含む制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続された計算機であって、
自計算機の記憶領域上における他計算機と同一のアドレス箇所に、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックにスタックされている制御データの数を管理するスタックカウントと、前記命令スタックのライトポインタと、前記命令スタックから優先的に取り出す制御データに含まれる計算機番号とを保持し、且つ、前記記憶領域に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、制御データ中のメッセージに含まれる命令によってデータの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行した後、前記制御データ中の終了フラグをセットする受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに終了フラグをリセットした状態の制御データを書き込み、その後に前記制御データ用交換機を通じて前記書き込んだ制御データ中の終了フラグがセットされるのを監視する送信側処理手段とを備える。
【0013】
【作用】
本発明にあっては、複数の計算機間のデータの授受は、制御データに関しては制御データ用交換機を通じて行われ、制御データ以外のデータである転送データについては転送データ用交換機を通じて行われることにより、転送データによって制御データの転送が妨げられることはなくなる。
【0014】
また、各々の計算機は、他の計算機から制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、この命令スタックから優先的に取り出す制御データに含まれる計算機番号を記憶する優先計算機番号等を記憶する記憶領域を備え、送信側処理手段によって、制御データ用交換機を通じて他の計算機の命令スタックにデータ転送や優先計算機番号の更新を指示する命令などを含む制御データを書き込み、他方、受信側処理手段によって、優先計算機番号を含む制御データから優先的に、自計算機の命令スタックに記憶された制御データを取り出して解釈し、データの転送が指示されている場合には転送データ用交換機を通じて転送データの転送を実行し、計算機番号の更新が指示されている場合には指示された通りに優先計算機番号記憶手段を更新することにより、特定の計算機から受信した制御データを優先的に処理することができる。
【0015】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0016】
図1を参照すると、本発明の実施の形態にかかる計算機システム13は、N台の計算機131〜13Nを含んで構成され、それぞれの計算機131〜13Nは、制御データ用交換機11および転送データ用交換機12によって、相互に接続されている。
【0017】
制御データ用交換機11は、複数の計算機131〜13N間で制御データを授受するために使用する交換機であり、例えばクロスバ交換機が使用される。それぞれの計算機131〜13Nは、制御データ用交換機11を通じて、他の計算機上の記憶領域をアクセスして、制御データの書き込みと読み出し、記憶領域上の値の排他的加算や減算を行う。1つの制御データのサイズは1ワードである。このように制御データのサイズが小さいので、全ての計算機131〜13Nが一斉に同時にアクセスしても、制御データ用交換機11の交換機処理能力を超えることがないようになっている。
【0018】
転送データ用交換機12は、複数の計算機131〜13N間で転送データを授受するために使用する交換機であり、例えばクロスバ交換機が使用される。それぞれの計算機131〜13Nは、転送データ用交換機12を通じて、他の計算機上の記憶領域をアクセスして、転送データの書き込みや読み出しを行う。制御データと異なり、転送データの書き込みと読み出しは、ワードを超える単位で連続して行うことが可能である。
【0019】
図2を参照すると、それぞれの計算機131〜13Nは、全て同じ構成を有しており、主記憶等の記憶領域201と、CPU等の処理装置202と、記憶領域201、処理装置202、制御データ用交換機11および転送データ用交換機12に接続されたバス203とを含んで構成される。
【0020】
記憶領域201には、制御データ管理部211と転送データ記憶部212が設けられている。転送データ記憶部212は、自計算機から他の計算機に転送する転送データや、他の計算機から転送されてきた転送データを記憶する領域である。転送データとしては、アプリケーションプログラムで使用されるデータ以外に、他計算機の生存確認のために使用されるデータがある。他計算機の生存確認は、次のように行われる。まず、他の計算機が正常に機能しているか否かを調べたい計算機は、自計算機の記憶領域の所定のアドレスに所定のデータを転送する命令を含む制御データを制御データ用交換機11経由で他の計算機に送り、制御データの終了フラグが所定時間以内にセットされるかどうかを監視する。所定時間以内にセットされれば生存、そうでなければ何らかの異常が発生したと判断する。他方、他の計算機はその制御データを解釈実行して転送データ用交換機12経由でデータの転送を行い、制御データ中の終了フラグをセットする。このような生存確認を一定周期で実施するには、制御データを一定周期で送出する必要がある。
【0021】
制御データ管理部211は、他の計算機から転送される制御データを保持、管理する領域であり、命令スタック221、WP(Write Pointer)222、スタックカウント223および優先計算機番号224を有する。制御データ管理部211に設けられるこれら全ての要素は、計算機システム13を構成する全ての計算機131〜13Nの記憶領域201上に同一開始アドレスで固定的に確保されており、それらのアドレス情報を計算機131〜13N間でやりとりする必要はない。
【0022】
命令スタック221は、制御データをスタックしていくための領域で、WP222と併用することによりリングバッファ領域を実現する。具体的には、命令スタック221に制御データをスタックする毎にWP222を1加算していき、その結果、命令スタック221にスタック可能な個数を超えた場合、WP222は命令スタック221の先頭を指すと解釈する。
【0023】
命令スタック221にスタックされる制御データは、図3で示される情報により構成される。計算機番号32は、この制御データを送出した計算機の番号であり、制御データを送出した計算機側で設定される。メッセージ33は、制御データの種類に応じた命令が、制御データを送出した計算機側で設定される。終了フラグ31は、メッセージ33で指定した命令の実行が完了したかどうかを示すフラグである。制御データを送出する計算機は終了フラグ31をリセットした状態で送出し、終了フラグ31がセットされるのを監視する。他方、制御データで指定された命令を実行する計算機は、その命令の実行完了時に終了フラグ31の反転処理、つまりセット処理を行う。
【0024】
WP222は、制御データを送出した計算機によって、命令スタック221に制御データがスタックされる毎に1加算される。
【0025】
スタックカウント223は、制御データを送出した計算機によって、命令スタック221に制御データがスタックされる毎に1加算され、制御データで指定された命令を実行した計算機によって1減算されることで、命令スタック221にスタックされている制御データの個数を示す。
【0026】
優先計算機番号224は、命令スタック221から優先的に取り出す制御データに含まれる計算機番号を示す。この優先計算機番号224は、命令スタック221にスタックされた命令によって更新される。なお、計算機システム13において存在しない計算機番号の値が設定されている場合は、優先すべき計算機は存在しないものと判断される。
【0027】
処理装置202は、送信側処理部231および受信側処理部232を備えている。送信側処理部231は、処理装置202上で動作するプロセスであり、制御データ用交換機11を通じて他の計算機の命令スタック221に制御データを書き込むなどの処理を司る。図4に送信側処理部231が他の計算機の命令スタック221に1つの制御データを書き込み、その制御データが他の計算機で実行されるのを監視する際の処理例を示す。
【0028】
送信側処理部231は、まず、制御データを転送する先の計算機上のスタックカウント223に対して、制御データ用交換機11経由で排他的1加算操作を行う(図4のステップ41)。その結果を参照して、命令スタック221に制御データをスタック可能かどうかを判断する(図4のステップ42)。
【0029】
既に命令スタック221を埋め尽くす制御データがスタックされているときは、スタックカウント223に対して、制御データ用交換機11経由で排他的1減算を行い(図4のステップ44)、適切な時間を待ち合わせるためのアイドル処理(図4のステップ43)を行った後に、再試行する。
【0030】
命令スタック221にスタック可能な場合は、WP222に対して制御データ用交換機11経由で排他的1加算を行い(図4のステップ45)、その結果を用いて使用すべき命令スタック221上の領域を決定する。
【0031】
確保したスタックに制御データ用交換機11経由で、リセット状態の終了フラグ31、自計算機の計算機番号32およびメッセージ33から構成される制御データを書き込み(図4のステップ46)、その制御データが処理されるために費やされるであろう一定時間を待ち合わせるためのアイドル処理を行う(図4のステップ47)。制御データ中のメッセージ33には、データ転送命令やその他の命令が含まれる。その他の命令としては、優先計算機番号224に自計算機の番号を設定する命令や、計算機システム13に存在しない計算機の番号に設定する命令などがある。
【0032】
送信側処理部231は、その後、制御データ用交換機11経由で終了フラグ31を読み取り(図4のステップ48)、その結果を用いて制御データが受信側の計算機で処理されたかどうかを調べる(図4のステップ49)。終了フラグ31が反転されていない場合は、再度アイドル処理からやり直す。終了フラグ31が反転されている場合は、処理を終了する。
【0033】
再び図2を参照すると、受信側処理部232は、処理装置202上で動作する常駐のシステムプロセスであり、自計算機の命令スタック221に記憶された制御データを取り出して解釈し、実行する機能を有する。受信側処理部232は、命令スタック221からの制御データの取り出しに際しては、優先計算機番号224を参照し、命令スタック221に記憶された制御データのうち、優先計算機番号224と同じ計算機番号32を持つ制御データを優先的に取り出す。また、取り出した制御データのメッセージ33において、データの転送が指示されている場合、受信側処理部232は、転送データ用交換機12を通じて転送データの転送を実行する。さらに、取り出した制御データのメッセージ33において、優先計算機番号の更新が指示されている場合、受信側処理部232は、指示された通りに優先計算機番号224を更新する。受信側処理部232の処理例を図5に示す。
【0034】
受信側処理部232は、まず、自計算機のスタックカウント223を読み取り(図5のステップ501)、未処理の制御データが命令スタック221に存在するかどうかを調べる(図5のステップ502)。スタックカウント223の値が0なら、未処理の制御データは存在しないため、命令スタック221に制御データがスタックされるのを待ち合わせるためのアイドル処理を行う(図5のステップ503)。その後、スタックカウント223の読み取りから再試行する。
【0035】
未処理の制御データが存在する場合、WP222を参照して(図5のステップ504)命令スタック221の現在位置を把握する。次に、既に取得済みのスタックカウント223の値を用いて、未処理の制御データが複数個存在するかどうかを判断する(図5のステップ505)。
【0036】
1個しか存在しない場合は、スタック先頭の制御データを処理するために読み取る(図5のステップ509)。複数個存在する場合は、優先計算機番号224を読み取り(図5のステップ506)、優先すべき制御データが存在するかどうかを調べる(図5のステップ507)。
【0037】
優先計算機番号224に計算機システム13において存在しない計算機番号の値が設定されている場合は優先すべき計算機は存在しないと判断し、既に読み取ったWP222と既に読み取ったスタックカウント223を用いて命令スタック221における未処理の先頭制御データを判断し読み取る(図5のステップ509)。
【0038】
優先計算機番号224に計算機システム13において存在する計算機番号の値が設定されている場合は、既に読み取ったWP222と既に読み取ったスタックカウント223を用いて、命令スタック221にスタックされている未処理の制御データのうち、計算機番号32に優先計算機番号224と同じ計算機番号が設定されている制御データを探す(図5のステップ507)。該当する制御データが存在しない場合は、優先すべき計算機が存在しない場合と同様の処理を行う(図5のステップ509)。該当する制御データが存在する場合はその制御データを読み取る(図5のステップ508)。
【0039】
次に、処理すべき制御データは決定されたので、スタックカウント223に対して排他的1減算を行う(図5のステップ510)。そして、制御データにおけるメッセージ33に含まれる命令を解釈し、実行する。命令がデータ転送命令の場合、転送データ用交換機12を用いてデータ転送を行い、その命令を含む制御データが格納されていた命令スタック221の領域上の終了フラグ31をセットする(図5のステップ511)。また、命令が優先計算機番号の更新命令の場合、優先計算機番号224を更新命令で指定された通りに更新し、その命令を含む制御データが格納されていた命令スタック221の領域上の終了フラグ31をセットする(図5のステップ511)。
【0040】
受信側処理部232は、命令スタック221中の未処理の制御データの処理を終えると、ステップ503に戻り、上述した処理を継続する。
【0041】
図6は計算機システム13を構成する或る一つの計算機内の命令スタック221と優先計算機番号224の遷移を示す。この命令スタック221を有する計算機を以下、計算機Dと呼び、他の計算機としてA、B、Cの3台の計算機を想定する。図6(a)の時点では、計算機Dの命令スタック221には、計算機Bからの制御データB1、B2、計算機Cからの制御データC1、C2がその到着順に格納されており、優先計算機番号224には計算機システム13に存在しない計算機の番号Xが設定されている。これらの制御データB1、B2、C1、C2は全てデータ転送命令を含む制御データである。計算機Dでは、優先すべき計算機が存在しないので、命令スタック221の制御データをその到着順に処理していく。
【0042】
図6(b)は、計算機Bの制御データB1が処理され、更に新たな制御データA1、C3が命令スタック221に格納された状態を示す。ここで、制御データA1は、計算機Aが送出した制御データで、計算機Dの優先計算機番号224を自計算機Aに変更する命令を含んでいる。制御データC3はデータ転送命令を含む制御データである。
【0043】
図6(c)は、制御データB2、C1、C2が順に処理され、またデータ転送命令を含む新たな制御データB3、A2、C4が命令スタック221に格納された状態を示す。この状態では、制御データA1がスタック先頭に位置するため、次にこの制御データA1が処理されることになる。
【0044】
図6(d)は、制御データA1が処理された直後の状態を示し、制御データA1に含まれる優先計算機番号の更新命令によって優先計算機番号224が計算機Aの番号に更新されている。また、命令スタック221にデータ転送命令を含む新たな制御データA3が格納されている。このように優先計算機番号224が計算機Aの番号に設定されると、命令スタック221中の制御データのうち計算機Aからの制御データが優先的に処理されていく。
【0045】
図6(e)は、計算機Aの制御データA2が計算機Cの制御データC3、計算機Bの制御データB3を追越して先に処理され、また計算機Aの制御データA3が計算機Cの制御データC3、C4、計算機Bの制御データB3を追越して先に処理された状態を示す。また、新たに計算機Bからデータ転送命令を含む制御データB4が命令スタック221に格納された状態を示す。A2、A3が処理されて優先計算機番号224に設定された計算機Aの番号を持つ制御データが命令スタック221に存在しない状態になると、優先計算機番号がない場合と同様の処理が行われる。従って、図6(f)に示すように、再び到着順に処理が行われる。
【0046】
このように優先計算機番号を更新する命令を含む制御データによって計算機Dの優先計算機番号224を計算機Aの番号に設定すると、それ以降、計算機Aからの制御データが他の計算機B、Cの制御データよりも優先的に処理することができる。従って、計算機Aは、他の計算機B、Cよりも優先的かつ連続して計算機Dに処理させたいデータ転送要求が近い将来発生する場合、優先計算機番号224を計算機Aの番号に設定する制御データA1を前もって計算機Dに出しておけば良い。
【0047】
また、優先計算機番号224に計算機Aの番号を設定する制御データA1が到着する以前に命令スタック221に格納されていた他の計算機B、Cの制御データB2、C1、C2には影響を与えず、通常通りに到着順に処理させることができる。その理由は、制御データA1が実行されることによって初めて優先計算機番号224が計算機Aの番号に設定され、それ以降、計算機Aからの制御データが優先されるからである。
【0048】
なお、本発明においては、他の計算機上の優先計算機番号224を変更する制御データを送出できる計算機を或る特定の1台の計算機に制限するようにしても良いし、そのような制限を課さないようにしても良い。
【0049】
このように本実施の形態によれば、交換機を制御データ用と転送データ用とに別々に用意したため、制御データの転送は転送データの転送による影響を受けずに実施することができる。また、計算機上に優先計算機番号があり、それをもとに処理する制御データが決定されるため、特定の計算機からの制御データを優先的に処理することができる。さらに、スタッキングカウントの上限を調整すれば、同時に発行される制御データを抑制でき、交換機負荷を容易に抑制できる。また、命令のスタッキング方式を用いるため、転送毎の終了を待ち合わせる必要がなく、スタッキング領域を縮小/拡大することにより、交換機の処理能力に適応させることが可能であり、交換機のリプレースにも柔軟に対応できる。
【0050】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明の各計算機が備える送信側処理部231および受信側処理部232は、その有する機能をハードウェア的に実現することも可能であり、またコンピュータとプログラムとで実現することもできる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態における送信側処理部231および受信側処理部232として機能させる。
【0051】
【発明の効果】
以上説明したように本発明によれば、複数の計算機を交換機で相互に接続した計算機システムにおいて、サイズの大きな転送データによって制御データの転送が妨げられない。その理由は、交換機が制御データ用と転送データ用とに別々に用意されており、制御データの転送は転送データの転送による影響を受けずに実施できるからである。
【0052】
また、各計算機において、特定の計算機から受信した制御データを優先的に処理させることができる。その理由は、計算機上に唯一の優先計算機番号があり、それをもとに処理する制御データが決定されるためである。
【0053】
さらに、優先計算機番号に或る計算機の番号を設定する制御データが到着する前に命令スタックに既に格納されていた他の計算機の制御データには影響を与えず、通常通りに到着順に処理させることができる。その理由は、優先計算機番号が未設定の状態では優先計算機番号に或る計算機の番号を設定する制御データは通常通り到着順に処理され、この制御データが実行されることによって初めて優先計算機番号が或る計算機の番号に設定されて、それ以降に当該或る計算機からの制御データが優先的に処理されるからである。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかる計算機システムの全体構成を示すブロック図である。
【図2】本発明の計算機の内部構成例を示すブロック図である。
【図3】制御データの構成例を示す図である。
【図4】送信側処理部の処理例を示すフローチャートである。
【図5】受信側処理部の処理例を示すフローチャートである。
【図6】本発明の計算機システムを構成する或る一つの計算機内の命令スタックと優先計算機番号の遷移を示す図である。
【符号の説明】
11…制御データ用交換機
12…転送データ用交換機
13…計算機システム
131〜13N…計算機
31…終了フラグ
32…計算機番号
33…メッセージ
201…記憶領域
202…処理装置
203…バス
211…制御データ管理部
212…転送データ記憶部
221…命令スタック
222…WP
223…スタックカウント
224…優先計算機番号
231…送信側処理部
232…受信側処理部
Claims (6)
- 複数の計算機が、終了フラグと計算機番号とメッセージとを含む制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機によって、相互に接続されている計算機システムであって、
各々の前記計算機は、自計算機の記憶領域上における他計算機と同一のアドレス箇所に、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックにスタックされている制御データの数を管理するスタックカウントと、前記命令スタックのライトポインタと、前記命令スタックから優先的に取り出す制御データに含まれる計算機番号とを保持し、且つ、前記記憶領域に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、制御データ中のメッセージに含まれる命令によってデータの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行した後、前記制御データ中の終了フラグをセットする受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに終了フラグをリセットした状態の制御データを書き込み、その後に前記制御データ用交換機を通じて前記書き込んだ制御データ中の終了フラグがセットされるのを監視する送信側処理手段とを備える計算機システム。 - 前記受信側処理手段は、制御データ中のメッセージに含まれる命令によって計算機番号の更新が指示されている場合には指示された通りに前記記憶領域上の優先計算機番号を更新する請求項1記載の計算機システム。
- 終了フラグと計算機番号とメッセージとを含む制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続された計算機であって、
自計算機の記憶領域上における他計算機と同一のアドレス箇所に、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックにスタックされている制御データの数を管理するスタックカウントと、前記命令スタックのライトポインタと、前記命令スタックから優先的に取り出す制御データに含まれる計算機番号とを保持し、且つ、前記記憶領域に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、制御データ中のメッセージに含まれる命令によってデータの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行した後、前記制御データ中の終了フラグをセットする受信側処理手段と、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに終了フラグをリセットした状態の制御データを書き込み、その後に前記制御データ用交換機を通じて前記書き込んだ制御データ中の終了フラグがセットされるのを監視する送信側処理手段とを備える計算機。 - 前記受信側処理手段は、制御データ中のメッセージに含まれる命令によって計算機番号の更新が指示されている場合には指示された通りに前記記憶領域上の優先計算機番号を更新する請求項3記載の計算機。
- 終了フラグと計算機番号とメッセージとを含む制御データを授受するために使用する制御データ用交換機および前記制御データ以外のデータである転送データを授受するために使用する転送データ用交換機を通じて他の計算機に接続された計算機であって、自計算機の記憶領域上における他計算機と同一のアドレス箇所に、他の前記計算機から前記制御データ用交換機を通じて受信した制御データを記憶する命令スタックと、該命令スタックにスタックされている制御データの数を管理するスタックカウントと、前記命令スタックのライトポインタと、前記命令スタックから優先的に取り出す制御データに含まれる計算機番号とを保持する計算機を、
前記記憶領域に記憶された計算機番号を含む制御データから優先的に、自計算機の前記命令スタックに記憶された制御データを取り出して解釈し、制御データ中のメッセージに 含まれる命令によってデータの転送が指示されている場合には前記転送データ用交換機を通じて転送データの転送を実行した後、前記制御データ中の終了フラグをセットする受信側処理手段、前記制御データ用交換機を通じて他の前記計算機の前記命令スタックに終了フラグをリセットした状態の制御データを書き込み、その後に前記制御データ用交換機を通じて前記書き込んだ制御データ中の終了フラグがセットされるのを監視する送信側処理手段、として機能させるプログラム。 - 前記受信側処理手段は、制御データ中のメッセージに含まれる命令によって計算機番号の更新が指示されている場合には指示された通りに前記記憶領域上の優先計算機番号を更新する請求項5記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003048593A JP3991886B2 (ja) | 2003-02-26 | 2003-02-26 | 計算機システム及び計算機並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003048593A JP3991886B2 (ja) | 2003-02-26 | 2003-02-26 | 計算機システム及び計算機並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004258953A JP2004258953A (ja) | 2004-09-16 |
JP3991886B2 true JP3991886B2 (ja) | 2007-10-17 |
Family
ID=33114513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003048593A Expired - Fee Related JP3991886B2 (ja) | 2003-02-26 | 2003-02-26 | 計算機システム及び計算機並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3991886B2 (ja) |
-
2003
- 2003-02-26 JP JP2003048593A patent/JP3991886B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004258953A (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7633856B2 (en) | Multi-node system, internodal crossbar switch, node and medium embodying program | |
JP2010514063A (ja) | シリアルアドバンストテクノロジーアタッチメント(sata)およびシリアルアタッチトスモールコンピュータシステムインターフェース(scsi)(sas)のブリッジング | |
JPH114256A (ja) | 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法 | |
US6691178B1 (en) | Fencepost descriptor caching mechanism and method therefor | |
JP2004302713A (ja) | 記憶システム及びその制御方法 | |
JP4992296B2 (ja) | 転送処理装置 | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
CN107453845B (zh) | 应答确认方法及设备 | |
JP2006059260A (ja) | 情報処理システム、管理計算機及びリモートコピー方法 | |
JP3991886B2 (ja) | 計算機システム及び計算機並びにプログラム | |
JPH117434A (ja) | 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム | |
JP5516411B2 (ja) | 情報処理システム | |
JP2020144410A (ja) | メモリコントローラ | |
JP6146306B2 (ja) | I/oデバイス制御システムおよびi/oデバイス制御システムの制御方法 | |
JP4218034B2 (ja) | データ通信システムおよびデータ通信方法、データ通信プログラム | |
JPH04288638A (ja) | コンピュータシステム | |
JP6502879B2 (ja) | 記憶装置 | |
JP5772132B2 (ja) | データ転送装置、データ転送方法および情報処理装置 | |
JP2009258937A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP7368051B2 (ja) | Usbデバイス、および、usbデバイスにおける制御方法 | |
US20170295237A1 (en) | Parallel processing apparatus and communication control method | |
KR20010095103A (ko) | 데이터 블록 전송 방법 및 장치 | |
JP3644158B2 (ja) | 並列計算機におけるデータ送受信方法 | |
JP3044653B2 (ja) | ゲートウェイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070716 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120803 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130803 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |