JP4676463B2 - 並列計算機システム - Google Patents

並列計算機システム Download PDF

Info

Publication number
JP4676463B2
JP4676463B2 JP2007184367A JP2007184367A JP4676463B2 JP 4676463 B2 JP4676463 B2 JP 4676463B2 JP 2007184367 A JP2007184367 A JP 2007184367A JP 2007184367 A JP2007184367 A JP 2007184367A JP 4676463 B2 JP4676463 B2 JP 4676463B2
Authority
JP
Japan
Prior art keywords
node
nodes
network
switch
adjacent
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
JP2007184367A
Other languages
English (en)
Other versions
JP2009020797A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007184367A priority Critical patent/JP4676463B2/ja
Priority to US12/010,687 priority patent/US20090016332A1/en
Publication of JP2009020797A publication Critical patent/JP2009020797A/ja
Application granted granted Critical
Publication of JP4676463B2 publication Critical patent/JP4676463B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos

Description

本発明は、多数のプロセッサを備えた並列計算機システムに関し、特に、スーパーコンピュータのシステムおよびアーキテクチャに関する。
プロセッサを含むノードを多数備えた並列計算機では、各ノードをファットツリー(FatTree)等のツリー状のネットワークや多段クロスバスイッチなどにより各ノードを接続し、ノード間のデータ転送などの通信を行いながら演算処理を実行する。特に、大量のノード数(例えば、1000以上など)を備えたスーパーコンピュータなどの並列計算機では、ファットツリーや多段クロスバスイッチを用いて、並列計算機を複数の計算機領域に分割して複数のユーザに割り当てることで、計算機全体の利用効率向上させている。また、ファットツリーでは、離れたノード間を1:1で接続可能なため、通信を高速に行うことが可能である。しかし、このファットツリーでは、以下に述べる3Dトーラスなどに比べて、隣接ノード間でのデータ交換を高速に行うことが難しい、という問題がある。
また、スーパーコンピュータなどの並列計算機では、自然現象のシミュレーションなどが広く行われている。この種のアプリケーションでは、シミュレーション領域を3次元空間とする場合が多く、並列計算機の計算領域を3次元矩形に区切り、3次元空間(演算上の空間)内で隣接するノードと接続する3Dトーラスなどのネットワークが広く用いられている。3Dトーラスでは、隣接するノードが直接接続されているので、隣接する計算領域間でのデータ交換を高速に行うことができる。このため、自然現象のシミュレーションの3次元空間の演算などで頻繁に発生する隣接する計算領域間のデータ交換を高速に行うことができる。
また、スーパーコンピュータなどの大規模な並列計算機を構成する場合、ツリー状のネットワーク(グローバルツリー)とトーラスを組み合わせた技術が知られている(例えば、特許文献1)。
特表2004−538548
ところで、スーパーコンピュータなどの大量(例えば、数千)のノードを備えた並列計算機では、利用効率を向上させるために複数の計算機領域に分割し、計算機領域毎に異なるユーザのアプリケーションを実行する手法が広く採用されている。このため、スーパーコンピュータなどの並列計算機では、ファットツリーのように計算機領域の分割を容易にでき、かつ、トーラスのように隣接ノード間のデータ交換を高速で行うことが望ましい。
しかしながら、上記ファットツリーでは、上記のような大量のノードを備えた並列計算機において、全ノードでトーラス接続のように隣接ノード間で高速にデータ交換を行おうとすると、多段の巨大なクロスバスイッチが必要となり、莫大な設備投資が必要となってしまい実現するのが困難である。
一方、上記特許文献1の場合では、グローバルツリーと3Dトーラスの2つの独立したネットワークで各ノードを接続しているが、グローバルツリーは多対多または1対多の集合通信に使用されるため、これを用いて隣接ノード間のデータ交換を高速に行うことができない、という問題がある。
そこで本発明は、上記問題点に鑑みてなされたもので、既存のファットツリーや多段クロスバスイッチなどのネットワークを利用しながら、隣接ノード間でのデータ交換を高速に行うことを目的とする。
本発明は、プロセッサと通信部を含むノードを複数備え、前記複数のノードを接続するスイッチとを備えた並列計算機システムにおいて、前記ノードとスイッチとを接続する第1のネットワークと、前記複数のノードを部分的に接続する第2のネットワークと、を備え、前記第1のネットワークは、前記ノードと接続するスイッチを含み、前記第2のネットワークは、前記スイッチに接続される複数のノードのうち隣り合う2つのノードでペアを構成し、前記ペアを構成したノード間のみを接続し、前記ペアを構成するノードはひとつのペアのみに所属し、他のペアと重複しない
また、前記第1のネットワークは、ファットツリーまたは多段クロスバネットワークで構成する。
したがって、本発明は、既存のファットツリーや多段クロスバスイッチなどの第1のネットワークを利用しながら、第2のネットワークを付加するだけで隣接ノード間でのデータ交換を高速で行うことが可能となる。特に、多次元矩形領域で演算を行う場合に、隣接ノード間のデータ交換を既存のファットツリーや多段クロスバスイッチなどに比して高速に行うことが可能となる。これにより、既存の第1のネットワークを利用することで、低コストで高性能な並列計算機システムを構築することが可能となる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明を適用する並列計算機システムを示し、3段ファットツリーを含む並列計算機システムのブロック図である。
図1の例は、3階層(3段)のクロスバスイッチ群でファットツリーを構成した例を示す。最下層(1段目)のクロスバスイッチ(以下、リーフスイッチとする)A〜Pにはそれぞれ、4つのノードXがポイントツーポイントのネットワークNW0を介して接続される。なお、以下の説明では、ノードの全般的な説明をするときには単にノードとし、ノードを特定する場合には0〜n3などの添え字を付す。
図1においてリーフスイッチAは、ノードX0〜X3と接続する4つのポートと、中層(2段目)のクロスバスイッチ群と接続するための4つのポートを備える。なお、他のクロスバスイッチも同様に構成される。ここで、図1の並列計算機システムでは、1つのリーフスイッチA〜Pに4つのノードが接続され、4つのリーフスイッチA〜D(E〜H、I〜L、M〜P)が1つのノード群として構成され、ひとつのノード群を16のノードで構成する場合を示す。
ここで、リーフスイッチAは、ネットワークNW1を介して2段目のクロスバスイッチA1〜D1に接続しており、同様にリーフスイッチB〜Dも2段目のクロスバスイッチA1〜D1にそれぞれ接続される。
リーフスイッチA〜Dに接続されたノード間で通信を行う場合には、リーフスイッチA〜Dと2段目のクロスバスイッチA〜Dを介して通信を行う。例えば、リーフスイッチAのノードX0がリーフスイッチDのノード(図示省略)と通信するときには、リーフスイッチA、2段目のクロスバスイッチA1、リーフスイッチDを介して通信する。
2段目のクロスバスイッチA1〜P1は、ネットワークNW2を介して上層(3段目)のクロスバスイッチA2〜P2に接続される。図1において、2段目のクロスバスイッチA1は、3段目のクロスバスイッチA2〜D2に接続され、2段目のクロスバスイッチB1は3段目のクロスバスイッチE2〜H2に接続され、中層のクロスバスイッチC1は3段目のクロスバスイッチI2〜L2に接続され、2段目のクロスバスイッチD1は3段目のクロスバスイッチM2〜P2に接続される。ひとつのノード群を構成する2段目のクロスバスイッチA1〜D1は、3段目の全てのクロスバスイッチA2〜P2に接続される。他のノード群(E〜H、I〜L、M〜P)の2段目のクロスバスイッチE1〜P1も、同様にして各ノード群毎に全ての3段目のクロスバスイッチA2〜P2に接続される。
そして、あるノードが他のノード群のノードと通信する際には、3段目のクロスバスイッチA2〜P2を介して通信を行う。例えば、リーフスイッチAのノードX0がリーフスイッチPのノードXn0と通信するときには、リーフスイッチA、2段目のクロスバスイッチA1、3段目のクロスバスイッチD2、2段目のクロスバスイッチM1、リーフスイッチPを介して通信する。
以上のように、ファットツリーでは、全ノードが相互に直接通信することが可能となっている。
図2は、ノードとネットワークNW0の構成を示し、ノードはひとつのリンク(ネットワークNW0)でリーフスイッチと接続し、同時に双方向(上り及び下り)の通信を行う。ネットワークNW0〜NW2は、双方向通信が可能なネットワークであれば良く、例えば、InfiniBand等で構成することができる。
図3は、図1に示したノードの構成を示すブロック図である。
ノードは、演算処理を行うプロセッサPUと、データやプログラムを格納する主記憶MMと、ネットワークNW0と双方向で通信を行うネットワークインターフェースNIFから構成される。ネットワークインターフェースNIFは、単一のポートを介してネットワークNW0に接続され、パケットにより送受信を行う。ネットワークインターフェースNIFは、パケットの経路を制御するためにルーティング部RUを備える。ルーティング部RUは、ノード群の構成や各ノードの識別子などを記憶したテーブルを有し、送信するパケットの宛先を制御する。
プロセッサPUは、演算コアとキャッシュメモリなどを含んで構成され、他のノードと通信を行うためのパケットを生成する通信パケット生成部DUを実行する。通信パケット生成部DUは、主記憶MMやキャッシュメモリなどに格納されたプログラムや、ネットワークインターフェースNIFのハードウェアを含んで実行されても良い。なお、主記憶MMは、本実施形態では各ノードに配置したが、他のノードとする共有メモリあるいは分散共有メモリとしてもよい。
また、プロセッサPUは、主記憶MMに格納したユーザプログラムやOSを実行し、必要に応じて他のノードと通信を行う。
なお、プロセッサPUは、シングルコアやマルチコアで構成することができ、さらに、マルチコアの場合ではホモジニアスの構成や、ヘテロジニアスの構成をとることができる。
図4は、ノードが送受信するパケットのフォーマットの一例を示す説明図である。パケットは、先頭にコマンドを格納し、宛先となるノードの識別子を格納する宛先IDと、送信元のノードの識別子を格納する送信元IDと、データから構成される。
図5は、従来の3Dトーラスの構成を示すブロック図で、演算空間のX軸、Y軸、Z軸の各軸方向に4つのノードを備えた64ノードの例を示す。3次元で接続された各プロセッサは、X、Y、Zの各軸方向のネットワークで環状に接続される。X軸方向では、ネットワークNx0〜Nx16がX軸方向の4つのノードを接続し、Y軸方向ではネットワークNy0〜Ny15が、Z軸方向ではネットワークNz0〜Nz15が、それぞれ4つのノードを各軸方向で接続する。
ノード間を接続する各軸のネットワークNx、Ny、Nzは、図6で示すように各軸(Nx〜Nz)でそれぞれ2方向(+方向と−方向)の通信を行うことができ、トーラス接続では、隣接するノードと6方向で接続されることになる。
図7は、隣接ノード間で一次元のデータ転送を行うユーザプログラム(ソースコード)の一例を示す。図中(1)のmpi_send命令は、図6のX軸の場合、Xplus(図中Nx+方向)へデータを送信し、mpi_recv命令は、Xminus(図中、Nx−方向)からデータを受信する。なお、実際にはプロセッサPUがXplus、Xminusに隣接ノードの識別子またはアドレスを代入し、図4に示すパケットを生成する。この(1)のユーザプログラムを実行することで図6のNx+方向へのデータ転送を行うことができる。
次に、図中(2)のmpi_send命令は、図6のX軸の場合、Xminus(図中、Nx−方向)へデータを送信し、mpi_recv命令は、Xplus(図中Nx+方向)からデータを受信する。この(2)のユーザプログラムを実行することで図6のNx−方向へのデータ転送を行うことができる。
図8は、図6に示した3Dトーラスのうち、X軸のネットワークNx0を示し、4つのノードX0〜X3が接続されている場合に、上記図7のユーザプログラムを各ノードX0〜X3で実行した例を示している。
トーラスで接続された4つのノードX0〜X3は、ネットワークNx0が双方向通信可能であるので、図7の(1)に示した正方向へのデータ転送と、(2)に示した負方向へのデータ転送を同時に実行することができる。つまり、トーラスの場合は、ひとつのノードがひとつの軸方向で−方向の接続と、+方向の接続の2つの接続を有するため、正方向へのデータ転送(循環)と、負方向へのデータ転送(循環)を同時に行うことで、自然現象のシミュレーションを行うユーザプログラムにおける隣接領域のデータ交換を最小の時間で行うことができる。
図9は、図1に示したファットツリーのうち、リーフスイッチAの4つのノードX0〜X3で上記図7のユーザプログラムを実行した例を示している。なお、各クロスバスイッチは、パケットを最短の経路で送受信を行うルーティング部XRUを備える。
リーフスイッチAとネットワークNW0で接続された4つのノードX0〜X3は、ネットワークNx0が双方向通信が可能である。ここで、ファットツリーのノードは、リーフスイッチAとひとつの接続しかないため、同時に実行可能な通信処理は、一接続の送信と一接続の受信となる。
したがって、リーフスイッチAに接続されたノードX0〜X3では、上記図7の(1)に示した正方向へのデータ転送を実行すると、ノードとリーフスイッチAを接続するネットワークNW0は隣り合うノードとの正方向へのデータ転送に占有される。このため、各ノードX0〜X3では、図7の(2)に示した負方向へのデータ転送を同時に実行することができない。つまり、上記図7の(1)に示した正方向へのデータ転送が完了した後、図7の(2)に示した負方向へのデータ転送を実行することになる。すなわち、ファットツリーで隣接ノードのデータ交換を行うと、図9に示した3Dトーラスの2倍の時間を要することになる。
このため、ファットツリーでは、全ノードが1:1で通信可能であり、ノード群の構成を容易に変更可能であるため、複数の計算機領域を複数のユーザに割り当てて、計算機資源を有効に利用できるものの、自然現象のシミュレーションのように隣接ノードでデータ交換を行うようなアプリケーションには不向きであるという特性となる。
<第1実施形態>
図10は、本発明の第1の実施形態を示し、前記図1に示したファットツリーのうち、リーフスイッチAと4つのノードX0〜X3の一部を変更した並列計算機システムのブロック図である。
各ノードX0〜X3は、前記図1と同様に、双方向通信が可能なネットワークNW0により接続される。そして、隣り合う2つのノードでペアを構成し、ペアを構成したノード間のみを直接接続する部分ネットワークNW3を設ける。ただし、各ノードはひとつのペアのみに所属し、他のペアと重複しない。
図10の例では、ノードX0とX1でペアを構成し、ノードX2とノードX3でペアを構成する。そして、ペアを構成したノードX0とX1を部分ネットワークNW3で直接接続し、同様に、ペアを構成したノードX0とX1を部分ネットワークNW3で直接接続する。ここで、ノードX1とノードX2は隣り合うノードではあるが、ひとつのノードは複数のペアに参加させないため、ノードX1とX2の接続関係は前記図1と同様となる。なお、図1に示した他のリーフスイッチB〜Pの各ノードも、上記と同様にペアを構成してペア内で部分ネットワークNW3によりノード間を直接接続する。なお、部分ネットワークNW3は、他のネットワークと同様に、InfiniBand等で構成することができる。
図11は、図10に示したノードの構成を示すブロック図である。図11のノードの構成は、前記図3に示したノードのネットワークインターフェースNIFにペアを構成するノード間を直接接続する部分ネットワークNW3を設けたものであり、その他の構成は上記図3と同様である。ルーティング部RUは、パケットの宛て先ノードIDを見て、宛て先ノードが直接接続されている場合は部分ネットワークNW3にパケットを送出し、そうでない場合はネットワークNW0に送出する。
図12は、図10に示したノードX0〜X3で、上記図7に示したデータ交換のユーザプログラムを実施した例を示す。
リーフスイッチAに接続された4つのノードX0〜X3は、部分ネットワークNW3でペア間を直接接続し、ネットワークNW0とリーフスイッチAを介してペア間のノードで双方向通信を行うことができる。つまり、ペアを組んだノードX0とX1は部分ネットワークNW3により双方向通信であり、同様に、ペアを組んだノードX2とX3は部分ネットワークNW3により双方向通信である。そして、他のペアと隣接するノードX1とX2は、ネットワークNW0とリーフスイッチAにより双方向通信であり、同じく、リーフスイッチAの両端に位置する異なるペアに属するノードX0とX3もネットワークNW0とリーフスイッチAを介して双方向通信が可能となる。
したがって、各ノードX0〜X3では、図7の(1)に示した正方向へのデータ転送と、(2)に示した負方向へのデータ転送を同時に実行することができる。つまり、図8に示した1次元のトーラス接続と同様に、正方向と負方向でデータ交換を同時に実現でき、自然現象のシミュレーションを行うユーザプログラムにおける隣接領域のデータ交換を最小の時間で行うことができる。
すなわち、本発明によれば、ファットツリーや多段クロスバスイッチのネットワーク構成にペア間の部分ネットワークNW3(部分ネットワーク)を加えるだけで、図9に示した既存のリーフスイッチAとノードX0〜X3の転送容量の2倍の転送容量を確保することができるのである。
したがって、本第1実施形態によれば、既存のファットツリーや多段クロスバスイッチなどのネットワークを利用しながら、ペアを構成するノード間を直接接続する部分ネットワークを加えるだけで、隣接ノード間の通信容量(バンド幅)を2倍にでき、隣接ノード間でのデータ交換をトーラスと同様に高速で行うことが可能となって、設備投資を抑制しながらも高性能な並列計算機システムを構築することが可能となる。また、本第1実施形態の並列計算機システムでは、ファットツリーなどが備える計算機領域の分割の容易さと、トーラスが備える隣接ノード間の高速なデータ交換を享受することが可能となり、利用効率と演算性能の双方に優れた並列計算機システムまたはスーパーコンピュータを安価に提供することが可能となる。
なお、上記第1実施形態では、リーフスイッチAに接続するノードを4つとしたが、奇数のノードの場合には、ペアを構成できないノードが発生する。このため、図13に示すように、ペアを構成できないノードX5にも部分ネットワークNW3を設け、この部分ネットワークNW3をリーフスイッチAに接続する。これにより、ノード数が奇数の場合でも、上記と同様に正方向のデータ交換と負方向のデータ交換を同時に行うことが可能となる。
なお、図10の構成では、全てのノードがファットツリーにも接続されているが、間にファットツリーに接続されないノードがあっても、上記と同様の隣接転送性能を実現できることは明らかである。
<第2実施形態>
本発明の前記第1実施形態を3次元矩形領域における隣接ノード間のデータ転送に適用したものを、本発明の第2の実施形態として以下に説明する。なお、以下では、本第2実施形態と比較を行うファットツリーと3Dトーラスの例を説明した後に、本発明の第2の実施形態を説明する。
<3次元矩形領域>
図14は、前記図5に示した3Dトーラスと同様に、各軸を4つのノードで構成した3次元矩形領域で、各ノードで所定のアプリケーションを実行したときの各ノードのプロセスIDを示す。図示の例では、アプリケーションのプロセスIDとして、3次元矩形領域のX軸、Y軸、Z軸の順にプロセスIDが増大する例を示しており、図示の例ではプロセスIDを0〜63に割り当てる。3次元矩形領域における隣接ノード間のデータ交換は、上記プロセスIDに基づいて図中X軸方向、Y軸方向及びZ軸方向で隣接ノード間のデータ交換を行うプログラム(アプリケーション)を各ノードで実行する。このプログラムの一例を、図15に示す。
図15において、(0)のソースコードは、X、Y、Zの各軸方向のデータ転送先のIDを決定するもので、図中「plus」は正方向を意味し、「minus」は負方向を示す。そして、「myid」は自ノードのプロセスIDを示し、「NX」はX軸方向のノード数を示し、「NY」はY軸方向のノード数を示しており、図14に置いては、NX=NY=4となる。
図15の(1)〜(6)は、前記図7に示したmpi_send命令と、mpi_recv命令により、X、Y、Zの各軸方向で隣り合うノードとの間で正方向へのデータ転送と負方向へのデータ転送を行うプログラムを示している。
一方、各ノードには、図16で示すようにノードIDが予め設定される。図16では、ノードIDを3桁で表現した例を示す。ノードIDの3桁目(百の位)はX軸方向におけるノードIDの連番で、図中左から右へ向けて0〜3へ増大する。ノードIDの2桁目(十の位)はY軸方向におけるノードIDの連番で、図中上から下へ向けて0〜3へ増大する。ノードIDの1桁目(一の位)はZ軸方向におけるノードIDの連番で、図中手前から奥へ向けて0〜3へ増大する。
図17は、3Dトーラスの場合の各ノードの構成を示すブロック図である。ノードの構成は、前記第1実施形態の図3に示したノードと同様であり、通信パケット生成部DUがプロセスIDとノードIDの対応付けを行うものとする。このため、各ノードには、プロセスIDとノードIDの関連を予め定義したテーブルを備える。
なお、図17のネットワークインターフェースNIFは、Nx+〜Nz−の6方向のリンク(ネットワーク接続)を有する。
各ノードでは、図15に示したプログラムを実行して各軸方向へデータ転送を行う。例えば、図14においてプロセスID=1のノード(=図16のノードID=100)が、図15の(3)のmpi_send命令を実行すると、宛先のプロセスIDは、
Yplus=1+4
となり、図14のプロセスID=5のノードがデータの転送先となる。プロセスID=1のノードの通信パケット生成部DUは、所定のテーブルから転送先のノードID=110(図16参照)を取得し、図4に示すパケットの送信元フィールドに自ノードID=100を設定し、宛先IDフィールドに110を設定し、所定のデータを含めてパケットを生成する。そして、ネットワークインターフェースNIFが当該パケットをノードID=110へ向けて送信する。
<3Dトーラス>
次に、上記図14〜図16の3次元矩形領域における隣接ノードのデータ交換を、図5に示した3Dトーラスで行う例を説明する。
図5に示した各軸方向のネットワークNx0〜Nx3,Ny0〜Ny3、Nz0〜Nz3は、図16のノードIDの連番に沿って各ノードを接続することになる。例えば、ネットワークNx0は、ノードID=000,100,200,300を接続する。つまり、X軸方向のネットワークNx0〜3は、ノードIDの1桁目(Z軸)と2桁目(Y軸)が同一のノードを、3桁目のX軸方向のノードIDの番号順に接続する。Y軸方向及びZ軸方向のネットワークNy、Nzも同様である。
3Dトーラスでは、図8で示したように、各軸方向が同時に正方向と、負方向のデータ転送を実行可能であり、3Dトーラスにおける隣接ノードのデータ交換に要する時間を1Tとする。
<3段ファットツリー>
次に、図14、図16に示した3次元矩形領域を、図1に示した3段ファットツリーで実現する例について説明する。
図1に示したファットツリーで、図14、図16に示したようにノードを、X、Y、Zの各軸方向に接続するためには、例えば、図1のリーフスイッチA〜Pに接続する図16のノードIDの関係は図18のように設定する。
図18のリーフスイッチ対するノードの割り付けは、次のように行う。なお、この割り当ては、並列計算機システムの管理者などが行う。
まず、図16において、X軸方向に連番となる全てのノードは同一のリーフスイッチに接続される。具体的には、ノードIDの1桁目と2桁目の値が同一で、3桁目のみが異なるノードの全てを同一のリーフスイッチに接続する。これらのノードは、スイッチ段数=1=リーフスイッチA〜P内で互いに通信可能である。例えば、リーフスイッチAには、1桁目と2桁目が「00」となり、3桁目が連番となるノードID=000,100、200,300を接続する。
続いて、リーフスイッチA〜Pを、スイッチ段数=2(クロスバスイッチA1〜P1)でお互いに通信可能なグループに分類する。図1から明らかなように、リーフスイッチA〜D、E〜H、I〜L、M〜Pがそれぞれ同一のグループとなる。図18の接続では、各グループ内の各リーフスイッチに対して、Y軸方向で連番となるプロセッサ群を割り当てる。
具体的には、各グループのリーフスイッチA〜D、E〜H、I〜L、M〜Pには、それぞれ、ノードIDの2桁目(Y軸方向)が連番となり、1桁目(Z軸方向)が同一のノードを接続する。例えば、リーフスイッチA〜Dには、ノードIDの2桁目が連番となるように、000,010,020、030が接続される。他のグループのリーフスイッチも同様である。これらのプロセッサは、スイッチ段数=2で互いに通信可能である。例えば、リーフスイッチAのノードID=000と、リーフスイッチBのノードID=010は、スイッチ段数=2のクロスバスイッチA1またはB1、C1、D1を介して通信可能に接続されている。図18で示すように接続することにより、Z軸方向の連番、すなわちノードIDの1桁目めが異なるノードは、スイッチ段数=3で互いに通信可能となる。例えば、リーフスイッチAのノードID=000とリーフスイッチEのノードID=001のようにZ軸方向で連番のノードは、スイッチ段数=3のクロスバスイッチA2〜P2のいずれかを介して通信を行うことができる。
なお図18で示したような接続は、N段ファットツリーにおいて、Nが1以上で同様に行なうことが可能である。
次に、図18に示した3段ファットツリーによる3次元矩形領域の隣接ノードのデータ交換を行う例を以下に示す。
図19は、リーフスイッチAでX軸方向のデータ転送を行う例を示す。なお、各クロスバスイッチのルーティング部XRUは、図18に示した接続情報を保持している。
X軸方向のデータ転送は、1,2桁目のノードIDが同一で、ノードIDの3桁目が異なるため、リーフスイッチAは1段目のスイッチで折り返す。この例では、図9と同様であり、正方向のデータ転送が完了するまで負方向のデータ転送を実行することはできない。
図20は、Y軸方向のデータ転送を示し、1段目のリーフスイッチA〜Dのルーティング部XRUは、ノードIDの2桁目が異なるので、パケットを2段めのスイッチ段数A1〜D1に転送する。2段目のクロスバスイッチA1〜D1のルーティング部XRUは、宛先ノードIDの1桁目が同一であるので、リーフスイッチA〜Dへ折り返す。
図21は、Z軸方向のデータ転送を示し、1段目と2段目のクロスバスイッチは、パケットの宛先に含まれるノードIDの1桁目が異なるので3段目のクロスバスイッチA2へ転送してから、2段目、1段目へ順次転送する。
3段ファットツリーでX、Y、Z軸方向の隣接ノードのデータ転送は、以上の図19〜図21のように行われ、図15に示した(1)〜(6)の各軸の正方向と負方向のデータ交換を完了するのに、上記3Dトーラスのデータ交換の6倍の6Tの時間を要することになる。
<3段ファットツリー+メッシュ結合>
図22〜図23は、本発明の第2の実施形態の構成を示すブロック図である。図22は、ノード間の接続を示すブロック図で、図23は3段ファットツリーとノード間の接続を示すブロック図で、図24はノード間とリーフスイッチの接続を示すブロック図である。
本第2実施形態は、前記図1の3段ファットツリーと図16に示した3次元矩形領域に配置したノードを、図18に示した接続関係でリーフスイッチとノードを接続し、さらに、第1実施形態と同様にしてY軸方向で隣り合うノード及びZ軸方向で隣り合うノードを部分ネットワークNW3で直接接続したものである。X軸方向については、前記第1実施形態の図10と同様である。
図23において、各リーフスイッチA〜Pには図18に従って各ノードをネットワークNW0で接続する。各ノードの3次元矩形領域における関係は、図16と同様である。
そして、図16に示した3次元矩形領域で、X軸方向、Y軸方向及びZ軸方向で隣り合うノードを、図22で示すように部分ネットワークNW3で直接接続し、メッシュ結合したものである
部分ネットワークNW3で結合されたノードのうち、外側の面に属するノード間のみをファットツリーのリーフスイッチA〜Pに接続する。ここで外側の面とは、3次元メッシュの場合、ノード間のリンク(リーフスイッチとのリンクは含めない)を6本有さないノードを指す。ただし、本第2実施形態では2×2×2のメッシュ結合のため、全てのノードが外側となりリーフスイッチに接続される。
図22において、例えば、ノードID=000は図16において、X軸方向でノードID=100と隣り合い、Y軸方向でノードID=010隣り合い、Z軸方向でノードID=001と隣り合う。これらの隣り合うノード間を部分ネットワークNW3で直接接続し、かつ、図18の接続関係に基づいてメッシュ結合で外側となるノード(本第2実施形態の場合は全て)をリーフスイッチA〜Pに接続する。
ここで、メッシュ結合の外側の面を構成するノードは、図25で示すように、ネットワークインターフェースNIFに、リーフスイッチと接続するネットワークNW0と、隣り合うX軸方向のノード間を接続する部分ネットワークNW3(X)と、Y軸方向で隣り合うノード間を接続する部分ネットワークNW3(Y)とZ軸方向で隣り合うノード間を接続する部分ネットワークNW3(Z)を備える。またルーティング部RUは、パケットの宛て先ノードIDを見て、宛て先ノードが直接接続されている場合は部分ネットワークNW3(X)、部分ネットワークNW3(Y)、部分ネットワークNW3(Z)のいずれかにパケットを送出し、そうでない場合はネットワークNW0に送出する。その他は、前記第1実施形態の図11と同様である。
図24(A)〜(D)で示すように、各ノードは図18で示したように、2段目のクロスバスイッチA1〜D1で4つのグループに分けて、Y軸方向のノード間の部分ネットワークNW3はグループ内で接続し、Z軸方向のノード間の部分ネットワークNW3は、隣り合うグループ間で接続する。
例えば、図24(A)において、ノードID=000は、Y軸方向では同一グループ内で隣り合うノードID=010と接続し、Z軸方向では隣り合うグループのノードID=001と接続する。
つまり、前記第1実施形態に示した、
・隣り合う2つのノードでペアを構成し、ペアを構成したノード間のみを直接接続する部分ネットワークNW3を設ける。
・ただし、各ノードはひとつのペアのみに所属し、他のペアと重複しない。
という接続ルールを、リーフスイッチのグループの内側と外側で適用したことになる。
ここで、リーフスイッチA〜Pを4つのスイッチグループ(グループ0〜3)に分けた場合、図18に示した各リーフスイッチA〜Pの先頭のノードのY軸方向及びZ軸方向の部分ネットワークNW3を図26に示す。
すなわち、部分ネットワークNW3は、図26で示すように、各リーフスイッチA〜Pの先頭のノードは、Y軸方向の接続は長円で囲まれたペアで接続し、Z軸方向の接続は実線のペア毎に接続される。なお、各リーフスイッチA〜Pの他のノードも同様である。
Y軸方向では、同一スイッチグループ内で隣り合う2つのノードでペアを構成し、かつ、各ノードはひとつのペアのみに所属し、他のペアと重複せず、ペアを構成したノード間のみを直接接続する部分ネットワークNW3を設ける。
Z軸方向では、隣り合う2つのスイッチグループ間のノードでペアを構成し、かつ、各ノードはひとつのペアのみに所属し、他のペアと重複せず、ペアを構成したノード間のみを直接接続する部分ネットワークNW3を設ける。Z軸方向でペアを構成するノードは、ノードIDの3桁目と2桁目が一致するものでペアを構成する。
以上のように、3段ファットツリーにメッシュ結合を組み合わせた場合の、3次元矩形領域における隣接ノードのデータ交換について以下に説明する。
まず、X軸方向の隣接ノードのデータ交換は、図27で示すように、前記第1実施形態と同様にして、ペアを構成した隣り合うノードと部分ネットワークNW3で双方向通信を行い、かつ、各ノードがリーフスイッチとネットワークNW0で双方向通信を行うことで、図中(1)の正方向のデータ転送と、(2)の負方向のデータ転送を同時に行って、X軸方向における隣接ノードのデータ交換の所要時間を1Tとすることができる。
ルーティング部XRUは、通常の3段ファットツリーの場合と同様に動作する。すなわち、図27においては、パケットの宛先ノードIDと送元ノードIDの1、2桁目が同一で、3桁目が異なるので、リーフスイッチで折り返す。
Y軸方向の隣接ノードのデータ交換を図28に示す。図28において、ファットツリー内では、パケットの宛先ノードIDと送元ノードIDの2桁目が異なり1桁目が同じため、前記図20と同様にして2段目のクロスバスイッチで折り返す。さらに、隣り合うスイッチグループのペア間(図中000と010及び020と030)に設けた部分ネットワークNW3で双方向通信を行うことで、図中(1)の正方向のデータ転送と、(2)の負方向のデータ転送を同時に行って、Y軸方向における隣接ノードのデータ交換の所要時間を1Tとすることができる。
Z軸方向の隣接ノードのデータ交換を図29に示す。図29において、ファットツリー内では、パケットの宛先ノードIDと送元ノードIDの1桁目が異なるため、前記図21と同様にして3段目のクロスバスイッチで折り返す。さらに、隣り合うスイッチグループのペア間(図中000と001及び002と003)に設けた部分ネットワークNW3で双方向通信を行うことで、正方向のデータ転送と負方向のデータ転送を同時に行って、Z軸方向における隣接ノードのデータ交換の所要時間を1Tとすることができる。
以上の図27〜図29より、3段ファットツリーにメッシュ結合を加えた3次元矩形領域の接続では、X、Y、Z軸方向の隣接ノードのデータ交換に要する所要時間は各軸が1Tとなり、図19〜図21に示した3段ファットツリーのみの場合(6T)に比して2倍のバンド幅を提供することが可能となる。
この場合、部分ネットワークNW3のスループットは、ファットツリーのネットワークNW0〜2のスループットの1/3であっても、時間3TでX、Y、Z軸のデータ交換を処理することが可能である。なぜなら、ファットツリーを介してX軸方向の隣接通信(図15の(1)及び(2))と、Y軸方向の隣接通信(図15の(3)及び(4))と、Z軸方向の隣接通信(図15の(5)及び(6))を逐次的に実行するのと同時に、メッシュ結合したノード間では、部分ネットワークNW3を介した隣接通信を、X、Y、Z軸方向の正方向と負方向の6方向で同時に行なうことが可能なためである。例えば、図24(A)において、ノードID=000とリーフスイッチAを接続するネットワークNW0の転送速度を10Gbpsとすると、ノードID=000は、部分ネットワークNW3で接続されたノードID=100、010、001の3つのノードと同時に通信が可能であるため、部分ネットワークNW3の転送速度は、約3.3Gbpsであれば済むことになる。
したがって、本第2実施形態によれば、既存のファットツリーに部分ネットワークNW3を加えるだけで、3次元矩形領域のデータ交換を行う場合には従来のファットツリーの2倍のバンド幅を容易に確保できるのに加え、部分ネットワークNW3のバンド幅をリーフスイッチ側のバンド幅よりも狭くできるので、ネットワークインターフェースNIFのコストを抑制することが可能となる。したがって、大量のノードを使用するスーパーコンピュータなどの並列計算機システムを構築する際には、既存のファットツリーを利用し、かつ低コストのネットワークインターフェースNIFを採用することで設備投資を抑制しながら、運用の柔軟性に優れ、かつ、データ転送速度の高い計算機システムを提供することができる。
なお、メッシュ結合の外側の面に属さないノードが存在する2×2×2より大きなメッシュ結合ノード群を用いても、上記同様の動作が可能なことは自明である。
<第3実施形態>
図30は、第3の実施形態を示し、前記第2実施形態の部分ネットワークNW3をスター型スイッチに置き換えたもので、その他の構成は前記第2実施形態と同様である。
各ノードとファットツリーのリーフスイッチとの接続は、前記図18と同じである。この場合も、前記第2実施形態と同様に、従来のファットツリーに比して高速に3次元矩形領域のデータ交換を実現することができる。
この場合、ノード群内でX軸方向の隣接通信と、Y軸方向の隣接通信と、Z軸方向の隣接通信を同時に行なうことはできない。例えば、ノードID=000と100のX軸方向通信と、ノードID=000と010のY軸方向通信は、ノードID=000とスイッチ間のパスが競合するため同時に通信を行うことはできない。
従って、上記第2実施形態と同様の効果を得るためには、部分ネットワークNW3のスループットは、ファットツリーのスループットと同じ必要がある。
<第4実施形態>
上記第2実施形態では、3段ファットツリーと3次元メッシュ結合ノードの例を述べた。本接続と動作が、N次元メッシュ結合で接続されたノード群を、M段ファットツリー(NはM以上)に接続してもよいことは自明である。
例えば、図22に示した3次元メッシュの部分ネットワークNW3で接続されたノード群を、図31に示す2段ファットツリーに接続してもよい。この場合、リーフスイッチA〜Dと各ノードの接続は、図32のようになる。
3段ファットツリーの下2段が1段に縮退された形となるので、X軸方向及びY軸方向に連番となるノードを、同一のスイッチに接続する。すなわち、ノードIDの3桁目(百の位)と2桁目(十の位)が異なり、1桁目(一の位)が同じノードが全て同一のスイッチに接続される。
ノード内部のルーティング部は、上記第2実施形態と同様に、宛先ノードが部分ネットワークNW3で接続されていない場合にファットツリー側へパケットを送出すればよい。なお、Z軸正方向の隣接ノードのデータ交換は、ノードID=000から送出されたパケットは、部分ネットワークNW3を介してノードID=001に送られる。ノードID=001からのパケットは、リーフスイッチB、クロスバスイッチA1、リーフスイッチCを介してノードID=002に送られる。ノードID=002から送出されたパケットは、部分ネットワークNW3を介してノードID=003に送られる。ノードID=003からのパケットは、リーフスイッチD、クロスバスイッチA1、リーフスイッチAを介してノードID=000に送られて矩形領域を一巡する。逆方向のデータ転送も同様の経路で行われる。このように、N次元メッシュ結合で接続されたノード群を、M段ファットツリーに接続した場合も上記第2実施形態と同様の効果を得ることができる。
以上のように、本発明に係る並列計算機システムでは、大量のノードを備えたスーパーコンピュータや超並列計算機に適用することができる。
本発明を適用する並列計算機システムを示し、3段ファットツリーを含む並列計算機システムのブロック図である。 ノードとネットワークNW0の構成を示すブロック図である。 ノードの構成を示すブロック図である。 ノードが送受信するパケットのフォーマットの一例を示す説明図である。 従来の3Dトーラスの構成を示すブロック図である。 3Dトーラスのノードとネットワークの構成を示すブロック図である。 隣接ノード間で一次元のデータ転送を行うユーザプログラム(ソースコード)の一例を示す説明図である。 図6に示した3Dトーラスのうち、X軸のネットワークで隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 図1に示したファットツリーで隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 本発明の第1の実施形態を示し、図1に示したファットツリーのうち、ひとつのリーフスイッチとノードの構成を示す並列計算機システムのブロック図である。 同じく、第1実施形態を示し、ノードの構成を示すブロック図である。 同じく、第1実施形態を示し、隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 同じく、第1実施形態を示し、奇数のノードで隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 各軸を4つのノードで構成した3次元矩形領域で、各ノードで所定のアプリケーションを実行したときの各ノードのプロセスIDを示す説明図。 隣接ノード間で3次元のデータ転送を行うユーザプログラム(ソースコード)の一例を示す説明図である。 各軸を4つのノードで構成した3次元矩形領域で、各ノードのノードIDを示す説明図。 3Dトーラスにおけるノードの構成を示すブロック図である。 リーフスイッチA〜PとノードIDの接続関係を示す説明図。 3段ファットツリーのリーフスイッチAでX軸方向のデータ転送を行う例を示す説明図。 3段ファットツリーでY軸方向のデータ転送を行う例を示す説明図。 3段ファットツリーでZ軸方向のデータ転送を行う例を示す説明図。 本発明の第2の実施形態の構成を示し、ノード間の接続を示すブロック図。 同じく、第2の実施形態の構成を示し、3段ファットツリーと部分ネットワークの一例を示すブロック図。 同じく、第2の実施形態の構成を示し、ノード間とリーフスイッチの接続を示すブロック図で。(A)はノードID=000を中心とした接続関係を示し、(B)はノードID=200を中心とした接続関係を示し、(C)はノードID=020を中心とした接続関係を示し、(D)はノードID=220を中心とした接続関係を示す。 同じく、第2の実施形態の構成を示し、ノードの構成を示すブロック図。 同じく、第2の実施形態の構成を示し、リーフスイッチのグループと、Y軸方向及びZ軸方向のノードの接続関係を示す説明図。 同じく、第2の実施形態の構成を示し、X軸方向で隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 同じく、第2の実施形態の構成を示し、Y軸方向で隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 同じく、第2の実施形態の構成を示し、Z軸方向で隣接ノードのデータ交換を行う場合のデータの流れを示す説明図。 本発明の第3の実施形態の構成を示し、ノード間の接続を示すブロック図。 同じく、第4の実施形態の構成を示し、2段ファットツリーと部分ネットワークを示すブロック図。 同じく、第4の実施形態の構成を示し、2段ファットツリーのリーフスイッチとノードの接続関係を示す説明図。
符号の説明
A〜P リーフスイッチ
MM 主記憶
NW0,1,2 ネットワーク
NW3 部分ネットワーク
NIF ネットワークインターフェース
PU プロセッサ

Claims (4)

  1. プロセッサと通信部を含むノードを複数備え、前記複数のノードを接続するスイッチとを備えた並列計算機システムにおいて、
    前記ノードとスイッチとを接続する第1のネットワークと、
    前記複数のノードを部分的に接続する第2のネットワークと、
    を備え、
    前記第1のネットワークは、前記ノードと接続するスイッチを含み、
    前記第2のネットワークは、前記スイッチに接続される複数のノードのうち隣り合う2つのノードでペアを構成し、前記ペアを構成したノード間のみを接続し、前記ペアを構成するノードはひとつのペアのみに所属し、他のペアと重複しないことを特徴とする並列計算機システム。
  2. 前記第1のネットワークは、
    ファットツリーまたは多段クロスバネットワークで構成したことを特徴とする請求項1に記載の並列計算機システム。
  3. 前記第1のネットワークは、
    前記ノードと接続する第1のスイッチと、
    前記第1のスイッチ同士を接続する第2のスイッチと、を備え、
    前記第2のネットワークは、
    前記第1のスイッチに接続された複数のノードのうち隣り合う2つのノードでペアを構成し、かつ、各ノードはひとつのペアのみに所属し、前記ペアを構成したノード間のみを接続することを特徴とする請求項1に記載の並列計算機システム。
  4. 前記第1のネットワークは、
    前記ノードと接続する第1のスイッチと、
    前記第1のスイッチ同士を接続する第2のスイッチと、を備え、
    前記第2のネットワークは、
    前記第2のスイッチを介して隣り合う2つの第1のスイッチ間のノードでペアを構成し、かつ、各ノードはひとつのペアのみに所属し、前記ペアを構成したノード間のみを接続することを特徴とする請求項1に記載の並列計算機システム。
JP2007184367A 2007-07-13 2007-07-13 並列計算機システム Expired - Fee Related JP4676463B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007184367A JP4676463B2 (ja) 2007-07-13 2007-07-13 並列計算機システム
US12/010,687 US20090016332A1 (en) 2007-07-13 2008-01-29 Parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007184367A JP4676463B2 (ja) 2007-07-13 2007-07-13 並列計算機システム

Publications (2)

Publication Number Publication Date
JP2009020797A JP2009020797A (ja) 2009-01-29
JP4676463B2 true JP4676463B2 (ja) 2011-04-27

Family

ID=40253045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007184367A Expired - Fee Related JP4676463B2 (ja) 2007-07-13 2007-07-13 並列計算機システム

Country Status (2)

Country Link
US (1) US20090016332A1 (ja)
JP (1) JP4676463B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4291281B2 (ja) * 2005-02-03 2009-07-08 富士通株式会社 情報処理システム、計算ノード、情報処理システムの制御方法
US8516444B2 (en) * 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
CA2676876C (en) * 2008-08-27 2015-10-20 Maged E. Beshai Single-rotator circulating switch
EP2374250B1 (en) * 2009-01-19 2014-10-29 Hewlett-Packard Development Company, L.P. Load balancing
JP5531420B2 (ja) * 2009-02-27 2014-06-25 日本電気株式会社 プロセス割当システム、プロセス割当方法、プロセス割当プログラム
JP2010218415A (ja) * 2009-03-18 2010-09-30 Olympus Corp ハードウエアスイッチ及び分散処理システム
US8274987B2 (en) 2010-03-22 2012-09-25 International Business Machines Corporation Contention free pipelined broadcasting within a constant bisection bandwidth network topology
JP5540963B2 (ja) 2010-07-15 2014-07-02 富士通株式会社 情報処理方法、装置及びプログラム
JP5664131B2 (ja) * 2010-11-01 2015-02-04 富士通株式会社 情報処理方法、装置及びプログラム
JP5617582B2 (ja) 2010-12-08 2014-11-05 富士通株式会社 プログラム、情報処理装置、及び情報処理方法
US9008510B1 (en) 2011-05-12 2015-04-14 Google Inc. Implementation of a large-scale multi-stage non-blocking optical circuit switch
JP5754504B2 (ja) 2011-05-23 2015-07-29 富士通株式会社 管理装置、情報処理装置、情報処理システム及びデータ転送方法
JP5849486B2 (ja) * 2011-07-19 2016-01-27 富士通株式会社 ネットワーク装置及びネットワーク管理装置
JP5794011B2 (ja) * 2011-07-19 2015-10-14 富士通株式会社 ネットワーク管理装置及びネットワーク管理方法
JP5920105B2 (ja) * 2012-08-16 2016-05-18 富士通株式会社 演算処理装置および演算処理装置の制御方法
EP2728490B1 (en) * 2012-10-31 2017-07-12 Fujitsu Limited Application execution method in computing
JP6520344B2 (ja) 2014-05-14 2019-05-29 富士通株式会社 並列計算機システム、並列計算機システムの制御方法、及び情報処理装置
JP6492977B2 (ja) * 2015-06-01 2019-04-03 富士通株式会社 並列演算装置、並列演算システム、ノード割当プログラム及びノード割当方法
JP6665607B2 (ja) * 2016-03-16 2020-03-13 富士通株式会社 通信管理方法、通信管理プログラム及び情報処理装置
JP6623939B2 (ja) 2016-06-06 2019-12-25 富士通株式会社 情報処理装置、通信手順決定方法、および通信プログラム
CN115499271B (zh) * 2022-08-30 2023-10-13 西北工业大学 一种混合网络拓扑结构及其路由方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2007505383A (ja) * 2003-09-09 2007-03-08 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. 複数のプログラム可能なプロセッサを有する集積データ処理回路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50111907A (ja) * 1974-02-04 1975-09-03
JPH02103657A (ja) * 1988-10-12 1990-04-16 Ibiden Co Ltd マルチプロセッサシステム
US5003531A (en) * 1989-08-11 1991-03-26 Infotron Systems Corporation Survivable network using reverse protection ring
JPH03220660A (ja) * 1990-01-26 1991-09-27 Kokusai Denshin Denwa Co Ltd <Kdd> 並列計算処理装置
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5471580A (en) * 1991-10-01 1995-11-28 Hitachi, Ltd. Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer
JPH06243113A (ja) * 1993-02-19 1994-09-02 Fujitsu Ltd 並列計算機における計算モデルのマッピング法
US6055599A (en) * 1995-09-11 2000-04-25 Electronics & Telecommunications Research Institute Hierarchical crossbar interconnection network for a cluster-based parallel processing computer
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
US7555566B2 (en) * 2001-02-24 2009-06-30 International Business Machines Corporation Massively parallel supercomputer
US7620736B2 (en) * 2003-08-08 2009-11-17 Cray Canada Corporation Network topology having nodes interconnected by extended diagonal links
US7486619B2 (en) * 2004-03-04 2009-02-03 International Business Machines Corporation Multidimensional switch network
US7581079B2 (en) * 2005-03-28 2009-08-25 Gerald George Pechanek Processor composed of memory nodes that execute memory access instructions and cooperate with execution nodes to execute function instructions
JP5055942B2 (ja) * 2006-10-16 2012-10-24 富士通株式会社 計算機クラスタ
US7600095B2 (en) * 2007-04-19 2009-10-06 International Business Machines Corporation Executing scatter operation to parallel computer nodes by repeatedly broadcasting content of send buffer partition corresponding to each node upon bitwise OR operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007505383A (ja) * 2003-09-09 2007-03-08 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. 複数のプログラム可能なプロセッサを有する集積データ処理回路
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体

Also Published As

Publication number Publication date
JP2009020797A (ja) 2009-01-29
US20090016332A1 (en) 2009-01-15

Similar Documents

Publication Publication Date Title
JP4676463B2 (ja) 並列計算機システム
Chiu The odd-even turn model for adaptive routing
US9880972B2 (en) Computer subsystem and computer system with composite nodes in an interconnection structure
Chiang et al. Multi-address encoding for multicast
US9253085B2 (en) Hierarchical asymmetric mesh with virtual routers
Su et al. Adaptive deadlock-free routing in multicomputers using only one extra virtual channel
Bermond et al. Broadcasting and gossiping in de Bruijn networks
JP5540609B2 (ja) 並列計算システムおよび通信制御プログラム
JP5849486B2 (ja) ネットワーク装置及びネットワーク管理装置
CN107959643B (zh) 一种通过交换芯片构建的交换系统及其路由算法
US7468982B2 (en) Method and apparatus for cluster interconnection using multi-port nodes and multiple routing fabrics
US20060268691A1 (en) Divide and conquer route generation technique for distributed selection of routes within a multi-path network
CN112889032B (zh) 使用光网络的可重新配置的计算平台
Adda et al. Routing and fault tolerance in Z-fat tree
Li et al. Disjoint-paths and fault-tolerant routing on recursive dual-net
CA3223804A1 (en) Deadlock-free multipath routing for direct interconnect networks
WO2007124514A2 (en) Method and apparatus for a scalable hybrid architecture for polyvertexic extensible networks
Valerio et al. Recursively scalable fat-trees as interconnection networks
Lakhotia et al. PolarStar: Expanding the scalability horizon of diameter-3 networks
US8549259B2 (en) Performing a vector collective operation on a parallel computer having a plurality of compute nodes
Lv et al. A high-performantal and server-centric based data center network
Liang et al. Beyond the performance of three-tier fat-tree: equality topology with low diameter
Ganesan et al. The hyper-deBruijn multiprocessor networks
JP3532102B2 (ja) 間接ローテータグラフネットワーク及び間接ローテータグラフネットワークにおける伝送経路の設定方法
Li et al. Node-to-set disjoint-paths routing in recursive dual-net

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090624

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100803

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110127

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees