JP2019169135A - コンピュータクラスタのノード間の通信経路を確立する方法、当該方法に対応するコンピュータプログラム、及びコンピュータクラスタ - Google Patents
コンピュータクラスタのノード間の通信経路を確立する方法、当該方法に対応するコンピュータプログラム、及びコンピュータクラスタ Download PDFInfo
- Publication number
- JP2019169135A JP2019169135A JP2019018993A JP2019018993A JP2019169135A JP 2019169135 A JP2019169135 A JP 2019169135A JP 2019018993 A JP2019018993 A JP 2019018993A JP 2019018993 A JP2019018993 A JP 2019018993A JP 2019169135 A JP2019169135 A JP 2019169135A
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- node
- computer cluster
- computer
- global
- 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.)
- Pending
Links
Classifications
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/48—Routing tree calculation
-
- 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/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q11/0066—Provisions for optical burst or packet networks
-
- 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
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/009—Topology aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】コンピュータクラスタのノード間の通信経路を、通信リンクがバランスよく使用されるように設定することができる方法、当該方法に対応するコンピュータプログラム及びコンピュータクラスタを提供する。【解決手段】コンピュータクラスタ100において、ノード1060〜10663にそれぞれ第1のグローバル番号を割り当てたのち、選択されたノードに対しては、第1のグローバル番号と異なり、通信リンク114の少なくとも一部のそれぞれの周期とは異なる値によって連続的に分離される番号を割り当てた、第2のグローバル番号を割り当てる。第2のグローバル番号とコンピュータクラスタのトポロジに基づいて、第1ノードと第2ノード間の経路をアルゴリズムを実行して決定する。該アルゴリズムは、第1ノード又は第2ノードが1より大きい周期に従う周期的な番号を有する、同一の通信リンク114を経由する通信経路を提供する。【選択図】図1
Description
本発明はコンピュータクラスタのノード間の通信経路を確立する方法、当該方法に対応するコンピュータプログラム、及びコンピュータクラスタに関する。
特に、本発明は以下の種類のコンピュータクラスタのノード間の通信経路を確立する方法に適応できる。すなわち、ノードと、前記ノードの相互接続ネットワークと、を含み、前記相互接続ネットワークは、一部が前記ノードに接続されたスイッチと、前記スイッチの間の通信リンクと、を含み、前記ノード、前記スイッチ、および前記通信リンクの相対配置を定義する特定のトポロジを有するコンピュータクラスタである。前記方法は、第1のグローバル番号が前記ノードにそれぞれ割り当てられた前記コンピュータクラスタの前記トポロジを取得する工程と、前記ノードのうちの1対のノードの各組み合わせについて、当該1対のノードのうちの第1ノード及び第2ノードの間の通信経路を提供するように設計されたアルゴリズムを、これらのノードのそれぞれの番号及び前記コンピュータクラスタの前記トポロジに基づいて実行する工程(210)であって、前記アルゴリズムは、前記第1ノード又は前記第2ノードが1より大きい周期に従う周期的な番号を有する、同一の通信リンクを経由する通信経路を提供するように設計された、工程と、を備える方法である。
上記の種類の方法は、コンピュータクラスタのパフォーマンスレベルを向上させるのに有利である。
よって、本発明は上記の種類のコンピュータクラスタのノード間の通信経路を確立する方法に関し、当該方法はさらに、ノードを選択する工程と、前記ノードに対して第2のグローバル番号を割り当てるべく番号付けする工程であって、当該第2のグローバル番号は前記選択されたノードのうちの少なくとも一部の前記第1のグローバル番号と異なり、前記選択されたノードの前記第2のグローバル番号は、前記通信リンクの少なくとも一部のそれぞれの周期とは異なる値によって連続的に分離される、工程と、を備え、前記アルゴリズムを実行するために、前記ノードが前記第2のグローバル番号によって識別されることを特徴とする方法である。
本発明により、選択されたノードの番号が通信リンクの少なくとも一部の周期を有さないように付与されたノードの番号に基づいて、アルゴリズムが実装される。これにより、これらの通信リンクの1つが、選択されたノードを結合する経路のすべてによって経由されることを防ぐことができる。こうして、選択されたノードについて通信リンクがバランスよく使用されることになる。大量のデータを交換するノードを選択して上記のようにバランスよく使用することによって、多数の選択されたノードについて同一の通信リンクが使用される可能性が低減され、よってこの通信リンクが混雑する可能性が低減される。
前記選択されたノードは、他のノードにはない共通の特徴を有してもよい。
また、前記共通の特徴は、前記選択されたノードが光ネットワークインターフェースであることであってもよい。
また、前記共通の特徴は、前記選択されたノードがストレージコンピュータに属することであってもよい。
また、前記共通の特徴は、前記選択されたノードがグラフィック処理装置を備えるコンピュータプロセッサに属することであってもよい。
また、前記選択されたノードの前記第2のグローバル番号が連続的であってもよい。
また、前記方法はさらに、前記通信リンクの少なくとも一部のそれぞれの周期を決定する工程と、前記選択されたノードの前記第2のグローバル番号を連続的に分離するための値を決定する工程であって、決定された値のそれぞれは決定された前記周期と異なる、工程と、を備えてもよい。
また、前記ノードは前記スイッチの一部の接続ポートに接続され、当該接続ポートは、当該接続ポートが属する前記スイッチ内のローカル番号を有し、当該ローカル番号から前記第1のグローバル番号が取得されてもよい。
また、スイッチの接続ポートに接続された前記ノードの前記第1のグローバル番号は、当該ノードがそれぞれ接続された前記接続ポートのローカル番号と同じ順序で、規則的に連続するように互いに継続してもよい。
また、前記方法はさらに、前記コンピュータクラスタのトポロジを決定するべく前記コンピュータクラスタに対してディスカバリ機能を実行する工程であって、当該ディスカバリ機能の実行中に前記第1のグローバルナンバリングシステムに従って前記ノードに番号付けを行う工程を備えてもよい。
また、前記コンピュータクラスタは、前記選択されたノード以外のノードが互いにデータを交換する第1のフェーズと、前記選択されたノード以外のノードが前記選択されたノードとデータを交換する第2のフェーズとを交互に繰り返すように設計されてもよい。
本発明はさらに、通信ネットワークからダウンロードし、及び/又はコンピュータ可読媒体に保存し、及び/又はプロセッサによって実行することが可能なコンピュータプログラムに関し、当該コンピュータプログラムは、コンピュータ上で実行されたときに、上述のコンピュータクラスタのノード間の通信経路を確立する方法の各工程を実行するための命令を含む。
本発明はさらに、ノードと、前記ノードの相互接続ネットワークと、を含み、前記相互接続ネットワークは、一部が前記ノードに接続されたスイッチと、前記スイッチの間の通信リンクと、を含み、前記ノード、前記スイッチ、および前記通信リンクの相対配置を定義する特定のトポロジを有するコンピュータクラスタに関し、前記コンピュータクラスタは、第1のグローバル番号が前記ノードにそれぞれ割り当てられた前記コンピュータクラスタの前記トポロジを取得するための手段と、前記ノードのうちの1対のノードの各組み合わせについて、当該1対のノードのうちの第1ノード及び第2ノードの間の通信経路を提供するように設計されたアルゴリズムを、これらのノードのそれぞれの番号及び前記コンピュータクラスタの前記トポロジに基づいて実行するための手段であって、前記アルゴリズムは、前記第1ノード又は前記第2ノードが1より大きい周期に従う周期的な番号を有する、同一の通信リンクを経由する通信経路を提供するように設計された、手段と、を備え、前記コンピュータクラスタはさらに、ノードを選択するための手段と、前記ノードに対して第2のグローバル番号を割り当てるべく番号付けするための手段であって、当該第2のグローバル番号は前記選択されたノードのうちの少なくとも一部の前記第1のグローバル番号と異なり、前記選択されたノードの前記第2のグローバル番号は、前記通信リンクの少なくとも一部のそれぞれの周期とは異なる値によって連続的に分離される、手段と、を備え、前記アルゴリズムを実行するために、前記ノードが前記第2のグローバル番号によって識別されることを特徴とする。
以下の説明により、本発明はよりよく理解されるであろう。この説明は例示のみを目的としたものであり、また、添付の図面を参照する。
図1を参照して、本発明を実装するコンピュータクラスタ100を説明する。
コンピュータクラスタ100は独立したコンピュータ102,104をグループ化したものであり、外部から見れば非常に計算能力の高い単一のコンピュータとなる。こうしたコンピュータはHPC(高性能コンピュータ)と称する。各コンピュータ102,104はそれぞれ、中央演算処理装置(CPU)、当該CPUで処理される命令が記録されるメインメモリ、及び少なくとも1つのネットワークインターフェースを含む。
各ネットワークインターフェースはそれぞれコンピュータクラスタ100のノード1060〜10663を形成する。複数のネットワークインターフェース(すなわち複数のノード1060〜10663)は同一のコンピュータ102,104に属してもよく、あるいは、説明される例においては、各コンピュータ102,104はノード1060〜10663の1つを形成する単一のネットワークインターフェースのみを含んでもよい。
また、説明される例においては、コンピュータクラスタ100のコンピュータ102,104は、コンピュータプロセッサ102及びストレージコンピュータ104を含み、後者はコンピュータプロセッサ102によって使用及び/又は生成されるデータを保存するためのハードディスクなどの打容量メモリを含む。
コンピュータクラスタ100はさらに、管理サーバ108を含む。管理サーバ108は特にコンピュータクラスタ100の使用を望むクライアントとの対話を行うように設計されており、コンピュータクラスタ100はクライアントによって単一のマシンと見なされる。管理サーバ108はさらに、クライアントから受けたタスクをコンピュータプロセッサ102の間でスケジューリングするように設計されている。以下に説明するように、管理サーバ108はさらに、コンピュータクラスタのノード1060〜10663の間の通信経路を確立する方法を実装するように設計されている。この目的のために、管理サーバ108は以下に説明する工程を実行するための手段を備える。説明する例において、管理サーバ108は、中央演算処理装置(CPU)及び当該CPUで処理される命令が記録されるメインメモリを備える。したがって、説明する例において、上記手段は、通信ネットワークからダウンロードすることができ、及び/又はコンピュータ可読媒体に保存することができ、及び/又はプロセッサによって実行することができるコンピュータプログラムの形態のソフトウェア手段であり、当該ソフトウェア手段は、上記コンピュータプログラムが管理サーバ上で実行されるときに上記方法の各工程を実行するための命令を含む。あるいは、これらの手段の全部または一部は、専用集積回路内のマイクロプログラム式(micro−programmed)またはマイクロワイヤ式(micro−wired)ハードウェア手段であり得る。したがって、別の形態として、管理サーバ108は、同様の動作を実行するためのデジタル回路からのみ構成される(コンピュータプログラムなしの)電子装置であり得る。
本発明の他の実施形態では、管理サーバ108の異なる機能を複数の装置間、例えば複数のコンピュータ間で分担することができる。
そのようなコンピュータクラスタ100は、複雑な処理動作及び/又は並列計算が複数のコンピュータプロセッサ102の少なくとも一部分にわたって分散されることを可能にする。
以下の段落では、「計算ノード」および「ストレージノード」という用語はそれぞれ、コンピュータプロセッサ102およびストレージコンピュータ104に属するネットワークインターフェースによって形成されたノードを示すためにそれぞれ使用される。
説明する例において、ストレージコンピュータ104のネットワークインターフェースは光ネットワークインターフェースであり、コンピュータプロセッサ102のネットワークインターフェースは光ネットワークインターフェースの帯域幅より小さい帯域幅を有する電気的ネットワークインターフェースである。実際、ストレージコンピュータ104は一般に、コンピュータプロセッサ102よりも多くのデータを交換する。
コンピュータクラスタ100はさらに、ノード1060〜10663の相互接続ネットワーク110を含む。
ネットワーク110は、スイッチ1121〜11214と、スイッチ1121〜11214の間の通信リンク114とを含む。各スイッチ1121〜11214は複数の接続ポート(図1では小さな正方形の形で示される)を有し、各通信リンク114はそれぞれ2つのスイッチ1121〜11214の2つの接続ポート間に接続される。
ノード1060〜10663は、それぞれ以下で外部スイッチ1121〜1124、11211〜11214と称する、スイッチ1121〜11214の一部の接続ポートに接続されている。他のスイッチ1125〜11210は、以下では内部スイッチと称する。
コンピュータクラスタ100は、ノード1060〜10663、スイッチ1121〜11214および通信リンク114の相対配置を定義する特定のトポロジを有する。説明する例において、このトポロジは並列一般化ファットツリー(PGFT)のトポロジである。PGFTのトポロジは、一般に次の表記で定義される。PGFT(n; m1…mn; w1…wn; p1…pn)。ここで、nはスイッチ1121〜11214を分類するレベルの数であり、mnはレベルnの各スイッチに接続されているレベルn−1のスイッチ(すなわち第1レベルのノード)の数であり、wnはレベルn−1の各スイッチ(すなわち第1レベルの各ノード)に接続されているレベルnのスイッチの数であり、pnはレベルnとレベルn−1の間(すなわちレベルnと第1レベルのノードとの間)で使用される並列通信リンクの数である。
したがって、ノード1060〜10663が接続されている外部スイッチ1121〜1124、11211〜11214は、第1レベルのスイッチを形成する。さらに、PGFTトポロジでは、各通信リンク114は連続する階層レベルの2つのスイッチ間に接続されている。
各スイッチ1121〜11214について、下位レベル(すなわち外部スイッチ1121〜1124、11211〜11214の場合にはノード1060〜10663)に通じる接続ポートは、以下で「下位接続ポート」と称する。一方、上位レベルに通じる接続ポートは、以下で「上位接続ポート」と称する。
説明する例では、PGFTは、PGFT(3;8,4,2;1,2,1;1,1,4)という表記によって定義される。したがって、8つのノードが各外部スイッチ1121〜1124、11211〜11214に接続されるため、後者は8つの下位接続ポートを備える。
各スイッチ1121〜11214の下位接続ポートおよび上位接続ポートは、このスイッチ1121〜11214内でのローカルナンバリングに従って番号付けされている。下位接続ポートのローカル番号および上位接続ポートのローカル番号は、図1において小さな四角の中に示されている。具体的には、各外部スイッチ1121〜1124、11211〜11214の下位接続ポートは、説明する例において、0から7までのローカル番号を割り当てるローカルナンバリングシステムに従って都度番号付けされる。
なお説明する例では、外部スイッチ1121〜1124、11211〜11214は、少なくともその下位接続ポートに関しては全て同一である。さらに、説明する例では、ローカル番号7を割り当てられた外部スイッチ1121〜1124、11211〜11214の下位接続ポートは、ストレージコンピュータ104の(ストレージノード1067、10615、10623、10631、10639、10647、10655、10663を形成する)光ネットワークインターフェースが接続される光ポートである。外部スイッチ1121〜1124、11211〜11214の他の下位接続ポートは、計算ノードが接続される電気接続ポートである。説明する例では、内部スイッチ1125〜11210の接続ポート(下位および上位接続ポート)も電気接続ポートである。
管理サーバ108は、ノード間の通信経路を確立するためのアルゴリズムを実装するように設計されている。より具体的には、このアルゴリズムは、これらのノード1060〜10663の番号およびコンピュータクラスタ100のトポロジに基づいて、第1のノード1060〜10663と第2のノード1060〜10663との間の通信経路を提供するように設計される。
説明する例では、使用されるアルゴリズムはD‐mod‐kアルゴリズムであり、このアルゴリズムにおいては、出発ノードと称する第1のノードの番号(sと表記する)と、目的ノードと称する第2のノードの番号(dと表記する)とを用いて、これら2つのノード間の通信経路を定義する。
通信経路は出発ノードから開始して、出発ノードが接続されている外部スイッチ1121〜1124、11211〜11214を最初に経由する。
テスト工程中に、目的ノードに到達するために上位レベルのスイッチを経由する必要があるかが判定される。
必要と判定された場合、次の公式を使用して上位接続ポート(すなわち、経由する上位レベルのスイッチ)を選択する。
[d / (w0 * p0) / (w1 * p1) / … / (wx-1 * px-1)] mod (wx * px)
ここで、[]は整数部を表し、modは法を表す。
[d / (w0 * p0) / (w1 * p1) / … / (wx-1 * px-1)] mod (wx * px)
ここで、[]は整数部を表し、modは法を表す。
必要と判定されない場合、目的ノードへの最短経路上の下位レベルのスイッチが選択され、複数の並列リンクが選択された下位レベルのスイッチにつながる場合、次の公式を使用して下位接続ポートを選択する。
[ d / ( w0* … *wx-1 ) ] mod (px-1)
ここで、[]は整数部を表し、modは法を表す。
[ d / ( w0* … *wx-1 ) ] mod (px-1)
ここで、[]は整数部を表し、modは法を表す。
その後、このアルゴリズムはテスト工程に戻る。
例えば、説明する例では、第1レベルのスイッチ1121〜1124、11211〜11214から第2レベルのスイッチ1125、1126、1129、11210まで経由する必要があるとき、アルゴリズムD−mod−kは式[d] mod 2を与える。これは周期2で周期的である。第2レベルのスイッチ1125、1126、1129、11210から第3レベルのスイッチ1127、1128まで経由するには、アルゴリズムD−mod−kは式[d/2] mod 4を与える。これは周期8で周期的である。
したがって、このアルゴリズムは、経路が同じ通信リンクを経由するように設計されており、その経路の目的ノードは、1より大きい(「厳密により大きい」ことを意味すると理解される)周期による周期的な番号を有する。
あるいは、アルゴリズムS‐mod‐kが使用されてもよい。その場合には、アルゴリズムD‐mod‐kによるものと同様の式が、番号dを番号sで置き換えて使用される。したがって、アルゴリズムS‐mod‐kも経路が同じ通信リンクを経由するように設計されており、その経路の出発ノードは、1より大きい(やはり「厳密により大きい」を意味すると理解される)周期による周期的な番号を有する。
図2を参照して、コンピュータクラスタ100のノード1060〜10663の間の通信経路を確立し使用するための第1の方法200について説明する。
工程202において、管理サーバ108はコンピュータクラスタ100上でディスカバリ機能を実行する。ディスカバリ機能は、コンピュータクラスタ100のトポロジを決定するために使用される。さらに、ディスカバリ機能の実行中に、発見されたノード1060〜10663は第1のグローバルナンバリングシステムに従って番号付けされる。第1のグローバルナンバリングシステムは、ノード1060〜10663にそれぞれの第1のグローバル番号を割り当てる。説明する例では、第1のグローバル番号はローカル番号から取得される。より具体的には、外部スイッチ1121〜1124、11211〜11214が発見されるたびに、それに接続されているノードは、これらのノードが接続されている下位接続ポートのローカルナンバリングシステムの順序で、必要に応じて既に割り当てられている第1のグローバル番号から連続的に番号付けされる。
例えば、外部スイッチ1121が最初に発見された場合、第1のグローバル番号0〜7がそれぞれノード1060〜1067に割り当てられる。その後、外部スイッチ1122が発見されると、第1のグローバル番号8〜15がそれぞれノード1068〜10615に割り当てられる。これ以降は同様である。したがって、説明する例のトポロジの範囲内では、ストレージノード1067、10615、10623、10631、10639、10647、10655、10663の第1のグローバル番号は周期8で周期的であることが分かる。
しかし、上述したように、第2レベルから第3レベルまで経由するための上位接続ポートを選択するための式[d/2] mod 4もまた、周期8で周期的である。したがって、アルゴリズムが第1のグローバル番号に基づいて使用された場合、第1のグローバル番号が0〜31であるいずれかのノードから出てストレージノード1067、10615、10623、10631、10639、10647、10655、10663に至るすべての経路は、第2レベルと第3レベルとの間をつなぐ同じ通信リンク114を経由することになる。したがって、この通信リンク114は、4つのストレージノード10639、10647、10655、10663までのすべての経路をサポートしなければならない。しかしながら、ストレージノード1067、10615、10623、10631、10639、10647、10655、10663は、一般に計算ノードよりも需要が大きいので、この通信リンク114は非常に混雑する恐れがある。さらに、タスクを実行するためのコンピュータクラスタ100の機能は、一般に、計算ノード間でデータを交換する計算フェーズと、ストレージノード内にデータを保存する及び/又はそこからデータを読み取るために、計算ノードがストレージノードとデータを交換するデータバックアップ及び/又はリカバリフェーズとを交互に繰り返す。したがって、データバックアップ及び/又はリカバリフェーズ中に、計算ノードをストレージノードにそれぞれ接続する複数の経路によって使用される各通信リンク114は、非常に需要が大きく、非常に混雑する恐れがある。
ディスカバリ工程202の後、管理サーバ108は、工程204において、このように第1のグローバル番号がノード1060〜10663にそれぞれ割り当てられたコンピュータクラスタ100のトポロジを取得する。
工程206において、管理サーバ108はノードを選択する。説明する例では、ストレージノード1067、10615、10623、10631、10639、10647、10655、10663が選択される。選択されるノードは、例えば、人間のユーザによってマンマシンインターフェースを介して管理サーバ108に伝達される。あるいは、管理サーバ108は、ノード1060〜10663のどれが光接続ポートに接続されているかを自動的に判定するように設計することができる。
一般に、選択されたノードは、好ましくは各々が共通の特徴(例えば自動的に検出され得る特徴)を有するものであり、一方他のノードはこの特徴を欠いている。説明する例では、この特徴は、選択されたノードを形成するネットワークインターフェースが光ネットワークインターフェースであるということである。あるいは、他の特徴を考慮に入れることができる。例えば、共通の機能として、ノードがストレージコンピュータに属していることが考えられる。別の例では、共通の特徴は、コンピュータプロセッサ内のグラフィック処理装置の存在であってもよい。
工程208において、管理サーバ108は、第1のグローバルナンバリングとは異なる第2のグローバルナンバリングに従って、ノード1060〜10663に対して、あるいは少なくとも選択されたノード1067、10615、10623、10631、10639、10647、10655、10663の一部に対して、番号付けを行う。この第2のナンバリングでは、選択されたノード1067、10615、10623、10631、10639、10647の第2のグローバル番号が、通信リンク114の少なくとも一部、好ましくは全ての通信リンク114のそれぞれの周期とは異なる値によって連続的に分離されるように、第2のグローバル番号がノード1060〜10663の各々に割り当てられる。
説明される例では、選択されたノード1067、10615、10623、10631、10639、10647の第2のグローバル番号は規則的に連続するように選択され、それらを分離する値はすべて1に等しく、したがってすべての通信リンク114の周期と必然的に異なる。
例えば、以下のアルゴリズム(工程AからFを含む)を使用して、第1のグローバルナンバリングシステムから第2のグローバルナンバリングシステムに移行することができる。
A:カウンタをゼロに設定する。
B:未選択のノードの種類を選択する。すべてのノードの種類が選択済の場合、アルゴリズムは終了する。
C:選択された種類のノードのうち、第1のナンバリングシステムの順序で最初のノードを現在のノードとする。
D:カウンタの値を第2のグローバル番号として現在のノードに割り当てる。
E:カウンタをインクリメントする。
F:選択された種類のノードのうち、第1のナンバリングシステムの順序で次のノードを現在のノードとし、処理は工程Dに戻る。選択された種類のすべてのノードが処理された場合、アルゴリズムは工程Bに戻る。
A:カウンタをゼロに設定する。
B:未選択のノードの種類を選択する。すべてのノードの種類が選択済の場合、アルゴリズムは終了する。
C:選択された種類のノードのうち、第1のナンバリングシステムの順序で最初のノードを現在のノードとする。
D:カウンタの値を第2のグローバル番号として現在のノードに割り当てる。
E:カウンタをインクリメントする。
F:選択された種類のノードのうち、第1のナンバリングシステムの順序で次のノードを現在のノードとし、処理は工程Dに戻る。選択された種類のすべてのノードが処理された場合、アルゴリズムは工程Bに戻る。
このアルゴリズムは、少なくとも2つのノードの種類、すなわち選択されたノードによって形成された第1のノードの種類と未選択のノードによって形成された第2のノードの種類と共に使用される。
したがって、説明する例では、第2のグローバルナンバリングシステムにおいて、計算ノードに0から55までの番号が付けられ、ストレージノードに56から63までの番号が付けられる。
工程210において、管理サーバ108は、1対のノードの各組み合わせに対して、その第2のグローバル番号によって識別されたノードを実行することによってアルゴリズムを実行する。
工程212において、管理サーバ108は、工程210のアルゴリズムによって提供された経路をネットワーク110において実行する。説明する例では、この経路は各スイッチ1121〜11214に送信されるルーティングテーブルに記録される。
工程214において、管理サーバ108はクライアントからタスク実行要求を受信する。
工程216において、コンピュータ102,104の少なくとも一部は、工程210で確立された通信経路を使用してネットワーク110を介して互いに通信することによって、要求されたタスクを実行する。
図3を参照して、コンピュータクラスタ100のノード1060〜10663の間の通信経路を確立し使用するための第2の方法300について説明する。
第2の方法300は、第1の方法200と同様に工程202、204、206を含む。
工程206の後、第2の方法300は以下の工程302から306を含む。
工程302において、管理サーバ108は、通信リンク114の少なくとも一部、好ましくはその全てのそれぞれの周期を決定する。例えば、この周期は使用されるアルゴリズムの公式から決定される。
工程304において、管理サーバ108は、選択されたノード1067、10615、10623、10631、10639、10647、10655、10663の第2のグローバル番号を連続的に分離するための値を決定するが、決定された値はそれぞれ決定された周期と異なる。
例えば、説明する例では、第1レベルと第2レベルとの間に延びる通信リンク114は2の周期を有し、第2レベルと第3レベルとの間に延びる通信リンク114は8の周期を有する。したがって、選択されたノード1067、10615、10623、10631、10639、10647、10655、10663の第2のグローバル番号を連続的に分離するための値は、いずれも2及び8とは異なる。例えば、方法200の場合のように、それぞれ1に等しい値をとることができ、または2および8と異なる限り、互いに異なる値をとることができる。
工程306において、管理サーバ108は、第1のグローバルナンバリングとは異なる第2のグローバルナンバリングに従って、ノード1060〜10663に対して、あるいは少なくとも選択されたノードの一部に対して、番号付けを行う。この第2のナンバリングシステムでは、選択されたノード1067、10615、10623、10631、10639、10647の第2のグローバル番号は、工程304で決定された値によって連続的に分離される。
その後に、第2の方法300は、上述の工程210から216を含む。
上述したような方法により、選択されたノードについて通信リンクがバランスよく使用されることは明らかである。
本発明は上述の実施形態に限定されないことにも留意されたい。より具体的には、本明細書に開示された情報を使用して、上記の実施形態に様々な修正を加えることができることを当業者は理解するであろう。上記の本発明の詳細な説明では、使用される用語は本発明をこの説明に提示された実施形態に限定するものとして解釈されるべきではなく、すべての均等物を含むものとして解釈されるべきであり、当業者が自身の一般的な知識を用いて本明細書に開示されている情報を実施する際に、それら均等物に想到することができる。
Claims (13)
- コンピュータクラスタ(100)のノード(1060〜10663)の間の通信経路を確立する方法(200,300)であって、当該コンピュータクラスタ(100)は、
ノード(1060〜10663)と、
前記ノード(1060〜10663)の相互接続ネットワーク(110)と、
を含み、前記相互接続ネットワーク(110)は、
一部が前記ノード(1060〜10663)に接続されたスイッチ(1121〜11214)と、
前記スイッチ(1121〜11214)の間の通信リンク(114)と、
を含み、
前記コンピュータクラスタ(100)は、前記ノード(1060〜10663)、前記スイッチ(1121〜11214)、および前記通信リンク(114)の相対配置を定義する特定のトポロジを有し、
前記方法(200,300)は、
第1のグローバル番号が前記ノード(1060〜10663)にそれぞれ割り当てられた前記コンピュータクラスタ(100)の前記トポロジを取得する工程(204)と、
前記ノード(1060〜10663)のうちの1対のノードの各組み合わせについて、当該1対ノードのうちの第1ノード及び第2ノードの間の通信経路を提供するように設計されたアルゴリズムを、これらのノードのそれぞれの番号及び前記コンピュータクラスタ(100)の前記トポロジに基づいて実行する工程(210)であって、前記アルゴリズムは、前記第1ノード又は前記第2ノードが1より大きい周期に従う周期的な番号を有する、同一の通信リンク(114)を経由する通信経路を提供するように設計された、工程(210)と、
を備え、
前記方法(200,300)はさらに、
ノード(1067、10615、10623、10631、10639、10647、10655、10663)を選択する工程(206)と、
前記ノード(1060〜10663)に対して第2のグローバル番号を割り当てるべく番号付けする工程(208)であって、当該第2のグローバル番号は前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)のうちの少なくとも一部の前記第1のグローバル番号と異なり、前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)の前記第2のグローバル番号は、前記通信リンク(114)の少なくとも一部のそれぞれの周期とは異なる値によって連続的に分離される、工程(208)と、
を備え、
前記アルゴリズムを実行するために、前記ノード(1060〜10663)が前記第2のグローバル番号によって識別されることを特徴とする方法(200,300)。 - 前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)は、他のノードにはない共通の特徴を有する、請求項1に記載の方法(200,300)。
- 前記共通の特徴は、前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)が光ネットワークインターフェースであることである、請求項2に記載の方法(200,300)。
- 前記共通の特徴は、前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)がストレージコンピュータ(104)に属することである、請求項2または3に記載の方法(200,300)。
- 前記共通の特徴は、前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)がグラフィック処理装置を備えるコンピュータプロセッサ(102)に属することである、請求項2に記載の方法(200,300)。
- 前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)の前記第2のグローバル番号が連続的である、請求項1から5のいずれか1項に記載の方法(200)。
- 前記通信リンク(114)の少なくとも一部のそれぞれの周期を決定する工程(302)と、
前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)の前記第2のグローバル番号を連続的に分離するための値を決定する工程(304)であって、決定された値のそれぞれは決定された前記周期と異なる、工程(304)と、
をさらに備える、請求項1から6のいずれか1項に記載の方法(300)。 - 前記ノード(1060〜10663)は前記スイッチの一部の接続ポートに接続され、当該接続ポートは、当該接続ポートが属する前記スイッチ内のローカル番号を有し、当該ローカル番号から前記第1のグローバル番号が取得される、請求項1から7のいずれか1項に記載の方法(200,300)。
- スイッチの接続ポートに接続された前記ノード(1060〜10663)の前記第1のグローバル番号は、当該ノード(1060〜10663)がそれぞれ接続された前記接続ポートのローカル番号と同じ順序で、規則的に連続するように互いに継続する、請求項8に記載の方法(200,300)。
- 前記コンピュータクラスタ(100)のトポロジを決定するべく前記コンピュータクラスタ(100)に対してディスカバリ機能を実行する工程(202)であって、当該ディスカバリ機能の実行中に前記第1のグローバルナンバリングシステムに従って前記ノード(1060〜10663)に番号付けを行う工程(202)をさらに備える、請求項1から9のいずれか1項に記載の方法(200,300)。
- 前記コンピュータクラスタ(100)は、前記選択されたノード以外のノードが互いにデータを交換する第1のフェーズと、前記選択されたノード以外のノードが前記選択されたノードとデータを交換する第2のフェーズとを交互に繰り返すように設計された、請求項1から10のいずれか1項に記載の方法(200,300)。
- 通信ネットワークからダウンロードし、及び/又はコンピュータ可読媒体に保存し、及び/又はプロセッサによって実行することが可能なコンピュータプログラムであって、当該コンピュータプログラムは、コンピュータ上で実行されたときに、請求項1から11のいずれか1項に記載のコンピュータクラスタ(100)のノード(1060〜10663)の間の通信経路を確立する方法(200,300)の各工程を実行するための命令を含む、コンピュータプログラム。
- コンピュータクラスタ(100)であって、
ノード(1060〜10663)と、
前記ノード(1060〜10663)の相互接続ネットワーク(110)と、
を含み、前記相互接続ネットワーク(110)は、
一部が前記ノード(1060〜10663)に接続されたスイッチ(1121〜11214)と、
前記スイッチ(1121〜11214)の間の通信リンク(114)と、
を含み、
前記コンピュータクラスタ(100)は、前記ノード(1060〜10663)、前記スイッチ(1121〜11214)、および前記通信リンク(114)の相対配置を定義する特定のトポロジを有し、
前記コンピュータクラスタ(100)は、
第1のグローバル番号が前記ノード(1060〜10663)にそれぞれ割り当てられた前記コンピュータクラスタ(100)の前記トポロジを取得するための手段と、
前記ノード(1060〜10663)のうちの1対のノードの各組み合わせについて、当該1対のノードのうちの第1ノード及び第2ノードの間の通信経路を提供するように設計されたアルゴリズムを、これらのノードのそれぞれの番号及び前記コンピュータクラスタ(100)の前記トポロジに基づいて実行するための手段であって、前記アルゴリズムは、前記第1ノード又は前記第2ノードが1より大きい周期に従う周期的な番号を有する、同一の通信リンク(114)を経由する通信経路を提供するように設計された、手段と、
を備え、
前記コンピュータクラスタ(100)はさらに、
ノード(1067、10615、10623、10631、10639、10647、10655、10663)を選択するための手段と、
前記ノード(1060〜10663)に対して第2のグローバル番号を割り当てるべく番号付けするための手段であって、当該第2のグローバル番号は前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)のうちの少なくとも一部の前記第1のグローバル番号と異なり、前記選択されたノード(1067、10615、10623、10631、10639、10647、10655、10663)の前記第2のグローバル番号は、前記通信リンク(114)の少なくとも一部のそれぞれの周期とは異なる値によって連続的に分離される、手段と、
を備え、
前記アルゴリズムを実行するために、前記ノード(1060〜10663)が前記第2のグローバル番号によって識別されることを特徴とするコンピュータクラスタ(100)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1851558 | 2018-02-22 | ||
FR1851558A FR3078220B1 (fr) | 2018-02-22 | 2018-02-22 | Procede d'etablissement de routes de communication entre nœuds d'une grappe d'ordinateurs, programme d'ordinateur et grappe d'ordinateurs correspondants |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019169135A true JP2019169135A (ja) | 2019-10-03 |
Family
ID=61764038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019018993A Pending JP2019169135A (ja) | 2018-02-22 | 2019-02-05 | コンピュータクラスタのノード間の通信経路を確立する方法、当該方法に対応するコンピュータプログラム、及びコンピュータクラスタ |
Country Status (6)
Country | Link |
---|---|
US (1) | US11190404B2 (ja) |
EP (1) | EP3531641B1 (ja) |
JP (1) | JP2019169135A (ja) |
BR (1) | BR102019003524A2 (ja) |
FR (1) | FR3078220B1 (ja) |
IL (1) | IL264684A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3100069B1 (fr) * | 2019-08-23 | 2021-10-29 | Bull Sas | Procédé rapide d’établissement de routes de communication entre ordinateurs d’un superordinateur |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987011A (en) * | 1996-08-30 | 1999-11-16 | Chai-Keong Toh | Routing method for Ad-Hoc mobile networks |
US6980537B1 (en) * | 1999-11-12 | 2005-12-27 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for communication network cluster formation and transmission of node link status messages with reduced protocol overhead traffic |
US7426566B2 (en) * | 2001-01-17 | 2008-09-16 | International Business Machines Corporation | Methods, systems and computer program products for security processing inbound communications in a cluster computing environment |
US7281057B2 (en) * | 2002-04-29 | 2007-10-09 | Harris Corporation | Hierarchical mobile ad-hoc network and methods for performing reactive routing therein |
FR2960369B1 (fr) * | 2010-05-20 | 2013-03-01 | Bull Sas | Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede |
JP5849486B2 (ja) * | 2011-07-19 | 2016-01-27 | 富士通株式会社 | ネットワーク装置及びネットワーク管理装置 |
US9130858B2 (en) * | 2012-08-29 | 2015-09-08 | Oracle International Corporation | System and method for supporting discovery and routing degraded fat-trees in a middleware machine environment |
US9331958B2 (en) * | 2012-12-31 | 2016-05-03 | Advanced Micro Devices, Inc. | Distributed packet switching in a source routed cluster server |
FR3037463B1 (fr) * | 2015-06-15 | 2017-06-23 | Bull Sas | Transformation d'infrastructures reseaux non structurees en topologies virtuelles structurees adaptees a des algorithmes de routage specifiques |
FR3040575B1 (fr) * | 2015-09-02 | 2017-08-18 | Bull Sas | Procede de determination automatisee de topologies d'interconnexion optimales de systemes comprenant des nœuds de service, et dispositif de traitement associe |
-
2018
- 2018-02-22 FR FR1851558A patent/FR3078220B1/fr not_active Expired - Fee Related
-
2019
- 2019-02-05 JP JP2019018993A patent/JP2019169135A/ja active Pending
- 2019-02-06 IL IL264684A patent/IL264684A/en unknown
- 2019-02-07 EP EP19155891.5A patent/EP3531641B1/fr active Active
- 2019-02-20 US US16/280,678 patent/US11190404B2/en active Active
- 2019-02-21 BR BR102019003524A patent/BR102019003524A2/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP3531641B1 (fr) | 2020-10-28 |
IL264684A (en) | 2019-05-30 |
FR3078220B1 (fr) | 2020-04-24 |
EP3531641A1 (fr) | 2019-08-28 |
BR102019003524A2 (pt) | 2019-09-10 |
US11190404B2 (en) | 2021-11-30 |
US20190260645A1 (en) | 2019-08-22 |
FR3078220A1 (fr) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060002291A1 (en) | Methods of network routing having improved resistance to faults affecting groups of links subject to common risks | |
EP3596600B1 (en) | Systems and methods for compute node management protocols | |
CN109561028A (zh) | 一种基于流量工程选择传输路径的方法和设备 | |
EP2549716B1 (en) | Network managing device and network managing method | |
CN105515977B (zh) | 获取网络中传输路径的方法、装置和系统 | |
US20180145881A1 (en) | Automatic Assignment of Coordinates to Network Elements Interconnected in a Cartesian Topology | |
US11575581B2 (en) | Utilizing constraints to determine optimized network plans and to implement an optimized network plan | |
Adda et al. | Routing and fault tolerance in Z-fat tree | |
CN115150321A (zh) | 确定屏蔽备份路径 | |
JP5681278B2 (ja) | 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム | |
WO2017170103A1 (ja) | ネットワークシステム、ネットワーク制御装置、方法およびプログラム | |
JP2019169135A (ja) | コンピュータクラスタのノード間の通信経路を確立する方法、当該方法に対応するコンピュータプログラム、及びコンピュータクラスタ | |
US11483210B2 (en) | Interdomain path calculation based on an abstract topology | |
JP6545836B2 (ja) | マルチテナント型データセンタにおけるvmからvmのトラフィック推定 | |
US11157326B2 (en) | Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer | |
WO2019235304A1 (ja) | サービスチェイン設計装置、サービスチェイン設計方法、および、サービスチェイン設計プログラム | |
JP6874563B2 (ja) | 情報処理システム及び情報処理方法 | |
CN115361332A (zh) | 容错路由的处理方法及装置、处理器和电子设备 | |
Mollah et al. | Modeling universal globally adaptive load-balanced routing | |
JP5650318B2 (ja) | 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム | |
US11334392B2 (en) | Method for deployment of a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer | |
US11327796B2 (en) | Method for deploying a task in a supercomputer by searching switches for interconnecting nodes | |
US20170262316A1 (en) | Allocation of resources | |
Zaitsev et al. | Switching vs Routing within Multidimensional Torus Interconnect | |
Pal et al. | LevelTree: a new scalable data center networks topology |