JP7193733B2 - 通信制御プログラム、通信制御方法および情報処理装置 - Google Patents
通信制御プログラム、通信制御方法および情報処理装置 Download PDFInfo
- Publication number
- JP7193733B2 JP7193733B2 JP2019077726A JP2019077726A JP7193733B2 JP 7193733 B2 JP7193733 B2 JP 7193733B2 JP 2019077726 A JP2019077726 A JP 2019077726A JP 2019077726 A JP2019077726 A JP 2019077726A JP 7193733 B2 JP7193733 B2 JP 7193733B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- nodes
- node
- relay devices
- data
- 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
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1523—Parallel switch fabric planes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/46—Cluster building
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
[第1の実施の形態]
第1の実施の形態を説明する。
第1の実施の形態の情報処理システムは、並列に情報処理を行う複数のノードの間のブロードキャスト通信を制御する。ブロードキャスト通信を行う対象のシステムは、例えば、多層フルメッシュトポロジをもつ多層フルメッシュシステムである。ただし、対象のシステムは、後述する構成を備えていれば多層フルメッシュシステムでなくてもよい。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の多層フルメッシュシステムの例を示す図である。
図3は、図2の多層フルメッシュシステムに含まれるサーバとLeafスイッチとSpineスイッチの間の配線を、図2とは異なる形式で表現したものである。
また、多層フルメッシュシステムは、Leafスイッチ200,201,202(Leafスイッチa1,a2,a3)を含む。Leafスイッチ200,201,202はそれぞれ、Spineスイッチ240,241,242の3つのSpineスイッチに接続されている。Leafスイッチ200には、サーバ100,101,102が接続されている。Leafスイッチ201には、サーバ103,104,105が接続されている。Leafスイッチ202には、サーバ106,107,108が接続されている。
サーバ100は、CPU151、RAM152、HDD153、画像インタフェース154、入力インタフェース155、媒体リーダ156およびHCA(Host Channel Adapter)157を有する。上記ユニットはバスに接続されている。他のサーバやジョブスケジューラ300も、サーバ100と同様のハードウェアを有する。
Leafスイッチ200は、CPU251、RAM252、ROM253および通信ポート254,255,256,257,258,259を有する。他のLeafスイッチやSpineスイッチも、Leafスイッチ200と同様のハードウェアを有する。
同一のジョブに属する複数のプロセスは、それら複数のプロセスが一斉にデータ送信に参加するコレクティブ通信を行うことがある。ユーザプログラムがMPIライブラリのコレクティブ通信の命令を呼び出すことで、一斉のデータ送信を開始できる。コレクティブ通信の1つの種類として、ブロードキャスト通信がある。ブロードキャスト通信では、ランク0のプロセスなど特定のプロセスがもつデータを、他の全てのプロセスにコピーする。1ノード1プロセスを仮定すると、ブロードキャスト通信は、あるサーバ(ノード)から他の全てのサーバ(ノード)にデータをコピーするものであると言える。ブロードキャスト通信のアルゴリズムの1つに、BinomialTreeアルゴリズムがある。
ここでは、サーバ110がランク0のプロセスを実行し、サーバ111がランク1のプロセスを実行し、サーバ120がランク2のプロセスを実行し、サーバ121がランク3のプロセスを実行するものとする。また、サーバ130がランク4のプロセスを実行し、サーバ131がランク5のプロセスを実行し、サーバ100がランク6のプロセスを実行し、サーバ101がランク7のプロセスを実行するものとする。また、ランク0のプロセスがランク1,2,3,4,5,6,7のプロセスに同一データを渡すことを考える。
前述のフェーズt2では、サーバ110がサーバ120にデータを送信し、サーバ111がサーバ121にデータを送信する。サーバ110からサーバ120への最短経路と、サーバ111からサーバ121への最短経路は共に、Leafスイッチ210、Spineスイッチ243、Leafスイッチ220を順に経由するものであり、競合している。
第2の実施の形態のブロードキャスト通信の手順を説明するにあたり、36個のサーバのうちの32個のサーバに、32個のプロセスを配置することを考える。4つのグループそれぞれに、32個のプロセスのうちの8個のプロセスが配置される。
まず、グループa,b,c,dそれぞれから代表プロセスが選択される。代表プロセスは、例えば、グループ内で最もランクが小さいプロセスである。ここでは、グループaからランク0のプロセスが選択され、グループbからランク1のプロセスが選択され、グループcからランク2のプロセスが選択され、グループdからランク3のプロセスが選択される。ただし、代表プロセスを他の基準で選択してもよい。また、ここでは4つのプロセスが同一の層に配置されているが、異なる層に配置されたプロセスが混在してもよい。
図10は、グループ間通信の競合回避例を示す図である。
上記のフェーズt1のステップS20では、サーバ100から、Leafスイッチ200とSpineスイッチ240とLeafスイッチ210を経由して、サーバ110にデータが送信される。上記のフェーズt2のステップS21では、サーバ100から、Leafスイッチ200とSpineスイッチ241とLeafスイッチ220を経由して、サーバ120にデータが送信される。また、上記のフェーズt2のステップS22では、サーバ110から、Leafスイッチ210とSpineスイッチ244とLeafスイッチ230を経由して、サーバ130にデータが送信される。
上記のフェーズt3のステップS23では、サーバ100から、Leafスイッチ200を経由してサーバ101にデータが送信される。
図12は、サーバとジョブスケジューラの機能例を示す図である。
サーバ100は、通信手順決定部171、通信手順記憶部172およびブロードキャスト実行部173を有する。通信手順記憶部172は、例えば、RAM152またはHDD153の記憶領域を用いて実現される。通信手順決定部171およびブロードキャスト実行部173は、例えば、CPU151が実行するプログラムを用いて実現される。他のサーバもサーバ100と同様のモジュールを有する。
プロセス配置決定部371は、ユーザからジョブ要求を受け付け、受け付けたジョブ要求に応じてジョブに含まれる複数のプロセスの配置を決定する。起動するプロセスの数は、ユーザからのジョブ要求で指定される。プロセス配置決定部371は、例えば、同一のジョブに属する複数のプロセスが、できる限りグループa,b,c,dに均等に配置されるようにプロセス配置を決定する。プロセス配置決定部371は、決定したプロセス配置を示すプロセス配置情報を、ジョブで使用する複数のサーバに送信する。
プロセス配置テーブル174は、通信手順決定部171がジョブスケジューラ300から受信するプロセス配置情報を示す。プロセス配置テーブル174は、ランクとノードIDとを対応付ける。ランクは、ジョブに含まれる複数のプロセスを識別する非負整数の識別番号である。ノードIDは、プロセスが配置されたサーバを識別する識別子である。ノードIDが、パケットの宛先を示す通信アドレスを兼ねてもよい。
送信手順テーブル175および受信手順テーブル176は、通信手順決定部171により生成されて通信手順記憶部172に格納される。
図15は、通信手順決定の処理例を示すフローチャートである。
(S30)通信手順決定部171は、ジョブに含まれる複数のプロセスそれぞれが配置されたサーバ(ノード)を特定し、特定したサーバが属するグループを判定する。各グループは、接続されているSpineスイッチが同一である複数のLeafスイッチおよびそれらLeafスイッチに接続された複数のサーバによって形成される。
(S40)ブロードキャスト実行部173は、ユーザプログラムからブロードキャスト通信が指示されると、送信手順テーブル175と受信手順テーブル176を取得する。
(S42)ブロードキャスト実行部173は、受信手順テーブル176から、ステップS41で選択したフェーズとサーバ100に配置されたプロセスのランクとの組に対応する数値を読み出す。ブロードキャスト実行部173は、読み出した数値が送信元ランクを表しているか、すなわち、該当する送信元ランクが受信手順テーブル176に登録されているか判断する。読み出した数値が「-1」である場合、送信元ランクが登録されていないことになる。送信元ランクが登録されている場合はステップS43に進み、送信元ランクが登録されていない場合はステップS44に進む。
11,12,13,14,15,16,17,18 ノード
21,22,23,24,25,26,27,28 中継装置
31,32 グループ
33,34 ブロードキャスト通信
Claims (6)
- コンピュータに、
複数のノードと複数の第1の中継装置と複数の第2の中継装置とを含み、前記複数のノードそれぞれが前記複数の第1の中継装置の1つと接続され、前記複数の第1の中継装置それぞれが前記複数の第2の中継装置の一部である2以上の第2の中継装置と接続されたシステムにおいて、接続された前記2以上の第2の中継装置が同一でない異なる第1の中継装置に接続された異なるノードが、異なるグループに分類されるように、前記システムに含まれる前記複数のノードを複数のグループに分類し、
前記複数のグループそれぞれから代表ノードを選択し、
前記複数のグループに対応する複数の代表ノードの間で実行される第1のブロードキャスト通信の通信順序を、1つの代表ノードが最初の送信元ノードとして動作し、データを受信した代表ノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定し、
前記複数のグループそれぞれについて、前記第1のブロードキャスト通信の後に当該グループに含まれる2以上のノードの間で実行される第2のブロードキャスト通信の通信順序を、当該グループの代表ノードが最初の送信元ノードとして動作し、データを受信したノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定する、
処理を実行させる通信制御プログラム。 - 前記複数のノードの分類では、接続された前記2以上の第2の中継装置が同一である異なる第1の中継装置に接続された異なるノードを、同じグループに分類する、
請求項1記載の通信制御プログラム。 - 前記複数のグループそれぞれの代表ノードは、当該グループに含まれる前記2以上のノードのうち、配置されたプロセスの識別番号が最小のノードである、
請求項1記載の通信制御プログラム。 - 前記第1のブロードキャスト通信および前記第2のブロードキャスト通信では、2以上の送信元ノードが異なるノードに並列にデータを送信するフェーズを繰り返すことで、データを受信済みであるノードの数をフェーズ毎に2倍にする、
請求項1記載の通信制御プログラム。 - コンピュータが、
複数のノードと複数の第1の中継装置と複数の第2の中継装置とを含み、前記複数のノードそれぞれが前記複数の第1の中継装置の1つと接続され、前記複数の第1の中継装置それぞれが前記複数の第2の中継装置の一部である2以上の第2の中継装置と接続されたシステムにおいて、接続された前記2以上の第2の中継装置が同一でない異なる第1の中継装置に接続された異なるノードが、異なるグループに分類されるように、前記システムに含まれる前記複数のノードを複数のグループに分類し、
前記複数のグループそれぞれから代表ノードを選択し、
前記複数のグループに対応する複数の代表ノードの間で実行される第1のブロードキャスト通信の通信順序を、1つの代表ノードが最初の送信元ノードとして動作し、データを受信した代表ノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定し、
前記複数のグループそれぞれについて、前記第1のブロードキャスト通信の後に当該グループに含まれる2以上のノードの間で実行される第2のブロードキャスト通信の通信順序を、当該グループの代表ノードが最初の送信元ノードとして動作し、データを受信したノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定する、
通信制御方法。 - 複数のノードと複数の第1の中継装置と複数の第2の中継装置とを含み、前記複数のノードそれぞれが前記複数の第1の中継装置の1つと接続され、前記複数の第1の中継装置それぞれが前記複数の第2の中継装置の一部である2以上の第2の中継装置と接続されたシステムにおいて、前記複数のノードの間のブロードキャスト通信の通信順序を示す通信制御データを記憶する記憶部と、
前記ブロードキャスト通信の通信順序を決定する処理部と、
を有し、前記処理部は、
接続された前記2以上の第2の中継装置が同一でない異なる第1の中継装置に接続された異なるノードが、異なるグループに分類されるように、前記システムに含まれる前記複数のノードを複数のグループに分類し、
前記複数のグループそれぞれから代表ノードを選択し、
前記複数のグループに対応する複数の代表ノードの間で実行される第1のブロードキャスト通信の通信順序を、1つの代表ノードが最初の送信元ノードとして動作し、データを受信した代表ノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定し、
前記複数のグループそれぞれについて、前記第1のブロードキャスト通信の後に当該グループに含まれる2以上のノードの間で実行される第2のブロードキャスト通信の通信順序を、当該グループの代表ノードが最初の送信元ノードとして動作し、データを受信したノードが送信元ノードに加わることで並列にデータを送信する送信元ノードが増加するように決定する、
情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019077726A JP7193733B2 (ja) | 2019-04-16 | 2019-04-16 | 通信制御プログラム、通信制御方法および情報処理装置 |
US16/827,752 US11082325B2 (en) | 2019-04-16 | 2020-03-24 | Communication control method and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019077726A JP7193733B2 (ja) | 2019-04-16 | 2019-04-16 | 通信制御プログラム、通信制御方法および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020178180A JP2020178180A (ja) | 2020-10-29 |
JP7193733B2 true JP7193733B2 (ja) | 2022-12-21 |
Family
ID=72832074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019077726A Active JP7193733B2 (ja) | 2019-04-16 | 2019-04-16 | 通信制御プログラム、通信制御方法および情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11082325B2 (ja) |
JP (1) | JP7193733B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113285833B (zh) * | 2021-05-26 | 2023-03-31 | 北京百度网讯科技有限公司 | 用于获取信息的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009519504A (ja) | 2005-11-17 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 対称型マルチプロセッシング・クラスタ環境におけるプロセス間の通信 |
JP2009193255A (ja) | 2008-02-13 | 2009-08-27 | Fujitsu Ltd | 集団通信最適化プログラム、集団通信最適化装置および集団通信最適化方法 |
US20140156890A1 (en) | 2012-12-03 | 2014-06-05 | Industry-Academic Cooperation Foundation, Yonsei University | Method of performing collective communication and collective communication system using the same |
US20150160965A1 (en) | 2013-12-05 | 2015-06-11 | International Business Machines Corporation | Constructing A Logical Tree Topology In A Parallel Computer |
JP2018185650A (ja) | 2017-04-26 | 2018-11-22 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP2020512638A (ja) | 2017-03-24 | 2020-04-23 | オラクル・インターナショナル・コーポレイション | 高性能コンピューティング環境においてサブネットアドミニストレータアクセスの必要性を低減するために同種のファブリック属性を提供するシステムおよび方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095600B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US20110149731A1 (en) * | 2009-12-17 | 2011-06-23 | Gong Michelle X | Device, system and method of scheduling communications with a group of wireless communication units |
GB2505229B (en) * | 2012-08-23 | 2019-10-16 | Metaswitch Networks Ltd | Upgrading nodes |
TWI481245B (zh) * | 2012-12-19 | 2015-04-11 | Motech Ind Inc | 通訊網路的子裝置的位址設定方法 |
US10051054B2 (en) * | 2013-03-15 | 2018-08-14 | Oracle International Corporation | System and method for efficient virtualization in lossless interconnection networks |
CN107547418B (zh) * | 2016-06-29 | 2019-07-23 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
JP6603631B2 (ja) | 2016-08-09 | 2019-11-06 | 日本電信電話株式会社 | データ配信システム、および、データ転送装置 |
-
2019
- 2019-04-16 JP JP2019077726A patent/JP7193733B2/ja active Active
-
2020
- 2020-03-24 US US16/827,752 patent/US11082325B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009519504A (ja) | 2005-11-17 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 対称型マルチプロセッシング・クラスタ環境におけるプロセス間の通信 |
JP2009193255A (ja) | 2008-02-13 | 2009-08-27 | Fujitsu Ltd | 集団通信最適化プログラム、集団通信最適化装置および集団通信最適化方法 |
US20140156890A1 (en) | 2012-12-03 | 2014-06-05 | Industry-Academic Cooperation Foundation, Yonsei University | Method of performing collective communication and collective communication system using the same |
US20150160965A1 (en) | 2013-12-05 | 2015-06-11 | International Business Machines Corporation | Constructing A Logical Tree Topology In A Parallel Computer |
JP2020512638A (ja) | 2017-03-24 | 2020-04-23 | オラクル・インターナショナル・コーポレイション | 高性能コンピューティング環境においてサブネットアドミニストレータアクセスの必要性を低減するために同種のファブリック属性を提供するシステムおよび方法 |
JP2018185650A (ja) | 2017-04-26 | 2018-11-22 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
千葉 立寛 ほか,グリッド環境におけるマルチレーンを用いたMPIコレクティブ通信アルゴリズム MPI Collective Operations Algorithm by Using Multi-lane for Grid Environment,情報処理学会論文誌 第48巻 No.SIG8(ACS18) IPSJ,日本,社団法人情報処理学会 Information Processing Society of Japan,2007年05月15日,第48巻,pp. 104-113 |
Also Published As
Publication number | Publication date |
---|---|
US11082325B2 (en) | 2021-08-03 |
US20200336404A1 (en) | 2020-10-22 |
JP2020178180A (ja) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8868963B2 (en) | Dynamically configurable placement engine | |
US8234435B2 (en) | Relay device | |
US5898826A (en) | Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network | |
EP2564561B1 (en) | Method for routing data packets in a fat tree network | |
US8499222B2 (en) | Supporting distributed key-based processes | |
US9917884B2 (en) | File transmission method, apparatus, and distributed cluster file system | |
US20050117562A1 (en) | Method and apparatus for distributing traffic over multiple switched fibre channel routes | |
US10893111B1 (en) | Developing and implementing migration sequences in data communication networks | |
CN105122730A (zh) | 用于快速链路故障处理的系统和方法 | |
US20130144931A1 (en) | Candidate set solver with user advice | |
JP2007065751A (ja) | ストレージシステム及び記憶制御方法 | |
WO2019056771A1 (zh) | 分布式存储系统升级管理的方法、装置及分布式存储系统 | |
US20130145034A1 (en) | Agile hostpool allocator | |
JP2022522320A (ja) | 光ネットワークを用いた再構成可能な計算ポッド | |
JP7193733B2 (ja) | 通信制御プログラム、通信制御方法および情報処理装置 | |
US9246792B2 (en) | Providing point to point communications among compute nodes in a global combining network of a parallel computer | |
CN106104503A (zh) | 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化 | |
JP6459630B2 (ja) | データ転送制御装置、データ転送制御プログラム、および並列計算システム | |
US10104202B2 (en) | Collectively loading programs in a multiple program multiple data environment | |
JP6874563B2 (ja) | 情報処理システム及び情報処理方法 | |
JP7193734B2 (ja) | 通信制御プログラム、通信制御方法および情報処理装置 | |
US11656920B2 (en) | Information processing apparatus and computer-readable storage medium storing parallel computing program | |
US10193790B2 (en) | Systems and methods for an intelligent, distributed, autonomous, and scalable resource discovery, management, and stitching | |
CN108924066B (zh) | 报文转发方法和装置 | |
JP6915434B2 (ja) | 情報処理システム、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221031 |
|
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: 20221108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7193733 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |