JP5556377B2 - 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法 - Google Patents

並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法 Download PDF

Info

Publication number
JP5556377B2
JP5556377B2 JP2010121928A JP2010121928A JP5556377B2 JP 5556377 B2 JP5556377 B2 JP 5556377B2 JP 2010121928 A JP2010121928 A JP 2010121928A JP 2010121928 A JP2010121928 A JP 2010121928A JP 5556377 B2 JP5556377 B2 JP 5556377B2
Authority
JP
Japan
Prior art keywords
communication
processor
phase
processors
partial
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
JP2010121928A
Other languages
English (en)
Other versions
JP2011248681A (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.)
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 JP2010121928A priority Critical patent/JP5556377B2/ja
Publication of JP2011248681A publication Critical patent/JP2011248681A/ja
Application granted granted Critical
Publication of JP5556377B2 publication Critical patent/JP5556377B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、複数のプロセッサと他の複数のプロセッサとがネットワークを介して同時に通信処理を夫々実行する並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法に関し、通信処理の時間を低減できる並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法に関するものである。
複数のプロセッサがネットワーク介して相互に接続された並列コンピュータにおいて、並列処理が実行された場合、各プロセッサは計算結果を相互に送受信する必要が生じる。この送受信において、各プロセッサが他の各プロセッサに対してデータ転送処理を同時に実行する全対全通信などの集団通信処理が頻繁に実行されており、各プロセッサは他の各プロセッサに対して通信処理を順次実行する。すなわち、各プロセッサは、特定の宛先に対して通信を行うフェーズ(部分通信フェーズと称す)を複数回、処理することになる。
例えば、全プロセッサがその他の全プロセッサに対して通信処理を夫々行う、いわゆる全対全通信を、複数の部分通信フェーズに分割して行う並列計算システムが知られている(特許文献1参照)。なお、当該並列計算システムにおいて、n次元トーラスを対象としている。また、予めトーラスネットワーク構造とプロセッサ台数とに応じて適切な通信フェーズと転送パターンとが決定され、各プロセッサがフェーズ管理手段の指示に従って1対1転送を順次実行する。そして、各部分通信フェーズにおいて、フェーズ間の競合を極力回避できるように通信の宛先を決定して、最適な全対全通信が実現できるように構成されている。
特許第2601591号 特開2001−325239号公報
しかしながら、上述のように各部分通信フェーズにおいて、競合や衝突が回避されるように通信の宛先を決定したとしても、各プロセッサが夫々独自のタイミングで部分通信フェーズの通信処理を実行した場合、同一時刻に異なる部分通信フェーズの通信処理が実行されてしまうため、部分通信フェーズ間の競合や衝突が生じてしまう可能性がある。
例えば、各プロセッサ間において物理的な接続距離の差がある場合、各プロセッサの部分通信フェーズにおける通信処理の時間にも差が生じる。この場合、早く処理が終わったプロセッサは、次の部分通信フェーズにより早く移行することとなる。したがって、同時刻に、各プロセッサは異なる部分通信フェーズの通信処理を実行することになり、フェーズ間の競合や衝突が生じる可能性がある。
一方、通信処理の遅れたプロセッサは、他のプロセッサとの通信処理の競合や衝突を繰り返して、さらに通信処理の遅れを増加させることになる。この通信処理の遅れは次第に拡大し、結果として全体の通信フェーズの実行時間(全プロセッサが全通信処理を完了するまでの時間)を増大させてしまう。
図7は、従来の並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。なお、図7において、説明の簡略化のために一部のスイッチのみについて、各プロセッサ通信がそのスイッチ内で処理される時間をバーの長さで表現している。
部分通信フェーズ1において、プロセッサ1が入力ポートを介してプロセッサ通信801を入力し、プロセッサ2が入力ポートを介してプロセッサ通信803を入力している。また、部分通信フェーズ2において、プロセッサ1が入力ポートを介してプロセッサ通信802を、プロセッサ2が入力ポートを介してプロセッサ通信804を入力している。
ここで、同一の部分通信フェーズにおけるプロセッサ通信同士、すなわち、プロセッサ通信801と803及びプロセッサ通信802と804には、フェーズ間の競合及び衝突が生じていない。しかしながら、各転送データサイズや各プロセッサ間の物理的距離に差がある場合には、プロセッサ通信801〜804の処理に要する時間が夫々異なるため、フェーズ間の競合や衝突が発生する可能性がある。
例えば、図8に示す如く、プロセッサ通信901の処理時間が、プロセッサ通信903の処理時間よりも長い場合を想定する。この場合、プロセッサ2は、プロセッサ1のプロセッサ通信901よりも先に、プロセッサ通信903を終了させる。その後、プロセッサ2は、部分通信フェーズ2の処理に移行し、プロセッサ通信904の処理を開始するため、フェーズ間の競合が発生する可能性がある。このフェーズ間の競合によって、例えば、時刻t1から時刻t2までの間において、プロセッサ1によるプロセッサ通信901と、プロセッサ2によるプロセッサ通信904との双方に遅延が生じる可能性がある。
例えば、プロセッサ通信901は、上記フェーズ間の競合がない場合、時刻t1で処理が終了している筈であるが、フェーズ間の競合によって処理の終了時刻がt2まで遅延している。ここで、一方のプロセッサ通信901又は903が終了すると、フェーズ間の競合は解消される。この場合、プロセッサ通信901の処理が終了した時刻t2で、フェーズ間の競合状態が解消されている。上述のように、フェーズ間の競合によって全体の処理時間が増大してしまう問題が生じている。
一方、上記特許文献1に示す並列計算システムは、上述したようなフェーズ間の競合を回避するために、各部分通信フェーズ毎に全プロセッサによる同期処理を行い、全プロセッサの部分通信フェーズを同期させている。しかしながら、このような同期処理は一般に全プロセッサ間の通信を伴うために、コスト増加に繋がる虞がある。
ここで、図9に示す如く、部分通信フェーズ1の終了後、プロセッサ1とプロセッサ2とのバリア同期処理を行うことが想定される。バリア同期処理が完了するまで部分通信フェーズ2の通信処理は実行できないが、フェーズ間の競合による遅延が生じないため、全体の通信時間は短くすることができる。
例えば、図9に示す如く、各部分通信フェーズ間にバリア同期処理を挿入すると、N回の部分通信フェーズで処理される集団通信処理であれば、通信処理中に(N−1)回のバリア同期処理が行われることとなる。さらに、プロセッサ数が増加するに従って、バリア同期処理にかかる時間も増加し、これが通信フェーズ全体の処理時間を増大させることになる。なお、バリア同期処理の時間を含めても全体の通信処理時間を低減できる可能性はあるが、その効果はあまり期待できず、従って、本来不要なバリア同期処理の時間は極力削除されることが望ましい。
また、各部分通信フェーズ間にバリア同期処理を挿入する代わりに、通信時間を夫々計算してその時間だけウェイト(Wait)する方法も考えられるが、この場合も本来不要な待ち時間が生じる点では上記同様なことが言える。
本発明は、このような問題点を解決するためになされたものであり、通信処理の時間を低減できる並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムであって、前記プロセッサは、該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与し、前記ネットワークスイッチ装置は、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とする並列計算システムである。
また、上記目的を達成するための本発明の一態様は、他のプロセッサとネットワークを介して接続され、相互に通信処理を行うプロセッサであって、前記プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対して通信処理の順序を決めるためのフェーズ番号を夫々付与する、ことを特徴とするプロセッサであってもよい。
さらに、上記目的を達成するための本発明の一態様は、複数のプロセッサを相互に接続するネットワークの通信経路を制御するためのネットワークスイッチ装置であって、前記プロセッサは、該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与しており、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とするネットワークスイッチ装置であってもよい。
なお、上記目的を達成するための本発明の一態様は、複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムの通信方法であって、前記プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与し、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とする並列計算システムの通信方法であってもよい。
本発明によれば、通信処理の時間を低減できる並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法を提供できる。
本発明の一実施の形態に係る並列計算システムの概略的なシステム構成を示すブロック図である。 本発明の一実施の形態に係る並列計算システムにおける各プロセッサの概略的なシステム構成を示すブロック図である。 本発明の一実施の形態に係るプロセッサ間ネットワークのネットワークスイッチ装置の概略的なシステム構成例を示すブロック図である。 本発明の一実施の形態に係る並列計算システムの通信処理フローの一例を示すフローチャートである。 通信プロセッサにより生成されるデータパケットの構成例を示す図である。 本発明の一実施の形態に係る並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。 従来の並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。 従来の並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。 従来の並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の一実施の形態に係る並列計算システムの概略的なシステム構成を示すブロック図である。本実施の形態に係る並列計算システム1は、複数のプロセッサ10と、各プロセッサ10を相互に接続するプロセッサ間ネットワーク20と、ネットワーク内の通信経路を制御するためのネットワークスイッチ装置21と、を備えている。複数のプロセッサ10は、プロセッサ間ネットワーク20を介して、他の複数のプロセッサ10に対して同時にデータ通信処理を夫々実行する、全対全通信などの集団通信処理を実行している。
図2は、本実施の形態に係る並列計算システムにおける各プロセッサの概略的なシステム構成を示すブロック図である。各プロセッサ10は、処理装置11と、主記憶装置12と、通信プロセッサ13と、送信ポート14と、受信ポート15と、を有している。
処理装置11は、主記憶装置12及び通信プロセッサ13に夫々接続されており、主記憶装置12に記憶されたデータあるいは通信プロセッサ13からのデータに対する演算処理や制御処理などの各種の処理を実行する、例えば、CPU(Central Processing Unit)などにより構成されている。
主記憶装置12は、処理装置11や通信プロセッサ13からのデータなどを記憶できる、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などにより構成されている。
通信プロセッサ13は、プロセッサ10の通信制御を行っており、送信ポート14を介して他のプロセッサ10に対してデータを送信し、受信ポート15を介して他のプロセッサ10からデータを受信する。一方、通信プロセッサ13は、受信ポート15を介して受信したデータを、処理装置11あるいは主記憶装置12に対して出力する。
また、通信プロセッサ13は、処理装置11あるいは主記憶装置12からのデータを、送信ポート14を介して他のプロセッサ10に対して送信する。また、通信プロセッサ13は、送信ポート14と受信ポート15とを同時に使用して、データの送受信を同時に実行することが可能である。さらに、通信プロセッサ13は、処理装置11を経由せずに直接的に主記憶装置12にアクセス可能である。送信ポート14及び受信ポート15は、通信プロセッサ13と外部とを通信接続するポートとして機能する。
プロセッサ間ネットワーク(ネットワーク)20には、通信ネットワーク内の通信経路の切り替えを制御するためのネットワークスイッチ装置21が設けられている。また、このネットワークスイッチ装置21は、並列計算システム1を構成するプロセッサ10の数に応じて1つ又は複数設けられている。一方のプロセッサ10から出力されたデータは、プロセッサ間ネットワーク20の各ネットワークスイッチ装置21を経由して、他方のプロセッサ10に対して送信される。
図3は、本実施の形態に係るプロセッサ間ネットワークのネットワークスイッチ装置の概略的なシステム構成例を示すブロック図である。ネットワークスイッチ装置21は、水平線と垂直線との各交点で動作する複数のスイッチを含むクロスバスイッチ22と、クロスバスイッチ22に夫々接続され外部からデータが入力される複数の入力部23と、クロスバスイッチ22に夫々接続され外部へデータが出力される複数の出力部24と、各入力部23及びクロスバスイッチ22に接続され、クロスバスイッチ22内の各スイッチを制御するスイッチ制御部25と、を有している。
スイッチ制御部25は、複数の調停部26と、複数の調停部26に夫々対応して接続された複数のフェーズ選択部27と、を有している。各調停部26は、クロスバスイッチ22を介して各出力部24に夫々対応している。各調停部26は、各入力部23から夫々入力される入力信号がどの出力部24から出力するかを選択するためのセレクト信号を、クロスバスイッチ22の各スイッチに対して出力する。各フェーズ選択部27は、各調停部26及び各出力部24に夫々対応して設けられている。
次に、本実施の形態に係る並列計算システムの通信処理フローについて、詳細に説明する。図4は、本実施の形態に係る並列計算システムの通信処理フローの一例を示すフローチャートである。まず、各プロセッサ10は、所定の演算処理を実行し(ステップS401)、その演算処理が完了したことを確認し、プロセッサ10間における演算処理の同期を行うためのプロセッサ間同期処理を実行する(ステップS402)。
各プロセッサ10は、プロセッサ間同期処理の完了を確認した後、部分通信フェーズ1〜Nの通信処理を順次実行することで、集団通信処理を実行する(ステップS403)。ここで、各プロセッサ10は、各部分通信フェーズ1〜N(Nは任意の自然数)において、例えば、夫々指定された宛先のプロセッサ10に対してデータを送信するための通信処理を実行する。
各プロセッサ10は、図4の(ステップS403)に示す如く、部分通信フェーズ1、2、3・・・、Nの順番で各通信処理を実行する。以下、各部分通信フェーズ1〜Nの番号をフェーズ番号と称す。
なお、各プロセッサ10は、各部分通信フェーズ1〜N間において、プロセッサ間同期処理は実行する必要がない。すなわち、本実施の形態において、同期処理は、集団通信処理の開始前の(ステップS402)と完了後の(ステップS404)の2回のみで、部分通信フェーズ毎に同期処理を実行する必要がないため、処理時間を短縮することができる。また、各プロセッサ10は、部分通信フェーズのフェーズ番号を昇順で付与しているが、これに限らず、例えば、降順で付与してもよい。
各プロセッサ10は、全ての部分通信フェーズ1〜Nの通信処理を完了させると、その集団通信処理の完了を確認するためのプロセッサ間同期処理を実行する(ステップS404)。そして、各プロセッサ10は、このプロセッサ間同期処理の完了を確認した後、後続の演算処理を実行する(ステップS405)。
次に、上述の部分通信フェーズ1〜Nの処理について、詳細に説明する。上述の部分通信フェーズ1〜Nにおいて、各プロセッサ10は、夫々指定された宛先のプロセッサ10に対して、データ転送処理を実行する。ここで、各プロセッサ10は、このデータ転送処理において、ライト転送及びリード転送のうちいずれの処理を実行してもよい。以下、各プロセッサ10が、例えば、ライト転送処理を実行する場合について説明する。
各プロセッサ10の処理装置11は、通信プロセッサ13に対して、ライト転送処理の指示信号を送信する。なお、このライト転送処理の指示信号は、転送データが格納される主記憶装置12上の格納位置、転送データのサイズ、宛先ノード、宛先ノード上における転送データの格納位置、部分通信フェーズの番号、などの転送パラメータ情報を含む。これらの転送パラメータ情報は、処理装置11上で動作するソフトウェアプログラムによって指定される。また、処理装置11は、転送パラメータを通信プロセッサ13に対して直接的に送信しているが、これに限らず、通信プロセッサ13が、主記憶装置12に予め記録された転送パラメータを適宜読み込むようにしても良い。
通信プロセッサ13は、処理装置11からのライト転送処理の指示信号に従って、主記憶装置12からデータを読み出す。そして、通信プロセッサ13は、読み出したデータに基づいてデータパケットを生成し、生成したデータパケットを、送信ポート14を介してプロセッサ間ネットワーク20に対して送出する。
ここで、通信プロセッサ13は、例えば、転送データを固定長のデータに分割し、分割した固定長のデータに夫々ヘッダ情報を付加してデータパケットを生成する、いわゆるパケット交換方式を適用している。図5は、通信プロセッサ13により生成されるデータパケットの構成例を示す図である。
データパケット600は、制御情報を構成するパケットヘッダ601と、転送データを構成するボディ602と、を含む。このパケットヘッダ601は、種別情報(コマンド部)603、ルーティング情報604、および部分通信フェーズ番号(フェーズ番号)605、を含む。この中で、部分通信フェーズ番号605は、処理装置11によって指定された転送パラメータの一つである。また、パケットヘッダ601は、主記憶装置12から読み出されたデータを含んでおり、さらに、エラー訂正コード、エラー検出コード、リンク制御に用いられる情報、等を含んでいてもよい。
各プロセッサ10から送出されたデータパケット600は、プロセッサ間ネットワーク20内のネットワークスイッチ装置21を一つまたは複数経由して、そのデータパケット600のルーティング情報604によって指定された宛先のプロセッサ10に対して送信される。一方、その宛先のプロセッサ10の受信ポート15は、プロセッサ間ネットワーク20を介して送信されたデータパケット600を受信し、通信プロセッサ13は、その受信されたデータパケット600のボディ602に含まれるデータを、主記憶装置12に書き込むことで、データ転送処理を終了させる。
なお、通信プロセッサ13は、送信元プロセッサ10に対して、データの受信完了を通知するためのリプライ信号を返信してもよい。また、上述の如く、各プロセッサ10がライト転送処理を実行する場合について説明したが、リード転送処理の実行についてもライト転送処理と同様であるため、詳細な説明は省略する。
次に、プロセッサ間ネットワーク20内のネットワークスイッチ装置21におけるデータパケット処理について、詳細に説明する。ネットワークスイッチ装置21の入力部23は、順次入力されるデータパケット600を、その先頭から保持しつつ、保持したデータパケット600のパケットヘッダ601をスイッチ制御部25に対して送出する。
スイッチ制御部25は、入力部23からのパケットヘッダ601のルーティング情報604を参照して出力部24を選択し、選択した出力部24に対応するフェーズ選択部27に対して、パケットヘッダ601の到着を通知する。
フェーズ選択部27は、到着したパケットヘッダ601のうち、部分通信フェーズ番号605が最も小さいパケットヘッダ601を選択して、選択したパケットヘッダ601の情報を、調停部26に対して通知する。なお、部分通信フェーズ番号605が最も小さいパケットヘッダ601が複数ある場合には、フェーズ選択部27は、その複数あるパケットヘッダ601の情報を、全て調停部26に対して通知する。
調停部26は、次のフェーズ間の競合調停を行う際に、フェーズ選択部27から通知されたパケットヘッダ601のみでフェーズ間の競合調停を行い、その中から1つのパケットヘッダ601を選択し、クロスバスイッチ22に対して通知する。
クロスバスイッチ22は、スイッチ制御部25からのセレクト信号(制御信号)に従って入力部23を選択し、スイッチ制御部25により選択された入力部23のデータパケット600を、対応する出力部24に対して出力する。なお、出力部24が同一となるデータパケット600が、入力部23に複数存在する場合、フェーズ選択部27は、部分通信フェーズ番号605が最も小さいデータパケット600だけを選択的に調停部26に入力させる。
また、部分通信フェーズ番号605が大きいパケットヘッダ601が、先に調停部26に到着していた場合、調停部26は、そのパケットヘッダ601を処理するが、以後のパケットヘッダ601については部分通信フェーズ番号605が小さいパケットヘッダ601を優先的に処理する。
図6は、本実施の形態に係る並列計算システムにおいて、各プロセッサ通信の処理状態を説明するための図である。なお、図6において、説明の簡略化のために一部のネットワークスイッチ装置21のみについて、各プロセッサ通信がそのネットワークスイッチ装置21内で処理される時間をバーの長さで表現している。
図6に示す如く、上記データパケットに対応するプロセッサ通信701及びプロセッサ通信703には、フェーズ間の競合が生じないため、時刻t0までに通信処理が完了している。プロセッサ2は、プロセッサ通信703の通信処理を完了させた後、プロセッサ通信704の処理を開始する。
ここで、プロセッサ通信701の部分通信フェーズ番号は1であり、プロセッサ通信704の部分通信フェーズ番号は2であるため、スイッチ制御部25のフェーズ選択部27は、部分通信フェーズ番号が小さいプロセッサ通信701に対応するパケットヘッダのみを選択して調停部26に対して出力する。これにより、ネットワークスイッチ装置21内において、調停部26はプロセッサ通信701だけを優先的に出力させ、その間、プロセッサ通信704を入力部23で待機させる。
このように、部分通信フェーズ番号が小さいプロセッサ通信701の処理が優先的に処理されるため、遅延することなく時刻t1で終了する。その後、フェーズ選択部27は、プロセッサ通信704のパケットヘッダを調停部26に対して出力するため、プロセッサ通信704は時刻t1以降にプロセッサ通信702と同時に処理される。
すなわち、図6に示す如く、スイッチ制御部25により、プロセッサ通信704の処理の開始を遅延させ、プロセッサ通信701を優先的に処理させることで、プロセッサ通信701の処理が遅延することはなく、図8に示す従来の処理結果と比較して短時間で通信処理を完了させることができる。さらに、部分通信フェーズ間において明示的なバリア同期処理を実行する必要もないため、図9に示す従来の処理結果と比較しても全体の処理時間を短縮することができる。
以上、本実施の形態に係る並列計算システム1によれば、部分通信フェーズ番号がより小さいプロセッサ通信を優先的に処理させ、フェーズ間の競合が連鎖的に起こることを回避することができるため、結果として集団通信処理の時間を効率的に低減できる。
また、この集団通信処理の時間の低減に際し、部分通信フェーズ間でプロセッサ間同期処理を実行する必要がないため、従来技術と比較して集団通信の処理時間はより短くすることができる。さらに、このように集団通信処理の時間を低減することで、並列計算システム1の効率的な利用が可能となる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
また、上述の処理装置11上で動作するソフトウェアプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
(付記1)
複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムであって、前記プロセッサは、該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与し、前記ネットワークスイッチ装置は、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とする並列計算システム。
(付記2)
(付記1)記載の並列計算システムであって、前記プロセッサは、前記各プロセッサ通信に対して前記フェーズ番号を昇順で夫々付与し、前記ネットワークスイッチ装置は、前記フェーズ番号が小さいプロセッサ通信を優先的に処理するように制御を行う、ことを特徴とする並列計算システム。
(付記3)
他のプロセッサとネットワークを介して接続され、相互に通信処理を行うプロセッサであって、前記プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対して、通信処理の順序を決めるためのフェーズ番号を夫々付与する、ことを特徴とするプロセッサ。
(付記4)
(付記3)記載の並列計算システムであって、前記プロセッサ通信に対して、前記フェーズ番号を昇順又は降順で付与する、ことを特徴とするプロセッサ。
(付記5)
複数のプロセッサを相互に接続するネットワークの通信経路を制御するためのネットワークスイッチ装置であって、前記プロセッサは、該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与しており、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とするネットワークスイッチ装置。
(付記6)
(付記5)記載の並列計算システムであって、前記プロセッサは、前記プロセッサ通信に対して前記フェーズ番号を昇順で付与しており、前記フェーズ番号が小さいプロセッサ通信を優先的に処理するように制御を行う、ことを特徴とするネットワークスイッチ装置。
(付記7)
複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムの通信方法であって、前記プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対してフェーズ番号を夫々付与し、前記プロセッサにより付与された前記フェーズ番号に基づいて、前記プロセッサ通信の処理順序を制御する、ことを特徴とする並列計算システムの通信方法。
(付記8)
他のプロセッサとネットワークを介して接続され、相互に通信処理を行うプロセッサのプログラムであって、前記プロセッサ間におけるプロセッサ通信は複数の部分通信フェーズに分割されており、該分割された部分通信フェーズに対応する各プロセッサ通信に対して、通信処理の順序を決めるためのフェーズ番号を夫々付与する処理をコンピュータに実行させることを特徴とするプログラム。
1 並列計算システム
10 プロセッサ
11 処理装置
12 主記憶装置
13 通信プロセッサ
14 送信ポート
15 受信ポート
20 プロセッサ間ネットワーク
21 ネットワークスイッチ装置
22 クロスバスイッチ
23 入力部
24 出力部
25 スイッチ制御部

Claims (6)

  1. 複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムであって、
    前記プロセッサは、
    該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対して降順又は昇順でフェーズ番号を夫々付与し、
    前記部分通信フェーズに対応したフェーズ番号を持つパケットのみを一斉に送信開始させ、
    前記ネットワークスイッチ装置は、
    前記パケットの送信が早期に終了した前記プロセッサがあるときでも、前記降順の場合は大きいフェーズ番号のパケットを、前記昇順の場合は小さいフェーズ番号のパケットを、次の部分通信フェーズまで待機させる制御を行う、ことを特徴とする並列計算システム。
  2. 請求項1記載の並列計算システムであって、
    前記プロセッサは、前記各プロセッサ通信に対して前記フェーズ番号を昇順で夫々付与し、
    前記ネットワークスイッチ装置は、前記フェーズ番号が小さいプロセッサ通信を優先的に処理するように制御を行う、ことを特徴とする並列計算システム。
  3. 複数のプロセッサを相互に接続するネットワークの通信経路を制御するためのネットワークスイッチ装置であって、
    前記プロセッサは、該プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対して降順又は昇順でフェーズ番号を夫々付与し、前記部分通信フェーズに対応したフェーズ番号を持つパケットのみを一斉に送信開始させており、
    前記パケットの送信が早期に終了した前記プロセッサがあるときでも、前記降順の場合は大きいフェーズ番号のパケットを、前記昇順の場合は小さいフェーズ番号のパケットを、次の部分通信フェーズまで待機させる制御を行う、ことを特徴とするネットワークスイッチ装置。
  4. 請求項記載の並列計算システムであって、
    前記プロセッサは、前記プロセッサ通信に対して前記フェーズ番号を昇順で付与しており、
    前記フェーズ番号が小さいプロセッサ通信を優先的に処理するように制御を行う、ことを特徴とするネットワークスイッチ装置。
  5. 複数のプロセッサと、該複数のプロセッサを相互に接続するネットワークと、該ネットワークの通信経路を制御するための少なくとも1つのネットワークスイッチ装置と、を備え、複数の前記プロセッサが他の複数の前記プロセッサに対して同時に通信処理を夫々実行する並列計算システムの通信方法であって、
    前記プロセッサ間におけるプロセッサ通信を複数の部分通信フェーズに分割し、該分割された部分通信フェーズに対応する各プロセッサ通信に対して降順又は昇順でフェーズ番号を夫々付与し、前記部分通信フェーズに対応したフェーズ番号を持つパケットのみを一斉に送信開始させ、
    前記パケットの送信が早期に終了した前記プロセッサがあるときでも、前記降順の場合は大きいフェーズ番号のパケットを、前記昇順の場合は小さいフェーズ番号のパケットを、次の部分通信フェーズまで待機させる制御を行う、ことを特徴とする並列計算システムの通信方法。
  6. 複数のプロセッサを相互に接続するネットワークの通信経路を制御するためのネットワークスイッチ装置のプログラムであって、
    前記プロセッサ間におけるプロセッサ通信は複数の部分通信フェーズに分割されており、該分割された部分通信フェーズに対応する各プロセッサ通信に対して降順又は昇順でフェーズ番号を夫々付与され、前記部分通信フェーズに対応したフェーズ番号を持つパケットのみを一斉に送信開始させており、
    前記パケットの送信が早期に終了した前記プロセッサがあるときでも、前記降順の場合は大きいフェーズ番号のパケットを、前記昇順の場合は小さいフェーズ番号のパケットを、次の部分通信フェーズまで待たせる制御を行う、処理をコンピュータに実行させることを特徴とするプログラム。
JP2010121928A 2010-05-27 2010-05-27 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法 Expired - Fee Related JP5556377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010121928A JP5556377B2 (ja) 2010-05-27 2010-05-27 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010121928A JP5556377B2 (ja) 2010-05-27 2010-05-27 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法

Publications (2)

Publication Number Publication Date
JP2011248681A JP2011248681A (ja) 2011-12-08
JP5556377B2 true JP5556377B2 (ja) 2014-07-23

Family

ID=45413853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010121928A Expired - Fee Related JP5556377B2 (ja) 2010-05-27 2010-05-27 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法

Country Status (1)

Country Link
JP (1) JP5556377B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137732A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 情報処理システム及び情報処理システムの制御方法
JP6178936B1 (ja) * 2017-01-24 2017-08-09 株式会社Preferred Networks パケットスイッチ装置及びメッセージ交換システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10262067A (ja) * 1997-03-17 1998-09-29 Sharp Corp パケット通信方式
JP4368478B2 (ja) * 2000-01-28 2009-11-18 三菱電機株式会社 エレベータのローカル機器ネットワークおよびこれの送信制御方法
JP4604794B2 (ja) * 2005-03-29 2011-01-05 日本電気株式会社 ノード間接続装置

Also Published As

Publication number Publication date
JP2011248681A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
JP5304194B2 (ja) バリア同期装置、バリア同期システム及びバリア同期装置の制御方法
US8638665B2 (en) Router, information processing device having said router, and packet routing method
EP2393015B1 (en) Information processing system, information processing device, control method for information processing device, control program for information processing device, and computer-readable recording medium
JP5549574B2 (ja) 並列計算機システム、同期装置、並列計算機システムの制御方法
JP4763405B2 (ja) データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ
JPH08185380A (ja) 並列計算機
CN113709040B (zh) 一种基于可扩展互联裸芯的封装级网络路由算法
JP2008041099A (ja) データ処理装置のための相互接続論理
JP2012128809A (ja) 並列計算機システム、同期装置、並列計算機システムの制御方法
US20140359195A1 (en) Crossbar switch, information processing apparatus, and information processing apparatus control method
US8416702B2 (en) Network switch, path setting method, and program
JP5556377B2 (ja) 並列計算システム、プロセッサ、ネットワークスイッチ装置、及び通信方法
US10496592B2 (en) System and method to effectively overlap computation and reduction operation of nonblocking collective communication
CN108541365B (zh) 用于交换机中拥塞信息的分发的设备和方法
JP5488589B2 (ja) ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム
KR101373778B1 (ko) 시스템 온 칩의 내부 통신을 위한 네트워크 온 칩 및 데이터 전송 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP5212743B2 (ja) 通信方法
JP6221498B2 (ja) 情報処理システム及び情報処理システムの制御方法
US20140201475A1 (en) Information processing system and method of controlling the same
US10567306B2 (en) Communication management list generation device, communication management list generation method, and storage medium in which communication management list generation program is stored
JP5310735B2 (ja) パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
CN114846775B (zh) 用于在自动化网络中的用户之间数据通信的方法、用于自动化网络的主用户和自动化网络
US11093436B2 (en) Arithmetic processing device, information processing apparatus, and control method of the arithmetic processing device
KR20060130192A (ko) 네트워크를 통하여 통신이 가능한 데이터 처리 유닛을가지는 데이터 처리 회로
JP2005212549A (ja) プロセス制御システム及びプロセス制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R150 Certificate of patent or registration of utility model

Ref document number: 5556377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees