JP2017533668A - マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするためのシステムおよび方法 - Google Patents

マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするためのシステムおよび方法 Download PDF

Info

Publication number
JP2017533668A
JP2017533668A JP2017523495A JP2017523495A JP2017533668A JP 2017533668 A JP2017533668 A JP 2017533668A JP 2017523495 A JP2017523495 A JP 2017523495A JP 2017523495 A JP2017523495 A JP 2017523495A JP 2017533668 A JP2017533668 A JP 2017533668A
Authority
JP
Japan
Prior art keywords
nodes
switches
partition
node
partitions
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
JP2017523495A
Other languages
English (en)
Other versions
JP2017533668A5 (ja
JP6653699B2 (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 JP2017533668A publication Critical patent/JP2017533668A/ja
Publication of JP2017533668A5 publication Critical patent/JP2017533668A5/ja
Application granted granted Critical
Publication of JP6653699B2 publication Critical patent/JP6653699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/58Association of routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree 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/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

システムおよび方法は、マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることができる。例示的な方法は、マルチテナントクラスタ環境内の1つ以上のテナントをサポートすることができる。この方法は、1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付けることができる。この方法は次に、複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けることができ、複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、複数のスイッチは複数のリーフスイッチと複数のルートスイッチとを含む。最後に、この方法は、1つ以上のリニアフォワーディングテーブルを生成することができ、1つ以上のリニアフォワーディングテーブルは複数のパーティション間に分離を提供し、複数のノードの各々はパーティショニング順序に関連付けられる。

Description

著作権表示:
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。この特許文献または特許開示は特許商標庁の特許ファイルまたは記録に記載されているため、著作権保有者は、何人によるその複写複製に対して異議はないが、その他の場合には如何なるときもすべての著作権を保有する。
発明の分野:
この発明は一般にコンピュータシステムに関し、特にマルチテナントクラスタ環境に関する。
背景:
マルチテナンシーは、利用可能なシステムリソースの多大な利用を約束し、サービスプロバイダのためにコスト効率の良い動作を維持するのに役立つ。しかしながら、マルチテナント高性能コンピューティング(multi-tenant high-performance computing:HPC)インフラストラクチャは、テナントへの性能分離(performance isolation)の提供およびネットワークファブリック全体にわたる効率的な負荷バランシングの達成にともに関連付けられた独特の課題をもたらす。
概要:
システムおよび方法は、マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることができる。例示的な方法は、マルチテナントクラスタ環境内の1つ以上のテナントをサポートすることができる。この方法は、1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付けることができる。この方法は次に、複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けることができ、複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、複数のスイッチは複数のリーフスイッチと複数のルートスイッチとを含む。最後に、この方法は、1つ以上のリニアフォワーディングテーブルを生成することができ、1つ以上のリニアフォワーディングテーブルは複数のパーティション間に分離を提供し、複数のノードの各々はパーティショニング順序に関連付けられる。
一実施形態によれば、マルチテナントHPCシステムでは、各テナントは、他のテナントの作業負荷によって影響されない、予測可能なネットワーク性能を体験することができる。
一実施形態に従ったマルチテナントクラスタ環境の図である。 本開示の一実施形態が実践され得るネットワーク環境におけるツリートポロジーの図である。 本開示の一実施形態が実践され得るマルチテナントクラスタ環境におけるルーティングの図である。 本開示の一実施形態が実践され得るマルチテナントクラスタ環境におけるルーティングの図である。 一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートする図である。 一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートする図である。 一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートする図である。 一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートする図である。 一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするための方法の図である。
詳細な説明:
以下の詳細な説明では、添付図面の図において、この発明を限定のためではなく例示のために説明する。なお、この開示における「ある」または「1つの」または「いくつかの」実施形態への参照は必ずしも同じ実施形態に対するものではなく、そのような参照は少なくとも1つを意味する。特定の実現化例が説明されるが、これらの特定の実現化例は例示的な目的のためにのみ提供されるということが理解される。当業者であれば、他の構成要素および構成が、この発明の範囲および精神から逸脱することなく使用されてもよい、ということを認識するであろう。
図面および詳細な説明全体にわたって同じ要素を示すために、共通の参照番号が使用される。したがって、ある図で使用される参照番号は、要素が別のところで説明される場合、そのような図に特有の詳細な説明において参照される場合もあり、または参照されない場合もある。
この発明の以下の説明は、高性能ネットワークについての一例として、インフィニバンド(登録商標)(InfiniBand:IB)ネットワークを使用する。他のタイプの高性能ネットワークが何ら限定されることなく使用され得るということは、当業者には明らかであろう。以下の説明はまた、ファブリックトポロジーについての一例として、ファットツリートポロジーを使用する。他のタイプのファブリックトポロジーが何ら限定されることなく使用され得るということは、当業者には明らかであろう。
インフィニバンド
インフィニバンド(IB)は、インフィニバンド・トレード・アソシエーション(InfiniBand Trade Association)によって開発されたオープン標準無損失ネットワーク技術である。この技術は、特にHPCアプリケーションおよびデータセンターを対象とする、高スループットおよび少ない待ち時間の通信を提供するシリアルポイントツーポイント全二重相互接続(serial point-to-point full-duplex interconnect)に基づいている。
インフィニバンドアーキテクチャ(InfiniBand Architecture:IBA)は、2層トポロジー分割をサポートする。低層では、IBネットワークはサブネットと呼ばれ、1つのサブネットは、スイッチおよびポイントツーポイントリンクを使用して相互接続される一組のホストを含み得る。より高いレベルでは、1つのIBファブリックは、ルータを使用して相互接続され得る1つ以上のサブネットを構成する。
1つのサブネット内で、ホストは、スイッチおよびポイントツーポイントリンクを使用して接続される。加えて、サブネットにおける指定されたサブネットデバイス上に存在する、1つのマスター管理エンティティ、すなわちサブネットマネージャ(subnet manager:SM)がある。サブネットマネージャは、IBサブネットを構成し、起動し、維持することを担当する。加えて、サブネットマネージャ(SM)は、IBファブリックにおいてルーティングテーブル計算を行なうことを担当し得る。ここで、たとえば、IBネットワークのルーティングは、ローカルサブネットにおけるすべての送信元と宛先とのペア間の適正な負荷バランシングを目標とする。
サブネット管理インターフェイスを通して、サブネットマネージャは、サブネット管理パケット(subnet management packet:SMP)と呼ばれる制御パケットを、サブネット管理エージェント(subnet management agent:SMA)と交換する。サブネット管理エージェントは、すべてのIBサブネットデバイス上に存在する。SMPを使用することにより、サブネットマネージャは、ファブリックを発見し、エンドノードおよびスイッチを構成し、SMAから通知を受信することができる。
一般に、マスターサブネットマネージャを除く他のすべてのサブネットマネージャは、耐故障性のために待機モードで作動する。しかしながら、マスターサブネットマネージャが故障した状況では、待機中のサブネットマネージャによって、新しいマスターサブネットマネージャが取り決められる。マスターサブネットマネージャはまた、サブネットの周期的な掃引を行なってあらゆるトポロジー変化を検出し、それに応じてネットワークを再構成する。
さらに、サブネット内のホストおよびスイッチは、ローカル識別子(local identifier:LID)を使用してアドレス指定可能であり、単一のサブネットは49151個のLIDに制限可能である。サブネット内で有効なローカルアドレスであるLIDの他に、各IBデバイスは、その不揮発性メモリに焼き付けられる64ビットのグローバル一意識別子(global unique identifier:GUID)を有し得る。GUIDは、IBレイヤー3(L3)アドレスであるグローバル識別子(global identifier:GID)を形成するために使用され得る。GIDは、64ビットのサブネット識別子(ID)を64ビットのGUIDと連結して、IPv6のような128ビットのアドレスを形成することによって作成され得る。たとえば、異なるポートGUIDが、IBファブリックに接続されたポートに割当てられ得る。
SMは、ネットワーク初期化時間に、ルーティングテーブル(すなわち、ツリー内のノードの各ペア間の接続/ルート)を計算し得る。さらに、トポロジーが変化するたびに、ルーティングテーブルは、接続性および最適性能を保証するために更新され得る。通常動作中、SMは、トポロジー変化をチェックするためにネットワークの周期的な光掃引を実行し得る。光掃引中に変化が発見された場合、または、ネットワーク変化を信号で伝えるメッセージ(トラップ)をSMが受信した場合、SMは、発見された変化に従ってネットワークを再構成し得る。
たとえば、SMは、リンクがダウンした場合、デバイスが追加された場合、またはリンクが除去された場合など、ネットワークトポロジーが変化する場合に、ネットワークを再構成し得る。再構成ステップは、ネットワーク初期化中に行なわれるステップを含み得る。さらに、再構成は、ネットワーク変化が生じたサブネットに制限されるローカルスコープを有し得る。また、ルータを用いる大きいファブリックのセグメント化は、再構成スコープを制限し得る。
IBシステムにおけるマルチテナンシー
ネットワーキングの観点から見れば、マルチナンシーは、パーティショニングを介して、ネットワークリソースの多大な利用を提供し、サービスプロバイダのためにコスト効率の良い動作を維持するのに役立ち得る。しかしながら、マルチテナントインフラストラクチャは、いくつかの重要なセキュリティ問題も課し、最も難しい問題のうちの1つは、テナントへの性能分離の提供に関連付けられている。各テナントには、システムにおける他のテナントの作業負荷によって影響されない、予測可能なネットワーク性能が提供されるべきである。IBシステムにおけるネットワーク分離は、パーティショニングを通して提供され得る。
一実施形態によれば、パーティションとは、あるグループのメンバーは同じグループの他のメンバーにのみ通信できるといった、ポートの論理グループである。ホストチャネルアダプタ(host channel adapter:HCA)およびスイッチで、パケットは、分離を実施するためにパーティションメンバーシップ情報を使用してフィルタリングされ得る。無効のパーティショニング情報を有するパケットは、当該パケットが入来ポートに到着するやいなや破棄され得る。マルチテナントIBシステムでは、パーティションは、テナントクラスタを作成するために使用され得る。パーティション実施が行なわれると、ノードは、異なるテナントクラスタに属する他のノードと通信できない。このように、損なわれた、または悪意のあるテナントノードが存在する場合でも、システムのセキュリティは保証され得る。
IBルーティングは通常、スイッチに格納されたリニアフォワーディングテーブル(linear forwarding table:LFT)に基づき得る。LFTは、パーティショニング情報を検討することなく、サブネットマネージャ(SM)によって計算される。よって、中間ネットワークリンクは、異なるパーティションに属するトラフィックを運ぶかもしれない。中間リンクのこの共有は、パーティション干渉をもたらす場合がある。その結果、テナントは、予測不能なネットワーク性能を体験する。さらに、ルーティングアルゴリズムのバランシング特徴も、パーティショニングされたサブネットにおいて影響を受ける。これは、パーティション境界を横断するリンクがユーザトラフィックのために利用されなくても、これらのリンクは他の機能的リンクと同じやり方でルーティングされる(よって、バランシングにおいて検討される)ためである。劣化したバランシングは、減少した有効帯域幅および次善のネットワーク利用をもたらすかもしれない。
IBは通常、各パーティションに、他のパーティションにおけるノードにかかわらず、利用可能な帯域幅の共有を保証するために使用され得るサービス品質(Quality of Service:QoS)特徴を提供する。次に、サービスレベル(service level:SL)と呼ばれる利用可能な差別化されたトラフィッククラスを各パーティションに割当てることによって、帯域幅保証が提供される。各SLは次に、リンク上の利用可能な15個の仮想レーン(virtual lane:VL)のうちの1つに、SL対VLマッピングテーブルに従ってマッピングされる。
SLをパーティションに割当てる際、IBネットワークは通常、多数のパーティションを有し得る(たとえば、各ポートは最大32,768個のパーティションのメンバーであり得る)一方で、システムはネットワークにおいて別個のパーティションを作成するために15個のVLしか利用できないため、問題が生じるおそれがある。さらに、既存のIBハードウェアにおいて9個のVL(サブネット管理用に確保された1個を含む)しかサポートしないことは、よくあることである。また、SLは稀少なリソースであるため、それらのうちのできるだけ多くを、他の目的のために、たとえば、ネットワークにおいて耐故障性またはサービス差別化を提供するために、自由にしておくことが望ましい場合がある。
IBアーキテクチャ
一実施形態によれば、IBは、IBTA(インフィニバンド・トレード・アソシエーション)によって開発されたオープン標準無損失ネットワーク技術である。この技術は、高スループットおよび少ない待ち時間の通信を提供するシリアルポイントツーポイント全二重相互接続を定義する。IBネットワークは、ルータを使用して相互接続された1つ以上のサブネットからなり得る。1つのサブネット内で、ホストは、スイッチおよびポイントツーポイントリンクを使用して接続される。各IBサブネット内には、IBサブネットを構成し、起動し、維持する、任意の指定されたサブネットデバイス上に存在する、1つのマスター管理エンティティ、すなわちサブネットマネージャ(SM)があり得る。
サブネット管理インターフェイスを通して、SMは、サブネット管理パケット(SMP)と呼ばれる制御パケットを、すべてのIBデバイス上に存在するサブネット管理エージェント(SMA)と交換する。SMPを使用して、SMは、ファブリックを発見し、エンドノードおよびスイッチを構成し、SMAから通知を受信することができる。SMはまた、サブネットの周期的な光掃引を行なってあらゆるトポロジー変化を検出し、それに応じてネットワークを再構成することができる。
一実施形態によれば、IBネットワークにおけるサブネット内ルーティングは、スイッチに格納されたLFTに基づき得る。LFTは、使用中のルーティングメカニズムに従って、SMによって計算される。サブネットでは、エンドノード上のすべてのHCAポートおよびすべてのスイッチが、ローカル識別子(LID)を使用してアドレス指定される。LFTにおける各エントリは、宛先LID(DLID)と出力ポートとからなる。テーブルにおけるLIDごとに1つのエントリのみがサポートされる。パケットがあるスイッチに到着すると、その出力ポートは、そのスイッチのフォワーディングテーブルにおいてDLIDを探すことによって判断される。所与の送信元−宛先ペア(LIDペア)間のネットワークにおいてパケットは同じ経路を通るため、ルーティングは決定論的である。
一実施形態によれば、パーティショニングは、ネットワークファブリックを共有するシステムの論理グループの分離を提供するためにIBによってサポートされたセキュリティメカニズムである。ファブリックにおけるノード上の各HCAポートは、1つ以上のパーティションのメンバーであり得る。パーティションメンバーシップは、SMの一部であり得る集中型パーティションマネージャによって管理される。SMは、各ポートに関するパーティションメンバーシップ情報を、16ビットのパーティションキー(Pキー)のテーブルとして構成することができる。SMはまた、LIDに関連付けられたPキー情報を含むパーティション実施テーブルを用いて、スイッチおよびルータを構成することができる。
一実施形態によれば、ノード間の通信のために、管理キューペア(QP0およびQP1)を除き、キューペア(Queue Pair:QP)およびエンドツーエンドコンテキスト(End-to-End context:EEC)を特定のパーティションに割当てることができる。次に、Pキー情報を、送信されたすべてのIBトランスポートパケットに追加することができる。パケットがHCAポートまたはスイッチに到着すると、そのPキー値を、SMによって構成されたテーブルに対して確認することができる。無効のPキー値が見つかった場合、そのパケットは直ちに廃棄される。このように、通信は、パーティションを共有するポート間でのみ許可される。
一実施形態に従ったマルチテナントクラスタ環境の図を示す図1に、IBパーティションの一例を示す。図1に示す例では、ノードA101〜E105は、インフィニバンドファブリック100を使用して、それぞれのホストチャネルアダプタ111〜115を介して通信する。ノードA〜Eは、パーティション、すなわちパーティション1 110、パーティション2 120、およびパーティション3 130内に配置される。パーティション1は、ノードA101およびノードD104を含む。パーティション2は、ノードA101、ノードB102、およびノードC103を含む。パーティション3は、ノードC103およびノードE105を含む。パーティションの配置のため、ノードD104およびノードE105は、1つのパーティションを共有していないので、通信することを許可されない。一方、たとえば、ノードA101およびノードC103は、双方ともパーティション2 120の一部であるため、通信することを許可される。
一実施形態によれば、IBは、各物理リンクがVLを使用して複数の仮想リンクに分割され得る階層化アーキテクチャである。各VLは、それ自体のバッファリングリソース、フロー制御リソース、および輻輳管理リソースを有し得る。QoSは、差別化された一組のトラフィッククラス、すなわちSLを通して提供され得る。SLは、ネットワークにおいてあるパケットが受信できるサービスのクラスを表わす。各SLは、構成されたSL対VLマッピングテーブルに基づいて、リンク上のVLにマッピングされる。IBは、最大16個のVLをサポートする。しかしながら、最後のVLはサブネット管理トラフィック用に確保され、通常、ユーザアプリケーションによって使用されない。
ファットツリー(FTree)トポロジーおよびルーティング
一実施形態によれば、IBベースのHPCシステムのいくつかは、ファットツリートポロジーを採用して、ファットツリーが提供する有用な特性を利用する。これらの特性は、各送信元宛先ペア間の複数経路の利用可能性に起因する、完全二等分帯域幅および固有の耐故障性を含む。ファットツリーの背後にある初期の考えは、ツリーがトポロジーのルート(root)に近づくにつれて、より利用可能な帯域幅を用いて、ノード間のより太いリンクを採用することであった。より太いリンクは、上位レベルのスイッチにおける輻輳を回避するのに役立つことができ、二等分帯域幅は維持される。
図2は、本開示の一実施形態が実践され得るネットワーク環境におけるツリートポロジーの図を示す。図2に示すように、ネットワークファブリック200において、1つ以上のエンドノード201〜204が接続され得る。ネットワークファブリック200は、複数のリーフスイッチ211〜214と複数のスパインスイッチまたはルート(root)スイッチ231〜234とを含むファットツリートポロジーに基づき得る。加えて、ネットワークファブリック200は、スイッチ221〜224といった1つ以上の中間スイッチを含み得る。
また、図2に示すように、エンドノード201〜204の各々は、マルチホームノード、すなわち、複数のポートを通してネットワークファブリック200の2つ以上の部分に接続される単一のノードであり得る。たとえば、ノード201はポートH1およびH2を含み、ノード202はポートH3およびH4を含み、ノード203はポートH5およびH6を含み、ノード204はポートH7およびH8を含み得る。
加えて、各スイッチは複数のスイッチポートを有し得る。たとえば、ルートスイッチ231はスイッチポート1〜2を有し、ルートスイッチ232はスイッチポート3〜4を有し、ルートスイッチ233はスイッチポート5〜6を有し、ルートスイッチ234はスイッチポート7〜8を有し得る。
一実施形態によれば、ファットツリールーティングメカニズムは、IBベースのファットツリートポロジーのための最も人気のあるルーティングアルゴリズムのうちの1つである。ファットツリールーティングメカニズムはまた、OFED(Open Fabric Enterprise Distribution:IBベースのアプリケーションを構築しデプロイメントするための標準ソフトウェアスタック)サブネットマネージャ、すなわちOpenSMにおいて実現される。
ファットツリールーティングメカニズムは、ネットワークファブリックにおいてリンクを越えて最短経路ルートを均一に広げるLFTを生成することを目標とする。このメカニズムは、索引付け順序でファブリックを横断し、エンドノードの目標LID、ひいては対応するルートを各スイッチポートに割当てる。同じリーフスイッチに接続されたエンドノードについては、索引付け順序は、エンドノードが接続されるスイッチポートに依存し得る(すなわち、ポートナンバリングシーケンス)。各ポートについては、メカニズムはポート使用カウンタを維持することができ、新しいルートが追加されるたびに、ポート使用カウンタを使用して使用最小ポートを選択する。
上述のように、パーティショニングされたサブネットでは、共通のパーティションのメンバーではないノードは通信することを許可されない。実際には、これは、ファットツリールーティングアルゴリズムによって割当てられたルートのうちのいくつかがユーザトラフィックのために使用されないことを意味する。ファットツリールーティングメカニズムが、それらのルートについてのLFTを、他の機能的経路と同じやり方で生成する場合、問題が生じる。ノードは索引付けの順序でルーティングされるため、この挙動は、リンク上の劣化したバランシングをもたらすおそれがある。パーティションに気づかずにルーティングが行なわれるため、ファットツリーでルーティングされたサブネットは通常、パーティション間の劣った分離を提供する。
図3は、本開示の一実施形態が実践され得るマルチテナントクラスタ環境におけるルーティングの図を示す。より特定的には、図3は、劣化した負荷バランシングおよび劣った分離の問題を詳述する。
図3は、ルートスイッチ325〜326およびリーフスイッチ320〜321という4つのスイッチと、3つの重複するパーティションにあるノードA301〜F306という6つのエンドノードとを有する2レベルファットツリートポロジーを示す。パーティション1は、ノードB302およびノードC303を含む。パーティション2は、ノードA301、ノードC303、ノードD304、およびノードF306を含む。最後に、パーティション3は、ノードD304およびノードE305を含む。
一実施形態によれば、パーティション1および3はそれぞれリーフスイッチ320および321内に完全に限定される(すなわち、単一リーフスイッチパーティション)。このため、パーティション1および3におけるノード間の通信は、ルートスイッチ325または326にトラフィックを移動させることなく、それらの対応するリーフスイッチを通して起こる。このトポロジーがファットツリールーティングメカニズムによってルーティングされる場合、リーフスイッチ320および321に接続されたノードに向かうルートにはルートスイッチが割当てられ、そのため、リーフスイッチ間フローはそれらの宛先に到着できる。負荷バランシングのために、AおよびCに向かうルートにはルートスイッチ325が割当てられ(図ではリンクpとして示す)、一方、ルートスイッチ326はノードBに向かうトラフィックをルーティングする(図ではリンクqとして示す)。同様に、リーフスイッチ321については、リーフスイッチ間パーティション2におけるノードDおよびFに向かうトラフィックはルートスイッチ325を介してルーティングされ(図ではリンクrとして示す)、ノードEに向かうトラフィックはルートスイッチ326を介してルーティングされる(図ではリンクsとして示す)。
一実施形態によれば、ルートスイッチに対するエンドポート選択は、ノード識別子を有する小さい円として図に示される。ルーティングはパーティショニング情報を検討することなく(ファットツリールーティングメカニズムを使用して)行なわれるため、サブネットにおける経路は、バランスがうまくとれていない。リンクpおよびrは過剰に申し込まれ、一方、リーフスイッチ内フローはリンクqまたはsをまったく使用しないであろう。ノードBおよびEに向けて割当てられたルートは、双方のノードが、それらのパーティショニングに起因して、それらのリーフスイッチの外部からの通信を受信することができないため、(比較的低い管理トラフィックを除き)利用されない。このバランシングの問題はまた、あるパーティションの通信がトポロジーにおけるレベルのうちのいくつかのみに制限される場合に、ファットツリーで起こる。
本開示の一実施形態が実践され得るマルチテナントクラスタ環境におけるルーティングの図を示す図4を、ここで参照する。より特定的には、図4は、ファットツリー内の劣った分離に関連する問題を詳述する。
図4は、ルートスイッチ425〜426およびリーフスイッチ420〜421という4つのスイッチと、ノードA401〜G408という8つのエンドノードとを有する2レベルファットツリートポロジーを示す。同様に、エンドノードは2つのパーティションに分割される。パーティション1は、ノードA401、ノードB402、ノードG407、およびノードH408を含む。パーティション2は、ノードC403、ノードD404、ノードE405、およびノードF406を含む。
パーティションの各々は、2つのリーフスイッチの各々に接続された2つのノードを有する。図に示すように、ファットツリールーティングメカニズムは、ルートスイッチ425および426上で下向きポートを割当てる。ファットツリールーティングメカニズムの性質のため、各ルートスイッチは、双方のパーティションに属するノードに向かうトラフィックをルーティングし、それは、パーティショニンングされた環境において望まれない、劣った分離を提供する。たとえば、ノードAおよびCに向かうトラフィックは、共有されたリンクp上にルーティングされる。異なるパーティションのノード間の中間リンクの共有は、それらの間の干渉を引き起こすおそれがある。ネットワークはパーティション間の完全分離を提供するために十分なリソースをルートレベルで有するにもかかわらず、ファットツリールーティングメカニズムは所望の分離を提供しない。
パーティション認識ファットツリー(pFTree)ルーティング
一実施形態によれば、パーティション認識ファットツリールーティングメカニズム(ここにさまざまにpFTreeと呼ばれる)は、IBネットワークにおけるマルチテナンシーに関連付けられた所望の目的を達成することができる。たとえば、pFTreeメカニズムは、ツリーにおいてリンクを越えてルートを均一に分散することによって、ファットツリートポロジーのためのバランスのとれたリニアフォワーディングテーブルを提供することができる。加えて、pFTreeは、リンク上でルートをバランスよく維持しながら、異なるパーティションに属する経路間の競合を除去することができる。
一実施形態によれば、pFTreeメカニズムは、サブネットについてのパーティショニング情報を使用して、あるパーティションにおけるノードが、他のパーティションで走る作業負荷に影響されない予測可能なネットワーク性能を受信することを保証することができる。トポロジーが(負荷バランシングについて妥協することなく)各レベルでパーティション分離を提供するために利用可能であるリンクを十分に有していない状況では、pFTreeは、競合の影響を減少させるためにVLを割当てることができる。
一実施形態によれば、pFTreeメカニズムは、各エンドノードに関連付けられたLIDのためにすべての関連スイッチ上にLFTをセットアップするように、再帰的に機能することができる。これは、以下の擬似コード(ここにリスティング1と呼ばれる)において示される。
一実施形態によれば、ROUTEDOWNGOINGBYASCENDING()が、以下の擬似コード(ここにリスティング2と呼ばれる)において例示される。
一実施形態によれば、ROUTEUPGOINGBYDESCENDING()が、以下の擬似コード(ここにリスティング3と呼ばれる)において例示される。
一実施形態によれば、ASSIGNVIRTUALLANES()が、以下の擬似コード(ここにリスティング4と呼ばれる)において例示される。
一実施形態によれば、単一リーフスイッチパーティション(すなわち、単一のリーフスイッチ内で完全に通信することができるパーティション)をフィルタリングして除去した後、各リーフスイッチについて、メカニズムは、接続されたエンドノードを、パーティショニングに特有の順序で(たとえば、一意的なパーティショニング順序番号を有する各パーティションを介して)ソートすることができる(上述のリスティング1の4行目)。この順序付けは、リーフスイッチでの利用可能な数の上り(up-going)ポートを考慮して、ノードがそれらのパーティションに従ってルーティングされることを保証することを支援できる。pFTreeメカニズムは次に、ROUTEDOWNGOINGBYASCENDING(上述のリスティング1の9行目)などの機能を呼び出し、ツリーにおいて上昇して、リスティング2に示すように、LIDをルーティングするための次のレベルのポートを選択することができる。
一実施形態によれば、ポート選択は、すでに割当てられた最小数のルートに基づく。これは、利用可能な経路を越えて負荷が広がることを保証するのに役立ち得る。しかしながら、いくつかのポートが同じ負荷で利用可能である場合、機能はこれらの負荷最小ポートを通して繰り返され、ルーティングされているノードのパーティションキーで既にマーキングされているスイッチに接続されているポートを選択することができる(リスティング2の3〜9行目)。どのスイッチもマーキングされていない場合(それは、このパーティションのための第1のノードがルーティングされていることを示し得る)、システムはデフォルトで、最高のグローバル一意識別子(GUID)を有するポートを選択することができる(リスティング2の2行目)。あるスイッチがあるパーティションのために初めて選択された場合、それはパーティションキーで下向き方向にマーキングされる(リスティング2の11行目)。
一実施形態によれば、あるスイッチでLIDのために下り(down-going)ポートが設定された後で、メカニズムは、それのための上向きポートを、ツリー呼び出しを下ることによって、接続されたすべての下向きスイッチ上に割当てることができる(リスティング3のROUTEUPGOINGBYDESCENDING)。ここでも、上りポートの選択は、上向き方向で、まず負荷基準に、次にリモートスイッチのパーティションマーキングに基づき得る。プロセスは次に、すべてのLFTが設定されるまでツリーにおいて次のレベルへと上昇することによって繰り返され得る。なお、スイッチは、複数のパーティションキーでマーキングされ得る。pFTreeメカニズムは、各パーティションについてルーティングされたノードのカウントを格納する、各スイッチ用のテーブルを維持することができる。このカウンタは、マーキングされたパーティションを有するいくつかのスイッチが、ノードをルーティングするために利用可能である場合に、ポートの選択を決定するために使用され得る。あるパーティションについてすでにルーティングされた最大数のノードを有するスイッチが、選択され得る。
一実施形態によれば、パーティション分離基準を保つルーティングテーブルが一旦生成されると、メカニズムは、リンクのうちのいくつかが、異なるパーティションにおけるノードに向かうフローのために使用されているかどうかをチェックすることに進むことができる。それらの場合について、メカニズムは、分離を提供するために、VLを干渉パーティションに割当てることができる。VL割当てメカニズムの一例を、リスティング4に示す。
一実施形態によれば、VL割当てメカニズムはパーティションを通して繰り返され、パーティションにおいてノードによって使用された任意の中間通信リンクが、別個のVLを割当てられていない別のパーティションと中間リンクを共有するかどうかをチェックすることができる。そのような状況に遭遇した場合、新しいVLを割当てることができる。pFTreeルーティングメカニズムは、厳密モードおよび通常モードという、VL選択のための2つのモードをサポートすることができる。
一実施形態によれば、厳密モードでは、pFTreeルーティングのために必要とされるVLの数がシステムにおける利用可能なVLを上回る場合、ルーティングは失敗するおそれがある(リスティング4の10行目)。
一実施形態によれば、通常モードでは、アルゴリズムは、パーティションへのVLの割当てをVLから再開することができる(リスティング4の8行目)。
一実施形態によれば、IBベースのファットツリーネットワークのための効率的なパーティション認識ルーティングメカニズム(さまざまにpFTreeと呼ばれる)が提供される。pFTreeメカニズムは、ネットワーク全体のパーティションの分離を、ファットツリートポロジーに提供することができる。加えて、pFTreeは、スイッチのためのバランスのとれたLFTを生成する。十分なネットワークリソースを与えられて、pFTreeは、もっぱら物理リンクレベルでパーティションを分離することができる。たとえば、ファットツリーが2つの重複しない等しいサイズのパーティションを有する場合、pFTreeは、ルーティング自体に基づいて、中間ネットワークリンクを2つの等しいサイズの論理サブネットワークに分割することができる。さらに、ネットワークが完全なパーティション分離を提供するために利用可能なリソースを十分に有していない場合、pFTreeは、物理的分離と連動して機能する、補足VLベースの分離スキームを採用することができる。
一実施形態によれば、pFTreeルーティングメカニズムは、2つの主な目的を達成することを目標とする。第1に、メカニズムは、ツリーにおいてリンクを越えてルートを均一に分散することによって、ファットツリートポロジーのためのバランスのとれたLFTを生成することができる。第2に、pFTreeは、リンク上でルートをバランスよく維持しながら、異なるパーティションに属する経路間の競合を除去する。pFTreeは、サブネットについてのパーティショニング情報を使用することができ、あるパーティションにおけるノードが、他のパーティションで走る作業負荷に影響されない予測可能なネットワーク性能を受信することを保証する。トポロジーが(負荷バランシングについて妥協することなく)各レベルでパーティション分離を提供するために利用可能であるリンクを十分に有していない場合、pFTreeは、競合の影響を減少させるためにVLを使用することができる。
一実施形態によれば、pFTreeメカニズムは、各エンドノードに関連付けられたLIDのためにすべての関連スイッチ上にLFTをセットアップするように、再帰的に機能することができる。単一リーフスイッチパーティションをフィルタリングして除去した後、各リーフスイッチについて、メカニズムは、接続されたエンドノードを、パーティショニングに特有の順序でソートすることができる。この順序付けは、リーフスイッチでの利用可能な数の上りポートを考慮して、ノードがそれらのパーティションに従ってルーティングされることを保証する。各レベルでのポート選択は、利用可能な経路を越えて負荷が広がることを確実にするために、すでに割当てられた最小数のルートに基づき得る。しかしながら、いくつかのポートが同じ負荷で利用可能である場合、機能はこれらの負荷最小ポートを通して繰り返され、ルーティングされているノードのパーティションキーですでにマーキングされているスイッチに接続されているポートを選択する。どのスイッチもマーキングされていない場合(すなわち、ある特定のパーティションのための第1のノードのためのルーティング)、pFTreeは、最高のグローバル一意識別子(GUID)を有するポートのデフォルト選択をするようになり得る。あるスイッチがあるパーティションのために初めて選択された場合、そのスイッチはパーティションキーでマーキングされ得る。このように、メカニズムは、バランシングのために十分な経路が利用可能であると仮定すると、1つのパーティションに属するノードは、同じスイッチおよび対応するリンクを通してルーティングされるであろうということを保証するのに役立ち得る。パーティション分離基準を保つルーティングテーブルが一旦生成されると、メカニズムは、リンクのうちのいくつかが、異なるパーティションにおけるノードに向かうフローのために使用されているかどうかをチェックすることに進むことができる。それらの場合について、メカニズムは、分離を提供するために、VLを干渉パーティションに割当てることができる。
一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートする図である図5〜8を、ここで参照する。
一実施形態に従って、pFTreeルーティングにおけるポート選択メカニズムを、過剰に申し込まれたファットツリーネットワークの単純な区分として、図5〜8に示す。
ルートスイッチ525〜526およびリーフスイッチ520〜521という4つのスイッチと、ノードA501〜G508という8つのエンドノードとを有する、2レベルファットツリートポロジーを示す図5を、ここで参照する。同様に、エンドノードは2つのパーティションに分割される。パーティション1は、ノードA401、ノードD504、ノードG507、およびノードH508を含む。パーティション2は、ノードB502、ノードC503、ノードE505、およびノードF506を含む。
一実施形態によれば、図5に示すように、例示的な区分は2つのリーフスイッチ(520および521)からなり、それらは各々、4つのエンドノードと、リーフスイッチより上の次のレベルの2つのスイッチ、すなわちルートスイッチ(525および526)とに接続されている。下向き方向における割当てられたルートの数、および、各リンク上に適正なバランシングを保証するためにルーティングされ得るノードの最大数をそれぞれ表わす、「下り」および「最大」についての変数も、図に示される。
一実施形態によれば、ルーティングすべき4つのエンドノードを有する各リーフスイッチに2つの上りポートがあると仮定すると、アップリンクの各々は、リンクがバランスのとれた状態であることを保証するために、2つのエンドノードを下にルーティングすべきである(すなわち、最大=2)。
一実施形態によれば、リーフスイッチ520について、ノードAおよびノードBという第1の2つのノードのルーティングを、図6に示す。ルーティングメカニズムは、ノードAに向かうトラフィックをルーティングするためにルートスイッチ525を選択し、図に「(パーティション1)」として示されたノードAのパーティションキーで当該スイッチをマーキングすることができる。同様に、ノードBについて、ルートスイッチ526を選択し、図に「(パーティション2)」として示されたノードBのパーティションキーでマーキングすることができる。変数「下り」も、2つの下向きリンクの各々の上でルーティングされた単一のノードをカウントするために更新される。
一実施形態によれば、ノードCおよびDについて、図7に与えられるように、対応するパーティションキーですでにマーキングされているスイッチが選択され得る。結果として生じるルートは、第1のパーティションに属するノード、すなわちノードAおよびDに向かって、ルートスイッチ525を通って同じリンクを用いて流れる。同様に、第2のパーティションのノード、すなわちノードBおよびCは、ルートスイッチ526を通って下向きにルーティングされ得る。ルートのこの分離は、2つのパーティションのトラフィックフロー間の干渉を回避する。なお、各リンク上で下向きにルーティングされるノードの数は、変数「最大」を上回らない。それは、ルーティングは依然としてバランスがとれていることを意味する。
最後に、一実施形態によれば、図8は、リーフスイッチ521に接続されたエンドノードのためのルーティングを示す。ここでも、第2のレベルのスイッチはすでに、第1のリーフスイッチルーティングからのパーティションキーでマーキングされているため、ノード、すなわちノードE、F、GおよびGの各々をルーティングするために、対応するスイッチが選択され得る。図に示すように、最後のルーティングは、ルーティングに基づいて中間ネットワークリンクを2つの等しいサイズの論理サブネットワークに分割することによって、2つのパーティションを分離することができる。
図9は、一実施形態に従ったマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするための方法の図を示す。例示的な方法900は、マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップ901で始まり得る。ステップ902で、例示的な方法は、1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付け得る。方法は、ステップ903で、複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付け得る。複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、複数のスイッチは複数のリーフスイッチと他のレベルの複数のスイッチとを含む。最後に、ステップ904で、方法は、1つ以上のリニアフォワーディングテーブルを生成し得る。1つ以上のリニアフォワーディングテーブルは複数のパーティション間に分離を提供し、複数のノードの各々はパーティショニング順序に関連付けられる。
本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せにおいて、当該ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを使用して、もしくは当該ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せの助けを得て行なわれ得る。したがって、本発明の特徴は、(たとえば、1つ以上のプロセッサを含む)処理システムを使用して実現されてもよい。
本発明の特徴は、ここに提示された特徴のいずれかを行なうように処理システムをプログラミングするために使用可能な命令を格納する記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品において、当該コンピュータプログラム製品を使用して、もしくは当該コンピュータプログラム製品の助けを得て実現され得る。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気カードまたは光カード、ナノシステム(分子メモリICを含む)、もしくは、命令および/またはデータを格納するために好適な任意のタイプの媒体またはデバイスを含み得るものの、それらに限定されない。
マシン読取可能媒体のうちのいずれか1つに格納されて、本発明の特徴は、処理システムのハードウェアを制御するために、および、処理システムが本発明の結果を利用する他のメカニズムとやりとりすることを可能にするために、ソフトウェアおよび/またはファームウェアに組込むことができる。そのようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステム、および実行環境/コンテナを含み得るものの、それらに限定されない。
この発明の特徴はまた、たとえば、特定用途向け集積回路(application specific integrated circuit:ASIC)などのハードウェアコンポーネントを使用して、ハードウェアで実現されてもよい。ここに説明された機能を行なうようなハードウェア状態マシンの実現は、当業者には明らかであろう。
加えて、本発明は、本開示の教示に従ってプログラミングされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを使用して、便利に実現されてもよい。ソフトウェア技術の当業者には明らかであるように、本開示の教示に基づいて、適切なソフトウェアコーディングを、熟練したプログラマーによって容易に準備することができる。
本発明のさまざまな実施形態が上に説明されてきたが、それらは限定のためではなく例示のために提示されたことが理解されるべきである。形態および詳細におけるさまざまな変更を、この発明の精神および範囲から逸脱することなくそこで行なうことができるということは、当業者には明らかであろう。
本発明は、特定された機能およびそれらの関係の実行を示す機能構築ブロックの助けを得て、上に説明されてきた。これらの機能構築ブロックの境界はしばしば、説明の便宜上、ここに任意に定義されてきた。特定された機能およびそれらの関係が適切に実行される限り、代替的な境界を定義することができる。あらゆるそのような代替的な境界はこのため、この発明の範囲および精神内にある。
この発明の前述の説明は、例示および説明のために提供されてきた。それは、網羅的であるよう、またはこの発明を開示された形態そのものに限定するよう意図されてはいない。本発明の広さおよび範囲は、上述の例示的な実施形態のいずれによっても限定されるべきでない。当業者には、多くの修正および変形が明らかであろう。修正および変形は、開示された特徴のあらゆる関連する組合せを含む。実施形態は、この発明の原理およびその実際的な適用を最良に説明するために選択および説明されたものであり、それにより、他の当業者が、特定の使用に好適なさまざまな修正を考慮して、さまざまな実施形態についてこの発明を理解することを可能にする。この発明の範囲は、請求項およびそれらの均等物によって定義されることが意図されている。

Claims (20)

  1. マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするための方法であって、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを含み、前記複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは複数のリーフスイッチと他のレベルの複数のスイッチとを含み、前記方法はさらに、
    1つ以上のリニアフォワーディングテーブルを生成するステップを含み、前記1つ以上のリニアフォワーディングテーブルは前記複数のパーティション間に分離を提供し、
    前記複数のノードの各々はパーティショニング順序に関連付けられる、方法。
  2. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、前記複数のノードを、各ノードに関連付けられた前記パーティショニング順序に従って順序付けて、ノードの順序をもたらすステップと、
    ノードの前記順序で、複数のエンドノードをルーティングするステップとを含み、
    前記ルーティングするステップは、各ノードについて、少なくとも1つの下りポートと少なくとも1つの上りポートとを選択するステップを含み、
    前記選択するステップは、負荷基準とスイッチのパーティションマーキングとからなる群から選択される少なくとも1つの要因に基づく、請求項1に記載の方法。
  3. 前記複数のノードを、各ノードに関連付けられた前記パーティション順序に従って順序付けるステップの前に、単一リーフスイッチパーティションについてフィルタリングするステップをさらに含む、請求項2に記載の方法。
  4. 前記複数のパーティション間に分離を提供するステップは、異なるパーティションに関連付けられたノード間の通信が、前記複数のスイッチのうちのスイッチ間のルートを共有しないことを保証するステップを含む、請求項1〜3のいずれか1項に記載の方法。
  5. 前記複数のスイッチおよび前記複数のノードがツリートポロジーで配置されるようにするステップをさらに含む、請求項1〜4のいずれか1項に記載の方法。
  6. 前記ツリートポロジーは、ファットツリートポロジーである、請求項5に記載の方法。
  7. 前記マルチテナントクラスタ環境は、インフィニバンドネットワークを含む、請求項1〜6のいずれか1項に記載の方法。
  8. マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするシステムであって、前記システムは、
    1つ以上のマイクロプロセッサと、
    前記1つ以上のマイクロプロセッサ上で走るプロセッサとを含み、
    前記プロセッサは、複数のステップを実行するために動作し、前記複数のステップは、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを含み、前記複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは複数のリーフスイッチと他のレベルの複数のスイッチとを含み、前記複数のステップはさらに、
    1つ以上のリニアフォワーディングテーブルを生成するステップを含み、前記1つ以上のリニアフォワーディングテーブルは前記複数のパーティション間に分離を提供し、
    前記複数のノードの各々はパーティショニング順序に関連付けられる、システム。
  9. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、前記複数のノードを、各ノードに関連付けられた前記パーティショニング順序に従って順序付けて、ノードの順序をもたらすステップと、
    ノードの前記順序で、複数のエンドノードをルーティングするステップとを含み、
    前記ルーティングするステップは、各ノードについて、少なくとも1つの下りポートと少なくとも1つの上りポートとを選択するステップを含み、
    前記選択するステップは、負荷基準とスイッチのパーティションマーキングとからなる群から選択される少なくとも1つの要因に基づく、請求項8に記載のシステム。
  10. 前記複数のステップは、前記複数のノードを、各ノードに関連付けられた前記パーティション順序に従って順序付けるステップの前に、単一リーフスイッチパーティションについてフィルタリングするステップをさらに含む、請求項9に記載のシステム。
  11. 前記複数のパーティション間に分離を提供するステップは、異なるパーティションに関連付けられたノード間の通信が、前記複数のスイッチのうちのスイッチ間のルートを共有しないことを保証するステップを含む、請求項8〜10のいずれか1項に記載のシステム。
  12. 前記複数のスイッチおよび前記複数のノードがツリートポロジーで配置されるようになっている、請求項8〜11のいずれか1項に記載のシステム。
  13. 前記ツリートポロジーは、ファットツリートポロジーである、請求項12に記載のシステム。
  14. 前記マルチテナントクラスタ環境は、インフィニバンドネットワークを含む、請求項8〜13のいずれか1項に記載のシステム。
  15. マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするための命令を格納する、非一時的なマシン読取可能記憶媒体であって、前記命令は、実行されると、システムに複数のステップを実行させ、前記複数のステップは、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちの1つのパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを含み、前記複数のノードの各々は複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは複数のリーフスイッチと他のレベルの複数のスイッチとを含み、前記複数のステップはさらに、
    1つ以上のリニアフォワーディングテーブルを生成するステップを含み、前記1つ以上のリニアフォワーディングテーブルは前記複数のパーティション間に分離を提供し、
    前記複数のノードの各々はパーティショニング順序に関連付けられる、非一時的なマシン読取可能記憶媒体。
  16. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、前記複数のノードを、各ノードに関連付けられた前記パーティショニング順序に従って順序付けて、ノードの順序をもたらすステップと、
    ノードの前記順序で、複数のエンドノードをルーティングするステップとを含み、
    前記ルーティングするステップは、各ノードについて、少なくとも1つの下りポートと少なくとも1つの上りポートとを選択するステップを含み、
    前記選択するステップは、負荷基準とスイッチのパーティションマーキングとからなる群から選択される少なくとも1つの要因に基づく、請求項15に記載の非一時的なマシン読取可能記憶媒体。
  17. 前記複数のステップは、前記複数のノードを、各ノードに関連付けられたパーティション順序に従って順序付けるステップの前に、単一リーフスイッチパーティションについてフィルタリングするステップをさらに含む、請求項16に記載の非一時的なマシン読取可能記憶媒体。
  18. 前記複数のパーティション間に分離を提供するステップは、異なるパーティションに関連付けられたノード間の通信が、前記複数のスイッチのうちのスイッチ間のルートを共有しないことを保証するステップを含む、請求項15〜17のいずれか1項に記載の非一時的なマシン読取可能記憶媒体。
  19. 前記複数のステップは、前記複数のスイッチおよび前記複数のノードがツリートポロジーで配置されるようにするステップをさらに含む、請求項15〜18のいずれか1項に記載の非一時的なマシン読取可能記憶媒体。
  20. 前記ツリートポロジーは、ファットツリートポロジーである、請求項19に記載の非一時的なマシン読取可能記憶媒体。
JP2017523495A 2014-10-31 2015-10-29 マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするためのシステムおよび方法 Active JP6653699B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462073615P 2014-10-31 2014-10-31
US62/073,615 2014-10-31
US201462074443P 2014-11-03 2014-11-03
US62/074,443 2014-11-03
US201462076961P 2014-11-07 2014-11-07
US62/076,961 2014-11-07
US201562133187P 2015-03-13 2015-03-13
US62/133,187 2015-03-13
PCT/US2015/058118 WO2016069927A1 (en) 2014-10-31 2015-10-29 System and method for supporting partition-aware routing in a multi-tenant cluster environment

Publications (3)

Publication Number Publication Date
JP2017533668A true JP2017533668A (ja) 2017-11-09
JP2017533668A5 JP2017533668A5 (ja) 2018-11-29
JP6653699B2 JP6653699B2 (ja) 2020-02-26

Family

ID=54479014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017523495A Active JP6653699B2 (ja) 2014-10-31 2015-10-29 マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするためのシステムおよび方法

Country Status (6)

Country Link
US (1) US9807003B2 (ja)
EP (1) EP3213471B1 (ja)
JP (1) JP6653699B2 (ja)
KR (1) KR102340683B1 (ja)
CN (1) CN107113233B (ja)
WO (1) WO2016069927A1 (ja)

Families Citing this family (24)

* 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
US10237191B2 (en) * 2015-02-18 2019-03-19 Intel Corporation Traffic class arbitration based on priority and bandwidth allocation
US10033647B2 (en) * 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US10348649B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting partitioned switch forwarding tables in a high performance computing environment
US10666611B2 (en) 2016-01-28 2020-05-26 Oracle International Corporation System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment
US10355972B2 (en) 2016-01-28 2019-07-16 Oracle International Corporation System and method for supporting flexible P_Key mapping in a high performance computing environment
US10581711B2 (en) 2016-01-28 2020-03-03 Oracle International Corporation System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10348847B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting proxy based multicast forwarding in a high performance computing environment
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10630816B2 (en) 2016-01-28 2020-04-21 Oracle International Corporation System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10333894B2 (en) 2016-01-28 2019-06-25 Oracle International Corporation System and method for supporting flexible forwarding domain boundaries in a high performance computing environment
WO2018039061A1 (en) * 2016-08-23 2018-03-01 Oracle International Corporation System and method for supporting fast hybrid reconfiguration in a high performance computing environment
US10355939B2 (en) * 2017-04-13 2019-07-16 International Business Machines Corporation Scalable data center network topology on distributed switch
CN109861925B (zh) * 2017-11-30 2021-12-21 华为技术有限公司 数据传输方法、相关装置及网络
US10574755B2 (en) * 2018-03-28 2020-02-25 Wipro Limited Method and high performance computing (HPC) switch for optimizing distribution of data packets
KR102070936B1 (ko) * 2018-11-02 2020-01-29 한림대학교 산학협력단 슬롯프레임 파티셔닝 기반 셀 스케쥴링 방법, 장치 및 프로그램
CN111526113B (zh) 2019-02-02 2023-05-30 中兴通讯股份有限公司 协议处理方法及装置、存储介质
CN109981364B (zh) * 2019-03-25 2021-05-18 联想(北京)有限公司 网络的管理方法和系统
CN110012125B (zh) * 2019-04-01 2022-02-01 优刻得科技股份有限公司 集群网络通信方法、装置、存储介质和设备
CN110611621B (zh) * 2019-09-26 2020-12-15 上海依图网络科技有限公司 树型结构的多集群间的路由控制方法及集群森林
FR3126576A1 (fr) * 2021-09-01 2023-03-03 Latelec Procédé de détermination d’une topologie d’interconnexion entre commutateurs d’un réseau de communication, produit programme d’ordinateur et dispositif correspondants.
CN115459968B (zh) * 2022-08-25 2023-06-06 中国人民解放军国防科技大学 用于高性能计算机系统的隔离方法及高性能计算机系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4430993C1 (de) * 1994-08-31 1995-10-26 Siemens Ag Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
US7979771B2 (en) * 2006-04-04 2011-07-12 Permabit Technology Corporation Erasure coding technique for scalable and fault tolerant storage system
US20080186990A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US20080189432A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US8737399B2 (en) 2010-01-05 2014-05-27 Futurewei Technologies, Inc. Enhanced hierarchical virtual private local area network service (VPLS) system and method for Ethernet-tree (E-Tree) services
EP2564561B1 (en) 2010-04-30 2019-07-31 Hewlett-Packard Enterprise Development LP Method for routing data packets in a fat tree network
JP5476261B2 (ja) * 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
JP5965478B2 (ja) 2011-06-03 2016-08-03 オラクル・インターナショナル・コーポレイション ネットワークにおけるコンポーネントを認証するためのシステムおよび方法
CN102333115A (zh) * 2011-09-01 2012-01-25 杭州湾云计算技术有限公司 一种将已有Web应用转化为SaaS多租户应用的方法和装置
US9014201B2 (en) * 2011-11-09 2015-04-21 Oracle International Corporation System and method for providing deadlock free routing between switches in a fat-tree topology
US8943000B2 (en) * 2012-01-20 2015-01-27 Cisco Technology, Inc. Connectivity system for multi-tenant access networks
US8862772B2 (en) * 2012-10-09 2014-10-14 Cisco Technology, Inc. System and method for implementing a multilevel data center fabric in a network environment
CN103813288A (zh) * 2012-11-06 2014-05-21 中兴通讯股份有限公司 基于移动网络的租户网络业务实现方法、系统及网元
US9225624B2 (en) 2012-12-20 2015-12-29 Dell Products L.P. Systems and methods for topology discovery and application in a border gateway protocol based data center
US9264351B2 (en) * 2013-09-07 2016-02-16 Cisco Technology, Inc. System and method for utilization of a segmentation identification to support transmission of data to a destination node
CN104954265B (zh) * 2014-03-25 2018-06-15 华为技术有限公司 发送组播报文的方法及交换机
US10033647B2 (en) * 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment

Also Published As

Publication number Publication date
EP3213471B1 (en) 2018-08-29
KR20170078626A (ko) 2017-07-07
CN107113233B (zh) 2020-06-23
EP3213471A1 (en) 2017-09-06
KR102340683B1 (ko) 2021-12-20
US20160127236A1 (en) 2016-05-05
US9807003B2 (en) 2017-10-31
CN107113233A (zh) 2017-08-29
JP6653699B2 (ja) 2020-02-26
WO2016069927A1 (en) 2016-05-06

Similar Documents

Publication Publication Date Title
JP6653699B2 (ja) マルチテナントクラスタ環境においてパーティション認識ルーティングをサポートするためのシステムおよび方法
US11356370B2 (en) System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US11824749B2 (en) System and method for allowing multiple global identifier (GID) subnet prefix values concurrently for incoming packet processing in a high performance computing environment
US10841219B2 (en) System and method for supporting inter-subnet control plane protocol for consistent unicast routing and connectivity in a high performance computing environment
CN107710159B (zh) 用于无损网络中的高效虚拟化的系统和方法
JP6541768B2 (ja) 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200128

R150 Certificate of patent or registration of utility model

Ref document number: 6653699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250