(57)【特許請求の範囲】
【請求項１】
各々複数のネットワークアダプタを有する３つ以上のノードと、
前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、
１の前記ノードは、他の前記複数のノードに転送するデータを、複数個のデータに分割し、前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送し、
前記分割されたデータを受け取った前記他の複数のノードの各々は、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割されたデータを受け取っていない他のノードに転送する
ことを特徴とするネットワークシステム。
【請求項２】
前記他の複数のノードの各々は、前記１のノードから前記分割されたデータを受信するとともに、以前に受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する
ことを特徴とする請求項１のネットワークシステム。
【請求項３】
前記１のノードは、前記転送するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成する
ことを特徴とする請求項１のネットワークシステム。
【請求項４】
複数のネットワークアダプタを有する１のノードから、各々複数のネットワークアダプタを有する他の複数のノードに、データをブロードキャストするネットワークシステムのブロードキャスト処理方法において、
前記１のノードで、前記他の複数のノードに転送するデータを、複数個のデータに分割するステップと、
前記１のノードから前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送する第１のステップと、
前記分割されたデータを受け取った前記他の複数のノードの各々から、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する第２のステップとを有する
ことを特徴とするネットワークシステムのブロードキャスト処理方法。
【請求項５】
前記第２のステップは、前記他の複数のノードの各々が、前記１のノードから前記分割されたデータを受信するとともに、以前に受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送するステップを有する
ことを特徴とする請求項４のネットワークシステムのブロードキャスト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードがネットワークで接続されたネットワークシステムにおいて、１のノードから他の複数のノードにブロードキャストするブロードキャスト処理方法及びネットワークシステムに関し、特に、各ノードの複数のネットワークアダプタを利用して、効率良くブロードキャストするネットワークシステムのブロードキャスト処理方法及びネットワークシステムに関する。
【背景技術】
【０００２】
計算機システムの処理の高速化の要求に伴い、コンピュータを含むノードを複数設け、これら複数のノードをネットワークで接続したネットワーク型コンピュータシステムが提供されている。例えば、並列計算機の分野では、複数のノードで並列に計算処理し、これらの処理データを、ネットワークを介し、やりとりする。このような並列計算機においては、大規模なものでは、数百〜数千ノードで構成される。
【０００３】
このようなネットワークシステムにおいて、１のノードの持つデータを、ネットワークを介し、他の複数のノードに、転送することが行われている。これをブロードキャスト処理という。このようなブロードキャスト処理においては、多量のデータを転送する場合もあり、転送処理時間の短縮化が望まれる。
【０００４】
図１１及び図１２は、第１の従来のネットワークシステムのブロードキャスト処理の説明図である。図１１に示すように、複数（ここでは、４つ）のノード１００，１０１，１０２，１０３が、図示しないネットワークで接続される。この各ノード１００，１０１，１０２，１０３は、並列転送を可能とするため、複数（ここでは、３つ）のネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃを有する。
【０００５】
この構成において、１のノード１００から他の３つのノード１０１，１０２，１０３にブロードキャストする場合には、全ての転送データを、ノード１００のネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃから、並列に、各ノード１０１，１０２，１０３の対応するネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃに転送する。
【０００６】
例えば、図１２に示すように、１２ブロックＤ０〜Ｄ１１の転送データを、ノード１００から他の３つのノード１０１，１０２，１０３に転送する場合には、ノード１００のネットワークアダプタ１１０Ａからノード１０１のネットワークアダプタ１１０Ａへ、ノード１００のネットワークアダプタ１１０Ｂらノード１０２のネットワークアダプタ１１０Ｂへ、ノード１００のネットワークアダプタ１１０Ｃからノード１０３のネットワークアダプタ１１０Ｃへ、それぞれ、１２ブロックＤ０〜Ｄ１１を転送する。
【０００７】
このように、第１の従来技術では、ノード１００，１０１，１０２，１０３が、転送チャネル（ネットワークアダプタ）を複数持つことで、並列転送により、ブロードキャスト処理に要する時間を短縮していた。
【０００８】
図１３及び図１４は、第２の従来のネットワークシステムのブロードキャスト処理の説明図である。この方法は、図１１と同様に、複数のネットワークアダプタを持つノード間でブロードキャストする際に、送信元ノード１００が、送信データを、分割して、各ネットワークアダプタから転送する。
【０００９】
即ち、図１３及び図１４に示すように、送信元ノード１００は、送信データブロックＤ０〜Ｄ１１を３分割し、分割された各々を、ノード１００の３つのネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃから、ノード１０２のネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃに転送する（１）。
【００１０】
これにより、送信データを保持するノードが２つとなったので、次に、送信元ノード１００は、３分割された各々を、ノード１００の３つのネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃから、ノード１０１のネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃに転送する（２）。同時に、ノード１０２は、ノード１００から受信した分割された各々を、ノード１０２の３つのネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃから、ノード１０４のネットワークアダプタ１１０Ａ，１１０Ｂ，１１０Ｃに転送する（３）。
【００１１】
通常、転送データ長が長い場合には、ブロードキャスト処理時間は、ネットワークを伝播するデータ量に比例するため、第１の従来技術では、１２ブロック転送分の処理時間が必要であるが、第２の従来技術では、３分割して、２回転送しているため、４ブロック転送時間が２回となり、８／１２＝２／３の処理時間で済む（例えば、特許文献１）。
【特許文献１】特開平７−２４４６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、第２の従来技術では、第１回目の転送で、ブロードキャスト元ノード１００の転送データのコピーを、ノード１０２に保持させ、第２回目の転送で、転送元とコピー先の２つのノード１００，１０２からもう２つのノード１０１，１０３に転送データ全体を転送して、ブロードキャストする。
【００１３】
このため、第２の従来技術では、ブロードキャスト処理時間に限りがあり、特に、データ転送長が長い場合には、よりブロードキャスト処理時間を短縮することが困難である。
【００１４】
従って、本発明の目的は、ブロードキャスト処理時間を短縮するためのネットワークシステムのブロードキャスト処理方法及びネットワークシステムを提供することにある。
【００１５】
又、本発明の他の目的は、ブロードキャスト処理時間を短縮して、並列計算の性能を向上するためのネットワークシステムのブロードキャスト処理方法及びネットワークシステムを提供することにある。
【００１６】
更に、本発明の他の目的は、転送データ長が長くても、ブロードキャスト処理時間を短縮するためのネットワークシステムのブロードキャスト処理方法及びネットワークシステムを提供することにある。
【課題を解決するための手段】
【００１７】
この目的の達成のため、本発明のネットワークシステムは、各々複数のネットワークアダプタを有する３つ以上のノードと、前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、１の前記ノードは、他の前記複数のノードに転送するデータを、複数個のデータに分割し、前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送し、前記分割されたデータを受け取った前記他の複数のノードの各々は、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割されたデータを受け取っていない他のノードに転送する。
【００１８】
又、本発明のブロードキャスト処理方法は、複数のネットワークアダプタを有する１のノードから、各々複数のネットワークアダプタを有する他の複数のノードに、データをブロードキャストするネットワークシステムのブロードキャスト処理方法であって、前記１のノードで、前記他の複数のノードに転送するデータを、複数個のデータに分割するステップと、前記１のノードから前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送する第１のステップと、前記分割されたデータを受け取った前記他の複数のノードの各々から、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する第２のステップとを有する。
【００１９】
更に、本発明では、好ましくは、前記他の複数のノードの各々は、前記１のノードから前記分割されたデータを受信するとともに、以前に受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する。
【００２０】
更に、本発明では、好ましくは、前記１のノードは、前記転送するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成する。
【００２１】
更に、本発明では、好ましくは、前記１のノードは、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送する。
【００２２】
更に、本発明では、好ましくは、前記１のノードは、前記ネットワークアダプタの数と転送回数に従った分割数で、分割して、前記分割データを作成する。
【００２３】
更に、本発明では、好ましくは、前記他の複数のノードの各々は、前記受け取った分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する。
【００２４】
更に、本発明では、好ましくは、前記他の複数のノードが、３つ以上のノードである。
【００２５】
更に、本発明では、好ましくは、前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続された。
【００２６】
更に、本発明では、好ましくは、前記各ノードが、少なくともＣＰＵと、メモリと、前記複数のネットワークアダプタとで構成された。
【００２７】
更に、本発明では、好ましくは、前記複数のノードが、並列計算を実行する並列計算機システムで構成された。
【発明の効果】
【００２８】
本発明では、転送元であるノードが、ブロードキャストする転送データを、分割し、転送元ノードから他の複数のノードに対し、各分割したデータを別々に転送し、次に、分割データを受け取ったノードは、転送元ノード以外の他のノードに、自分が受け取ったデータを転送する。このため、２回目のデータ転送で、より多くのノード（ネットワークアダプタ）が、データ転送に参加するようにでき、高速に転送処理を実現でき、ブロードキャストの転送処理時間を短縮できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を、ネットワークシステムの構成、第１の実施の形態、第２の実施の形態、第３の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００３０】
――ネットワークシステムの構成――
図１は、本発明のネットワークシステムの一実施の形態の構成図、図２は、図１のノードのブロック図、図３は、図１及び図２のネットワークアダプタのブロック図、図４は、図１のネットワークシステムのフレームフォーマット図である。
【００３１】
図１に示すように、ネットワークシステムは、複数（ここでは、４つ）のノード１０，１１，１２，１３と、３つのクロスバースイッチ（図中、ＳＷＡ，ＳＷＢ，ＳＷＣ）２０，２１，２２とを有する。各ノード１０，１１，１２，１３は、３つのネットワークアダプタ（図中、Ａ，Ｂ，Ｃで示す）１４Ａ，１４Ｂ，１４Ｃを有する。
【００３２】
各ノード１０，１１，１２，１３が、３つのネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃを有するため、３つのクロスバースイッチ２０，２１，２２が設けられる。即ち、各ノード１０，１１，１２，１３のネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃのそれぞれは、対応するクロスバースイッチ２０，２１，２２に接続される。
【００３３】
このノード１０（１１，１２，１３）は、図２に示すように、ＣＰＵ４０と、メモリ４４と、ＩＯアダプタ４６と、前述のネットワークアダプタ１４Ａ〜１４Ｃとが、システムコントローラ４２を介して接続された計算機である。又、このＣＰＵ４０，メモリ４４、ＩＯアダプタ４６の数は、このノードに必要な処理能力に応じて、複数設けても良い。
【００３４】
図１及び図２のネットワークアダプタ１４Ａ（１４Ｂ，１４Ｃ）は、図３に示すように、システムコントローラ４２と接続するホストインターフェイス制御回路５０と、送信制御回路５２と、クロスバースイッチ２０、２１，２２に接続されるネットワークインターフェイス制御回路５４と、受信制御回路５６とで構成される。このネットワークアダプタ１４Ａ（１４Ｂ，１４Ｃ）は、ノード間のデータ通信を担当する。
【００３５】
ネットワークアダプタ１４Ａ（１４Ｂ，１４Ｃ）を介してノード間のデータ転送をする場合には、図４に示すようなフレーム形式で通信する。図４に示すフレーム形式は、Ｅｔｈｅｒｎｅｔ（登録商標）で使用されるフレーム形式を示しており、宛先アドレスと、送信元アドレスと、フレームタイプ（例えば、コマンド種別、データサイズ等）と、データ、フレームチエックサム（例えば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ））とからなる。データ領域のデータ長（サイズ）は、可変であり、ノード間を転送するデータは、必要に応じて、複数個のフレームに分割して、転送する。
【００３６】
――第１の実施の形態――
図５は、本発明のブロードキャスト処理の第１の実施の形態の説明図、図６は、図５のブロードキャスト転送のデータの流れを示す図、図７は、図５のデータ転送元ノードの処理フロー図、図８は、データ受信元ノードの処理フロー図である。
【００３７】
図５に示すように、ノード１０で、送信ブロックを分割し、各ノード１１，１２、１３に、別々のネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃを介して、転送する（１）。次に、受信した各ノード１１，１２，１３は、受信した分割データを、その分割データを受信していない複数のノードに転送する（２）。
【００３８】
図６も参照して、図１３、図１４と同一のデータ転送量の例で説明する。即ち、ノード１０が、１２ブロックのデータＤ０〜Ｄ１１を、他の３つのノード１１，１２，１３にブロードキャストする例で説明する。先ず、ノード１０は、１２ブロックＤ０〜Ｄ１１のデータを、４分割する。ノード１０の各ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃから各３ブロックのデータＤ０〜Ｄ２，Ｄ３〜Ｄ５，Ｄ６〜Ｄ８を、ノード１１，１２，１３の対応するネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに転送する。
【００３９】
次に、３ブロックのデータＤ０〜Ｄ２を受信したノード１１は、２つのネットワークアダプタ１４Ａ，１４Ｂから、データＤ０〜Ｄ２を受信していないノード１２，１３のネットワークアダプタ１４Ａ，１４Ｂに、受信した３ブロックのデータＤ０〜Ｄ２を転送する。
【００４０】
同様に、３ブロックのデータＤ３〜Ｄ５を受信したノード１２は、２つのネットワークアダプタ１４Ａ，１４Ｃから、データＤ３〜Ｄ５を受信していないノード１１，１３のネットワークアダプタ１４Ａ，１４Ｃに、受信した３ブロックのデータＤ３〜Ｄ５を転送する。
【００４１】
又、３ブロックのデータＤ６〜Ｄ８を受信したノード１３は、２つのネットワークアダプタ１４Ｂ，１４Ｃから、データＤ６〜Ｄ８を受信していないノード１１，１２のネットワークアダプタ１４Ｂ，１４Ｃに、受信した３ブロックのデータＤ６〜Ｄ８を転送する。
【００４２】
これとともに、ノード１０は、１回目の転送で、未転送であった残りの３ブロックのデータＤ９〜Ｄ１１を、３つのネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃから、ノード１１、１２，１３のネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに、３ブロックのデータＤ９〜Ｄ１１を転送する。
【００４３】
このように、転送元であるノード１０は、ブロードキャストする転送データを、分割し、ノード１０からノード１１，１２，１３に対し、各分割したデータを別々に転送し、次に、ノード１０は、分割した残りのデータを、各ノード１１，１２，１３に転送する。これとともに、ノード１１，１２，１３は、ノード１０以外の他のノード１１，１２，１３に、自分が受け取ったデータを転送する。
【００４４】
このように、本発明では、２回目のデータ転送で、より多くのノード（ネットワークアダプタ）が、データ転送に参加するようにしているため、高速に転送処理を実現でき、ブロードキャストの転送処理時間を短縮できる。
【００４５】
即ち、前述の第２の従来技術では、第１回目の転送で、転送元ノード１０から、全データを、１つの他のノード１２に転送し、２回目の転送は、全データを持つ２つのノード１０，１２から、全データを、他の２つのノード１１，１３に転送するため、２回目の転送では、６個のネットワークアダプタが転送動作に参加している。
【００４６】
これに対し、本実施例では、第１回目の転送で、転送元ノード１０から、４分割したデータを、３つの他のノード１１，１２、１３に転送し、２回目の転送は、全ノード１０，１１、１２、１３から、必要なデータを、他の２つのノード１０、１１，１２、１３に転送するため、２回目の転送では、９個のネットワークアダプタが転送動作に参加している。全体の転送するデータ量が同じであれば、多くのネットワークアダプタがデータ転送するように工夫することにより、データ転送は早く完了する。
【００４７】
換言すれば、第１回目のデータ転送において、より多くのノードが、第２回目のデータ転送に参加できるように、データを分割し、且つ複数のノードに別々の分割したデータを転送する。そして、個々のノードは、受信した分割データを、他の受信していないノードに転送する。
【００４８】
例えば、ネットワーク全体の総転送量に対する第１、第２の従来技術と本実施例との転送時間を比較すると、第１の従来技術が、総転送量×１＝１に対し、第２の従来技術では、総転送量÷３×２＝２／３となり、更に、本実施例では、総転送量÷４×２＝１／２となる。従って、本実施例では、第１の従来技術の１／２の時間、第２の従来技術の３／４の時間で、ブロードキャスト転送が可能となる。
【００４９】
又、この実施例では、第２回目の転送において、送信ネットワークアダプタと受信ネットワークアダプタとの転送関係を、重複しないように、選択している。例えば、２回目の転送において、ノード１０が、ノード１１のネットワークアダプタ１４Ａ，ノード１２のネットワークアダプタ１４Ｂ，ノード１３のネットワークアダプタ１４Ｃとデータ転送するものとすると、ノード１１は、ノード１２のネットワークアダプタ１４Ａ，ノード１３のネットワークアダプタ１４Ｂと、ノード１２は、ノード１１のネットワークアダプタ１４Ｃ，ノード１３のネットワークアダプタ１４Ａと、ノード１３は、ノード１１のネットワークアダプタ１４Ｂ，ノード１２のネットワークアダプタ１４Ｃとデータ転送する。
【００５０】
これにより、ネットワークアダプタの重複を防止できる。
【００５１】
図７は、転送元ノードの処理フロー図である。
【００５２】
（Ｓ１０）転送元ノード１０のＣＰＵ４０は、ブロードキャストデータブロックを、複数の転送ブロックに分割する。この分割数は、転送先ノード数やネットワークアダプタ数であると、前述の２回目の転送効果を最大限発揮する。
【００５３】
（Ｓ１２）次に、転送元ノード１０のＣＰＵ４０は、ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃに、分割された転送ブロックを、別々のノード１１，１２，１３に転送するように、指示する。これにより、ノード１０のネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃは、分割された転送ブロックを、ノード１１のネットワークアダプタ１４Ａ，ノード１２のネットワークアダプタ１４Ｂ，ノード１３のネットワークアダプタ１４Ｃに転送する。
【００５４】
次に、図８は、受信元ノードの処理フロー図である。
【００５５】
（Ｓ２０）受信元ノード１１，１２，１３は、先ず、ブロードキャストブロックを受信すると、ブロードキャストデータを、フレームのフレームタイプ（図４参照）で認識する。
【００５６】
（Ｓ２２）受信元ノード１１，１２，１３は、フレームの宛先アドレスと送信元アドレス（図４参照）を調べ、これ以外の転送すべき転送先を決定する。
【００５７】
（Ｓ２４）各受信元ノード１１，１２，１３は、転送すべき転送先を宛先として、受信した転送ブロックを、転送すべきノードに転送する。この時、前述のように、各ノードで、ネットワークアダプタが重複使用されることを防止するため、各ノードで予め決められたネットワークアダプタを使用する。
【００５８】
このように、各ノード１０，１１，１２，１３のＣＰＵ４０のデータ分割、転送処理により、容易に、ブロードキャスト転送時間を短縮できる。
【００５９】
――第２の実施の形態――
図９は、本発明の第２の実施の形態のブロードキャスト処理の説明図である。
【００６０】
この実施の形態は、第１の実施の形態の２回のデータ転送をオーバーラップすることにより、より高速にブロードキャスト処理を実行する。図９は、ノード１０が、１０ブロックのデータＤ０〜Ｄ９を、他の３つのノード１１，１２，１３にブロードキャストする例で説明する。
【００６１】
先ず、ノード１０は、ブロードキャストするデータを、Ｄ０〜Ｄ９に、１０分割する。ノード１０の各ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃから各１ブロックのデータＤ０，Ｄ３，Ｄ６を、ノード１１，１２，１３の対応するネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに転送する。
【００６２】
次に、２回目の転送では、ノード１０の各ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃから各１ブロックのデータＤ１，Ｄ４，Ｄ７を、ノード１１，１２，１３の対応するネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに転送する。
【００６３】
そして、同時に、１ブロックのデータＤ０を受信したノード１１は、２つのネットワークアダプタ１４Ａ，１４Ｂから、データＤ０を受信していないノード１２，１３のネットワークアダプタ１４Ａ，１４Ｂに、受信したブロックのデータＤ０を転送する。
【００６４】
同様に、１ブロックのデータＤ３を受信したノード１２は、２つのネットワークアダプタ１４Ａ，１４Ｃから、データＤ３を受信していないノード１３，１１のネットワークアダプタ１４Ａ，１４Ｃに、受信した１ブロックのデータＤ３を転送する。
【００６５】
又、１ブロックのデータＤ６を受信したノード１３は、２つのネットワークアダプタ１４Ｂ，１４Ｃから、データＤ６を受信していないノード１１，１２のネットワークアダプタ１４Ｂ，１４Ｃに、受信した１ブロックのデータＤ６を転送する。
【００６６】
３回目のデータ転送では、ノード１０の各ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃから各１ブロックのデータＤ２，Ｄ５，Ｄ８を、ノード１１，１２，１３の対応するネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに転送する。
【００６７】
そして、同時に、２回目の転送で、１ブロックのデータＤ１を受信したノード１１は、２つのネットワークアダプタ１４Ａ，１４Ｂから、データＤ１を受信していないノード１２，１３のネットワークアダプタ１４Ａ，１４Ｂに、受信したブロックのデータＤ１を転送する。
【００６８】
同様に、１ブロックのデータＤ４を受信したノード１２は、２つのネットワークアダプタ１４Ａ，１４Ｃから、データＤ４を受信していないノード１３，１１のネットワークアダプタ１４Ａ，１４Ｃに、受信した１ブロックのデータＤ４を転送する。
【００６９】
又、１ブロックのデータＤ７を受信したノード１３は、２つのネットワークアダプタ１４Ｂ，１４Ｃから、データＤ７を受信していないノード１１，１２のネットワークアダプタ１４Ｂ，１４Ｃに、受信した１ブロックのデータＤ７を転送する。
【００７０】
４回目の転送では、ノード１０の各ネットワークアダプタ１４Ａ、１４Ｂ，１４Ｃから各１ブロックのデータＤ９を、ノード１１，１２，１３の対応するネットワークアダプタ１４Ａ、１４Ｂ，１４Ｃに転送する。
【００７１】
そして、同時に、３回目の転送で、１ブロックのデータＤ２を受信したノード１１は、２つのネットワークアダプタ１４Ａ，１４Ｂから、データＤ２を受信していないノード１２，１３のネットワークアダプタ１４Ａ，１４Ｂに、受信したブロックのデータＤ２を転送する。
【００７２】
同様に、１ブロックのデータＤ５を受信したノード１２は、２つのネットワークアダプタ１４Ａ，１４Ｃから、データＤ５を受信していないノード１３，１１のネットワークアダプタ１４Ａ，１４Ｃに、受信した１ブロックのデータＤ５を転送する。
【００７３】
又、１ブロックのデータＤ８を受信したノード１３は、２つのネットワークアダプタ１４Ｂ，１４Ｃから、データＤ８を受信していないノード１１，１２のネットワークアダプタ１４Ｂ，１４Ｃに、受信した１ブロックのデータＤ８を転送する。
【００７４】
このように、転送元であるノード１０は、ブロードキャストする転送データを、より分割し、ノード１０からノード１１，１２，１３に対し、各分割したデータを別々に転送し、次に、ノード１０は、分割した残りのデータを、各ノード１１，１２，１３に転送するとともに、ノード１１，１２，１３は、ノード１０以外の他のノード１１，１２，１３に、自分が受け取ったデータを転送する。
【００７５】
この例では、転送データを細分割したため、４回の転送が必要となるが、転送回数が２回の第１の実施の形態での転送時間は、総転送量÷４×２＝２／４となるのに対し、第２の実施の形態では、総転送量÷１０×４＝４／１０となる。従って、第１の実施の形態に比し、第２の実施の形態は、約４／５の時間でブロードキャストできる。
【００７６】
――第３の実施の形態――
図１０は、本発明の第３の実施の形態のブロードキャスト処理の説明図である。この例は、各々ネットワークアダプタを３つ持つ１６個のノード０〜１５で構成されたネットワークシステムにおいて、ノード０からノード１〜１５へ、データをブロードキャストする例である。
【００７７】
先ず、４つのノード０，４，８，１２を対象に、第１の実施の形態と同様に、ノード０は、１２ブロックＤ０〜Ｄ１１のデータを、４分割する。ノード０の各ネットワークアダプタ１４Ａ，１４Ｂ，１４Ｃから各３ブロックのデータＤ０〜Ｄ２，Ｄ３〜Ｄ５，Ｄ６〜Ｄ８を、ノード４，８，１２の対応するネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに転送する。
【００７８】
次に、２回目の転送を開始し、３ブロックのデータＤ０〜Ｄ２を受信したノード４は、２つのネットワークアダプタ１４Ａ，１４Ｂから、データＤ０〜Ｄ２を受信していないノード８，１２のネットワークアダプタ１４Ａ，１４Ｂに、受信した３ブロックのデータＤ０〜Ｄ２を転送する。
【００７９】
同様に、３ブロックのデータＤ３〜Ｄ５を受信したノード８は、２つのネットワークアダプタ１４Ａ，１４Ｃから、データＤ３〜Ｄ５を受信していないノード１２，４のネットワークアダプタ１４Ａ，１４Ｃに、受信した３ブロックのデータＤ３〜Ｄ５を転送する。
【００８０】
又、３ブロックのデータＤ６〜Ｄ８を受信したノード１２は、２つのネットワークアダプタ１４Ｂ，１４Ｃから、データＤ６〜Ｄ８を受信していないノード４，８のネットワークアダプタ１４Ｂ，１４Ｃに、受信した３ブロックのデータＤ６〜Ｄ８を転送する。
【００８１】
これとともに、ノード０は、１回目の転送で、未転送であった残りの３ブロックのデータＤ９〜Ｄ１１を、３つのネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃから、ノード４、８，１２のネットワークアダプタ１４Ａ，１４Ｂ、１４Ｃに、３ブロックのデータＤ９〜Ｄ１１を転送する。
【００８２】
これにより、第１の実施の形態で説明したように、４つのノード０，４，８，１２は、１２ブロックのデータを保持する。第３回目は、ノード０が、ノード１〜３、ノード４が、ノード５〜７、ノード８が、ノード９〜１１、ノード１２が、ノード１３〜１５を対象に、第１回目のデータ転送と同様に、データ転送動作をする。
【００８３】
更に、第４回目のデータ転送は、各々、ノード０〜３、４〜７、８〜１１、１２〜１５をグループとして、第２回目のデータ転送と同様の転送動作を行う。
【００８４】
このように、一回にブロードキャストできる最大のノード数は、ネットワークアダプタの数と同一であり、ノード数が更に増える場合には、２回のデータ転送を、２段、３段と行うことにより、ブロードキャストできるノード数を増加できる。例えば、２５６ノードのネットワークシステムでは、８回のデータ転送を行えば良い。
【００８５】
――他の実施の形態――
前述の実施の形態では、４ノードのネットワークシステムで説明したが、３ノード以上のネットワークシステムに適用できる。又、ノードの構成を、ＣＰＵ，メモリ等のコンピュータユニットで説明したが、他の構成のものでも良い。
【００８６】
更に、ネットワークシステムを並列計算機で説明したが、他の分散処理システムや、通信システムにも適用できる。しかも、伝送路のフォーマットは、Ｅｔｈｅｒｎｅｔ（登録商標）に限らず、他のネットワークプロトコルを適用できる。
【００８７】
（付記１）各々複数のネットワークアダプタを有する３つ以上のノードと、前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、１の前記ノードは、他の前記複数のノードに転送するデータを、複数個のデータに分割し、前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送し、前記分割されたデータを受け取った前記他の複数のノードの各々は、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割されたデータを受け取っていない他のノードに転送することを特徴とするネットワークシステム。
【００８８】
（付記２）前記他の複数のノードの各々は、前記１のノードから前記分割されたデータを受信するとともに、以前に受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送することを特徴とする付記１のネットワークシステム。
【００８９】
（付記３）前記１のノードは、前記転送するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成することを特徴とする付記１のネットワークシステム。
【００９０】
（付記４）前記１のノードは、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送することを特徴とする付記１のネットワークシステム。
【００９１】
（付記５）前記１のノードは、前記ネットワークアダプタの数と転送回数に従った分割数で、分割して、前記分割データを作成することを特徴とする付記２のネットワークシステム。
【００９２】
（付記６）前記他の複数のノードの各々は、前記受け取った分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送することを特徴とする付記１のネットワークシステム。
【００９３】
（付記７）前記他の複数のノードが、３つ以上のノードであることを特徴とする付記１のネットワークシステム。
【００９４】
（付記８）前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続されたことを特徴とする付記１のネットワークシステム。
【００９５】
（付記９）前記各ノードが、少なくともＣＰＵと、メモリと、前記複数のネットワークアダプタとで構成されたことを特徴とする付記１のネットワークシステム。
【００９６】
（付記１０）前記複数のノードが、並列計算を実行する並列計算機システムで構成されたことを特徴とする付記１のネットワークシステム。
【００９７】
（付記１１）複数のネットワークアダプタを有する１のノードから、各々複数のネットワークアダプタを有する他の複数のノードに、データをブロードキャストするネットワークシステムのブロードキャスト処理方法において、前記１のノードで、前記他の複数のノードに転送するデータを、複数個のデータに分割するステップと、前記１のノードから前記分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送する第１のステップと、前記分割されたデータを受け取った前記他の複数のノードの各々から、前記受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送する第２のステップとを有することを特徴とするネットワークシステムのブロードキャスト処理方法。
【００９８】
（付記１２）前記第２のステップは、前記他の複数のノードの各々が、前記１のノードから前記分割されたデータを受信するとともに、以前に受け取った分割されたデータを、前記ネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送するステップを有することを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【００９９】
（付記１３）前記分割ステップは、前記転送するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成するステップからなることを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１００】
（付記１４）前記第１のステップは、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送するステップからなることを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１０１】
（付記１５）前記分割ステップは、前記ネットワークアダプタの数と転送回数に従った分割数で、分割して、前記分割データを作成するステップからなることを特徴とする付記１２のネットワークシステムのブロードキャスト処理方法。
【０１０２】
（付記１６）前記第２のステップは、前記受け取った分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記分割データを受け取っていない他のノードに転送するステップからなることを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１０３】
（付記１７）前記他の複数のノードが、３つ以上のノードであることを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１０４】
（付記１８）前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続されたことを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１０５】
（付記１９）前記各ノードが、少なくともＣＰＵと、メモリと、前記複数のネットワークアダプタとで構成されたことを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【０１０６】
（付記２０）前記第２のステップは、前記１のノードから前記第１のステップで転送しなかった分割したデータの各々を、各々異なるネットワークアダプタを介し、他の前記複数のノードに転送するステップを更に有することを特徴とする付記１１のネットワークシステムのブロードキャスト処理方法。
【産業上の利用可能性】
【０１０７】
転送元ノードが、ブロードキャストする転送データを、分割し、転送元ノードから他の複数のノードに対し、各分割したデータを別々に転送し、次に、転送データを受けた他の複数のノードは、転送元ノード以外の他のノードに、自分が受け取ったデータを転送する。このように、２回目のデータ転送で、より多くのノード（ネットワークアダプタ）が、データ転送に参加するようにしているため、高速に転送処理を実現でき、ブロードキャストの転送処理時間を短縮できる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施の形態のネットワークシステムの構成図である。
【図２】図１のノードの構成図である。
【図３】図１及び図２のネットワークアダプタの構成図である。
【図４】図１の伝送フレームのフォーマット図である。
【図５】本発明の第１の実施の形態のブロードキャスト処理の説明図である。
【図６】図６の第１の実施の形態のデータの流れ図である。
【図７】図５の第１の実施の形態の転送元ノードの処理フロー図である。
【図８】図５の第１の実施の形態の転送先ノードの処理フロー図である。
【図９】本発明の第２の実施の形態のブロードキャスト処理の説明図である。
【図１０】本発明の第３の実施の形態のブロードキャスト処理の説明図である。
【図１１】第１の従来技術のブロードキャスト処理の説明図である。
【図１２】図１２のデータの流れ図である。
【図１３】第２の従来技術のブロードキャスト処理の説明図である。
【図１４】図１３のデータの流れ図である。
【符号の説明】
【０１０９】
１０，１１，１２，１３  ノード
１４Ａ，１４Ｂ，１４Ｃ  ネットワークアダプタ
２０，２１，２２  クロスバースイッチ
４０  ＣＰＵ
４２  システムコントローラ
４４  メモリ
４６  ＩＯアダプタ
【図１】
0004704252.tif 000002
【図２】
0004704252.tif 000003
【図３】
0004704252.tif 000004
【図４】
0004704252.tif 000005
【図５】
0004704252.tif 000006
【図６】
0004704252.tif 000007
【図７】
0004704252.tif 000008
【図８】
0004704252.tif 000009
【図９】
0004704252.tif 000010
【図１０】
0004704252.tif 000011
【図１１】
0004704252.tif 000012
【図１２】
0004704252.tif 000013
【図１３】
0004704252.tif 000014
【図１４】
0004704252.tif 000015