JP6048505B2 - 並列計算機、ノード装置、及び並列計算機の制御方法 - Google Patents

並列計算機、ノード装置、及び並列計算機の制御方法 Download PDF

Info

Publication number
JP6048505B2
JP6048505B2 JP2014536537A JP2014536537A JP6048505B2 JP 6048505 B2 JP6048505 B2 JP 6048505B2 JP 2014536537 A JP2014536537 A JP 2014536537A JP 2014536537 A JP2014536537 A JP 2014536537A JP 6048505 B2 JP6048505 B2 JP 6048505B2
Authority
JP
Japan
Prior art keywords
node
network interface
parallel computer
nodes
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
Application number
JP2014536537A
Other languages
English (en)
Other versions
JPWO2014045444A1 (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
Publication of JPWO2014045444A1 publication Critical patent/JPWO2014045444A1/ja
Application granted granted Critical
Publication of JP6048505B2 publication Critical patent/JP6048505B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17362Indirect interconnection networks hierarchical topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明は、並列計算機、ノード装置、及び並列計算機の制御方法に関する。
外部のネットワークと通信することができる並列計算機が存在する。図1に、外部のネットワークとの間でデータを送受信する並列計算機の例を示す。図1の並列計算機1Aは、計算処理を行う複数の計算ノード11a,11b,・・・、及び外部装置と通信するためのNIC(Network Interface Card)13と接続された1つのI/O(Input/Output)ノード12を有している。また、計算ノード及びI/OノードはそれぞれCPU(Central Processing Unit)及びルータを有する。そして、計算ノード11及びI/Oノード12はルータを介して接続されている。また、I/Oノード12のCPUはNIC13と接続されており、NIC13を介して、外部ネットワーク2Aと通信することができる。
また、並列計算機に含まれる複数の計算ノード及びI/Oノードを接続するトポロジとして、メッシュやトーラス等が知られている。送信元の計算ノードと宛先のI/Oノードとの間に、取り得る複数の経路が存在すれば、通信経路上の計算ノードに故障が生じた場合でも、並列計算機の各計算ノードは故障が生じた計算ノードを迂回してデータを送信することができる。
特開平10−69471号公報 特開2007−110240号公報
しかしながら、迂回経路は、例えば並列計算機の計算ノードに処理を割り当てる管理ノードによって指示されるものであり、I/OノードのNICは外部ネットワークから受信したデータに設定するための迂回経路を保持していない。したがって、外部ネットワークから並列計算機内部の計算ノードへのデータを受信した場合、I/OノードのNICは受信したデータに並列計算機内部のネットワークにおける迂回経路を設定することができない。
そこで、開示の技術は、外部ネットワークから受信したデータを並列計算機内の計算ノードへ送信する場合に、通信経路上の計算ノードに不具合が生じたときでも、不具合が生じた計算ノードを迂回してデータを転送できるようにすることを目的とする。
開示の技術の一側面は、複数のノードを有する並列計算機である。また、ノードの各々は、他のノードの各々と直接的又は間接的に接続されるルータと、並列計算機の外部ネットワークと接続されるネットワークインターフェースとを有し、当該ネットワークインターフェースは、当該ネットワークインターフェースが含まれるノードから他のノードへの通信経路に対応する迂回経路を表す迂回経路情報を保持する記憶部と、ネットワークインターフェースが、外部ネットワークから当該並列計算機のノードを宛先とするデータを受信した場合、当該ネットワークインターフェースが含まれるノードからデータの宛先ノードへの通信経路に対応する迂回経路情報をデータに設定して、迂回経路情報が設定されたデータを宛先ノードへ送信する受信処理部とを有する。
開示の技術によれば、外部ネットワークから受信したデータを並列計算機内の計算ノードへ送信する場合に、通信経路上の計算ノードに不具合が生じたときでも、不具合が生じた計算ノードを迂回してデータを転送できる。
図1は、並列計算機の一例を示す図である。 図2は、2次元メッシュを説明するための図である。 図3は、インターコネクトの一例を示す図である。 図4は、インターコネクトの詳細を説明するための図である。 図5は、インターコネクトの他の例を示す図である。 図6は、ノードの構成の一例を示す図である。 図7Aは、ルータの構成の一例を示す図である。 図7Bは、NICの機能ブロック図の一例である。 図8は、実施の形態に係るパケットの構成の一例を示す図である。 図9は、外部ネットワークへデータを送信する処理の処理フローの一例である。 図10は、NICが迂回経路を登録する処理の処理フローの一例である。 図11は、アドレステーブルに登録される情報の一例を示す図である。 図12は、外部ネットワークからデータを受信する処理の処理フローの一例である。 図13は、データの宛先を確認する処理の処理フローの一例である。 図14は、管理ノードが迂回経路情報を設定する処理の処理フローの一例である。
以下、図面を参照して、一実施形態に係る並列計算機について説明する。以下の実施形態の構成は例示であり、本並列計算機は実施形態の構成には限定されない。
[インターコネクトのトポロジ]
まず、並列計算機のインターコネクトのトポロジ(すなわち、並列計算機の内部ネットワークの接続形態)について説明する。並列計算機は、複数の計算ノードを有し、各計算ノードはCPU、ルータ等を有する。そして、各計算ノードはルータを介して他のいくつかの計算ノードと接続されており、計算ノード間を接続する内部ネットワークをインターコネクトと呼ぶ。また、複数のCPUは並列に計算を行い、インターコネクトを介して互いに計算結果を送受信したり、並列計算機内の計算ノードと外部ネットワークとの間でデータを送受信したりする。
インターコネクトのトポロジは、隣接する計算ノードとの接続(すなわち、リンク)の数を表す次数(degree)、計算ノード間の最大距離を表す直径(diameter)、対称性(symmetry)等に基づいて分類できる。各計算ノードが他のすべての計算ノードと接続されている完全結合であれば、他の計算ノード等を経由することなく任意の2つの計算ノード間で直接通信することができる。しかしながら、計算ノード数の増加に伴い完全結合の実装は困難になる。よって、現実的には、隣接する計算ノードを網目状に接続したトポロジであるメッシュや、メッシュにおける端の計算ノード同士を接続してすべての計算ノードのリンク数を等しくしたトポロジであるトーラス等が採用される。
図2に、2次元メッシュの例を示す。図2に示す並列計算機1Bは、図2において左右方向を表すX方向と、上下方向を表すY方向とにそれぞれ4つずつ、計16の計算ノードを網目状に有している。そして、各計算ノードは、X方向及びY方向の隣接する計算ノードと接続されている。なお、外周部に存在する計算ノードはその内側に存在する計算ノードよりも接続ノード数が少ない。また、図2の例では計算ノードの識別符号として、便宜上、X方向及びY方向の接続順序を表す2つの通し番号が付されている。
図3に本実施の形態に係るトポロジの一例を示す。図3の並列計算機1Cに含まれる24の計算ノード(ノード装置とも表す)は、6つのグループ1G〜6Gに分けられている。各グループはそれぞれ4つの計算ノード0〜3を含み、グループ内の4つの計算ノード0〜3は完全結合で接続されている。また、グループ間において、対応する位置に存在する計算ノード(図3の例では、グループ内の番号が同一である計算ノード)が直列に接続され、1次元のトーラスを形成している。図3の例では、便宜上、各計算ノードを識別するために、グループ番号及びノード番号を接続して計算ノード1G0〜計算ノード6G3と呼ぶ。また、図3の例では、計算ノード3G0及び計算ノード3G1が、イーサネット(登録商標)規格が採用された外部ネットワーク2B(以下、単にイーサネット2Bとも呼ぶ)と接続されている。なお、本実施の形態では、外部ネットワークと通信可能に接続される計算ノードを、便宜上、I/Oノードとも呼ぶ。
本実施の形態では、少なくとも1つの計算ノードのルータがイーサネットNICを有する。なお、すべての計算ノードのルータがイーサネットNIC(すなわち、外部ネットワークと接続されたネットワークインターフェース)を有するようにしてもよい。並列計算機が有する複数の計算ノードの構成を統一すれば、計算ノードの開発や検証にかかる工数を抑えることができる。
次に、図3におけるグループ3Gとイーサネット2Bとの接続の詳細を、図4に示す。図4の例では、グループ3Gは4つの計算ノード3Gi(i=0,1,2,3)を含んでいる。また、計算ノード3Giは、CPU3GiC、ルータ3G0R及びイーサネットNIC3GiNをそれぞれ有している。なお、便宜上ルータとイーサネットNICとを接続して示しているが、ルータがイーサネットNICを有するようにしてもよい。そして、イーサネットNIC3G0N及び3G1Nが、イーサネット2Bと接続されている。このように、複数のイーサネットNICのうち少なくとも一部がスイッチ等を介して物理的に外部ネットワーク(例えば、イーサネット)と接続される。
また、並列計算機の内部ネットワークに接続された管理ノードが、イーサネットNICの有効又は無効の設定を切り替えるようにしてもよい。図4の例では、破線で示したイーサネットNIC3G2N及び3G3Nは無効に設定され、イーサネットNICとして機能しない状態であるものとする。また、実線で示したイーサネットNIC3G0N及び3G1Nは、イーサネットNICとしての機能が有効化されている。
例えば、管理ノードが所定のレジストリに、各イーサネットNICに対応付けて有効又は無効の設定を記憶させておくようにしてもよい。そして、当該設定に基づいて、各計算ノードが外部ネットワークとの通信に使用するイーサネットNICを、管理ノードが指示するようにしてもよい。すなわち、管理ノードが設定を変更することにより、各計算ノードが有するイーサネットNICを有効化又は無効化することができる。管理ノードは、並列計算機の起動時又は計算ノードに実行させる処理の割り当て(ジョブの投入とも表す)時に、イーサネットNICの有効化又は無効化を適宜行うようにしてもよい。
なお、本実施の形態に係る管理ノードは、例えば複数の計算ノードの動作を制御するノードである。管理ノードは、図3に示した計算ノード1G0〜計算ノード6G3のいずれかであってもよいし、例えば図5に示すように、計算ノード1G0〜計算ノード6G3のうちの少なくとも1つの計算ノードと接続された他のノードであってもよい。図5に示す管理ノード4は、計算ノード2G2と接続されている。また、上で述べたように、管理ノードは、図5には図示していないレジスタを有し、当該レジスタは各計算ノードが有するイーサネットNICに対応付けて有効又は無効の設定を記憶するようにすることができる。
なお、図3〜図5に示した、グループの数やグループに含まれる計算ノードの数、計算ノード間の接続の数は一例であり、本実施の形態に係る並列計算機はこれらには限定されない。
[ノードの構成]
図6に、計算ノードの構成の一例を示す。本実施形態に係る並列計算機1の計算ノード100(図3及び5の計算ノード1G0〜計算ノード6G3に相当する)は、CPU101と、メモリ102と、ネットワークI/F(Interface)103と、ルータ104とを有する。そして、CPU101と、メモリ102と、ネットワークI/F103とがバス105で接続されている。また、ネットワークI/F103とルータ104とが接続されており、ルータ104は内部ネットワークに存在する図示していない1以上の他の計算ノードと接続される。さらに、ルータ104が有する図示していないネットワークI/F(例えば、イーサネットNIC)を介して外部ネットワーク(例えば、イーサネット)と接続されることもある。また、各計算ノードが有するネットワークI/F103には、物理アドレス(例えばMACアドレス)が付与されており、物理アドレスを用いて外部ネットワークと通信することができる。本実施形態において物理アドレスとは、予め通信装置に割り当てられた固有のアドレスをいう。なお、上で述べた管理ノードについても、例えば図6に示した計算ノードと同様の構成にすることができる。
計算ノード100のCPU101は、例えば図示していない管理ノードから内部ネットワーク及びルータ104を介して、ジョブの投入を受け、演算処理を行う。また、CPU101は、ルータ104及び内部ネットワークを介して他の計算ノードとの間で計算結果を送受信したり、ルータ104及び外部ネットワークを介して図示していない外部装置との間でデータを送受信したりする。また、CPU101は、処理に用いられるデータや計算結果等を適宜メモリ102に記憶させたり読み出したりする。
図7Aに、ルータ104の構成の一例を示す。本実施の形態に係るルータ104は、CPU1041と、メモリ1042と、ネットワークI/F1043(1043a〜1043n)と、NIC(Network Interface Card)200とを有する。CPU1041は、メモリ1042に格納されたプログラムを実行し、ルーティング処理を行う。
具体的には、ネットワークI/F1043を介して受信し、メモリ1042に保持されたデータの内容に基づいて当該データの宛先を判断し、当該データを内部ネットワーク又は外部ネットワークに接続されたネットワークI/F1043に出力する。なお、CPUは、マイクロコントローラのような処理装置であってもよい。また、CPU等の処理装置がプログラムを実行することによりルーティングを行うのではなく、ハードウェアによりルーティングを行うこともできる。例えば、ゲートアレイのような設計・開発方法により製造された専用のLSI(Large Scale Integration)によりルーティングを行うようにしてもよい。
また、メモリ1042は、揮発性又は不揮発性の記憶装置であり、CPUが実行するプログラムを格納したり、転送するデータを保持したりする。また、ネットワークI/F1043は、当該ルータを他の計算ノードのルータ等と接続するためのポートである。並列計算機内の各計算ノードが有するルータは、ネットワークI/F1043を介して、隣接する計算ノードのルータと接続される。また、NIC200は、ネットワークI/F1043及び外部ネットワークと接続され、内部ネットワークの転送データと外部ネットワークの転送データとを変換する。
また、NIC(例えば、イーサネットNIC)200は、例えば、CPU10441、メモリ10442、ネットワークI/F10443を有する。CPU10441は、メモリ1042に格納されたプログラムを実行し、内部ネットワークのパケットと、外部ネットワークのイーサネットフレームとを相互に変換する処理を行う。なお、CPU10441も、ルータ104のCPU1041と同様に、マイクロコントローラのような処理装置であってもよいし、ハードウェアにより実現するようにしてもよい。また、メモリ10442は、揮発性又は不揮発性の記憶装置であり、CPU10441が実行するプログラムや、計算ノードの内部ネットワークにおけるアドレスと計算ノードの物理アドレス等とを対応付けて保持するテーブル、転送するデータ等を記憶する。そして、NIC200は、ネットワークI/F10443を介して、ルータ及び外部ネットワークと接続される。
なお、図7Aのような構成でなく、例えば、上で述べた2次元メッシュの軸(X,Y)方向に対応する入出力ポート及びバッファと入出力ポート間の接続を切り替えるクロスバーとを有するオンチップルータを採用するようにしてもよい。そして、例えば1つのポートに上記のようなNICを接続するようにしてもよい。
図7Bに、ルータ104が有するイーサネットNICの機能ブロック図を示す。本実施の形態に係るNIC200(図3及び5のイーサネットNIC1G0N〜6G3Nに相当する)は、送信処理部201と、アドレステーブル202と、受信処理部203と、設定部204とを有する。送信処理部201は、並列計算機の送信元の計算ノード(送信元ノードとも呼ぶ)から内部ネットワークのパケットを受信し、イーサネットフレームを生成して外部ネットワークの宛先装置へ送信する。また、内部ネットワークのパケットから迂回経路を示す情報を抽出し、アドレステーブル202に登録する。受信処理部203は、外部ネットワークの送信元装置からイーサネットフレームを受信し、内部ネットワークのパケットを生成して並列計算機の宛先の計算ノード(送信先ノード又は宛先ノードとも呼ぶ)へ送信する。また、アドレステーブル202から迂回経路を示す情報を読み出し、内部ネットワークのパケットに設定する。また、設定部204は、例えば管理ノードから内部ネットワークを介して指示を受け、アドレステーブルに迂回経路を示す情報を登録又は更新する。なお、例えば、図7Aに示したCPU10441が、メモリ10442に格納されたプログラムを実行することにより、イーサネットNICを送信処理部201、受信処理部203及び設定部204として働かせる。
[ルーティング]
本実施の形態に係る並列計算機は、内部の計算ノード間におけるパケットルーティングの方式として、例えば次元順ルーティングを採用する。次元順ルーティングは、次元順にパケットを転送する方式である。例えば図2に示した2次元メッシュであれば、任意の2つの計算ノード間において、まず送信元ノードから、宛先ノードが存在するX方向の位置(例えば、識別符号におけるX方向の番号が宛先ノードと同一の計算ノード)までX方向にパケットを転送し、その後、Y方向に宛先ノードまでパケットを転送する。次元順ルーティングの利点としては、ルーティングが単純であること、ある送信元ノードから宛先ノードまでの経路が一意に決まるため、送信した順にパケットが届くこと等が挙げられる。
また、グループ内は完全結合で接続され、グループ間は直列(例えば1次元のトーラス状)に接続される、図3に示したトポロジを採用する場合も、グループ内の接続及びグループ間の接続をそれぞれ1つの次元として次元順ルーティングを適用することができる。すなわち、まず送信元ノードと同一のグループ内において宛先ノードと対応する位置にある(図3において同一の番号が付された)計算ノードへパケットを転送し、その後宛先ノードまでグループ間のリンクを介してパケットを転送する。
[スイッチング]
本実施の形態に係る並列計算機は、内部の計算ノード間におけるパケットスイッチング方式として、例えばワームホール方式やバーチャルカットスルー方式を採用することができる。ワームホール方式では、1つのパケットを複数のフリットに分割して送信する。フリットは、例えば計算ノード間のリンクの帯域に応じて、1サイクルで送信できる大きさに設定する。また、各計算ノードは1フリットを格納できる大きさのバッファを有しており、各計算ノードはフリットを受信するたびに、受信したフリットを次の計算ノードへ転送する。
よって、フリット単位で転送するワームホール方式は、パケット単位で転送するストアアンドフォワード方式よりも通信遅延が小さくなる。また、パケット全体を格納できるバッファを用意するよりも、バッファの容量が小さくて済むため、コストが低減される。しかし、転送先ノードのバッファに空きがなければ、1つのパケットが複数の計算ノードのバッファを占有した状態で待ちが発生し、通信性能が悪化するおそれがある。
また、バーチャルカットスルー方式は、各計算ノードがパケット全体を格納できる大きさのバッファを有し、フリット単位で転送を行う方式である。転送先の計算ノードのバッファに空きがない場合は、先頭のフリットが存在する計算ノードのバッファに後続のフリットが格納される。よって、1つのパケットが複数の計算ノードのバッファを占有した状態で待ちが発生することはない。また、通信遅延の大きさはワームホール方式と同程度になる。
上記ワームホール方式やバーチャルカットスルー方式では、各計算ノードはリンクごとに最低で1つのバッファを有していれば通信を行うことができる。しかしながら、1つのリンクに対してバッファを複数設けることで仮想的な複数のチャネルを設けることもできる。そして、複数の計算ノードに渡って待ちが発生した場合に他の仮想チャネルを用いるようにすれば、通信性能の悪化を低減することができる。
しかしながら、バッファの容量はコストとの兼ね合いで制限されるため、現実的にはある計算ノードにパケットが集中すればその計算ノードがボトルネックとなるおそれがある。そして、並列計算機の複数の計算ノードは本来互いの計算結果を参照して処理を行っているところ、通信経路の混雑によって、計算ノード間で行われる通信に影響を与えてしまうおそれもある。例えば図3〜図5に示したように、並列計算機の複数の計算ノードを外部ネットワークとの通信に用いれば、負荷を分散させることができる。
次に、上記のような並列計算機に含まれる計算ノードが外部ネットワークとの間で通信する処理について説明する。
[並列計算機から外部装置へのデータ送信]
まず、並列計算機内部の計算ノードからNICを介して外部装置へデータを送信する処理について説明する。なお、本実施の形態に係る並列計算機は、例えば図5に示したトポロジを採用し、次元順ルーティングを行うものとする。また、すべての計算ノードはCPU及びルータを有し、すべてのルータがイーサネットNICを有している。また、外部のイーサネットと接続され、イーサネットNICの設定が有効にされている計算ノードを、便宜上、I/Oノードとも呼ぶ。
なお、並列計算機が複数のI/Oノードを有する場合において、計算ノードから外部ネットワークへイーサネットフレームを送信するときは、例えば図5に示した管理ノード4が、通信に用いるI/Oノードを制御する。すなわち、管理ノード4が、計算ノードにジョブを投入するときに、当該ジョブを処理する中で外部ネットワークとの通信に利用するI/Oノードのノードアドレスを通知する。なお、ノードアドレスとは、例えば、トポロジの次元ごとに番号を有し、並列計算機内で一意となるような識別子であり、予め各ノードに割り当てられているものとする。そして、ジョブの投入を受けた計算ノード(すなわち、送信元の計算ノード)は通知されたI/Oノードのノードアドレスをインターコネクトのパケットのヘッダに設定する。
送信元ノードは、インターコネクトのパケットを、例えばイーサネットフレームにパケットヘッダ等の情報を付加することによって生成する。そして、送信元ノードは、生成したインターコネクトのパケットを、ルータを介してI/Oノード(すなわち、送信先ノード又は宛先ノード)に送信する。
図8に、本実施の形態で送受信するインターコネクトのパケットの構成の一例を示す。図8において二重線で囲われた部分Aは、インターコネクトにおいて使用される情報を示している。具体的には、部分Aは、パケットの先頭に含まれる、「迂回経路情報(内部=>外部)」と「ルーティング情報」とを有する「ルーティングヘッダ」、及びパケット長を表す「Length=N」、並びにパケットの最後に含まれる「Padding」及び「チェックサム(CRC)」を含んでおり、部分Aは、並列計算機の内部ネットワークにおいて使用される。なお、ルーティング情報には、「宛先ノードアドレス」、及び宛先ノードのルータがパケットを計算ノードのCPU又はルータが有するイーサネットNICのいずれに出力するか指示する「ID」が含まれる。
また、図8において太線で囲われた部分B(すなわち、「送受信コマンド」)は、計算ノードのCPUからイーサネットNICに対する指示を表す情報である。具体的には、部分Bは、「迂回経路情報(外部=>内部)」と、「送信元ノードアドレス」と、「送信先ノードアドレス」と、「コマンド(CMD)」とを含む。「コマンド(CMD)」は、例えば、チェックサムの算出やパケットの分割を指示するために用いることができる。
そして、以上の情報に埋め込まれたその他の部分Cは、一般的なイーサネットフレームに含まれるデータである。具体的には、部分Cは、「宛先MAC(Media Access Control)アドレス」、「送信元MACアドレス」、「イーサネットタイプ(Ethernet Type)」、及び送信対象の「データ(Data)」を含む。
なお、図8に示した情報の他に、プリアンブル等の図示されていない情報をインターコネクトのパケットに含めるようにしてもよいし、プリアンブル等の図示されていない情報は後の処理においてイーサネットNICが追加するようにしてもよい。また、送信元ノードは、インターコネクトのパケットをさらにフリットに分割して送信してもよい。
「送信元ノードアドレス」及び「送信先(宛先)ノードアドレス」(以下、これらを単に「ノードアドレス」とも呼ぶ)は、例えば、トポロジの次元ごとに番号を有し、並列計算機内で一意となるような識別子である。計算ノードが接続されている順に連続する番号を付与すれば、ノードアドレスは計算ノードの位置を表す座標のように用いることができる。よって、並列計算機の複数のルータはルーティングテーブル等を用いることなく、所定の規則に従って送信先ノードアドレスまで次元順ルーティングを行うこともできる。
また、迂回経路情報は、例えばルーティングの過程で経由する計算ノード(以下では経由ノードとも呼ぶ)のノードアドレスで表すことができる。迂回経路が経由ノードを複数含む場合、迂回経路情報は経由ノードのノードアドレスの列としてもよい。迂回経路を利用してルーティングを行う場合には、例えば、まず送信元ノードから経由ノードまで次元順ルーティングでパケットを転送し、次に経由ノードから送信先ノードまで次元順ルーティングでパケットを転送する。なお、迂回経路は、既存の技術を用いて決定することができる。例えば、MPI(Message Passing Interface)ライブラリを利用し、CPUが所定の優先度に従って他の計算ノードにテストパケットを送受信して、疎通を確認した上で決定する。
送信元ノードから送信されるパケットは、ルーティングヘッダのルーティング情報に含まれる「宛先ノードアドレス」に基づいて、宛先ノードまで次元順ルーティングで転送される。その後、送信先のI/Oノードは、受信したインターコネクトのパケットをイーサネットフレームに変換し、イーサネットフレームを外部ネットワークへ送信する。このとき、I/OノードのイーサネットNICは、インターコネクトのパケットに含まれる「送受信コマンド」等を読み出し、I/Oノードから当該パケットの送信元ノードまでの迂回経路情報等をアドレステーブルに登録する。
次に、図9及び図10を用いて、イーサネットNICがイーサネットフレームを送信する処理について説明する。まず、イーサネットNIC機能が有効なI/Oノードのルータがインターコネクトのパケットを受信すると、ルータはルーティングヘッダのルーティング情報に含まれる「ID」を読み出し、パケットをI/OノードのCPU又はルータが有するイーサネットNICのいずれに出力するか判断する。そして、イーサネットNICへ出力させる旨を指示するIDが設定されていた場合、ルータはパケットをイーサネットNICに送る。そして、イーサネットNICは、迂回経路等登録処理を行う(図9:S1)。迂回経路等登録処理については、図10を用いて説明する。
イーサネットNICの送信処理部201は、インターコネクトのパケットを受信すると、受信したパケットから「送信元ノードアドレス」、「送信元MACアドレス」、及び「迂回経路情報」を抽出する(図10:S11)。また、送信処理部201は、抽出したMACアドレスをアドレステーブル202から検索する(S12)。アドレステーブル202には、図11に示すようなデータが登録されている。
図11に示すアドレステーブル202は、「MACアドレス」、「ノードアドレス」、及び「迂回経路」の列(項目とも呼ぶ)を有する。「MACアドレス」及び「ノードアドレス」の列には、ある計算ノードに付与された「MACアドレス」及び「ノードアドレス」が対応付けられて保持される。また、「迂回経路」の列には、I/Oノードから、ある計算ノードまでの通信経路に対応する迂回経路を表す迂回経路情報が保持される。
アドレステーブル202には、例えば、イーサネットNICの送信処理部201が、インターコネクトのパケットに含まれる情報に基づいて、エントリ(すなわち、1件のデータを表すレコード)を登録する。また、後に説明するように、いずれかの計算ノードが故障したことを管理ノードが検知した場合、I/Oノードから計算ノードへの通信経路上に故障した計算ノードが存在する計算ノードを対象として、管理ノードがエントリを登録するようにしてもよいし、予めすべての計算ノードについてデフォルトの迂回経路を登録しておいてもよい。なお、本実施の形態では、並列計算機内のすべての計算ノードについて、あらかじめエントリが存在するとは限らない。
そして、送信処理部201は、受信したパケットから抽出された「送信元MACアドレス」、「送信元ノードアドレス」及び「迂回経路情報(外部=>内部)」の内容が、アドレステーブル202から検索された「MACアドレス」、「ノードアドレス」及び「迂回経路」の内容とそれぞれ一致しているか判断する(S13)。なお、ここではエントリが検索できなかった場合も一致しなかったと判断するものとする。
そして、パケットの内容とアドレステーブル202の内容が一致しないと判断された場合(S13:NO)、送信処理部201は、エントリが存在するか判断する(S14)。すなわち、送信処理部201は、受信したパケットから抽出された「送信元MACアドレス」がアドレステーブル202に登録されているか判断する。アドレステーブル202に該当するエントリが存在すると判断された場合(S14:YES)、送信処理部201は、アドレステーブル202のエントリを受信したパケットの内容に基づいて更新する(S15)。すなわち、送信処理部201は、S12で検索されたエントリの項目「ノードアドレス」及び「迂回経路」の内容を、パケットから抽出した「送信元ノードアドレス」及び「迂回経路情報(外部=>内部)」の情報に更新する。
一方、アドレステーブル202に該当するエントリが存在しないと判断された場合、送信処理部201は、アドレステーブル202にエントリを追加する(S16)。すなわち、送信処理部201は、パケットから抽出した「送信元MACアドレス」、「送信元ノードアドレス」及び「迂回経路情報(外部=>内部)」を、アドレステーブル202の項目「MACアドレス」、「ノードアドレス」、「迂回経路」にそれぞれ登録する。
そして、S13においてパケットの内容とアドレステーブルの内容が一致すると判断された場合(S13:YES)、又はS15若しくはS16の後、送信処理部201はパケットからイーサネットフレームを抽出する(S17)。ここでは、送信処理部201は、図8に示したようなパケットから、二重線で囲われた部分A及び太線で囲われた部分Bを除いたデータ(すなわち、図8の部分C)を抽出する。
その後、図9の処理に戻り、イーサネットNICの送信処理部201は、イーサネットフレームを生成する(図9:S2)。具体的には、送信処理部201は、プリアンブルやFCS(Frame Check Sequence)等を追加し、イーサネットフレームを生成する。FCSは、例えば各フィールドの値からCRC(Cyclic Redundancy Check)値を算出して設定する。このように、イーサネットフレームのフォーマットは、既存の規格に沿ったものを用いることができる。その後、送信処理部201は、生成したイーサネットフレームを外部ネットワークへ送信する(S3)。
送信元ノードを第1のノード、I/Oノードを第2のノードとして、以上の構成を換言すれば、以下のようにもなる。並列計算機の第1のノードは、ネットワークインターフェース(例えば、イーサネットNIC)を含む第2のノードへ送信するデータ(例えば、インターコネクトのパケット)に、第2のノードから第1のノードへの通信経路に対応する迂回経路情報を設定して送信する処理部(例えば、第1のノードのCPU及びネットワークI/F)を有する。また、第2のノードのネットワークインターフェースは、第1のノードからデータを受信した場合、第2のノードから第1のノードへの通信経路に対応する迂回経路情報をデータから読み出して記憶部に保持する設定部(例えば、送信部203)を有する。
以上のような処理を行うことにより、本実施の形態に係るイーサネットNICの送信処理部201は、インターコネクトのパケットをイーサネットフレームに変換して外部ネットワークへ送信することができる。換言すれば、本実施の形態に係る並列計算機の計算ノードは、イーサネットフレームをインターコネクトのパケットに埋め込み、他の計算ノードのCPUによる処理を介することなく、ルータ及びイーサネットNICを介して直接外部装置に送信することができる。
また、イーサネットNICの送信処理部201は、MACアドレス、ノードアドレス及び迂回経路をアドレステーブル202に記憶させることができる。
そして、アドレステーブル202に記憶させられたエントリを用いれば、イーサネットNICは、外部ネットワークからデータ(例えばイーサネットフレーム)を受信した場合に、データに含まれる宛先物理アドレス(例えば宛先MACアドレス)に基づいて内部ネットワークのアドレス(例えばノードアドレス)に変換することができるとともに、宛先ノードまでの通信経路に対応する迂回経路を設定することができるようになる。
[外部装置からのデータ受信]
次に、図12及び図13を用いて、外部装置からデータを受信する処理について説明する。まず、並列計算機のルータが有するイーサネットNICの受信処理部203が、外部ネットワークからイーサネットフレームを受信する(図12:S21)。本実施の形態では、外部ネットワークと接続されているイーサネットNICが複数存在する場合がある。この場合、各イーサネットNICは、自己のアドレステーブル202に保持されている「MACアドレス」を宛先とするイーサネットフレームをすべて受信する仮想的なNICとして働くようにしてもよい。
そして、受信処理部203は、イーサネットフレームの確認処理を行う(S22)。この確認処理については、図13を用いて説明する。受信処理部203は、まず、チェックサムを生成する(図13:S31)。具体的には、受信したイーサネットフレームに含まれる各フィールドの値を基に、CRC値を算出する。そして、受信処理部203は、生成したチェックサムの値と受信したイーサネットフレームに設定されているチェックサムの値(FCS値又はCRC値とも呼ぶ)とが一致するか判断する(S32)。
値が一致しないと判断された場合(S32:NO)、受信処理部203は、受信したイーサネットフレームを破棄し(S33)、受信処理を終了する。すなわち、処理は図13の結合子Aを介して図12の処理に戻り、受信処理を終了する。一方、値が一致すると判断された場合(S32:YES)、受信処理部203は受信したイーサネットフレームから「宛先MACアドレス」を抽出し、抽出した「MACアドレス」をアドレステーブル202から検索する(S34)。そして、受信処理部203は、抽出した「宛先MACアドレス」を含むエントリがアドレステーブル202に存在するか判断する(S35)。
エントリが存在すると判断された場合(S35:YES)、受信処理部203は、アドレステーブルにおいて「宛先MACアドレス」に関連づけられて登録されている「ノードアドレス」及び「迂回経路情報」を抽出する(S36)。一方、S35においてエントリが存在しないと判断された場合(S35:NO)、受信処理部203は、全計算ノードを宛先に決定する(S37)。すなわち、受信処理部203は、後の処理においてインターコネクトのパケットを全ての計算ノードにブロードキャストする。そして、S36又はS37の後、図12の処理に戻る。
その後、受信処理部203は、内部ネットワークのパケットを生成する(図12:S23)。図13のS36においてノードアドレス及び迂回経路情報を取得した場合、受信処理部203は、アドレステーブルから抽出したノードアドレス及び迂回経路情報をルーティングヘッダに設定し、受信したイーサネットフレームを含むパケットを生成する。
なお、並列計算機内の計算ノードを宛先とするインターコネクトのパケットは、図8に示したような構成を採用することができる。ただし、図8の「迂回経路情報(内部=>外部)」に代えて「迂回経路情報(外部=>内部)」が設定される。また、図8に示したパケットから「送受信コマンド」を削除した構成を採用してもよい。
一方、図13のS37において全計算ノードを宛先に決定した場合は、例えば全計算ノードを宛先とすることを示す情報を「ルーティングヘッダ」の「ルーティング情報」に設定し、受信したイーサネットフレームを含むパケットを生成する。この場合、受信処理部203は、パケットに「迂回経路情報」を設定しない。
そして、受信処理部203は、生成したパケットを並列計算機の内部ネットワークに送信する(S24)。具体的には、イーサネットNICを含むルータが、ルーティングヘッダの「ルーティング情報」に応じて、接続されているいずれかの計算ノードのルータに転送する。送信されたパケットは、例えば次元順ルーティングにより、宛先の計算ノードまで転送される。
また、例えば通信経路の途中に存在する計算ノードが故障した場合など、通常の経路で転送をすることができない場合において、ルーティングヘッダに「迂回経路情報」が設定されているときは、設定された「迂回経路情報」に基づいて転送経路を変更することができる。例えば、通信経路上の計算ノードに故障が生じたことを検知した場合に、検知した計算ノードがパケットの「ルーティング情報」の中に迂回経路を選択させるための情報を追加し、当該情報に基づいてパケットを転送するようにしてもよい。また、各計算ノードのルータが、他の計算ノードの故障の有無を保持するようにして、通常の通信経路又は迂回経路のいずれに基づいてパケットを転送するか判断できるようにしてもよい。
一方、全計算ノードを宛先としてインターコネクトのパケットが送信された場合は、全ノードにパケットが転送される。そして、宛先MACアドレスと同一のMACアドレスを有する計算ノードは、受信したパケットを保持し、その他の計算ノードは、受信したパケットを破棄する。
以上のように、本実施の形態では、I/OノードのイーサネットNICが外部ネットワークのイーサネットフレームをインターコネクトのパケットに埋め込んで内部ネットワークの計算ノードへ転送する。したがって、外部ネットワークから内部ネットワークの計算ノードへ、経由する計算ノードのCPUによる処理を介することなく、イーサネットNIC及びルータを介することにより、直接イーサネットフレームを送信することができる。
また、I/OノードのイーサネットNICがインターコネクトのパケットに迂回経路情報を設定することができる。したがって、転送経路上の計算ノードに故障等の不具合が生じ、通常の転送経路が利用できない場合であっても、迂回経路を利用して外部装置から受信したデータを並列計算機内の計算ノードに転送することができる。
また、本実施の形態ではI/Oノードのルータが有するイーサネットNICがアドレステーブル202を有しており、CPUが処理を行うことなくイーサネットNICがインターコネクトのパケットを生成する。よって、I/OノードのCPUの負荷を軽減させることができる。
[管理ノードによる迂回路設定処理]
また、並列計算機の計算ノードに不具合が生じた場合、不具合が生じた計算ノードを迂回するための迂回経路情報を、管理ノードがイーサネットNICに登録させることもできる。図14に、管理ノードが迂回経路情報を登録する処理の処理フローを示す。
まず、管理ノード(例えば図5の管理ノード4)は、いずれかの計算ノードが故障したことを示す故障情報を受信したか判断する(図14:S41)。管理ノードが故障情報を受信していない場合(S41:NO)、故障情報を受信するまでS41の処理を繰り返す。なお、故障情報の送信は、故障の原因に応じて、故障した計算ノード自身が故障を検知して、故障情報を管理ノードに通知する場合、故障した計算ノードと接続された他の計算ノードが故障を検知して、故障情報を管理ノードに通知する場合等がある。
管理ノードが故障情報を受信した場合(S41:YES)、管理ノードは迂回経理情報を生成する(S42)。ここでは、次元順ルーティングによるI/Oノードからの通常の転送経路が、故障した計算ノードを経由するような計算ノードについて、管理ノードが迂回経路を決定する。
例えば、トポロジが2次元メッシュであってX方向=>Y方向の順にルーティングする並列計算機であれば、(1)I/OノードとX方向の位置が同一の計算ノードであってI/Oノードから見て故障した計算ノードよりも遠くにある計算ノード、及び(2)故障した計算ノードとY方向の位置が同一の計算ノードであって、I/Oノードから見て故障した計算ノードよりも遠くにある計算ノードを対象とする。同様に、図3及び図5に示したトポロジを採用する並列計算機についても、通常の転送経路が故障した計算ノードを経由することになる計算ノードを特定することができる。そして、管理ノードは、I/Oノードから対象とされた計算ノードの各々への迂回経路情報を生成する。
そして、管理ノードは、生成した迂回経路情報を用いて、I/OノードのイーサネットNICが有するアドレステーブル202を更新する(S43)。すなわち、管理ノードはI/Oノードへアドレステーブルを更新させるための命令を通知し、命令を受信したI/Oノードが有するイーサネットNICの設定部204は、アドレステーブル202を更新する。より具体的には、設定部204は、S42で対象とされた計算ノードのノード識別子及びMACアドレスに対応付けて、管理ノードが生成した迂回経路情報を登録する。
なお、通信経路上の計算ノードの故障等により転送できなかったパケットは、例えばTCPプロトコルの再送処理又はさらに上位のソフトウエアレイヤの再送処理によって、送信しなおすことができる。
以上のように、管理ノードは、所定の通知を受けることにより、計算ノードの不具合を検知することができる。そして、管理ノードは、不具合が生じた計算ノードを迂回するための迂回経路情報を、I/OノードのイーサネットNIC(すなわち、ネットワークインターフェース)に設定することができる。このようにすれば、I/OノードのイーサネットNICは、不具合が生じた計算ノードを迂回するための迂回経路情報をインターコネクトのパケットに設定することができるようになる。
[ネットワークインターフェースの有効化処理]
以上で説明した処理とは独立して、管理ノードがイーサネットNICの有効化及び無効化を制御するようにしてもよい。例えば、管理ノードは、管理ノードが有する所定のレジスタに、各計算ノードのイーサネットNICに対応付けて「有効(Enable)」又は「無効(Disable)」の設定を保持しておく。そして、並列計算機の起動時や、管理ノードが計算ノードにジョブを投入するときに、設定を変更するようにする。特に、各計算ノードへのジョブの割当状況や内部ネットワークにおける通信の負荷に応じて、外部ネットワークとの通信に用いられる計算ノードの数や位置を制御すれば、内部ネットワークの負荷を分散させることができる。
なお、インターコネクトのトポロジは図3〜図5のような例には限定されず、メッシュ、トーラスその他のトポロジを採用してもよい。また、外部ネットワークの一例として、実施の形態ではイーサネットを用いて説明したが、その他の通信プロトコルに適用してもよい。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
1 並列計算機
2 外部ネットワーク
100 計算ノード
101 CPU
102 メモリ
103 ネットワークI/F
104 ルータ
105 バス
200 NIC
201 送信処理部
202 アドレステーブル
203 受信処理部
204 設定部

Claims (6)

  1. 複数のノードを有する並列計算機において、
    前記ノードの各々は、
    他のノードの各々と直接的又は間接的に接続されるルータと、
    前記並列計算機の外部ネットワークと接続されるネットワークインターフェースとを有し、
    当該ネットワークインターフェースは、
    当該ネットワークインターフェースが含まれるノードから他のノードへの通信経路に対応する迂回経路を表す迂回経路情報を保持する記憶部と、
    前記ネットワークインターフェースが前記外部ネットワークから当該並列計算機のノードを宛先とするデータを受信した場合、当該ネットワークインターフェースが含まれるノードから前記データの宛先ノードへの通信経路に対応する迂回経路情報を前記データに設定し、前記迂回経路情報が設定されたデータを前記宛先ノードへ送信する受信処理部とを有し、
    前記並列計算機に含まれる前記複数のノードの内の第1のノードは、前記複数のノードの内の前記ネットワークインターフェースを含む第2のノードへ送信するデータに、前記第2のノードから前記第1のノードへの通信経路に対応する迂回経路情報を設定して送信する処理部を有し、
    前記第2のノードの前記ネットワークインターフェースは、前記第1のノードからデータを受信した場合、前記第2のノードから前記第1のノードへの通信経路に対応する前記迂回経路情報を前記データから読み出して前記記憶部に保持する設定部を有する、
    ことを特徴とする並列計算機。
  2. 複数の前記ノードの動作を制御する管理ノードをさらに有し、
    当該管理ノードは、前記ノードのいずれかが故障したことを示す情報を受信した場合、故障した前記ノードを経由する通信経路に対応する迂回経路情報を生成し、当該迂回経路情報を前記ネットワークインターフェースの前記記憶部に記憶させることを特徴とする請求項1記載の並列計算機。
  3. 複数の前記ルータが、前記外部ネットワークと接続されるネットワークインターフェー
    スを有し、
    前記管理ノードが、前記外部ネットワークとの通信に用いられる前記ネットワークインターフェースを決定することを特徴とする請求項2記載の並列計算機。
  4. 前記ネットワークインターフェースの記憶部は、前記並列計算機の内部ネットワークにおいて前記ノードの各々を識別するノード識別子と、前記ノードの各々に対応する物理アドレスと、前記迂回経路情報とを関連付けて記憶し、
    当該ネットワークインターフェースは、前記記憶部に登録されている物理アドレスを宛先とするデータを前記外部ネットワークから受信した場合、当該物理アドレスに関連付けて前記記憶部に記憶されている前記ノード識別子及び前記迂回経路情報、並びに受信した前記データを含むパケットを生成し、前記内部ネットワークに送信することを特徴とする請求項1ないしのいずれか一項に記載の並列計算機。
  5. 外部ネットワークと接続されるネットワークインターフェースを有する、並列計算機に含まれるノード装置において、
    前記ネットワークインターフェースは、
    前記ノード装置から他のノード装置への通信経路に対応する迂回経路を表す迂回経路情報を保持する記憶部と、
    前記ネットワークインターフェースが、前記外部ネットワークから前記他のノード装置を宛先とするデータを受信した場合、当該ノード装置から前記他のノード装置への通信経路に対応する迂回経路情報を前記データに設定して前記他のノード装置へ送信する受信処理部とを有し、
    前記並列計算機に含まれる複数のノード装置の内の第1のノード装置は、前記複数のノード装置の内の前記ネットワークインターフェースを含む第2のノード装置へ送信するデータに、前記第2のノード装置から前記第1のノード装置への通信経路に対応する迂回経路情報を設定して送信する処理部を有し、
    前記第2のノード装置の前記ネットワークインターフェースは、前記第1のノード装置からデータを受信した場合、前記第2のノード装置から前記第1のノード装置への通信経路に対応する前記迂回経路情報を前記データから読み出して前記記憶部に保持する設定部を有する、
    ことを特徴とするノード装置。
  6. 複数のノードを有し、当該ノードの各々が、他のノードの各々と直接的又は間接的に接続されるルータを有し、少なくとも1つの前記ルータが、外部ネットワークと接続されるネットワークインターフェースを有する並列計算機の制御方法において、
    当該ネットワークインターフェースが、当該ネットワークインターフェースが含まれるノードから他のノードへの通信経路に対応する迂回経路を表す迂回経路情報を保持し、
    前記ネットワークインターフェースが、前記外部ネットワークから当該並列計算機のノードを宛先とするデータを受信した場合、当該ネットワークインターフェースが含まれるノードから前記データの宛先ノードへの通信経路に対応する迂回経路情報を前記データに設定して前記宛先ノードへ送信し、
    前記並列計算機に含まれる前記複数のノードの内の第1のノードは、前記複数のノードの内の前記ネットワークインターフェースを含む第2のノードへ送信するデータに、前記第2のノードから前記第1のノードへの通信経路に対応する迂回経路情報を設定して送信し、
    前記第2のノードの前記ネットワークインターフェースは、前記第1のノードからデータを受信した場合、前記第2のノードから前記第1のノードへの通信経路に対応する前記迂回経路情報を前記データから読み出して記憶部に保持する、
    ことを特徴とする並列計算機の制御方法。
JP2014536537A 2012-09-24 2012-09-24 並列計算機、ノード装置、及び並列計算機の制御方法 Expired - Fee Related JP6048505B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074414 WO2014045444A1 (ja) 2012-09-24 2012-09-24 並列計算機、ノード装置、及び並列計算機の制御方法

Publications (2)

Publication Number Publication Date
JPWO2014045444A1 JPWO2014045444A1 (ja) 2016-08-18
JP6048505B2 true JP6048505B2 (ja) 2016-12-21

Family

ID=50340792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014536537A Expired - Fee Related JP6048505B2 (ja) 2012-09-24 2012-09-24 並列計算機、ノード装置、及び並列計算機の制御方法

Country Status (5)

Country Link
US (1) US9749222B2 (ja)
EP (1) EP2899645A4 (ja)
JP (1) JP6048505B2 (ja)
CN (1) CN104662525B (ja)
WO (1) WO2014045444A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9749189B2 (en) * 2014-07-01 2017-08-29 American Megatrends, Inc. Generating graphical diagram of physical layout of computer platforms
US9680712B2 (en) * 2014-07-01 2017-06-13 American Megatrends, Inc. Hardware management and control of computer components through physical layout diagrams
JP2016038649A (ja) * 2014-08-06 2016-03-22 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
CN104883409B (zh) * 2015-05-14 2019-02-19 华为技术有限公司 分配地址的方法和网络设备
US9825809B2 (en) * 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
JPWO2018097015A1 (ja) * 2016-11-28 2019-10-17 株式会社エスペラントシステム 分散システム
JP6784160B2 (ja) * 2016-12-08 2020-11-11 富士通株式会社 並列処理装置及びノード間通信プログラム
JP2018156267A (ja) * 2017-03-16 2018-10-04 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法
US10509656B2 (en) * 2017-12-01 2019-12-17 American Megatrends International, Llc Techniques of providing policy options to enable and disable system components
JP7167687B2 (ja) * 2018-12-18 2022-11-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
GB201904266D0 (en) * 2019-03-27 2019-05-08 Graphcore Ltd A networked computer with embedded rings
CN112039786B (zh) * 2019-06-04 2021-11-19 清华大学 基于Torus网络的广播方法
TWI795254B (zh) * 2022-03-30 2023-03-01 天擎積體電路股份有限公司 支持廣播的模組系統、模組單元與廣播方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07143171A (ja) * 1993-06-17 1995-06-02 Fujitsu Kansai Commun Syst Ltd パケット交換システムにおける自動ルーティング方法
US5583990A (en) * 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
JPH1069471A (ja) 1996-08-28 1998-03-10 Hitachi Ltd 並列計算機
KR100462864B1 (ko) * 2002-11-22 2004-12-17 삼성전자주식회사 아이피브이6에서 인터페이스 아이디를 이용한 라우팅테이블 관리 방법
EP1631015A1 (en) * 2004-08-23 2006-03-01 Alcatel Network-node for exchanging data information via a path or a detour path
KR100804664B1 (ko) * 2004-10-29 2008-02-20 니폰덴신뎅와 가부시키가이샤 패킷 통신 네트워크 및 패킷 통신방법
JP4074310B2 (ja) * 2005-09-05 2008-04-09 日本電信電話株式会社 トラヒック分散制御装置、パケット通信ネットワークおよびプログラム
JP4883979B2 (ja) 2005-10-11 2012-02-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および通信制御方法
JP5212469B2 (ja) * 2008-05-15 2013-06-19 富士通株式会社 コンピュータシステム及びコンピュータシステムの制御方法
US20100267390A1 (en) * 2008-09-04 2010-10-21 Gao Lin Fault-tolerant, multi-network detour router system for text messages, data, and voice
JP2010218364A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd 情報処理システム、通信制御装置および方法

Also Published As

Publication number Publication date
JPWO2014045444A1 (ja) 2016-08-18
WO2014045444A1 (ja) 2014-03-27
EP2899645A1 (en) 2015-07-29
US9749222B2 (en) 2017-08-29
US20150195191A1 (en) 2015-07-09
EP2899645A4 (en) 2017-06-14
CN104662525A (zh) 2015-05-27
CN104662525B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
JP6048505B2 (ja) 並列計算機、ノード装置、及び並列計算機の制御方法
JP6445015B2 (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
US8856419B2 (en) Register access in distributed virtual bridge environment
KR101579917B1 (ko) Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체
US20090198956A1 (en) System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
JP7091923B2 (ja) 転送装置、転送方法及びプログラム
JP3709795B2 (ja) コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
WO2020112817A1 (en) Logical router comprising disaggregated network elements
US11799738B2 (en) Communication of a message using a network interface controller on a subnet
JP6868958B2 (ja) パケット送信プログラム、情報処理装置、および、障害検出方法
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US20180159770A1 (en) System and method
JP2012009996A (ja) 情報処理システム、中継装置、および情報処理方法
WO2014022350A1 (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
US20220060382A1 (en) Method and system for facilitating high availability in a multi-fabric system
US9197584B2 (en) Increasing efficiency of data payloads to data arrays accessed through registers in a distributed virtual bridge
JP5889218B2 (ja) データ転送装置及びデータ転送方法
US10609188B2 (en) Information processing apparatus, information processing system and method of controlling information processing system
JP5435024B2 (ja) ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP6740683B2 (ja) 並列処理装置及び通信制御方法
US20160112318A1 (en) Information processing system, method, and information processing apparatus
US20230080535A1 (en) Network Path Testing via Independent Test Traffic
JP2015525984A (ja) 通信システム、制御装置、通信方法及びプログラム
JP5320571B2 (ja) ノード間データ応答システム
JP2014138365A (ja) ネットワークシステム、通信制御方法、及び通信制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161107

R150 Certificate of patent or registration of utility model

Ref document number: 6048505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees