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

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

Info

Publication number
JP2013531424A
JP2013531424A JP2013512971A JP2013512971A JP2013531424A JP 2013531424 A JP2013531424 A JP 2013531424A JP 2013512971 A JP2013512971 A JP 2013512971A JP 2013512971 A JP2013512971 A JP 2013512971A JP 2013531424 A JP2013531424 A JP 2013531424A
Authority
JP
Japan
Prior art keywords
nodes
node
weight
cluster
task
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
JP2013512971A
Other languages
English (en)
Other versions
JP5650318B2 (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 JP2013531424A publication Critical patent/JP2013531424A/ja
Application granted granted Critical
Publication of JP5650318B2 publication Critical patent/JP5650318B2/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
    • 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/123Evaluation of link metrics
    • 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)

Abstract

本発明は、ノードを備えるクラスタにおけるこれらのノードを接続する静的な通信リンクの擬似動的ルーティングに関する。ルーティングは、リンクに関する負荷レベルにもとづく。タスクの実行に割り当てられた一群のノードを指定するノード識別子のリストを受信(635)した後で、前記一群のノードのうちの第1ノードの識別子と前記第1のノードとは別の第2のノードの識別子とで形成されるペアに、第1の所定の値を有する重みが割り当てられ、別々のタスクに割り当てられたノードの識別子で形成されるペアには、前記第1の値とは異なる初期値として割り当てられる第2の所定の値を有する重みが割り当てられる(655)。次いで、クラスタのルーティングが行なわれ、このルーティングは、前記第1および第2のノードの間の経路を選択するステップ(610)と、前記選択された経路を構成する各々のリンクに関する負荷レベルを前記第1の値だけ増やすステップ(625)とを含む。

Description

本発明は、クラスタにおけるルーティング、すなわちクラスタのノード群の間の通信経路の決定に関し、さらに詳しくは、静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラムに関する。
高性能計算(HPC)が、特に航空、エネルギー、気候、および生命科学などの技術分野において、大学および産業界における研究などのために開発されている。モデル化およびシミュレーションが、特により信頼できかつ消費するエネルギーも少ない革新的な製品の開発コストの削減および迅速な商品化を可能にする。研究技術者にとって、高性能計算は、不可欠の研究手段となっている。
この計算は、一般に、クラスタと呼ばれるデータ処理システムにおいて実行される。クラスタは、典型的には、相互接続されたノードの組を備えている。いくつかのノード(計算ノード)は、計算タスクの実行に使用され、別のノード(ストレージノード)は、データの記憶に使用され、他の1つ以上のノード(管理ノード)が、クラスタを管理する。各々のノードは、例えばLinux(登録商標)などのオペレーティングシステムを実行するサーバである。ノード間の接続は、例えばEthernet(登録商標)または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アルゴリズムは、存在する通信リンクの全体に可能なかぎり分散するように経路を決定する。これらの目的のために、全体がファットツリー形式のアーキテクチャに従って接続された通信ネットワークのルーティングの際には、ネットワークの各々のノードが、同じ重要性を有するものと考えられる。したがって、経路が同じリンクの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つを解決できるようにする。
本発明は、複数のノードと前記複数のノードのノードを接続する静的な通信リンクとを備えるクラスタにおいて、前記通信リンクに関する負荷レベルにもとづく擬似動的ルーティングを行なうためのコンピュータにおける方法であって、
前記複数のノードのうちのノードの識別子であって、あるタスクの実行に割り当てられた一群のノードを指定する識別子のリストを受信するステップと、
前記一群のノードのうちの第1のノードの識別子と、前記第1のノードとは別個の前記一群のノードのうちの第2のノードの識別子とによって形成されるペアに、第1の所定の値を有する重みを割り当て、別々のタスクに割り当てられたノードの識別子で形成されるペアには、前記第1の値とは異なる初期値として割り当てられる第2の所定の値を有する重みを割り当てるステップと、
前記クラスタのルーティングを行なうステップと
を含んでおり、
前記ルーティングを行なうステップが、
前記第1および第2のノードの間の経路を選択するステップと、
前記選択された経路を構成する各々の通信リンクに関する負荷レベルを前記第1の値だけ増やすステップと
を含む方法に関する。
このようにして、本発明による方法は、クラスタのノードによって実行されるべきタスクに応じて特定の経路が他の経路よりも優先または回避されるように経路に重みを組み合わせることによって、クラスタのルーティングを最適にすることを可能にする。
好都合には、この方法が、前記第1のノードの前記識別子と前記第1のノードの出力アドレスとの間および前記第2のノードの前記識別子と前記第2のノードの入力アドレスとの間の対応関係を確立するステップをさらに含み、前記重みを割り当てるステップが、前記第1のノードの前記出力アドレスと前記第2のノードの前記入力アドレスとで形成されるペアに重みを割り当てるように進められる。
したがって、本発明による方法を、ノードの入力および出力アドレスをノード識別子に関連付け、タスクをノードに関連付けるクラスタの設定ファイルにもとづいて容易に実行することができる。
特定の実施の形態によれば、この方法が、前記タスクの特徴を表わす情報項目を所定のデータ項目と比較するステップを
さらに含み、前記ルーティングを行なうステップが、前記比較するステップに応答して実行される。
このようにして、本発明による方法は、実行されるタスクの特徴に応じたクラスタのルーティングの最適化を可能にする。前記タスクの特徴を表わす情報項目は、例えばこのタスクの実行に割り当てられたノードの数である。
さらに特定の実施の形態によれば、この方法が、
前記クラスタのノードであって、間に接続を確立すべき少なくとも2つのノードを特定するステップと、
前記特定された少なくとも2つのノードを前記通信リンクによって接続する少なくとも1つの経路を、前記特定された少なくとも2つのノード、前記通信リンクのうちの複数の通信リンク、および前記複数の通信リンクの各々の通信リンクに関する少なくとも1つの負荷レベルに従って割り出し、所定の経路を選択するステップと、
前記選択された経路に関する重みの値を推定するステップと、
前記選択された経路を構成する各々の通信リンクに関する負荷レベルを、前記推定による値に従って増加させるステップと
をさらに含む。
このようにして、本発明による方法は、タスクへのノードの割り当てならびに実装されクラスタおよびノードの特徴に応じたクラスタのルーティングの最適化を可能にする。
この方法が、好ましくは、前記特定された少なくとも2つのノードのうちの少なくとも一方についてノードの種類を取得するステップをさらに含み、前記重みの前記推定による値が、前記取得されたノードの種類に応じて少なくとも部分的に推定される。このようにして、本発明による方法は、ノードの種類に応じたクラスタのルーティングの最適化を可能にする。
好都合には、この方法が、前記特定された少なくとも2つのノードのうちの少なくとも一方が属するグループの参照を取得するステップをさらに含み、前記重みの前記推定による値が、前記取得されたグループの参照に応じて少なくとも部分的に推定される。このようにして、本発明による方法は、各々のノードを個別に特徴づける必要なく、ノードの種類に応じたクラスタのルーティングの最適化を可能にする。ノードの種類および/またはグループは、好ましくは該当のノードの性質に応じて決定される。
さらに特定の実施の形態によれば、この方法が、少なくとも1つの静的なルーティング表を更新するステップをさらに含み、前記少なくとも1つの静的なルーティング表が、前記クラスタの少なくとも2つのノードを接続する前記クラスタの少なくとも1つのスイッチに関連付けられている。このようにして、本発明による方法を、特に静的なルーティング表を備えるスイッチを使用する従来からのアーキテクチャにおいて、容易に実行することができる。
経路は、好都合には、ルーティングを簡単にするために各経路に関する重みの値の順にて選択される(重みの軽い経路は、重みの大きい経路よりも容易に定めることができる)。
さらに本発明は、コンピュータ上で実行されたときに上述の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラムに関する。このコンピュータプログラムによってもたらされる利点は、上述した利点と同様である。
本発明の他の利点、目的、および特徴が、あくまでも本発明を限定するものではない例として添付の図面に関連して提示される以下の詳細な説明から、明らかになるであろう。
クラスタの接続形態の例を示している。 クラスタのノードのアーキテクチャの例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおけるFTree方式のアルゴリズムによるルーティングの原理を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける重みを用いたルーティングの原理の例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける重みを用いたルーティングの原理の例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける重みを用いたルーティングの原理の例を示している。 スイッチを備えるクラスタの初期化段階の際のこのスイッチにおける重みを用いたルーティングの原理の例を示している。 ルーティングの最適化を可能にすべく本発明に従ってノードを接続する経路の重みが実行されるタスクに応じて計算されるクラスタの一部分の接続形態の例を示している。 静的な通信リンクを備えるクラスタのルーティングまたは再ルーティングのための典型的なアルゴリズムの特定の段階を示している。 静的な通信リンクを備えるクラスタのルーティングまたは再ルーティングのための典型的なアルゴリズムの特定の段階を示している。
クラスタ内の通信ネットワークの経路が同じ性質である場合、それらの経路によって接続されるノードの性質が、交換されるデータの量に関し、したがって使用される帯域幅に関して、ある役割を果たすことが明らかになっている。すなわち、例えば、2つの計算ノードを接続する経路は、一般に、計算ノードをストレージノードへと接続する経路と比べ、あまり帯域幅を使用しない。
同様に、同じタスクの実行に使用される計算ノードを接続するために使用される経路は、一般に、異なるタスクの実行に使用される計算ノードを接続するために使用される経路と比べ、より多くの帯域幅を必要とする。
ここで、タスクまたはプロセス(ジョブとも呼ばれる)が、特に時間および場所において定められるアプリケーションであることを思い出すべきである。タスクは、通常は、タスクマネージャ(バッチマネージャまたはリソースマネージャとも呼ばれる)によって開始された後に、一群のノードによって実行される。タスクマネージャの目的は、特に、タスクの実行に必要なノードの数を決定し、状況に応じて個々の制約(特に、ユーザによって決定される制約)を考慮してタスクの実行に使用できる充分な数のノードが存在するか否かをチェックし、ノードをタスクの実行に割り当て、タスクの実行を開始することにある。
したがって、本発明は、ルーティングの際に、クラスタのノードの性質および役割を使用して、それらのノードを接続する経路に重みまたは重み付け係数を与える。クラスタの特定の種類のノードを接続する経路ならびに特定の役割を有するノード(特に、同じタスクを実行するノード)への経路に重みを割り当てることで、使用されるルーティングのアルゴリズムを特定の経路へと偏らせることが可能になり、したがって使用される通信リンクの各々の経路への帯域幅の割り当てを最適にすることが可能になる。
従来からの方法においては、使用されるルーティングアルゴリズムが、2つのノードの間の経路を確立するときに複数の選択肢が存在する場合、それらの選択肢に関する負荷レベル(すなわち典型的には、それらの選択肢に対応するリンクを使用している経路の数)を比較し、負荷レベルが最も低い選択肢を選択する。しかしながら、本発明によれば、2つのノードの間に経路が確立されるとき、その経路をサポートする通信リンクの負荷レベルが、当該2つのノードの種類および当該2つのノードが割り当てられたタスクに関係した値を有する重みに応じて増やされる。
特定の種類の経路に所与の重みを割り当てることによって、ルーティングを、帯域幅に関して特定のニーズを有する特定の経路を優先するように偏らせることが可能になる。すなわち、2つのノードを接続する経路に大きな値を有する重みを使用することによって、それらのノードの間のデータ通信により広い帯域幅を割り当てることができる。
ルーティング段階における経路への重みの割り当てを、アプリケーションプログラムインターフェイス(API)を通じて実行することができる。
特定の実施の形態によれば、ルーティング段階における重みの割り当てが、ノードあるいはノードが属する1つ以上のグループの種類ならびにそれらのノードによって実行されるタスクのそれぞれに従って決定される。
ノードまたはノードが属する1つ以上のグループの種類に従って重みを割り当てるために、weight_fileと呼ばれる重みファイルを使用することができる。ここで、重みファイルは、Infiniband方式の通信ネットワークにおいてポートGUID(グローバル一意識別子(Globally Unique Identifier)の略)と称されるポート識別子によって定められる経路へと重みを割り当てることを可能にする。
そのようなファイルが、ルーティング段階に先立って分析される。そのようなファイルは、種類によってグループ分けされた通信ネットワークの通信要素(典型的には、ノード)のリスト、ならびにそれらのグループ間に形成されるペアについての重みのリストを含んでいる。それらの分析の際に、それらの重みを、ルーティング段階において各々の通信リンクについて使用すべき負荷レベルの増分を記述する配列を満たすために使用することができる。初期値として、ある2種類のノードを接続する経路について重みの値が定義されていない場合には、その値は1に等しい。
ルーティング段階において経路が一連のリンクを通じて確立されるとき、それらのリンクの各々に関する負荷レベルが、確立された経路の両端のノードの種類に関連付けられた重みの値だけ増やされる。
図4a〜図4dが、スイッチ400を含むクラスタの初期化段階の際のスイッチ400における、ノードまたはノードが属する1つ以上のグループの種類に応じたルーティングの原理を示している。
図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に関する負荷レベルが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つの種類のノードを接続する経路に関する重みが、重み設定ファイルに複数回現れる場合に、その経路に関する重みが、指定された重みの累積値に等しい。
当然ながら、他の重みを定めることができる。同様に、別の文法を使用することができる。さらに、上述の例に従い、経路に方向性があると考えられる場合に、経路に関する負荷のレベルは、あたかも経路が双方向性であるかのように、逆の経路に関する負荷のレベルと同じであってもよい。
このようなルーティングを、クラスタの初期化の際に行なうことができ、あるいは後述されるようにタスクの実行に関係した再ルーティング作業と併せて行なうことができる。
タスクの実行の開始に先立ち、そのタスクの実行に割り当てられたノードの識別子のリストが、タスクプロローグ(task prolog)またはジョブプロローグ(job prolog)と呼ばれるステップにおけるタスク内の重みの管理のためのソフトウェアモジュールへと送信される。このリストは、タスクの開始に先立ってタスクマネージャによって確立される。
これにより、タスク内の重みの管理のモジュールが、タスク識別子を受信したリストに属するノード識別子に関連付け、好ましくはそれらのノード識別子とデータベースに保存された情報(特に、ポート識別子またはポートGUID)との間の対応関係を確立させ、タスク識別子とポートGUIDとの間の対応関係を確立させる。次いで、特定の値を有する重みが、同じ識別子に関連付けられたポートGUIDの各ペアに割り当てられる。このようにして、ルーティングの際に、経路が一式の通信リンクを介して生成されるとき、それらのリンクの負荷レベルが、前記重みに等しい値だけ増やされる。
例として、同じタスクの実行に割り当てられているのではない2つのノードの間の経路の確立に使用される通信リンクの負荷レベルが1に等しい場合に、同じタスクの実行に割り当てられた2つのノードの間の経路の確立に使用される類似の通信リンクの負荷レベルは10に等しくてもよい。したがって、この例によれば、同じタスク識別子に関連付けられたポートGUIDを接続する経路が一式の通信リンクを介して生成されるとき、それらの通信リンクの各々の負荷レベルが10だけ増やされる。
ノードのペアへと重みを割り当て、より詳しくはポートGUIDのペアへと重みを割り当てた後で、実行されるタスクに応じてクラスタのルーティングをやり直すようにネットワークマネージャ(サブネットマネージャと呼ばれる)へとメッセージを送信することができる。
しかしながら、好都合には、ルーティングのやり直しは、クラスタを不必要に妨げることがないよう、特定の条件のもとでのみ実行される。すなわち、例えば、実行すべきタスクに割り当てられたノードの数がクラスタのノードの数と比べて多い場合、および/またはタスクの予想実行時間が所定のしきい値よりも長い場合にかぎって、ルーティングのやり直しを実行することができる。したがって、例として、実行すべきタスクにクラスタのノードのうちの25%超が割り当てられた場合、およびこのタスクの実行時間が1時間を超える場合にかぎり、ルーティングのやり直しを実行することができる。
ルーティングをやり直した後で、タスクが開始される。次に、タスクの実行後に、このタスクの実行に割り当てられたノード(または、ポートGUID)のペアの重みの値が、それぞれの初期値(例えば、1という値)へと再び初期化される。このステップは、エピローグと呼ばれる。
図5が、本発明に従ってノードを接続する経路の重みが実行されるタスクに応じて計算することによってルーティングの最適化を可能にするクラスタの一部分の接続形態の例を示している。
ここに示されているクラスタの一部分は、4つの計算ノード(505−1〜505−4で示されている)が接続された第1のスイッチ500−1と、計算ノード505−5〜505−8が接続された第2のスイッチ500−2とを含んでおり、第2のスイッチ500−2が2つの通信リンクによって第1のスイッチ500−1へと接続されている。通信リンクは、静的な通信リンクであり、例えばInfiniband方式の通信リンクである。
図5に示した例によれば、群510−1を形成する計算ノード505−1〜505−6が、第1のタスクへと割り当てられる一方で、群510−2を形成する計算ノード505−7および505−8が、第2のタスクへと割り当てられている。
すでに示したように、2つのノードを接続する経路の重みの値は、初期設定として設定され、1に等しくてもよい。したがって、ノード505−1と505−8とを接続する経路(経路は通信リンク515−3を使用すると仮定する)に関して、ノード505−1のスイッチ500−1への接続、ノード505−8のスイッチ500−2への接続、およびスイッチ同士の接続のそれぞれの通信リンク515−1、515−2、および515−3の負荷は、初期設定による値に等しく、例えばリンク515−3の傍らに記載されているように1に等しい(ここで、リンク515−3を使用する他の経路に関する負荷は、分かり易くするために無視した)。
このような初期値を、タスクの開始時に変更することができる。
すなわち、ノード505−1〜505−6の第1のタスクへの割り当てを承けて、ノード505−1〜505−6を互いに接続する経路の重みを変更することができる。例えば、ノード505−1と505−5とを接続する経路(経路が通信リンク515−5を使用すると仮定する)に関して、ノード505−1のスイッチ500−1への接続、ノード505−5のスイッチ500−2への接続、およびスイッチ同士の接続のそれぞれの通信リンク515−1、515−4、および515−5の負荷が、他の値に等しく、例えばリンク515−5の傍らに記載されているように10に等しい(ここで、リンク515−5を使用する他の経路に関する負荷は、分かり易くするために無視した)。
特定の実施の形態によれば、同じタスクに割り当てられたノードを接続する経路の重みの計算は、いくつかのソフトウェアモジュールを使用する。これらのモジュールは、特に、再ルーティングおよび重みの管理を可能にするAPIの使用を可能にするネットワークマネージャ、タスクの実行に割り当てられたノードのリストを確立するためのタスクマネージャ、ノードの識別子とポートGUIDなどのルーティング情報項目との間の関係を確立する通信リンクマネージャ、およびタスク内重み管理モジュールに関する。これらのモジュールの一部(タスクマネージャ)は、特段の変更を必要とせずに使用可能であり、他のモジュール(ネットワークマネージャおよび通信リンクマネージャ)は、重みの管理に鑑みて変更され、他のモジュール(タスク内重み管理モジュール)は、重みの管理に特有である。
重み管理の有効化を、ネットワークマネージャを通じて、例えばrouting_engine<ルーティングエンジン名>などのコマンドラインを設定ファイルに挿入することによって実行することができる。また、例えばR<ルーティングエンジン名>などのネットワークマネージャのコマンドの選択肢を選択することによって実行することもできる。
ここで、計算ノード以外のノードを接続する経路に関する重みが、それらのノードがタスクマネージャによって送信されるタスクに割り当てられたノードの識別子のリストに現れないということから、ノードによって実行されるタスクに応じた重みの属性に影響されないことが明らかである。
したがって、ノードの種類による重みの管理またはノードが属するグループによる重みの管理と、実行されるタスクに応じた重みの管理とは、互いに相補的であり、お互いを邪魔することがない。
ルーティングの段階において、経路は、ルーティングを最適にするために、好ましくは重みの値が他の経路の重みの値よりも大きい経路が当該他の経路よりも前に決定されるように順序づけられた方式で決定される。この順序は、重みの配列および種類に応じたノードの特定を可能にするノードのグループにもとづいて決定でき、タスクの開始時に決定される重み表にもとづいて決定できる。
図6aおよび図6bが、静的な通信リンクを備えるクラスタのルーティングまたは再ルーティングのための例示的なアルゴリズムの特定の段階を示している。
図6aが、2つのノードを接続する経路を決定および選択し、さらには経路の選択後に通信リンクの負荷レベルを決定するために実行されるアルゴリズムの例の概略図である。
第1のステップ(ステップ600)は、2つのノードから形成されるノードペアに重み(経路の方向にかかわらず同じ重み)を関連付け、あるいは別表(表1)に示されるように送信元ノードおよび受信ノードから形成されるノードペアに重み(経路の方向に関連した重み)を関連付けることを可能にする重み配列の初期化に関する。この配列を、特に別表(抜粋1)に示した重みファイルなどの重みファイルから確立することができる。このステップは、ノードの識別子とノードの種類および/またはノードが属する1つ以上のグループとの間の対応関係を保存することも可能にする。あるいは、重み配列が、別表(表2)に部分的に示されているように、各々のノードペアに関する重みを直接定めてもよい。
表1が、送信側のノードタイプを受信側のノードタイプへと接続する経路に与えるべき重みを示している一方で、表2は、送信元ノードを受信ノードへと接続する経路に与えるべき重みを示している。
続くステップ(ステップ605)において、確立すべき経路の両端のノードのペアが特定される。ここでは、ノードのペアが、送信元ノードおよび受信ノードからなる。このステップは、確立すべき経路の定義を可能にするためのルーティングアルゴリズムの基本的なステップである。例えば、ノードが、ポートGUIDによって特定される。
次いで、それら特定されたノードを接続するための経路の選択肢を割り出し、最良の経路を選択するステップが、標準的なアルゴリズム(例えば、FTreeアルゴリズム)に従って実行される(ステップ610)。
続くステップ(ステップ615)において、特定されたノードのタイプあるいはそれらが属する1つ以上のグループが、初期化のステップにおいて得られた情報に従って取得される。破線の使用によって示唆されているとおり、このステップは随意である。なぜならば、特に初期化の段階において決定される重み配列が、重みをノードの識別子に直接関連付けている場合に、この段階においてノードの種類および/またはノードが属する1つ以上のグループを割り出す必要がないからである。
次いで、これら2つのノードを接続する経路の重みが推定される(ステップ620)。この推定は、ノードの種類、ノードが属する1つ以上のグループ、および/またはノードの識別子(例えば、ポートGUID)にもとづき、あるいは特定された2つのノードが同じタスクの実行に割り当てられた計算ノードである場合に以前に実行された計算の結果にもとづく。
重みは、特定されたノードの種類またはそれらが属する1つ以上のグループに関係する場合には、好ましくは前もって決定された重み配列から読み出すことによって直接与えられる。あるいは、重みを、所定の関数または表に従い、重み配列に保存された参照値に従って推定することができる。重み配列からの重みを、例えばクラスタの接続形態または当該経路によって実現されるリンクの位置に関する特定の状況に応じて、増減させてもよい。
重みは、特定されたノードによって実行されるタスクに関係する場合には、別表(表3)に示されるような重み表によって得られる。
すでに示したように、経路の重みの値は、初期値に等しくない場合には、ノードの種類または属するグループに従って決定される値またはタスクによる割り当てに従って決定される値に等しいが、好ましくはノードの種類または属するグループおよびタスクによる割り当てに従って決定される値に等しくはない。結果として、その値が、使用される重みアレイにもとづいて決定される場合、重みを特定されたノードの割り当てに従って変更しなければならないかどうかを、常に検証する必要はない。
ここで、表3は、それぞれ送信側のポートGUID、受信側のポートGUID、および重みの値に対応する3つの列を含んでいる。各々の行が、送信側のポートGUIDを有するノードと受信側のポートGUIDを有するノードとの間の経路に相当する。
次いで、選択された経路について推定された重みが、当該経路によって使用される通信リンクに関する負荷レベルを更新するために使用される(ステップ625)。すでに述べたように、推定された重みの値を、当該経路が使用する通信リンクの負荷レベルの値へと加算することができる。
破線の矢印によって示唆されるとおり、ステップ605〜625を、新たな経路の確立のために繰り返すことができる。典型的には、ステップ605〜625が、図6aに示したアルゴリズムが実行されるクラスタにおいて確立すべきすべての経路について繰り返される。
図6bは、2つのノードを接続する経路の重みをそれらのノードが同じタスクの実行に割り当てられたときに計算するための典型的なアルゴリズムの特定の段階を示している。
すでに示したとおり、新たなタスクを開始すべき場合に、タスクマネージャがそれを実行できるか否かを判断し、肯定の場合に、その実行に割り当てられるノードのリストを確立する。すなわち、新たなタスクを実行すべき場合(ステップ630)、タスク内重み管理モジュールが、その実行に割り当てられたノードのリストを受信する(ステップ635)。タスク識別子が、それらのノード識別子に関連付けられる。
実行すべき新たなタスクが存在しない場合、アルゴリズムは、停止させられるまでルーピングを続ける。
次いで、特に実行すべきタスクの実行を最適化するために、クラスタの再ルーティングを実行すべきかどうかを判断するための試験が実行される(ステップ640)。
すでに示したように、そのような試験を、特に、実行すべきタスクに割り当てられたノードの数をクラスタのノードの数と比較すること、および/または推定されるタスクの実行時間を所定のしきい値と比較することで構成することができる。
破線の使用によって示唆されているとおり、このステップは随意である。実行される各々のタスクについて再ルーティングを実行すべきであると判断してもよい。
再ルーティングを実行する必要がない場合、当該タスクの実行を可能にするインストラクションがタスクマネージャへと送信される(ステップ645)。次いで、アルゴリズムは、実行すべき新たなタスクを待つべくステップ630へと戻る。
そうでない場合、再ルーティングを実行しなければならない場合に、続くステップ(ステップ650)において、ノード識別子およびポートGUIDなどのルーティング情報項目の間のリンクが確立される。このステップは、典型的には、タスクマネージャから受信されたノード識別子のリストおよび通常はデータベースに保存された設定データにもとづいて行なわれる。このステップは、特に同じタスクの実行へと割り当てられ、間に経路を確立させなければならないノードの送信アドレスおよび受信アドレスを特定することを可能にする。
やはり、破線の使用によって示唆されているとおり、このステップは随意である。その実行は、クラスタにおけるノード間の通信リンクの管理の方法に応じて決まる。
最後に、実行すべきタスクへと割り当てられたノードの出力アドレスを同じタスクへと割り当てられたノードの入力アドレスへと接続する各々の経路に重みが与えられる。そのようなアドレスは、好ましくはポートGUIDである。このステップは、別表(表3)に示されるような重み表の確立を可能にする。
次いで、クラスタの再ルーティングが、図6aに関して説明したアルゴリズムなどのアルゴリズムを使用して行なわれる(符号A)。次に、該当のタスクの実行を可能にするためのインストラクションがタスクマネージャへと送信され(ステップ645)、アルゴリズムは実行すべき新たなタスクを待つべくステップ630へと戻る。
図6aおよび図6bを参照して説明したアルゴリズムを、例えば図2に関して説明したアーキテクチャと同様のアーキテクチャを有する装置において実行できることが、明らかになっている。
このアルゴリズムは、管理ノード上で動作するネットワークマネージャにおいて実行される。
さらに、ルーティングアルゴリズムにおける重みの使用が、クオリティオブサービス(QoS)の管理アルゴリズムと矛盾しないことが明らかになっている。ここで、クオリティオブサービスの管理が、典型的には仮想リンクの考え方に従って各々の経路に関するサービスおよび信用のレベルにもとづいて、ネットワークの争いの場合に特定の経路を優先できるようにすることを、思い出すべきである。したがって、この管理は、本質的にルーティングとは無関係である。したがって、これら2つの手法は、クラスタにおけるデータの伝送を改善し、したがってクラスタの性能を向上させるうえで、相補的である。
当然ながら、個々のニーズを満たすために、当業者であれば以上の説明に変更を加えることができるであろう。
Figure 2013531424
抜粋1
Figure 2013531424
Figure 2013531424
Figure 2013531424

Claims (10)

  1. 複数のノードと前記複数のノードのノードを接続する静的な通信リンクとを備えるクラスタにおいて、前記通信リンクに関する負荷レベルにもとづく擬似動的ルーティングを行なうためのコンピュータにおける方法であって、
    前記複数のノードのうちのノードの識別子であって、あるタスクの実行に割り当てられた一群のノードを指定する識別子のリストを受信するステップ(635)と、
    前記一群のノードのうちの第1のノードの識別子と、前記第1のノードとは別個の前記一群のノードのうちの第2のノードの識別子とによって形成されるペアに、第1の所定の値を有する重みを割り当て、別々のタスクに割り当てられたノードの識別子で形成されるペアには、前記第1の値とは異なる初期値として割り当てられる第2の所定の値を有する重みを割り当てるステップ(655)と、
    前記クラスタのルーティングを行なうステップと
    を含んでおり、
    前記ルーティングを行なうステップが、
    前記第1および第2のノードの間の経路を選択するステップ(610)と、
    前記選択された経路を構成する各々の通信リンクに関する負荷レベルを前記第1の値だけ増やすステップ(625)と
    を含んでいることを特徴とする、方法。
  2. 前記第1のノードの前記識別子と前記第1のノードの出力アドレスとの間および前記第2のノードの前記識別子と前記第2のノードの入力アドレスとの間の対応関係を確立するステップをさらに含んでおり、
    前記重みを割り当てるステップが、前記第1のノードの前記出力アドレスと前記第2のノードの前記入力アドレスとで形成されるペアに重みを割り当てるように進められる、請求項1に記載の方法。
  3. 前記タスクの特徴を表わす情報項目を所定のデータ項目と比較するステップを
    さらに含んでおり、
    前記ルーティングを行なうステップが、前記比較するステップに応答して実行される、請求項1または2に記載の方法。
  4. 前記タスクの特徴を表わす情報項目が、前記タスクの実行に割り当てられたノードの数である、請求項3に記載の方法。
  5. 間に接続を確立させなければならない前記クラスタのうちの少なくとも2つのノードを特定するステップ(605)と、
    前記通信リンクによって前記特定された少なくとも2つのノードを接続する少なくとも1つの経路を、前記特定された少なくとも2つのノード、前記通信リンクのうちの複数の通信リンク、および前記複数の通信リンクの各々の通信リンクに関する少なくとも1つの負荷レベルに従って決定し、決定された経路を選択するステップ(610)と、
    前記選択された経路に関する重みの値を推定するステップ(620)と、
    前記選択された経路を構成する各々の通信リンクに関する負荷レベルを、前記推定による重さに従って増加させるステップ(625)と
    をさらに含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記特定された少なくとも2つのノードのうちの少なくとも一方についてノードの種類を取得するステップ(615)をさらに含んでおり、
    前記重みの前記推定による値が、前記取得されたノードの種類に応じて少なくとも部分的に推定される、請求項5に記載の方法。
  7. 前記特定された少なくとも2つのノードのうちの少なくとも一方が属するグループの参照を取得するステップ(615)をさらに含んでおり、
    前記重みの前記推定による値が、前記取得されたグループの参照に応じて少なくとも部分的に推定される、請求項5または6に記載の方法。
  8. 少なくとも1つの静的なルーティング表を更新するステップをさらに含んでおり、
    前記少なくとも1つの静的なルーティング表が、前記クラスタの少なくとも2つのノードを接続する前記クラスタの少なくとも1つのスイッチに関連付けられている、請求項1から7のいずれか一項に記載の方法。
  9. 経路が、経路に関連付けられた重みの値の順にて選択される、請求項1から8のいずれか一項に記載の方法。
  10. コンピュータ上で実行されたときに請求項1から9のいずれか一項に記載の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラム。
JP2013512971A 2010-06-01 2011-05-25 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム Expired - Fee Related JP5650318B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1002294A FR2960732B1 (fr) 2010-06-01 2010-06-01 Procede de routage pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
FR1002294 2010-06-01
PCT/FR2011/051185 WO2011151569A1 (fr) 2010-06-01 2011-05-25 Procede de routage pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede

Publications (2)

Publication Number Publication Date
JP2013531424A true JP2013531424A (ja) 2013-08-01
JP5650318B2 JP5650318B2 (ja) 2015-01-07

Family

ID=42712582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013512971A Expired - Fee Related JP5650318B2 (ja) 2010-06-01 2011-05-25 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム

Country Status (6)

Country Link
US (1) US9203733B2 (ja)
EP (1) EP2577920B1 (ja)
JP (1) JP5650318B2 (ja)
BR (1) BR112012029202A2 (ja)
FR (1) FR2960732B1 (ja)
WO (1) WO2011151569A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525279A (ja) * 2014-07-11 2017-08-31 オラクル・インターナショナル・コーポレイション 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法
JP2021170289A (ja) * 2020-04-17 2021-10-28 富士通株式会社 情報処理システム、情報処理装置およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3151130A1 (en) * 2015-09-30 2017-04-05 Tata Consultancy Services Limited Systems and methods for estimating temporal importance of data
CN111782626A (zh) * 2020-08-14 2020-10-16 工银科技有限公司 任务分配方法和装置、分布式系统、电子设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251302A (ja) * 1996-03-18 1997-09-22 Nri & Ncc Co Ltd ネットワーク資源分配方法および装置
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
WO2011004566A1 (ja) * 2009-07-07 2011-01-13 パナソニック株式会社 バス制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785737B2 (en) * 2001-07-31 2004-08-31 Tropic Networks Inc. Network resource allocation methods and systems
US20080256079A1 (en) * 2007-04-11 2008-10-16 Yahoo! Inc. Load-based technique to balance data sources to data consumers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251302A (ja) * 1996-03-18 1997-09-22 Nri & Ncc Co Ltd ネットワーク資源分配方法および装置
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
WO2011004566A1 (ja) * 2009-07-07 2011-01-13 パナソニック株式会社 バス制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200600063001; 松谷 宏紀 他: '非最短経路を用いたチップ内ネットワーク向け経路設定手法 Non-minimal Routing Strategy for Networks-on' 情報処理学会論文誌 第46巻,第SIG 12(ACS 11)号, 20050815, p.73〜83 *
JPN6014009091; 松谷 宏紀 他: '非最短経路を用いたチップ内ネットワーク向け経路設定手法 Non-minimal Routing Strategy for Networks-on' 情報処理学会論文誌 第46巻,第SIG 12(ACS 11)号, 20050815, p.73〜83 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525279A (ja) * 2014-07-11 2017-08-31 オラクル・インターナショナル・コーポレイション 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法
US10374979B2 (en) 2014-07-11 2019-08-06 Oracle International Corporation System and method for supporting efficient load-balancing in a high performance computing (HPC) environment
US11159452B2 (en) 2014-07-11 2021-10-26 Oracle International Corporation System and method for supporting efficient load-balancing in a high performance computing (HPC) environment
US11411890B2 (en) 2014-07-11 2022-08-09 Oracle International Corporation System and method for supporting efficient load-balancing in a high performance computing (HPC) environment
US11716293B2 (en) 2014-07-11 2023-08-01 Oracle International Corporation System and method for supporting efficient load-balancing in a high performance computing (HPC) environment
US12052184B2 (en) 2014-07-11 2024-07-30 Oracle International Corporation System and method for supporting efficient load-balancing in a high performance computing (HPC) environment
JP2021170289A (ja) * 2020-04-17 2021-10-28 富士通株式会社 情報処理システム、情報処理装置およびプログラム

Also Published As

Publication number Publication date
US9203733B2 (en) 2015-12-01
JP5650318B2 (ja) 2015-01-07
EP2577920A1 (fr) 2013-04-10
FR2960732B1 (fr) 2012-06-29
EP2577920B1 (fr) 2018-04-04
BR112012029202A2 (pt) 2016-11-29
WO2011151569A1 (fr) 2011-12-08
FR2960732A1 (fr) 2011-12-02
US20130070647A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
US10721095B2 (en) Virtual interface system and method for multi-tenant cloud networking
US10657106B2 (en) Method, computing device, and distributed file system for placement of file blocks within a distributed file system
JP5681278B2 (ja) 静的な通信リンクを備えるクラスタにおけるルーティングを最適化する方法およびこの方法を実行するコンピュータプログラム
CN110610449B (zh) 处理计算任务的方法、设备和计算机程序产品
US10606651B2 (en) Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit
US20170104847A1 (en) Vertex-centric service function chaining in multi-domain networks
US20160350146A1 (en) Optimized hadoop task scheduler in an optimally placed virtualized hadoop cluster using network cost optimizations
US20130290955A1 (en) Providing a virtual network topology in a data center
JP5650318B2 (ja) 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム
US10498643B2 (en) Method for constructing multipath forwarding rule, apparatus, and system
US9184982B2 (en) Balancing the allocation of virtual machines in cloud systems
CN110196729A (zh) 应用程序更新方法、设备和装置及存储介质
Lin et al. Toward optimal partial parallelization for service function chaining
US11374820B2 (en) Centralized controller-based dynamic network bandwidth allocation and management
CN113014611B (zh) 一种负载均衡方法及相关设备
US20040068729A1 (en) Non-hierarchical collaborative computing platform
US20210037114A1 (en) Enhanced self-assembling and self-configuring microservices
CN110213365B (zh) 基于用户分区的用户访问请求处理方法及电子设备
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
JP6303300B2 (ja) 制御依頼方法、情報処理装置、システム、およびプログラム
US10887185B1 (en) Utilizing constraints to determine optimized network plans and to implement an optimized network plan
US9705978B1 (en) Dependency graph management
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
JP4414447B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140602

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141112

R150 Certificate of patent or registration of utility model

Ref document number: 5650318

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