JP5347975B2 - ネットワークスイッチ、経路設定方法およびプログラム - Google Patents

ネットワークスイッチ、経路設定方法およびプログラム Download PDF

Info

Publication number
JP5347975B2
JP5347975B2 JP2009552389A JP2009552389A JP5347975B2 JP 5347975 B2 JP5347975 B2 JP 5347975B2 JP 2009552389 A JP2009552389 A JP 2009552389A JP 2009552389 A JP2009552389 A JP 2009552389A JP 5347975 B2 JP5347975 B2 JP 5347975B2
Authority
JP
Japan
Prior art keywords
multicast
route setting
unit
transfer
network switch
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
JP2009552389A
Other languages
English (en)
Other versions
JPWO2009098820A1 (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 JP2009552389A priority Critical patent/JP5347975B2/ja
Publication of JPWO2009098820A1 publication Critical patent/JPWO2009098820A1/ja
Application granted granted Critical
Publication of JP5347975B2 publication Critical patent/JP5347975B2/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix

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)
  • Small-Scale Networks (AREA)

Description

本発明は、複数の計算機を相互に結合する相互結合網を構成するネットワークスイッチ、経路設定方法およびプログラムに関する。より詳細には、本発明は、指定された複数の計算機に対してデータを一斉配信するマルチキャスト通信のパケットを好適にルーティングするための経路情報の設定機能と、設定された経路情報に基づいてマルチキャスト通信を実行する機能とに関する。
一般的に大規模な問題を高速に処理するために、複数の計算ノードを相互結合網で接続した並列計算機システムが用いられる。この並列計算機システムでは、対象となる問題を複数の計算ノードで分割して処理するが、その際、各計算ノード間で演算に必要なデータや演算結果のデータを相互に通信する必要がある。そのため、一つの計算ノードから別の計算ノードに対するデータ転送は、相互結合網を介して行われる。
一つの計算ノードから複数の計算ノードに同一のデータを含むパケットを送信する場合、転送元の計算ノードから互いに異なる転送先の各計算ノードにパケットをそれぞれ送信すれば、所定の目的を達成できる。しかし、データ転送されるパケットを複製して複数の計算ノードに送信する機能を相互結合網が有しているのであれば、転送元の計算ノードが相互結合網に与える負荷が低減され、データ転送に要するデータ転送時間の短縮が可能になる。このように一つの計算ノードから複数の計算ノードに同一のデータを送信する機能をマルチキャスト通信機能と呼ぶ。
並列計算機上で実行するプログラムを記述する一般的な方式として知られるMPI(Message Passing Interface)では、互いに通信を行うプロセスの集合をコミュニケータとして管理し、このコミュニケータに含まれるプロセスに対してマルチキャスト通信を行う関数が複数準備されている。
例えば、MPIが定める「MPI_Bcast」は、あるプロセスが保持するデータを、同一のコミュニケータに含まれる全プロセスに送る関数である。このコミュニケータは、システム全体のプロセスの集合を指定することもあるが、プロセスの部分集合を指定することもある。また、「MPI_Allgather」は、指定されたデータを、コミュニケータ内のいずれかのプロセスから同一のコミュニケータに含まれる全プロセスに送る関数である。
「MPI_Bcast」や「MPI_Allgather」のようなマルチキャスト通信を行う関数が有する機能は、1対1の通信であるユニキャスト通信を複数回実行することでも実現できるが、相互結合網がパケットを複製して複数の計算ノードに送信する機能を有している場合、相互結合網が有する機能を利用することが望ましい。これによって、データ転送時間の短縮を図り、プログラム全体の実行性能を向上させる観点からである。
このようなデータ転送時間を低減し、プログラム全体の実行性能を向上させるための各種技術が提案されている。
例えば、特許公開1996−305649号公報に開示されているように、一般的な交換スイッチにおいてマルチキャスト用バッファを設け、マルチキャストパケットの送信時に出力ポートの空きがない場合、いずれかの出力ポートが使用可能な状態になるまでの間、送信予定のマルチキャストパケットをマルチキャスト用バッファに格納するマルチキャスト方法が考えられている。
また、マルチキャスト通信の際に、データの転送先となるシステム中の計算機を指定して、データ転送を実行する技術が提案されている。
例えば、特許2581286号公報に開示されているように、宛先ノード番号の最小値と最大値によって指定される範囲に属する計算ノードに対してパケットを転送する網制御方法が考えられている。
また、特許公表2004−533035号公報に開示されているように、格子状に計算ノードが配置されたネットワークにおいて、同一の行に配置されている計算ノード、あるいは、同一の列に配置されている計算ノードに対して、メッセージをマルチキャスト転送するクラス・ネットワーク経路指定が考えられている。
また、特許公開2000−216787号公報に開示されているように、個々のパケットに複数の宛先をコード化して、ヘッダ上の固定長フィールドに記述する並列計算機が考えられている。この並列計算機では、少ない宛先ビットで複数の宛先の指定を行うとともに、宛先を指定するためのデータ長が固定長フィールドを超過する場合には、複数のマルチキャストパケットを生成している。
また、特許公開1993−028122号公報に開示されているように、ネットワークスイッチが経路情報を保持し、その経路情報に従ってマルチキャスト転送を行うブロードキャスト方法が考えられている。このブロードキャスト方法では、外部のプログラムによって経路情報を事前に算出し、算出された経路情報を設定する。
また、特許公開1997−297746号公報に開示されているように、プログラムから設定可能なアドレスレジスタを受信装置内に設け、マルチキャストパケットの受信先(宛先プロセッサ)は、パケットのヘッダを用いて各アドレスレジスタを選択し、選択したアドレスレジスタのレジスタ値に受信先のアドレスを書き込むプロセッサ間通信方法が考えられている。
マルチキャスト通信においては、複数の転送先と各転送先にそれぞれ対応する転送経路とを指定する必要がある。一般的な技術では、複雑な宛先パターンを記述できないおそれや、プロセスを実行する計算ノードの物理的位置が特定できるまで宛先パターンを記述できないおそれがあるという問題点がある。
また、上述の一般的な技術では、以下のような問題点がある。
特許2581286号公報および特許公表2004−533035号公報に開示された技術では、マルチキャスト通信の宛先ノードが、相互結合網上における計算ノードの物理的な配置と密接に関連している。そのため、宛先ノードとして指定できるパターンが限定されるおそれがあるという問題点がある。
特許公開2000−216787号公報に開示された技術では、マルチキャスト通信の宛先ノードのパターンが複雑で固定長ビット列への符号化が困難な場合、複数のマルチキャスト通信を実行するためにマルチキャスト機能の効果が低減するおそれがあるという問題点がある。
特許公開1993−028122号公報に開示された技術では、経路指定用の経路情報を外部のプログラムによって事前に設定するため、マルチキャスト通信をユーザプログラムから実行する場合、経路を指定できない。このため、プロセスがどの計算ノード上で動作するかをマルチキャスト通信の実行前に確定する必要があり、柔軟で効率的なシステムの運用が困難なおそれがあるという問題点がある。
さらに、上記特許ドキュメントそれぞれに開示された技術では、プログラム実行時に計算ノードの番号が仮想化されている場合や、プロセスが動作する計算ノードを事前に識別できない場合、マルチキャスト通信を実行する際に、先ず、物理的な計算ノードの位置を特定してからマルチキャスト通信の宛先を指定する必要がある。そのため、経路の指定に要する時間がプログラム実行上のオーバーヘッドになるという共通の問題点がある。
本発明は、上述した課題を解決するネットワークスイッチ、経路設定方法およびプログラムを提供することを目的とする。
上記課題を解決するために、本発明のネットワークスイッチは、複数の入力ポートと該入力ポートにそれぞれ対応付けられた複数の出力ポートとを有し、前記出力ポートからマルチキャストパケットを出力するネットワークスイッチにおいて、前記複数の出力ポートのうちから前記マルチキャストパケットを出力するための出力ポートを指定するマルチキャスト制御情報保持部と、前記マルチキャスト制御情報保持部が指定した出力ポートに対して、前記マルチキャストパケットの転送経路を設定する転送経路設定を行うマルチキャスト制御部と、前記マルチキャスト制御部が前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算部と、前記加算部がカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較部とを有することを特徴とする。
上記課題を解決するために、本発明の経路設定方法は、複数の入力ポートと該入力ポートにそれぞれ対応付けられた複数の出力ポートとを有し、前記出力ポートからマルチキャストパケットを出力するネットワークスイッチにおける経路設定方法であって、前記複数の出力ポートのうちから前記マルチキャストパケットを出力するための出力ポートを指定するマルチキャスト制御情報保持処理と、前記マルチキャスト制御情報保持処理にて指定した出力ポートに対して、前記マルチキャストパケットの転送経路を設定する転送経路設定を行うマルチキャスト制御処理と、前記マルチキャスト制御処理にて前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算処理と、前記加算処理にてカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較処理とを有する。
また、コンピュータに実行させるプログラムであって、ネットワークスイッチが具備する複数の入力ポートにそれぞれ対応付けられた複数の出力ポートのうちから、マルチキャストパケットを出力するための前記出力ポートを指定するマルチキャスト制御情報保持手順と、前記マルチキャスト制御情報保持手順にて指定した出力ポートに対して、前記マルチキャストパケットの転送経路の設定である転送経路設定を行うマルチキャスト制御手順と、前記マルチキャスト制御手順にて前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算手順と、前記加算手順にてカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較手順とをコンピュータに実行させる。
本発明によれば、複数の入力ポートと入力ポートにそれぞれ対応付けられた複数の出力ポートとを有し、出力ポートからマルチキャストパケットを出力するネットワークスイッチにおいて、複数の出力ポートのうちからマルチキャストパケットを出力するための出力ポートを指定し、指定した出力ポートに対して、マルチキャストパケットの転送経路を設定し、転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントし、カウントした経路設定完了プロセス数と、マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する構成としたため、マルチキャスト通信における宛先および転送経路を高速に設定できる。
本発明の実施形態に従った並列計算機システムの構成を示す図である。 図1に示したネットワークスイッチの構成を示す図である。 図2に示したマルチキャスト制御部の構成を示す図である。 図3に示したマルチキャスト制御情報保持部の構成を示す図である。 本発明における、マルチキャスト通信用の転送経路設定処理およびマルチキャスト通信処理を示す動作シーケンスである。 図5に示した経路設定コマンド受信処理を示すフローチャートである。 経路設定コマンドのデータ構造の一例を示す図である。 図5に示した経路設定完了通知処理を示すフローチャートである。 並列計算機システムの「経路設定処理」における、各構成要素間のデータの流れを示す図である。 並列計算機システムの「経路設定完了通知処理」における、各構成要素間のデータの流れを示す図である。 並列計算機システムの「マルチキャスト通信処理」における、各構成要素間のデータの流れを示す図である。
以下、本発明の実施形態に従った並列計算機システム(ネットワークスイッチ、経路設定方法、プログラムを含む)を説明する。
先ず、本実施形態の並列計算機システムの構成を説明する。図1に示すように、並列計算機システムは、計算ノード群1と相互結合網2とから構成される。計算ノード群1に含まれる各計算ノード11−1〜11−4、12−1〜12−4、13−1〜13−4および14−1〜14−4(以下、「計算ノード10」と総称する)は、相互結合網2にそれぞれ接続されている。相互結合網2のネットワーク形態は特に限定せず、例えば、多段結合網などのネットワークであってもよいが、以下の例ではツリー型のネットワークを例に挙げて説明する。
計算ノード10は、演算器とメモリとをそれぞれ有する互いに独立した計算機である。計算ノード10は、必要に応じて相互結合網2を介して互いにデータ転送を行い、所定の処理を実行する。また、計算ノード10は、「経路設定コマンド発行処理」を実行し、後述する「経路設定コマンド」を発行する機能を有する。さらに、計算ノード10は、マルチキャスト通信により特定の複数の宛先に送信されるマルチキャストパケットを発行する機能を有する。ここでマルチキャストパケットの形態については特に限定しないが、本実施形態のマルチキャストパケットは、そのマルチキャストパケットが後述のマルチキャスト制御スイッチに到達したか否かを示すための「制御部到達ビット」を含むものとする。
相互結合網2は、複数のネットワークスイッチで構成されている。ネットワークスイッチ22−1〜22−4(以下、「ネットワークスイッチ22」と総称する)は、計算ノード群1と直接接続されている。
ネットワークスイッチ21−1は、各ネットワークスイッチ22−1〜22−4を相互に接続する。例えば、計算ノード11−1から計算ノード11−2へデータ転送を行う場合、ネットワークスイッチ22−1を経由してデータが転送される。また、計算ノード11−1から計算ノード13−1へのデータ転送は、ネットワークスイッチ22−1、21−1、22−3を順次経由して実行される。なお、ネットワークスイッチ21−1の数は本実施形態では「1」であるが、複数であってもよい。このため、以下では、相互結合網2上でネットワークスイッチ21−1と同一の階層に設けられたネットワークスイッチを「ネットワークスイッチ21」と総称する。
つぎに、本実施形態のネットワークスイッチ21−1および22−1〜22−4の構成を説明する。図2に示すように、ネットワークスイッチ21−1および22−1〜22−4は、入力ポートの数が「5」、出力ポートの数が「5」(以下、「5入力5出力」という)であるクロスバスイッチにより構成される。
図1に示したように、ネットワークスイッチ21−1は、使用している入力ポートの数が「4」、使用している出力ポートの数が「4」となっており(以下、「4入力4出力」という)、5番目の入力ポートおよび5番目の出力ポートはともに未使用の状態にある。また、本実施形態の説明例では、ネットワークスイッチ21および22が有する入力ポートおよび出力ポートは、互いに1対1で対応付けられているものである。例えば、1番目の入力ポートは1番目の出力ポートに対応付けられている。入力ポートと出力ポートとの対応付方法は、一般的な対応付方法でもよい。なお、各ネットワークスイッチ21および22の入力ポート数および出力ポート数は「5」に限らず、それぞれ任意の自然数であればよい。
図2の例では、各ネットワークスイッチ21−1および22−1〜22−4が有する5つのポートのうち、ポート1〜4は、図1における下り方向(ネットワークスイッチ21−1から各ネットワークスイッチ22−1〜22−4に向かう方向)に対して接続されており、ポート5は図1の上り方向(各ネットワークスイッチ22−1〜22−4からネットワークスイッチ21−1に向かう方向)に対して接続されている。
つぎに、ネットワークスイッチ21および22がそれぞれ有する各構成要素を説明する。なお、ネットワークスイッチ21および22は、それぞれ同一の構成を有するとともに同一の機能を果たすため、以下ではネットワークスイッチ22−1の例で説明する。
図2に示すように、ネットワークスイッチ22−1は、入力バッファ部201−1〜201−5(以下、「入力バッファ部201」と総称する)と、出力バッファ部202−1〜202−5(以下、「出力バッファ部202」と総称する)と、クロスバスイッチ203と、クロスバ制御部204と、マルチキャスト制御部205とを有する。
入力バッファ部201−1〜201−5は、ネットワークスイッチ22−1の各入力ポートに入力されたパケットを保持し、デコードし、出力する。なお、本実施形態では、各入力バッファ部201−1〜201−5は、各入力ポート1〜5に対応するものとする。
出力バッファ部202−1〜202−5は、クロスバスイッチ203から出力されたパケットを保持し、各出力ポートを介して、保持しているパケットをネットワークスイッチ21−1、22−2〜22−4や計算ノード群1に出力する。なお、本実施形態では、各出力バッファ部202−1〜202−5は、各出力ポート1〜5にそれぞれ対応するものとする。
クロスバスイッチ203は、クロスバ制御部204の制御下で、入力バッファ部201−1〜201−5から出力されたパケットを、クロスバ制御部204によって指定された出力バッファ部202−1〜202−5に送信する動作(ルーティング)を行う。
クロスバ制御部204は、入力バッファ部201−1〜201−5でデコードされた行先情報の入力を受け、入力された行先情報に従って、クロスバスイッチ203のルーティングを制御する。
マルチキャスト制御部205は、入力バッファ部201−1〜201−5からマルチキャストパケットが入力された場合、マルチキャストパケットのコピーを生成し、適切な出力バッファ部202−1〜202−5にマルチキャストパケットのコピーを出力する。
なお、入力バッファ部201からマルチキャスト制御部205に入力されたパケットが、後述する経路設定コマンドであるとする。この場合、マルチキャスト制御部205は、転送経路の設定時に、マルチキャストパケットの転送元として経路設定コマンドの転送先(ネットワークスイッチ21または22)を設定する。また、マルチキャスト制御部205は、マルチキャストパケットの転送先として経路設定コマンドの転送元(計算ノード10)を設定する。このマルチキャストパケットは、設定された転送経路を用いたマルチキャスト通信により送信されるパケットである。
また、マルチキャスト制御部205は、図3に示すように、パケット入力部301と、パケット出力部302と、プロセス数保持部303と、プロセス数カウンタ部304と、マルチキャスト制御情報保持部305と、加算部306と、比較部307と、完了通知生成部308と、宛先一致判別部309とを有する。
パケット入力部301は、入力バッファ部201−1〜201−5からのパケット入力を受け、入力されたパケットをパケット出力部302に出力する。パケット入力部301が入力するパケットとは、マルチキャスト通信により送信されるマルチキャストパケット、計算ノード10により発行された経路設定コマンドなどである。経路設定コマンドが計算ノード10から送信されてきた場合、パケット入力部301は、後述する「経路設定コマンド受信処理」を実行し、経路設定コマンドを受信する。また、パケット入力部301は、受け取った経路設定コマンド内に格納されている所定の制御情報(例えば、後述するマルチキャストID)を、プロセス数保持部303、プロセス数カウンタ部304、マルチキャスト制御情報保持部305に通知する機能を有する。
パケット出力部302は、パケット入力部301もしくは完了通知生成部308からパケット(経路設定コマンド、マルチキャストパケットなど)を受け取り、受け取ったパケットを図2に示した各出力バッファ部202−1〜202−5に出力する。また、パケット出力部302は、マルチキャストパケットの出力先(転送先)を指定するための転送経路情報である「マルチキャスト制御情報3051」を、マルチキャスト制御情報保持部305から受け取る。
プロセス数保持部303は、「プロセス数保持処理」を実行し、「グループ所属プロセス数」を保持するレジスタ群である。ここに、「グループ所属プロセス数」とは、マルチキャスト通信を実行する計算ノード10上の各プロセスグループに所属するプロセス数である。また、ここでいうプロセスグループは、例えば、MPIにて、通信を行うプロセスの集合として扱われるコミュニケータに相当する。また、プロセス数保持部303は、パケット入力部301からマルチキャストIDの入力を受け、そのマルチキャストIDで指定されるレジスタ値(グループ所属プロセス数)を比較部307に出力する。
プロセス数カウンタ部304は、「プロセス数カウント処理」を実行し、マルチキャスト通信におけるマルチキャストパケットの転送経路の設定処理である「転送経路設定」に関するレジスタ値を保持するレジスタ群である。より具体的には、プロセス数カウンタ部304は、マルチキャスト通信を行う計算ノード10上のプロセスに対して転送経路設定が完了した数(以下、「経路設定完了プロセス数」という)を保持する。プロセス数カウンタ部304は、パケット入力部301からマルチキャストIDの入力を受け、マルチキャストIDで指定されるレジスタ値(経路設定完了プロセス数)を加算部306に出力する。
マルチキャスト制御情報保持部305は、「マルチキャスト制御情報保持処理」を実行し、マルチキャストパケットのコピーを出力させる出力ポート番号を指定するための情報である「マルチキャスト制御情報3051」を保持する。なお、マルチキャスト制御情報保持部305は、パケット入力部301が計算ノード10上の1つのプロセスから1つの経路設定コマンドを受信したときに、そのプロセスに対する経路設定処理を実行する。そのため、プロセス数カウンタ部304がカウントする経路設定完了プロセス数は、ネットワークスイッチ22−1が受信した経路設定コマンドの数と同一である。
また、マルチキャスト制御情報保持部305は、パケット入力部301−1〜301−5からの入力を受け、パケット出力部302−1〜302−5に制御信号(転送経路情報)を出力する。なお、マルチキャスト制御情報保持部305は、パケット入力部301−1〜301−5のうちから、入力バッファ部201(入力ポート)からパケットが入力されたパケット入力部を識別する機能を有する。
加算部306は、加算器で構成され、「加算処理」を実行し、プロセス数カウンタ部304が保持するレジスタ値の更新により、マルチキャスト制御部205がパケットの転送経路設定を完了した経路設定完了プロセス数をカウントする。なお、加算部306は、プロセス数カウンタ部304が保持する「経路設定完了プロセス数」に加算処理を施した後に、加算処理後の結果をプロセス数カウンタ部304が保持するレジスタ値に書き戻す。また、加算部306は、加算結果を比較部307に出力する。
比較部307は、比較器で構成され、「比較処理」を実行することにより、加算部306とプロセス数保持部303とからそれぞれ値の入力を受け、加算部306からの入力値とプロセス数保持部303からの入力値とを比較し、比較結果を完了通知生成部308に出力する。また、比較部307は、比較結果が一致したときに、マルチキャスト通信の経路設定が完了したと識別する。経路設定が完了としたと識別した場合、比較部307は、「完了通知指示処理」を実行し、完了通知生成部308に、経路設定完了の旨を通知するためのパケットである「経路設定完了通知」を生成するよう指示する。
完了通知生成部308は、「完了通知生成処理」を実行し、比較部307の「完了通知指示処理」による指示に従って、「経路設定完了通知」を生成する。また、完了通知生成部308は、「完了通知送信処理」を実行し、生成した経路設定完了通知をパケット出力部302に出力する。これにより、経路設定完了通知が計算ノード10に送信される。
宛先一致判別部309は、「宛先一致判別処理」を実行し、経路設定コマンドの転送先情報が示す経路設定コマンドの最終的な宛先が自己のネットワークスイッチに一致するか否かを判別し、一致すると判別した場合、自己のネットワークスイッチがパケットの最終的な転送先であることを識別する。そして、宛先一致判別部309は、経路設定コマンド中に格納されている「経路設定コマンドの最終的な宛先」の識別結果を、プロセス数カウンタ部304に通知する。
また、宛先一致判別部309は、マルチキャスト通信の際に、計算ノード10から送信されてきたマルチキャストパケットの宛先が自己に一致するか否かを判別する機能を有する。自己に一致すると判別した場合、宛先一致判別部309は、マルチキャストパケット中の「制御部到達ビット」を「1」に書き換える。
なお、プロセス数保持部303、プロセス数カウンタ部304およびマルチキャスト制御情報保持部305は、複数セットの情報(図3中の1つのグループ所属プロセス数と、図3中の1つの経路設定完了プロセス数と、後述する図4の1つのビット列とを1セットとする情報)をそれぞれ保持できるよう構成することが望ましい。この場合に、マルチキャスト通信を実行する計算ノード10上のプロセスグループに、各プロセスグループをそれぞれ識別するための番号(以下、「マルチキャストID」という)を付与したものする。これにより、各プロセスグループが、マルチキャストIDに基づいて、複数セットの情報のうちから自己のプロセスグループに対応する情報を選択することが可能になる。これにより、複数のプロセスグループによるマルチキャスト通信を同時に実行することが可能になるからである。
つぎに、マルチキャスト制御情報保持部305の構成を詳細に説明する。図4に示すように、マルチキャスト制御情報保持部305が保持する「マルチキャスト制御情報3051」には、長さが「5」であるm個のビット列B1〜Bmが登録されている。ここに、ビット列B1〜Bmをm個設けているのは、複数(m個)のマルチキャスト通信用の転送経路を設定可能にするためである。
マルチキャスト制御情報保持部305は、計算ノード10から送信されてきた経路設定コマンドに含まれるマルチキャストIDにより、ビット列B1〜Bmのうちから特定のビット列を指定する。各ビット列B1〜Bm中にそれぞれ含まれる5つのビットは、5つの各出力ポート(各出力ポートに対応する出力バッファ部202−1〜202−5)にそれぞれ対応付けられている。なお、上述したようにネットワークスイッチが有する入力ポートおよび出力ポートは互いに1対1で対応付けられている。そのため、マルチキャスト制御情報保持部305は、外部から経路設定コマンドが入力された入力ポート番号に対して、その入力ポート番号に対応する出力ポート番号に応じたビット列B1〜Bm内のビットを識別することが可能である。
なお、マルチキャスト制御情報保持部305は、各ビット列B1〜Bmにおいて、マルチキャストパケットを出力させる出力ポート番号に対応するビットに対しては「1」を設定する。また、マルチキャスト制御情報保持部305は、マルチキャストパケットを出力させない出力ポート番号に対応するビットに対しては「0」を設定する。図4に示したビット列B1の例では、1番目のビットに対応する出力ポート(出力ポート番号「1」)が、マルチキャストパケット送信用に設定されている。
なお、図4に示した例では、マルチキャストパケットの出力先を、ネットワークスイッチ21および22が具備する出力ポートの数と同じ数のビットを有するビット列で示しているが、マルチキャスト制御情報3051の形態は特に限定しない。マルチキャスト制御情報3051は、例えば、マルチキャストパケットの出力先となる出力ポート番号が登録されたリストであってもよい。
次に、上記構成を有する並列計算機システムにて、マルチキャスト通信用の転送経路を設定する「転送経路設定処理」の動作シーケンスを説明する。図5に示すように、この一連の動作シーケンスは、計算ノード10と、ネットワークスイッチ21と、ネットワークスイッチ22との3者の間で実行されるものである。
なお、この一連の「転送経路設定処理」において、計算ノード10では、ステップ11の「事前準備処理」と、ステップ12の「経路設定コマンド発行処理」と、ステップ13の「経路設定完了通知受取処理」と、ステップ14の「マルチキャスト通信処理」とを実行する。
また、この一連の「転送経路設定処理」において、ネットワークスイッチ21または22は、ステップ21または31の「経路設定コマンド受信処理」と、ステップ22または32の「経路設定処理」とを実行する。なお、ステップ23の「経路設定コマンド転送処理」、ステップ33の「経路設定完了通知処理」およびステップ24の「経路設定完了通知転送処理」は、経路設定コマンドの最終的な宛先であるか否かに応じて実行される。
以下、上述の各処理について、その概要を説明する。
ステップ11の「事前準備処理」は、計算ノード10において、マルチキャスト通信を実行するプロセスグループに所属する各プロセスが、プロセスグループ識別用の「マルチキャストID」や各プロセスグループに属するプロセス数などの情報を事前に共有するために行われる。
ステップ12の「経路設定コマンド発行処理」は、計算ノード10において、マルチキャスト通信を実行するプロセスグループの各プロセスが、ネットワークスイッチ21、22に転送経路の設定を指示するための「経路設定コマンド」を発行するために行われる。この「経路設定コマンド」のデータ構造については、詳細な説明を後述する。
ステップ21または31の「経路設定コマンド受信処理」は、ネットワークスイッチ21、22において、計算ノード10のプロセスグループの各プロセスから「経路設定コマンド発行処理」により送信されてきた「経路設定コマンド」を受信するために行われる。
なお、図6に示すように、ステップ21の「経路設定コマンド受信処理」では、ステップ211の「経路設定コマンド受信処理」と、ステップ212の「宛先一致判別処理」とが実行される。ステップ211の「経路設定コマンド受信処理」は、パケット入力部301により実行され、経路設定コマンドを受信するために行われる。また、ステップ212の「宛先一致判別処理」は、宛先一致判別部309により実行され、後述する「マルチキャスト制御スイッチ番号」が示す経路設定コマンドの最終的な宛先と自己のネットワークスイッチとが一致するか否かを判別するために行われる。
図6のステップ212にてNoであり、宛先一致判別部309が、自己のネットワークスイッチは最終的な宛先でないと判別した場合、図5に示したようにステップ22の「経路設定処理」の実行後に、ステップ23の「経路設定コマンド転送処理」が実行される。また、図6のステップ212にてYesであり、宛先一致判別部309が、自己のネットワークスイッチは最終的な宛先であると判別した場合、図5に示したようにステップ32の「経路設定処理」の実行後に、ステップ33の「経路設定完了通知処理」が実行される。
図5に示すステップ22または32の「経路設定処理」は、「経路設定コマンド受信処理」により「経路設定コマンド」を受信したネットワークスイッチ21、22において、受信した「経路設定コマンド」に基づいて行われる。各ネットワークスイッチ21および22では、計算ノード10から受信した経路設定コマンドの指示に従って、各ネットワークスイッチ21および22のマルチキャスト制御部205が、マルチキャスト制御情報3051を設定する。
ステップ23の「経路設定コマンド転送処理」は、計算ノード10のプロセスグループの各プロセスから送信されてきた「経路設定コマンド」を、その最終的な宛先(後述の「マルチキャスト制御スイッチ」)のネットワークスイッチに送信するために行われる。
ステップ33の「経路設定完了通知処理」は、経路設定コマンドの最終的な宛先であるネットワークスイッチ21または22において、「経路設定処理」の完了によりマルチキャスト通信に用いられる経路の設定が完了したことを、経路設定コマンドの発行元である計算ノード10に通知するために行われる。
また、マルチキャスト制御スイッチから計算ノード10に至る転送経路上のネットワークスイッチは、ステップ24の「経路設定完了通知転送処理」を実行する。これにより、ネットワークスイッチ21または22は、マルチキャスト制御スイッチが送信した経路設定完了通知を中継し、経路設定コマンドの発行元の計算ノードに転送する。
ステップ13の「経路設定完了通知受取処理」は、計算ノード10のプロセスグループ内の各プロセスにて実行される。この「経路設定完了通知受取処理」では、ステップ23の「経路設定完了通知処理」によってマルチキャスト制御スイッチであるネットワークスイッチから送信された「経路設定完了通知」を、プロセスグループが受信する。これにより、受信したプロセスグループ内の各プロセスは、自己が「経路設定コマンド」の送信により要求したマルチキャスト通信の経路設定が、経路設定コマンドの最終的な宛先であるネットワークスイッチ上で完了したことを認識する。そのため、「経路設定完了通知」を受信したプロセスグループに対して、マルチキャスト通信を行うためのマルチキャスト通信コマンドを発行可能となる。
ステップ13の「経路設定完了通知受取処理」の完了後、「経路設定完了通知」を受信したプロセスグループ内のプロセスは、プログラムによってマルチキャスト通信の実行を指示された際に、ステップ14の「マルチキャスト通信処理」を実行し、マルチキャスト通信を実行する。なお、一旦経路を設定してしまえば、そのプロセスグループに対するマルチキャスト通信は、「マルチキャスト通信処理」を繰り返し実行することにより、複数回実行可能である。
つぎに、計算ノード10によるステップ11〜14の各処理、ネットワークスイッチ22−1によるステップ21〜24の各処理、ネットワークスイッチ21−1によるステップ31〜33の各処理について詳細に説明する。なお、以下では、図1に示す並列計算機システム上で、5つのプロセスからなるプロセスグループがマルチキャスト通信を実行する場合を例に挙げて説明する。5つのプロセスは、計算ノード11−1〜11−4、12−1〜12−4、13−1〜13−4、14−1〜14−4上でそれぞれ動作しているものである。
まず、計算ノード10上にて実行されるステップ11の「事前準備処理」について説明する。図5に示した「事前準備処理」において、マルチキャスト通信を実行するプロセスグループの各プロセスは、マルチキャスト通信の経路設定前に、(a)マルチキャストIDと、(b)マルチキャスト通信を制御するネットワークスイッチを指定するための番号(以下、「マルチキャスト制御スイッチ番号」という)と、(c)プロセスグループに含まれるプロセス数(以下、「グループ所属プロセス数」という)とを示す情報を共有しておく。
「マルチキャストID」は、計算ノード10上で動作する各プロセスグループをそれぞれ識別するための番号を示す「識別情報」である。以下の例では、マルチキャストIDは「1」であるものとする。
「マルチキャスト制御スイッチ番号」は、マルチキャスト通信を制御するネットワークスイッチを指定するための情報である。また、「マルチキャスト制御スイッチ番号」で指定されるネットワークスイッチを、以下では「マルチキャスト制御スイッチ」という。ツリー構造を有するネットワークでは、図9に示す最上段のネットワークスイッチ(ネットワークスイッチ21−1)を指定するのが最も効率的である。そのため、この例では、「ネットワークスイッチ21−1」をマルチキャスト制御スイッチ番号で指定するものとする。なお、マルチキャスト制御スイッチ番号は、マルチキャスト制御スイッチに経路設定コマンドを転送するための転送経路情報であってもよい。
「グループ所属プロセス数」は、計算ノード10にて、「マルチキャストID」が付与されたプロセスグループに所属しているプロセスの数である。「マルチキャストID」はマルチキャスト通信を実行するプロセスグループに対して付与されるため、「グループ所属プロセス数」は、マルチキャスト通信に参加させ、マルチキャスト通信を実行させるプロセス数を示す「マルチキャスト実行プロセス数」である。以下の例では、「グループ所属プロセス数」は「5」であるものとする。
以上で、ステップ11の「事前準備処理」が終了する。
つぎに、計算ノード10上にて実行されるステップ12の「経路設定コマンド発行処理」について説明する。ステップ12の「経路設定コマンド発行処理」において、計算ノード10のうちでマルチキャスト通信を実行するプロセスグループの各プロセスが、「経路設定コマンド」をそれぞれ発行する。そして、発行された経路設定コマンドは、図9に示す相互結合網2上に設けられた特定のネットワークスイッチ21、22が有するマルチキャスト制御部205に転送される。
この「経路設定コマンド」は、ネットワーク21または22が有するマルチキャスト制御部205に対して、マルチキャスト通信用の転送経路設定を指示するためのコマンドを含んだパケットである。
また、経路設定コマンドは、「事前準備処理」においてマルチキャスト通信を行うプロセス間にて共有された情報を含むものである。すなわち、図7に示すように、経路設定コマンドは、マルチキャストID(=「1」)と、マルチキャスト制御スイッチ番号(=「ネットワークスイッチ21−1」)と、グループ所属プロセス数(=「5」)とを含んでいる。なお、マルチキャスト制御スイッチ番号は、マルチキャスト通信を制御するマルチキャスト制御スイッチに経路設定コマンドを転送するための経路情報である「経路設定コマンドの転送先情報」である。
次に、ネットワークスイッチ21、22によるステップ21の「経路設定コマンド受信処理」について説明する。図5に示したステップ21の「経路設定コマンド受信処理」では、ネットワークスイッチ21、22は、「経路設定コマンド発行処理」により計算ノードが発行した経路設定コマンドを受信する。このとき、ネットワークスイッチ21、22のパケット入力部301は、経路設定コマンドを、計算ノード10から、または、計算ノード10から受信した経路設定コマンドを転送してきた他のネットワークスイッチから受信する。
つぎに、計算ノード10により発行された経路設定コマンドを受信したときの、ネットワークスイッチの動作について説明する。以下では、図5に示したように、計算ノード11−1が発行した経路設定コマンドをネットワークスイッチ22−1または21−1が受信した場合を例に挙げて説明する。そして、この例では、計算ノード11−1が発行した経路設定コマンドが、図7に示した経路設定コマンドであるものとし、「ネットワークスイッチ21−1」がマルチキャスト制御スイッチとして指定されている。
なお、ネットワークスイッチの動作は、ネットワークスイッチが経路設定コマンドの最終的な宛先であるか否か(マルチチャネル制御スイッチであるか否か)に応じて異なる。そのため、まず、「マルチチャネル制御スイッチ」でないネットワークスイッチ22−1から説明する。
ネットワークスイッチ22−1は、図5に示したステップ21の「経路設定コマンド受信処理」にて、図6に示したステップ211の「経路設定コマンド受信処理」を実行し、計算ノード11−1が発行した経路設定コマンドを受信する。その後、ネットワークスイッチ22−1の入力バッファ部201−1は、経路設定コマンドをデコードし、マルチキャスト制御部205に供給する。マルチキャスト制御部205が有するパケット入力部301は、入力バッファ部201−1から供給された経路設定コマンドから、マルチキャスト制御スイッチ番号およびマルチキャストIDを抽出する。
続いて、宛先一致判別部309は、図6に示したステップ212の「宛先一致判別処理」を実行し、経路設定コマンド内の転送先情報(マルチキャスト制御スイッチ番号)が示す経路設定コマンドの最終的な宛先と自己のネットワークスイッチ22−1とが一致するか否かを判別する。この例では、マルチキャスト制御スイッチ番号はネットワークスイッチ21−1を示しており、ネットワークスイッチ22−1は最終的な転送先でない。そのため、宛先一致判別部309は、自己のネットワークスイッチが最終的な転送先でないと判別する。この場合、スイッチ22−1では、マルチキャスト制御部205は、ステップ22の「経路設定処理」の実行後、ステップ23の「経路設定コマンド転送処理」を実行する。
つぎに、図6に示したステップ22の「経路設定処理」について説明する。ステップ22の「経路設定処理」は、マルチキャスト制御情報保持部305が、自ら保持するマルチキャスト制御情報3051を更新することにより実行される。マルチキャスト制御情報保持部305は、経路設定コマンド中のマルチキャストIDによって指定されたビット列において、経路設定コマンドを受信した入力ポート番号に対応するビットの値を「1」に設定する。この例では、マルチキャストIDは「1」を示しているため、図4に示した「1番目のビット列B1」が指定される。さらに、経路設定コマンドを受信した入力ポート番号が「1」であったものとする。この場合、マルチキャスト制御情報保持部305は、マルチキャストIDで指定されたビット列B1において、入力ポート番号「1」に対応する「1番目の出力ポートに対応するビット」の値を、「1」に設定する。以下、このような動作を「ビット設定動作」という。
「経路設定処理」(ビット設定動作)の終了後、ネットワークスイッチ22−1は、ステップ23の「経路設定コマンド転送処理」を実行する。パケット入力部301は、ネットワークスイッチ22−1が受信した経路設定コマンドを、パケット出力部302を経由して出力バッファ部202−5に入力する。ネットワークスイッチ22−1の出力バッファ部202−5は、「経路設定コマンド転送処理」を実行し、経路設定コマンドを、その最終的な宛先であるネットワークスイッチ21−1に転送する。
つぎに、「経路設定コマンドの最終的な宛先(マルチキャスト制御スイッチ)である」スイッチ21−1の動作を説明する。スイッチ21−1は、ステップ31の「経路設定コマンド受信処理」により、ネットワークスイッチ22−1から転送されてきた経路設定コマンドを受信すると、入力バッファ部201−1によりデコードされた経路設定コマンドをマルチキャスト制御部205に供給する。マルチキャスト制御部205のパケット入力部301は、経路設定コマンドから、マルチキャスト制御スイッチ番号およびマルチキャストIDを抽出する。抽出されたマルチキャスト制御スイッチ番号(転送先情報)が示す宛先はスイッチ21−1であるため、この転送先情報を現在参照しているネットワークスイッチ21−1は、計算ノード11−1から発行された経路設定コマンドの最終的な宛先そのものである。
この場合、ネットワークスイッチ21−1が有する宛先一致判別部309は、図6に示したステップ212の宛先一致判別処理にてYesであり、転送先情報が示す宛先のネットワークスイッチが自己のネットワークスイッチ21−1に一致すると判別し、自己が最終的な転送先であることを識別する。そのため、ネットワークスイッチ21−1では、マルチキャスト制御情報保持部305によるステップ32の「経路設定処理」と、マルチキャスト制御情報保持部305および完了通知生成部308によるステップ33の「経路設定完了通知処理」とが実行される。
ネットワークスイッチ21−1の「経路設定処理」の動作は、上述のネットワークスイッチ22−1が「経路設定処理」にて実行したビット設定動作と同一である。すなわち、ネットワークスイッチ21−1にて、マルチキャスト制御情報保持部305は、マルチキャスト制御情報3051のうちから、マルチキャストID(この例では「1」)で指定される「1番目のビット列B1」を特定する。さらに、マルチキャスト制御情報保持部305は、特定したビット列B1において、経路設定コマンドを受信した入力ポートの番号(例えば、「1」)に対応する出力ポートの番号のビット(1番目のビット)の値を「1」に設定する。この設定動作により、経路設定コマンドの発行元である計算ノード11−1に対して、ネットワークスイッチ21−1がマルチキャストパケットを転送する際に、ネットワークスイッチ21−1が有する出力ポート番号1の出力ポートが用いられる。
また、ネットワークスイッチ21−1のステップ33の「経路設定完了通知処理」は以下のように行われる。まず、パケット入力部301は、経路設定コマンドから抽出したマルチキャストIDをプロセス数保持部303に通知する。プロセス数保持部303は、通知されたマルチキャストIDにより指定されたレジスタの値(グループ所属プロセス数)を、比較部307に出力する。
また、パケット入力部301は、マルチキャストIDをプロセス数カウンタ部304に通知する。プロセス数カウンタ部304は、「プロセス数カウント処理」を実行し、通知されたマルチキャストIDによって指定されたレジスタに格納されている値(経路設定完了プロセス数)を、加算部306に出力する。
図8に示すように、加算部306は、マルチキャスト制御情報保持部305がマルチキャスト制御情報3051中のビット列B1〜Bnに含まれるビットを1つ設定するごとに、ステップ331の「加算処理」を実行する。この「加算処理」にて、加算部306は、プロセス数カウンタ部304から出力されたレジスタの値である経路設定完了プロセス数に1を加算する。続いて、加算部306は、加算後の結果をプロセス数カウンタ部304に書き戻すとともに、加算後の結果を比較部307にも出力する。
比較部307は、ステップ332の「比較処理」を実行し、プロセス数保持部303から入力された値(計算ノード10上でマルチキャスト通信を行うプロセスグループのグループ所属プロセス数)と、加算部306から入力された値(加算部306が加算処理を施した後の経路設定完了プロセス数)とを比較する。ステップ332の「比較処理」にてYesであり、各入力値が互いに一致すると判別した場合、マルチキャスト通信を実行するプロセスグループに含まれるすべてのプロセスから経路設定コマンドが到達した場合に相当する。このとき、比較部307は、マルチキャスト通信のための経路設定が完了したと識別するとともに、完了通知生成部308に「経路設定完了通知」を発行するよう指示する。一方、ステップ332にてNoであり、グループ所属プロセス数と経路設定完了プロセス数とが一致しないと判別した場合、比較部307は、経路設定が完了していないと識別し、加算部306が、ステップ331の処理を実行する。
ネットワークスイッチ21−1がステップ32の「経路設定処理」を実行し、経路設定コマンドがすべてのプロセスからスイッチ21−1に到達すると、各ネットワークスイッチ21−1、22−1〜2−4のマルチキャスト制御情報保持部305における1番目のビット列は、図9に示すB1−1、B2−1〜B2−4のようにそれぞれ設定される。また、スイッチ21−1では、加算部306が出力した値とプロセス数保持部303が出力した値とが一致するため、比較部307が、経路設定が完了したことを識別する。この場合、比較部307は、「完了通知指示処理」を実行し、完了通知生成部308に「経路設定完了通知」の発行を指示する。
完了通知生成部308は、ステップ333の「完了通知生成処理」により、経路設定完了通知を生成し、生成した経路設定完了通知をパケット出力部302に出力する。なお、この経路設定完了通知には、マルチキャスト通信を実行するプロセスグループを特定するためのマルチキャストID(この例では「1」)が記述されている。
ネットワークスイッチ21−1のパケット出力部302は、「完了通知生成処理」により生成された経路設定完了通知を、完了通知生成部308から受信する。また、パケット出力部302は、「経路設定処理」により設定された経路情報を、マルチキャスト制御情報保持部305から受信する。そして、パケット出力部302は、「完了通知送信処理」により、経路情報で指定された出力バッファ部202(出力ポート)を用いて、経路設定完了通知のコピーを出力する。これにより、転送経路に従って、経路設定完了通知が、計算ノード11−1宛に送信される。例えば、図10の例では、スイッチ21−1のパケット出力部302は、マルチキャストIDで指定されたマルチキャスト制御情報3051内の「1番目のビット列B1−1」の設定に対応する各出力ポート(出力ポート番号1〜3)に、経路設定完了通知を出力する。以上で、ステップ33の「経路設定完了通知処理」が終了する。
なお、図5においては、マルチキャスト通信用の転送経路が、ネットワークスイッチ21−1、ネットワークスイッチ22−1、計算ノード11−1の順に設定されている。そのため、ネットワークスイッチ22−1による中継処理であるステップ24の「経路設定完了通知転送処理」が行われる。
つぎに、ステップ24の「経路設定完了通知転送処理」について説明する。ネットワークスイッチ22−1は、ネットワークスイッチ21−1から送信されてきた「経路設定完了通知」を受信すると、マルチキャスト制御部205のパケット入力部301に経路設定完了通知を入力する。パケット入力部301は、マルチキャスト制御情報保持部305に対して、経路設定完了通知に含まれるマルチキャストID(この例では「1」)を通知する。また、パケット入力部301は、入力された経路設定完了通知をパケット出力部302に転送する。ネットワークスイッチ22−1のパケット出力部302は、マルチキャスト制御情報3051内の図10のビット列B2−1に含まれるビットによって指定されるポートに、パケットを出力する。これにより、ネットワークスイッチ21−1が発行した「経路設定完了通知」が、ネットワークスイッチ22−1から、計算ノード11−1で動作するプロセスグループの各プロセスに送信される。なお、経路設定完了コマンドにより経路設定の完了を各プロセスに通知する方法は任意である。例えば、計算ノード10の指定された番地に対応するメモリまたは計算ノード10の指定されたレジスタへの所定値の設定、計算ノード10への割込の報告、などの一般的な方法でもよい。
経路設定完了通知の宛先である計算ノード11−1は、ステップ13の「経路設定完了通知受取処理」を実行し、経路設定完了通知を、プロセスグループの各プロセスにより受信する。以上で、「転送経路設定処理」が終了する。
つぎに、一連の「転送経路設定処理」によって設定された転送経路を用いて、計算ノード11−1がマルチキャスト通信するときのステップ14の「マルチキャスト通信処理」について説明する。なお、「マルチキャスト通信処理」を実行するプロセスグループの5つのプロセスは、マルチキャスト通信する機能をそれぞれ有する。ここでは、計算ノード11−1が、プロセスグループ内の5つのすべてのプロセスを用いてマルチキャスト通信を行う場合を例に挙げて説明する。
計算ノード11−1上で動作するプロセスグループのプロセスが、マルチキャストパケットを発行したものとする。このとき、図11に示すように、計算ノード11−1から送信されたマルチキャストパケットは、そのプロセスグループのマルチキャスト通信を制御するマルチキャスト制御スイッチまで転送される。なお、マルチキャスト制御スイッチは、ステップ11の「事前準備処理」で設定された「マルチキャスト制御スイッチ番号」によって指定される。そのため、計算ノード11−1がマルチキャストパケットを発行するときの宛先情報には、「ネットワークスイッチ21−1」が設定されている。また、初期状態において、計算ノード11−1が発行するマルチキャストパケット中の「制御部到達ビット」は、そのマルチキャストパケットがマルチキャスト制御スイッチ21−1に到達していないことを示すために、「0」に設定されている。
「マルチキャスト制御スイッチでない」ネットワークスイッチ22−1では、宛先一致判別部309が、計算ノード11−1から受信したマルチキャストパケット中の制御部到達ビットが「0」に設定されていることを識別する。その後、ネットワークスイッチ22−1のパケット出力部302が、マルチキャストパケットをマルチキャスト制御スイッチ(ネットワークスイッチ21−1)宛に転送する。
「マルチキャスト制御スイッチである」ネットワークスイッチ21−1では、ネットワークスイッチ22−1から転送されてきたマルチキャストパケットを受信すると、宛先一致判別部309が、マルチキャストパケットがその最終的な宛先(ネットワークスイッチ21−1)に到達したことを識別する。そのため、宛先一致判別部309は、マルチキャストパケット中の制御部到達ビットを「1」に書き換え、マルチキャスト制御部205のパケット入力部301に転送する。パケット入力部301は、マルチキャストIDをマルチキャスト制御情報保持部305に通知するとともに、マルチキャストパケット本体をパケット出力部302に転送する。
さらに、ネットワークスイッチ21−1では、マルチキャスト制御情報保持部305が、マルチキャストIDで指定されるマルチキャストパケットの発行元(計算ノード11−1)のプロセスグループに対して設定した出力ポートを示すビット列(経路情報)を読み出し、読み出した経路情報をパケット出力部302に送信する。パケット出力部302は、設定済の転送経路を用いてマルチキャストパケットを送信するために、経路情報に従って指定された出力バッファ部202にマルチキャストパケットを出力する。図11の例では、マルチキャスト制御スイッチであるネットワークスイッチ21−1を介して、計算ノード11から送信されたマルチキャストパケットが、ネットワークスイッチ22−1、22−2、22−3宛に転送される。
各ネットワークスイッチ22−1〜22−3では、ネットワークスイッチ21−1から転送されてきたマルチキャストパケット中の制御部到達ビットが「1」に設定されていることを識別し、そのマルチキャストパケットがマルチキャスト制御スイッチに到達済であることを判別する。その後、判別したマルチキャストパケットを、マルチキャスト制御部205のパケット入力部301に転送する。パケット入力部301は、マルチキャストIDをマルチキャスト制御情報保持部305に通知するとともに、マルチキャストパケットをパケット出力部302に転送する。
マルチキャスト制御情報保持部305は、パケット入力部301から通知されたマルチキャストIDが指定するビット列(出力ポートの経路情報)を読み出し、この経路情報をパケット出力部302に供給する。パケット出力部302は、供給された経路情報が指定する出力バッファ部202−1〜202−5のいずれかにマルチキャストパケットを出力する。これにより、ネットワークスイッチ22−1は、上述の転送経路設定処理により設定された転送経路に従って、マルチキャストパケットを転送する。なお、このマルチキャストパケットの転送動作は、ステップ24の「経路設定完了通知転送処理」にて転送経路設定処理により設定された転送経路を用いて設定完了コマンドを転送する動作と同一である。
以上で、ステップ14の「マルチキャスト通信処理」が終了する。
以上説明したように、本発明の並列計算機システムによれば、ネットワークスイッチ21および22が、少なくとも1つの出力ポートを指定し、指定した出力ポートに対して入力ポートから入力されたパケットのコピーの転送経路を設定し、転送経路の設定を完了したプロセス数と、予め保持するマルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の経路設定が完了したことを識別する。
これにより、相互結合網2に接続された計算ノード10の物理的な位置を把握することなく、マルチキャスト通信における宛先および転送経路を高速に設定できる。
また、本発明の並列計算機システムによれば、マルチキャスト通信における宛先と転送経路が高速に設定完了されるため、マルチキャスト通信機能を用いるプログラム全体の処理性能を向上させることができる。
さらに、本発明の並列計算機システムによれば、ネットワークスイッチ21−1および22において、完了通知生成部308は、マルチキャスト制御部205によるマルチキャスト通信の経路設定が完了したことを、経路設定コマンドの発行元である計算ノード10に通知する。これにより、経路設定コマンドの発行元において、マルチキャスト通信の実行が可能になったことを認識することが可能になる。
なお、本発明の要旨を逸脱しない範囲で各種の変形が可能である。
図2に示した構成例では、マルチキャストパケットがマルチキャスト制御部205に入力された後に、マルチキャスト制御部205から出力バッファ部202に対して複数のコピーが出力される。しかし、ネットワークスイッチ内部でマルチキャスト通信を行う方法は、これに限らず、例えば、マルチキャスト制御部205にはパケット中の制御情報のみを入力し、パケット自体はクロスバスイッチ203を経由して出力バッファ部202に複数のパケットのコピーが出力されるようにしてもよい。
また、上述の動作例では、事前にプロセスグループに属するプロセス数をプロセス数保持部303に設定しておいたが、各経路設定コマンドがプロセス数を保持し、加算部306の出力結果とコマンドが保持していたプロセス数とを逐次比較することにより、経路設定の完了を識別するようにしてもよい。
なお、本発明においては、ネットワークスイッチ21−1内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、ネットワークスイッチ21−1として動作させるコンピュータにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをそのコンピュータに読み込ませ、実行するものであってもよい。ネットワークスイッチ21−1として動作させるコンピュータにて読取可能な記録媒体とは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、そのコンピュータに内蔵されたHDD等を指す。この記録媒体に記録されたプログラムは、例えば、ネットワークスイッチ21−1として動作させるコンピュータが有するマルチキャスト制御部205として動作するプロセッサにて読み込まれ、そのプロセッサの制御によって、上述したものと同様の処理が行われる。
ここで、マルチキャスト制御部205として動作するプロセッサは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するものである。なお、上述のプログラムは、各ネットワークスイッチ22−1〜22−4についても同様に適用可能である。
また、本発明のネットワークスイッチのマルチキャスト制御情報保持部は、マルチキャスト制御部に転送経路設定を指示するコマンドである経路設定コマンドが入力された入力ポートに基づいて、複数の出力ポートのうちからマルチキャストパケットを出力するための出力ポートを指定してもよい。
また、本発明のネットワークスイッチのマルチキャスト制御情報保持部は、複数の出力ポートにそれぞれ対応付けられた複数のビットを含むマルチキャスト制御情報を保持し、ビットに設定されている値の更新により、更新したビットに対応する出力ポートを、マルチキャストパケットを出力する出力ポートとして指定してもよい。
また、本発明のネットワークスイッチのマルチキャスト制御情報保持部は、更新の対象とするビットを含むマルチキャスト制御情報を、マルチキャストIDによって指定してもよい。
また、本発明のネットワークスイッチは、入力ポートに経路設定コマンドが入力されたときに、経路設定コマンドの転送先情報が示す宛先と、経路設定コマンドが入力されたネットワークスイッチとが一致するか否かを判別する宛先一致判別部、を有し、加算部は、宛先一致判別部が一致すると判別した場合、経路設定完了プロセス数をカウントしてもよい。
また、本発明のネットワークスイッチは、経路設定コマンドに含まれるマルチキャスト通信を実行させるプロセス数を保持するプロセス数保持部、を有し、比較部は、加算部がカウントした経路設定完了プロセス数と、プロセス数保持部が保持しているマルチキャスト通信を実行させるプロセス数とが一致するか否かを判別してもよい。
また、本発明のネットワークスイッチは、比較部がマルチキャスト通信の転送経路設定が完了したことを識別した場合、転送経路設定が完了したことを示す経路設定完了通知を生成し、生成した経路設定完了通知を、入力ポートに入力された経路設定コマンドの送信元に転送する完了通知生成部、を有してもよい。
また、本発明のネットワークスイッチの完了通知生成部は、マルチキャスト制御部が設定した転送経路に従って行われるマルチキャスト通信により、経路設定完了通知を転送してもよい。
また、本発明のネットワークスイッチでは、経路設定コマンドによってマルチキャスト制御部が転送経路を設定する際に、マルチキャストパケットは、相互結合網上を経路設定コマンドが転送された方向と逆向きに転送されるよう、転送経路を設定してもよい。
また、本発明の経路設定方法のマルチキャスト制御情報保持処理では、マルチキャスト制御処理にて転送経路設定を指示するコマンドである経路設定コマンドが入力された入力ポートに基づいて、複数の出力ポートのうちからマルチキャストパケットを出力するための出力ポートを指定してもよい。
また、本発明の経路設定方法のマルチキャスト制御情報保持処理では、複数の出力ポートにそれぞれ対応付けられた複数のビットを含むマルチキャスト制御情報を保持し、ビットに設定されている値の更新により、更新したビットに対応する出力ポートを、マルチキャストパケットを出力する出力ポートとして指定してもよい。
また、本発明の経路設定方法のマルチキャスト制御情報保持処理では、更新の対象とするビットを含むマルチキャスト制御情報を、マルチキャストIDによって指定してもよい。
また、本発明の経路設定方法は、入力ポートに経路設定コマンドが入力されたときに、経路設定コマンドの転送先情報が示す宛先と、経路設定コマンドが入力されたネットワークスイッチとが一致するか否かを判別する宛先一致判別処理、を有し、加算処理では、宛先一致判別処理にて一致すると判別した場合、経路設定完了プロセス数をカウントしてもよい。
また、本発明の経路設定方法は、経路設定コマンドに含まれるマルチキャスト通信を実行させるプロセス数を保持するプロセス数保持処理、を有し、比較処理では、加算処理にてカウントした経路設定完了プロセス数と、プロセス数保持処理にて保持しているマルチキャスト通信を実行させるプロセス数とが一致するか否かを判別してもよい。
また、本発明の経路設定方法は、比較処理にてマルチキャスト通信の転送経路設定が完了したことを識別した場合、転送経路設定が完了したことを示す経路設定完了通知を生成し、生成した経路設定完了通知を、入力ポートに入力された経路設定コマンドの送信元に転送する完了通知生成処理、を有してもよい。
また、本発明の経路設定方法の完了通知生成処理では、マルチキャスト制御処理にて設定した転送経路に従って行われるマルチキャスト通信により、経路設定完了通知を転送してもよい。
また、本発明の経路設定方法では、経路設定コマンドによってマルチキャスト制御処理にて転送経路を設定する際に、マルチキャストパケットは、相互結合網上を経路設定コマンドが転送された方向と逆向きに転送されるよう、転送経路を設定してもよい。
また、本発明のプログラムのマルチキャスト制御情報保持手順では、マルチキャスト制御手順にて転送経路設定を指示するコマンドである経路設定コマンドが入力された入力ポートに基づいて、複数の出力ポートのうちからマルチキャストパケットを出力するための出力ポートを指定してもよい。
また、本発明のプログラムのマルチキャスト制御情報保持手順では、複数の出力ポートにそれぞれ対応付けられた複数のビットを含むマルチキャスト制御情報を保持し、ビットに設定されている値の更新により、更新したビットに対応する出力ポートを、マルチキャストパケットを出力する出力ポートとして指定してもよい。
また、本発明のプログラムのマルチキャスト制御情報保持手順では、更新の対象とするビットを含むマルチキャスト制御情報を、マルチキャストIDによって指定してもよい。
また、本発明のプログラムは、入力ポートに経路設定コマンドが入力されたときに、経路設定コマンドの転送先情報が示す宛先と、経路設定コマンドが入力されたネットワークスイッチとが一致するか否かを判別する宛先一致判別手順、を有し、加算手順では、宛先一致判別手順にて一致すると判別した場合、経路設定完了プロセス数をカウントしてもよい。
また、本発明のプログラムは、経路設定コマンドに含まれるマルチキャスト通信を実行させるプロセス数を保持するプロセス数保持手順、を有し、比較手順では、加算手順にてカウントした経路設定完了プロセス数と、プロセス数保持手順にて保持しているマルチキャスト通信を実行させるプロセス数とが一致するか否かを判別してもよい。
また、本発明のプログラムは、比較手順にてマルチキャスト通信の転送経路設定が完了したことを識別した場合、転送経路設定が完了したことを示す経路設定完了通知を生成し、生成した経路設定完了通知を、入力ポートに入力された経路設定コマンドの送信元に転送する完了通知生成手順、を有してもよい。
また、本発明のプログラムの完了通知生成手順では、マルチキャスト制御手順にて設定した転送経路に従って行われるマルチキャスト通信により、経路設定完了通知を転送してもよい。
また、本発明のプログラムでは、経路設定コマンドによってマルチキャスト制御手順にて転送経路を設定する際に、マルチキャストパケットは、相互結合網上を経路設定コマンドが転送された方向と逆向きに転送されるよう、転送経路を設定してもよい。
以上、本実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の要旨を逸脱しない範囲で当業者が理解し得る各種の変形が可能である。
この出願は、2008年2月8日に出願された日本出願特願2008−028890を基礎とする優先権を主張し、その開示のすべてをここに取り込む。

Claims (10)

  1. 複数の入力ポートと該入力ポートにそれぞれ対応付けられた複数の出力ポートとを有し、前記出力ポートからマルチキャストパケットを出力するネットワークスイッチにおいて、
    前記複数の出力ポートのうちから前記マルチキャストパケットを出力するための出力ポートを指定するマルチキャスト制御情報保持部と、
    前記マルチキャスト制御情報保持部が指定した出力ポートに対して、前記マルチキャストパケットの転送経路を設定する転送経路設定を行うマルチキャスト制御部と、
    前記マルチキャスト制御部が前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算部と、
    前記加算部がカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較部と、
    前記比較部がマルチキャスト通信の転送経路設定が完了したことを識別した場合、該転送経路設定が完了したことを示す経路設定完了通知を生成し、該生成した経路設定完了通知を、前記入力ポートに入力された前記転送経路設定を指示するコマンドである経路設定コマンドの送信元に転送する完了通知生成部と、
    を有することを特徴とするネットワークスイッチ。
  2. 前記マルチキャスト制御情報保持部は、前記マルチキャスト制御部に前記経路設定コマンドが入力された入力ポートに基づいて、前記複数の出力ポートのうちから前記マルチキャストパケットを出力するための出力ポートを指定することを特徴とする請求項1に記載のネットワークスイッチ。
  3. 前記マルチキャスト制御情報保持部は、
    前記複数の出力ポートにそれぞれ対応付けられた複数のビットを含むマルチキャスト制御情報を保持し、
    前記ビットに設定されている値の更新により、該更新したビットに対応する出力ポートを、前記マルチキャストパケットを出力する出力ポートとして指定する、
    ことを特徴とする請求項2に記載のネットワークスイッチ。
  4. 前記マルチキャスト制御情報保持部は、前記更新の対象とするビットを含むマルチキャスト制御情報を、マルチキャストIDによって指定することを特徴とする請求項3に記載のネットワークスイッチ。
  5. 前記入力ポートに前記経路設定コマンドが入力されたときに、該経路設定コマンドの転送先情報が示す宛先と、該経路設定コマンドが入力されたネットワークスイッチとが一致するか否かを判別する宛先一致判別部、を有し、
    前記加算部は、前記宛先一致判別部が一致すると判別した場合、前記経路設定完了プロセス数をカウントする、
    ことを特徴とする請求項2に記載のネットワークスイッチ。
  6. 前記経路設定コマンドに含まれるマルチキャスト通信を実行させるプロセス数を保持するプロセス数保持部、を有し、
    前記比較部は、前記加算部がカウントした経路設定完了プロセス数と、前記プロセス数保持部が保持している前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別する、
    ことを特徴とする請求項2に記載のネットワークスイッチ。
  7. 前記完了通知生成部は、前記マルチキャスト制御部が設定した転送経路に従って行われるマルチキャスト通信により、前記経路設定完了通知を転送することを特徴とする請求項1に記載のネットワークスイッチ。
  8. 前記経路設定コマンドによって前記マルチキャスト制御部が転送経路を設定する際に、前記マルチキャストパケットは、1つまたは複数のネットワークスイッチで構成される相互結合網上を、前記経路設定コマンドが転送された方向と逆向きに転送されるよう、前記転送経路を設定することを特徴とする請求項2に記載のネットワークスイッチ。
  9. 複数の入力ポートと該入力ポートにそれぞれ対応付けられた複数の出力ポートとを有し、前記出力ポートからマルチキャストパケットを出力するネットワークスイッチにおける経路設定方法であって、
    前記複数の出力ポートのうちから前記マルチキャストパケットを出力するための出力ポートを指定するマルチキャスト制御情報保持処理と、
    前記マルチキャスト制御情報保持処理にて指定した出力ポートに対して、前記マルチキャストパケットの転送経路を設定する転送経路設定を行うマルチキャスト制御処理と、
    前記マルチキャスト制御処理にて前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算処理と、
    前記加算処理にてカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較処理と、
    前記比較処理にてマルチキャスト通信の転送経路設定が完了したことを識別した場合、該転送経路設定が完了したことを示す経路設定完了通知を生成し、該生成した経路設定完了通知を、前記入力ポートに入力された前記転送経路設定を指示するコマンドである経路設定コマンドの送信元に転送する完了通知生成処理と、
    を有する経路設定方法。
  10. ネットワークスイッチが具備する複数の入力ポートにそれぞれ対応付けられた複数の出力ポートのうちから、マルチキャストパケットを出力するための前記出力ポートを指定するマルチキャスト制御情報保持手順と、
    前記マルチキャスト制御情報保持手順にて指定した出力ポートに対して、前記マルチキャストパケットの転送経路の設定である転送経路設定を行うマルチキャスト制御手順と、
    前記マルチキャスト制御手順にて前記転送経路設定を完了したプロセス数である経路設定完了プロセス数をカウントする加算手順と、
    前記加算手順にてカウントした経路設定完了プロセス数と、前記マルチキャスト通信を実行させるプロセス数とが一致するか否かを判別し、一致すると判別したときにマルチキャスト通信の転送経路設定が完了したことを識別する比較手順と、
    前記比較手順にてマルチキャスト通信の転送経路設定が完了したことを識別した場合、該転送経路設定が完了したことを示す経路設定完了通知を生成し、該生成した経路設定完了通知を、前記入力ポートに入力された前記転送経路設定を指示するコマンドである経路設定コマンドの送信元に転送する完了通知生成手順と、
    をコンピュータに実行させるプログラム。
JP2009552389A 2008-02-08 2008-12-11 ネットワークスイッチ、経路設定方法およびプログラム Expired - Fee Related JP5347975B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009552389A JP5347975B2 (ja) 2008-02-08 2008-12-11 ネットワークスイッチ、経路設定方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008028890 2008-02-08
JP2008028890 2008-02-08
JP2009552389A JP5347975B2 (ja) 2008-02-08 2008-12-11 ネットワークスイッチ、経路設定方法およびプログラム
PCT/JP2008/072511 WO2009098820A1 (ja) 2008-02-08 2008-12-11 ネットワークスイッチ、経路設定方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2009098820A1 JPWO2009098820A1 (ja) 2011-05-26
JP5347975B2 true JP5347975B2 (ja) 2013-11-20

Family

ID=40951903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009552389A Expired - Fee Related JP5347975B2 (ja) 2008-02-08 2008-12-11 ネットワークスイッチ、経路設定方法およびプログラム

Country Status (3)

Country Link
US (1) US8416702B2 (ja)
JP (1) JP5347975B2 (ja)
WO (1) WO2009098820A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777809B2 (en) 2010-05-11 2023-10-03 Comcast Cable Communications, Llc Dynamic assignment of signals to ports in an access platform
US9307304B2 (en) 2010-05-11 2016-04-05 Comcast Cable Communications, Llc Dynamic assignment of signals to ports in an access platform
US9253248B2 (en) * 2010-11-15 2016-02-02 Interactic Holdings, Llc Parallel information system utilizing flow control and virtual channels
US8855117B2 (en) * 2012-08-08 2014-10-07 Cisco Technology, Inc. Scalable media access control protocol synchronization techniques for fabric extender based emulated switch deployments
NZ607298A (en) * 2013-02-19 2014-08-29 Allied Telesis Holdings Kk Improvements in and relating to network communications
US9712334B2 (en) * 2013-05-21 2017-07-18 Brocade Communications Systems, Inc. Efficient multicast topology construction in a routed network
US10833880B2 (en) * 2014-08-07 2020-11-10 Nokia Technologies Oy Controlled switching of multicast traffic between selective and inclusive routes based on number of multicast receivers
US20230130865A1 (en) * 2021-10-27 2023-04-27 Arris Enterprises Llc Multicast state synchronization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005051548A (ja) * 2003-07-29 2005-02-24 Furukawa Electric Co Ltd:The データ中継方法、データ中継装置およびその装置を用いたデータ中継システム
JP2005136502A (ja) * 2003-10-28 2005-05-26 Ntt Docomo Inc 移動通信システム、移動端末、ノード装置、及び移動通信方法
JP2006014187A (ja) * 2004-06-29 2006-01-12 Anritsu Corp ネットワーク中継装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2581286B2 (ja) 1990-09-07 1997-02-12 日本電気株式会社 網制御方法
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
JP3679813B2 (ja) 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
JP2780623B2 (ja) 1993-12-28 1998-07-30 日本電気株式会社 情報処理装置
JP2778520B2 (ja) 1995-04-28 1998-07-23 日本電気株式会社 マルチキャスト方法及び交換スイッチ
JP2830833B2 (ja) 1996-04-30 1998-12-02 日本電気株式会社 プロセッサ間通信方法及びそれに用いるプロセッサ
JP3408444B2 (ja) 1999-01-21 2003-05-19 日本電気株式会社 並列計算機、多段結合網並びに交換スイッチ
EP1374468A4 (en) 2001-02-24 2008-12-10 Ibm CLASS NETWORK ROUTING

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005051548A (ja) * 2003-07-29 2005-02-24 Furukawa Electric Co Ltd:The データ中継方法、データ中継装置およびその装置を用いたデータ中継システム
JP2005136502A (ja) * 2003-10-28 2005-05-26 Ntt Docomo Inc 移動通信システム、移動端末、ノード装置、及び移動通信方法
JP2006014187A (ja) * 2004-06-29 2006-01-12 Anritsu Corp ネットワーク中継装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200600728006; 中沢 実 他: '結合性と安定性に基づくアプリケーションレイヤマルチキャスト配送ツリーの実装と評価' 情報処理学会論文誌 第47巻、第2号, 20060215, pp.382-391 *
JPN6013036041; 中沢 実 他: '結合性と安定性に基づくアプリケーションレイヤマルチキャスト配送ツリーの実装と評価' 情報処理学会論文誌 第47巻、第2号, 20060215, pp.382-391 *

Also Published As

Publication number Publication date
JPWO2009098820A1 (ja) 2011-05-26
US20100302952A1 (en) 2010-12-02
WO2009098820A1 (ja) 2009-08-13
US8416702B2 (en) 2013-04-09

Similar Documents

Publication Publication Date Title
JP5347975B2 (ja) ネットワークスイッチ、経路設定方法およびプログラム
US8654798B2 (en) Barrier synchronization apparatus, barrier synchronization system, and barrier synchronization method
US8572615B2 (en) Parallel computing system, synchronization device, and control method of parallel computing system
JPH1049507A (ja) 並列計算機
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
WO2018198479A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2014045444A1 (ja) 並列計算機、ノード装置、及び並列計算機の制御方法
KR20120140076A (ko) 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법
JP5435024B2 (ja) ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP2013201552A (ja) オンチップルータ及びそれを用いたマルチコアシステム
JPWO2010109761A1 (ja) 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム
JP4704252B2 (ja) ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
JP5847887B2 (ja) オンチップルータ及びそれを用いたマルチコアシステム
Panda et al. Fast Broadcast and Multicast in Wormhole Multistage Networks with Multidestination Worms
WO2015184703A1 (zh) 一种元数据处理方法、交换机、控制器及存储介质
JP2009188623A (ja) ネットワーク中継装置およびネットワーク中継方法
CN107222435B (zh) 消除报文的交换头阻的方法及装置
US12088511B2 (en) Communication system, communication method, transmitting side switching device, receiving side switching device, and program
US20240086265A1 (en) Selective aggregation of messages in collective operations
JP3408444B2 (ja) 並列計算機、多段結合網並びに交換スイッチ
JP7036226B2 (ja) 演算処理装置及びその制御方法
JP5540694B2 (ja) 並列計算機、計算機、通信方法およびプログラム
JPH03209550A (ja) 並列プロセッサのプロセッサ間データ転送装置
WO2022220855A1 (en) Virtual pipeline in programmable switches
JPH09190418A (ja) ネットワーク制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5347975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees