JP2019028853A - 情報処理システム、情報処理方法及びプログラム - Google Patents

情報処理システム、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2019028853A
JP2019028853A JP2017149488A JP2017149488A JP2019028853A JP 2019028853 A JP2019028853 A JP 2019028853A JP 2017149488 A JP2017149488 A JP 2017149488A JP 2017149488 A JP2017149488 A JP 2017149488A JP 2019028853 A JP2019028853 A JP 2019028853A
Authority
JP
Japan
Prior art keywords
job
communication
leaf switch
switch group
leaf
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.)
Granted
Application number
JP2017149488A
Other languages
English (en)
Other versions
JP6915434B2 (ja
Inventor
清水 俊宏
Toshihiro Shimizu
俊宏 清水
耕太 中島
Kota Nakajima
耕太 中島
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 JP2017149488A priority Critical patent/JP6915434B2/ja
Priority to US16/038,496 priority patent/US10516596B2/en
Publication of JP2019028853A publication Critical patent/JP2019028853A/ja
Application granted granted Critical
Publication of JP6915434B2 publication Critical patent/JP6915434B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

【課題】実行される各ジョブにおいて全対全通信が実行される場合に、ジョブ間で経路競合が発生しないラテン方陣ファットツリーシステムを提供する。
【解決手段】ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち、1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、複数の列のうち、1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当てる。第1のジョブの全対全通信のスケジュール情報を、第1のリーフスイッチ群に接続されるサーバに送信し、第2のジョブの全対全通信のスケジュール情報を、第2のリーフスイッチ群に接続されるサーバに送信する。
【選択図】図8

Description

本発明は、集団通信の技術に関する。
並列計算機におけるサーバ及びスイッチの接続形態(すなわちネットワークトポロジ)の最適化により並列計算機内での通信を効率化すれば、並列計算機が実行する並列分散処理のスループットを高めることができる。また、並列計算機におけるネットワークトポロジの最適化により少数のスイッチで多数のサーバを接続することができれば、並列計算機の構築コストを抑えることができる。
或る文献は、ラテン方陣ファットツリーと呼ばれるネットワークトポロジを開示する。ラテン方陣ファットツリーは、任意の異なる2つのLeafスイッチ間においてSpineスイッチを経由する経路がただひとつ存在するという特徴を有する。ラテン方陣ファットツリーを使用すれば、一般的な2段ファットツリーと比べ、同じスイッチ数でより多くのサーバを接続することが可能である。
ところで、全対全通信は、各サーバが他の全サーバとの通信を実行する集合通信であるため、オールリデュース通信等の他の集合通信と比べて通信量が多く経路競合を発生させやすい。ここで、経路競合とは、1つの経路の同一方向に同時に複数のパケットが送信されることを意味する。ラテン方陣ファットツリーを採用したシステム(以下、ラテン方陣ファットツリーシステムと呼ぶ)においては同時に複数のジョブが実行され且つ複数のジョブの各々において全対全通信が実行される場合があるが、このような場合に経路競合の発生を防ぐ従来技術は存在しない。
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の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、複数の列のうち1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当てる割当部と、第1のジョブの全対全通信のスケジュール情報を、第1のリーフスイッチ群に接続される情報処理装置に送信し、第2のジョブの全対全通信のスケジュール情報を、第2のリーフスイッチ群に接続される情報処理装置に送信する送信部とを有する。
1つの側面では、ラテン方陣ファットツリーシステムにおいて実行される各ジョブにおいて全対全通信が実行される場合に、ジョブ間で経路競合が発生しないようにすることができるようになる。
図1は、全対全通信をツリー構造のトポロジにおいて実行した場合の経路競合を示す図である。 図2は、全対全通信をファットツリー構造のトポロジにおいて実行した場合の経路競合を示す図である。 図3は、本実施の形態のラテン方陣ファットツリーシステムの概要を示す図である。 図4は、有限射影平面を示す図である。 図5は、インフィニバンドのネットワークにおけるルーティングについて説明するための図である。 図6は、第1の実施の形態における管理装置の機能ブロック図である。 図7は、第1の実施の形態におけるサーバの機能ブロック図である。 図8は、第1の実施の形態における管理装置が実行する処理の処理フローを示す図である。 図9は、第1の実施の形態の管理データ格納部に格納されている割当管理データの一例を示す図である。 図10は、列の選択について説明するための図である。 図11は、列の選択について説明するための図である。 図12は、第1の実施の形態の管理データ格納部に格納されている割当管理データの一例を示す図である。 図13は、複数のジョブに対する割当の一例を示す図である。 図14は、生成処理の処理フローを示す図である。 図15は、ジョブに対して割り当てられた列に対応するネットワークトポロジを示す図である。 図16は、傾きについて説明するための図である。 図17は、傾きとSpineスイッチとの対応関係を示す図である。 図18は、傾きとSpineスイッチとの対応関係を示す図である。 図19は、傾きとSpineスイッチとの対応関係を示す図である。 図20は、傾きとSpineスイッチとの対応関係を示す図である。 図21は、リンクと傾きとの対応関係を示す図である。 図22は、通信表の生成方法を説明するための図である。 図23は、通信表の生成方法を説明するための図である。 図24は、通信表の生成方法を説明するための図である。 図25は、通信表の生成方法を説明するための図である。 図26は、通信表の生成方法を説明するための図である。 図27は、通信表の一例を示す図である。 図28は、特定のフェーズにおける通信を示す図である。 図29は、実行サーバが実行する処理の処理フローを示す図である。 図30は、第2の実施の形態における管理装置が実行する処理の処理フローを示す図である。 図31は、第2の実施の形態の管理データ格納部に格納される割当管理データの一例を示す図である。 図32は、割り当ての状態を示す図である。 図33は、割り当ての状態を示す図である。 図34は、第2の実施の形態の管理データ格納部に格納される割当管理データの一例を示す図である。 図35は、割り当ての状態を示す図である。 図36は、第2の実施の形態の管理データ格納部に格納されている割当管理データの一例を示す図である。 図37は、第2の実施の形態の管理データ格納部に格納されている割当管理データの一例を示す図である。 図38は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。 図39は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。 図40は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。 図41は、ラテン方陣ファットツリーおよび有限射影平面について説明するための図である。 図42は、コンピュータの機能ブロック図である。 図43は、スイッチの機能ブロック図である。
[実施の形態1]
上で述べたように、経路競合とは、1つの経路の同一方向に同時に複数のパケットが送信されることを意味し、経路競合の発生により通信時間が長くなるという問題がある。
例として、図1に、全対全通信を一般的なツリー構造のトポロジにおいて実行した場合の経路競合を示す。図1において、丸の図形はサーバを表し、ハッチングされていない正方形の図形はLeafスイッチを表し、ハッチングされた正方形の図形はSpineスイッチを表す。図1において、経路R1において経路競合が発生し、経路R2においても経路競合が発生する。このケースにおいては、例えば図2に示すように、ツリー構造をファットツリー構造に変えることで経路競合を回避することが可能であるが、ファットツリー構造を採用すると総スイッチ数は図1の例よりも多くなる。
以下で説明する本実施の形態においては、全対全通信が実行される複数のジョブをラテン方陣ファットツリーシステムにおいて実行する場合に経路競合が発生しないようにすることを考える。
図3は、本実施の形態のラテン方陣ファットツリーシステム1000を示す図である。本実施の形態においては、13台のSpineスイッチと、13台のLeafスイッチとの接続形態がラテン方陣ファットツリーである。各Leafスイッチには4台のサーバが接続されているので、ラテン方陣ファットツリーシステム1000は、並列分散処理を実行する52台のサーバを有する。Spineスイッチ及びLeafスイッチは、例えばインフィニバンドスイッチである。サーバは、例えば、物理サーバである。以下では、Leafスイッチに接続されるサーバの数をdとする。本実施の形態においてはd=4である。
なお、図3の例においてはSpineスイッチの数及びLeafスイッチの数は13であるが、13以外であってもよい。他の例については、付録を参照されたい。
図3において、各Spineスイッチ及び各Leafスイッチには、図3に示したラテン方陣ファットツリーに対応する有限射影平面の点を表す文字列が付されている。図4は、図3に示したラテン方陣ファットツリーに対応する有限射影平面を示す図である。図4に示した有限射影平面の位数nは3であり、Spineスイッチ及びLeafスイッチのポート数は8である。点はLeafスイッチを表し、直線はSpineスイッチを表す。図4に示したように格子部分を定めた場合において、LeafスイッチP、LeafスイッチP(0)、LeafスイッチP(1)及びLeafスイッチP(2)は無限遠点に相当する。なお、有限射影平面については付録を参照されたい。
本実施の形態のラテン方陣ファットツリーシステム1000においては、経路競合を回避するため、規則的且つ固定的なルーティングが行われるインフィニバンドのネットワークが利用される。図5を用いて、インフィニバンドのネットワークにおけるルーティングについて説明する。図5において、丸の図形はサーバを表し、正方形の図形はスイッチを表す。線分はインフィニバンドのリンクを表し、線分の傍にある文字列は宛先のサーバの識別情報を表す。太い実線の矢印は通信経路を表す。
図5の例においては、サーバN3が、宛先がサーバN1であるパケットを送信する。パケットのヘッダには、宛先の識別情報(例えばLID(Local IDentifier))が含まれる。各スイッチにおける各出力ポートには宛先のサーバの識別情報が対応付けられているので、各スイッチは、パケットに含まれる宛先の識別情報に対応する出力ポートにパケットを出力する。図5の例では、パケットはスイッチSW1、スイッチSW2及びスイッチSW4を経由してサーバN1に到達する。
このように、本実施の形態のネットワークは、イーサネット(登録商標)のように自動的に経路が決定されるネットワークではなく、規則的且つ固定的なルーティングが行われるネットワークである。
図6に示すように、ラテン方陣ファットツリーシステム1000は管理装置3に管理LAN(Local Area Network)等で接続され、ラテン方陣ファットツリーシステム1000における通信は管理装置3により管理される。管理装置3は、割当部300と、通信表生成部301と、通信部302と、通信表格納部303と、管理データ格納部304と、トポロジデータ格納部305とを有する。割当部300、通信表生成部301および通信部302は、例えば、図42におけるメモリ2501にロードされたプログラムが図42におけるCPU(Central Processing Unit)2503により実行されることで実現される。通信表格納部303、管理データ格納部304及びトポロジデータ格納部305は、例えば、図42におけるメモリ2501又はHDD(Hard Disk Drive)2505に設けられる。
割当部300は、管理データ格納部304に格納されているデータ及びトポロジデータ格納部305に格納されているデータに基づき、ジョブにリソース(具体的には、サーバおよびLeafスイッチなど)を割り当てる処理を実行する。通信表生成部301は、割当部300による割り当ての結果およびトポロジデータ格納部305に格納されているデータに基づき通信表を生成し、生成された通信表を通信表格納部303に格納する。通信部302は、通信表格納部303に格納された通信表を、所定のタイミングで又はリクエストに応じて、ジョブに割り当てられたサーバ(以下、実行サーバと呼ぶ)に送信する。
図7は、サーバの機能ブロック図である。サーバは、通信部101と、通信表格納部103とを有する。通信部101は、例えば、図42におけるメモリ2501にロードされたプログラムが図42におけるCPU2503により実行されることで実現される。通信表格納部103は、例えば、図42におけるメモリ2501又はHDD2505に設けられる。
通信表格納部103には、管理装置3から受信した通信表が格納される。通信部101は、通信表格納部103に格納された通信表に従って通信を行う。
次に、第1の実施の形態の管理装置3が実行する処理について説明する。図8は、第1の実施の形態の管理装置3が実行する処理の処理フローを示す図である。
管理装置3における割当部300は、割当要求をユーザから受け付ける(図8:ステップS1)。割当要求はジョブに対するリソースの割り当ての要求であり、パラメータとして、例えばサーバの台数の情報sが含まれる。sを位数nで割ることによってk*mが求められ、条件(ここでは、1≦k≦n、1≦m≦n、k≧m)を満たすようにk及びmが特定される。パラメータkは格子部分の列のうちジョブに割り当てられる列の数を表し、パラメータmはLeafスイッチに接続されるサーバのうち全対全通信に参加するサーバの台数を表す。なお、パラメータとして、k及びmが割当要求に含まれていてもよい。
割当部300は、管理データ格納部304に格納されている割当管理データを参照し、割り当てられていない列の数が列数k以上であるか判定する(ステップS3)。
図9は、第1の実施の形態の管理データ格納部304に格納されている割当管理データの一例を示す図である。図9の例では、格子部分における各列について、当該列がジョブに割り当てられているか否かを示す情報が格納される。「FALSE」は列がジョブに割り当てられていないことを示し、「TRUE」は列がジョブに割り当てられていることを示す。このように、第1の実施の形態の割当管理データは配列の形式を有する。
割り当てられていない列の数が列数k以上ではない場合(ステップS3:Noルート)、割当要求において指定されたジョブを実行できないので、処理は終了する。
一方、割り当てられていない列の数が列数k以上である場合(ステップS3:Yesルート)、割当部300は、以下の処理を実行する。具体的には、割当部300は、割り当てられていない列の中からジョブに割り当てる列を選択し、ジョブに割り当てる列に対応付けて「TRUE」を管理データ格納部304に登録する(ステップS5)。
図10は、列の選択について説明するための図である。図10においては格子部分における9つのLeafスイッチが示されており、3つの列のうち枠で囲まれた1列目と2列目とが選択されている。本実施の形態においては行数はn(すなわち全行が選択される)とする。この例においてはk=2且つm=2であるので、実行サーバの台数は12である。なお、k=2である場合に選択される2つの列は必ずしも連続していなくてもよく、例えば図11に示すように、1列目と3列目とが選択されてもよい。
例えば図10に示すように列が選択された場合には、管理データ格納部304は図12に示すように更新される。
また、図13に示すように、格子部分が複数のジョブに対して割り当てられてもよい。図13の例では、ジョブJ1に対して、LeafスイッチP(0,0)と、LeafスイッチP(0,1)と、LeafスイッチP(0,2)とが割り当てられる。ジョブJ2に対して、LeafスイッチP(1,0)と、LeafスイッチP(1,1)と、LeafスイッチP(1,2)と、LeafスイッチP(2,0)と、LeafスイッチP(2,1)と、LeafスイッチP(2,2)とが割り当てられる。そして、ジョブJ1において全対全通信が実行され、ジョブJ2において全対全通信が実行される。
以上のように、列単位でジョブに割り当てが行われると、ジョブ間で経路競合が発生することはない。その理由は、LeafスイッチからSpineスイッチまでの通信については、パケットの送信元のLeafスイッチが異なるのでリンクが共有されないからである。また、SpineスイッチからLeafスイッチまでの通信については、宛先のLeafスイッチが異なるのでリンクが共有されないからである。
図8の説明に戻り、通信表生成部301は、割当部300による割り当ての結果及びトポロジデータ格納部305に格納されている、ラテン方陣ファットツリーシステム1000のネットワークトポロジの情報に基づき、通信表を生成する処理である生成処理を実行する(ステップS7)。通信表は、実行サーバが実行する全対全通信のスケジュールの情報を含む。
図14は、生成処理の処理フローを示す図である。
通信表生成部301は、実行サーバが実行する全対全通信のスケジュールの情報を含む通信表を生成する(図14:ステップS21)。
ここで、本実施の形態の実行サーバが実行する全対全通信のスケジューリングについて説明する。例として、図10に示すように列の割り当てが行われたとする。すなわち、全対全通信に参加するLeafスイッチは、LeafスイッチP(0,0)、LeafスイッチP(0,1)、LeafスイッチP(0,2)、LeafスイッチP(1,0)、LeafスイッチP(1,1)及びLeafスイッチP(1,2)である。また、各Leafスイッチに接続されたサーバのうち2台のサーバが全対全通信に参加する。
図15は、ジョブに対して割り当てられた列に対応するネットワークトポロジを示す図である。図15においては、各Leafスイッチが4台のSpineスイッチ及び2台の実行サーバに接続される。説明の都合上、各実行サーバに番号が割り振られている。LeafスイッチP(0,0)に接続される実行サーバをサーバ「0」及びサーバ「1」とする。LeafスイッチP(0,1)に接続される実行サーバをサーバ「2」及びサーバ「3」とする。LeafスイッチP(0,2)に接続される実行サーバをサーバ「4」及びサーバ「5」とする。LeafスイッチP(1,0)に接続される実行サーバをサーバ「6」及びサーバ「7」とする。LeafスイッチP(1,1)に接続される実行サーバをサーバ「8」及びサーバ「9」とする。LeafスイッチP(1,2)に接続される実行サーバをサーバ「10」及びサーバ「11」とする。
各Leafスイッチは4台のSpineスイッチに接続されるが、4台のSpineスイッチは有限射影平面においてそれぞれ異なる傾きの直線に対応する。具体的には、図16に示すように、1台のLeafスイッチについて、傾き「∞」の直線と傾き「0」の直線と傾き「1」の直線と傾き「2」の直線とがあり、4台のSpineスイッチはそれぞれいずれかの直線に対応する。なお、或るノードがそのノードに対してパケットを送信する場合の傾きを「*」とする。傾きが同じである直線は格子部分内では交わらず、格子部分外の無限遠点において交わる。
例えばLeafスイッチP(0,0)の場合、図17に示すように、SpineスイッチL(0)は傾き「∞」の直線に対応する。図18に示すように、SpineスイッチL(0,0)は傾き「0」の直線に対応する。図19に示すように、SpineスイッチL(1,0)は傾き「1」の直線に対応する。図20に示すように、SpineスイッチL(2,0)は傾き「2」の直線に対応する。
図21は、リンクと傾きとの対応関係を示す図である。図21において、傾き「∞」のリンクを通るパケットはSpineスイッチL(0)を経由してLeafスイッチP(0,1)又はLeafスイッチP(0,2)に到達する。傾き「0」のリンクを通るパケットはSpineスイッチL(0,0)を経由してLeafスイッチP(1,0)に到達する。傾き「1」のリンクを通るパケットはSpineスイッチL(1,0)を経由してLeafスイッチP(1,1)に到達する。傾き「2」のリンクを通るパケットはSpineスイッチL(2,0)を経由してLeafスイッチP(1,2)に到達する。
従って、LeafスイッチP(0,0)に接続される2台のサーバが、それぞれ異なるSpineスイッチを使用してパケットを送信すれば、上で述べた、ラテン方陣ファットツリーの特徴から、送信されたパケットについては経路競合は発生しない。格子部分における他のLeafスイッチ(すなわち、LeafスイッチP(0,0)以外のLeafスイッチ)のリンクについても同様である。この制約を、全対全通信において経路競合を回避するための第1の制約とする。
第1の制約を満たすように通信表を生成する方法として、例えば以下の方法が有る。まず、通信表の生成の前処理として各サーバの傾き情報を生成する。ここでは、LeafスイッチP(0,0)に接続されるサーバ「0」及びサーバ「1」を例として説明を行う。傾き「∞」については他のノードが2台存在するので、図22に示すように、フェーズ群0及びフェーズ群1について、サーバ「0」に傾き「∞」を割り当てる。そして、図23に示すように、フェーズ群2、3、4について、サーバ「0」に傾き「0」、「1」、「2」を順に割り当てる。最後に、フェーズ群5について、サーバ「0」に傾き「*」を割り当てる。なお、フェーズ群は、1又は複数のフェーズを含む。このように、傾き「∞」については(n−1)行の書き込みが行われ、傾き0から傾き(n−1)については(k−1)行の書き込みが行われ、傾き「*」については1行の書き込みが行われる。
以上のような処理により生成された列を列方向にシフトすることで、サーバ「1」についての傾き情報も生成することができる。例えば図24に示すように2行分シフトすれば、各フェーズ群においてサーバ「0」及びサーバ「1」はそれぞれ異なるSpineスイッチを使用するようになる。このような方法で傾き情報を生成すればサーバ間で傾きが重複しないことについては、以下のように説明することができる。具体的には、行数はnkである。最も左の列を基準とした時のシフト数は、順に0、n−1、2(n−1)、3(n−1)、...、(m−1)(n−1)である。傾き「∞」については、行の数は(n−1)であるので、(n−1)行分のシフトから(nk−(n−1))行分のシフトまでの間で重複が生じることはない。傾き「∞」及び「*」以外の傾きについては、行の数は(k−1)であるので、(k−1)行分のシフトから(nk−(k−1))行分のシフトまでの間で重複が生じることはない。よって、傾き「∞」について重複が生じなければ第1の制約が満たされる。傾き「*」については重複が生じても問題はない。そして、(m−1)(n−1)<nk−(n−1)が成立する。
なお、第1の制約は、送信元サーバから宛先サーバに接続されるLeafスイッチまでの送信に関する制約であるが、宛先サーバに接続されるLeafスイッチから宛先サーバまでの送信にも制約がある。例えば図25及び図26に示すように、或るフェーズ群においてサーバ「7」及びサーバ「8」がLeafスイッチP(0,0)に接続されたサーバにパケットを送信するとする。この場合、サーバ「7」及びサーバ「8」はサーバ「0」及びサーバ「1」のそれぞれに対してパケットを送信するので、フェーズ群に2つのフェーズが無ければ経路競合を発生させることなく送信を実現することができない。この制約を、全対全通信において経路競合を回避するための第2の制約とする。
第1の制約および第2の制約から、n*k*mフェーズの全対全通信についての通信表を、例えば図27に示すように生成することができる。図27の例では、通信表には、フェーズ群の情報と、フェーズ群内のフェーズ番号と、フェーズの通し番号と、宛先サーバの番号とが格納される。各行においては0から11までの番号が1回ずつ出現する。また、各列においては0から11までの番号が1回ずつ出現する。従って、全対全通信が図27に示した通信表により実現される。一例として、図28に、フェーズ0における通信を示す。図28に示すように、いずれの経路においても同一方向に同時に複数のパケットが送信されないので、経路競合は発生していない。
なお、上で説明した生成方法は一例であり、第1の制約および第2の制約が満たされるのであれば別の方法により通信表を生成してもよい。また、図27に示した通信表の形式は一例であって、他の形式を有する通信表を生成してもよい。
図14の説明に戻り、通信表生成部301は、ステップS21において生成された通信表を通信表格納部303に格納する(ステップS23)。そして処理は呼び出し元に戻る。
以上のような処理により生成した通信表は、経路競合が発生しない全対全通信を実現することができる。
図8の説明に戻り、通信部302は、実行サーバに対して、通信表格納部303に格納された通信表を送信する(ステップS9)。なお、ステップS9においては、割当要求において指定されたジョブの識別情報等も実行サーバに送信される。
通信表を受信した各実行サーバは、通信表に従って全対全通信を実行する。実行サーバが実行する処理については、後で説明する。
その後、実行サーバによる全対全通信が完了すると、割当部300は、ステップS5においてジョブに割り当てられた列に対応付けて「FALSE」を管理データ格納部304に登録する(ステップS11)。そして処理は終了する。ステップS11の処理が行われると、管理データ格納部304には、例えば図9に示すような割当管理データが格納される。
次に、実行サーバが実行する処理について説明する。図29は、実行サーバが実行する処理の処理フローを示す図である。
サーバにおける通信部101は、フェーズ番号を表す変数iに0を設定する(図29:ステップS31)。
通信部101は、通信表格納部103に格納されている通信表と自サーバの識別情報(例えば図27に示した通信表を使用する場合、自サーバに割り振られた番号)とに基づき、通信部101がフェーズiにおいて送信するパケットの宛先を特定する(ステップS33)。なお、実行サーバは、通信表と共に送られてきた、ジョブの識別情報に基づき、実行すべきジョブを把握しているものとする。
通信部101は、ステップS33において特定された宛先に対して、全対全通信に係るパケットを送信する(ステップS35)。
通信部101は、i=imaxが成立するか判定する(ステップS37)。imaxは、通信表に従って行われる全対全通信のフェーズの通し番号の最大値である。i=imaxが成立しない場合(ステップS37:Noルート)、通信部101は、iを1インクリメントする(ステップS39)。そして処理はステップS33に移行する。なお、フェーズの終了はバリア同期によって確認される。
一方、i=imaxが成立する場合(ステップS37:Yesルート)、処理は終了する。
以上のように、格子部分における列の単位でジョブに対する割当を行えば、リンクが共有されないので、ジョブ間で経路競合が発生しないようにすることができるようになる。或るジョブの全対全通信のタイミングと別のジョブの全対全通信のタイミングとが揃っていなくても経路競合が発生することはなく、各ジョブを独立に実行することが可能である。
また、各ジョブにおいて実行される全対全通信においても、上で述べたような通信表を使用すれば経路競合が発生することがない。
従って、本実施の形態により、スループットを低下させることなくラテン方陣ファットツリーシステム1000において複数のジョブを実行することができるようになる。
[実施の形態2]
第2の実施の形態においては、第1の実施の形態における割当管理データとは異なる割当管理データを使用して、格子部分における各列の割り当てが管理される。
図30は、第2の実施の形態の管理装置3が実行する処理の処理フローを示す図である。
管理装置3における割当部300は、割当要求をユーザから受け付ける(図30:ステップS41)。割当要求はジョブに対するリソースの割り当ての要求であり、パラメータとして、例えばサーバの台数の情報sが含まれる。sを位数nで割ることによってk*mが求められ、条件(ここでは、1≦k≦n、1≦m≦n、k≧m)を満たすようにk及びmが特定される。パラメータkは格子部分の列のうちジョブに割り当てられる列の数を表し、パラメータmはLeafスイッチに接続されるサーバのうち全対全通信に参加するサーバの台数を表す。なお、パラメータとして、k及びmが割当要求に含まれていてもよい。
割当部300は、管理データ格納部304に格納されている割当管理データを参照し、(T+k−1)≦nが成立するか判定する(ステップS43)。Tは、管理データ格納部304に格納されている割当管理データに含まれる値であり、次に割り当てられる列の番号を表す。(T+k−1)≦nは、割り当てられていない列が存在することを意味する。
図31は、第2の実施の形態の管理データ格納部304に格納される割当管理データの一例を示す図である。図31の例では、既にジョブに割り当てられている列のうち先頭の列を表す値Hと、次に割り当てられる列の番号を表すTとが格納される。例えば図32に示すように、格子部分のサイズが7*7であり1行目から4行目までが既に割り当てられている場合、H=1且つT=5である。このように、第2の実施の形態の割当管理データはキューの形式で管理される。
(T+k−1)≦nが成立しない(すなわち、割り当てられていない列が存在しない)場合(ステップS43:Noルート)、割当要求において指定されたジョブを実行することができないので、処理は終了する。
一方、(T+k−1)≦nが成立する場合(ステップS43:Yesルート)、割当部300は、以下の処理を実行する。具体的には、割当部300は、管理データ格納部304に格納されているTをT=T+kとして更新する(ステップS45)。例えばk=2である場合、割り当ての状態は図33に示すような状態になる。そして、管理データ格納部304には、図34に示す割当管理データが格納される。
通信表生成部301は、割当部300による割り当ての結果及びトポロジデータ格納部305に格納されている、ラテン方陣ファットツリーシステム1000のネットワークトポロジの情報に基づき、通信表を生成する処理である生成処理を実行する(ステップS47)。第2の実施の形態における生成処理は第1の実施の形態における生成処理と同じであるので、詳細な説明を省略する。
通信部302は、実行サーバに対して、通信表格納部303に格納された通信表を送信する(ステップS49)。なお、ステップS49においては、割当要求において指定されたジョブの識別情報等も実行サーバに送信される。
通信表を受信した各実行サーバは、通信表に従って全対全通信を実行する。実行サーバが実行する処理は、第1の実施の形態の説明のとおりである。
その後、実行サーバによる全対全通信が完了すると、割当部300は、ステップS45において行われた割り当てを解除するように割当管理データを更新する(ステップS51)。そして処理は終了する。実行サーバによる全対全通信が完了した時点において、例えば図35に示すように5番目の列から7番目の列と1番目の列から2番目の列とが割り当てられている場合、割り当て管理データは、例えば図36に示す状態から図37に示す状態に更新される。
以上のように、格子部分における列の単位でジョブに対する割当を行えば、リンクが共有されないので、ジョブ間で経路競合が発生しないようにすることができる。或るジョブの全対全通信のタイミングと別のジョブの全対全通信のタイミングとが揃っていなくても経路競合が発生することはなく、各ジョブを独立に実行することが可能である。
また、各ジョブにおいて実行される全対全通信においても、上で述べたような通信表を使用すれば経路競合が発生することがない。
従って、本実施の形態により、スループットを低下させることなくラテン方陣ファットツリーシステム1000において複数のジョブを実行することができるようになる。
なお、本実施の形態の方法は各ジョブに対して連続する複数の列を割り当てることが好ましいケースに適している。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理装置3及びサーバの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
[付録]
本付録においては、ラテン方陣ファットツリーおよび有限射影平面について説明する。
有限射影平面とは、普通の平面に無限遠点をいくつか加え且つ「平行な2直線」をなくした平面に相当する。図38に、位数(以下nとする)が2であり且つポート数が6(=2(n+1))である場合の有限射影平面の構造を示す。図38において、枠382で囲まれた3(=n+1)台のLeafスイッチは無限遠点に相当する。
有限射影平面においては、1個の点Pが設定され、n個の点P(c)(c=0,1,...,n−1)が設定され、n2個の点P(c,r)(c,r=0,1,...,n−1)が設定される。また、1本の直線L={P,P(0),...,P(n−1)}が設定され、n本の直線L={P,P(c,0),...,P(c,n−1)}(c=0,1,...,n−1)が設定され、n2本の直線L(c,r)={P(c)およびP(i,(r+ci) mod n)}(i,c,r=0,1,...,n−1)が設定される。
有限射影平面の特徴は、(n2+n+1)の点が存在し、直線の数は(n2+n+1)であることである。任意の2直線は1点で交わり、任意の2点を結ぶ直線がただ一つ存在する。但し、nは素数であるという制約がある。
有限射影平面の構造は、トポロジ構造に置き換えられる。例えば、図39(a)に示した有限射影平面の構造は、図39(b)に示したトポロジ構造に置き換えられる。図39(a)において、直線はSpineスイッチを表し、点はLeafスイッチを表す。図39(b)において、ハッチングされた矩形はSpineスイッチを表し、ハッチングされていない矩形はLeafスイッチを表す。
図40(a)に示したトポロジ構造は、Spineスイッチの数が7であり且つLeafスイッチの数が7であるラテン方陣ファットツリーのトポロジ構造であり、図40(b)に示した有限射影平面の構造に対応する。図40(a)において太線で囲まれた部分のトポロジ構造は、図39(b)のトポロジ構造と同じである。また、図40(b)において太線で囲まれた部分の構造は、図40(a)において太線で囲まれた部分のトポロジ構造に対応する。
図38に示した構造は、図41に示す構造に変換することができる。図41において、ハッチングされた格子部分に含まれる4(=n*n)台のLeafスイッチは、図38において枠381に囲まれた部分に含まれる4台のLeafスイッチに対応する。格子部分において平行な直線群は、追加の点において交わるように変換される。すなわち、傾きが等しい直線同士が交わるように変換される。
以上で付録を終了する。
なお、上で述べた管理装置3及びサーバは、コンピュータ装置であって、図42に示すように、メモリ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スイッチは、図43に示すように、メモリ2601とCPU2603とHDD2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信制御部2617(図43では、2617a乃至2617c)とがバス2619で接続されている構成の場合もある。なお、場合によっては、表示制御部2607、表示装置2609、ドライブ装置2613、入力装置2615は含まれない場合もある。オペレーティング・システム及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2605に格納されており、CPU2603により実行される際にはHDD2605からメモリ2601に読み出される。必要に応じてCPU2603は、表示制御部2607、通信制御部2617、ドライブ装置2613を制御して、必要な動作を行わせる。なお、通信制御部2617のいずれかを介して入力されたデータは、他の通信制御部2617を介して出力される。CPU2603は、通信制御部2617を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ2601に格納され、必要があればHDD2605に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2611に格納されて頒布され、ドライブ装置2613からHDD2605にインストールされる。インターネットなどのネットワーク及び通信制御部2617を経由して、HDD2605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2603、メモリ2601などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理システムは、(A)複数のスパインスイッチ(実施の形態におけるSpineスイッチは上記スパインスイッチの一例である)と、(B)複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチ(実施の形態におけるLeafスイッチは上記リーフスイッチの一例である)と、(C)複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置(実施の形態におけるサーバは上記情報処理装置の一例である)と、(D)複数の情報処理装置の通信を管理する管理装置(実施の形態における管理装置3は上記管理装置の一例である)とを有する。そして、管理装置が、(d1)ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、複数の列のうち1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当てる割当部(実施の形態における割当部300は上記割当部の一例である)と、(d2)第1のジョブの全対全通信のスケジュール情報を、第1のリーフスイッチ群に接続される情報処理装置に送信し、第2のジョブの全対全通信のスケジュール情報を、第2のリーフスイッチ群に接続される情報処理装置に送信する送信部(実施の形態における通信部302は上記送信部の一例である)とを有する。
ラテン方陣ファットツリーの構造の特徴により、第1ジョブの全対全通信と第2ジョブの全対全通信との間で経路競合が発生しないようにすることができる。
また、割当部は、(d11)格子部分における各列に対応するリーフスイッチ群がジョブに割り当てられているか否かを表す値を要素とする配列に基づき、割り当てられていないリーフスイッチ群から、第1のリーフスイッチ群と第2のリーフスイッチ群とを特定してもよい。
リーフスイッチ群に対するジョブの割り当てを柔軟に行えるようになる。
また、割当部は、(d12)格子部分における複数の列に対応する複数のリーフスイッチ群に対するジョブの割り当てを管理するためのキューに基づき、割り当てられていないリーフスイッチ群から、第1のリーフスイッチ群と第2のリーフスイッチ群とを特定してもよい。
上記のようなキューを利用することで、有限射影平面の格子部分における連続領域を各ジョブに割り当てることができるようになる。
また、第1のリーフスイッチ群に接続される情報処理装置の各々は、(C1)受信した第1のジョブの全対全通信のスケジュール情報に従って第1のジョブの全対全通信を実行し、第2のリーフスイッチ群に接続される情報処理装置の各々は、(C2)受信した第2のジョブの全対全通信のスケジュール情報に従って第2のジョブの全対全通信を実行してもよい。
複数の情報処理装置の通信を管理する管理装置により生成された通信情報を使用するので、パケット送信のタイミングの誤り等が発生することなく、全体として適切に全対全通信を実行できるようになる。
また、第1のリーフスイッチ群に接続される情報処理装置の各々は、(C11)第1のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他の情報処理装置が使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信し、第2のリーフスイッチ群に接続される情報処理装置の各々は、(C21)第2のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他の情報処理装置が使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信してもよい。
第1ジョブの全対全通信において経路競合が発生することを防げるようになり、且つ、第2ジョブの全対全通信において経路競合が発生することを防げるようになる。
本実施の形態の第2の態様に係る情報処理方法は、複数のスパインスイッチと、複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、複数の情報処理装置の通信を管理する管理装置とを有する情報処理システムにおいて実行される。そして、上記情報処理方法は、(E)管理装置が、ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、(F)複数の列のうち1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当て、(G)第1のジョブの全対全通信のスケジュール情報を、第1のリーフスイッチ群に接続される情報処理装置に送信し、(H)第2のジョブの全対全通信のスケジュール情報を、第2のリーフスイッチ群に接続される情報処理装置に送信する処理を含む。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のスパインスイッチと、
前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、
前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、
前記複数の情報処理装置の通信を管理する管理装置と、
を有し、
前記管理装置が、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当てる割当部と、
前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する送信部と、
を有する情報処理システム。
(付記2)
前記割当部は、
前記格子部分における各列に対応するリーフスイッチ群がジョブに割り当てられているか否かを表す値を要素とする配列に基づき、割り当てられていないリーフスイッチ群から、前記第1のリーフスイッチ群と前記第2のリーフスイッチ群とを特定する、
付記1記載の情報処理システム。
(付記3)
前記割当部は、
前記格子部分における前記複数の列に対応する複数のリーフスイッチ群に対するジョブの割り当てを管理するためのキューに基づき、割り当てられていないリーフスイッチ群から、前記第1のリーフスイッチ群と前記第2のリーフスイッチ群とを特定する、
付記1記載の情報処理システム。
(付記4)
前記第1のリーフスイッチ群に接続されるサーバの各々は、
受信した前記第1のジョブの全対全通信のスケジュール情報に従って前記第1のジョブの全対全通信を実行し、
前記第2のリーフスイッチ群に接続されるサーバの各々は、
受信した前記第2のジョブの全対全通信のスケジュール情報に従って前記第2のジョブの全対全通信を実行する、
付記1乃至3のいずれか1つ記載の情報処理システム。
(付記5)
前記第1のリーフスイッチ群に接続されるサーバの各々は、
前記第1のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他のサーバが使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信し、
前記第2のリーフスイッチ群に接続されるサーバの各々は、
前記第2のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他のサーバが使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信する、
付記4記載の情報処理システム。
(付記6)
複数のスパインスイッチと、前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置の通信を管理する管理装置とを有する情報処理システムにおいて実行される情報処理方法であって、
前記管理装置が、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、
前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当て、
前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、
前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する、
処理を実行する情報処理方法。
(付記7)
複数のスパインスイッチと、前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置の通信を管理する管理装置とを有する情報処理システムにおける前記管理装置に実行させるプログラムであって、
前記管理装置に、
前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、
前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当て、
前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、
前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する、
処理を実行させるプログラム。
1000 ラテン方陣ファットツリーシステム
3 管理装置 300 割当部
301 通信表生成部 302 通信部
303 通信表格納部 304 管理データ格納部
305 トポロジデータ格納部
101 通信部 103 通信表格納部

Claims (7)

  1. 複数のスパインスイッチと、
    前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、
    前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、
    前記複数の情報処理装置の通信を管理する管理装置と、
    を有し、
    前記管理装置が、
    前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当てる割当部と、
    前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する送信部と、
    を有する情報処理システム。
  2. 前記割当部は、
    前記格子部分における各列に対応するリーフスイッチ群がジョブに割り当てられているか否かを表す値を要素とする配列に基づき、割り当てられていないリーフスイッチ群から、前記第1のリーフスイッチ群と前記第2のリーフスイッチ群とを特定する、
    請求項1記載の情報処理システム。
  3. 前記割当部は、
    前記格子部分における前記複数の列に対応する複数のリーフスイッチ群に対するジョブの割り当てを管理するためのキューに基づき、割り当てられていないリーフスイッチ群から、前記第1のリーフスイッチ群と前記第2のリーフスイッチ群とを特定する、
    請求項1記載の情報処理システム。
  4. 前記第1のリーフスイッチ群に接続されるサーバの各々は、
    受信した前記第1のジョブの全対全通信のスケジュール情報に従って前記第1のジョブの全対全通信を実行し、
    前記第2のリーフスイッチ群に接続されるサーバの各々は、
    受信した前記第2のジョブの全対全通信のスケジュール情報に従って前記第2のジョブの全対全通信を実行する、
    請求項1乃至3のいずれか1つ記載の情報処理システム。
  5. 前記第1のリーフスイッチ群に接続されるサーバの各々は、
    前記第1のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他のサーバが使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信し、
    前記第2のリーフスイッチ群に接続されるサーバの各々は、
    前記第2のジョブの全対全通信の各フェーズにおいて、同じリーフスイッチに接続される他のサーバが使用するスパインスイッチと異なるスパインスイッチを使用してパケットを送信する、
    請求項4記載の情報処理システム。
  6. 複数のスパインスイッチと、前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置の通信を管理する管理装置とを有する情報処理システムにおいて実行される情報処理方法であって、
    前記管理装置が、
    前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、
    前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当て、
    前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、
    前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する、
    処理を実行する情報処理方法。
  7. 複数のスパインスイッチと、前記複数のスパインスイッチにラテン方陣ファットツリーの形態で接続される複数のリーフスイッチと、前記複数のリーフスイッチのいずれかにそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置の通信を管理する管理装置とを有する情報処理システムにおける前記管理装置に実行させるプログラムであって、
    前記管理装置に、
    前記ラテン方陣ファットツリーに対応する有限射影平面の無限遠点以外の点を含む格子部分における複数の列のうち1又は複数の第1の列に対応する第1のリーフスイッチ群を、第1のジョブに割り当て、
    前記複数の列のうち前記1又は複数の第1の列とは異なる1又は複数の第2の列に対応する第2のリーフスイッチ群を、第2のジョブに割り当て、
    前記第1のジョブの全対全通信のスケジュール情報を、前記第1のリーフスイッチ群に接続されるサーバに送信し、
    前記第2のジョブの全対全通信のスケジュール情報を、前記第2のリーフスイッチ群に接続されるサーバに送信する、
    処理を実行させるプログラム。
JP2017149488A 2017-08-01 2017-08-01 情報処理システム、情報処理方法及びプログラム Active JP6915434B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017149488A JP6915434B2 (ja) 2017-08-01 2017-08-01 情報処理システム、情報処理方法及びプログラム
US16/038,496 US10516596B2 (en) 2017-08-01 2018-07-18 Information processing apparatus, method and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017149488A JP6915434B2 (ja) 2017-08-01 2017-08-01 情報処理システム、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019028853A true JP2019028853A (ja) 2019-02-21
JP6915434B2 JP6915434B2 (ja) 2021-08-04

Family

ID=65231262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017149488A Active JP6915434B2 (ja) 2017-08-01 2017-08-01 情報処理システム、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10516596B2 (ja)
JP (1) JP6915434B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7892698B2 (en) * 2003-07-18 2011-02-22 Versa Power Systems, Ltd. Electrically conductive fuel cell contact material

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7586892B2 (en) * 2004-04-26 2009-09-08 Hewlett-Packard Development Company, L.P. Computer method and apparatus for periodic scheduling with jitter-approximation tradeoff
GB2487684B (en) 2009-11-16 2016-09-14 Ibm Method for scheduling plurality of computing processes including all-to-all (a2a) communication across plurality of nodes (processors) constituting network, p
JP5664131B2 (ja) 2010-11-01 2015-02-04 富士通株式会社 情報処理方法、装置及びプログラム
JP6492977B2 (ja) * 2015-06-01 2019-04-03 富士通株式会社 並列演算装置、並列演算システム、ノード割当プログラム及びノード割当方法

Also Published As

Publication number Publication date
US10516596B2 (en) 2019-12-24
US20190044842A1 (en) 2019-02-07
JP6915434B2 (ja) 2021-08-04

Similar Documents

Publication Publication Date Title
US10230661B2 (en) Distributed virtual network embedding
Avin et al. Demand-aware network design with minimal congestion and route lengths
US11018896B2 (en) Information processing apparatus and information processing method
US11809895B2 (en) Control device, control method, and program
US11537443B2 (en) Reconfigurable computing pods using optical networks
JP2015232874A (ja) 並列計算機システム、並列計算機システムの制御方法、及び情報処理装置
JP6303613B2 (ja) 経路データ生成装置、経路データ生成方法及び経路データ生成プログラム
Adda et al. Routing and fault tolerance in Z-fat tree
JP6915434B2 (ja) 情報処理システム、情報処理方法及びプログラム
JP6874565B2 (ja) 情報処理システム、情報処理方法及び情報処理装置
US10616140B2 (en) Information processing system and information processing method
JP6911619B2 (ja) 情報処理システム及び情報処理方法
Xu et al. A mathematical model and dynamic programming based scheme for service function chain placement in NFV
JP6870487B2 (ja) 情報処理システム及び情報処理方法
JP6665607B2 (ja) 通信管理方法、通信管理プログラム及び情報処理装置
US20200337114A1 (en) Communication control method and information processing apparatus
Chen Network Update and Service Chain Management in Software Defined Networks
IX 13th USENIX Symposium on Networked Systems Design and Implementation
JP2019008649A (ja) 情報処理システム、管理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6915434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150