JP4696025B2 - 計算処理システムおよびデータ更新方法 - Google Patents

計算処理システムおよびデータ更新方法 Download PDF

Info

Publication number
JP4696025B2
JP4696025B2 JP2006145924A JP2006145924A JP4696025B2 JP 4696025 B2 JP4696025 B2 JP 4696025B2 JP 2006145924 A JP2006145924 A JP 2006145924A JP 2006145924 A JP2006145924 A JP 2006145924A JP 4696025 B2 JP4696025 B2 JP 4696025B2
Authority
JP
Japan
Prior art keywords
node computer
data
computer
packet
update
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
Application number
JP2006145924A
Other languages
English (en)
Other versions
JP2007316956A (ja
Inventor
信貴 今村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006145924A priority Critical patent/JP4696025B2/ja
Priority to US11/790,662 priority patent/US7877574B2/en
Publication of JP2007316956A publication Critical patent/JP2007316956A/ja
Application granted granted Critical
Publication of JP4696025B2 publication Critical patent/JP4696025B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

本発明は、複数の下位ノード計算機に分散して配置されているデータを受信した該複数の下位ノード計算機に接続される上位ノード計算機において該データに依存するデータを保持する並列計算機における計算機の計算処理システムおよびデータ更新方法に関し、特に、多段構成の多分岐木構造をとる並列計算機において、各ノード計算機に配置されるデータがより下位のノード計算機に配置されるデータに依存している場合に、共有データの変更の情報を上位のノード計算機までオーバーヘッドを極力抑えつつ伝達することができる計算処理システムおよびデータ更新方法に関する。
従来から、複数の計算機を接続して通信を行わせることにより、計算機間でノード間通信によりデータの授受を行い、該データを共有することが行われてきた。特に、複数の計算機が接続されて、あたかも一つの計算機として協働する並列計算機においては、該共有データの一貫性の保持が重要である。
しかしながら、並列計算機における通信を介して共有データの一貫性の保持には、頻繁に行われる通信と該通信に伴うコンテキストスイッチによるプロセッサのオーバーヘッドが大きく、これが一貫性保持を困難にさせていた。
そこで、例えば、特許文献1には、共有データ管理部を備え、共有メモリに存在する共有データに変更を加える計算機は、該共有データ管理部に対して共有データの変更を通知し、該通知に基づき共有データ管理部は共有データの変更を管理する並列計算機が開示されている。この並列計算機によれば、共有データに変更を加えた計算機以外のその他の計算機は、共有データ管理部で管理される共有データの変更を参照することによって、並列計算機内で共有データの一貫性を保つことができる。また、このような仕組みを利用することによって、並列計算機内でのオーバーヘッドを抑えて、共有データの一貫性を維持することができる。
特開平7−152640号公報
しかしながら、上記特許文献1に代表される従来技術では、共有メモリにデータを共有する場合とは異なり、並列計算機内で多段に亘るデータの依存関係が存在する場合に、上位ノードの計算機において、下位ノード計算機からの入力データに変更があったか否かを検知することは不可能である。
具体的には、共有メモリによるデータ共有は、並列計算機のノード構成トポロジが1段構成の多分岐木構造であるがゆえに、下位ノード計算機による共有データの変更の情報は、直ちに全ての他の計算機に伝達されることとなる。しかし、多段構成の多分岐木構造をとる並列計算機において、各ノード計算機に配置されるデータがより下位のノード計算機に配置されるデータに依存している場合には、共有データの変更の情報を最上位のノード計算機まで伝達させることは、通信に係るオーバーヘッドの制約上、困難を伴うというのが現状である。
本発明は、上記問題点(課題)を解消するためになされたものであって、多段構成の多分岐木構造をとる並列計算機において、各ノード計算機に配置されるデータがより下位のノード計算機に配置されるデータに依存している場合に、共有データの変更の情報を上位のノード計算機までオーバーヘッドを極力抑えつつ伝達することができる計算処理システムおよびデータ更新方法を提供することを目的とする。
上述した問題を解決し、目的を達成するため、本発明は、複数の下位ノード計算機に分散して配置されているデータを受信した該複数の下位ノード計算機に接続される上位ノード計算機において該データに依存するデータを保持する並列計算機における計算機の通信インターフェース装置であって、連鎖する不可分命令を記憶する連鎖不可分命令記憶手段と、当該計算機に配置されている前記データの変更を検知するデータ変更検知手段と、前記データ変更検知手段により前記データの変更が検知されると、前記連鎖不可分命令記憶手段を参照して該変更されたデータに関連付けられる不可分命令を指定する連鎖不可分命令指定手段と、前記連鎖不可分命令指定手段により指定された不可分命令を実行する不可分命令実行手段とを備えたことを特徴とする。
また、本発明は、上記発明において、前記不可分命令実行手段により実行された前記不可分命令に基づいて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする。
また、本発明は、上記発明において、前記下位ノード計算機から受信した前記データの変更の通知に基づいて該データに依存するデータの無効化を記憶するデータ無効化記憶手段をさらに備えたことを特徴とする。
また、本発明は、上記発明において、前記連鎖不可分命令記憶手段を参照して前記変更が通知されたデータに関連付けられる不可分命令を指定する変更受信時連鎖不可分命令指定手段と、前記変更受信時連鎖不可分命令指定手段により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行手段とをさらに備えたことを特徴とする。
また、本発明は、上記発明において、前記下位ノード計算機に対して、当該上位ノード計算機が有するデータが依存する該下位ノード計算機に配置されるデータに変更があったか否かを照い合わせるデータ変更照会手段をさらに備えたことを特徴とする。
また、本発明は、上記発明において、前記連鎖不可分命令記憶手段を参照して前記上位ノード計算機からの前記データの変更の問い合わせに関連付けられる不可分命令を指定する照会受信時連鎖不可分命令指定手段と、前記照会受信時連鎖不可分命令指定手段により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行手段とをさらに備えたことを特徴とする。
また、本発明は、上記発明において、前記上位ノード計算機からの前記データの変更の問い合わせに応じて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする。
また、本発明は、複数の下位ノード計算機に分散して配置されているデータを受信した該複数の下位ノード計算機に接続される上位ノード計算機において該データに依存するデータを保持する並列計算機における計算機の通信方法であって、連鎖する不可分命令を記憶する連鎖不可分命令記憶工程と、当該計算機に配置されている前記データの変更を検知するデータ変更検知工程と、前記データ変更検知工程により前記データの変更が検知されると、前記連鎖不可分命令記憶工程を参照して該変更されたデータに関連付けられる不可分命令を指定する連鎖不可分命令指定工程と、前記連鎖不可分命令指定工程により指定された不可分命令を実行する不可分命令実行工程とを含んだことを特徴とする。
また、本発明は、上記発明において、前記不可分命令実行工程により実行された前記不可分命令に基づいて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする。
また、本発明は、上記発明において、前記下位ノード計算機から受信した前記データの変更の通知に基づいて該データに依存するデータの無効化を記憶するデータ無効化記憶工程をさらに含んだことを特徴とする。
本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の検知及び該検知に応じた連鎖不可分命令の実行を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の検知及び該検知に応じた上位ノード計算機への該更新の通知を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の通知及び上位ノード計算機における該更新の記憶による認識を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の通知に応じた連鎖する不可分命令のさらなる実行を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の有無の問い合わせを通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の有無の問い合わせに応じた連鎖する不可分命令のさらなる実行を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
また、本発明によれば、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、上位ノード計算機から下位ノード計算機へのデータの更新の有無の問い合わせに応じて、下位ノード計算機は、上位ノード計算機に対して該データの更新の通知を通信インターフェース装置の機能で実現でき、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止することができるという効果を奏する。
以下に添付図面を参照して、本発明の計算処理システムおよびデータ更新方法に係る実施例を詳細に説明する。以下に示す実施例では、本発明を、並列アプリケーションを実行する、複数のコンピュータが接続された並列計算機の各ノードコンピュータに分散して配置される、上位ノードコンピュータから下位ノードコンピュータへの依存関係がある依存データの整合性に関する処理に適用した例を示すこととする。なお、本発明における並列計算機は、クラスタ計算機、グリッドコンピューティング計算機などを広く含む。また、以下の実施例は、並列計算機における計算機間のインターフェース規格であるInfiniBandやMyrinet(登録商標)に代表される、遠隔の計算機からのメモリへの直接アクセス技術であるRDMA(Remote Direct Memory Access)を前提とするものである。
以下に示す実施例1では、並列計算機の各ノード計算機に分散して配置される、多段に亘る木構造の依存関係を持つデータのうち、下位ノード計算機に配置されるデータが更新されたことに応じて、該下位ノード計算機に配置されるデータに依存する上位のノード計算機に配置されるデータを再計算するために、該下位ノード計算機に配置されるデータの更新を上位ノード計算機へ伝達する依存データ整合処理について説明する。
まず、従来の並列コンピュータ間の依存データ整合処理における問題点について説明する。図1は、従来の並列コンピュータ間の依存データ整合処理における問題点を示す図である。同図に示すように、最上位のノードコンピュータに配置されるデータは、木構造状の依存関係で隣接した下位に配置される中継のノードコンピュータに配置されるデータに依存しており、さらに、中継のノードコンピュータに配置されるデータは、木構造状の依存関係で隣接した下位に配置される下位のノードコンピュータに配置されるデータに依存している。即ち、上位ノードコンピュータに配置されるデータは、複数の下位のノードコンピュータに配置されるデータに依存したデータである。
この場合に、先ず、(1)最も下位にある下位ノードコンピュータの一つにおいてデータの更新があったとする。この最も下位にある下位ノードコンピュータの隣接する上位の中継ノードコンピュータに配置されるデータは、下位ノードコンピュータに配置されるデータに依存している。よって、(2)下位ノードコンピュータの一つにおいて更新によりデータが無効となったことが、ノード間通信を使用して、該下位ノードコンピュータから隣接する上位の中継ノードコンピュータへと伝達される。中継ノードコンピュータでは、下位ノードコンピュータで更新されたデータに基づいて、保持するデータの再計算を行い、データの更新を行うこととなる。
さらに、この中継ノードコンピュータの隣接する上位の最も上位の上位ノードコンピュータに配置されるデータは、該中継ノードコンピュータに配置されるデータに依存している。このため、中継ノードコンピュータで更新によりデータが無効となったことを、ノード間通信を使用して、該中継ノードコンピュータから隣接する上位の上位ノードコンピュータへと伝達される。(3)この様にして、最も上位に位置する最上位ノードコンピュータは、前述の(1)のデータ更新がなされ該データが無効となったことを、高コストで検知することとなる。
ここで、前述の“高コスト”とは、次を意味する。並列計算機において分散して配置される、上位ノードコンピュータから下位ノードコンピュータへの依存するデータの無効化は、ノード間通信を使用して伝達される。ノード間通信は、パケットの送受信毎にプロセッサの割り込みが発生し、パケット受信の待機処理によりプロセッサのコンテキストスイッチの乱れが生じるなど、各ノードコンピュータ間の通信速度の低下を招くこととなる。
並列計算機の各ノードコンピュータ間でノード間通信を使用して通信を行うと、特に、多段構成を取る木構造のトポロジを持つデータ依存関係がある場合に、最下位のノードコンピュータから途中に何段もの中継ノードコンピュータを経由して最上位のノードコンピュータへ、ノード間通信を使用して更新によるデータの無効化を伝達したときに発生するオーバーヘッドによって各ノードコンピュータ間の通信速度の低下を招くこととなり、延いては、並列計算機の性能向上の阻害要因となりかねない。これが、前述の“高コスト”の意味するところである。
本発明は、かかる問題点(課題)を解消するためになされたものであって、並列計算機の各ノード計算機に分散して配置される、多段に亘る木構造の依存関係を持つデータの更新によるデータの無効化を、各ノードコンピュータのプロセッサに割り込みやコンテキストスイッチの乱れを発生させることなく、効率よく伝達できるようにするためになされた。
次に、前述の課題を解消するためになされた実施例1に係る並列計算機間の依存データ整合処理の特徴について説明する。図2は、実施例1に係る並列計算機間の依存データ整合処理の特徴を示すである。同図に示す下位ノードコンピュータA100は、多段に亘る木構造のデータ依存関係を持つ最下位ノードコンピュータであり、中継ノードコンピュータB200は、中継ノードコンピュータであり、上位ノードコンピュータC300は、最上位ノードコンピュータである。
同図においても、図1と同様に、上位ノードコンピュータC300に配置されるデータは、木構造状の依存関係で隣接した下位に配置される中継ノードコンピュータB200に配置されるデータに依存しており、さらに、中継ノードコンピュータB200に配置されるデータは、木構造状の依存関係で隣接した下位に配置される下位の下位ノードコンピュータA100に配置されるデータに依存している。即ち、上位ノードコンピュータC300に配置されるデータは、下位のノードコンピュータである中継ノードコンピュータB200及び下位ノードコンピュータA100に配置されるデータに依存したデータである。
この場合に、先ず、(1)最も下位にある下位ノードコンピュータA100においてデータの更新があったとする。この下位ノードコンピュータA100の隣接する上位の中継ノードコンピュータB200に配置されるデータは、下位ノードコンピュータA100に配置されるデータに依存している。よって、(2)下位ノードコンピュータA100においてデータの更新があったことが、各ノードコンピュータが備える通信I/F部による連鎖通信によって、下位ノードコンピュータA100から隣接する上位の中継ノードコンピュータB200へと伝達される。中継ノードコンピュータB200では、下位ノードコンピュータA100で更新されたデータに基づいて、保持するデータの再計算を行い、データの更新を行うこととなる。
さらに、中継ノードコンピュータB200の隣接する上位の上位ノードコンピュータC300に配置されるデータは、中継ノードコンピュータB200に配置されるデータに依存している。このため、中継ノードコンピュータB200でデータの更新があり、該データが無効となったならば、該無効化が、各ノードコンピュータが備える通信I/F部による連鎖通信によって、中継ノードコンピュータB200から隣接する上位の上位ノードコンピュータC300へと伝達される。(3)この様にして、最も上位に位置する上位ノードコンピュータC300は、前述の(1)のデータ更新がなされ該データが無効となったことを、低コストで検知し、該更新をフラグで管理することとなる。
ここで、前述の“低コスト”とは、次を意味する。実施例1では、並列計算機において分散して配置される、上位ノードコンピュータから下位ノードコンピュータへの依存するデータの更新を、各ノードコンピュータが備える通信I/F部による連鎖通信によって伝達する。
並列計算機の各ノードコンピュータ間で各ノードコンピュータが備える通信I/F部による連鎖通信によって通信を行うと、多段構成を取る木構造のトポロジを持つデータ依存関係がある場合であっても、最下位のノードコンピュータから途中に何段もの中継ノードコンピュータを経由して最上位のノードコンピュータへ、更新によるデータ無効化を伝達する際に発生するオーバーヘッドを抑制することができる。
更新によるデータ無効化の伝達において、ノード間通信を使用したならば、パケットの送受信毎にプロセッサの割り込みが発生し、パケット受信の待機処理によりプロセッサのコンテキストスイッチの乱れが生じるなど、各ノードコンピュータ間の通信速度の低下を招くこととなるが、実施例1ではノード間通信を使用しないために、かかる問題が発生することがなくなり、よって、各ノードコンピュータ間の通信速度の低下を招くことなく、並列計算機の性能低下を防止し、最大限の性能を発揮させることができる。これが、前述の“低コスト”の意味するところである。
次に、図2に示した並列計算機の下位ノードコンピュータA100の構成について説明する。図3は、図2に示した並列計算機の下位ノードコンピュータA100の構成を示す機能ブロック図である。図2に示した下位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、下位ノードコンピュータA100に代表させて、実施例1の下位ノードコンピュータの機能ブロックについて説明する。下位ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。同図に示すように、下位ノードコンピュータA100は、該下位ノードコンピュータA100全体の制御を司り、処理演算を実行するプロセッサ101と、記憶部102と、ネットワークインターフェースカードである通信I/F部103とを有する。
記憶部102は、メモリなどのデータを記憶する記憶領域であるデータ記憶部102aと、連鎖するSWRを記憶する連鎖SWR記憶部102bとをさらに有する。ここで、SWR(Send Work Request)とは、外部へパケットを送信する指示である。SWRに基づいて、外部にパケットが送信されることとなる。連鎖SWRとは、順序付けて関連付けられたSWRの集合であり、連鎖SWRが出力されたならば、該順序付けに従って、関連付けられた全てのSWRが出力される。出力されたそれぞれのSWRに応じたパケットが、外部へ送信されることとなる。
なお、実施例1で送受信されるパケットは、対応するAtomic Operationの実行対象となるデータを含むと共に、連鎖SWR記憶部102bに記憶される連鎖して実行されるべきSWRの格納アドレスを示すポインタ情報も含む。データ記憶部102aには、SWRに対応するAtomic Operationの実行対象となるデータと共に、連鎖SWR記憶部102bに記憶される連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報が記憶される。
通信I/F部103は、データ更新検知部103aと、連鎖実行部103bとをさらに有する。データ更新検知部103aは、データ記憶部102aに記憶される更新検知対象のデータの更新を検知する。
連鎖実行部103bは、データ更新検知部103aからデータ更新の検知の通知を受けたならば、先ず、データ記憶部102aから連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報を読み出して、該ポインタで指し示されるアドレスに格納される第1のSWRを読み出して対応するAtomic Operationを実行する。次に、連鎖SWR記憶部102bに記憶される第1のSWRに付随して格納されている、次に連鎖して実行されるべき第2のSWRの格納アドレスを示すポインタから第2のSWRを読み出して対応するAtomic Operationを実行する。次に実行されるべきSWRの格納アドレスを示すポインタ情報が格納されている限り、この連鎖を繰り返す。これにより、1つのパケットを外部から受信したならば、通信I/F部103の機能により、連鎖する複数のSWRが順次読み出され、対応するAtomic Operationが実行され、対応するパケットが送信されることとなる。
この様にして、データ記憶部102aに記憶される更新検知対象のデータの更新に応じて、下位ノードコンピュータA100から中継ノードコンピュータB200へパケットが送信される。
次に、ノードコンピュータの記憶部の記憶内容について説明する。図4は、図2に示した各ノードコンピュータ(下位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300)の記憶部の記憶内容を示す図である。ここで、下位ノードコンピュータA100に代表させて、記憶部102の記憶内容について説明することとする。
同図に示すように、記憶部102では、アドレス1には、連鎖するSWRの先頭の格納領域のポインタが記憶されている。このポインタが示す情報は、具体的には、後述のアドレスX1である。アドレス2には、SWRに係るデータが記憶されている。このアドレス1及びアドレス2でアドレスが示される記憶領域がデータ記憶部102aである。
また、アドレスX1には、データ格納領域のポインタ(具体的にはアドレス2)、連鎖するSWRであるSWR1及び次の連鎖するSWRの格納領域のポインタ(具体的にはアドレスX2)が記憶されている。同様に、アドレスX2には、データ格納領域のポインタ(具体的にはアドレス2)が、連鎖するSWRであるSWR2及び次の連鎖するSWRの格納領域のポインタが記憶されている。このように、全ての連鎖するSWRが、次に読み出され対応するAtomic Operationが実行されるSWRの格納領域を示すポインタを伴って記憶されている。なお、このアドレスX1、アドレスX2、・・・、でアドレスが示される記憶領域が連鎖SWR記憶部102bである。
データ更新検知部103aは、操作が指定されるメモリ領域のアドレスを実アドレスで指定する。また、連鎖実行部103bは、他のノードコンピュータへのパケット送信指示に基づいて、対応するパケットを該他のノードコンピュータへ送信する。
次に、図2に示した並列計算機の中継ノードコンピュータB200の構成について説明する。図5は、図2に示した並列計算機の中継ノードコンピュータB200の構成を示す機能ブロック図である。同2に示した上位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、中継ノードコンピュータB200に代表させて、実施例1の中継ノードコンピュータの機能ブロックについて説明する。中継ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。
同図に示すように、中継ノードコンピュータB200は、該中継ノードコンピュータB200全体の制御を司り、処理演算を実行するプロセッサ201と、記憶部202と、ネットワークインターフェースカードである通信I/F部203とを有する。
記憶部202は、メモリなどのデータを記憶する記憶領域であるデータ記憶部202aと、連鎖するSWRを記憶する連鎖SWR記憶部202bとをさらに有する。データ記憶部202a及び連鎖SWR記憶部202bの機能は、データ記憶部102a及び連鎖SWR記憶部102bと同様である。
通信I/F部103は、パケット受信時実行部203aと、連鎖実行部203bとをさらに有する。パケット受信時実行部203aは、パケットを受信すると、該パケットに対応するメモリ操作をデータ記憶部202aにおいて行うと共に、連鎖実行部203bに対して連鎖するAtomic Operationの実行を指示する。
連鎖実行部203bは、パケット受信時実行部203aから連鎖するAtomic Operationの実行の指示を受けたならば、先ず、データ記憶部202aから連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報を読み出して、該ポインタで指し示されるアドレスに格納される第1のSWRを読み出して対応するAtomic Operationを実行する。次に、連鎖SWR記憶部202bに記憶される第1のSWRに付随して格納されている、次に連鎖して実行されるべき第2のSWRの格納アドレスを示すポインタから第2のSWRを読み出して対応するAtomic Operationを実行する。次に実行されるべきSWRの格納アドレスを示すポインタ情報が格納されている限り、この連鎖を繰り返す。これにより、1つのパケットを外部から受信したならば、通信I/F部203の機能により、連鎖する複数のSWRが順次読み出され、対応するAtomic Operationが実行されることとなる。
具体的には、下位ノードコンピュータA100からのパケット受信に応じて、連鎖するSWRが出力され、各SWRに応じたパケットが上位ノードコンピュータC300などの外部へ送信される。
なお、パケット受信時実行部203aは、他のノードコンピュータからパケットを受信するのみならず、自ノードコンピュータからのパケットも受信可能である。これは、パケット受信時実行部203aが、自ノードコンピュータに対してもパケットの送信が可能であることに基づく。
また、受信パケットにより操作が指定されるメモリ領域のアドレスは仮想アドレスであるので、実施例1の通信I/F部203は、該仮想アドレスを実アドレスへ変換する変換機能を包含している。パケット受信時実行部203aは、連鎖実行部203bに対してデータの受信に係る連鎖処理を実行させる指示を出力する。また、連鎖実行部203bは、他のノードコンピュータへのパケット送信指示に基づいて、対応するパケットを該他のノードコンピュータへ送信する。
次に、図2に示した並列計算機の上位ノードコンピュータC300の構成について説明する。図6は、図2に示した並列計算機の上位ノードコンピュータC300の構成を示す機能ブロック図である。図2に示した上位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、上位ノードコンピュータC300に代表させて、実施例1の上位ノードコンピュータの機能ブロックについて説明する。上位ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。
同図に示すように、上位ノードコンピュータC300は、CPUなどのプロセッサ301と、メモリなどの記憶部302と、ネットワークインターフェースカードである通信I/F部103とを有する。記憶部302は、下位ノードコンピュータA100又は中継ノードコンピュータB200でデータ更新があったことをフラグで記憶するデータ更新フラグ記憶部302aと、受信パケットを含むデータの書き込み領域であるデータ記憶部302bとをさらに有する。通信I/F部303は、割り込み発生部303aと、パケット受信時実行部303bとをさらに有する。
割り込み発生部303aは、パケット受信時実行部303bからの割り込み処理発生指示に基づいて、プロセッサ301に対して割り込み又はイベントを発生さる。パケット受信時実行部303bは、他のノードコンピュータからパケットを受信すると、該パケットに応じたAtomic Operationを実行して、直接データ記憶部においてメモリ操作を行う。具体的には、データ更新フラグ記憶部302aのデータ更新フラグを“オン”にする。
なお、パケット受信時実行部303bは、他のノードコンピュータからパケットを受信するのみならず、自ノードコンピュータからのパケットも受信可能である。これは、パケット受信時実行部303bが、自ノードコンピュータに対してもパケットの送信が可能であることに基づく。
また、受信パケットにより操作が指定されるメモリ領域のアドレスは仮想アドレスであるので、実施例1の通信I/F部303は、該仮想アドレスを実アドレスへ変換する変換機能を包含している。パケット受信時実行部303bは、割り込み発生部303aに対してデータの受信に係る割り込み処理を発生させる指示を出力する。
このように、実施例1の下位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は、従来はプロセッサ101、プロセッサ201及びプロセッサ301で行っていた下位ノードコンピュータA100において依存関係があるデータの更新が行われた場合に、該更新を中継ノードコンピュータB200を中継して上位ノードコンピュータC300へ伝達する伝達処理を、通信I/F部103、通信I/F部203及び通信I/F部303のみの処理で行うようにしたので、パケット受信毎に発生する割り込み及び同期処理によるプロセッサのコンテキストスイッチの乱れを抑制することができる。即ち、実施例1によれば、伝達処理に係るパケット受信毎に発生する割り込みの発生を抑え、伝達処理をプロセッサにおけるソフトウェア制御から通信I/F部におけるハードウェア処理へ委譲したので、プロセッサのコンテキストスイッチの混乱を抑制し、以って並列計算機における計算機間の通信速度を向上させ、並列計算機の処理能力を向上させることができる。
実施例1によれば、並列計算機のノードコンピュータ間で依存関係にあるデータの整合性を連鎖させるデータキャッシュ機構を実現することが可能となる。即ち、複数のノードコンピュータ間でデータ依存関係があり、該データのキャッシュを互いに持ち、キャッシングされたデータの整合性を通信I/F部で自動的に認識することができる。
並列計算機における分散アプリケーションの特長に着目すると、入力が変化しないにもかかわらず、同一の再計算を繰り返す無駄があった。しかし、多段にわたるデータ依存関係がある場合に、入力データの更新がない限りは、同一の再計算を行う必要がないが、同一の再計算をキャンセルさせるために、データの最終出力側で入力データの更新があったか否かを認識することは容易ではなかったが、実施例1によれば、容易に該認識を行うことが可能となる。
なお、下位ノードコンピュータA100から最終的に上位ノードコンピュータC300へ入力データの更新が伝達されると、上位ノードコンピュータC300では、該入力データに依存するデータの使用を注視することとなるが、入力データの更新の伝達とともに、更新された新しいデータも伝達され、上位ノードコンピュータでデータの再計算を行うこととしてもよい。
次に、図2に示した並列計算機における並列計算期間の依存データ整合処理について説明する。図7及び8は、図2に示した並列計算機における並列計算期間の依存データ整合処理を示すシーケンス図である。同図に示すように、先ず、下位ノードコンピュータA100において、データ更新検知部103aによりデータ更新が検知される(ステップS101)。続いて、データ更新検知がデータ更新検知部103aから連鎖実行部103bへ通知される(ステップS102)。該通知を受信した連鎖実行部103bは、記憶部102からデータ更新通知連鎖SWRを読み出し(ステップS103)、対応するデータ更新通知連鎖パケットを中継ノードコンピュータB200へ送信する(ステップS104)。
次に、中継ノードコンピュータB200において、パケット受信時実行部203aは、前述のデータ更新通知連鎖パケットを受信したならば、連鎖実行部203bに対してデータ更新通知を出力する(ステップS105)。該通知を検知した連鎖実行部203bは、記憶部202からデータ更新通知連鎖SWRを読み出し(ステップS106)、対応するデータ更新通知連鎖パケットを上位ノードコンピュータC300へ送信する(ステップS107)。
次に、上位ノードコンピュータC300において、パケット受信時実行部303bは、前述のデータ更新通知連鎖パケットを受信したならば、データ更新フラグ記憶部302aにデータ更新通知情報を出力して記憶させる(ステップS108)とともに、割込み発生部303aに対して割込み発生命令を出力する(ステップS109)。該命令を検知した割込み発生部303aは、プロセッサ301に割込みを発生させる(ステップS110)。割込みを発生させられたプロセッサ301は、データ更新に伴う各種処理を実行する(ステップS111)。
上記した実施例1においては、1台の受信側ノードコンピュータに対し1台の送信側ノードコンピュータがデータを送信するファインアウト型の通信連鎖を想定している。しかし、これに限らず、通信I/F部203が連鎖実行判定部をさらに備え、パケット受信時実行部203aからの実行通知に基づいて、記憶部202に記憶される連鎖SWR実行開始条件を、データ記憶部202aに記憶されるAtomic Operationによるメモリ操作後のメモリの値と比較し、両者が一致するものと判定されたものである場合に、連鎖実行部203bに対して連鎖SWRの読み出し及び対応するAtomic Operationの実行指示を出力することとしてもよい。このようにすることにより、入力が複数の場合に、同期待ち合わせを行って連鎖処理を開始することができるファインイン型の通信連鎖が実現可能となる。
なお、前述の“連鎖SWR実行開始条件”をデータ記憶部102aに最終的保持されるべき値の目標値であるとするが、これに限らず、“連鎖SWR実行開始条件”を同期処理に必要な受信データの受信回数とし、データ記憶部102aに受信データの受信回数のカウント値を記憶し、この値が予め定められた値となった場合に連鎖SWRの実行を開始することとしてもよい。
また、パケット受信時実行部203aは、依存データ整合処理に係るパケットを受信すると、処理中フラグをオンにし、該処理が終了すると該フラグを初期化する機能を有するとしてもよい。この場合、該初期化以前に、他のパケットを受信したならば、該パケットを無視すると共に、送信元のノードコンピュータに対し、パケット送信の再試行を行う指示を送信する機能を有してもよい。このようにして、依存データ整合処理において、他のパケットを受け付けないようにする排他制御を行うことができる。
通信I/F部203が、連鎖実行部203bにより連鎖SWR記憶部202bに記憶される全ての連鎖するSWRが読み出され対応するAtomic Operationが実行されて対応するパケットが送信されたか否かを判定する連鎖不可分命令実行完了判定部をさらに備えることとしてもよい。この連鎖不可分命令実行完了判定部により連鎖SWR記憶部202bに記憶される全ての連鎖するSWRが読み出され対応するAtomic Operationが実行されてパケットが送信されたと判定された場合に、受信データの処理の開始のために該ノードコンピュータのプロセッサに割り込みを発生させる割り込み発生部をさらに備えてもよい。
また、通信I/F部203が、連鎖不可分命令実行完了判定部により連鎖SWR記憶部202bに記憶される全ての連鎖するSWRが読み出され対応するAtomic Operationが実行されたと判定された場合に、受信データの処理の開始のために該ノードコンピュータのプロセッサに対して完了通知を送信する完了通知送信部をさらに備えることとしてもよい。
また、通信I/F部203が、連鎖不可分命令実行完了判定部により連鎖SWR記憶部202bに記憶される全ての連連鎖するSWRが読み出され対応するAtomic Operationが実行されたと判定された場合に、送信側ノードコンピュータに対して予め定められた通信処理を実行する通信処理実行部をさらに備えることとしてもよい。
また、連鎖実行部203bは、当該通信I/F部203を有する当該ノードコンピュータからのパケット受信に応じてもメモリ操作を行うと共に、データ記憶部202aを参照して該受信データに関連付けられるSWRを指定することとしてもよい。
次に、上位ノードコンピュータが下位に位置する全てのノードコンピュータに対して依存データの更新の有無を照会する実施例2に係る並列計算機間の依存データ整合処理の特徴について説明する。図9は、実施例2に係る並列計算機間の依存データ整合処理の特徴を示すである。同図に示す下位ノードコンピュータA100及び下位ノードコンピュータA´100´は、多段に亘る木構造のデータ依存関係を持つ最下位ノードコンピュータであり、中継ノードコンピュータB200は、中継ノードコンピュータであり、上位ノードコンピュータC300は、最上位ノードコンピュータである。
同図においても、上位ノードコンピュータC300に配置されるデータは、木構造状の依存関係で隣接した下位に配置される中継ノードコンピュータB200に配置されるデータに依存しており、さらに、中継ノードコンピュータB200に配置されるデータは、木構造状の依存関係で隣接した下位に配置される下位の下位ノードコンピュータA100に配置されるデータに依存している。即ち、上位ノードコンピュータC300に配置されるデータは、下位のノードコンピュータである中継ノードコンピュータB200及び下位ノードコンピュータA100に配置されるデータに依存したデータである。
この場合に、先ず、(1)最も上位にある上位ノードコンピュータC300においてデータの更新の有無を隣接する下位の中継ノードコンピュータB200に対して照会する。この上位ノードコンピュータC300の隣接する下位に位置する中継ノードコンピュータB200に配置されるデータは、下位ノードコンピュータA100に配置されるデータに依存している。よって、(2)中継ノードコンピュータB200又は下位ノードコンピュータA100におけるデータの更新の有無の照会が、各ノードコンピュータが備える通信I/F部による連鎖通信によって、低コストで、上位ノードコンピュータC300から隣接する下位の中継ノードコンピュータB200へ、さらに中継ノードコンピュータB200から隣接する下位の下位ノードコンピュータA100と伝達される。
さらに、中継ノードコンピュータB200又は下位ノードコンピュータA100において(図9では下位ノードコンピュータ)データの更新があった場合には、実施例1に示した方法にて、該データの更新があったことが返信されることとなる。
ここで、前述の“低コスト”とは、次を意味する。実施例2でも、並列計算機において分散して配置される、上位ノードコンピュータから下位ノードコンピュータへの依存するデータの更新の有無の照会を、各ノードコンピュータが備える通信I/F部による連鎖通信によって行う。
並列計算機の各ノードコンピュータ間で各ノードコンピュータが備える通信I/F部による連鎖通信によって通信を行うと、多段構成を取る木構造のトポロジを持つデータ依存関係がある場合であっても、最下位のノードコンピュータから途中に何段もの中継ノードコンピュータを経由して最上位のノードコンピュータへ、データ更新の有無の照会を行う際に発生するオーバーヘッドを抑制することができる。
更新によるデータ更新の有無の照会において、ノード間通信を使用したならば、パケットの送受信毎にプロセッサの割り込みが発生し、パケット受信の待機処理によりプロセッサのコンテキストスイッチの乱れが生じるなど、各ノードコンピュータ間の通信速度の低下を招くこととなるが、実施例2でもノード間通信を使用しないために、かかる問題が発生することがなくなり、よって、各ノードコンピュータ間の通信速度の低下を招くことなく、並列計算機の性能低下を防止し、最大限の性能を発揮させることができる。これが、前述の“低コスト”の意味するところである。
なお、実施例2では、依存データ更新の有無の照会は、全ての隣接する下位のノードコンピュータに対して送信されることとなる。図9では、説明を簡潔に行うために、上位ノードコンピュータC300から中継ノードコンピュータB200を経て下位ノードコンピュータA100及び下位ノードコンピュータA´100´へと依存データ更新の有無の照会が行われる状況を示している。
次に、図9に示した並列計算機の下位ノードコンピュータA100の構成について説明する。図10は、図9に示した並列計算機の下位ノードコンピュータA100の構成を示す機能ブロック図である。図9に示した下位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、下位ノードコンピュータA100に代表させて、実施例2の下位ノードコンピュータの機能ブロックについて説明する。下位ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。同図に示すように、下位ノードコンピュータA100は、該下位ノードコンピュータA100全体の制御を司り、処理演算を実行するプロセッサ101と、記憶部102と、ネットワークインターフェースカードである通信I/F部103とを有する。
記憶部102は、メモリなどのデータを記憶する記憶領域であるデータ記憶部102aと、連鎖するSWRを記憶する連鎖SWR記憶部102bとをさらに有する。ここで、SWR(Send Work Request)とは、外部へパケットを送信する指示である。SWRに基づいて、外部にパケットが送信されることとなる。連鎖SWRとは、順序付けて関連付けられたSWRの集合であり、連鎖SWRが出力されたならば、該順序付けに従って、関連付けられた全てのSWRが出力される。出力されたそれぞれのSWRに応じたパケットが、外部へ送信されることとなる。
なお、実施例2で送受信されるパケットは、対応するAtomic Operationの実行対象となるデータを含むと共に、連鎖SWR記憶部102bに記憶される連鎖して実行されるべきSWRの格納アドレスを示すポインタ情報も含む。データ記憶部102aには、SWRに対応するAtomic Operationの実行対象となるデータと共に、連鎖SWR記憶部102bに記憶される連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報が記憶される。
通信I/F部103は、パケット受信時実行部103cと、連鎖実行部103bとをさらに有する。パケット受信時実行部103cは、(1)上位ノードコンピュータC300から中継ノードコンピュータB200を経由して送信されてきたデータ更新有無照会のパケットを受信すると、該パケットに対応するメモリ操作をデータ記憶部102aにおいて行うと共に、連鎖実行部103bに対して連鎖するAtomic Operationの実行を指示する。
連鎖実行部103bは、パケット受信時実行部103cから連鎖するAtomic Operationの実行の指示を受けたならば、先ず、データ記憶部102aから連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報を読み出して、該ポインタで指し示されるアドレスに格納される第1のSWRを読み出して対応するAtomic Operationを実行する。次に、連鎖SWR記憶部202bに記憶される第1のSWRに付随して格納されている、次に連鎖して実行されるべき第2のSWRの格納アドレスを示すポインタから第2のSWRを読み出して対応するAtomic Operationを実行する。次に実行されるべきSWRの格納アドレスを示すポインタ情報が格納されている限り、この連鎖を繰り返す。これにより、1つのパケットを外部から受信したならば、通信I/F部103の機能により、連鎖する複数のSWRが順次読み出され、対応するAtomic Operationが実行されることとなる。
具体的には、中継ノードコンピュータB200からのパケット受信に応じて、連鎖するSWRが出力され、特に該SWRがデータ更新通知を指示するものであった場合に、(2)データ更新通知のパケットが中継ノードコンピュータB200へ送信されることとなる。
なお、パケット受信時実行部103cは、他のノードコンピュータからパケットを受信するのみならず、自ノードコンピュータからのパケットも受信可能である。これは、パケット受信時実行部103cが、自ノードコンピュータに対してもパケットの送信が可能であることに基づく。
また、受信パケットにより操作が指定されるメモリ領域のアドレスは仮想アドレスであるので、実施例2の通信I/F部103は、該仮想アドレスを実アドレスへ変換する変換機能を包含している。パケット受信時実行部103cは、連鎖実行部103bに対してデータの受信に係る連鎖処理を実行させる指示を出力する。また、連鎖実行部103bは、他のノードコンピュータへのパケット送信指示に基づいて、対応するパケットを該他のノードコンピュータへ送信する。
次に、図9に示した並列計算機の中継ノードコンピュータの構成について説明する。図11は、図9に示した並列計算機の中継ノードコンピュータの構成を説明する機能ブロック図である。同9に示した上位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、中継ノードコンピュータB200に代表させて、実施例2の中継ノードコンピュータの機能ブロックについて説明する。中継ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。
中継ノードコンピュータB200は、CPUなどのプロセッサ201と、メモリなどの記憶部202と、ネットワークインターフェースカードである通信I/F部203とを有する。記憶部202は、連鎖処理を実行させる条件を記憶する連鎖処理実行条件記憶部202cと、受信パケットを含むデータの書き込み領域であるデータ記憶部202bと、連鎖するSWRを記憶する連鎖SWR記憶部102bとをさらに有する。
通信I/F部103は、パケット受信時実行部203aと、連鎖実行部203bと、連鎖処理実行条件判定部203cとをさらに有する。パケット受信時実行部203aは、(1)上位ノードコンピュータC300からのデータ更新有無照会のパケットを受信すると、該パケットに対応するメモリ操作をデータ記憶部202aにおいて行うと共に、連鎖実行部203bに対して連鎖するAtomic Operationの実行を指示する。
連鎖実行部203aは、連鎖処理実行条件判定部203bからの連鎖処理実行指示に基づいて、先ず、データ記憶部202aから連鎖して実行されるべきSWRの格納アドレスの先頭アドレスを示すポインタ情報を読み出して、該ポインタで指し示されるアドレスに格納される第1のSWRを読み出して対応するAtomic Operationを実行する。次に、連鎖SWR記憶部102bに記憶される第1のSWRに付随して格納されている、次に連鎖して実行されるべき第2のSWRの格納アドレスを示すポインタから第2のSWRを読み出して対応するAtomic Operationを実行する。次に実行されるべきSWRの格納アドレスを示すポインタ情報が格納されている限り、この連鎖を繰り返す。これにより、1つのパケットを外部から受信したならば、通信I/F部103の機能により、連鎖する複数のSWRが順次読み出され、対応するAtomic Operationが実行され、対応するパケットが送信されることとなる。具体的には、複数の下位ノードコンピュータ(下位ノードコンピュータA100及び下位ノードコンピュータA´100´)に対して、連鎖してパケットを送信する(図中の“(2)下位ノードコンピュータAへのデータ更新有無照会パケット”及び“(2´)下位ノードコンピュータA´へのデータ更新有無照会パケット”を参照)。
連鎖処理実行条件判定部203bは、パケット受信時実行部203aからのAtomic Operation実行通知に基づいて、連鎖処理実行条件記憶部202cから連鎖処理実行条件を、データ記憶部202aからAtomic Operationによりメモリ操作後のメモリの値を読み出して、両者を比較する。この比較結果が、両者が一致するものと判定されたものである場合に、連鎖実行部203bに対して連鎖処理実行の指示を出力すると共に、当該メモリ操作が基づくパケットの全ての送信元のノードコンピュータへ完了通知を送信するように指示する。
具体的には、連鎖処理実行条件判定部203bは、(3)下位ノードコンピュータA100からのパケット(パケット1)及び(3´)下位ノードコンピュータA´100´からのパケット(パケット2)の同期待ち合わせを行うこととなる。
さらに、連鎖処理実行条件判定部203bにより、前述の同期待ち合わせが完了したとされたならば、(4)連鎖実行部203bが、パケット1及びパケット2の同期待ち合わせが完了に連鎖して出力されるSWRに応じたパケットを、上位ノードコンピュータC300へ送信することとなる。
なお、実施例では、前述の“連鎖処理実行条件”をデータ記憶部202aに最終的に保持されるべき値の目標値であるとし、前述の“メモリ操作後のデータ記憶部202aの値”をデータ記憶部202aに格納される値そのものであるする。しかし、これに限らず、“連鎖処理実行条件”を連鎖処理実行開始に必要な受信パケットの受信回数とし、“メモリ操作後のデータ記憶部202aの値”を該データ記憶部202aに格納される受信回数のカウント値であるとしてもよい。
また、連鎖処理実行条件記憶部202cは、記憶部102に配置されるものであることに限られず、通信I/F部203内に設けられた所定の記憶領域に配置されることとしてもよい。
また、前述のパケット受信時実行部203aからのAtomic Operation実行通知は、Atomic Operationの一種である。さらに、連鎖処理実行条件と、データ記憶部202aからAtomic Operationによりメモリ操作後のメモリの値との両者の比較の実行もAtomic Operationの一種である。さらには、この比較結果が、両者が一致するものと判定されたものである場合に、連鎖実行部203bに対して出力する連鎖実行の指示もAtomic Operationの一種である。これらのAtomic Operationは、実施例の通信I/F部203に新規に追加されたAtomic Operationである。
パケット受信時実行部203cは、他のノードコンピュータからデータ更新有無照会のパケットを受信すると、該パケットに応じたAtomic Operationを実行して、直接データ記憶部においてメモリ操作を行う。一のデータ更新有無照会に係るパケットを始めて受信した場合には、データ更新有無照会処理を行っていることを示す情報をデータ更新有無照会処理中フラグ等により管理し、前述のAtomic Operation実行通知が出力されると、データ更新有無照会処理中フラグ等を初期化して該データ更新有無照会処理が終了したことを認識可能とする。該初期化以前に、他のパケットを受信したならば、該パケットを無視すると共に、送信元のノードコンピュータに対し、パケット送信の再試行を行う指示を送信する機能を有してもよい。このようにして、データ更新有無照会において、他のパケットを受け付けないようにする排他制御を行うことができる。このようにして、一のデータ更新有無照会処理が行われている間は、他の処理を行わない排他制御を行うことができる。
なお、パケット受信時実行部203aは、他のノードコンピュータからデータ更新有無照会に係るパケットを受信するのみならず、自ノードコンピュータからのデータ更新有無照会に係るパケットを受信可能である。これは、パケット受信時実行部203aが、自ノードコンピュータに対してもパケットの送信が可能であることに基づく。
また、受信パケットにより操作が指定されるメモリ領域のアドレスは仮想アドレスであるので、実施例の通信I/F部103は、該仮想アドレスを実アドレスへ変換する変換機能を包含している。また、連鎖処理実行条件判定部203cに対して、連鎖実行部203bにデータの受信に係る連鎖処理を開始させる指示を出力する。また、連鎖実行部203bは、連鎖処理実行条件判定部203cからの他のノードコンピュータへのパケット送信指示に基づいて、対応するパケットを該他のノードコンピュータへ送信する。
このように、実施例2のノードコンピュータは、従来はプロセッサ101で行っていたデータ更新有無照会に係る処理を、通信I/F部103で行うようにしたので、パケット受信毎に発生する割り込み及びデータ更新有無照会処理によるプロセッサのコンテキストスイッチの乱れを抑制することができる。即ち、実施例2によれば、データ更新有無照会処理に係るパケット受信毎に発生する割り込みの発生を1回に抑え、データ更新有無照会処理をプロセッサにおけるソフトウェア制御から通信I/F部におけるハードウェア処理へ委譲したので、プロセッサのコンテキストスイッチの混乱を抑制し、以って並列計算機における計算機間の通信速度を向上させ、並列計算機の処理能力を向上させることができる。
次に、図9に示した並列計算機の上位ノードコンピュータC300の構成について説明する。図12は、図9に示した並列計算機の上位ノードコンピュータC300の構成を示す機能ブロック図である。図9に示した上位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は同一の機能ブロックを有するものであるが、ここでは、上位ノードコンピュータC300に代表させて、実施例2の上位ノードコンピュータの機能ブロックについて説明する。上位ノードコンピュータの特徴的機能ブロック以外の説明は、省略することとする。
同図に示すように、上位ノードコンピュータC300は、CPUなどのプロセッサ301と、メモリなどの記憶部302と、ネットワークインターフェースカードである通信I/F部103とを有する。記憶部302は、下位ノードコンピュータA100又は中継ノードコンピュータB200でデータ更新があったことをフラグで記憶するデータ更新フラグ記憶部302aと、受信パケットを含むデータの書き込み領域であるデータ記憶部302bとをさらに有する。通信I/F部303は、割り込み発生部303aと、パケット受信時実行部303bとをさらに有する。
割り込み発生部303aは、パケット受信時実行部303bからの割り込み処理発生指示に基づいて、プロセッサ301に対して割り込み又はイベントを発生さる。Atomic Operation実行部303cは、中継ノードコンピュータB200に対して(1)データ更新有無照会のパケットを送信すると共に、(2)中継ノードコンピュータB200からデータ更新通知のパケットを受信する。そして、該パケットに応じたAtomic Operationを実行して、データ更新フラグ記憶部302aのデータ更新フラグを“オン”にする。
なお、Atomic Operation実行部303cは、他のノードコンピュータからパケットを受信するのみならず、自ノードコンピュータからのパケットも受信可能である。これは、Atomic Operation実行部303cが、自ノードコンピュータに対してもパケットの送信が可能であることに基づく。
また、受信パケットにより操作が指定されるメモリ領域のアドレスは仮想アドレスであるので、実施例1の通信I/F部303は、該仮想アドレスを実アドレスへ変換する変換機能を包含している。Atomic Operation実行部303cは、割り込み発生部303aに対してデータの受信に係る割り込み処理を発生させる指示を出力する。
このように、実施例2の下位ノードコンピュータA100、中継ノードコンピュータB200及び上位ノードコンピュータC300は、従来はプロセッサ101、プロセッサ201及びプロセッサ301で行っていた下位ノードコンピュータA100において依存関係があるデータの更新が行われたか否かの照会を、中継ノードコンピュータB200を中継して下位ノードコンピュータA100及び下位ノードコンピュータA´100´へ送信する処理を、通信I/F部103、通信I/F部203及び通信I/F部303のみの処理で行うようにしたので、パケット受信毎に発生する割り込み及び同期処理によるプロセッサのコンテキストスイッチの乱れを抑制することができる。即ち、実施例2によれば、データ更新有無照会処理に係るパケット受信毎に発生する割り込みの発生を抑え、データ更新有無照会パケット送信処理をプロセッサにおけるソフトウェア制御から通信I/F部におけるハードウェア処理へ委譲したので、プロセッサのコンテキストスイッチの混乱を抑制し、以って並列計算機における計算機間の通信速度を向上させ、並列計算機の処理能力を向上させることができる。
次に、図9に示した並列計算機における並列計算期間の依存データ整合処理について説明する。図13及び14は、図9に示した並列計算機における並列計算期間の依存データ整合処理を示すシーケンス図である。同図に示すように、先ず、上位ノードコンピュータC300において、Atomic Operation実行部303cによりデータ更新有無照会パケットが、中継ノードコンピュータB200へ送信される(ステップS111)。続いて、データ更新有無照会パケットがパケット受信時実行部203aにより受信されると、データ更新有無照会がパケット受信時実行部203aから連鎖実行部103bへ通知される(ステップS112)。該通知を受信した連鎖実行部103bは、記憶部102からデータ更新有無照会連鎖SWRを読み出し(ステップS113)、対応するデータ更新有無照会連鎖パケットを下位ノードコンピュータA100へ送信する(ステップS114)。
下位ノードコンピュータA100において、パケット受信時実行部103cがデータ更新有無照会パケットを受信したならば、該パケット受信時実行部103cは、データ更新有無照会通知を連鎖実行部103bへ通知する(ステップS115)。続いて、連鎖実行部103bは、記憶部102から、データ更新有無照会通知連鎖SWRを読み出し(ステップS116)、記憶部102に記憶される依存データの更新の有無のチェックを実行する(ステップS117)。なお、ステップS114〜ステップS117の処理は、下位ノードコンピュータA´100´においても実行されることとなる。ステップS117の処理で、データ更新があったと判定されると、実施例1に示した依存データ更新の通知が、下位ノードコンピュータA100から中継ノードコンピュータB200を経由して上位ノードコンピュータC300へ行われることとなる。
以上、本発明の実施例1及び2を説明したが、本発明は、これらに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、適宜設計変更して実施可能である。また、実施例1及び2に記載した効果は、これに限定されるものではない。
なお、実施例1及び2では、説明を簡単にするために、並列計算機に接続されるノードコンピュータの数を限定したがが、木構造に接続されるものであれば、図示した数を超えたノードコンピュータが接続されるものであってもよい。
また、本発明に係る通信I/F部103、通信I/F部203及び通信I/F部303は、通信機構として従来の通信I/F部と互換性を有する。従って、本発明に係る通信I/F部103、通信I/F部203及び通信I/F部303を装着したノードコンピュータと、装着していないノードコンピュータとを相互に接続可能である。この場合は、本発明に係る通信I/F部103、通信I/F部203及び通信I/F部303を装着していないノードコンピュータにおいて、ノード間通信に係るプロセッサの割り込みが発生し、同期待ち合わせに係るコンテキストスイッチの乱れが生じるなど、通信のパフォーマンスが低下する弊害が生ずるが、これ以外には問題は弊害が生ずるが、これ以外の問題は生じない。ない。即ち、本発明に係る通信I/F部103、通信I/F部203及び通信I/F部303を装着していないノードコンピュータと、本発明に係る通信I/F部103、通信I/F部203及び通信I/F部303を装着していないノードコンピュータとを混在させて並列計算機を構成することが可能である。
(付記1)複数の下位ノード計算機に分散して配置されているデータを受信した該複数の下位ノード計算機に接続される上位ノード計算機において該データに依存するデータを保持する並列計算機における計算機の通信インターフェース装置であって、
連鎖する不可分命令を記憶する連鎖不可分命令記憶手段と、
当該計算機に配置されている前記データの変更を検知するデータ変更検知手段と、
前記データ変更検知手段により前記データの変更が検知されると、前記連鎖不可分命令記憶手段を参照して該変更されたデータに関連付けられる不可分命令を指定する連鎖不可分命令指定手段と、
前記連鎖不可分命令指定手段により指定された不可分命令を実行する不可分命令実行手段と
を備えたことを特徴とする通信インターフェース装置。
(付記2)前記不可分命令実行手段により実行された前記不可分命令に基づいて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする付記1に記載の通信インターフェース装置。
(付記3)前記下位ノード計算機から受信した前記データの変更の通知に基づいて該データに依存するデータの無効化を記憶するデータ無効化記憶手段をさらに備えたことを特徴とする付記2に記載の通信インターフェース装置。
(付記4)前記連鎖不可分命令記憶手段を参照して前記変更が通知されたデータに関連付けられる不可分命令を指定する変更受信時連鎖不可分命令指定手段と、
前記変更受信時連鎖不可分命令指定手段により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行手段と
をさらに備えたことを特徴とする付記3に記載の通信インターフェース装置。
(付記5)前記連鎖不可分命令実行手段により前記連鎖不可分命令記憶手段に記憶される全ての連鎖する不可分命令が実行されたか否かを判定する連鎖不可分命令実行完了判定手段をさらに備えたことを特徴とする付記4に記載の通信インターフェース装置。
(付記6)前記連鎖不可分命令実行完了判定手段により前記連鎖不可分命令記憶手段に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記通知の受信後の処理の開始のために該計算機のプロセッサに割り込みを発生させる割り込み発生手段をさらに備えたことを特徴とする付記5に記載の通信インターフェース装置。
(付記7)前記連鎖不可分命令実行完了判定手段により前記連鎖不可分命令記憶手段に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記通知の受信後の処理の開始のために該計算機のプロセッサに対して完了通知を出力する完了通知出力手段をさらに備えたことを特徴とする付記5に記載の通信インターフェース装置。
(付記8)前記連鎖不可分命令実行完了判定手段により前記連鎖不可分命令記憶手段に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記下位ノード計算機に対して予め定められた通信処理を実行する通信処理実行手段をさらに備えたことを特徴とする付記5に記載の通信インターフェース装置。
(付記9)前記下位ノード計算機に対して、当該上位ノード計算機が有するデータが依存する該下位ノード計算機に配置されるデータに変更があったか否かを照い合わせるデータ変更照会手段をさらに備えたことを特徴とする付記1〜8のいずれか一つに記載の通信インターフェース装置。
(付記10)前記連鎖不可分命令記憶手段を参照して前記上位ノード計算機からの前記データの変更の問い合わせに関連付けられる不可分命令を指定する照会受信時連鎖不可分命令指定手段と、
前記照会受信時連鎖不可分命令指定手段により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行手段と
をさらに備えたことを特徴とする付記9に記載の通信インターフェース装置。
(付記11)前記上位ノード計算機からの前記データの変更の問い合わせに応じて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする付記9又は10に記載の通信インターフェース装置。
(付記12)前記下位ノード計算機からデータを受信した旨のデータ受信情報を記憶する受信データ受信情報記憶手段と、
前記連鎖不可分命令実行完了判定手段により前記連鎖不可分命令記憶手段に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記受信データ受信情報記憶に記憶される前記データ受信情報を初期化するデータ受信情報初期化手段を
さらに備えたことを特徴とする付記5〜11のいずれか一つに記載の通信インターフェース装置。
(付記13)前記メモリ操作結果初期化手段による前記データ受信情報の初期化以前に、前記送信側計算機から受信データをさらに受信した場合に、前記連鎖不可分命令指定手段によるメモリ操作及び前記不可分命令の指定を中止させる連鎖不可分命令指定中止手段と、
前記連鎖不可分命令指定中止手段により前記不可分命令の指定が中止させられた情報を前記送信側計算機へ送信する不可分命令指定中止情報送信手段と
をさらに備えたことを特徴とする付記12に記載の通信インターフェース装置。
(付記14)当該受信側計算機から前記不可分命令指定中止情報送信手段により送信された前記不可分命令の指定が中止させられた情報を受信すると、該受信側計算機へのデータ送信を再試行するデータ送信再試行手段をさらに備えたことを特徴とする付記13に記載の通信インターフェース装置。
(付記15)前記データ無効化記憶手段に前記下位ノード計算機から受信した前記データの変更の通知に基づく該データに依存するデータの無効化が記憶されると、前記通知の受信後の処理の開始のために該計算機のプロセッサに割り込みを発生させる割り込み発生手段をさらに備えたことを特徴とする付記3〜14のいずれか一つに記載の通信インターフェース装置。
(付記16)複数の下位ノード計算機に分散して配置されているデータを受信した該複数の下位ノード計算機に接続される上位ノード計算機において該データに依存するデータを保持する並列計算機における計算機の通信方法であって、
連鎖する不可分命令を記憶する連鎖不可分命令記憶工程と、
当該計算機に配置されている前記データの変更を検知するデータ変更検知工程と、
前記データ変更検知工程により前記データの変更が検知されると、前記連鎖不可分命令記憶工程を参照して該変更されたデータに関連付けられる不可分命令を指定する連鎖不可分命令指定工程と、
前記連鎖不可分命令指定工程により指定された不可分命令を実行する不可分命令実行工程と
を含んだことを特徴とする通信方法。
(付記17)前記不可分命令実行工程により実行された前記不可分命令に基づいて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする付記16に記載の通信方法。
(付記18)前記下位ノード計算機から受信した前記データの変更の通知に基づいて該データに依存するデータの無効化を記憶するデータ無効化記憶工程をさらに含んだことを特徴とする付記17に記載の通信方法。
(付記19)前記連鎖不可分命令記憶工程による処理結果に基づき前記変更が通知されたデータに関連付けられる不可分命令を指定する変更受信時連鎖不可分命令指定工程と、
前記変更受信時連鎖不可分命令指定工程により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行工程と
をさらに含んだことを特徴とする付記18に記載の通信方法。
(付記20)前記連鎖不可分命令実行工程により前記連鎖不可分命令記憶工程に記憶される全ての連鎖する不可分命令が実行されたか否かを判定する連鎖不可分命令実行完了判定工程をさらに含んだことを特徴とする付記19に記載の通信方法。
(付記21)前記連鎖不可分命令実行完了判定工程により前記連鎖不可分命令記憶工程に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記通知の受信後の処理の開始のために該計算機のプロセッサに割り込みを発生させる割り込み発生工程をさらに含んだことを特徴とする付記20に記載の通信方法。
(付記22)前記連鎖不可分命令実行完了判定工程により前記連鎖不可分命令記憶工程に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記通知の受信後の処理の開始のために該計算機のプロセッサに対して完了通知を出力する完了通知出力工程をさらに含んだことを特徴とする付記20に記載の通信方法。
(付記23)前記連鎖不可分命令実行完了判定工程により前記連鎖不可分命令記憶工程に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記下位ノード計算機に対して予め定められた通信処理を実行する通信処理実行工程をさらに含んだことを特徴とする付記20に記載の通信方法。
(付記24)前記下位ノード計算機に対して、当該上位ノード計算機が有するデータが依存する該下位ノード計算機に配置されるデータに変更があったか否かを照い合わせるデータ変更照会工程をさらに備えたことを特徴とする付記16〜23のいずれか一つに記載の通信方法。
(付記25)前記連鎖不可分命令記憶工程を参照して前記上位ノード計算機からの前記データの変更の問い合わせに関連付けられる不可分命令を指定する照会受信時連鎖不可分命令指定工程と、
前記照会受信時連鎖不可分命令指定工程により指定された不可分命令を実行すると共に該不可分命令に関連付けられる連鎖不可分命令をさらに実行する連鎖不可分命令実行工程と
をさらに備えたことを特徴とする付記24に記載の通信方法。
(付記26)前記上位ノード計算機からの前記データの変更の問い合わせに応じて、前記データの変更を前記上位ノード計算機へ通知することを特徴とする付記24又は25に記載の通信方法。
(付記27)前記下位ノード計算機からデータを受信した旨のデータ受信情報を記憶する受信データ受信情報記憶工程と、
前記連鎖不可分命令実行完了判定工程により前記連鎖不可分命令記憶工程に記憶される全ての連鎖する不可分命令が実行されたと判定された場合に、前記受信データ受信情報記憶に記憶される前記データ受信情報を初期化するデータ受信情報初期化工程を
さらに含んだことを特徴とする付記20〜26のいずれか一つに記載の通信方法。
(付記28)前記メモリ操作結果初期化工程による前記データ受信情報の初期化以前に、前記送信側計算機から受信データをさらに受信した場合に、前記連鎖不可分命令指定工程によるメモリ操作及び前記不可分命令の指定を中止させる連鎖不可分命令指定中止工程と、
前記連鎖不可分命令指定中止工程により前記不可分命令の指定が中止させられた情報を前記送信側計算機へ送信する不可分命令指定中止情報送信工程と
をさらに含んだことを特徴とする付記27に記載の通信方法。
(付記29)当該受信側計算機から前記不可分命令指定中止情報送信工程により送信された前記不可分命令の指定が中止させられた情報を受信すると、該受信側計算機へのデータ送信を再試行するデータ送信再試行工程をさらに含んだことを特徴とする付記28に記載の通信方法。
(付記30)前記データ無効化記憶工程により前記下位ノード計算機から受信した前記データの変更の通知に基づく該データに依存するデータの無効化が記憶されると、前記通知の受信後の処理の開始のために該計算機のプロセッサに割り込みを発生させる割り込み発生工程をさらに含んだことを特徴とする付記18〜29のいずれか一つに記載の通信方法。
本発明は、上位ノード計算機に配置されるデータが下位ノード計算機に配置されるデータに依存する場合に、該下位ノード計算機に配置されるデータの更新の検知及び該検知に応じた連鎖不可分命令の実行を通信インターフェース装置の機能で実現したい場合に有用であり、特に、並列計算機間の通信にかかるオーバーヘッドを低減し、プロセッサのコンテキストスイッチの乱れを抑制し、並列計算機の性能低下を防止したい場合に有効である。
従来の並列計算機間の依存データ整合処理における問題点を示す図である。 本発明の実施例1に係る並列計算機間の依存データ整合処理の特徴を示す図である。 実施例1に係る並列計算機の下位ノードコンピュータの構成を示す機能ブロック図である。 ノードコンピュータの記憶部の記憶内容を示す図である。 実施例1に係る並列計算機の中継ノードコンピュータの構成を示す機能ブロック図である。 実施例1に係る並列計算機の上位ノードコンピュータの構成を示す機能ブロック図である。 実施例1の並列計算機間の依存データ整合処理を示すシーケンス図(その1)である。 実施例1の並列計算機間の依存データ整合処理を示すシーケンス図(その2)である。 本発明の実施例2に係る並列計算機間の依存データ整合処理の特徴を示す図である。 実施例2に係る並列計算機の下位ノードコンピュータの構成を示す機能ブロック図である。 実施例2に係る並列計算機の中継ノードコンピュータの構成を示す機能ブロック図である。 実施例2に係る並列計算機の上位ノードコンピュータの構成を示す機能ブロック図である。 実施例2の並列計算機間の依存データ更新照会処理を示すシーケンス図(その1)である。 実施例2の並列計算機間の依存データ更新照会処理を示すシーケンス図(その2)である。
符号の説明
100 下位ノードコンピュータA
101 プロセッサ
102 記憶部
102a データ記憶部
102b 連鎖SWR記憶部
103 通信I/F部
103a データ更新検知部
103b 連鎖実行部
103c パケット受信時実行部
100´ 下位ノードコンピュータA´
200 中継ノードコンピュータB
201 プロセッサ
202 記憶部
202a データ記憶部
202b 連鎖SWR記憶部
202c 連鎖処理実行条件記憶部
203 通信I/F部
203a パケット受信時実行部
203b 連鎖実行部
203c 連鎖処理実行条件判定部
300 上位ノードコンピュータC
301 プロセッサ
302 記憶部
302a データ更新フラグ記憶部
302b データ記憶部
303 通信I/F部
303a 割込み発生部
303b パケット受信時実行部
303c Atomic Operation実行部

Claims (10)

  1. 第1のノード計算機と、該第1のノード計算機が記憶するデータが更新された場合に更新が必要なデータを記憶する第2のノード計算機と、該第2のノード計算機が記憶するデータが更新された場合に更新が必要なデータを記憶する第3のノード計算機とを含む計算処理システムであって、前記第1のノード計算機における更新、前記第2のノード計算機における更新、前記第3のノード計算機における更新の順でデータの更新が必要とされる計算処理システムにおいて、
    前記第1のノード計算機は、該第1のノード計算機が記憶する前記データの更新を検出し、データの更新の順が前記順となるように予め設定された送信指示であって、データの更新を通知するパケットの前記第2のノード計算機への送信指示を該第1のノード計算機の記憶手段から読み出して前記第2のノード計算機にパケットを送信する通信インタフェース装置を備え、
    前記第2のノード計算機は、前記データの更新を通知するパケットを前記第1のノード計算機から受信したことを検出すると、該第2のノード計算機が記憶する前記データの更新を行い、更に、データの更新の順が前記順となるように予め設定された送信指示であって、データの更新を通知するパケットの前記第3のノード計算機への送信指示を該第2のノード計算機の記憶手段から読み出して前記第3のノード計算機にパケットを送信して、前記第3のノード計算機が記憶する前記データの更新を実行させる通信インタフェース装置を備えた、
    ことを特徴とする計算処理システム。
  2. 前記第2のノード計算機は、下位ノード計算機である複数の前記第1のノード計算機に接続され、前記第1のノード計算機各々に分散して記憶されるデータに依存したデータを記憶する中継ノード計算機であり、
    前記第3のノード計算機は、前記中継ノード計算機である前記第2のノード計算機に接続され、前記第2のノード計算機に記憶されるデータに依存したデータを記憶する上位ノード計算機であることを特徴とする請求項1に記載の計算処理システム。
  3. 前記第1のノード計算機の通信インタフェース装置は、前記データが無効になったことを検出した場合に、前記第1のノード計算機が記憶するデータが更新された場合に更新が必要なデータの無効化を前記第2のノード計算機に送信し、
    前記第2のノード計算機の通信インタフェース装置は、前記データの無効化を通知するパケットを前記第1のノード計算機から受信したことを検出すると、該第2のノード計算機が記憶する前記データの無効化を行い、更に、前記第2のノード計算機が記憶するデータが更新された場合に更新が必要なデータの無効化を前記第3のノード計算機に送信することを特徴とする請求項2に記載の計算処理システム。
  4. 前記第1のノード計算機の通信インタフェース装置は、前記データの更新を通知するパケットに関連付けられた関連パケットの前記第2のノード計算機への送信指示を該第1のノード計算機の記憶手段から読み出して、前記第2のノード計算機にパケットを送信し、
    前記第2のノード計算機の通信インタフェース装置は、さらに、前記関連パケットを前記第1のノード計算機から受信したことを検出すると、前記関連パケットにより指定された該第2のノード計算機が記憶するデータの更新を行い、更に、前記データの更新を通知する関連パケットの前記第3のノード計算機への送信指示を該第2のノード計算機の記憶手段から読み出して前記第3のノード計算機にパケットを送信して、前記関連パケットにより指定された前記第3のノード計算機が記憶するデータの更新を実行させることを特徴とする請求項3に記載の計算処理システム。
  5. 前記第2のノード計算機の通信インタフェース装置は、下位ノード装置である前記第1のノード計算機に対して、前記第1のノード計算機が記憶する前記データが更新されたか否かを問い合わせ、
    前記第3のノード計算機は、中継ノード装置である前記第2のノード計算機に対して、前記第2のノード計算機が記憶する前記データが更新されたか否かを問い合わせる通信インタフェース装置を有することを特徴とする請求項1〜4のいずれか一つに記載の計算処理システム。
  6. 前記第1のノード計算機の通信インタフェース装置は、前記データが更新されたか否かの問い合わせに関連付けられたパケットの前記第2のノード計算機への送信指示とともに、該パケットに関連付けられた関連パケットの前記第2のノード計算機への送信指示を該第1のノード計算機の記憶手段から読み出して、前記第2のノード計算機にパケットを送信し、
    前記第2のノード計算機の通信インタフェース装置は、前記データが更新されたか否かの問い合わせに関連付けられたパケットの前記第3のノード計算機への送信指示とともに、該パケットに関連付けられた関連パケットの前記第3のノード計算機への送信指示を該第2のノード計算機の記憶手段から読み出して、前記第3のノード計算機にパケットを送信することを特徴とする請求項5に記載の計算処理システム。
  7. 前記第1のノード計算機の通信インタフェース装置は、前記データが更新されたか否かの問い合わせに応じて、前記データの更新を前記第2のノード計算機に送信し、
    前記第2のノード計算機の通信インタフェース装置は、前記データが更新されたか否かの問い合わせに応じて、前記データの更新を前記第3のノード計算機に送信することを特徴とする請求項5または6に記載の計算処理システム。
  8. 第1のノード計算機と、該第1のノード計算機が記憶するデータが更新された場合に更新が必要なデータを記憶する第2のノード計算機と、該第2のノード計算機が記憶するデータが更新された場合に更新が必要なデータを記憶する第3のノード計算機とを含む計算処理システムであって、前記第1のノード計算機における更新、前記第2のノード計算機における更新、前記第3のノード計算機における更新の順でデータの更新が必要とされる計算処理システムにおけるデータ更新方法において、
    前記第1のノード計算機の通信インタフェース装置は、該第1のノード計算機が記憶する前記データの更新を検出し、データの更新の順が前記順となるように予め設定された送信指示であって、データの更新を通知するパケットの前記第2のノード計算機への送信指示を該第1のノード計算機の記憶手段から読み出して前記第2のノード計算機にパケットを送信し、
    前記第2のノード計算機の通信インタフェース装置は、前記データの更新を通知するパケットを前記第1のノード計算機から受信したことを検出すると、該第2のノード計算機が記憶する前記データの更新を行い、更に、データの更新の順が前記順となるように予め設定された送信指示であって、データの更新を通知するパケットの前記第3のノード計算機への送信指示を該第2のノード計算機の記憶手段から読み出して前記第3のノード計算機にパケットを送信して、前記第3のノード計算機が記憶する前記データの更新を実行させる、
    ことを特徴とするデータ更新方法。
  9. 前記第2のノード計算機は、下位ノード計算機である複数の前記第1のノード計算機に接続され、前記第1のノード計算機各々に分散して記憶されるデータに依存したデータを記憶する中継ノード計算機であり、
    前記第3のノード計算機は、前記中継ノード計算機である前記第2のノード計算機に接続され、前記第2のノード計算機に記憶されるデータに依存したデータを記憶する上位ノード計算機であることを特徴とする請求項8に記載のデータ更新方法。
  10. 前記第1のノード計算機の通信インタフェース装置は、前記データが無効になったことを検出した場合に、前記第1のノード計算機が記憶するデータが更新された場合に更新が必要なデータの無効化を前記第2のノード計算機に送信し、
    前記第2のノード計算機の通信インタフェース装置は、前記データの無効化を通知するパケットを前記第1のノード計算機から受信したことを検出すると、該第2のノード計算機が記憶する前記データの無効化を行い、更に、前記第2のノード計算機が記憶するデータが更新された場合に更新が必要なデータの無効化を前記第3のノード計算機に送信することを特徴とする請求項9に記載のデータ更新方法。
JP2006145924A 2006-05-25 2006-05-25 計算処理システムおよびデータ更新方法 Expired - Fee Related JP4696025B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006145924A JP4696025B2 (ja) 2006-05-25 2006-05-25 計算処理システムおよびデータ更新方法
US11/790,662 US7877574B2 (en) 2006-05-25 2007-04-26 Relay node communication interface transmitting update packet to higher node by executing chain indivisibility instructions upon receiving data change notification from lower node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006145924A JP4696025B2 (ja) 2006-05-25 2006-05-25 計算処理システムおよびデータ更新方法

Publications (2)

Publication Number Publication Date
JP2007316956A JP2007316956A (ja) 2007-12-06
JP4696025B2 true JP4696025B2 (ja) 2011-06-08

Family

ID=38750856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006145924A Expired - Fee Related JP4696025B2 (ja) 2006-05-25 2006-05-25 計算処理システムおよびデータ更新方法

Country Status (2)

Country Link
US (1) US7877574B2 (ja)
JP (1) JP4696025B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6299374B2 (ja) 2014-04-21 2018-03-28 富士通株式会社 処理連携方法,処理連携プログラム及び処理連携システム
CN110677316A (zh) * 2019-09-05 2020-01-10 苏州浪潮智能科技有限公司 一种分布式存储服务器网卡检测方法和***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301650A (ja) * 1993-03-12 1994-10-28 Natl Aerospace Lab データ転送中継機構
JPH07200505A (ja) * 1993-12-30 1995-08-04 Hitachi Ltd 一斉同報通信方法およびその装置
JPH09106373A (ja) * 1995-10-12 1997-04-22 Hitachi Ltd 計算機システムにおける共用データの無効化方法
JP2000285088A (ja) * 1999-01-27 2000-10-13 Hitachi Ltd データ転送方法、装置及び記録媒体
JP2002111774A (ja) * 2000-10-02 2002-04-12 Hitachi Ltd プロセッサおよび並列プロセッサシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489157B2 (ja) 1993-11-26 2004-01-19 株式会社日立製作所 分散共有メモリシステムおよび計算機
JPH0910673A (ja) 1995-04-27 1997-01-14 Mitsubishi Heavy Ind Ltd ダンピング構造体及びダンピング被膜形成方法
EP1024439B1 (en) 1999-01-27 2009-03-11 Hitachi, Ltd. Data transfer method, apparatus and recording medium for use in a hierarchical system
US6675178B1 (en) * 2000-11-09 2004-01-06 Accenture Llp Method and system for enhancing a commercial transaction conducted via a communications network
KR100491541B1 (ko) * 2003-08-01 2005-05-25 니트젠테크놀러지스 주식회사 네트웍 환경에서의 컨텐츠 동기화 시스템 및 동기화 방법
US20070255738A1 (en) * 2006-04-28 2007-11-01 Tekelec System, Method, and Computer-Readable Medium for Performing Data Structure Updates in a Multi-Processor System
US7490077B2 (en) * 2006-09-28 2009-02-10 International Business Machines Corporation Extensible dependency management framework and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301650A (ja) * 1993-03-12 1994-10-28 Natl Aerospace Lab データ転送中継機構
JPH07200505A (ja) * 1993-12-30 1995-08-04 Hitachi Ltd 一斉同報通信方法およびその装置
JPH09106373A (ja) * 1995-10-12 1997-04-22 Hitachi Ltd 計算機システムにおける共用データの無効化方法
JP2000285088A (ja) * 1999-01-27 2000-10-13 Hitachi Ltd データ転送方法、装置及び記録媒体
JP2002111774A (ja) * 2000-10-02 2002-04-12 Hitachi Ltd プロセッサおよび並列プロセッサシステム

Also Published As

Publication number Publication date
JP2007316956A (ja) 2007-12-06
US7877574B2 (en) 2011-01-25
US20070277019A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
US8750144B1 (en) System and method for reducing required memory updates
US9378060B2 (en) Runtime co-location of executing logic and frequently-accessed application data
JP4027416B2 (ja) データ処理装置
CN102882810B (zh) 一种报文快速转发方法及装置
US20070133593A1 (en) Searching Strings Representing a Regular Expression
US20100191848A1 (en) Information sharing method between neighboring nodes, node and information sharing program
JP2012065281A (ja) 通信プログラム、通信装置、通信方法、及び通信システム
US11074187B2 (en) Method, apparatus and computer program product for managing address in storage system
US9218356B2 (en) Systems and methods for accelerating networking functionality
RU2454008C2 (ru) Основанная на пригодности маршрутизация
JP4696025B2 (ja) 計算処理システムおよびデータ更新方法
CN110581805A (zh) 路由表更新方法、装置、交换机及存储介质
JP3641834B2 (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
JP5462263B2 (ja) 確率的な動的ルーター−サーバーメッシュルーティング
JP4806295B2 (ja) 通信インターフェース装置及び通信方法
JP6740543B2 (ja) 通信装置、システム、ロールバック方法及びプログラム
EP2928126A1 (en) Subnet route processing method and message forwarding device
US11048758B1 (en) Multi-level low-latency hashing scheme
US20080140687A1 (en) Socket structure simultaneously supporting both toe and ethernet network interface card and method of forming the socket structure
US8477654B2 (en) Method for representing nodes in network
JP2007272694A (ja) 通信インターフェース装置及び通信方法
JP2007243976A (ja) データ処理装置
US7080214B2 (en) Directory based support for function shipping in a multiprocessor system
CN115277586B (zh) Pod流量处理方法、***、设备及存储介质
US20050122970A1 (en) Method and system for processing communications packets according to event lists

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110207

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: 20110222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees