(57)【要約】      （修正有）【課題】ラテン方陣ファットツリーシステムにおいてオールリデュースを実行する。【解決手段】本情報処理方法は、ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される各サーバが、該サーバと同じ第１リーフスイッチに接続される他サーバとの間でのリデュースを実行し、リデュースの結果を持つ第１サーバの各々が、リデュースの結果に対して、上記無限遠点以外の点を含む領域における第１方向に対応する第１スパインスイッチ配下の他の第１サーバとの間でオールリデュースを実行し、その実行結果に対して、第１の方向とは異なる第２方向に対応する第２スパインスイッチ配下の他の第１サーバとの間でオールリデュースを実行し、その実行結果を、当該第１サーバと同じ第１リーフスイッチに接続される他サーバに送信する処理を含む。【選択図】図１２
2019028859.tif 000002
【特許請求の範囲】
【請求項１】
複数のスパインスイッチと、
複数のリーフスイッチと、
前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、
を有し、
前記複数のスパインスイッチと前記複数のリーフスイッチとの接続形態はラテン方陣ファットツリーであり、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、
前記第１オールリデュースの結果又は前記第１リデュースの結果を持つ第１情報処理装置の各々が、前記第１オールリデュースの結果又は前記第１リデュースの結果に対して、前記有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第２オールリデュースを実行し、
前記第１情報処理装置の各々が、前記第２オールリデュースの結果に対して、前記第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第３オールリデュースを実行し、
前記第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、前記第３オールリデュースの結果を送信する、
情報処理システム。
【請求項２】
前記第１リーフスイッチに接続される情報処理装置の各々が、前記第１リデュースの通信のフェーズのうち当該情報処理装置がデータを送信するフェーズにおいて、当該情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、前記データを送信する、
請求項１記載の情報処理システム。
【請求項３】
前記第１情報処理装置の各々が、前記第１乃至前記第３オールリデュースの通信のフェーズのうち当該第１情報処理装置がデータを送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、前記データを送信する、
請求項１記載の情報処理システム。
【請求項４】
前記第１情報処理装置の各々が、前記第３オールリデュースの結果を送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置からデータを受信しない情報処理装置に対して、前記第３オールリデュースの結果を送信する、
請求項１乃至３のいずれか１つ記載の情報処理システム。
【請求項５】
前記第１リーフスイッチに接続される情報処理装置のうち前記第１情報処理装置以外の第２情報処理装置の各々が、
前記第１オールリデュースが実行された場合、前記第２オールリデュースが実行される間に、前記第１オールリデュースの結果に対して、前記第１の方向とは異なる第３の方向に対応する第３スパインスイッチを使用して、当該第３スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第４オールリデュースを実行し、
前記第３オールリデュースが実行される間に、前記第４オールリデュースの結果に対して、前記第３の方向及び前記第２の方向とは異なる第４の方向に対応する第４スパインスイッチを使用して、当該第４スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第５オールリデュースを実行する、
請求項１記載の情報処理システム。
【請求項６】
複数のスパインスイッチと、複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置とを有する情報処理システムにおいて実行される情報処理方法であって、
前記複数のスパインスイッチと前記複数のリーフスイッチとの接続形態はラテン方陣ファットツリーであり、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、
前記第１オールリデュースの結果又は前記第１リデュースの結果を持つ第１情報処理装置の各々が、前記第１オールリデュースの結果又は前記第１リデュースの結果に対して、前記有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第２オールリデュースを実行し、
前記第１情報処理装置の各々が、前記第２オールリデュースの結果に対して、前記第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第３オールリデュースを実行し、
前記第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、前記第３オールリデュースの結果を送信する、
処理を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集団通信の技術に関する。
【背景技術】
【０００２】
並列計算機におけるサーバ及びスイッチの接続形態（すなわちネットワークトポロジ）の最適化により並列計算機内での通信を効率化すれば、並列計算機が実行する並列分散処理のスループットを高めることができる。また、並列計算機におけるネットワークトポロジの最適化により少数のスイッチで多数のサーバを接続することができれば、並列計算機の構築コストを抑えることができる。
【０００３】
或る文献は、ラテン方陣ファットツリーと呼ばれるネットワークトポロジを開示する。ラテン方陣ファットツリーは、任意の異なる２つのＬｅａｆスイッチ間においてＳｐｉｎｅスイッチを経由する経路がただひとつ存在するという特徴を有する。ラテン方陣ファットツリーを使用すれば、一般的な２段ファットツリーと比べ、同じスイッチ数でより多くのサーバを接続することが可能である。
【０００４】
並列計算機においては、オールリデュース通信と呼ばれる集団通信がしばしば実行される。オールリデュース通信とは、対象の全ノードが持つデータを用いて実行した演算の結果を対象の全ノードが持つための通信のことであり、オールリデュースとは、その演算のことである。上記の文献に開示の技術は、ラテン方陣ファットツリーを採用した並列計算機（以下、ラテン方陣ファットツリーシステムと呼ぶ）においてオールリデュースを実行することに着目した技術ではない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、１つの側面では、ラテン方陣ファットツリーシステムにおいてオールリデュースを実行するための技術を提供することである。
【課題を解決するための手段】
【０００７】
一態様に係る情報処理システムは、複数のスパインスイッチと、複数のリーフスイッチと、複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置とを有する。そして、複数のスパインスイッチと複数のリーフスイッチとの接続形態はラテン方陣ファットツリーである。そして、ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、第１オールリデュースの結果又は第１リデュースの結果を持つ第１情報処理装置の各々が、第１オールリデュースの結果又は第１リデュースの結果に対して、有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第２オールリデュースを実行し、第１情報処理装置の各々が、第２オールリデュースの結果に対して、第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第３オールリデュースを実行し、第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、第３オールリデュースの結果を送信する。
【発明の効果】
【０００８】
１つの側面では、ラテン方陣ファットツリーシステムにおいてオールリデュースを実行できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、オールリデュース通信について説明するための図である。
【図２】図２は、オールリデュース通信について説明するための図である。
【図３】図３は、オールリデュース通信について説明するための図である。
【図４】図４は、オールリデュース通信について説明するための図である。
【図５】図５は、オールリデュース通信を一般的なツリー構造のトポロジにおいて実行した場合の経路競合を示す図である。
【図６】図６は、ファットツリー構造のトポロジにおいて実行した場合の経路競合を示す図である。
【図７】図７は、本実施の形態のラテン方陣ファットツリーシステムの概要を示す図である。
【図８】図８は、有限射影平面を示す図である。
【図９】図９は、インフィニバンドのネットワークにおけるルーティングについて説明するための図である。
【図１０】図１０は、第１の実施の形態における管理装置の機能ブロック図である。
【図１１】図１１は、第１の実施の形態におけるサーバの機能ブロック図である。
【図１２】図１２は、第１の実施の形態における管理装置が実行する処理の処理フローを示す図である。
【図１３】図１３は、第１の実施の形態における第１生成処理の処理フローを示す図である。
【図１４】図１４は、オールリデュースについて説明するための図である。
【図１５】図１５は、オールリデュースについて説明するための図である。
【図１６】図１６は、オールリデュースについて説明するための図である。
【図１７】図１７は、オールリデュースについて説明するための図である。
【図１８】図１８は、オールリデュースについて説明するための図である。
【図１９】図１９は、第１の通信表の一例を示す図である。
【図２０】図２０は、第１の通信表にて実現されるリデュースについて説明するための図である。
【図２１】図２１は、第１の通信表にて実現されるリデュースについて説明するための図である。
【図２２】図２２は、各実行スイッチの代表サーバが持つ値を示す図である。
【図２３】図２３は、第２生成処理の処理フローを示す図である。
【図２４】図２４は、傾きについて説明するための図である。
【図２５】図２５は、傾きについて説明するための図である。
【図２６】図２６は、傾きについて説明するための図である。
【図２７】図２７は、傾きについて説明するための図である。
【図２８】図２８は、傾きについて説明するための図である。
【図２９】図２９は、傾きが∞である場合に使用される経路を示す図である。
【図３０】図３０は、傾きが０である場合に使用される経路を示す図である。
【図３１】図３１は、傾きが１である場合に使用される経路を示す図である。
【図３２】図３２は、傾きが２である場合に使用される経路を示す図である。
【図３３】図３３は、第３生成処理の処理フローを示す図である。
【図３４】図３４は、第３の通信表を用いて実行される通信について説明するための図である。
【図３５】図３５は、第３の通信表を用いて実行される通信について説明するための図である。
【図３６】図３６は、第３の通信表を用いて実行される通信について説明するための図である。
【図３７】図３７は、第３の通信表を用いて実行される通信について説明するための図である。
【図３８】図３８は、第３の通信表を用いて実行される通信について説明するための図である。
【図３９】図３９は、第４生成処理の処理フローを示す図である。
【図４０】図４０は、第４の通信表にて実現される結果配布について説明するための図である。
【図４１】図４１は、第４の通信表にて実現される結果配布について説明するための図である。
【図４２】図４２は、第４の通信表にて実現される結果配布について説明するための図である。
【図４３】図４３は、第４の通信表にて実現される結果配布について説明するための図である。
【図４４】図４４は、第４の通信表にて実現される結果配布について説明するための図である。
【図４５】図４５は、第１の実施の形態におけるサーバが実行する処理の処理フローを示す図である。
【図４６】図４６は、第１の実施の形態におけるサーバが実行する処理の処理フローを示す図である。
【図４７】図４７は、第２の実施の形態における第１生成処理の処理フローを示す図である。
【図４８】図４８は、第２の実施の形態における第１の通信表にて実現されるリデュースについて説明するための図である。
【図４９】図４９は、第２の実施の形態における第１の通信表にて実現されるリデュースについて説明するための図である。
【図５０】図５０は、第２の実施の形態における第１の通信表にて実現されるリデュースについて説明するための図である。
【図５１】図５１は、第３の実施の形態における管理装置の機能ブロック図である。
【図５２】図５２は、第３の実施の形態におけるサーバの機能ブロック図である。
【図５３】図５３は、第３の実施の形態における管理装置が実行する処理の処理フローを示す図である。
【図５４】図５４は、第５生成処理の処理フローを示す図である。
【図５５】図５５は、第６生成処理の処理フローを示す図である。
【図５６】図５６は、傾き表の一例を示す図である。
【図５７】図５７は、傾き表の一例を示す図である。
【図５８】図５８は、グループ分けについて説明するための図である。
【図５９】図５９は、グループ分けについて説明するための図である。
【図６０】図６０は、第６の通信表の一例を示す図である。
【図６１】図６１は、第３の実施の形態におけるサーバが実行する処理の処理フローを示す図である。
【図６２】図６２は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。
【図６３】図６３は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。
【図６４】図６４は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。
【図６５】図６５は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。
【図６６】図６６は、コンピュータの機能ブロック図である。
【図６７】図６７は、スイッチの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１乃至図４は、オールリデュース通信について説明するための図である。図１においては、サーバｎ０が値「４」を持っており、サーバｎ１が値「８」を持っており、サーバｎ２が値「１」を持っており、サーバｎ３が値「５」を持っており、サーバｎ４が値「６」を持っており、サーバｎ５が値「３」を持っている。オールリデュースにおいて指定された演算が「加算」である場合、サーバｎ０乃至ｎ５はそれぞれ値「２７」を持つことになる。
【００１１】
図１の右側に示した状態を実現するためのオールリデュース通信は、例えば図２及び図３に示すように行われる。まず、図２（ａ）に示すように、サーバｎ０とサーバｎ３との間で値が共有されて加算により値「９」が算出され、サーバｎ１とサーバｎ４との間で値が共有されて加算により値「１４」が算出され、サーバｎ２とサーバｎ５との間で値が共有されて加算により値「４」が算出される。
【００１２】
そして、図２（ｂ）に示すように、サーバｎ０とサーバｎ１との間で値が共有されて加算により値「２３」が算出され、サーバｎ３とサーバｎ４との間で値が共有されて加算により値「２３」が算出される。
【００１３】
そして、図３（ａ）に示すように、サーバｎ１とサーバｎ２との間で値が共有されて加算により値「２７」が算出され、サーバｎ４とサーバｎ５との間で値が共有されて加算により値「２７」が算出される。
【００１４】
最後に、図３（ｂ）に示すように、サーバｎ１がサーバｎ０に値「２７」を送信し、サーバｎ４がサーバｎ３に値「２７」を送信する。これにより、図３（ｂ）に示すように、サーバｎ０乃至ｎ５が値「２７」を持つことができる。
【００１５】
ここで、対象はサーバｎ０乃至ｎ５の全てでなくてもよく、サーバｎ０乃至ｎ５のうち一部のサーバを対象としてもよい。一例として、サーバｎ０、ｎ１、ｎ３及びｎ４を対象とする場合のオールリデュース通信について説明する。まず、図４（ａ）に示すように、サーバｎ０とサーバｎ３との間で値が共有されて加算により値「９」が算出され、サーバｎ１とサーバｎ４との間で値が共有されて加算により値「１４」が算出される。
【００１６】
そして、図４（ｂ）に示すように、サーバｎ０とサーバｎ１との間で値が共有されて加算により値「２３」が算出され、サーバｎ３とサーバｎ４との間で値が共有されて加算により値「２３」が算出される。これにより、サーバｎ０、ｎ１、ｎ３及びｎ４が値「２３」を持つことができる。
【００１７】
本実施の形態においては、このようなオールリデュース通信をラテン方陣ファットツリーシステムにおける特定のサーバにより実行する場合に経路競合が発生しないようにすることを考える。ここで、経路競合とは、１つの経路の同一方向に同時に複数のパケットが送信されることを意味し、経路競合の発生により通信時間が長くなる。例として、図５に、オールリデュース通信を一般的なツリー構造のトポロジにおいて実行した場合の経路競合を示す。図５において、丸の図形はサーバを表し、ハッチングされていない正方形の図形はＬｅａｆスイッチを表し、ハッチングされた正方形の図形はＳｐｉｎｅスイッチを表す。図５において、経路Ｒ１において経路競合が発生し、経路Ｒ２においても経路競合が発生する。このケースにおいては、例えば図６に示すように、ツリー構造をファットツリー構造に変えることで経路競合を回避することが可能であるが、ファットツリー構造を採用すると総スイッチ数は図５の例よりも多くなる。
【００１８】
図７は、本実施の形態のラテン方陣ファットツリーシステム１０００を示す図である。本実施の形態においては、１３台のＳｐｉｎｅスイッチと、１３台のＬｅａｆスイッチとの接続形態がラテン方陣ファットツリーである。各Ｌｅａｆスイッチには４台のサーバが接続されているので、ラテン方陣ファットツリーシステム１０００は、並列分散処理を実行する５２台のサーバを有する。Ｓｐｉｎｅスイッチ及びＬｅａｆスイッチは、例えばインフィニバンドスイッチである。サーバは、例えば、物理サーバである。以下では、Ｌｅａｆスイッチに接続されるサーバの数をｄとする。本実施の形態においてはｄ＝４である。
【００１９】
なお、図７の例においてはＳｐｉｎｅスイッチの数及びＬｅａｆスイッチの数は１３であるが、１３以外であってもよい。他の例については、付録を参照されたい。
【００２０】
図７において、各Ｓｐｉｎｅスイッチ及び各Ｌｅａｆスイッチには、図７に示したラテン方陣ファットツリーに対応する有限射影平面の点を表す文字列が付されている。図８は、図７に示したラテン方陣ファットツリーに対応する有限射影平面を示す図である。図８に示した有限射影平面の位数は３であり、Ｓｐｉｎｅスイッチ及びＬｅａｆスイッチのポート数は８である。点はＬｅａｆスイッチを表し、直線はＳｐｉｎｅスイッチを表す。図７に示したように格子部分を定めた場合において、ＬｅａｆスイッチＰ、ＬｅａｆスイッチＰ（０）、ＬｅａｆスイッチＰ（１）及びＬｅａｆスイッチＰ（２）は無限遠点に相当する。なお、有限射影平面については付録を参照されたい。
【００２１】
本実施の形態のラテン方陣ファットツリーシステム１０００においては、経路競合を回避するため、規則的且つ固定的なルーティングが行われるインフィニバンドのネットワークが利用される。図９を用いて、インフィニバンドのネットワークにおけるルーティングについて説明する。図９において、丸の図形はサーバを表し、正方形の図形はスイッチを表す。線分はインフィニバンドのリンクを表し、線分の傍にある文字列は宛先のサーバの識別情報を表す。太い実線の矢印は通信経路を表す。
【００２２】
図９の例においては、サーバＮ３が、宛先がサーバＮ１であるパケットを送信する。パケットのヘッダには、宛先の識別情報（例えばＬＩＤ（Local IDentifier））が含まれる。各スイッチにおける各出力ポートには宛先のサーバの識別情報が対応付けられているので、各スイッチは、パケットに含まれる宛先の識別情報に対応する出力ポートにパケットを出力する。図９の例では、パケットはスイッチＳＷ１、スイッチＳＷ２及びスイッチＳＷ４を経由してサーバＮ１に到達する。
【００２３】
このように、本実施の形態のネットワークは、イーサネット（登録商標）のように自動的に経路が決定されるネットワークではなく、規則的且つ固定的なルーティングが行われるネットワークである。
【００２４】
なお、上記の識別情報とは別に、各サーバには番号が割り振られているとする。具体的には、各Ｌｅａｆスイッチに接続される４台の各サーバには、０から３までのいずれかの番号が割り当てられ、各Ｌｅａｆスイッチには「０」が割り振られたサーバと「１」が割り振られたサーバと「２」が割り振られたサーバと「３」が割り振られたサーバとが接続される。
【００２５】
図１０に示すように、第１の実施の形態におけるラテン方陣ファットツリーシステム１０００は管理装置３に管理ＬＡＮ（Local Area Network）等で接続され、ラテン方陣ファットツリーシステム１０００における通信は管理装置３により管理される。管理装置３は、通信表生成部３０１と、通信表格納部３０３と、トポロジデータ格納部３０５とを有する。通信表生成部３０１は、第１生成部３０１１と、第２生成部３０１３と、第３生成部３０１５と、第４生成部３０１７とを有する。通信表生成部３０１は、例えば、図６６におけるメモリ２５０１にロードされたプログラムが図６６におけるＣＰＵ（Central Processing Unit）２５０３により実行されることで実現される。通信表格納部３０３及びトポロジデータ格納部３０５は、例えば、図６６におけるメモリ２５０１又はＨＤＤ（Hard Disk Drive）２５０５に設けられる。
【００２６】
第１生成部３０１１は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第１の通信表を生成し、生成された第１の通信表を通信表格納部３０３に格納する。第２生成部３０１３は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第２の通信表を生成し、生成された第２の通信表を通信表格納部３０３に格納する。第３生成部３０１５は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第３の通信表を生成し、生成された第３の通信表を通信表格納部３０３に格納する。第４生成部３０１７は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第４の通信表を生成し、生成された第４の通信表を通信表格納部３０３に格納する。通信表生成部３０１は、通信表格納部３０３に格納された第１乃至第４の通信表を、所定のタイミングで又はリクエストに応じて、有限射影平面の格子部分に含まれる点に相当するＬｅａｆスイッチ（すなわち、ＬｅａｆスイッチＰ（０，０）、ＬｅａｆスイッチＰ（０，１）、ＬｅａｆスイッチＰ（０，２）、ＬｅａｆスイッチＰ（１，０）、ＬｅａｆスイッチＰ（１，１）、ＬｅａｆスイッチＰ（１，２）、ＬｅａｆスイッチＰ（２，０）、ＬｅａｆスイッチＰ（２，１）及びＬｅａｆスイッチＰ（２，２）。以下、実行スイッチと呼ぶ）に接続されるサーバに送信する。
【００２７】
図１１は、第１の実施の形態におけるサーバの機能ブロック図である。サーバは、処理部１０１と、通信表格納部１０３とを有する。処理部１０１は、第１通信部１０１１と、第２通信部１０１３と、第３通信部１０１５と、第４通信部１０１７とを有する。処理部１０１は、例えば、図６６におけるメモリ２５０１にロードされたプログラムが図６６におけるＣＰＵ２５０３により実行されることで実現される。通信表格納部１０３は、例えば、図６６におけるメモリ２５０１又はＨＤＤ２５０５に設けられる。
【００２８】
通信表格納部１０３には、管理装置３から受信した第１乃至第４の通信表が格納される。第１通信部１０１１は、通信表格納部１０３に格納された第１の通信表に従って通信を行う。第２通信部１０１３は、通信表格納部１０３に格納された第２の通信表に従って通信を行う。第３通信部１０１５は、通信表格納部１０３に格納された第３の通信表に従って通信を行う。第４通信部１０１７は、通信表格納部１０３に格納された第４の通信表に従って通信を行う。
【００２９】
次に、図１２乃至図４４を用いて、第１の実施の形態における管理装置３が実行する処理について説明する。図１２は、管理装置３が実行する処理の処理フローを示す図である。
【００３０】
通信表生成部３０１は、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報をトポロジデータ格納部３０５から読み出す（図１２：ステップＳ１）。ネットワークトポロジの情報は、例えば、Ｓｐｉｎｅスイッチ、Ｌｅａｆスイッチ及びサーバの接続関係の情報等を含む。
【００３１】
第１生成部３０１１は、ステップＳ１において読み出したネットワークトポロジの情報に基づき、第１の通信表を生成する処理である第１生成処理を実行する（ステップＳ３）。第１生成処理については後で説明する。
【００３２】
第２生成部３０１３は、ステップＳ１において読み出したネットワークトポロジの情報に基づき、第２の通信表を生成する処理である第２生成処理を実行する（ステップＳ５）。第２生成処理については後で説明する。
【００３３】
第３生成部３０１５は、ステップＳ１において読み出したネットワークトポロジの情報に基づき、第３の通信表を生成する処理である第３生成処理を実行する（ステップＳ７）。第３生成処理については後で説明する。
【００３４】
第４生成部３０１７は、ステップＳ１において読み出したネットワークトポロジの情報に基づき、第４の通信表を生成する処理である第４生成処理を実行する（ステップＳ９）。第４生成処理については後で説明する。
【００３５】
そして、通信表生成部３０１は、通信表格納部３０３に格納された第１乃至第４の通信表を読み出し、読み出した第１乃至第４の通信表を、実行スイッチに接続される各サーバに送信する（ステップＳ１１）。そして処理は終了する。
【００３６】
以上のような処理を実行すれば、第１乃至第４の通信表を受信したサーバは適切な手順でオールリデュース通信を実行できるようになる。
【００３７】
次に、図１３乃至図２２を用いて、第１生成処理について説明する。図１３は、第１の実施の形態の第１生成処理の処理フローを示す図である。
【００３８】
第１生成部３０１１は、各実行スイッチでのオールリデュースの各フェーズにおいて通信を実行するサーバの識別情報を含む第１の通信表を生成する（図１３：ステップＳ２１）。
【００３９】
図１４乃至図１８は、実行スイッチに接続されるサーバ間でのオールリデュースについて説明するための図である。図１４乃至図１８において、正方形の図形は実行スイッチであるＬｅａｆスイッチを表し、丸の図形はサーバを表し、Ｌｅａｆスイッチとサーバとを結ぶ線分はリンクを表す。サーバに付された数字はサーバが持つ値を表す。
【００４０】
まず、図１４及び図１５を用いて、Ｌｅａｆスイッチに接続されるサーバの数が偶数（ここでは、２の冪である４）である場合について説明する。
【００４１】
例えば、図１４（ａ）に示すように、４台のサーバがそれぞれ「３」、「２」、「４」、「０」を持つとする。この場合、２台のサーバを含むペアの各々において値が共有され、値の演算（ここでは加算）が行われる。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４２】
すると、図１４（ｂ）に示すように、２台のサーバが値「５」を持ち、残りの２台のサーバが値「４」を持つ。そして、値「５」を持つサーバと値「４」を持つサーバとを含むペアの各々において値が共有され、値の演算（ここでは加算）が行われる。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４３】
これにより、最終的には図１５に示すように各サーバが値「９」を持つ。
【００４４】
次に、図１６乃至図１８を用いて、Ｌｅａｆスイッチに接続されるサーバの数が奇数（ここでは５）である場合について説明する。
【００４５】
例えば、図１６（ａ）に示すように、５台のサーバがそれぞれ「１」、「４」、「５」、「２」、「８」を持つとする。この場合、５台のうち２台のサーバにおいて値が共有され、値の演算（ここでは加算）が行われる。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４６】
すると、図１６（ｂ）に示すように、５台のサーバがそれぞれ「１」、「４」、「５」、「１０」、「１０」を持つ。そして、値「１」を持つサーバと値「４」を持つサーバとを含むペアと、値「５」を持つサーバと値「１０」を持つサーバとを含むペアとにおいて値が共有され値の演算が行われる。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４７】
すると、図１７（ａ）に示すように、５台のサーバがそれぞれ「５」、「５」、「１５」、「１５」、「１０」を持つ。そして、値「５」を持つサーバと値「１５」を持つサーバとを含むペアの各々において値が共有され値の演算が行われる。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４８】
すると、図１７（ｂ）に示すように、５台のサーバがそれぞれ「２０」、「２０」、「２０」、「２０」、「１０」を持つ。そして、値「２０」を持つサーバが値「１０」を持つサーバに対して値「２０」を通知する。ここでは、１つの経路の同一方向に同時に複数のパケットが送信されることはないので、経路競合は発生しない。
【００４９】
すると、図１８に示すように、最終的に５台のサーバがそれぞれ値「２０」を持つようになる。
【００５０】
以上の説明は複数のサーバの間で行われるオールリデュースの一例についての説明であるが、サーバ数がこの例以外の数である場合においても、基本的には同様の方法でオールリデュースを行うことができる。
【００５１】
ここで、ｘ台（ｘは自然数）のサーバの間でのオールリデュースを行う場合における通信表を生成する処理（以下、Ａｌｌｒｅｄｕｃｅ（ｘ）のように呼ぶ）について説明する。本実施の形態においては、再帰的な処理によって通信表が生成される。
【００５２】
（１）Ｌｅａｆスイッチに接続されるサーバの数ｘが１である場合、処理は終了する。
【００５３】
（２）Ｌｅａｆスイッチに接続されるサーバの数ｘが２である場合、２台のサーバの間での通信についての通信情報（具体的には、サーバのペアの情報）が通信表に書き込まれる。
【００５４】
（３）Ｌｅａｆスイッチに接続されるサーバの数ｘが奇数２ｙ＋１（ｙは自然数）である場合、ｘ台のサーバのうち２台のサーバ（サーバＰおよびサーバＱ）が選択され、サーバＰとサーバＱとの間でオールリデュース通信についての通信情報が通信表に書き込まれる。そして、サーバＰ及びサーバＱのうちいずれかのサーバ（ここではサーバＰ）と残りの（２ｙ−１）台のサーバと（つまり、２ｙ台のサーバ）について、Ａｌｌｒｅｄｕｃｅ（２ｙ）が呼び出される。そして、Ａｌｌｒｅｄｕｃｅ（２ｙ）の結果をサーバＰからサーバＱに伝えるための通信情報が通信表に書き込まれる。
【００５５】
（４）Ｌｅａｆスイッチに接続されるサーバの数が２ｙ（ｙは２以上の自然数）である場合、サーバはｙ台のグループとｙ台のグループとに分けられ、同時並行でそれぞれのグループについてＡｌｌｒｅｄｕｃｅ（ｙ）が呼び出される。
【００５６】
以上のような処理を実行すれば、ｘ台のサーバの間でのオールリデュースを行う場合における通信表が生成される。図１４乃至図１８の説明から明らかなように、このような方法で生成された通信表に従ってオールリデュース通信が行われれば経路競合は発生しない。
【００５７】
図１３の説明に戻り、第１生成部３０１１は、ステップＳ２１において生成された第１の通信表を通信表格納部３０３に格納する（ステップＳ２３）。そして処理は呼び出し元に戻る。
【００５８】
図１９は、第１の通信表の一例を示す図である。図１９の例においては、フェーズ番号と、通信を実行するサーバのペアの情報とが第１の通信表に登録されている。Ｎ１等の文字列はサーバの識別情報（例えばＬＩＤ）を表す。通信１と通信２とは同時並行で実行される。例えばフェーズ２においては、サーバＮ１とサーバＮ２との間の通信と、サーバＮ３とサーバＮ４との間の通信とが同時並行で実行される。図１９に示した通信表によれば、フェーズ１乃至４における各サーバの通信相手は以下のとおりである。
【００５９】
サーバＮ１：−，Ｎ２，Ｎ３，−
サーバＮ２：−，Ｎ１，Ｎ４，−
サーバＮ３：−，Ｎ４，Ｎ１，−
サーバＮ４：Ｎ５，Ｎ３，Ｎ２，Ｎ５（送）
サーバＮ５：Ｎ４，−，−，Ｎ４（受）
【００６０】
ここで、「−」は通信が行われないことを表す。「（送）」は送信することを表し、「（受）」は受信することを表す。例えばサーバＮ５は、フェーズ１においてサーバＮ４と通信し、フェーズ２及び３においては通信を行わず、フェーズ４においてはサーバＮ４からデータを受信する。なお、図１９の例では１台の実行スイッチについての通信情報が示されているが、実際には各実行スイッチについての通信情報が第１の通信表に含まれる。
【００６１】
例えば、ラテン方陣ファットツリーシステム１０００における実行スイッチに接続される３６台のサーバが、図２０に示す値を持つとする。第１の通信表によって、各実行スイッチの配下においてオールリデュースが実行される。結果として、実行スイッチに接続される３６台のサーバは、図２１に示す値を持つ。
【００６２】
以下では、各実行スイッチに接続されるサーバのうち所定番号（例えば０）が割り振られたサーバを代表サーバと呼ぶ。そして、各実行スイッチの代表サーバが持つ値を、図２２のように表す。図２２の例では、ＬｅａｆスイッチＰ（０，０）の代表サーバが値「９」を持ち、ＬｅａｆスイッチＰ（０，１）の代表サーバが値「６」を持ち、ＬｅａｆスイッチＰ（０，２）の代表サーバが値「１」を持ち、ＬｅａｆスイッチＰ（１，０）の代表サーバが値「５」を持ち、ＬｅａｆスイッチＰ（１，１）の代表サーバが値「２」を持ち、ＬｅａｆスイッチＰ（１，２）の代表サーバが値「３」を持ち、ＬｅａｆスイッチＰ（２，０）の代表サーバが値「８」を持ち、ＬｅａｆスイッチＰ（２，１）の代表サーバが値「４」を持ち、ＬｅａｆスイッチＰ（２，２）の代表サーバが値「７」を持つ。
【００６３】
次に、図２３乃至図３２を用いて、第２生成処理について説明する。図２３は、第２生成処理の処理フローを示す図である。
【００６４】
第２生成部３０１３は、格子部分の第１の傾き（すなわち方向）に対応するＳｐｉｎｅスイッチを使用して行われるオールリデュースの各フェーズにおいて通信を実行するサーバの識別情報を含む第２の通信表を生成する（図２３：ステップＳ３１）。
【００６５】
図２４は、傾きについて説明するための図である。例えば、格子部分におけるＬｅａｆスイッチＰ（０，０）が送信元である場合、送信先がＬｅａｆスイッチＰ（１，０）である時は傾きは０であり、送信先がＬｅａｆスイッチＰ（１，１）である時は傾きは１であり、送信先がＬｅａｆスイッチＰ（１，２）である時は傾きは２であり、送信先がＬｅａｆスイッチＰ（０，１）である時は傾きは∞である。また、図示されていないが、格子部分におけるＬｅａｆスイッチＰ（０，０）が送信元である場合、送信先がＬｅａｆスイッチＰ（２，０）である時は傾きは０であり、送信先がＬｅａｆスイッチＰ（２，２）である時は傾きは１であり、送信先がＬｅａｆスイッチＰ（２，１）である時は傾きは２であり、送信先がＬｅａｆスイッチＰ（０，２）である時は傾きは∞である。このように、傾きとは、格子部分における点と点とを結ぶ線分の傾きのことである。有限射影平面の位数がｎである場合には、（ｎ＋１）個（＝ｄ個）の傾きが有る。
【００６６】
図８に示されているように、有限射影平面の格子部分における各点は、（ｎ＋１）本の直線の交点であり、各直線はそれぞれ異なる傾きに対応する。また、各直線はそれぞれ異なるＳｐｉｎｅスイッチに対応する。従って、例えばＬｅａｆスイッチＰ（０，０）の場合、傾き０の直線はＳｐｉｎｅスイッチＬ（０，０）に対応し、傾き１の直線はＳｐｉｎｅスイッチＬ（１，０）に対応し、傾き２の直線はＳｐｉｎｅスイッチＬ（２，０）に対応し、傾き∞の直線はＳｐｉｎｅスイッチＬ（０）に対応する。
【００６７】
本実施の形態においては、第２の通信表により、４つの傾きのうち第１の傾きに対応するＳｐｉｎｅスイッチを使用してオールリデュースが実行される。例えば第１の傾きが∞である場合、図２５に示すように、ＬｅａｆスイッチＰ（０，０）の代表サーバとＬｅａｆスイッチＰ（０，１）の代表サーバとＬｅａｆスイッチＰ（０，２）の代表サーバとがＳｐｉｎｅスイッチＬ（０）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（１，０）の代表サーバとＬｅａｆスイッチＰ（１，１）の代表サーバとＬｅａｆスイッチＰ（１，２）の代表サーバとがＳｐｉｎｅスイッチＬ（１）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（２，０）の代表サーバとＬｅａｆスイッチＰ（２，１）の代表サーバとＬｅａｆスイッチＰ（２，２）の代表サーバとがＳｐｉｎｅスイッチＬ（２）を使用してオールリデュースを実行する。
【００６８】
例えば第１の傾きが０である場合、図２６に示すように、ＬｅａｆスイッチＰ（０，０）の代表サーバとＬｅａｆスイッチＰ（１，０）の代表サーバとＬｅａｆスイッチＰ（２，０）の代表サーバとがＳｐｉｎｅスイッチＬ（０，０）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，１）の代表サーバとＬｅａｆスイッチＰ（１，１）の代表サーバとＬｅａｆスイッチＰ（２，１）の代表サーバとがＳｐｉｎｅスイッチＬ（０，１）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，２）の代表サーバとＬｅａｆスイッチＰ（１，２）の代表サーバとＬｅａｆスイッチＰ（２，２）の代表サーバとがＳｐｉｎｅスイッチＬ（０，２）を使用してオールリデュースを実行する。
【００６９】
例えば第１の傾きが１である場合、図２７に示すように、ＬｅａｆスイッチＰ（０，０）の代表サーバとＬｅａｆスイッチＰ（１，１）の代表サーバとＬｅａｆスイッチＰ（２，２）の代表サーバとがＳｐｉｎｅスイッチＬ（１，０）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，１）の代表サーバとＬｅａｆスイッチＰ（１，２）の代表サーバとＬｅａｆスイッチＰ（２，０）の代表サーバとがＳｐｉｎｅスイッチＬ（１，１）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，２）の代表サーバとＬｅａｆスイッチＰ（１，０）の代表サーバとＬｅａｆスイッチＰ（２，１）の代表サーバとがＳｐｉｎｅスイッチＬ（１，２）を使用してオールリデュースを実行する。
【００７０】
例えば第１の傾きが２である場合、図２８に示すように、ＬｅａｆスイッチＰ（０，０）の代表サーバとＬｅａｆスイッチＰ（１，２）の代表サーバとＬｅａｆスイッチＰ（２，１）の代表サーバとがＳｐｉｎｅスイッチＬ（２，０）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，１）の代表サーバとＬｅａｆスイッチＰ（１，０）の代表サーバとＬｅａｆスイッチＰ（２，２）の代表サーバとがＳｐｉｎｅスイッチＬ（２，１）を使用してオールリデュースを実行する。ＬｅａｆスイッチＰ（０，２）の代表サーバとＬｅａｆスイッチＰ（１，１）の代表サーバとＬｅａｆスイッチＰ（２，０）の代表サーバとがＳｐｉｎｅスイッチＬ（２，２）を使用してオールリデュースを実行する。
【００７１】
図２９は、傾きが∞である場合に使用される経路を示す図である。図２９において、傾きが∞である場合に使用される経路は太線の経路である。図２５を用いて説明したように、傾きが∞である場合にはＳｐｉｎｅスイッチＬ（０）、ＳｐｉｎｅスイッチＬ（１）及びＳｐｉｎｅスイッチＬ（２）が使用される。
【００７２】
図３０は、傾きが０である場合に使用される経路を示す図である。図３０において、傾きが０である場合に使用される経路は太線の経路である。図２６を用いて説明したように、傾きが０である場合にはＳｐｉｎｅスイッチＬ（０，０）、ＳｐｉｎｅスイッチＬ（０，１）及びＳｐｉｎｅスイッチＬ（０，２）が使用される。
【００７３】
図３１は、傾きが１である場合に使用される経路を示す図である。図３１において、傾きが１である場合に使用される経路は太線の経路である。図２７を用いて説明したように、傾きが１である場合にはＳｐｉｎｅスイッチＬ（１，０）、ＳｐｉｎｅスイッチＬ（１，１）及びＳｐｉｎｅスイッチＬ（１，２）が使用される。
【００７４】
図３２は、傾きが２である場合に使用される経路を示す図である。図３２において、傾きが２である場合に使用される経路は太線の経路である。図２８を用いて説明したように、傾きが２である場合にはＳｐｉｎｅスイッチＬ（２，０）、ＳｐｉｎｅスイッチＬ（２，１）及びＳｐｉｎｅスイッチＬ（２，２）が使用される。
【００７５】
各Ｓｐｉｎｅスイッチを使用して行われるオールリデュースは、各実行スイッチを使用して行われるオールリデュースと同じように実行することができる。従って、第１の通信表を用いて実行される通信と同様、経路競合が発生しないように通信をすることができる。
【００７６】
図２３の説明に戻り、第２生成部３０１３は、ステップＳ３１において生成された第２の通信表を通信表格納部３０３に格納する（ステップＳ３３）。そして処理は呼び出し元に戻る。なお、第２の通信表はオールリデュースについての通信表であり、第１の通信表と同様の方法で生成されるため第１の通信表と同様の形式を有する。但し、第２の通信表にて実現されるオールリデュースは第１の傾きに対応するＳｐｉｎｅスイッチを使用して行われるオールリデュースであるので、第１の傾きに対応するＳｐｉｎｅスイッチ毎に通信情報が格納される。
【００７７】
次に、図３３乃至図３８を用いて、第３生成処理について説明する。図３３は、第３生成処理の処理フローを示す図である。
【００７８】
第３生成部３０１５は、格子部分の第２の傾きに対応するＳｐｉｎｅスイッチを使用して行われるオールリデュースの各フェーズにおいて通信を実行するサーバの識別情報を含む第３の通信表を生成する（図３３：ステップＳ４１）。
【００７９】
第２の傾きは、第１の傾きとは異なる傾きである。例えば第１の傾きが∞である場合、第２の傾きは０、１又は２である。このように、傾きが異なる２回のオールリデュースを実行すれば、各代表サーバはオールリデュースの結果を持つことができる。
【００８０】
例えば、第１の傾きが∞である場合に生成された第２の通信表を用いて通信を実行後、各代表サーバが図３４に示す値を持つとする。第２の傾きが０である場合、図３５に示すように、第２の傾きに対応する各Ｓｐｉｎｅスイッチにおける代表サーバが持つ値の合計は４５であるので、図３６に示すように、各代表サーバは第３の通信表を用いて通信を実行後に値「４５」を持つ。第２の傾きが１である場合、図３７に示すように、第２の傾きに対応する各Ｓｐｉｎｅスイッチにおける代表サーバが持つ値の合計は４５であるので、図３６に示すように、各代表サーバは第３の通信表を用いて通信を実行後に値「４５」を持つ。第２の傾きが２である場合、図３８に示すように、第２の傾きに対応する各Ｓｐｉｎｅスイッチにおける代表サーバが持つ値の合計は４５であるので、図３６に示すように、各代表サーバは第３の通信表を用いて通信を実行後に値「４５」を持つ。
【００８１】
各Ｓｐｉｎｅスイッチを使用して行われるオールリデュースは、各実行スイッチを使用して行われるオールリデュースと同じように実行することができる。従って、第１の通信表を用いて実行されるオールリデュースと同様に、経路競合が発生しないように通信をすることができる。
【００８２】
図３３の説明に戻り、第３生成部３０１５は、ステップＳ４１において生成された第３の通信表を通信表格納部３０３に格納する（ステップＳ４３）。そして処理は呼び出し元に戻る。なお、第３の通信表はオールリデュースについての通信表であり、第１の通信表と同様の方法で生成されるため第１の通信表と同様の形式を有する。但し、第３の通信表にて実現されるオールリデュースは第２の傾きに対応するＳｐｉｎｅスイッチを使用して行われるオールリデュースであるので、第２の傾きに対応するＳｐｉｎｅスイッチ毎に通信情報が格納される。
【００８３】
次に、図３９乃至図４４を用いて、第４生成処理について説明する。図３９は、第４生成処理の処理フローを示す図である。
【００８４】
第４生成部３０１７は、各代表サーバから当該代表サーバと同じＬｅａｆスイッチに接続される他サーバへの結果配布における各フェーズで通信を実行するサーバの識別情報を含む第４の通信表を生成する（図３９：ステップＳ５１）。
【００８５】
図４０乃至図４２を用いて、第４の通信表にて実現される結果配布について説明する。図４０乃至図４２には、一例として、１台のＬｅａｆスイッチとそのＬｅａｆスイッチに接続される４台のサーバとが示されており、最も左に位置するサーバは代表サーバである。はじめに、図４０に示すように、代表サーバは右から２番目のサーバに値「４５」を送信する。
【００８６】
すると、図４１に示すように、代表サーバ及び右から２番目のサーバは値「４５」を持ち、右から１番目のサーバ及び右から３番目のサーバは値「９」を持つ。そして、図４１に示すように、代表サーバは値「４５」を右から３番目のサーバに送信し、右から２番目のサーバは値「４５」を右から１番目のサーバに送信する。
【００８７】
すると、図４２に示すように、各サーバはオールリデュースの結果である値「４５」を持つ。以上のようにして第４の通信表による結果配布が実現される。フェーズ数は２であり、いずれのフェーズにおいても、複数のパケットが同じ方向に同時に送信されるリンクは存在しないので、経路競合は発生していない。
【００８８】
図４３は、実行スイッチに接続されるサーバが第３の通信表を用いて通信が行われた後に持つ値の一例を示す図である。各実行スイッチについて１台のサーバが値「４５」を持ち、このサーバが代表サーバである。代表サーバから、同じＬｅａｆスイッチに接続される他のサーバへ値が送信される。その結果、図４４に示すように、実行スイッチに接続される全サーバが値「４５」を持つ。
【００８９】
図３９の説明に戻り、第４生成部３０１７は、ステップＳ５１において生成された第４の通信表を通信表格納部３０３に格納する（ステップＳ５３）。そして処理は呼び出し元に戻る。なお、第４の通信表には、各実行スイッチにおける結果配布についての通信情報が、図１９に示した第１の通信表と同様の形式で格納されるので、ここでは詳細な説明を省略する。
【００９０】
次に、図４５及び図４６を用いて、第１の実施の形態のサーバが実行する処理について説明する。本処理は、第１乃至第４の通信表を管理装置３から受信した各サーバが実行する処理である。
【００９１】
図４５は、第１の実施の形態のサーバが実行する処理の処理フローを示す図である。
【００９２】
サーバにおける第１通信部１０１１は、フェーズ番号を表す変数ｉに１を設定する（図４５：ステップＳ６１）。
【００９３】
第１通信部１０１１は、通信表格納部１０３に格納されている第１の通信表から、フェーズｉの通信情報を特定する（ステップＳ６３）。
【００９４】
第１通信部１０１１は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ６５）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【００９５】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ６５：Ｎｏルート）、処理はステップＳ６９に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ６５：Ｙｅｓルート）、第１通信部１０１１は、ステップＳ６３において特定された通信情報に従って通信を実行する（ステップＳ６７）。
【００９６】
上で述べたように、第１の通信表に従って行われる通信は、同一のＬｅａｆスイッチに接続されるサーバ間でのオールリデュース通信であり、他のサーバから値を受信したサーバはオールリデュースに係る演算を実行する。
【００９７】
第１通信部１０１１は、ｉ＝ｉmax1が成立するか判定する（ステップＳ６９）。ｉmax1は、第１の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax1が成立しない場合（ステップＳ６９：Ｎｏルート）、第１通信部１０１１は、ｉを１インクリメントする（ステップＳ７１）。そして処理はステップＳ６３に移行する。なお、フェーズの終了はバリア同期によって確認される。
【００９８】
一方、ｉ＝ｉmax1が成立する場合（ステップＳ６９：Ｙｅｓルート）、第２通信部１０１３は、フェーズ番号を表す変数ｉに１を設定する（ステップＳ７３）。
【００９９】
第２通信部１０１３は、通信表格納部１０３に格納されている第２の通信表から、フェーズｉの通信情報を特定する（ステップＳ７５）。
【０１００】
第２通信部１０１３は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ７７）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【０１０１】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ７７：Ｎｏルート）、処理はステップＳ８１に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ７７：Ｙｅｓルート）、第２通信部１０１３は、ステップＳ７５において特定された通信情報に従って通信を実行する（ステップＳ７９）。
【０１０２】
上で述べたように、第２の通信表に従って行われる通信は、第１の傾きに対応するＳｐｉｎｅスイッチを使用して行われるオールリデュース通信であり、他のサーバから値を受信したサーバはオールリデュースに係る演算を実行する。
【０１０３】
第２通信部１０１３は、ｉ＝ｉmax2が成立するか判定する（ステップＳ８１）。ｉmax2は、第２の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax2が成立しない場合（ステップＳ８１：Ｎｏルート）、第２通信部１０１３は、ｉを１インクリメントする（ステップＳ８３）。そして処理はステップＳ７５に移行する。なお、フェーズの終了はバリア同期によって確認される。
【０１０４】
一方、ｉ＝ｉmax2が成立する場合（ステップＳ８１：Ｙｅｓルート）、処理は端子Ａを介して図４６のステップＳ８５に移行する。
【０１０５】
図４６の説明に移行し、第３通信部１０１５は、フェーズ番号を表す変数ｉに１を設定する（図４６：ステップＳ８５）。
【０１０６】
第３通信部１０１５は、通信表格納部１０３に格納されている第３の通信表から、フェーズｉの通信情報を特定する（ステップＳ８７）。
【０１０７】
第３通信部１０１５は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ８９）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【０１０８】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ８９：Ｎｏルート）、処理はステップＳ９３に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ８９：Ｙｅｓルート）、第３通信部１０１５は、ステップＳ８７において特定された通信情報に従って通信を実行する（ステップＳ９１）。
【０１０９】
上で述べたように、第３の通信表に従って行われる通信は、第２の傾きに対応するＳｐｉｎｅスイッチを使用して行われるオールリデュース通信であり、他のサーバから値を受信したサーバはオールリデュースに係る演算を実行する。
【０１１０】
第３通信部１０１５は、ｉ＝ｉmax3が成立するか判定する（ステップＳ９３）。ｉmax3は、第３の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax3が成立しない場合（ステップＳ９３：Ｎｏルート）、第３通信部１０１５は、ｉを１インクリメントする（ステップＳ９５）。そして処理はステップＳ８７に移行する。なお、フェーズの終了はバリア同期によって確認される。
【０１１１】
一方、ｉ＝ｉmax3が成立する場合（ステップＳ９３：Ｙｅｓルート）、第４通信部１０１７は、フェーズ番号を表す変数ｉに１を設定する（ステップＳ９７）。
【０１１２】
第４通信部１０１７は、通信表格納部１０３に格納されている第４の通信表から、フェーズｉの通信情報を特定する（ステップＳ９９）。
【０１１３】
第４通信部１０１７は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ１０１）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【０１１４】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ１０１：Ｎｏルート）、処理はステップＳ１０５に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ１０１：Ｙｅｓルート）、第４通信部１０１７は、ステップＳ９９において特定された通信情報に従って通信を実行する（ステップＳ１０３）。
【０１１５】
上で述べたように、第４の通信表に従って行われる通信は、オールリデュースの結果を持つ代表サーバから当該サーバと同じＬｅａｆスイッチに接続される他のサーバへの結果配布である。
【０１１６】
第４通信部１０１７は、ｉ＝ｉmax4が成立するか判定する（ステップＳ１０５）。ｉmax4は、第４の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax4が成立しない場合（ステップＳ１０５：Ｎｏルート）、第４通信部１０１７は、ｉを１インクリメントする（ステップＳ１０７）。そして処理はステップＳ９９に移行する。なお、フェーズの終了はバリア同期によって確認される。
【０１１７】
一方、ｉ＝ｉmax4が成立する場合（ステップＳ１０５：Ｙｅｓルート）、処理は終了する。
【０１１８】
以上のような処理を実行すれば、実行スイッチ（すなわち、有限射影平面における格子部分に含まれる点に相当するＬｅａｆスイッチ）に接続されるサーバによりオールリデュースを実現することができるようになる。上で述べたように、通信の各フェーズにおいては経路競合が発生していないので、通信時間が長くなることを防ぎつつオールリデュースを実現することが可能である。
【０１１９】
また、本実施の形態の方法であれば、オールリデュースをＯ（ｌｏｇ（Ｎ））（Ｎはオールリデュースに参加するサーバの台数）程度の計算量で実行することが可能である。
【０１２０】
［実施の形態２］
第１の実施の形態においては、第１の通信表を用いてオールリデュース通信が実行されるが、第２の実施の形態においては、第１の通信表を用いてリデュース通信が実行される。
【０１２１】
なお、リデュース通信とは対象の全ノードが持つデータを用いて実行した演算の結果をいずれか１台のノードが持つための通信のことであり、リデュースとは、その演算のことである。第１の通信表にて実現されるリデュースでは、代表スイッチ以外の各Ｌｅａｆスイッチの代表サーバが結果を持つように通信が行われる。
【０１２２】
図４７は、第２の実施の形態における第１生成処理の処理フローを示す図である。
【０１２３】
第１生成部３０１１は、各実行スイッチでのリデュースの各フェーズで通信を実行するサーバの識別情報を含む第１の通信表を生成する（図４７：ステップＳ２０１）。
【０１２４】
図４８乃至図５０を用いて、第２の実施の形態における第１の通信表にて実現されるリデュースについて説明する。図４８乃至図５０には、一例として、１台のＬｅａｆスイッチと、そのＬｅａｆスイッチに接続される４台のサーバとが示されており、最も左に位置するサーバは代表サーバである。代表サーバは他のサーバから値を受信して演算を実行する。
【０１２５】
はじめに、図４８に示すように、最も右に位置するサーバは値「０」を右から２番目のサーバに送信し、並行して右から３番目のサーバは値「２」を代表サーバに送信する。代表サーバ及び右から２番目のサーバは演算（ここでは加算）を実行する。
【０１２６】
すると、図４９に示すように、代表サーバは値「５」を持ち、右から２番目のサーバは値「４」を持つ。そして、右から２番目のサーバは値「４」を代表サーバに送信する。代表サーバは演算を実行する。
【０１２７】
すると、図５０に示すように、代表サーバは、元の４つの数の合計に相当する値「９」を持つ。以上のようにしてリデュースが実現される。いずれのフェーズにおいても、複数のパケットが同じ方向に同時に送信されるリンクは存在しないので、経路競合は発生していない。
【０１２８】
図４７の説明に戻り、第１生成部３０１１は、ステップＳ２０１において生成された第１の通信表を通信表格納部３０３に格納する（ステップＳ２０３）。そして処理は呼び出し元に戻る。なお、第２の実施の形態において生成される第１の通信表は、第１の実施の形態において生成される第１の通信表と同様の形式であるので、ここでは詳細な説明を省略する。
【０１２９】
以上のように、オールリデュースの代わりにリデュースを実行すれば、ネットワークトラフィックを減らすことができるようになる。
【０１３０】
［実施の形態３］
第１の実施の形態においては、第２の通信表を用いてオールリデュースが実行されている間および第３の通信表を用いてオールリデュースが実行されている間において、使用されていないＳｐｉｎｅスイッチが存在する。例えば第１の傾きが∞である場合、第２の通信表を用いてオールリデュースが実行されている間、ＳｐｉｎｅスイッチＬ（０，０）、ＳｐｉｎｅスイッチＬ（０，１）、ＳｐｉｎｅスイッチＬ（０，２）、ＳｐｉｎｅスイッチＬ（１，０）、ＳｐｉｎｅスイッチＬ（１，１）、ＳｐｉｎｅスイッチＬ（１，２）、ＳｐｉｎｅスイッチＬ（２，０）、ＳｐｉｎｅスイッチＬ（２，１）及びＳｐｉｎｅスイッチＬ（２，２）は使用されていない。使用されていないＳｐｉｎｅスイッチを使用して別の集団通信を実行すれば、ラテン方陣ファットツリーシステム１０００におけるネットワークの利用効率を高めることができる。
【０１３１】
そこで、以下では、格子部分において或るオールリデュースを実行している間に別のオールリデュースを実行することで通信時間を短縮する方法を説明する。
【０１３２】
図５１に示すように、第３の実施の形態におけるラテン方陣ファットツリーシステム１０００は管理装置３に管理ＬＡＮ等で接続され、ラテン方陣ファットツリーシステム１０００における通信は管理装置３により管理される。管理装置３は、通信表生成部３０１と、通信表格納部３０３と、トポロジデータ格納部３０５とを有する。通信表生成部３０１は、第５生成部３０１９と、第６生成部３０２１とを有する。通信表生成部３０１は、例えば、図６６におけるメモリ２５０１にロードされたプログラムが図６６におけるＣＰＵ２５０３により実行されることで実現される。通信表格納部３０３及びトポロジデータ格納部３０５は、例えば、図６６におけるメモリ２５０１又はＨＤＤ２５０５に設けられる。
【０１３３】
第５生成部３０１９は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第５の通信表を生成し、生成された第５の通信表を通信表格納部３０３に格納する。第６生成部３０２１は、トポロジデータ格納部３０５に格納されている、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報に基づき、第６の通信表を生成し、生成された第６の通信表を通信表格納部３０３に格納する。通信表生成部３０１は、通信表格納部３０３に格納された第５及び第６の通信表を、所定のタイミングで又はリクエストに応じて、有限射影平面の格子部分に含まれる点に相当するＬｅａｆスイッチ（すなわち、ＬｅａｆスイッチＰ（０，０）、ＬｅａｆスイッチＰ（０，１）、ＬｅａｆスイッチＰ（０，２）、ＬｅａｆスイッチＰ（１，０）、ＬｅａｆスイッチＰ（１，１）、ＬｅａｆスイッチＰ（１，２）、ＬｅａｆスイッチＰ（２，０）、ＬｅａｆスイッチＰ（２，１）及びＬｅａｆスイッチＰ（２，２））に接続されるサーバに送信する。
【０１３４】
図５２は、第３の実施の形態におけるサーバの機能ブロック図である。サーバは、処理部１０１と、通信表格納部１０３とを有する。処理部１０１は、第５通信部１０１９と、第６通信部１０２１とを有する。処理部１０１は、例えば、図６６におけるメモリ２５０１にロードされたプログラムが図６６におけるＣＰＵ２５０３により実行されることで実現される。通信表格納部１０３は、例えば、図６６におけるメモリ２５０１又はＨＤＤ２５０５に設けられる。
【０１３５】
通信表格納部１０３には、管理装置３から受信した第５及び第６の通信表が格納される。第５通信部１０１９は、通信表格納部１０３に格納された第５の通信表に従って通信を行う。第６通信部１０２１は、通信表格納部１０３に格納された第６の通信表に従って通信を行う。
【０１３６】
次に、図５３乃至図６０を用いて、第３の実施の形態における管理装置３が実行する処理について説明する。図５３は、第３の実施の形態における管理装置３が実行する処理の処理フローを示す図である。
【０１３７】
通信表生成部３０１は、ラテン方陣ファットツリーシステム１０００のネットワークトポロジの情報をトポロジデータ格納部３０５から読み出す（図５３：ステップＳ３０１）。ネットワークトポロジの情報は、例えば、Ｓｐｉｎｅスイッチ、Ｌｅａｆスイッチ及びサーバの接続関係の情報等を含む。
【０１３８】
第５生成部３０１９は、ステップＳ３０１において読み出したネットワークトポロジの情報に基づき、第５の通信表を生成する処理である第５生成処理を実行する（ステップＳ３０３）。第５生成処理については後で説明する。
【０１３９】
第６生成部３０２１は、ステップＳ３０１において読み出したネットワークトポロジの情報に基づき、第６の通信表を生成する処理である第６生成処理を実行する（ステップＳ３０５）。第６生成処理については後で説明する。
【０１４０】
そして、通信表生成部３０１は、通信表格納部３０３に格納された第５及び第６の通信表を読み出し、読み出した第５及び第６の通信表を、実行スイッチに接続される各サーバに送信する（ステップＳ３０７）。そして処理は終了する。
【０１４１】
以上のような処理を実行すれば、第５及び第６の通信表を受信したサーバは適切な手順でオールリデュース通信を実行できるようになる。
【０１４２】
次に、図５４を用いて、第５生成処理について説明する。図５４は、第５生成処理の処理フローを示す図である。
【０１４３】
第５生成部３０１９は、各実行スイッチでのオールリデュースの各フェーズにおいて通信を実行するサーバの識別情報を含む第５の通信表を生成する（図５４：ステップＳ３１１）。ステップＳ３１１において実行される処理はステップＳ２１において実行される処理と同様であるので、ここでは詳細な説明を省略する。
【０１４４】
第５生成部３０１９は、ステップＳ３１１において生成された第５の通信表を通信表格納部３０３に格納する（ステップＳ３１３）。そして処理は呼び出し元に戻る。
【０１４５】
次に、図５５乃至図６０を用いて、第６生成処理について説明する。図５５は、第６生成処理の処理フローを示す図である。
【０１４６】
第６生成部３０２１は、格子部分のサイズ（本実施の形態の場合、位数が３であるので３＊３）に対応する傾き表を生成する（図５５：ステップＳ３２１）。
【０１４７】
図５６は、格子部分のサイズが３＊３である場合における傾き表の一例を示す図である。図５６の例では、各フェーズ群について、サーバがオールリデュース通信に使用するスパインスイッチに対応する傾きが示されている。例えば、実行スイッチに接続されるサーバのうち割り当てられた番号が１であるサーバは、フェーズ群０において傾き０に対応するＳｐｉｎｅスイッチを使用してオールリデュース通信を実行し、フェーズ群１において傾き１に対応するＳｐｉｎｅスイッチを使用してオールリデュース通信を実行する。フェーズ群は、１又は複数のフェーズを含む。
【０１４８】
各フェーズ群においては、各サーバにそれぞれ異なる傾きが割り当てられているので、各サーバはそれぞれ異なるＳｐｉｎｅスイッチを使用してオールリデュース通信を実行する。従って、各フェーズ群においては経路競合が発生しない。また、各サーバには、フェーズ群０とフェーズ群１とで異なる傾きが割り当てられている。各サーバは傾きが異なる２回のオールリデュースを実行するので、オールリデュースの結果を持つことができる。
【０１４９】
他の例として、格子部分のサイズが５＊５である場合における傾き表の一例を図５７に示す。格子部分のサイズが５＊５である場合、傾きは０、１、２、３、４又は∞である。図５６の例と同様、各フェーズ群においては、各サーバにそれぞれ異なる傾きが割り当てられる。また、各サーバには、フェーズ群０とフェーズ群１とで異なる傾きが割り当てられる。
【０１５０】
図５５の説明に戻り、第６生成部３０２１は、サーバに割り振られる番号を表す変数ｊをｊ＝０として設定する（ステップＳ３２３）。
【０１５１】
第６生成部３０２１は、フェーズ群の番号を表す変数ｋをｋ＝０として設定する（ステップＳ３２５）。
【０１５２】
第６生成部３０２１は、フェーズ群ｋについて、ｊに対応する傾きを傾き表から特定する（ステップＳ３２７）。
【０１５３】
第６生成部３０２１は、ステップＳ３２７において特定された傾きに基づき、実行スイッチに接続されるサーバのうち割り振られた番号がｊであるサーバ（以下、サーバ「ｊ」と呼ぶ）をグループ分けする（ステップＳ３２９）。
【０１５４】
本実施の形態においては、傾きが０である場合、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，０）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，１）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，２）に接続されるサーバ「ｊ」とが属するグループとにグループ分けされる。
【０１５５】
傾きが１である場合、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，２）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，０）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，１）に接続されるサーバ「ｊ」とが属するグループとにグループ分けされる。
【０１５６】
傾きが２である場合、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，１）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，２）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，０）に接続されるサーバ「ｊ」とが属するグループとにグループ分けされる。
【０１５７】
傾きが∞である場合、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（０，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（０，２）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（１，２）に接続されるサーバ「ｊ」とが属するグループと、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，１）に接続されるサーバ「ｊ」とＬｅａｆスイッチＰ（２，２）に接続されるサーバ「ｊ」とが属するグループとにグループ分けされる。
【０１５８】
そして、同じグループに属するサーバ間でのオールリデュースが実行される。例えば、傾き表が図５６に示した傾き表である場合、フェーズ群０においては図５８に示すように通信が行われる。具体的には、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「０」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「０」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「０」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「３」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「３」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「３」とがオールリデュース通信を実行する。
【０１５９】
また、例えば、傾き表が図５６に示した傾き表である場合、フェーズ群１においては図５９に示すように通信が行われる。具体的には、ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「１」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「１」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「２」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「２」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「３」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「３」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「３」と、ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「３」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（０，０）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（０，１）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（０，２）に接続されるサーバ「０」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（１，０）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（１，１）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（１，２）に接続されるサーバ「０」とがオールリデュース通信を実行する。ＬｅａｆスイッチＰ（２，０）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（２，１）に接続されるサーバ「０」と、ＬｅａｆスイッチＰ（２，２）に接続されるサーバ「０」とがオールリデュース通信を実行する。
【０１６０】
図５５の説明に戻り、第６生成部３０２１は、ステップＳ３２９のグループ分けにより生成された各グループについて、当該グループに属するサーバ間でのオールリデュースについての通信情報を第６の通信表に書き込む（ステップＳ３３１）。
【０１６１】
第６生成部３０２１は、ｋ＝１であるか判定する（ステップＳ３３３）。ｋ＝１ではない場合（ステップＳ３３３：Ｎｏルート）、第６生成部３０２１は、ｋを１インクリメントする（ステップＳ３３５）。そして処理はステップＳ３２７に戻る。
【０１６２】
ｋ＝１である場合（ステップＳ３３３：Ｙｅｓルート）、第６生成部３０２１は、ｊ＝ｄ−１であるか判定する（ステップＳ３３７）。ｊ＝ｄ−１ではない場合（ステップＳ３３７：Ｎｏルート）、第６生成部３０２１は、ｊを１インクリメントし（ステップＳ３３９）、ｋをｋ＝０として設定する（ステップＳ３４１）。そして処理はステップＳ３２７に戻る。
【０１６３】
ｊ＝ｄ−１である場合（ステップＳ３３７：Ｙｅｓルート）、第６生成部３０２１は、ここまでの処理によって生成された第６の通信表を通信表格納部３０３に格納する（ステップＳ３４３）。そして処理は呼び出し元に戻る。
【０１６４】
図６０は、第６の通信表の一例を示す図である。図６０の例では、各フェーズについて通信の内容が示されている。図１９と同様に、Ｎ０００等の文字列はサーバの識別情報（例えばＬＩＤ）を表す。矢印はデータの送信を表し、括弧はオールリデュースを表す。例えばフェーズ０における「Ｎ０００→Ｎ０１０」は、サーバＮ０００がサーバＮ０１０へデータを送信することを表し、フェーズ１における「（Ｎ０１０，Ｎ０２０）」は、サーバＮ０１０とサーバＮ０２０とのオールリデュースを表す。３台のサーバがオールリデュースに参加するため、１つのフェーズ群に含まれるフェーズの数は３である。第６の通信表は、基本的には第１の通信表と同様の方法にて生成されるため、ここでは詳細な説明を省略する。
【０１６５】
次に、図６１を用いて、第３の実施の形態のサーバが実行する処理について説明する。本処理は、第５及び第６の通信表を管理装置３から受信した各サーバが実行する処理である。
【０１６６】
図６１は、第３の実施の形態のサーバが実行する処理の処理フローを示す図である。
【０１６７】
サーバにおける第５通信部１０１９は、フェーズ番号を表す変数ｉに１を設定する（図６１：ステップＳ３５１）。
【０１６８】
第５通信部１０１９は、通信表格納部１０３に格納されている第５の通信表から、フェーズｉの通信情報を特定する（ステップＳ３５３）。
【０１６９】
第５通信部１０１９は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ３５５）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【０１７０】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ３５５：Ｎｏルート）、処理はステップＳ３５９に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ３５５：Ｙｅｓルート）、第５通信部１０１９は、ステップＳ３５３において特定された通信情報に従って通信を実行する（ステップＳ３５７）。
【０１７１】
上で述べたように、第５の通信表に従って行われる通信は、同一のＬｅａｆスイッチに接続されるサーバ間でのオールリデュース通信であり、他のサーバから値を受信したサーバはオールリデュースに係る演算を実行する。
【０１７２】
第５通信部１０１９は、ｉ＝ｉmax5が成立するか判定する（ステップＳ３５９）。ｉmax5は、第５の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax5が成立しない場合（ステップＳ３５９：Ｎｏルート）、第５通信部１０１９は、ｉを１インクリメントする（ステップＳ３６１）。そして処理はステップＳ３５３に移行する。なお、フェーズの終了はバリア同期によって確認される。
【０１７３】
一方、ｉ＝ｉmax5が成立する場合（ステップＳ３５９：Ｙｅｓルート）、第６通信部１０２１は、フェーズ番号を表す変数ｉに１を設定する（ステップＳ３６３）。
【０１７４】
第６通信部１０２１は、通信表格納部１０３に格納されている第６の通信表から、フェーズｉの通信情報を特定する（ステップＳ３６５）。
【０１７５】
第６通信部１０２１は、自サーバ（すなわち、本処理を実行しているサーバ）がフェーズｉにおいて通信を実行するか判定する（ステップＳ３６７）。自サーバがフェーズｉにおいて通信を実行するか否かは、特定された通信情報に自サーバの識別情報が含まれているか否かにより判定される。
【０１７６】
自サーバがフェーズｉにおいて通信を実行しない場合（ステップＳ３６７：Ｎｏルート）、処理はステップＳ３７１に移行する。一方、自サーバがフェーズｉにおいて通信を実行する場合（ステップＳ３６７：Ｙｅｓルート）、第６通信部１０２１は、ステップＳ３６５において特定された通信情報に従って通信を実行する（ステップＳ３６９）。
【０１７７】
上で述べたように、第６の通信表に従って行われる通信は、同じグループに属するサーバの間で行われるオールリデュース通信であり、他のサーバから値を受信したサーバはオールリデュースに係る演算を実行する。
【０１７８】
第６通信部１０２１は、ｉ＝ｉmax6が成立するか判定する（ステップＳ３７１）。ｉmax6は、第６の通信表に従って行われる通信のフェーズ番号の最大値である。ｉ＝ｉmax6が成立しない場合（ステップＳ３７１：Ｎｏルート）、第６通信部１０２１は、ｉを１インクリメントする（ステップＳ３７３）。そして処理はステップＳ３６５に移行する。なお、フェーズの終了はバリア同期によって確認される。
【０１７９】
一方、ｉ＝ｉmax6が成立する場合（ステップＳ３７１：Ｙｅｓルート）、処理は終了する。
【０１８０】
以上のような処理を実行すれば、実行スイッチ（すなわち、有限射影平面における格子部分に含まれる点に相当するＬｅａｆスイッチ）に接続されるサーバにより効率的なオールリデュースを実現することができるようになる。より具体的には、複数のオールリデュースを並行して実行することで、第４の通信表にて実行される結果配布のフェーズを省略することができる。よって、オールリデュースが完了するまでの時間を短縮することができるようになる。
【０１８１】
また、上で述べたように、通信の各フェーズにおいては経路競合が発生していないので、通信時間が長くなることを防ぎつつオールリデュースを実現することが可能である。
【０１８２】
また、本実施の形態の方法であれば、オールリデュースをＯ（ｌｏｇ（Ｎ））（Ｎはオールリデュースに参加するサーバの台数）程度の計算量で実行することが可能である。
【０１８３】
なお、（１）各フェーズ群においては、各サーバにそれぞれ異なる傾きが割り当てられているという条件と、（２）各サーバには、フェーズ群０とフェーズ群１とで異なる傾きが割り当てられているという条件とが満たされていれば、図５６及び図５７に示した傾き表以外の傾き表を使用してもよい。
【０１８４】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理装置３及びサーバの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１８５】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１８６】
また、上で述べた例においては、オールリデュース及びリデュースの演算として加算が行われるが、加算以外の演算（例えば乗算）が行われてもよい。
【０１８７】
［付録］
本付録においては、ラテン方陣ファットツリーおよび有限射影平面について説明する。
【０１８８】
有限射影平面とは、普通の平面に無限遠点をいくつか加え且つ「平行な２直線」をなくした平面に相当する。図６２に、位数（以下ｎとする）が２であり且つポート数が６（＝２（ｎ＋１））である場合の有限射影平面の構造を示す。図６２において、枠６２２で囲まれた３（＝ｎ＋１）台のＬｅａｆスイッチは無限遠点に相当する。
【０１８９】
有限射影平面においては、１個の点Ｐが設定され、ｎ個の点Ｐ（ｃ）（ｃ＝０，１，．．．，ｎ−１）が設定され、ｎ2個の点Ｐ（ｃ，ｒ）（ｃ，ｒ＝０，１，．．．，ｎ−１）が設定される。また、１本の直線Ｌ＝｛Ｐ，Ｐ（０），．．．，Ｐ（ｎ−１）｝が設定され、ｎ本の直線Ｌ＝｛Ｐ，Ｐ（ｃ，０），．．．，Ｐ（ｃ，ｎ−１）｝（ｃ＝０，１，．．．，ｎ−１）が設定され、ｎ2本の直線Ｌ（ｃ，ｒ）＝｛Ｐ（ｃ）およびＰ（ｉ，（ｒ＋ｃｉ） ｍｏｄ ｎ）｝（ｉ，ｃ，ｒ＝０，１，．．．，ｎ−１）が設定される。
【０１９０】
有限射影平面の特徴として、（ｎ2＋ｎ＋１）の点が存在し、直線の数は（ｎ2＋ｎ＋１）である。任意の２直線は１点で交わり、任意の２点を結ぶ直線がただ一つ存在する。但し、ｎは素数であるという制約がある。
【０１９１】
有限射影平面の構造は、トポロジ構造に置き換えられる。例えば、図６３（ａ）に示した有限射影平面の構造は、図６３（ｂ）に示したトポロジ構造に置き換えられる。図６３（ａ）において、直線はＳｐｉｎｅスイッチを表し、点はＬｅａｆスイッチを表す。図６３（ｂ）において、ハッチングされた矩形はＳｐｉｎｅスイッチを表し、ハッチングされていない矩形はＬｅａｆスイッチを表す。
【０１９２】
図６４（ａ）に示したトポロジ構造は、Ｓｐｉｎｅスイッチの数が７であり且つＬｅａｆスイッチの数が７であるラテン方陣ファットツリーのトポロジ構造であり、図６４（ｂ）に示した有限射影平面の構造に対応する。図６４（ａ）において太線で囲まれた部分のトポロジ構造は、図６３（ｂ）のトポロジ構造と同じである。また、図６４（ｂ）において太線で囲まれた部分の構造は、図６４（ａ）において太線で囲まれた部分のトポロジ構造に対応する。
【０１９３】
図６２に示した構造は、図６５に示す構造に変換することができる。図６５において、ハッチングされた格子部分に含まれる４（＝ｎ＊ｎ）台のＬｅａｆスイッチは、図６２において枠６２１に囲まれた部分に含まれる４台のＬｅａｆスイッチに対応する。格子部分において平行な直線群は、追加の点において交わるように変換される。すなわち、傾きが等しい直線同士が交わるように変換される。
【０１９４】
以上で付録を終了する。
【０１９５】
なお、上で述べた管理装置３及びサーバは、コンピュータ装置であって、図６６に示すように、メモリ２５０１とＣＰＵ２５０３とＨＤＤ２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１９６】
また、上で述べたＬｅａｆスイッチ及びＳｐｉｎｅスイッチは、図６７に示すように、メモリ２６０１とＣＰＵ２６０３とＨＤＤ２６０５と表示装置２６０９に接続される表示制御部２６０７とリムーバブル・ディスク２６１１用のドライブ装置２６１３と入力装置２６１５とネットワークに接続するための通信制御部２６１７（図６７では、２６１７ａ乃至２６１７ｃ）とがバス２６１９で接続されている構成の場合もある。なお、場合によっては、表示制御部２６０７、表示装置２６０９、ドライブ装置２６１３、入力装置２６１５は含まれない場合もある。オペレーティング・システム及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２６０５に格納されており、ＣＰＵ２６０３により実行される際にはＨＤＤ２６０５からメモリ２６０１に読み出される。必要に応じてＣＰＵ２６０３は、表示制御部２６０７、通信制御部２６１７、ドライブ装置２６１３を制御して、必要な動作を行わせる。なお、通信制御部２６１７のいずれかを介して入力されたデータは、他の通信制御部２６１７を介して出力される。ＣＰＵ２６０３は、通信制御部２６１７を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ２６０１に格納され、必要があればＨＤＤ２６０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２６１１に格納されて頒布され、ドライブ装置２６１３からＨＤＤ２６０５にインストールされる。インターネットなどのネットワーク及び通信制御部２６１７を経由して、ＨＤＤ２６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２６０３、メモリ２６０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１９７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１９８】
本実施の形態の第１の態様に係る情報処理システムは、（Ａ）複数のスパインスイッチ（実施の形態におけるにおけるＳｐｉｎｅスイッチは上記スパインスイッチの一例である）と、（Ｂ）複数のリーフスイッチ（実施の形態におけるＬｅａｆスイッチは上記リーフスイッチの一例である）と、（Ｃ）複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置（実施の形態におけるサーバは上記情報処理装置の一例である）とを有する。そして、複数のスパインスイッチと複数のリーフスイッチとの接続形態はラテン方陣ファットツリーである。そして、ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、第１オールリデュースの結果又は第１リデュースの結果を持つ第１情報処理装置の各々が、第１オールリデュースの結果又は第１リデュースの結果に対して、有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第２オールリデュースを実行し、第１情報処理装置の各々が、第２オールリデュースの結果に対して、第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第３オールリデュースを実行し、第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、第３オールリデュースの結果を送信する。
【０１９９】
ラテン方陣ファットツリーシステムにおいてオールリデュースを実行することができるようになる。
【０２００】
また、第１リーフスイッチに接続される情報処理装置の各々が、第１リデュースの通信のフェーズのうち当該情報処理装置がデータを送信するフェーズにおいて、当該情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、データを送信してもよい。
【０２０１】
第１リデュースにおいて経路競合が発生することを抑制できるようになる。
【０２０２】
また、第１情報処理装置の各々が、第１乃至第３オールリデュースの通信のフェーズのうち当該第１情報処理装置がデータを送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、データを送信してもよい。
【０２０３】
第１乃至第３オールリデュースにおいて経路競合が発生することを抑制できるようになる。
【０２０４】
また、第１情報処理装置の各々が、第３オールリデュースの結果を送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置からデータを受信しない情報処理装置に対して、第３オールリデュースの結果を送信してもよい。
【０２０５】
第３オールリデュースの結果の送信において経路競合が発生することを抑制できるようになる。
【０２０６】
また、第１リーフスイッチに接続される情報処理装置のうち第１情報処理装置以外の第２情報処理装置の各々が、第１オールリデュースが実行された場合、第２オールリデュースが実行される間に、第１オールリデュースの結果に対して、第１の方向とは異なる第３の方向に対応する第３スパインスイッチを使用して、当該第３スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第４オールリデュースを実行し、第３オールリデュースが実行される間に、第４オールリデュースの結果に対して、第３の方向及び第２の方向とは異なる第４の方向に対応する第４スパインスイッチを使用して、当該第４スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第５オールリデュースを実行してもよい。
【０２０７】
使用されていない経路を利用して別のオールリデュースを実行できるようになる。そして、第３オールリデュースの結果を送信する処理を省略できるので、通信の完了までの時間を短縮できるようになる。
【０２０８】
本実施の形態の第２の態様に係る情報処理方法は、複数のスパインスイッチと、複数のリーフスイッチと、複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置とを有する情報処理システムにおいて実行される。そして、複数のスパインスイッチと複数のリーフスイッチとの接続形態はラテン方陣ファットツリーである。そして、ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、第１オールリデュースの結果又は第１リデュースの結果を持つ第１情報処理装置の各々が、第１オールリデュースの結果又は第１リデュースの結果に対して、有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第２オールリデュースを実行し、第１情報処理装置の各々が、第２オールリデュースの結果に対して、第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第３オールリデュースを実行し、第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、第３オールリデュースの結果を送信する処理を含む。
【０２０９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２１０】
（付記１）
複数のスパインスイッチと、
複数のリーフスイッチと、
前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、
を有し、
前記複数のスパインスイッチと前記複数のリーフスイッチとの接続形態はラテン方陣ファットツリーであり、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、
前記第１オールリデュースの結果又は前記第１リデュースの結果を持つ第１情報処理装置の各々が、前記第１オールリデュースの結果又は前記第１リデュースの結果に対して、前記有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第２オールリデュースを実行し、
前記第１情報処理装置の各々が、前記第２オールリデュースの結果に対して、前記第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間での第３オールリデュースを実行し、
前記第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、前記第３オールリデュースの結果を送信する、
情報処理システム。
【０２１１】
（付記２）
前記第１リーフスイッチに接続される情報処理装置の各々が、前記第１リデュースの通信のフェーズのうち当該情報処理装置がデータを送信するフェーズにおいて、当該情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、前記データを送信する、
付記１記載の情報処理システム。
【０２１２】
（付記３）
前記第１情報処理装置の各々が、前記第１乃至前記第３オールリデュースの通信のフェーズのうち当該第１情報処理装置がデータを送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置から他のデータを受信しない情報処理装置に対して、前記データを送信する、
付記１記載の情報処理システム。
【０２１３】
（付記４）
前記第１情報処理装置の各々が、前記第３オールリデュースの結果を送信するフェーズにおいて、当該第１情報処理装置以外の情報処理装置からデータを受信しない情報処理装置に対して、前記第３オールリデュースの結果を送信する、
付記１乃至３のいずれか１つ記載の情報処理システム。
【０２１４】
（付記５）
前記第１リーフスイッチに接続される情報処理装置のうち前記第１情報処理装置以外の第２情報処理装置の各々が、
前記第１オールリデュースが実行された場合、前記第２オールリデュースが実行される間に、前記第１オールリデュースの結果に対して、前記第１の方向とは異なる第３の方向に対応する第３スパインスイッチを使用して、当該第３スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第４オールリデュースを実行し、
前記第３オールリデュースが実行される間に、前記第４オールリデュースの結果に対して、前記第３の方向及び前記第２の方向とは異なる第４の方向に対応する第４スパインスイッチを使用して、当該第４スパインスイッチに接続されるリーフスイッチに接続される他の第２情報処理装置との間での第５オールリデュースを実行する、
付記１記載の情報処理システム。
【０２１５】
（付記６）
複数のスパインスイッチと、複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置とを有する情報処理システムにおいて実行される情報処理方法であって、
前記複数のスパインスイッチと前記複数のリーフスイッチとの接続形態はラテン方陣ファットツリーであり、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点に相当する第１リーフスイッチに接続される情報処理装置の各々が、当該情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置との間での第１オールリデュース又は第１リデュースを実行し、
前記第１オールリデュースの結果又は前記第１リデュースの結果を持つ第１情報処理装置の各々が、前記第１オールリデュースの結果又は前記第１リデュースの結果に対して、前記有限射影平面の無限遠点以外の点を含む領域における第１の方向に対応する第１スパインスイッチを使用して、当該第１スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第２オールリデュースを実行し、
前記第１情報処理装置の各々が、前記第２オールリデュースの結果に対して、前記第１の方向とは異なる第２の方向に対応する第２スパインスイッチを使用して、当該第２スパインスイッチに接続されるリーフスイッチに接続される他の第１情報処理装置との間で第３オールリデュースを実行し、
前記第１情報処理装置の各々が、当該第１情報処理装置と同じ第１リーフスイッチに接続される他の情報処理装置に対して、前記第３オールリデュースの結果を送信する、
処理を含む情報処理方法。
【符号の説明】
【０２１６】
１０００  ラテン方陣ファットツリーシステム
３  管理装置    ３０１  通信表生成部
３０１１  第１生成部    ３０１３  第２生成部
３０１５  第３生成部    ３０１７  第４生成部
３０１９  第５生成部    ３０２１  第６生成部
３０３  通信表格納部    ３０５  トポロジデータ格納部
１０１  処理部    １０１１  第１通信部
１０１３  第２通信部    １０１５  第３通信部
１０１７  第４通信部    １０１９  第５通信部
１０２１  第６通信部    １０３  通信表格納部
【図１】
2019028859.tif 000003
【図２】
2019028859.tif 000004
【図３】
2019028859.tif 000005
【図４】
2019028859.tif 000006
【図５】
2019028859.tif 000007
【図６】
2019028859.tif 000008
【図７】
2019028859.tif 000009
【図８】
2019028859.tif 000010
【図９】
2019028859.tif 000011
【図１０】
2019028859.tif 000012
【図１１】
2019028859.tif 000013
【図１２】
2019028859.tif 000014
【図１３】
2019028859.tif 000015
【図１４】
2019028859.tif 000016
【図１５】
2019028859.tif 000017
【図１６】
2019028859.tif 000018
【図１７】
2019028859.tif 000019
【図１８】
2019028859.tif 000020
【図１９】
2019028859.tif 000021
【図２０】
2019028859.tif 000022
【図２１】
2019028859.tif 000023
【図２２】
2019028859.tif 000024
【図２３】
2019028859.tif 000025
【図２４】
2019028859.tif 000026
【図２５】
2019028859.tif 000027
【図２６】
2019028859.tif 000028
【図２７】
2019028859.tif 000029
【図２８】
2019028859.tif 000030
【図２９】
2019028859.tif 000031
【図３０】
2019028859.tif 000032
【図３１】
2019028859.tif 000033
【図３２】
2019028859.tif 000034
【図３３】
2019028859.tif 000035
【図３４】
2019028859.tif 000036
【図３５】
2019028859.tif 000037
【図３６】
2019028859.tif 000038
【図３７】
2019028859.tif 000039
【図３８】
2019028859.tif 000040
【図３９】
2019028859.tif 000041
【図４０】
2019028859.tif 000042
【図４１】
2019028859.tif 000043
【図４２】
2019028859.tif 000044
【図４３】
2019028859.tif 000045
【図４４】
2019028859.tif 000046
【図４５】
2019028859.tif 000047
【図４６】
2019028859.tif 000048
【図４７】
2019028859.tif 000049
【図４８】
2019028859.tif 000050
【図４９】
2019028859.tif 000051
【図５０】
2019028859.tif 000052
【図５１】
2019028859.tif 000053
【図５２】
2019028859.tif 000054
【図５３】
2019028859.tif 000055
【図５４】
2019028859.tif 000056
【図５５】
2019028859.tif 000057
【図５６】
2019028859.tif 000058
【図５７】
2019028859.tif 000059
【図５８】
2019028859.tif 000060
【図５９】
2019028859.tif 000061
【図６０】
2019028859.tif 000062
【図６１】
2019028859.tif 000063
【図６２】
2019028859.tif 000064
【図６３】
2019028859.tif 000065
【図６４】
2019028859.tif 000066
【図６５】
2019028859.tif 000067
【図６６】
2019028859.tif 000068
【図６７】
2019028859.tif 000069