JP6665607B2 - 通信管理方法、通信管理プログラム及び情報処理装置 - Google Patents

通信管理方法、通信管理プログラム及び情報処理装置 Download PDF

Info

Publication number
JP6665607B2
JP6665607B2 JP2016052100A JP2016052100A JP6665607B2 JP 6665607 B2 JP6665607 B2 JP 6665607B2 JP 2016052100 A JP2016052100 A JP 2016052100A JP 2016052100 A JP2016052100 A JP 2016052100A JP 6665607 B2 JP6665607 B2 JP 6665607B2
Authority
JP
Japan
Prior art keywords
switch
communication
combinations
switches
node
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.)
Active
Application number
JP2016052100A
Other languages
English (en)
Other versions
JP2017169020A (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
Priority to JP2016052100A priority Critical patent/JP6665607B2/ja
Priority to US15/451,744 priority patent/US10484264B2/en
Publication of JP2017169020A publication Critical patent/JP2017169020A/ja
Application granted granted Critical
Publication of JP6665607B2 publication Critical patent/JP6665607B2/ja
Active 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/02Topology update or discovery
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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
    • 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
    • H04L49/1523Parallel switch fabric planes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、集団通信技術に関する。
集団通信を実行する複数のノード(例えば物理サーバ)を接続するネットワークとして、ラテン方陣ファットツリーネットワークが知られている。ラテン方陣ファットツリーネットワークは、通常のファットツリーネットワークよりも多くのノードを接続することができる。
図1に、ラテン方陣ファットツリーネットワークの一例を示す。図1の例においては、丸の図形はノードを表し、ハッチングされた四角の図形はスパインスイッチを表し、ハッチングされていない四角の図形はリーフスイッチを表す。各スイッチのポート数は6であり、ポート数を2で割った数から1を引いた数nは2である。この数は有限射影平面の位数に相当する。リーフスイッチに接続されるノードの数は21である。
図2に、図1のスイッチと同じスイッチを使用した通常のファットツリーネットワークを示す。図2の例においては、リーフスイッチに接続されるノードの数は9であり、図1の例より少ない。
図3に、ラテン方陣ファットツリーネットワークの他の例を示す。図3の例においては、各スイッチのポート数は8であり、nは3である。リーフスイッチに接続されるノードの数は52である。
図4に、図3のスイッチと同じスイッチを使用した通常のファットツリーネットワークを示す。図4の例においては、リーフスイッチに接続されるノードの数は16であり、図3の例より少ない。
通常のファットツリーネットワークにおいて全ノードが参加する全対全通信(全対全通信は集団通信の一種である)を実行する技術は知られている。しかしながら、ラテン方陣ファットツリーネットワークにおいて全ノードが参加する全対全通信を実行する技術は知られていない。
特開2014−164756号公報 特開2013−25505号公報
M. Valerio, L. E. Moser and P. M. Melliar-Smith, "Recursively Scalable Fat-Trees as Interconnection Networks", IEEE 13th Annual International Phoenix Conference on Computers and Communications, 1994
本発明の目的は、1つの側面では、ラテン方陣ファットツリーネットワークにおいて全ノードが参加する全対全通信を実行するための技術を提供することである。
本発明に係る情報処理装置は、ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外する除外部と、複数の組み合わせのうち除外部により除外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成する生成部と、複数のスイッチの各々に、生成部により生成された中継設定を送信する送信部とを有する。
1つの側面では、ラテン方陣ファットツリーネットワークにおいて全ノードが参加する全対全通信を実行できるようになる。
図1は、ラテン方陣ファットツリーネットワークの一例を示す図である。 図2は、ファットツリーネットワークの一例を示す図である。 図3は、ラテン方陣ファットツリーネットワークの一例を示す図である。 図4は、ファットツリーネットワークの一例を示す図である。 図5は、ファットツリーネットワークにおける全対全通信について説明するための図である。 図6は、ファットツリーネットワークにおける全対全通信について説明するための図である。 図7は、通信の競合について説明するための図である。 図8は、シフト数について説明するための図である。 図9は、ラテン方陣ファットツリーネットワークにおける各スイッチ層のシフト数を示す図である。 図10は、ラテン方陣ファットツリーネットワークにおけるパケット転送について説明するための図である。 図11は、ラテン方陣ファットツリーネットワークにおけるパケット転送について説明するための図である。 図12は、ノードのハードウエア構成図である。 図13は、ノードの機能ブロック図である。 図14は、スイッチの機能ブロック図である。 図15は、ノードが実行する処理の処理フローを示す図である。 図16は、生成処理の処理フローを示す図である。 図17は、生成処理の処理フローを示す図である。 図18Aは、通信表の一例を示す図である。 図18Bは、通信の一例を示す図である。 図19は、スイッチが実行する処理の処理フローを示す図である。 図20は、スイッチが実行する処理の処理フローを示す図である。 図21は、競合が発生しないことを説明するための図である。 図22は、競合が発生しないことを説明するための図である。 図23は、管理装置を設けた場合のシステムの一例を示す図である。 図24は、スイッチのハードウエア構成図である。
全対全通信とは、各ノードが全ノードに対してデータを送信する通信であり、ノードの台数と同じ数のフェーズで行われる。例えば図5に示すようなファットツリーネットワークにおいて全対全通信を実行することを考える。図5においては、ノード0乃至2がリーフスイッチ1lに接続され、ノード3乃至5がリーフスイッチ2lに接続され、ノード6乃至8がリーフスイッチ3lに接続される。リーフスイッチ1l乃至3lの各々は、スパインスイッチ1s乃至3sに接続される。
図5に示したようなファットツリーネットワークにおいては、図6に示すシフト通信パターンに従って全対全通信を実行すれば通信の競合を回避できる。図6においては、送信元のノード番号とフェーズ番号との組み合わせに対応する宛先のノード番号が示されている。ノードkはi番目のフェーズにおいてノード(k+i)%Nにパケットを送信する。ここで、Nはノード数であり、%は剰余を求める演算子である。図6におけるハッチングされたブロックは、図5における太線で示された通信に対応する。
図6に示したように、いずれの行及び列においても0から8までの数字がもれなく現れている。ファットツリーネットワークにおいては、リーフスイッチ単位でネットワークを切り出した場合に競合することなく通信を行うことが可能である。
但し、ラテン方陣ファットツリーネットワークに対しては、図6に示したようなシフト通信パターンを適用することはできない。例えば図7に示すように、或るフェーズにおいてノード0乃至2がノード3乃至5にパケットを送信することを考える。この場合、ノード0乃至2の直上のリーフスイッチとノード3乃至5の直上のリーフスイッチとの間においてスパインスイッチを経由する通信経路は1つしかないので、ノード0乃至2の直上のリーフスイッチからノード0乃至2の直上のスパインスイッチまでの通信経路及びノード0乃至2の直上のスパインスイッチからノード3乃至5の直上のリーフスイッチまでの通信経路において競合が発生する。競合は、通信遅延、ひいては並列計算機の処理性能の低下等をもたらす。
なお、シフト通信パターンのシフト数を階層ごとに定めて通信を行うことも考えられる。図8を用いて、シフト数について説明する。図8(a)はシフト数が0である場合におけるパケットの転送を示しており、図8(b)はシフト数が1である場合におけるパケットの転送を示しており、図8(c)はシフト数が2である場合におけるパケットの転送を示している。矢印はリンクを表し、矢印に付された数字はポート番号を表す。例えばポート番号iから受信したパケットはポート番号(i+s)%M(ここで、sはシフト数であり、Mはポート数)のポートに出力される。従って、シフト数が0である場合、受信ポート0から受信したパケットは送信ポート0に出力され、受信ポート1から受信したパケットは送信ポート1に出力され、受信ポート2から受信したパケットは送信ポート2に出力される。シフト数が1である場合、受信ポート0から受信したパケットは送信ポート1に出力され、受信ポート1から受信したパケットは送信ポート2に出力され、受信ポート2から受信したパケットは送信ポート0に出力される。シフト数が2である場合、受信ポート0から受信したパケットは送信ポート2に出力され、受信ポート1から受信したパケットは送信ポート0に出力され、受信ポート2から受信したパケットは送信ポート1に出力される。
例として、図9に示すようなラテン方陣ファットツリーネットワークにおける各スイッチ層(図9における第2乃至第4層)のシフト数を変えることを考える。スイッチにつながるリンクに付された番号はリンクが接続されたポートの番号を表す。ここでは、第2層のシフト数を2とし、第3層のシフト数を0とし、第4層のシフト数を1とする。
そして、例えば図10に示すように、第1層に属するノードから第5層に属するノードまでパケットを転送することを考える。図10の例では、ノード2が送信したパケットがノード23まで転送され、ノード14が送信したパケットがノード32まで転送される。図10において、太線のリンクはノード2からノード23までの通信経路を表し、破線のリンクはノード14からノード32までの通信経路を表す。
ノード14からノード32までの通信経路は1つしか存在しない。しかしながら、ノード2からノード23までの通信経路は、図11に示すように3つ存在する。これは、ノード2に接続されたリーフスイッチとノード23に接続されたリーフスイッチとの間の通信経路が3つ存在するからである。
このように、シフト通信パターンのシフト数を階層ごとに定めて通信を行う場合、送信元ノードと宛先ノードとの位置関係によっては、送信元ノードから宛先ノードまで複数の通信経路が存在し、無駄な通信が行われてしまうことがある。そこで本実施の形態においては、ラテン方陣ファットツリーネットワークにおいて、無駄な通信を発生させることなく全ノードが参加する全対全通信を実行する方法について説明する。
本実施の形態におけるシステムは、例えば図9に示すようなラテン方陣ファットツリーネットワークのシステムであるとする。なお、ポート番号は以下のようなルールに従って付与されているとする。
(1)各スイッチの下位リンク及び上位リンクにポート番号0,1,2,・・・が付与される。
(2)第3層については、上位リンクのポート番号と下位リンクのポート番号とが対応する。
(3)第2層及び第4層の上位リンク及び下位リンクについては、ポート番号が対応していなくてもよい。
図12に、本実施の形態におけるノードのハードウエア構成図を示す。ノードは、CPU(Central Processing Unit)151と、メモリ152と、NIC(Network Interface Card)153と、バス154とを有する。CPU151、メモリ152及びNIC153はバス154によって接続される。NIC153は、例えばインフィニバンドによって他のノードと接続され、他のノードとの通信を行う。
図13に、本実施の形態におけるノードの機能ブロック図を示す。ノードは、処理部110と、MPI(Message Passing Interface)100と、ネットワーク制御部120とを含む。MPI100は、トポロジデータ格納部101と、通信表格納部102と、収集部103と、生成部104と、除外部105とを含む。処理部110は、アプリケーションプログラムがメモリ152にロードされ、CPU151によって実行されることによって実現される。MPI100は、MPIライブラリがメモリ152にロードされ且つCPU151によって実行されることによって実現される。ネットワーク制御部120は、ネットワークドライバがメモリ152にロードされ且つCPU151によって実行されることによって実現される。
処理部110は、他のノードにおける処理部110との通信をMPI100を介して行いつつ処理を進行させる。ネットワーク制御部120は、NIC153を制御する処理等を実行する。収集部103は、ラテン方陣ファットツリーネットワークのトポロジのデータ(例えば、スイッチの接続関係についてのデータおよびスイッチとノードとの接続関係についてのデータ等)を収集し、トポロジデータ格納部101に格納する。生成部104は、トポロジデータ格納部101に格納されたデータに基づき、スイッチがパケットの中継に使用する中継設定である通信表を生成し、通信表格納部102に格納する。除外部105は、生成部104からの呼び出しに応じて、条件を満たす組み合わせを除外する処理を実行する。
図14に、本実施の形態におけるスイッチの機能ブロック図を示す。スイッチは、中継処理部301と、通信表格納部302とを有する。中継処理部301は、通信表格納部302に格納された通信表に従ってパケットを中継する処理を実行する。
次に、図15乃至図22を用いて、本実施の形態のラテン方陣ファットツリーネットワークにおいて実行される処理について説明する。はじめに、図15乃至図17を用いて、ラテン方陣ファットツリーネットワークにおけるいずれかのノードが実行する処理について説明する。ここでは、本処理を実行するノードのことをノードNDと呼ぶ。
ノードNDにおける収集部103は、所定のコマンド(例えばibnetdiscover)の実行によって、ラテン方陣ファットツリーネットワークのトポロジについてのデータを収集し(図15:ステップS1)、収集したデータをトポロジデータ格納部101に格納する。
ノードNDにおける生成部104は、トポロジデータ格納部101に格納されたデータを用いて、生成処理を実行する(ステップS3)。生成処理については、図16及び図17を用いて説明する。なお、通信表格納部102には、初期的に、空の状態の通信表が各スイッチについて格納されているとする。
まず、生成部104は、第2層のシフト数であるaをa=0として設定し(図16:ステップS11)、第3層のシフト数であるbをb=0として設定し(ステップS13)、第4層のシフト数であるcをc=0として設定する(ステップS15)。a、b、cは0≦a,b,c≦nを満たす整数である。nは、スイッチのポート数(図9の例では6)を2で割った値から1を引いた数(図9の例では2)である。
生成部104は、組み合わせ(a,b,c)をメモリ152に登録し(ステップS17)、cを1インクリメントする(ステップS19)。
生成部104は、c>nが成立するか判定する(ステップS21)。c>nが成立しない場合(ステップS21:Noルート)、ステップS17の処理に戻る。一方、c>nが成立する場合(ステップS21:Yesルート)、生成部104は、bを1インクリメントする(ステップS23)。
生成部104は、b>nが成立するか判定する(ステップS25)。b>nが成立しない場合(ステップS25:Noルート)、ステップS15の処理に戻る。一方、b>nが成立する場合(ステップS25:Yesルート)、生成部104は、aを1インクリメントする(ステップS27)。
生成部104は、a>nが成立するか判定する(ステップS29)。a>nが成立しない場合(ステップS29:Noルート)、ステップS13の処理に戻る。一方、a>nが成立する場合(ステップS29:Yesルート)、生成部104は、処理は端子Aを介して図17のステップS31の処理に移行する。
図17の説明に移行し、生成部104は、除外部105を呼び出す。そして、除外部105は、ステップS17において登録した組み合わせ(a,b,c)のうち、b=0であり且つc≠0であるという条件を満たす組み合わせ(a,b,c)を、メモリ152から削除する(図17:ステップS31)。
ステップS31の処理まで終了すると、メモリ152には以下のような組み合わせ(a,b,c)が登録されることになる。
Figure 0006665607
Figure 0006665607
例えばn=2である場合、メモリ152に登録される組み合わせは(0,0,0)、(0,1,0)、(0,1,1)、(0,1,2)、(0,2,0)、(0,2,1)、(0,2,2)、(1,0,0)、(1,1,0)、(1,1,1)、(1,1,2)、(1,2,0)、(1,2,1)、(1,2,2)、(2,0,0)、(2,1,0)、(2,1,1)、(2,1,2)、(2,2,0)、(2,2,1)及び(2,2,2)である。組み合わせの数はn(n+1)2+(n+1)=(n+1)(n(n+1)+1)=(n+1)(n2+n+1)=21である。この数は図9におけるノードの数の半分に等しい。一方、ステップS31において削除される組み合わせは(0,0,1)、(0,0,2)、(1,0,1)、(1,0,2)、(2,0,1)及び(2,0,2)である。
生成部104は、メモリ152に登録されている組み合わせ(a,b,c)のうち未処理の組み合わせ(a,b,c)を1つ特定する(ステップS33)。
生成部104は、ステップS33において特定した組み合わせ(a,b,c)に対応する通信経路を特定する(ステップS35)。ステップS35においては、トポロジデータ格納部101に格納されているデータに基づき、通信経路上における、送信元ノード、送信元ノードに接続されたリーフスイッチ、スパインスイッチ、宛先ノードに接続されたリーフスイッチ及び宛先ノードが特定される。
生成部104は、ステップS35において特定した通信経路上のリーフスイッチ及びスパインスイッチの通信表に、その通信経路を実現するためのポートのポート番号を登録する(ステップS37)。例えば、通信経路上のスパインスイッチがポート番号「X」から通信経路上のリーフスイッチにパケットを送信する場合、送信元ノードの番号及び宛先ノードの番号の組み合わせに対応付けてポート番号「X」が登録される。
生成部104は、メモリ152に登録されている組み合わせ(a,b,c)のうち未処理の組み合わせ(a,b,c)が有るか判定する(ステップS39)。未処理の組み合わせが有る場合(ステップS39:Yesルート)、ステップS33の処理に戻る。一方、未処理の組み合わせが無い場合(ステップS39:Noルート)、呼び出し元の処理に戻る。
図18Aに、生成処理によって生成される通信表の一例を示す。図18Aの例では、図18Bに示すようなネットワークにおけるノード0乃至1に接続されたリーフスイッチについて生成される通信表の一例が示されている。このリーフスイッチが中継に関与しない部分については、「−」が登録されている。図18Aにおいてハッチングされた部分に対応する通信は、図18Bにおける太線で示された通信に対応する。なお、図18Bのネットワークはラテン方陣ファットツリーネットワークではないが、本実施の形態の処理は、ラテン方陣ファットツリーだけではなく通常のファットツリーネットワークにも適用可能である。
図15の説明に戻り、ノードNDにおけるネットワーク制御部120は、ラテン方陣ファットツリーネットワークにおける各スイッチについて生成した通信表を通信表格納部102から読み出す。そして、ネットワーク制御部120は、各スイッチに対して、当該スイッチに適用される通信表を送信する(ステップS5)。そして処理は終了する。
以上のような処理を実行すれば、各スイッチは自スイッチに適用すべき通信表を取得することができるようになる。
次に、図19及び図20を用いて、ラテン方陣ファットツリーネットワークにおける各スイッチが実行する処理について説明する。ここでは、本処理を実行するスイッチのことをスイッチSWと呼ぶ。
まず、スイッチSWにおける中継処理部301は、スイッチSWに適用すべき通信表を、当該通信表を生成したノードから受信する(図19:ステップS41)。
中継処理部301は、ステップS41において受信した通信表を、通信表格納部302に格納する(ステップS43)。そして処理は終了する。
スイッチSWがパケットを受信した場合には、以下のような処理が実行される。
スイッチSWにおける中継処理部301は、ノード又は他のスイッチからパケットを受信する(図20:ステップS51)。
中継処理部301は、パケットの宛先を示す情報(本実施の形態においてはノード番号)及び送信元を示す情報(本実施の形態においてはノード番号)をパケットから特定する。そして、中継処理部301は、パケットの宛先及び送信元の組み合わせに対応するポート番号を、通信表格納部302に格納されている通信表から特定する(ステップS53)。例えば、通信表格納部302には図18Aに示した通信表が格納される。
中継処理部301は、ステップS53において特定したポート番号を有するポートから、ステップS51において受信したパケットを送信する(ステップS55)。そして処理は終了する。
以上のような処理を実行すれば、無駄な通信を発生させることがない中継設定に従って各スイッチが中継を行うことができるようになる。これにより、ラテン方陣ファットツリーネットワークにおいて、無駄な通信を発生させることなく、全ノードが参加する全対全通信を実行することができるようになる。
次に、図21及び図22を用いて、競合を発生させることなく全対全通信が実行されることを証明する。
まず、図21に示すような位置にあるノードNSからノードNEに対してパケットを送信するときの通信経路を考える。図21の例においては、ノードNSの直上のリーフスイッチと、ノードNEの直上のリーフスイッチとが、スパインスイッチの層を軸とした場合における線対称の位置には無い。このような場合、両ノード間の通信経路はただひとつ存在するため、この通信経路に対応する組み合わせ(a,b,c)もただひとつだけ定まる。ノードNSの直上のリーフスイッチと、ノードNEの直下のリーフスイッチとが、スパインスイッチの層を軸とした場合における線対称の位置には無いことから、特にb≠0として組み合わせ(a,b,c)が決まる。
一方で、図22に示すような位置にあるノードNSからノードNEに対してパケットを送信するときの通信経路を考える。図22の例においては、ノードNSの直上のリーフスイッチと、ノードNEの直上のリーフスイッチとが、スパインスイッチの層を軸とした場合における線対称の位置にある。この場合、ノードNSとノードNEとの間の通信経路は3つ存在するが、c=0という制限があるため、実際に使用される通信経路はただひとつ(図22における太線の通信経路)である。この通信経路に対応するaの値もただひとつ定まるため、組み合わせ(a,0,0)が決まる。なお、残りの2つの通信経路(図22における破線の通信経路)は、ノードNSの直上のリーフスイッチの配下にある他のノードとノードNEの直上のリーフスイッチの配下にある他のノードとの間の通信において使用されることになる。
なお、スパインスイッチのポートの半分を使用する場合には、(n+1)(n2+n+1)台のノードで全対全通信を実行することが可能である。スパインスイッチの全ポートを使用する場合には、全対全通信を第1のフェーズ群と第2のフェーズ群とに分け、第1のフェーズ群においてはスパインスイッチで折り返して自ノードが属する層のノードにパケットを送信し、第2のフェーズ群においてはスパインスイッチで折り返さずに自ノードが属しない層のノードにパケットを送信する。これにより、2(n+1)(n2+n+1)台のノードで全対全通信を実行することが可能である。例えばポート数が36(すなわち、n=17)である場合、2*(17+1)*(172+17+1)=11052台のノードで全対全通信を実行することができる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したノード及びスイッチの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、図15乃至図17を用いて説明された処理を、ラテン方陣ファットツリーネットワークにおける複数のノードのうちいずれかのノードに実行させるのではなく、図23に示すように、別途設けられた管理装置500に実行させてもよい。
また、生成処理において組み合わせ(a,b,c)を決定するのではなく、ラテン方陣ファットツリーネットワークの管理者から組み合わせ(a,b,c)の指定を受け付けるようにしてもよい。
なお、上で述べたスイッチは、コンピュータ装置であって、図24に示すように、メモリ2601とCPU2603とハードディスク・ドライブ(HDD)2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信部2617(図24では、2617a乃至2617c)とがバス2619で接続されている場合もある。なお、場合によっては、表示制御部2607、表示装置2609、ドライブ装置2613、入力装置2615は含まれない場合もある。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーションプログラムは、HDD2605に格納されており、CPU2603により実行される際にはHDD2605からメモリ2601に読み出される。必要に応じてCPU2603は、表示制御部2607、通信部2617、ドライブ装置2613を制御して、必要な動作を行わせる。なお、通信部2617のいずれかを介して入力されたデータは、他の通信部2617を介して出力される。CPU2603は、通信部2617を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ2601に格納され、必要があればHDD2605に格納される。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブル・ディスク2611に格納されて頒布され、ドライブ装置2613からHDD2605にインストールされる。インターネットなどのネットワーク及び通信部2617を経由して、HDD2605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2603、メモリ2601などのハードウエアとOS及び必要なアプリケーションプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外する除外部と、(B)複数の組み合わせのうち除外部により除外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成する生成部と、(C)複数のスイッチの各々に、生成部により生成された中継設定を送信する送信部とを有する。
このような処理を実行すれば、適切な通信経路でノード間の通信を行えるようになるので、ラテン方陣ファットツリーネットワークにおいて全ノードが参加する全対全通信を実行できるようになる。
また、上で述べた条件は、スパインスイッチが属するスイッチ層のシフト数が0であり、且つ、宛先ノードに接続されたリーフスイッチが属するスイッチ層のシフト数が0より大きい整数であるという条件であってもよい。重複する通信経路が除外されるようになる。
また、上で述べた生成部は、(b1)複数の組み合わせのうち除外部により除外された組み合わせ以外の複数の組み合わせの各々について、当該組み合わせに対応する通信経路上のスイッチの出力先のポートの番号を当該スイッチが属するスイッチ層のシフト数に基づき決定することで、複数のスイッチの各々について中継設定を生成してもよい。各スイッチがパケットを適切に中継できるようになる。
また、複数のスイッチ層の数は3であってもよく、複数のスイッチに接続されるノードの数及び複数の通信経路の数は2(n+1)(n2+n+1)であり、ここでnは複数のスイッチの各々のポートの数を2で割った値から1を引いた値であってもよい。より多くのノードが参加する全対全通信を実行できるようになる。
また、複数のスイッチ層の数は2であってもよく、複数のスイッチに接続されるノードの数及び複数の通信経路の数は(n+1)(n2+n+1)であり、ここでnは複数のスイッチの各々のポートの数から1を引いた値であってもよい。スパインスイッチのポートの半分を使用して全対全通信を実行できるようになる。
また、複数のスイッチの各々は、パケットを受信したポートの番号にシフト数を足した番号を、当該スイッチのポート数で割った場合の剰余に相当する番号のポートに、受信したパケットを出力してもよい。
本実施の形態の第2の態様に係る通信管理方法は、(D)ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外し、(E)複数の組み合わせのうち外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成し、(F)複数のスイッチの各々に、成された中継設定を送信する処理を含む。
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外する除外部と、
前記複数の組み合わせのうち前記除外部により除外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成する生成部と、
前記複数のスイッチの各々に、前記生成部により生成された前記中継設定を送信する送信部と、
を有する情報処理装置。
(付記2)
前記条件は、スパインスイッチが属するスイッチ層のシフト数が0であり、且つ、宛先ノードに接続されたリーフスイッチが属するスイッチ層のシフト数が0より大きい整数であるという条件である、
付記1記載の情報処理装置。
(付記3)
前記生成部は、
前記複数の組み合わせのうち前記除外部により除外された組み合わせ以外の複数の組み合わせの各々について、当該組み合わせに対応する通信経路上のスイッチの出力先のポートの番号を当該スイッチが属するスイッチ層のシフト数に基づき決定することで、前記複数のスイッチの各々について前記中継設定を生成する、
付記1又は2記載の情報処理装置。
(付記4)
前記複数のスイッチ層の数は3であり、
前記複数のスイッチに接続されるノードの数及び前記複数の通信経路の数は2(n+1)(n2+n+1)であり、ここでnは前記複数のスイッチの各々のポートの数を2で割った値から1を引いた値である、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記複数のスイッチ層の数は2であり、
前記複数のスイッチに接続されるノードの数及び前記複数の通信経路の数は(n+1)(n2+n+1)であり、ここでnは前記複数のスイッチの各々のポートの数から1を引いた値である、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記6)
前記複数のスイッチの各々は、
パケットを受信したポートの番号に前記シフト数を足した番号を、当該スイッチのポート数で割った場合の剰余に相当する番号のポートに、受信した前記パケットを出力する、
付記1乃至5のいずれか1つ記載の情報処理装置。
(付記7)
コンピュータが、
ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外し、
前記複数の組み合わせのうち外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成し、
前記複数のスイッチの各々に、成された前記中継設定を送信する、
処理を実行する通信管理方法。
(付記8)
コンピュータに、
ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外し、
前記複数の組み合わせのうち外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成し、
前記複数のスイッチの各々に、成された前記中継設定を送信する、
処理を実行させる通信管理プログラム。
151 CPU 152 メモリ
153 NIC 154 バス
100 MPI 101 トポロジデータ格納部
102 通信表格納部 103 収集部
104 生成部 105 除外部
110 処理部 120 ネットワーク制御部
301 中継処理部 302 通信表格納部

Claims (7)

  1. ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外する除外部と、
    前記複数の組み合わせのうち前記除外部により除外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成する生成部と、
    前記複数のスイッチの各々に、前記生成部により生成された前記中継設定を送信する送信部と、
    を有する情報処理装置。
  2. 前記条件は、スパインスイッチが属するスイッチ層のシフト数が0であり、且つ、宛先ノードに接続されたリーフスイッチが属するスイッチ層のシフト数が0より大きい整数であるという条件である、
    請求項1記載の情報処理装置。
  3. 前記生成部は、
    前記複数の組み合わせのうち前記除外部により除外された組み合わせ以外の複数の組み合わせの各々について、当該組み合わせに対応する通信経路上のスイッチの出力先のポートの番号を当該スイッチが属するスイッチ層のシフト数に基づき決定することで、前記複数のスイッチの各々について前記中継設定を生成する、
    請求項1又は2記載の情報処理装置。
  4. 前記複数のスイッチ層の数は3であり、
    前記複数のスイッチに接続されるノードの数及び前記複数の通信経路の数は2(n+1)(n2+n+1)であり、ここでnは前記複数のスイッチの各々のポートの数を2で割った値から1を引いた値である、
    請求項1乃至3のいずれか1つ記載の情報処理装置。
  5. 前記複数のスイッチ層の数は2であり、
    前記複数のスイッチに接続されるノードの数及び前記複数の通信経路の数は(n+1)(n2+n+1)であり、ここでnは前記複数のスイッチの各々のポートの数から1を引いた値である、
    請求項1乃至3のいずれか1つ記載の情報処理装置。
  6. コンピュータが、
    ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外し、
    前記複数の組み合わせのうち外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成し、
    前記複数のスイッチの各々に、成された前記中継設定を送信する、
    処理を実行する通信管理方法。
  7. コンピュータに、
    ラテン方陣ファットツリーネットワークにおける複数のスイッチ層のシフト数の複数の組み合わせの中から、条件を満たす組み合わせを除外し、
    前記複数の組み合わせのうち外された組み合わせ以外の複数の組み合わせに対応する複数の通信経路で通信を実行するための中継設定を、複数のスイッチの各々について生成し、
    前記複数のスイッチの各々に、成された前記中継設定を送信する、
    処理を実行させる通信管理プログラム。
JP2016052100A 2016-03-16 2016-03-16 通信管理方法、通信管理プログラム及び情報処理装置 Active JP6665607B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016052100A JP6665607B2 (ja) 2016-03-16 2016-03-16 通信管理方法、通信管理プログラム及び情報処理装置
US15/451,744 US10484264B2 (en) 2016-03-16 2017-03-07 Communication management method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016052100A JP6665607B2 (ja) 2016-03-16 2016-03-16 通信管理方法、通信管理プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2017169020A JP2017169020A (ja) 2017-09-21
JP6665607B2 true JP6665607B2 (ja) 2020-03-13

Family

ID=59856259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016052100A Active JP6665607B2 (ja) 2016-03-16 2016-03-16 通信管理方法、通信管理プログラム及び情報処理装置

Country Status (2)

Country Link
US (1) US10484264B2 (ja)
JP (1) JP6665607B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4676463B2 (ja) * 2007-07-13 2011-04-27 株式会社日立製作所 並列計算機システム
US8175107B1 (en) * 2009-08-18 2012-05-08 Hewlett-Packard Development Company, L.P. Network routing based on MAC address subnetting
JP5617582B2 (ja) * 2010-12-08 2014-11-05 富士通株式会社 プログラム、情報処理装置、及び情報処理方法
US9225628B2 (en) * 2011-05-24 2015-12-29 Mellanox Technologies Ltd. Topology-based consolidation of link state information
JP5849486B2 (ja) * 2011-07-19 2016-01-27 富士通株式会社 ネットワーク装置及びネットワーク管理装置
GB2511089A (en) 2013-02-22 2014-08-27 Ibm All-to-all message exchange in parallel computing systems

Also Published As

Publication number Publication date
US10484264B2 (en) 2019-11-19
US20170272355A1 (en) 2017-09-21
JP2017169020A (ja) 2017-09-21

Similar Documents

Publication Publication Date Title
US10361886B2 (en) Apparatus and method for collective communication in a parallel computer system
JP6809360B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8755287B2 (en) Network managing device and network managing method
US9722920B2 (en) Apparatus and method for generating routing data used in a tree-shaped connection
Adda et al. Routing and fault tolerance in Z-fat tree
JP5540963B2 (ja) 情報処理方法、装置及びプログラム
US11121979B2 (en) Dynamic scheduling method, apparatus, and system
US10721127B2 (en) Communication system and communication method
US9906435B2 (en) Method and apparatus for determining intermediate routing node and system
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
JP6665607B2 (ja) 通信管理方法、通信管理プログラム及び情報処理装置
US10616140B2 (en) Information processing system and information processing method
US20180375683A1 (en) Information processing system, method, and apparatus
JP6288633B2 (ja) ネットワーク制御方法
JP7456603B2 (ja) スイッチ装置
JP6915434B2 (ja) 情報処理システム、情報処理方法及びプログラム
JP7396504B2 (ja) ゲートウェイ装置、ネットワーク制御装置、方法、プログラム及びシステム
JP6870487B2 (ja) 情報処理システム及び情報処理方法
JP2016225729A (ja) ネットワークシステム、データ転送制御方法及び制御装置
CN108574584B (zh) 一种网格系统及在该网格系统的路径确定方法和控制设备
JP6418167B2 (ja) ネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラム
WO2023173912A1 (zh) 一种处理单元pe阵列的配置方法和相关设备
JP6874564B2 (ja) 情報処理システム、管理装置及びプログラム
de Lima et al. FlexOE: a congestion-aware routing algorithm for NoCs
Safaei et al. Adaptive wormhole routing in tori with faults: A mathematical approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200203

R150 Certificate of patent or registration of utility model

Ref document number: 6665607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150