JP5681278B2 - 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム - Google Patents

静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム Download PDF

Info

Publication number
JP5681278B2
JP5681278B2 JP2013510657A JP2013510657A JP5681278B2 JP 5681278 B2 JP5681278 B2 JP 5681278B2 JP 2013510657 A JP2013510657 A JP 2013510657A JP 2013510657 A JP2013510657 A JP 2013510657A JP 5681278 B2 JP5681278 B2 JP 5681278B2
Authority
JP
Japan
Prior art keywords
nodes
node
weight
path
cluster
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.)
Expired - Fee Related
Application number
JP2013510657A
Other languages
English (en)
Other versions
JP2013526809A (ja
Inventor
ドユゲ,セバスチヤン
フイセ,ジヤン−バンサン
カランカリアン,ヤン
モレ−シエーズマルタン,ニコラ
Original Assignee
ブル・エス・アー・エス
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 ブル・エス・アー・エス filed Critical ブル・エス・アー・エス
Publication of JP2013526809A publication Critical patent/JP2013526809A/ja
Application granted granted Critical
Publication of JP5681278B2 publication Critical patent/JP5681278B2/ja
Expired - Fee Related 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/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、クラスタにおけるルーティング、すなわちクラスタのノード群の間の通信経路の決定に関し、さらに詳しくは、静的な通信リンクを備えるクラスタにおけるルーティングの最適化方法およびこの方法を実行するコンピュータプログラムに関する。
高性能計算(HPC)が、特に航空、エネルギー、気候、および生命科学などの技術分野において、大学および産業界における研究などのために開発されている。モデル化およびシミュレーションが、特により信頼できかつ消費するエネルギーも少ない革新的な製品の開発コストの削減および迅速な商品化を可能にする。研究技術者にとって、高性能計算は、不可欠の研究手段となっている。
この計算は、一般に、クラスタと呼ばれるデータ処理システムにおいて実行される。クラスタは、典型的には、相互接続されたノードの組を備えている。いくつかのノード(計算ノード)は、計算タスクの実行に使用され、別のノード(ストレージノード)は、データの記憶に使用され、他の1つ以上のノード(管理ノード)が、クラスタを管理する。各々のノードは、例えばLinux(登録商標)などのオペレーティングシステムを実行するサーバである。ノード間の接続は、例えばEthernet(登録商標)またはInfinibandの通信リンク(Infinibandは商標である)を使用して行なわれる。
図1が、ファットツリー(fat−tree)形式のクラスタの接続形態100の一例の概略図である。クラスタが、ノード(大まかに105で指し示されている)の組を備えている。組110に属するノードが、ここでは計算ノードである一方で、組115のノードは、サービスノード(ストレージノードおよび管理ノード)である。計算ノードを、計算アイランドと称される下位の組120にグループ化でき、組115は、サービスアイランドと称される。
ノードは、スイッチによって例えば階層的に接続される。図1に示した例では、ノードが第1のレベルのスイッチ125へと接続され、第1のレベルのスイッチ125が、第2のレベルのスイッチ130へと接続され、次いで第2のレベルのスイッチ130が、第3のレベルのスイッチ135へと接続されている。
図2に示されるように、各々のノードは、通常は1つ以上のマイクロプロセッサ、ローカルメモリ、および通信インターフェイスを備えている。より具体的には、ここでは、ノード200が通信バス202を備えており、
中央演算ユニット(CPU)またはマイクロプロセッサ204、
プログラムの実行時に生成および変更される変数およびパラメータを記録するように構成されたレジスタを備えるランダムアクセスメモリ(RAM)206の構成要素(図示のように、各々のランダムアクセスメモリ構成要素をマイクロプロセッサに組み合わせることができる)、ならびに
データの送信および受信を行なうように構成された通信インターフェイス208 が、通信バス202へと接続されている。
ノード200は、ここでは、特にプログラムの実行可能コードを収容することができるハードディスクなどの内部ストレージ手段212をさらに有している。
通信バスが、ノード200に含まれ、あるいはノード200へと接続される種々の構成要素の間の通信および相互運用を可能にしている。マイクロプロセッサ204が、1つ以上のプログラムのソフトウェアコードの各部のインストラクションの実行を制御および指揮する。起動時に、例えばハードディスクなどの不揮発メモリに保存された1つ以上のプログラムが、ランダムアクセスメモリ206へと転送される。
ここで、クラスタの性能が、通信リンクを介して確立されてノード間のデータの転送を可能にする経路の品質に直接的に関係することが、明らかになっている。一般に、物理的な通信リンクが、クラスタのハードウェアの構成時にノードおよびスイッチの間に確立され、通信経路そのものは、ノード間に確立させるべき接続の定義にもとづいて、初期化段階において決定される。実装される通信技術に応じて、経路の設定は、静的であっても、動的であってもよい。
例として、Infiniband技術は、クラスタにおいて経路の静的な設定を可能にする。この設定は、各々のスイッチにおいてリニア転送テーブル(LFT)として知られる静的なルーティング表を使用する。この技術が実装される場合、FTree、MINHOP、UPDN、およびLASHという名称で知られるアルゴリズムなどのルーティングアルゴリズムを使用することができる。
簡単化された方法で、FTreeアルゴリズムは、存在する通信リンクの全体に可能なかぎり分散するように経路を決定する。これらの目的のために、全体がFTree形式のアーキテクチャに従って接続された通信ネットワークのルーティングの際には、ネットワークの各々のノードが、同じ重要性を有するものと考えられる。したがって、経路が同じリンクの2つのノードの間に確立されるとき、そのリンクを使用する経路の数(リンクの負荷と呼ばれる)が、1だけ増加する。ルーティングアルゴリズムは、新たな経路を確立させようとするとき、そこにいくつかの可能性が存在する場合、それらの可能性のあるリンクに関する負荷レベルを比較し、負荷レベルが最も低いリンクに係る経路を選択する。
ルーティングの品質を、リンク当たりの経路の数に関して表現することができる。
図3a〜図3eが、スイッチ300を含むクラスタの初期化段階の際のスイッチ300におけるこのルーティングの原理を示している。
ここで、スイッチ300が、スイッチ300を入力305−1〜305−4へと接続する4つの入力通信リンク(310−1〜310−4で指し示されている)と、スイッチ300を出力315−1および315−2へと接続する2つの出力通信リンク(320−1および320−2で指し示されている)を有している。初期化の前は、リンク310−1〜310−4、320−1、および320−2のいずれも、経路を含んでいない。したがって、これらのリンクに関する負荷レベルは、図3aにおいて各々のリンクの傍らに示されているようにゼロである。次いで、スイッチ300の入力305−1と出力との間に経路を確立すべき場合、リンク310−1(使用できる唯一のリンク)が選択され、さらにリンク320−1が選択される(ここではリンク320−1および320−2に関する負荷レベルがゼロに等しいため、第1のリンクが選択される)。次いで、図3bに示されるように、リンク310−1および320−1に関する負荷レベルが、これらのリンクが追加の経路を提供していることを示すために、1だけ増やされる。
同じ方法で、スイッチ300の入力305−2と出力との間に経路を確立すべき場合、リンク310−2(使用できる唯一のリンク)が選択され、さらにリンク320−2が選択される(リンク320−1に関する負荷レベルが1に等しく、リンク320−2に関する負荷レベルがゼロに等しいため、後者のリンクが選択される)。次いで、図3cに示されるように、リンク310−2および320−2に関する負荷レベルが、これらのリンクが追加の経路を提供していることを示すために、1だけ増やされる。同様の方法で、スイッチ300の入力305−3と出力との間に経路を確立すべき場合、リンク310−3(使用できる唯一のリンク)が選択され、さらにリンク320−1が選択される(リンク320−1および320−2に関する負荷レベルが等しいため、第1のリンクが選択される)。次いで、図3dに示されるように、リンク310−3および320−1に関する負荷レベルが、これらのリンクが追加の経路を提供していることを示すために、1だけ増やされる。
最後に、スイッチ300の入力305−4と出力との間に経路を確立すべき場合、リンク310−4(使用できる唯一のリンク)が選択され、さらにリンク320−2が選択される(リンク320−1に関する負荷レベルが2に等しく、リンク320−2に関する負荷レベルが1に等しいため、後者のリンクが選択される)。次いで、図3eに示されるように、リンク310−4および320−2に関する負荷レベルが、これらのリンクが追加の経路を提供していることを示すために、1だけ増やされる。ノード間のすべての経路が確立されたとき、スイッチの静的なルーティング表が更新される。
上述のルーティングアルゴリズムは、良好な結果をもたらすが、最適ではない。
本発明は、上述した問題のうちの少なくとも1つを解決できるようにする。
本発明は、複数のノードと、前記複数のノードのノードを接続する静的な通信リンクとを備えるクラスタにおいて、前記通信リンクに関する負荷レベルにもとづくルーティングを最適化するためのコンピュータにおける方法であって、
前記クラスタのノードであって、間に接続を確立すべき少なくとも2つのノードを特定するステップと、
前記通信リンクによって前記特定された少なくとも2つのノードを接続する少なくとも1つの経路を、前記特定された少なくとも2つのノード、前記通信リンクのうちの複数の通信リンク、および前記複数の通信リンクの各々の通信リンクに関する少なくとも1つの負荷レベルに従って割り出し、所定の経路を選択するステップと、
前記選択された経路に関する重みの値を推定するステップと、
前記選択された経路の各々の通信リンクに関する負荷レベルを増やすステップとを含む方法に関する。
このようにして、本発明による方法は、クラスタおよび関係するノードの特徴に応じて特定の経路が他の経路よりも優先または回避されるように経路に重みを組み合わせることによって、クラスタのルーティングを最適にすることを可能にする。
好都合には、この方法が、前記特定された少なくとも2つのノードのうちの少なくとも1つのノードについて、ノードの種類を取得するステップをさらに含み、前記重みの前記推定による値が、前記取得されるノードの種類に少なくとも部分的に従って推定される。このようにして、本発明による方法は、ノードの種類に応じたクラスタのルーティングの最適化を可能にする。
特定の実施の形態によれば、この方法が、前記特定された少なくとも2つのノードのうちの少なくとも1つのノードが属するグループの参照を取得するステップをさらに含み、前記重みの前記推定による値が、前記取得されるグループの参照に少なくとも部分的に従って推定される。このようにして、本発明による方法は、各々のノードの特徴を個別に明らかにする必要なく、ノードの種類に応じたクラスタのルーティングの最適化を可能にする。ノードの種類および/またはグループは、好ましくは該当のノードの性質に応じて決定される。
さらに特定の実施の形態によれば、この方法が、重み配列を定めるステップをさらに含み、前記重み配列が、ノードの識別子、種類、および/またはノードのグループに応じて経路の重みを表わしており、前記重みの値を推定するステップが、前記重み配列を使用する。このようにして、ノードの特徴に応じた重みの管理が、きわめて簡単に実行される。
好都合には、この方法が、前記特定された少なくとも2つのノードの間に前記選択された経路を確立させるステップをさらに含む。
さらに特定の実施の形態によれば、この方法が、少なくとも1つの静的なルーティング表を更新するステップをさらに含み、前記少なくとも1つの静的なルーティング表は、前記クラスタの少なくとも1つのスイッチに関連付けられ、前記少なくとも1つのスイッチは、少なくとも前記少なくとも2つのノードを接続している。このようにして、本発明による方法を、特に静的なルーティングテーブルを備えるスイッチを使用する従来からのアーキテクチャにおいて、容易に実行することができる。
経路は、好都合には、ルーティングを簡単にするために各経路に関する重みの値の順にて選択される(重みの軽い経路は、重みの大きい経路よりも容易に定めることができる)。
使用される通信リンクは、特にInfiniband方式の通信リンクであってもよい。
さらに本発明は、コンピュータ上で実行されたときに上述の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラムに関する。このコンピュータプログラムによってもたらされる利点は、上述した利点と同様である。
本発明の他の利点、目的、および特徴が、あくまでも本発明を限定するものではない例として添付の図面に関連して提示される以下の詳細な説明から、明らかになるであろう。
クラスタの接続形態の例を示している。 クラスタのノードのアーキテクチャの例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける本発明による重みを用いたルーティングの例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける本発明による重みを用いたルーティングの例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける本発明による重みを用いたルーティングの例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける本発明による重みを用いたルーティングの例を示している。 静的な通信リンクを使用する通信ネットワークのルーティングの段階において2つのノードを接続する経路を決定および選択し、さらには経路の選択後の通信リンクの負荷レベルを決定するために実行される典型的なアルゴリズムの概略図である。
クラスタ内の通信ネットワークの経路が同じ性質である場合、それらの経路によって接続されるノードの性質が、交換されるデータの量に関し、したがって使用される帯域幅に関して、ある役割を果たすことが明らかになっている。すなわち、例えば、2つの計算ノードを接続する経路は、一般に、計算ノードをストレージノードへと接続する経路と比べ、あまり帯域幅を使用しない。
したがって、本発明は、ルーティングの際に、クラスタのノードの性質を使用して、それらのノードを接続する経路に重みまたは重み付け係数を与える。クラスタの特定の種類のノードを接続する経路に重みを割り当てることで、使用されるルーティングアルゴリズムを特定の経路へと傾けることが可能になり、結果として使用される通信リンクの各々の経路への帯域幅の割り当てを最適化することが可能になる。
従来からの方法においては、使用されるルーティングアルゴリズムが、2つのノードの間の経路を確立するときに複数の選択肢が存在する場合、それらの選択肢に関する負荷レベル(すなわち典型的には、それらの選択肢に対応するリンクを使用している経路の数)を比較し、負荷レベルが最も低い選択肢を選択する。しかしながら、本発明によれば、2つのノードの間に経路が確立されるとき、その経路をサポートする通信リンクの負荷レベルが、当該2つのノードの種類に関係した値を有する重みに応じて増やされる。
特定の種類の経路に所与の重みを割り当てることによって、ルーティングを、帯域幅に関して特定のニーズを有する特定の経路を優先するように偏らせることが可能になる。すなわち、2つのノードを接続する経路に大きな値を有する重みを使用することによって、それらのノードの間のデータ通信により広い帯域幅を割り当てることができる。
ルーティング段階における経路への重みの割り当てを、アプリケーションプログラムインターフェイス(API)を通じて実行することができる。
特定の実施の形態によれば、weight_fileと称される重みファイルが、Infiniband方式の通信ネットワークにおいてポートGUID(グローバル一意識別子(Globally Unique IDentifier)の略)と称されるポート識別子によって定められる経路へと重みを割り当てるために使用される。
そのようなファイルが、ルーティング段階に先立って分析される。そのようなファイルは、種類によってグループ分けされた通信ネットワークの通信要素(典型的には、ノード)のリスト、ならびにそれらのグループ間に形成されるペアについての重みのリストを含んでいる。それらの分析の際に、それらの重みを、ルーティング段階において各々の通信リンクについて使用すべき負荷の増分を記述する配列を満たすために使用することができる。初期値として、ある2種類のノードを接続する経路について重みの値が定義されていない場合には、その値は1に等しい。
ルーティング段階において経路が一連のリンクを通じて確立されるとき、それらのリンクの各々に関する負荷レベルが、確立された経路の両端のノードの種類に関連付けられた重みの値だけ増やされる。
図4a〜図4dが、スイッチ400を含むクラスタの初期化段階の際のスイッチ400におけるこのルーティングの原理を示している。
図3a〜図3eに示したスイッチ300と同様に、ここではスイッチ400が、スイッチ400を入力405−1〜405−4へと接続する4つの入力通信リンク(410−1〜410−4で指し示されている)と、スイッチ400を出力415−1および415−2へと接続する2つの出力通信リンク(420−1および420−2で指し示されている)を有している。入力は、例えばネットワークのノードからの出力または他のスイッチの出力である。
初期化以前は、リンク410−1〜410−4、420−1、および420−2のいずれも、経路を含んでいない。したがって、これらのリンクの各々に関する負荷レベルは、図4aにおいて各々のリンクの傍らに示されているとおり、ゼロである。次いで、スイッチ400の入力405−1と出力との間に経路を確立すべき場合、リンク410−1(使用できる唯一のリンク)が選択され、さらにリンク420−1が選択される(リンク420−1および420−2に関する負荷レベルが同じゼロであるため、第1のリンクが選択される)。ここで、今まさに確立されたリンク410−1および420−1を使用する経路の目的が、計算ノードをストレージノードへと接続することであると仮定する。したがって、計算タイプのノードとストレージタイプのノードとを接続する経路の重みの値が200である場合、この値が、図4bに示されるようにリンク410−1および420−1の負荷レベルを増やすために使用される。
同じ方法で、スイッチ400の入力405−2と出力との間に経路を確立すべき場合、リンク40−2(使用できる唯一のリンク)が選択され、さらにリンク420−2が選択される(リンク420−1に関する負荷レベルが200に等しく、リンク420に関する負荷レベルがゼロであるため、負荷レベルの値が最も小さい後者が選択される)。
ここで、今まさに確立されたリンク410−2および420−2を使用する経路の目的が、サービスノードを計算ノードへと接続することであると仮定し、サービスタイプのノードと計算タイプのノードとを接続する経路の重みの値が99であると仮定すると、この値が、図4cに示されるようにリンク410−2および420−2の負荷を増やすために使用される。
同様の方法で、スイッチ400の入力405−3と出力との間に経路を確立すべき場合、リンク410−3(使用できる唯一のリンク)が選択され、さらにリンク420−2が選択される(リンク420−1に関する負荷レベルが200に等しく、リンク420−2に関する負荷レベルが99に等しいため、負荷レベルの値が最も小さい後者が選択される)。今まさに確立されたリンク410−3および420−2を使用する経路の目的が、2つの計算ノードを接続することであると仮定し、計算タイプのノードを接続する経路の重みの値が1であると仮定すると、この値が、図4dに示されるようにリンク410−3および420−2の負荷を増やすために使用される。
この方法は、クラスタの初期化時にクラスタのすべての経路を決定するために好都合に適用される。
さらに、ルーティング段階において、経路は、好ましくはルーティングを最適にするために、順序付けられた方式で決定され、すなわち他の経路の重みの値よりも大きい値の重みが組み合わせられた経路が、当該他の経路よりも先に決定される。この順序を、重みの配列ならびにノードの種類にもとづくノードの特定を可能にするノードのグループから決定することができる。
重みファイルの抜粋が、別表(抜粋1)に示されている。別表は、通信ネットワークのノードのグループ分けの例(ここでは、各々のグループが別々の種類のノードに相当している)、ならびにノードの種類の組に対する重みの割り当てを示している。
この例によれば、ポートGUIDとして値0x100901、0x101201、0x100903、0x1101203、0x101207、0x100909、および0x101209を有するノードが、「ストレージ(storage)」タイプのノードである。ここで、ノードのタイプ(種類)の定義は、DEFという表示を使用して行なわれ、DEFという表示の後ろにグループそのものの名称が続けられ、その後に中括弧の間に配置された該当するポートGUIDの列挙が続けられる。同様に、ポートGUIDとして0x100905、0x101205、および0x100907を有するノードは、「管理(admin)」タイプのノードであり、すなわち管理ノードである。同様に、ポートGUIDとして0x10090b、0x010120b、0x10090d、0x10120d、0x10090f、0x10120f、0x100911、0x101211、0x100913、0x101213、0x100915、0x100917、0x101217、および0x100919を有するノードは、「計算(compute)」タイプのノードである。さらに、「サービス(service)」と呼ばれるノードのタイプは、「ストレージ(storage)」および「管理(admin)」タイプのノードの集合である。
ここで、重みは、ファイルの末尾において与えられる。ここで、2つのノードを接続する経路の重みを定義するための文法は、「ID1=>ID2 重み」という構文を使用し、ここでID1がポートGUIDまたは送信ノードのグループであり、ID2がポートGUIDまたは受信ノードのグループであり、重みが、リンクの負荷レベルの計算において使用すべき値である。この例によれば、200に等しい重みの値が、計算ノード(すなわち、「計算(compute)」タイプのノード)からストレージノード(すなわち、「ストレージ(storage)」タイプのノード)へのすべての経路に加えられる(≪compute=>storage 200≫)。同様に、99に等しい重みの値が、サービスノード(すなわち、「サービス(service)」タイプのノード)から計算ノード(すなわち、「計算(compute)」タイプのノード)へのすべての経路に加えられる(≪service=>compute 99≫)。同じ方法で、200に等しい重みの値が、管理ノード(すなわち、「管理(admin)」タイプのノード)からストレージノード(すなわち、「ストレージ(storage)」タイプのノード)へのすべての経路に加えられる(≪admin=>storage 200≫)。
特定の実施の形態によれば、2つの種類のノードを接続する経路に関する重みが、重み設定ファイルに複数回現れる場合に、その経路に関する重みが、指定された重みの累積値に等しい。
当然ながら、他の重みを定めることができる。同様に、別の文法を使用することができる。さらに、上述の例に従い、経路に方向性があると考えられる場合に、経路に関する負荷のレベルは、あたかも経路が双方向性であるかのように、逆の経路に関する負荷のレベルと同じであってもよい。
図5が、静的な通信リンクを使用する通信ネットワークのルーティングの段階において2つのノードを接続する経路を決定および選択し、さらには経路の選択後の通信リンクの負荷レベルを決定するために実行される典型的なアルゴリズムの概略図である。
第1のステップ(ステップ500)は、2つのノードから形成されるノードペアに重み(経路の方向にかかわらず同じ重み)を関連付け、あるいは別表(表1)に示されるように送信ノードおよび受信ノードから形成されるノードペアに重み(経路の方向に関連した重み)を関連付けることを可能にする重み配列の初期化に関する。この配列を、特に別表(抜粋1)に示した重みファイルなどの重みファイルから確立することができる。このステップは、ノードの識別子とノードの種類および/またはノードが属する1つ以上のグループとの間の対応関係を保存することも可能にする。あるいは、重み配列が、別表(表2)に部分的に示されているように、各々のノードペアに関する重みを直接定めてもよい。
表1が、送信側のノードタイプを受信側のノードタイプへと接続する経路に与えるべき重みを示している一方で、表2は、送信ノードを受信ノードへと接続する経路に与えるべき重みを示している。
続くステップ(ステップ505)において、確立すべき経路の両端のノードのペアが特定される。ここでは、ノードのペアが、送信ノードおよび受信ノードからなる。このステップは、確立すべき経路の定義を可能にするためのルーティングアルゴリズムの基本的なステップである。例えば、ノードが、ポートGUIDによって特定される。
次いで、それら特定されたノードを接続するための経路の選択肢を割り出し、最良の経路を選択するステップが、標準的なアルゴリズム(例えば、FTreeアルゴリズム)に従って実行される(ステップ510)。
続くステップ(ステップ515)において、特定されたノードのタイプあるいはそれらが属する1つ以上のグループが、初期化のステップにおいて得られた情報に従って取得される。破線の使用によって示唆されているとおり、このステップは随意である。なぜならば、特に初期化の段階において決定される重み配列が、重みをノードの識別子に直接関連付けている場合に、この段階においてノードの種類および/またはノードが属する1つ以上のグループを割り出す必要がないからである。
次いで、ノードの種類、ノードが属する1つ以上のグループ、および/またはノードの識別子(例えば、ポートGUID)が、これらのノードを接続する経路の重みを推定するために使用される(ステップ520)。重みは、好ましくは、前もって決定された重み配列を読み取ることによって直接与えられる。あるいは、重みを、所定の関数または表に従い、重み配列に保存された参照値に従って推定することができる。重み配列からの重みを、例えばクラスタの接続形態または当該経路によって実現されるリンクの位置に関する特定の状況に応じて、増減させてもよい。
次いで、選択された経路について推定された重みが、当該経路によって実現される通信リンクに関する負荷レベルを更新するために使用される(ステップ525)。すでに述べたように、推定された重みの値を、当該経路が使用する通信リンクの負荷レベルの値へと加算することができる。
破線の矢印によって示唆されるとおり、ステップ505〜525を、新たな経路の確立のために繰り返すことができる。典型的には、ステップ505〜525が、図5に示したアルゴリズムが実行されるクラスタにおいて確立すべきすべての経路について繰り返される。
ここで、このアルゴリズムを、例えば図2に関して説明したアーキテクチャと同様のアーキテクチャを有する装置において実行できることが、明らかになっている。
このアルゴリズムは、管理ノード上で動作するネットワークマネージャにおいて実行される。
さらに、ルーティングアルゴリズムにおける重みの使用が、クオリティオブサービス(QoS)の管理アルゴリズムと矛盾しないことが明らかになっている。ここで、クオリティオブサービスの管理が、典型的には仮想リンクの考え方に従って各々の経路に関するサービスおよび信用のレベルにもとづいて、ネットワークの争いの場合に特定の経路を優先できるようにすることを、思い出すべきである。したがって、この管理は、本質的にルーティングとは無関係である。したがって、これら2つの手法は、クラスタにおけるデータの伝送を改善し、したがってクラスタの性能を向上させるうえで、相補的である。
当然ながら、個々のニーズを満たすために、当業者であれば以上の説明に変更を加えることができるであろう。
Figure 0005681278
Figure 0005681278
Figure 0005681278

Claims (10)

  1. 複数のノードと、前記複数のノードのノードを接続する静的な通信リンクとを備えるクラスタにおいて、前記通信リンクに関する負荷レベルにもとづくルーティングを最適化するためのコンピュータにおける方法であって、
    前記クラスタの少なくとも2つのノードであって、間に接続を確立すべき前記少なくとも2つのノードを特定するステップ(505)と、
    前記通信リンクによって前記特定された少なくとも2つのノードを接続する少なくとも1つの経路を、前記特定された少なくとも2つのノード、前記通信リンクのうちの複数の通信リンク、および前記複数の通信リンクの各々の通信リンクに関する少なくとも1つの負荷レベルに従って割り出し、負荷レベルが最も低い所定の経路を選択するステップ(510)と、
    前記選択された経路に関する重みの値を推定するステップ(520)と、
    前記選択された経路の各々の通信リンクに関する負荷レベルを増やすステップ(525)と
    を含むことを特徴とする、方法。
  2. 前記特定された少なくとも2つのノードのうちの少なくとも1つのノードについて、ノードの種類を取得するステップ(515)をさらに含んでおり、前記重みの前記推定による値が、前記取得されるノードの種類に少なくとも部分的に従って推定される、請求項1に記載の方法。
  3. 前記特定された少なくとも2つのノードのうちの少なくとも1つのノードが属するグループの参照を取得するステップ(515)をさらに含んでおり、前記重みの前記推定による値が、取得され前記グループの参照に少なくとも部分的に従って推定される、請求項1または2に記載の方法。
  4. ノードの種類および/またはグループが、該当のノードの性質に従って決定される、請求項3に記載の方法。
  5. 重み配列を定めるステップ(500)をさらに含んでおり、前記重み配列が、ノードの識別子、種類、および/またはノードのグループに応じて経路の重みを表わしており、前記重みの値を推定するステップが、前記重み配列を使用する、請求項1から4のいずれか一項に記載の方法。
  6. 前記特定された少なくとも2つのノードの間に前記選択された経路を確立るステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
  7. 少なくとも1つの静的なルーティング表を更新するステップをさらに含んでおり、前記少なくとも1つの静的なルーティング表は、前記クラスタの少なくとも1つのスイッチに関連付けられ、前記少なくとも1つのスイッチは、少なくとも前記少なくとも2つのノードを接続している、請求項1から6のいずれか一項に記載の方法。
  8. 経路が、各経路に関する重みの値の順にて選択される、請求項1から7のいずれか一項に記載の方法。
  9. 前記通信リンクが、Infiniband方式の通信リンクである、請求項1から8のいずれか一項に記載の方法。
  10. コンピュータ上で実行されたときに請求項1から9のいずれか一項に記載の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラム。
JP2013510657A 2010-05-20 2011-05-13 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム Expired - Fee Related JP5681278B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1002126A FR2960369B1 (fr) 2010-05-20 2010-05-20 Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
FR1002126 2010-05-20
PCT/FR2011/051080 WO2011144848A1 (fr) 2010-05-20 2011-05-13 Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede

Publications (2)

Publication Number Publication Date
JP2013526809A JP2013526809A (ja) 2013-06-24
JP5681278B2 true JP5681278B2 (ja) 2015-03-04

Family

ID=42668206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510657A Expired - Fee Related JP5681278B2 (ja) 2010-05-20 2011-05-13 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム

Country Status (6)

Country Link
US (1) US9749219B2 (ja)
EP (1) EP2572478B1 (ja)
JP (1) JP5681278B2 (ja)
BR (1) BR112012025050A2 (ja)
FR (1) FR2960369B1 (ja)
WO (1) WO2011144848A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3025384B1 (fr) * 2014-09-03 2016-09-16 Bull Sas Procede de surveillance et d'alerte de configuration de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
EP3151130A1 (en) * 2015-09-30 2017-04-05 Tata Consultancy Services Limited Systems and methods for estimating temporal importance of data
FR3059184A1 (fr) * 2016-11-24 2018-05-25 Universite Pierre Et Marie Curie (Paris 6) Procede de routage d'au moins un flux de donnees dans un reseau de communication sans fil
FR3068811A1 (fr) * 2017-07-10 2019-01-11 Enedis Fiabilite de cartographies de reseaux
FR3078220B1 (fr) * 2018-02-22 2020-04-24 Bull Sas Procede d'etablissement de routes de communication entre nœuds d'une grappe d'ordinateurs, programme d'ordinateur et grappe d'ordinateurs correspondants
CN113347590B (zh) * 2021-06-04 2023-01-31 河南科技大学 基于人体移动性和能量收集的wban分簇路由协议

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593321B2 (en) * 1997-02-11 2009-09-22 Cisco Technology, Inc. Method and system for a local and fast non-disruptive path switching in high speed packet switching networks
US6363319B1 (en) 1999-08-31 2002-03-26 Nortel Networks Limited Constraint-based route selection using biased cost
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US20030126283A1 (en) * 2001-12-31 2003-07-03 Ramkrishna Prakash Architectural basis for the bridging of SAN and LAN infrastructures
US7284067B2 (en) * 2002-02-20 2007-10-16 Hewlett-Packard Development Company, L.P. Method for integrated load balancing among peer servers
US7319695B1 (en) * 2002-03-06 2008-01-15 Agere Systems Inc. Deficit-based striping algorithm
US7280482B2 (en) * 2002-11-01 2007-10-09 Nokia Corporation Dynamic load distribution using local state information
US7334045B1 (en) * 2002-11-18 2008-02-19 Packet Design, Inc. Method and apparatus for allocating traffic among routers on a computer network
US7246172B2 (en) * 2003-06-06 2007-07-17 Matsushita Electric Industrial Co., Ltd. Static dense multicast path and bandwidth management
US7480735B2 (en) * 2003-09-11 2009-01-20 Sun Microsystems, Inc. System and method for routing network traffic through weighted zones
US7308505B2 (en) * 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
US7609626B2 (en) * 2004-04-16 2009-10-27 Alcatel-Lucent Usa Inc. Nodes for managing congestion and traffic flow by considering the minimization of link utilization values
FR2869746B1 (fr) * 2004-04-29 2006-07-28 Alcatel Sa Dispositif de repartition de charge, multi-criteres, pour un equipement peripherique d'un reseau de comminications a commutation d'etiquettes
US7860096B2 (en) * 2004-06-08 2010-12-28 Oracle America, Inc. Switching method and apparatus for use in a communications network
US7567512B1 (en) * 2004-08-27 2009-07-28 Juniper Networks, Inc. Traffic engineering using extended bandwidth accounting information
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer
US20080288659A1 (en) * 2006-11-09 2008-11-20 Microsoft Corporation Maintaining consistency within a federation infrastructure
US9014181B2 (en) * 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
US20060114918A1 (en) * 2004-11-09 2006-06-01 Junichi Ikeda Data transfer system, data transfer method, and image apparatus system
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
US20060268691A1 (en) * 2005-05-31 2006-11-30 International Business Machines Corporation Divide and conquer route generation technique for distributed selection of routes within a multi-path network
US8908674B2 (en) * 2005-08-08 2014-12-09 Telecom Italia S.P.A. Method for configuring an optical network
US8335164B2 (en) * 2005-11-02 2012-12-18 Thomson Licensing Method for determining a route in a wireless mesh network using a metric based on radio and traffic load
US20080063028A1 (en) * 2006-09-11 2008-03-13 Lumera Corporation Photonics-based Multi-band Wireless Communication Methods
JP2008135914A (ja) * 2006-11-28 2008-06-12 Nec Corp 経路制御方法および通信ノード
US20080192654A1 (en) * 2007-02-09 2008-08-14 Timothy Roy Block Method, Apparatus, and Computer Program Product for Implementing Infiniband Network Topology Simplification
US20080256079A1 (en) * 2007-04-11 2008-10-16 Yahoo! Inc. Load-based technique to balance data sources to data consumers
US7724674B2 (en) * 2007-05-16 2010-05-25 Simula Innovations As Deadlock free network routing
US7881206B2 (en) * 2007-12-31 2011-02-01 Oracle America, Inc. Method and apparatus for mesh routing
US7944923B2 (en) * 2008-03-24 2011-05-17 Oracle America, Inc. Method and system for classifying network traffic
JP5125679B2 (ja) * 2008-03-27 2013-01-23 日本電気株式会社 負荷分散装置及び方法とプログラム
CN102067529A (zh) * 2008-06-19 2011-05-18 松下电器产业株式会社 通信路径构筑装置和n-树构筑方法
US8483096B2 (en) * 2008-07-22 2013-07-09 The Regents Of The University Of California Scalable commodity data center network architecture
US20120182865A1 (en) * 2009-02-06 2012-07-19 Vpisystems, Inc. Systems, Methods, and Apparatuses for Managing the Flow of Traffic in Data Networks
US8782755B2 (en) * 2009-03-20 2014-07-15 Citrix Systems, Inc. Systems and methods for selecting an authentication virtual server from a plurality of virtual servers
EP2278756B1 (en) * 2009-07-02 2016-10-26 Bull S.A.S. Methods and devices for evaluating interconnection efficiency of parallel computer networks based upon static routing schemes
US8175107B1 (en) * 2009-08-18 2012-05-08 Hewlett-Packard Development Company, L.P. Network routing based on MAC address subnetting
US8576715B2 (en) * 2009-10-26 2013-11-05 Mellanox Technologies Ltd. High-performance adaptive routing
US8274987B2 (en) * 2010-03-22 2012-09-25 International Business Machines Corporation Contention free pipelined broadcasting within a constant bisection bandwidth network topology
US8427958B2 (en) * 2010-04-30 2013-04-23 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US9007895B2 (en) * 2010-04-30 2015-04-14 Hewlett-Packard Development Company, L.P. Method for routing data packets in a fat tree network
US8811398B2 (en) * 2010-04-30 2014-08-19 Hewlett-Packard Development Company, L.P. Method for routing data packets using VLANs
US9083627B2 (en) * 2011-12-20 2015-07-14 Cisco Technology, Inc. Assisted traffic engineering for minimalistic connected object networks
JP5928582B2 (ja) * 2012-05-16 2016-06-01 富士通株式会社 ノード装置および通信方法

Also Published As

Publication number Publication date
WO2011144848A1 (fr) 2011-11-24
FR2960369B1 (fr) 2013-03-01
BR112012025050A2 (pt) 2016-06-21
US20130067113A1 (en) 2013-03-14
EP2572478A1 (fr) 2013-03-27
EP2572478B1 (fr) 2017-07-19
FR2960369A1 (fr) 2011-11-25
US9749219B2 (en) 2017-08-29
JP2013526809A (ja) 2013-06-24

Similar Documents

Publication Publication Date Title
JP5681278B2 (ja) 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム
US11023535B1 (en) Placement of data volumes in a data center
JP6733486B2 (ja) マルチドメイン・ネットワークにおけるバーテックス中心のサービス機能チェーン形成
US20160350146A1 (en) Optimized hadoop task scheduler in an optimally placed virtualized hadoop cluster using network cost optimizations
US8943499B2 (en) Providing a virtual network topology in a data center
CN108566659B (zh) 一种基于可靠性的5g网络切片在线映射方法
US9130912B2 (en) System and method for assisting virtual machine instantiation and migration
WO2015047833A1 (en) File block placement in a distributed file system network
Ranjan et al. Peer-to-peer service provisioning in cloud computing environments
US11695681B2 (en) Routing domain identifier assignment in logical network environments
US11575581B2 (en) Utilizing constraints to determine optimized network plans and to implement an optimized network plan
US20230030165A1 (en) Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan
US20140123132A1 (en) Optimizing latencies in cloud systems by intelligent compute node placement
US11374820B2 (en) Centralized controller-based dynamic network bandwidth allocation and management
DK3105683T3 (en) APPLICATION OF COMPLETE API FOR PROGRAMMING BOTH SERVERS AND STRUCTURE FOR TRANSMISSION TO FINE CORN NETWORK OPTIMIZATIONS.
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
JP5650318B2 (ja) 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム
CN110213365B (zh) 基于用户分区的用户访问请求处理方法及电子设备
US20090259769A1 (en) Dynamic Component Placement in an Event-Driven Component-Oriented Network Data Processing System
US20120106556A1 (en) Communication technique in network including layered relay apparatuses
US11108854B2 (en) Peer-to-peer network for internet of things resource allocation operation
CN117149445A (zh) 一种跨集群负载均衡方法及装置、设备及存储介质
He et al. Firebird: Network-aware task scheduling for spark using sdns
US20150186429A1 (en) Method and system for data dispatch processing in a big data system
JP2017028548A (ja) 物理リソース割当装置、物理リソース割当方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140521

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150108

R150 Certificate of patent or registration of utility model

Ref document number: 5681278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees