JP6809360B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP6809360B2 JP6809360B2 JP2017086962A JP2017086962A JP6809360B2 JP 6809360 B2 JP6809360 B2 JP 6809360B2 JP 2017086962 A JP2017086962 A JP 2017086962A JP 2017086962 A JP2017086962 A JP 2017086962A JP 6809360 B2 JP6809360 B2 JP 6809360B2
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- leaf switch
- communication
- node
- reduce
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
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)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、集団通信の技術に関する。
並列計算機が実行する並列分散処理のスループットを高めるためには、ノード及びスイッチの接続形態(すなわちネットワークトポロジ)を最適化して並列計算機内での通信を効率的に行うことが重要である。また、より少ないスイッチでより多くのノードを接続するようにネットワークトポロジを最適化すれば、並列計算機の構築コストを抑えることができる。
或る文献は、同一のスイッチ数であってもファットツリートポロジと比べてより多くのノードを接続可能なトポロジである多層フルメッシュトポロジが採用されたシステム(以下、多層フルメッシュシステムと呼ぶ)を開示する。
但し、多層フルメッシュシステムにおいては通信の効率化のため経路が少ないので、経路競合が発生しやすい。上記の文献には、全対全(all-to-all)通信の実行時の経路競合を回避する方法が開示されているが、オールリデュース通信の実行時の経路競合を回避する方法は検討されていない。
本発明の目的は、1つの側面では、多層フルメッシュシステムにおいてオールリデュース通信を行う場合に経路競合が発生することを回避するための技術を提供することである。
一態様に係る第1の情報処理装置は、複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける複数の情報処理装置のうちの第1の情報処理装置である。そして、第1の情報処理装置は、第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行う第1通信部と、第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、第1のリーフスイッチに接続されるスパインスイッチに接続され且つ第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、第1のオールリデュース通信の結果を用いて行う第2通信部と、第2通信部による処理の結果を、第1のリーフスイッチに接続される他の情報処理装置に送信する第3通信部とを有する。
1つの側面では、多層フルメッシュシステムにおいてオールリデュース通信を行う場合に経路競合が発生することを回避できるようになる。
[実施の形態1]
はじめに、オールリデュース通信について説明する。
はじめに、オールリデュース通信について説明する。
図1乃至図4は、オールリデュース通信について説明するための図である。オールリデュース通信とは、対象の全ノードが持つデータを用いて実行した演算の結果を対象の全ノードが持つための通信のことであり、オールリデュースとは、その演算のことである。例えば図1においては、ノードn0が値「4」を持っており、ノードn1が値「8」を持っており、ノードn2が値「1」を持っており、ノードn3が値「5」を持っており、ノードn4が値「6」を持っており、ノードn5が値「3」を持っている。オールリデュースにおいて指定された演算が「加算」である場合、ノードn0乃至n5はそれぞれ値「27」を持つことになる。
図1の右側に示した状態を実現するためのオールリデュース通信は、例えば図2及び図3に示すように行われる。まず、図2(a)に示すように、ノードn0とノードn3との間で値が共有されて加算により値「9」が算出され、ノードn1とノードn4との間で値が共有されて加算により値「14」が算出され、ノードn2とノードn5との間で値が共有されて加算により値「4」が算出される。
そして、図2(b)に示すように、ノードn0とノードn1との間で値が共有されて加算により値「23」が算出され、ノードn3とノードn4との間で値が共有されて加算により値「23」が算出される。
そして、図3(a)に示すように、ノードn1とノードn2との間で値が共有されて加算により値「27」が算出され、ノードn4とノードn5との間で値が共有されて加算により値「27」が算出される。
最後に、図3(b)に示すように、ノードn1がノードn0に値「27」を送信し、ノードn4がノードn3に値「27」を送信する。これにより、図3(b)に示すように、ノードn0乃至n5が値「27」を持つことができる。
ここで、対象はノードn0乃至n5の全てでなくてもよく、ノードn0乃至n5のうち一部のノードを対象としてもよい。一例として、ノードn0、n1、n3及びn4を対象とする場合のオールリデュース通信について説明する。まず、図4(a)に示すように、ノードn0とノードn3との間で値が共有されて加算により値「9」が算出され、ノードn1とノードn4との間で値が共有されて加算により値「14」が算出される。
そして、図4(b)に示すように、ノードn0とノードn1との間で値が共有されて加算により値「23」が算出され、ノードn3とノードn4との間で値が共有されて加算により値「23」が算出される。これにより、ノードn0、n1、n3及びn4が値「23」を持つことができる。
以下では、このようなオールリデュース通信を多層フルメッシュシステムにおいて実行する場合に経路競合が発生しないようにすることを考える。ここで、経路競合とは、1つの経路の同一方向に同時に複数のパケットが送信されることを意味する。例として、図5に、オールリデュース通信を一般的なツリー構造のトポロジにおいて実行した場合の経路競合を示す。図5において、丸の図形はノードを表し、ハッチングされていない正方形の図形はLeafスイッチを表し、ハッチングされた正方形の図形はSpineスイッチを表す。図5において、経路R1において経路競合が発生し、経路R2においても経路競合が発生する。このケースにおいては、例えば図6に示すように、ツリー構造をファットツリー構造に変えることで経路競合を回避することが可能であるが、総スイッチ数は図5の例よりも多くなる。
図7は、本実施の形態の多層フルメッシュシステム1000を示す図である。図7の例では、Leafスイッチ及びSpineスイッチのポート数は6であり、層の数は3であり、36台のノードが多層フルメッシュシステム1000に含まれる。但し、Leafスイッチ及びSpineスイッチのポート数、層の数及びノード数は、図7に示した例には限られない。
SpineスイッチAは、Leafスイッチa1、Leafスイッチb1、Leafスイッチa2、Leafスイッチb2、Leafスイッチa3及びLeafスイッチb3に接続される。
SpineスイッチBは、Leafスイッチa1、Leafスイッチc1、Leafスイッチa2、Leafスイッチc2、Leafスイッチa3及びLeafスイッチc3に接続される。
SpineスイッチCは、Leafスイッチa1、Leafスイッチd1、Leafスイッチa2、Leafスイッチd2、Leafスイッチa3及びLeafスイッチd3に接続される。
SpineスイッチDは、Leafスイッチb1、Leafスイッチc1、Leafスイッチb2、Leafスイッチc2、Leafスイッチb3及びLeafスイッチc3に接続される。
SpineスイッチEは、Leafスイッチb1、Leafスイッチd1、Leafスイッチb2、Leafスイッチd2、Leafスイッチb3及びLeafスイッチd3に接続される。
SpineスイッチFは、Leafスイッチc1、Leafスイッチd1、Leafスイッチc2、Leafスイッチd2、Leafスイッチc3及びLeafスイッチd3に接続される。
各Leafスイッチには3台のノードが接続される。
各ノードは、例えばMPI(Message Passing Interface)等の通信ライブラリを使用して通信を行う情報処理装置である。
本実施の形態においては、経路競合を回避するため、規則的且つ固定的なルーティングが行われるインフィニバンドのネットワークが利用される。図8を用いて、インフィニバンドのネットワークにおけるルーティングについて説明する。図8において、丸の図形はノードを表し、正方形の図形はネットワークスイッチを表す。線分はインフィニバンドのリンクを表し、線分の傍にある数値は宛先のノードの識別情報を表す。太い実線の矢印は通信経路を表す。
図8においては、ノードN3が、宛先がノードN1であるパケットを送信する。パケットのヘッダには、宛先の識別情報(例えばLID(Local IDentifier))が含まれる。各ネットワークスイッチにおける各出力ポートには宛先のノードの識別情報が対応付けられているので、各ネットワークスイッチは、パケットに含まれる宛先の識別情報に対応する出力ポートにパケットを出力する。図8の例では、パケットはネットワークスイッチSW1、ネットワークスイッチSW2及びネットワークスイッチSW4を経由してノードN1に到達する。
すなわち、本実施の形態のネットワークは、イーサネット(登録商標)のように自動的に経路が決定されるネットワークではなく、規則的且つ固定的なルーティングが行われるネットワークである。
図9は、多層フルメッシュシステム1000に接続される管理装置3の機能ブロック図である。管理装置3は、生成部301と、通信表格納部303とを含む。
生成部301は、例えば、図28におけるメモリ2501に格納されたプログラムがCPU(Central Processing Unit)2503により実行されることで実現される。通信表格納部303は、図28におけるメモリ2501又はHDD(Hard Disk Drive)2505に設けられる。
生成部301は、多層フルメッシュシステム1000のトポロジの情報に基づき通信表を生成する。生成部301は、生成した通信表を通信表格納部303に格納する。生成部301は、通信表格納部303に格納された通信表を、所定のタイミングで又はリクエストに応じて、各ノードに送信する。
図10は、ノードの機能ブロック図である。ノードは、処理部101と、通信表格納部103とを有する。処理部101は、第1通信部1011と、第2通信部1013と、第3通信部1015とを有する。
処理部101は、例えば、図28におけるメモリ2501に格納されたプログラムがCPU2503により実行されることで実現される。通信表格納部103は、図28におけるメモリ2501又はHDD2505に設けられる。
通信表格納部103には、管理装置3から受信した通信表が格納される。処理部101における第1通信部1011、第2通信部1013及び第3通信部1015は、通信表格納部103に格納されている通信表に従ってパケットの送信及び受信を行う。
次に、図11乃至図24を用いて、本実施の形態の多層フルメッシュシステム1000において実行される処理を説明する。
図11は、第1の実施の形態の多層フルメッシュシステム1000が全体として実行する処理の処理フローを示す図である。
多層フルメッシュシステム1000は、各Leafスイッチの配下において、オールリデュースを実行する(図11:ステップS1)。ステップS1においてはオールリデュース通信が行われる。ステップS1のオールリデュース通信は、通信表格納部103に格納されている通信表に従って、第1通信部1011によって行われる。
図12乃至図16は、各Leafスイッチの配下のノード間で行われるオールリデュース通信を説明するための図である。図12乃至図16において、正方形の図形はLeafスイッチを表し、丸の図形はノードを表し、Leafスイッチとノードとを結ぶ線分はリンクを表す。ノードに付された数字はノードが持つ値を表す。
まず、図12及び図13を用いて、Leafスイッチ配下のノードの数が偶数(ここでは、2の冪である4)である場合について説明する。
例えば、図12(a)に示すように、4台のノードがそれぞれ「3」、「7」、「8」、「5」を持つとする。この場合、2台のノードを含むペアの各々において値が共有され、値の演算(ここでは加算)が行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
すると、図12(b)に示すように、2台のノードが値「10」を持ち、残りの2台のノードが値「13」を持つ。そして、値「10」を持つノードと値「13」を持つノードとを含むペアの各々において値が共有され、値の演算(ここでは加算)が行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
これにより、最終的には図13に示すように各ノードが値「23」を持つ。
次に、図14乃至図16を用いて、Leafスイッチ配下のノードの数が奇数(ここでは5)である場合について説明する。
例えば、図14(a)に示すように、5台のノードがそれぞれ「1」、「4」、「5」、「2」、「8」を持つとする。この場合、5台のうち2台のノードにおいて値が共有され、値の演算(ここでは加算)が行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
すると、図14(b)に示すように、5台のノードがそれぞれ「1」、「4」、「5」、「10」、「10」を持つ。そして、値「1」を持つノードと値「4」を持つノードとの間で値が共有され値の演算が行われ、値「5」を持つノードと値「10」を持つノードとの間で値が共有され値の演算が行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
すると、図15(a)に示すように、5台のノードがそれぞれ「5」、「5」、「15」、「15」、「10」を持つ。そして、値「5」を持つノードと値「15」を持つノードとの間で値が共有され値の演算が行われ、値「5」を持つノードと値「15」を持つノードとの間で値が共有され値の演算が行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
すると、図15(b)に示すように、5台のノードがそれぞれ「20」、「20」、「20」、「20」、「10」を持つ。そして、値「20」を持つノードが値「10」を持つノードに対して値「20」を通知する。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
すると、図16に示すように、最終的に5台のノードがそれぞれ値「20」を持つようになる。
以上の説明はステップS1において行われるオールリデュースの一例についての説明であるが、ノード数がこの例以外の場合においても、基本的には同様の方法でオールリデュースを行うことができる。
図11の説明に戻り、多層フルメッシュシステム1000は、各層においてIDが所定番号(例えば0)であるノードによるオールリデュースを実行する(ステップS3)。ステップS3においては、オールリデュース通信が行われる。ステップS3のオールリデュース通信は、通信表格納部103に格納されている通信表に従って、第2通信部1013によって行われる。
図17乃至図19は、各層においてIDが所定番号であるノードの間で行われるオールリデュース通信を説明するための図である。
本実施の形態においては、各Leafスイッチの配下にあるノードにはIDが割り振られている。例えば、Leafスイッチa1の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチa2の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチa3の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチb1の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチb2の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチb3の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチc1の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチc2の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチc3の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチd1の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチd2の配下のノードにはIDとして0、1、2が割り振られ、Leafスイッチd3の配下のノードにはIDとして0、1、2が割り振られる。
図17に示すように、或る層においてIDが所定番号であるノードはハッチングされたノードであるとする。この場合のオールリデュースは、ステップS1において説明したオールリデュースと同様に行われる。例えば図18に示すように、Leafスイッチa1の配下のノードとLeafスイッチc1の配下のノードとの間でオールリデュースが行われ、Leafスイッチb1の配下のノードとLeafスイッチd1の配下のノードとの間でオールリデュースが行われる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。そして、図19に示すように、Leafスイッチa1の配下のノードとLeafスイッチd1の配下のノードとの間でオールリデュースが行われ、Leafスイッチb1の配下のノードとLeafスイッチc1の配下のノードとの間でオールリデュースが行われる。これにより、或る層においてIDが所定番号であるノードの各々は、同じ値を持つようになる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
図11の説明に戻り、多層フルメッシュシステム1000は、各カラムにおいて、IDが所定番号であるノードによるオールリデュースを実行する(ステップS5)。ステップS5においては、オールリデュース通信が行われる。ステップS5の送信は、通信表格納部103に格納されている通信表に従って、第2通信部1013によって行われる。
図20は、各カラムにおいてIDが所定番号であるノードの間で行われるオールリデュース通信を説明するための図である。
本実施の形態において、カラムは、層内の位置が同じであるLeafスイッチおよびそのLeafスイッチの配下にあるノードを含む。例えば図20において、Leafスイッチa1、Leafスイッチa2及びLeafスイッチa3と、Leafスイッチa1の配下のノード、Leafスイッチa2の配下のノード及びLeafスイッチa3の配下のノードとは、同じカラムに属する。同様に、Leafスイッチb1、Leafスイッチb2及びLeafスイッチb3と、Leafスイッチb1の配下のノード、Leafスイッチb2の配下のノード及びLeafスイッチb3の配下のノードとは、同じカラムに属する。同様に、Leafスイッチc1、Leafスイッチc2及びLeafスイッチc3と、Leafスイッチc1の配下のノード、Leafスイッチc2の配下のノード及びLeafスイッチc3の配下のノードとは、同じカラムに属する。同様に、Leafスイッチd1、Leafスイッチd2及びLeafスイッチd3と、Leafスイッチd1の配下のノード、Leafスイッチd2の配下のノード及びLeafスイッチd3の配下のノードとは、同じカラムに属する。
言い換えると、同じSpineスイッチに接続されるLeafスイッチとそのLeafスイッチの配下のノードとは同じカラムに属する。例えば、Leafスイッチa1、Leafスイッチa2及びLeafスイッチa3はSpineスイッチA、SpineスイッチB及びSpineスイッチCに接続されているので、Leafスイッチa1、Leafスイッチa2及びLeafスイッチa3は同じカラムに属する。また、Leafスイッチa1の配下のノード、Leafスイッチa2の配下のノード及びLeafスイッチa3の配下のノードは、同じカラムに属する。同様に、Leafスイッチb1、Leafスイッチb2及びLeafスイッチb3はSpineスイッチA、SpineスイッチD及びSpineスイッチEに接続されているので、Leafスイッチb1、Leafスイッチb2及びLeafスイッチb3は同じカラムに属する。また、Leafスイッチb1の配下のノード、Leafスイッチb2の配下のノード及びLeafスイッチb3の配下のノードは、同じカラムに属する。同様に、Leafスイッチc1、Leafスイッチc2及びLeafスイッチc3はSpineスイッチB、SpineスイッチD及びSpineスイッチFに接続されているので、Leafスイッチc1、Leafスイッチc2及びLeafスイッチc3は同じカラムに属する。また、Leafスイッチc1の配下のノード、Leafスイッチc2の配下のノード及びLeafスイッチc3の配下のノードは、同じカラムに属する。同様に、Leafスイッチd1、Leafスイッチd2及びLeafスイッチd3はSpineスイッチC、SpineスイッチE及びSpineスイッチFに接続されているので、Leafスイッチd1、Leafスイッチd2及びLeafスイッチd3は同じカラムに属する。また、Leafスイッチd1の配下のノード、Leafスイッチd2の配下のノード及びLeafスイッチd3の配下のノードは、同じカラムに属する。
ステップS5におけるオールリデュースは、ステップS1において説明したオールリデュースと同様に行われる。図20の例においては、各カラムにおけるノード数が3であるとして、各カラムにおいてオールリデュースが行われる。すなわち、同じタイプのハッチングが行われたノードの間でオールリデュースが行われる。ステップS1において説明したオールリデュースと同様のオールリデュースが行われるので、経路競合は発生しない。
図11の説明に戻り、多層フルメッシュシステム1000は、各Leafスイッチの配下において、IDが所定番号であるノード(すなわち、ステップS5においてオールリデュースを実行したノード)から他ノードにステップS5の結果をブロードキャストで送信する(ステップS7)。ステップS7のオールリデュース通信は、通信表格納部103に格納されている通信表に従って、第3通信部1015によって行われる。そして処理は終了する。
図21は、各Leafスイッチの配下においてIDが所定番号であるノードから他ノードに結果を送信する場合の通信を示す図である。このように、各Leafスイッチの配下において、ステップS5の結果を持つノードが他のノードに対して結果を送信する。これにより、多層フルメッシュシステム1000内の各ノードがオールリデュースの結果を持つことができるようになる。ここでは、1つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
次に、図22及び図23を用いて、管理装置3が通信表を生成する処理について説明する。本処理は、例えば、多層フルメッシュシステム1000の構築が完了した場合に実行される。
図22は、管理装置3が通信表を生成する処理の処理フローを示す図である。
管理装置3の生成部301は、多層フルメッシュシステム1000のトポロジの情報(例えばノード数の情報)をHDD2505から読み出す。そして、生成部301は、各Leafスイッチの配下のノードについて、オールリデュースの通信データを生成する(図22:ステップS11)。そして、生成部301は、生成した通信データを、通信表格納部303に格納されている通信表に書き込む。なお、ステップS11において生成される通信データは、各Leafスイッチについてのオールリデュースを同時並行で行うための通信データである。
ここで、n台(nは自然数)のノードの間でのオールリデュースを行う場合における通信表の生成手順(Allreduce(n))について説明する。本実施の形態においては、再帰的な処理によって通信表が生成される。
Leafスイッチ配下のノードの数nが1である場合、処理は終了する。
Leafスイッチ配下のノードの数nが2である場合、2台のノードの間での通信についての通信データが通信表に書き込まれる。
Leafスイッチ配下のノードの数nが奇数2m+1(mは自然数)である場合、n台のノードのうち2台のノード(ノードPおよびノードQ)が選択され、ノードPとノードQとの間でオールリデュース通信についての通信データが通信表に書き込まれる。そして、ノードP及びノードQのうちいずれかのノードと残りの(2m−1)台のノードと(つまり、2m台のノード)について、Allreduce(2m)が呼び出される。そして、Allreduce(2m)の結果をノードPからノードQに伝えるための通信データが通信表に書き込まれる。
Leafスイッチ配下のノードの数が2m(mは2以上の自然数)である場合、Leafスイッチはm台のグループとm台のグループとに分けられ、同時並行でそれぞれのグループについてAllreduce(m)が呼び出される。
図22の説明に戻り、生成部301は、各層のいずれかのLeafスイッチを中心とする放射構造を特定する。そして、生成部301は、特定した放射構造の各々について、オールリデュースの通信データを生成する(ステップS13)。そして、生成部301は、生成した通信データを、通信表格納部303に格納されている通信表に書き込む。なお、ステップS13において生成される通信データは、各層におけるオールリデュースを同時並行で行うための通信データである。
ステップS13における放射構造とは、例えば、図18においてLeafスイッチa1を中心とする2本の太い実線及び2本の太い破線で表される放射構造および図19においてLeafスイッチa1を中心とする2本の太い実線及び2本の太い破線で表される放射構造である。従って、図18及び図19の例であれば、ハッチングされた4台のノードの間でのオールリデュース通信の通信データがAllreduce(4)により生成される。
生成部301は、各Spineスイッチを中心とする放射構造を特定する。そして、生成部301は、特定した放射構造について、オールリデュースの通信データを生成する(ステップS15)。そして、生成部301は、生成した通信データを、通信表格納部303に格納されている通信表に書き込む。なお、ステップS15において生成される通信データは、各カラムにおけるオールリデュースを同時並行で行うための通信データである。
ステップS15における放射構造とは、例えば、図20において同じハッチングがされた3台のノードを結ぶリンクで表される放射構造である。従って、図20の例であれば、同じハッチングがされた3台のノードの間でのオールリデュース通信の通信データがAllreduce(3)により生成される。
生成部301は、各Leafスイッチの配下のノードについて、ブロードキャストの通信データを生成する(ステップS17)。そして、生成部301は、生成した通信データを、通信表格納部303に格納されている通信表に書き込み、各ノードに対して通信表を送信する。そして処理は終了する。
図23は、通信表の一例を示す図である。図23の例においては、フェーズ番号と、実行される通信の内容とが通信表に登録されている。通信の内容における番号はノードのIDを表す。通信1と通信2とは同時並行で実行される。例えばフェーズ2においては、ノード1とノード2との間のオールリデュース通信と、ノード3とノード4との間のオールリデュース通信とが同時並行で実行される。図23に示した通信表によれば、各ノードはフェーズ1乃至フェーズ4において以下のように動作する。
ノード1:−,2,3,−
ノード2:−,1,4,−
ノード3:−,4,1,−
ノード4:5,3,2,5(送)
ノード5:4,−,−,4(受)
ノード2:−,1,4,−
ノード3:−,4,1,−
ノード4:5,3,2,5(送)
ノード5:4,−,−,4(受)
ここで、「−」は通信が行われないことを表す。番号は通信相手のIDを表す。「(送)」は送信することを表し、「(受)」は受信することを表す。
次に、図24を用いて、各ノードがパケットを送信する場合に実行する処理について説明する。なお、管理装置3から受信した通信表は通信表格納部103に格納されているものとする。
ノードにおける処理部101は、パケットの送信元のノード(つまり自ノード)のIDをHDD2505から取得する(図24:ステップS21)。
処理部101は、フェーズ番号を表す変数であるiを1に設定する(ステップS23)。
処理部101は、フェーズiの通信データを、通信表格納部103に格納された通信表から読み出す(ステップS25)。
処理部101は、ステップS25において読み出された通信データに、ステップS21において取得されたノードのIDが含まれるか判定する(ステップS27)。
ステップS25において読み出された通信データに、ステップS21において取得されたノードのIDが含まれない場合(ステップS27:Noルート)、フェーズiにおいてノードは通信を行わないので、処理はステップS31に移行する。
一方、ステップS25において読み出された通信データに、ステップS21において取得されたノードのIDが含まれる場合(ステップS27:Yesルート)、処理部101は、ステップS25において読み出された通信データに従って通信を実行する(ステップS29)。ステップS29においては、通信の内容に応じて、第1通信部1011、第2通信部1013又は第3通信部1015が動作する。
処理部101は、i=imaxであるか判断する(ステップS31)。imaxはフェーズ番号の最大値である。
i=imaxではない場合(ステップS31:Noルート)、処理部101は、iを1インクリメントし(ステップS33)、ステップS25の処理に戻る。なお、フェーズの終了はバリア同期によって確認される。一方、i=imaxである場合(ステップS31:Yesルート)、処理は終了する。
以上のように、各Leafスイッチの配下の代表ノードがオールリデュースを実行すれば、多層フルメッシュシステム1000においてオールリデュース通信を行う場合に経路競合が発生することを回避することができるようになる。また、本実施の形態の方法であれば、O(log n)(nはノード台数)程度の計算量でオールリデュースを実行することができるようになる。
[実施の形態2]
第1の実施の形態においては多層フルメッシュシステム1000における全ノードが参加するオールリデュースが行われるが、第2の実施の形態においては多層フルメッシュシステム1000における一部のノードが参加するオールリデュースが行われる。例えば図25の例では、多層フルメッシュシステム1000の3つの層のうち2つの層が使用される。また、使用される各層においては、12台のノードのうち6台がオールリデュースに参加し、4台のLeafスイッチのうち3台のLeafスイッチがオールリデュースに参加し、6台のSpineスイッチのうち4台のSpineスイッチがオールリデュースに参加する。
第1の実施の形態においては多層フルメッシュシステム1000における全ノードが参加するオールリデュースが行われるが、第2の実施の形態においては多層フルメッシュシステム1000における一部のノードが参加するオールリデュースが行われる。例えば図25の例では、多層フルメッシュシステム1000の3つの層のうち2つの層が使用される。また、使用される各層においては、12台のノードのうち6台がオールリデュースに参加し、4台のLeafスイッチのうち3台のLeafスイッチがオールリデュースに参加し、6台のSpineスイッチのうち4台のSpineスイッチがオールリデュースに参加する。
このようにすれば、ジョブの計算サイズに応じて適切な規模のリソースを使用することができるようになる。
なお、多層フルメッシュシステム1000の一部のノードが参加するオールリデュースは第1の実施の形態のオールリデュースと基本的に同じ方法によって行われるので、詳細な説明を省略する。
[実施の形態3]
第1の実施の形態においては、各層においてIDが所定番号であるノードによるオールリデュースが実行された後、各カラムにおいてIDが所定番号であるノードによるオールリデュースが実行される。一方、第3の実施の形態においては、各カラムにおいてIDが所定番号であるノードによるオールリデュースが実行された後、各層においてIDが所定番号であるノードによるオールリデュースが実行される。
第1の実施の形態においては、各層においてIDが所定番号であるノードによるオールリデュースが実行された後、各カラムにおいてIDが所定番号であるノードによるオールリデュースが実行される。一方、第3の実施の形態においては、各カラムにおいてIDが所定番号であるノードによるオールリデュースが実行された後、各層においてIDが所定番号であるノードによるオールリデュースが実行される。
図26は、第3の実施の形態の多層フルメッシュシステム1000が全体として実行する処理の処理フローを示す図である。
多層フルメッシュシステム1000は、各Leafスイッチの配下において、オールリデュースを実行する(図26:ステップS41)。ステップS41においてはオールリデュース通信が行われる。ステップS41のオールリデュース通信は、第1通信部1011によって行われる。
多層フルメッシュシステム1000は、各カラムにおいて、IDが所定番号(例えば0)であるノードによるオールリデュースを実行する(ステップS43)。ステップS43においては、オールリデュース通信が行われる。ステップS43のオールリデュース通信は、第2通信部1013によって行われる。
多層フルメッシュシステム1000は、各層において、IDが所定番号であるノードによるオールリデュースを実行する(ステップS45)。ステップS45においては、オールリデュース通信が行われる。ステップS45のオールリデュース通信は、第2通信部1013によって行われる。
多層フルメッシュシステム1000は、各Leafスイッチの配下において、IDが所定番号であるノード(すなわち、ステップS45においてオールリデュースを実行したノード)から他ノードにステップS45の結果をブロードキャストで送信する(ステップS47)。ステップS47の送信は、第3通信部1015によって行われる。そして処理は終了する。
以上のような処理を実行する場合においても、多層フルメッシュシステム1000においてオールリデュース通信を行う場合に経路競合が発生することを回避することができるようになる。
[実施の形態4]
第1の実施の形態においては、管理装置3が通信表を生成するが、第4の実施の形態においては、多層フルメッシュシステム1000内のノードが通信表を生成して他のノードに配布する。
第1の実施の形態においては、管理装置3が通信表を生成するが、第4の実施の形態においては、多層フルメッシュシステム1000内のノードが通信表を生成して他のノードに配布する。
図27は、第4の実施の形態のノードの機能ブロック図である。ノードは、処理部101と、通信表格納部103と、生成部105とを有する。処理部101は、第1通信部1011と、第2通信部1013と、第3通信部1015とを有する。
処理部101及び生成部105は、例えば、図28におけるメモリ2501に格納されたプログラムがCPU2503により実行されることで実現される。通信表格納部103は、図28におけるメモリ2501又はHDD2505に設けられる。
生成部105は、多層フルメッシュシステム1000のトポロジの情報に基づき通信表を生成し、生成した通信表を通信表格納部103に格納する。また、生成部105は、生成した通信表を、所定のタイミングで又はリクエストに応じて、多層フルメッシュシステム1000内の他ノードに送信する。処理部101における第1通信部1011、第2通信部1013及び第3通信部1015は、通信表格納部103に格納されている通信表に従ってパケットの送信及び受信を行う。
以上のような構成を採用すれば、通信表の生成の為に管理装置3を別途設けなくて済むようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したノード及び管理装置3の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、管理装置3は、各ノードに対して通信表全体を送るのではなく、各ノードに関係する通信データのみを送ってもよい。
また、多層フルメッシュシステム1000は、上で示した例に限定されるわけではない。
なお、上で述べたノード及び管理装置3は、コンピュータ装置であって、図28に示すように、メモリ2501とCPU2503とHDD2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
また、上で述べたLeafスイッチ及びSpineスイッチは、図29に示すように、メモリ2601とCPU2603とHDD2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信制御部2617(図29では、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の態様に係る第1の情報処理装置は、複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける複数の情報処理装置のうちの第1の情報処理装置である。そして、第1の情報処理装置は、(A)第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行う第1通信部(実施の形態における第1通信部1011は、上記第1通信部の一例である)と、(B)第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、第1のリーフスイッチに接続されるスパインスイッチに接続され且つ第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、第1のオールリデュース通信の結果を用いて行う第2通信部(実施の形態における第2通信部1013は、上記第2通信部の一例である)と、(C)第2通信部による処理の結果を、第1のリーフスイッチに接続される他の情報処理装置に送信する第3通信部(実施の形態における第3通信部1015は、上記第3通信部の一例である)とを有する。
多層フルメッシュシステムにおいてオールリデュース通信を行う場合に経路競合が発生することを回避できるようになる。
また、第2通信部は、(b1)第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信を、第1のオールリデュース通信の結果を用いて行い、(b2)第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信を、第2のオールリデュース通信の結果を用いて行ってもよい。
オールリデュースが適切に実行されるようになる。
また、第2通信部は、(b3)第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信を、第1のオールリデュース通信の結果を用いて行い、(b4)第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信を、第3のオールリデュース通信の結果を用いて行ってもよい。
オールリデュースが適切に実行されるようになる。
また、第1の情報処理装置は、(D)複数の情報処理装置の各々が通信に使用する通信表を生成し、生成した通信表を、複数の情報処理装置のうち第1の情報処理装置以外の情報処理装置に送信する生成部(実施の形態における生成部105は、上記生成部の一例である)をさらに有してもよい。
複数の情報処理装置の各々が、全体として経路競合が発生しないようにオールリデュース通信を行えるようになる。
本実施の形態の第2の態様に係る情報処理方法は、複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける複数の情報処理装置のうちの第1の情報処理装置により実行される情報処理方法である。そして、第1の情報処理装置が、(E)第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、(F)第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、第1のリーフスイッチに接続されるスパインスイッチに接続され且つ第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、第1のオールリデュース通信の結果を用いて行い、(G)第2のオールリデュース通信および第3のオールリデュース通信の結果を、第1のリーフスイッチに接続される他の情報処理装置に送信する処理を含む。
なお、上記方法による処理をコンピュータ又はプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置であって、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行う第1通信部と、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行う第2通信部と、
前記第2通信部による処理の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する第3通信部と、
を有する第1の情報処理装置。
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置であって、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行う第1通信部と、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行う第2通信部と、
前記第2通信部による処理の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する第3通信部と、
を有する第1の情報処理装置。
(付記2)
前記第2通信部は、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第2のオールリデュース通信の結果を用いて行う、
付記1記載の第1の情報処理装置。
前記第2通信部は、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第2のオールリデュース通信の結果を用いて行う、
付記1記載の第1の情報処理装置。
(付記3)
前記第2通信部は、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第3のオールリデュース通信の結果を用いて行う、
付記1記載の第1の情報処理装置。
前記第2通信部は、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第3のオールリデュース通信の結果を用いて行う、
付記1記載の第1の情報処理装置。
(付記4)
前記複数の情報処理装置の各々が通信に使用する通信表を生成し、生成した前記通信表を、前記複数の情報処理装置のうち前記第1の情報処理装置以外の情報処理装置に送信する生成部
をさらに有する付記1乃至3のいずれか1つ記載の第1の情報処理装置。
前記複数の情報処理装置の各々が通信に使用する通信表を生成し、生成した前記通信表を、前記複数の情報処理装置のうち前記第1の情報処理装置以外の情報処理装置に送信する生成部
をさらに有する付記1乃至3のいずれか1つ記載の第1の情報処理装置。
(付記5)
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置により実行される情報処理方法であって、
前記第1の情報処理装置が、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行する情報処理方法。
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置により実行される情報処理方法であって、
前記第1の情報処理装置が、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行する情報処理方法。
(付記6)
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置に実行させるプログラムであって、
前記第1の情報処理装置に、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行させるプログラム。
複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置に実行させるプログラムであって、
前記第1の情報処理装置に、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行させるプログラム。
101 処理部 103 通信表格納部
105 生成部 1011 第1通信部
1013 第2通信部 1015 第3通信部
3 管理装置 301 生成部
303 通信表格納部 1000 多層フルメッシュシステム
105 生成部 1011 第1通信部
1013 第2通信部 1015 第3通信部
3 管理装置 301 生成部
303 通信表格納部 1000 多層フルメッシュシステム
Claims (6)
- 複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置であって、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行う第1通信部と、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行う第2通信部と、
前記第2通信部による処理の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する第3通信部と、
を有する第1の情報処理装置。 - 前記第2通信部は、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第2のオールリデュース通信の結果を用いて行う、
請求項1記載の第1の情報処理装置。 - 前記第2通信部は、
前記第3のリーフスイッチに接続される1の情報処理装置との前記第3のオールリデュース通信を、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のリーフスイッチに接続される1の情報処理装置との前記第2のオールリデュース通信を、前記第3のオールリデュース通信の結果を用いて行う、
請求項1記載の第1の情報処理装置。 - 前記複数の情報処理装置の各々が通信に使用する通信表を生成し、生成した前記通信表を、前記複数の情報処理装置のうち前記第1の情報処理装置以外の情報処理装置に送信する生成部
をさらに有する請求項1乃至3のいずれか1つ記載の第1の情報処理装置。 - 複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置により実行される情報処理方法であって、
前記第1の情報処理装置が、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行する情報処理方法。 - 複数のスパインスイッチと複数のリーフスイッチと複数の情報処理装置とを有する多層フルメッシュシステムにおける前記複数の情報処理装置のうちの第1の情報処理装置に実行させるプログラムであって、
前記第1の情報処理装置に、
前記第1の情報処理装置に接続される第1のリーフスイッチに接続される他の情報処理装置と、第1のオールリデュース通信を行い、
前記第1のリーフスイッチと同じ層に含まれる第2のリーフスイッチに接続される1の情報処理装置との第2のオールリデュース通信と、前記第1のリーフスイッチに接続されるスパインスイッチに接続され且つ前記第1のリーフスイッチが含まれる層とは異なる層に含まれる第3のリーフスイッチに接続される1の情報処理装置との第3のオールリデュース通信とを、前記第1のオールリデュース通信の結果を用いて行い、
前記第2のオールリデュース通信および前記第3のオールリデュース通信の結果を、前記第1のリーフスイッチに接続される他の情報処理装置に送信する、
処理を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017086962A JP6809360B2 (ja) | 2017-04-26 | 2017-04-26 | 情報処理装置、情報処理方法及びプログラム |
PCT/JP2018/004367 WO2018198479A1 (ja) | 2017-04-26 | 2018-02-08 | 情報処理装置、情報処理方法及びプログラム |
US16/368,864 US11018896B2 (en) | 2017-04-26 | 2019-03-29 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017086962A JP6809360B2 (ja) | 2017-04-26 | 2017-04-26 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018185650A JP2018185650A (ja) | 2018-11-22 |
JP6809360B2 true JP6809360B2 (ja) | 2021-01-06 |
Family
ID=63919798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017086962A Active JP6809360B2 (ja) | 2017-04-26 | 2017-04-26 | 情報処理装置、情報処理方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11018896B2 (ja) |
JP (1) | JP6809360B2 (ja) |
WO (1) | WO2018198479A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6870487B2 (ja) * | 2017-06-13 | 2021-05-12 | 富士通株式会社 | 情報処理システム及び情報処理方法 |
JP6874564B2 (ja) * | 2017-06-27 | 2021-05-19 | 富士通株式会社 | 情報処理システム、管理装置及びプログラム |
US10992543B1 (en) * | 2019-03-21 | 2021-04-27 | Apstra, Inc. | Automatically generating an intent-based network model of an existing computer network |
JP7193733B2 (ja) * | 2019-04-16 | 2022-12-21 | 富士通株式会社 | 通信制御プログラム、通信制御方法および情報処理装置 |
JP7193734B2 (ja) * | 2019-04-16 | 2022-12-21 | 富士通株式会社 | 通信制御プログラム、通信制御方法および情報処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110362A (ja) | 1997-10-01 | 1999-04-23 | Hitachi Ltd | 計算機間データ通信方法 |
US7853639B2 (en) * | 2006-09-12 | 2010-12-14 | International Business Machines Corporation | Performing process migration with allreduce operations |
US8484440B2 (en) * | 2008-05-21 | 2013-07-09 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
US8161268B2 (en) * | 2008-05-21 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
US9633315B2 (en) * | 2012-04-27 | 2017-04-25 | Excalibur Ip, Llc | Method and system for distributed machine learning |
US9807152B2 (en) | 2012-07-30 | 2017-10-31 | Nec Corporation | Distributed processing device and distributed processing system as well as distributed processing method |
JP6520344B2 (ja) * | 2014-05-14 | 2019-05-29 | 富士通株式会社 | 並列計算機システム、並列計算機システムの制御方法、及び情報処理装置 |
US10084639B2 (en) * | 2015-03-20 | 2018-09-25 | Oracle International Corporation | System and method for efficient network reconfiguration in fat-trees |
JP6492977B2 (ja) * | 2015-06-01 | 2019-04-03 | 富士通株式会社 | 並列演算装置、並列演算システム、ノード割当プログラム及びノード割当方法 |
-
2017
- 2017-04-26 JP JP2017086962A patent/JP6809360B2/ja active Active
-
2018
- 2018-02-08 WO PCT/JP2018/004367 patent/WO2018198479A1/ja active Application Filing
-
2019
- 2019-03-29 US US16/368,864 patent/US11018896B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018185650A (ja) | 2018-11-22 |
US20190229949A1 (en) | 2019-07-25 |
US11018896B2 (en) | 2021-05-25 |
WO2018198479A1 (ja) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6809360B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US10230661B2 (en) | Distributed virtual network embedding | |
CN103125102B (zh) | 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的***和方法 | |
US10361886B2 (en) | Apparatus and method for collective communication in a parallel computer system | |
US8572615B2 (en) | Parallel computing system, synchronization device, and control method of parallel computing system | |
CN102857494A (zh) | 通用网络接口控制器 | |
EP3226490B1 (en) | Optical network-on-chip, optical router and signal transmission method | |
WO2022269357A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
CN104639437A (zh) | 堆叠***中广播报文的转发方法及装置 | |
Liu et al. | PSNet: Reconfigurable network topology design for accelerating parameter server architecture based distributed machine learning | |
Bogdanski | Optimized routing for fat-tree topologies | |
CN106104503A (zh) | 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化 | |
JP6874563B2 (ja) | 情報処理システム及び情報処理方法 | |
US10574478B2 (en) | Information processing system, method, and apparatus | |
Wu et al. | On constructing the minimum orthogonal convex polygon for the fault-tolerant routing in 2-D faulty meshes | |
US20170041216A1 (en) | Method and Apparatus for Determining Intermediate Routing Node and System | |
US10721127B2 (en) | Communication system and communication method | |
JP6915434B2 (ja) | 情報処理システム、情報処理方法及びプログラム | |
JP6870487B2 (ja) | 情報処理システム及び情報処理方法 | |
JP6330479B2 (ja) | 情報処理システム及び情報処理方法 | |
JP6665607B2 (ja) | 通信管理方法、通信管理プログラム及び情報処理装置 | |
JP2020178180A (ja) | 通信制御プログラム、通信制御方法および情報処理装置 | |
US20200337114A1 (en) | Communication control method and information processing apparatus | |
Safaei et al. | Adaptive wormhole routing in tori with faults: A mathematical approach | |
Bhardwaj | On Efficiency of Multi-Stage Interconnection Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
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: 20201110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6809360 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |