JP2018537004A - マルチテナントクラスタ環境における効率的なネットワーク分離および負荷バランシングのためのシステムおよび方法 - Google Patents

マルチテナントクラスタ環境における効率的なネットワーク分離および負荷バランシングのためのシステムおよび方法 Download PDF

Info

Publication number
JP2018537004A
JP2018537004A JP2017554456A JP2017554456A JP2018537004A JP 2018537004 A JP2018537004 A JP 2018537004A JP 2017554456 A JP2017554456 A JP 2017554456A JP 2017554456 A JP2017554456 A JP 2017554456A JP 2018537004 A JP2018537004 A JP 2018537004A
Authority
JP
Japan
Prior art keywords
nodes
partitions
partition
node
parameters
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
JP2017554456A
Other languages
English (en)
Other versions
JP6752815B2 (ja
JP2018537004A5 (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 JP2018537004A publication Critical patent/JP2018537004A/ja
Publication of JP2018537004A5 publication Critical patent/JP2018537004A5/ja
Application granted granted Critical
Publication of JP6752815B2 publication Critical patent/JP6752815B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • 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
    • H04L67/1004Server selection for load balancing
    • 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
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

マルチテナントクラスタ環境においてネットワーク分離をサポートするためのシステムおよび方法である。例示的な方法は、1つ以上のテナントをサポートし得て、1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付け得て、また、複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付け得て、複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられる。上記方法は、複数のパーティションの各々をポリシーパラメータでマーキングし得る。上記方法は、各ノードに関連付けられたパーティションにマーキングされたポリシーパラメータに基づいて、複数のノードの各ノードにパーティション化順序を割り当て得る。最後に、上記方法は、少なくとも複数のパーティションのうちのパーティションのマーキングに基づいて、マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成し得る。

Description

著作権表示:
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべてのいかなる著作権をも保有する。
発明の分野:
本発明は、一般にコンピュータシステムに関し、特にマルチテナントクラスタ環境に関する。
背景:
マルチテナンシは、利用可能なシステムリソースの利用度を高くすることを約束し、サービスプロバイダのために費用効果の高い動作を維持することに役立つ。しかし、マルチテナント高性能コンピューティング(high-performance computing:HPC)インフラストラクチャは、固有の課題をもたらし、当該固有の課題は、性能分離をテナントに提供することにもネットワークファブリック全体にわたる効率的な負荷バランシングを達成することにも関連付けられる。
概要:
マルチテナントクラスタ環境においてネットワーク分離をサポートするためのシステムおよび方法である。例示的な方法は、上記マルチテナントクラスタ環境内の1つ以上のテナントをサポートし得る。上記方法は、上記1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付け得て、また、上記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付け得て、上記複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられ、上記複数のスイッチは、複数のリーフスイッチと、別のレベルにおける少なくとも1つのスイッチとを備える。上記方法は、上記複数のパーティションの各々を複数のポリシーパラメータのうちのあるポリシーパラメータでマーキングし得る。上記方法は、上記複数のノードの各ノードにパーティション化順序を割り当て得て、上記パーティション化順序は、少なくとも各ノードに関連付けられた上記パーティションにマーキングされたポリシーパラメータに基づく。最後に、上記方法は、少なくとも上記複数のパーティションのうちの上記パーティションの上記マーキングに基づいて、上記マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成し得る。
実施形態に係るマルチテナントクラスタ環境の図である。 本開示の実施形態を実施することができるネットワーク環境におけるツリートポロジの図である。 本開示の実施形態を実施することができるマルチテナントクラスタ環境におけるルーティングの図である。 本開示の実施形態を実施することができるマルチテナントクラスタ環境におけるルーティングの図である。 実施形態に係るマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境において重み付けされたパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境において重み付けされたパーティション認識ルーティングをサポートすることの図である。 実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートするための方法のフローチャートである。 本発明のさまざまな実施形態に係るコンピュータシステムを示す一般化された概略図である。
詳細な説明:
以下の詳細な説明では、本発明は、限定としてではなく一例として添付の図面の図に示される。なお、本開示における「ある」または「1つの」または「いくつかの」実施形態への言及は、必ずしも同一の実施形態に言及するものではなく、このような言及は少なくとも1つを意味する。具体的な実現例を記載しているが、当該具体的な実現例は例示の目的で提供されているに過ぎないということが理解される。本発明の範囲および精神から逸脱することなく他の構成要素および構成を使用してもよいということを当業者は認識するであろう。
図面および詳細な説明全体にわたって、共通の参照番号を使用して同様の要素を示す。したがって、要素が他の場所に記載されている場合には、図で使用される参照番号は、当該図を対象とした詳細な説明の中で言及されてもされなくてもよい。
本発明の以下の説明では、高性能ネットワークの一例としてインフィニバンド(商標)(Infiniband:IB)ネットワークを使用する。他のタイプの高性能ネットワークが制限なく使用されてもよいということが当業者に明らかであろう。また、以下の説明では、ファブリックトポロジの一例としてファットツリートポロジを使用する。他のタイプのファブリックトポロジが制限なく使用されてもよいということが当業者に明らかであろう。
インフィニバンド(商標)
インフィニバンド(商標)(IB)は、インフィニバンド(商標)トレードアソシエーションによって開発された開かれた標準的な無損失ネットワーク技術である。当該技術は、特にHPCアプリケーションおよびデータセンタを対象とした、高スループットおよび低遅延通信を提供するシリアルポイントツーポイント全二重相互接続に基づく。
インフィニバンド(商標)アーキテクチャ(InfiniBand Architecture:IBA)は、二層トポロジ分割をサポートする。下位層では、IBネットワークはサブネットと称され、サブネットは、スイッチおよびポイントツーポイントリンクを使用して相互接続された一組のホストを含み得る。上位レベルでは、IBファブリックは、ルータを使用して相互接続され得る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ビットのアドレスを形成することによって作成することができる。たとえば、IBファブリックに接続されたポートにさまざまなポートGUIDが割り当てられてもよい。
SMは、ネットワーク初期化時にルーティングテーブル(すなわち、サブネット内のノードの各ペア間の接続/経路)を計算し得る。さらに、接続性および最適性能を保証するために、トポロジが変化するたびにルーティングテーブルが更新され得る。通常動作中、SMは、ネットワークの定期的な軽いスイープを実行して、トポロジ変化をチェックし得る。軽いスイープ中に変化が発見されるか、またはネットワーク変化を知らせるメッセージ(トラップ)がSMによって受信されると、SMは、発見された変化に従ってネットワークを再構成し得る。
たとえば、SMは、リンクがダウンしたとき、デバイスが追加されたとき、またはリンクが除去されたときなど、ネットワークトポロジが変化したときにネットワークを再構成してもよい。再構成ステップは、ネットワーク初期化中に実行されるステップを含み得る。さらに、再構成は、ネットワーク変化が生じたサブネットに限定されるローカルスコープを有し得る。また、ルータを用いた大きなファブリックのセグメント化は、再構成スコープを制限する可能性がある。
実施形態によれば、IBネットワークは、ルータを使用して相互接続された1つ以上のサブネットで構成され得る。サブネット内において、ホスト同士は、スイッチおよびポイントツーポイントリンクを使用して接続される。各IBサブネット内に、1つのマスタ管理エンティティ、すなわちサブネットマネージャ(SM)があってもよく、当該サブネットマネージャは、任意の指定されたサブネットデバイス上に存在し、IBサブネットを構成、起動および維持する。
サブネット管理インターフェイスを介して、SMは、サブネット管理パケット(SMP)と呼ばれる制御パケットを、どのIBデバイス上にも存在しているサブネット管理エージェント(SMA)とやりとりする。SMPを使用して、SMは、ファブリックを発見し、エンドノードおよびスイッチを構成し、SMAから通知を受け取ることができる。また、SMは、サブネットの定期的な軽いスイープを実行して、いかなるトポロジ変化も検出し、それに応じてネットワークを再構成することができる。
実施形態によれば、IBネットワークにおけるサブネット内ルーティングは、スイッチに記憶されたリニアフォワーディングテーブル(linear forwarding table:LFT)に基づき得る。LFTは、使用時にルーティングメカニズムに従ってSMによって計算される。サブネットにおいて、エンドノード上の全てのHCAポートおよび全てのスイッチは、ローカル識別子(LID)を使用してアドレス指定される。LFTへの各入力は、宛先LID(DLID)および出力ポートで構成される。テーブルへのLID当たり1つの入力のみがサポートされる。パケットがスイッチに到達すると、当該スイッチのフォワーディングテーブルにおいてDLIDを検索することによってその出力ポートが決定される。パケットは所与のソース・宛先ペア(LIDペア)間でネットワーク内の同一のパスを通るので、ルーティングは決定論的である。
実施形態によれば、パーティション化は、ネットワークファブリックを共有しているシステムの論理グループの分離を提供するためにIBによってサポートされるセキュリティメカニズムである。ファブリック内のノード上の各HCAポートは、1つ以上のパーティションのメンバであり得る。パーティションメンバーシップは、SMの一部であり得る集中型パーティションマネージャによって管理される。SMは、各ポートについてのパーティションメンバーシップ情報を16ビットのパーティションキー(P_Key)のテーブルとして構成し得る。また、SMは、LIDに関連付けられるP_Key値を含むパーティション実行(partition enforcement)テーブルを用いてスイッチおよびルータを構成し得る。
実施形態によれば、ノード間での通信のために、管理キューペア(QP0およびQP1)以外に、キューペア(QP)およびエンドツーエンドコンテキスト(EEC)が特定のパーティションに割り当てられ得る。次いで、送信されたどのIBトランスポートパケットにもP_Key情報が追加され得る。パケットがHCAポートまたはスイッチに到達すると、そのP_Key値は、SMによって構成されたテーブルに対して有効化され得る。無効なP_Key値が見つかれば、パケットはすぐに廃棄される。このようにして、パーティションを共有しているポート間でのみ通信が可能になる。
IBパーティションの一例が図1に示されており、図1は、実施形態に係るマルチテナントクラスタ環境の図である。図1に示される例では、ノードA〜E 101〜105は、インフィニバンドファブリック100を使用して、それぞれのホストチャネルアダプタ111〜115を介して通信する。ノードA〜Eは、パーティション、すなわちパーティション1 110、パーティション2 120およびパーティション3 130の中に配置されている。パーティション1は、ノードA 101とノードD 104とを備える。パーティション2は、ノードA 101とノードB 102とノードC 103とを備える。パーティション3は、ノードC 103とノードE 105とを備える。このようなパーティションの配置のために、ノードD 104およびノードE 105は、パーティションを共有していないので通信することができない。一方、たとえば、ノードA 101およびノードC 103は、両方ともがパーティション2 120の一部であるので通信することができる。
実施形態によれば、パーティションは、ネットワークファブリックを共有しているシステムの論理グループの分離を実施するためのセキュリティメカニズムとして提供されることができる。IBパーティションは、同様の分離特徴をイーサネット(登録商標)802.1Q VLANとして提供することができる。ファブリック内のノード上の各HCAポートは、1つ以上のパーティションのメンバであり得る。パーティションメンバーシップは、SMの一部であり得る集中型パーティションマネージャによって管理することができる。SMは、各ポートについてのパーティションメンバーシップ情報を16ビットのパーティションキー(P_Key)のテーブルとして構成し得る。また、SMは、P_Key値を含むパーティション実行テーブルを用いてスイッチおよびルータを構成し得る。
実施形態によれば、ノード間での通信のために、管理キューペア(QP0およびQP1)以外に、キューペア(QP)およびエンドツーエンドコンテキスト(EEC)が特定のパーティションに割り当てられ得る。次いで、送信されたどのトランスポートパケットにもP_Key情報が追加され得る。パケットがHCAポートまたはスイッチに到達すると、そのP_Key値は、SMによって構成されたテーブルに対して有効化され得る。無効なP Key値が見つかれば、パケットは廃棄される。このようにして、パーティションを共有しているポート間でのみ通信が可能になる。
実施形態によれば、IBは、VLを使用して各物理リンクを複数の仮想チャネルに分割することができる層状アーキテクチャである。各VLは、それ自体のバッファリング、フロー制御および輻輳管理リソースを有し得る。一組の区別されたトラフィッククラス、すなわちSL、を介してQoSを提供することができる。SLは、ネットワーク内でパケットが受信することができるサービスのクラスを表わす。各SLは、構成されたSL−VLマッピングテーブルに基づいてリンク上のVLにマッピングされる。IBは、16個までのVLをサポートする。しかし、最後のVLは、サブネット管理トラフィックのために取っておかれて、通常はユーザアプリケーションによって使用されることはない。
IBシステムにおけるマルチテナンシ
ネットワーキングの観点から、マルチテナンシは、ネットワークリソースの利用度を高くして、サービスプロバイダのために費用効果の高い動作を維持することに役立つことができる。しかし、マルチテナントインフラストラクチャは、いくつかの重要なセキュリティ問題も課し、最も困難なもののうちの1つは、テナントに対して性能分離を提供することに関連する。各テナントは、システム内の他のテナントのワークロードの影響を受けない予測可能なネットワーク性能を備えているべきである。IBシステムにおけるネットワーク分離は、パーティション化によって提供することができる。
実施形態によれば、パーティションは、グループのメンバが同一グループの他のメンバとのみ通信できるようなポートの論理グループである。ホストチャネルアダプタ(HCA)およびスイッチにおいて、パーティションメンバーシップ情報を使用してパケットをフィルタリングして分離を実施することができる。無効なパーティション化情報を有するパケットは、受信ポートに到達するとすぐに削除され得る。しかし、HPCシステムで使用されるルーティングアルゴリズムは、一般に、ネットワーク内のこのようなパーティションを認識しない。したがって、異なるパーティションに属するトラフィックフローがネットワークファブリック内のリンクを共有する可能性がある。
マルチテナントIBシステムでは、パーティションを使用してテナントクラスタを作成することができる。パーティション実行を実施すると、ノードは、異なるテナントクラスタに属する他のノードとは通信できなくなる。このようにして、感染したまたは不正なテナントノードが存在していてもシステムのセキュリティを保証することができる。
一般に、IBルーティングは、スイッチに記憶されたリニアフォワーディングテーブル(LFT)に基づき得る。LFTは、パーティション化情報を考慮に入れることなくサブネットマネージャ(SM)によって計算される。したがって、中間ネットワークリンクは、さまざまなパーティションに属するトラフィックを搬送し得る。このように中間リンクを共有することは、パーティション干渉につながるおそれがある。その結果、テナントは予測不可能なネットワーク性能を経験することになる。さらに、パーティション化されたサブネットでは、ルーティングアルゴリズムのバランシング特徴も影響を受ける。その理由は、たとえパーティション境界を横断するリンクがユーザトラフィックに利用されなくても、これらのリンクが他の機能的リンクと同じようにルーティングされる(したがって、バランシングの際に考慮される)からである。バランシングの質が低下することにより、有効帯域幅および準最適ネットワーク利用度が低下する可能性がある。
IBは、一般に、他のパーティションにおけるノードにかかわらず、あるシェアの利用可能な帯域幅を各パーティションに保証するために使用できるサービス品質(QoS)特徴を提供する。次いで、各パーティションにサービスレベル(service level:SL)と呼ばれる利用可能な区別されたトラフィッククラスを割り当てることによって帯域幅保証が提供される。次いで、各SLは、SL−VLマッピングテーブルに従ってリンク上の利用可能な15個の仮想レーン(VL)のうちの1つにマッピングされる。
SLをパーティションに割り当てる際に問題が生じる可能性がある。なぜなら、当該システムは15個のVLのみを利用してネットワーク内に個別のパーティションを作成することができる一方、IBネットワークは一般に多数のパーティションを有し得る(たとえば、各ポートは32,768個までのパーティションのメンバであり得る)からである。さらに、既存のIBハードウェアでは、(サブネット管理のために取っておかれるものを含む)9個のVLのみをサポートすることが一般的である。さらに、SLは希少なリソースであるので、他の目的、たとえばネットワーク内でフォールトトレランスまたはサービス差別化を提供する目的のためにできるだけ多くのSLを空けておくことが望ましいであろう。
ファットツリー(FTree)トポロジおよびルーティング
実施形態によれば、IBベースのHPCシステムのうちのいくつかは、ファットツリートポロジを利用して、有用な特性であるファットツリーの提供を活用する。これらの特性は、各ソース・宛先ペア間で複数のパスを利用できることに起因した全二分割帯域幅および固有のフォールトトレランスを含む。ファットツリーの背後にある最初の考え方は、ツリーがトポロジのルートの方に移動するにつれて、利用可能な帯域幅が増加していき、ノード間のリンクが太くなっていくことを利用するというものであった。リンクが太くなることは、上位のスイッチでの輻輳の回避に役立つことができ、二分割帯域幅が維持される。
図2は、本開示の実施形態を実施することができるネットワーク環境におけるツリートポロジの図である。図2に示されるように、ネットワークファブリック200において1つ以上のエンドノード201〜204を接続することができる。ネットワークファブリック200は、複数のリーフスイッチ211〜214と複数のスパイン(spine)スイッチまたはルートスイッチ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(オープン・ファブリック・エンタープライズ・ディストリビューション:IBベースのアプリケーションを構築およびデプロイするための標準的なソフトウェアスタック)サブネットマネージャ、すなわちOpenSM、でも実現される。
ファットツリールーティングメカニズムは、ネットワークファブリック内のリンク全体にわたって最短パス経路を均一に分散させるLFTを生成することを目指している。当該メカニズムは、インデックス化順序でファブリックを横断し、エンドノード、したがって対応する経路、のターゲットLIDを各スイッチポートに割り当てる。同一のリーフスイッチに接続されたエンドノードでは、インデックス化順序は、エンドノードが接続されているスイッチポート(すなわち、ポート番号付けシーケンス)に左右され得る。各ポートについて、当該メカニズムは、ポート使用カウンタを維持することができ、このポート使用カウンタを使用して、新たな経路が追加されるたびに最も使われていないポートを選択することができる。同一の2個のスイッチを接続する複数のポートがある場合には、当該ポートはポートグループを形成する。その場合、新たな経路を追加するために最小負荷ポートグループの最小負荷ポートが選択される。
上記のように、パーティション化されたサブネットでは、共通のパーティションのメンバではないノード同士は通信することができない。これは、事実上、ファットツリールーティングアルゴリズムによって割り当てられた経路のうちのいくつかがユーザトラフィックに使用されないことを意味する。ファットツリールーティングメカニズムが他の機能的パスと同じようにそれらの経路についてLFTを生成する場合に問題が生じる。この挙動は、リンク上のバランシングの質の低下を生じさせる可能性がある。なぜなら、ノードがインデックス化順序でルーティングされるからである。ルーティングがパーティションに気付かずになされるので、ファットツリールーティングが行われたサブネットでは、一般にパーティション間の分離が不十分である。
図3は、本開示の実施形態を実施することができるマルチテナントクラスタ環境におけるルーティングの図である。より具体的に、図3は、負荷バランシングの質の低下および不十分な分離の問題について詳細に説明する。
図3は、4個のスイッチ、すなわちルートスイッチ325〜326およびリーフスイッチ320〜321と、3個の重なり合うパーティションにおける6個のエンドノード、すなわちノードA〜F 301〜306とを有する2レベルファットツリートポロジを示す。パーティション1は、ノードB 302とノードC 303とを備える。パーティション2は、ノードA 301とノードC 303とノードD 304とノードF 306とを備える。最後に、パーティション3は、ノードD 304とノードE 305とを備える。
実施形態によれば、パーティション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はオーバーサブスクライブされる(oversubscribed)一方、リーフスイッチ内のフローはリンクqまたはsを使用することはない。ノードBおよびEに向かう割り当てられた経路は、(管理トラフィックが比較的低い場合を除いて)利用されない。なぜなら、これらのノードは両方とも、パーティション化によりそれらのリーフスイッチの外部からのいかなる通信も受信できないからである。このバランシング問題は、パーティションの通信がトポロジ内のレベルのうちのいくつかのレベルのみに制限される場合にはファットツリーでも生じる。
ここで、本開示の実施形態を実施することができるマルチテナントクラスタ環境におけるルーティングの図である図4を参照する。より具体的に、図4は、ファットツリー内での不十分な分離に関連する問題について詳細に説明する。
図4は、4個のスイッチ、すなわちルートスイッチ425〜426およびリーフスイッチ420〜421と、8個のエンドノード、すなわちノードA〜G 401〜408とを有する2レベルファットツリートポロジを示す。同様に、エンドノードは2個のパーティションに分割されている。パーティション1は、ノードA 401とノードB 402とノードG 407とノードH 408とを備える。パーティション2は、ノードC 403とノードD 404とノードE 405とノードF 406とを備える。
パーティションの各々は、2個のリーフスイッチの各々に接続された2個のノードを有する。ファットツリールーティングメカニズムは、図に示されるように、ルートスイッチ425および426に下りポートを割り当てる。ファットツリールーティングメカニズムの性質のために、各ルートスイッチは、両方のパーティションに属するノードの方にトラフィックをルーティングし、これは分離を不十分にし、パーティション化された環境では望ましくないものである。たとえば、ノードAおよびCに向かうトラフィックは、共有リンクpに沿ってルーティングされる。異なるパーティションのノード間での中間リンクの共有は、それらの間に干渉を引き起こすおそれがある。ネットワークがパーティション間の完全な分離を提供するのに十分なリソースをルートレベルで有しているにもかかわらず、ファットツリールーティングメカニズムは望ましい分離を提供しない。
パーティション認識ファットツリー(pFTree)ルーティング
実施形態によれば、パーティション認識ファットツリールーティングメカニズム(本明細書では別名でpFTreeと称される)は、IBネットワークにおけるマルチテナンシに関連する所望の目的を達成することができる。たとえば、pFTreeメカニズムは、ツリー内のリンク全体にわたって均一に経路を分散させることによって、バランスのとれたリニアフォワーディングテーブルをファットツリートポロジに提供することができる。また、pFTreeは、リンク上の経路をバランスのとれた状態に維持しながら、異なるパーティションに属するパス間の干渉を取り除くことができる。
実施形態によれば、pFTreeメカニズムは、サブネットについてのパーティション化情報を使用して、パーティション内のノードが、他のパーティションでのワークロードの影響を受けない予測可能なネットワーク性能を受け取ることを確実にすることができる。トポロジが(負荷バランシングに関して妥協することなく)各レベルにおいてパーティション分離を提供するのに十分な利用可能なリンクを持たない状況では、pFTreeは、VLを割り当てて干渉の影響を軽減することができる。
実施形態によれば、pFTreeメカニズムは、各エンドノードに関連付けられるLIDについて全ての関連するスイッチ上でLFTをセットアップするように再帰的に機能し得る。これは、以下の疑似コード(本明細書ではリスト1と称される)で示される。
実施形態によれば、ROUTEDOWNGOINGBYASCENDINGTD()は、以下の疑似コード(本明細書ではリスト2と称される)で例示される。
実施形態によれば、ROUTEUPGOINGBYDESCENDINGTD()は、以下の疑似コード(本明細書ではリスト3と称される)で例示される。
実施形態によれば、ASSIGNVIRTUALLANESTD()は、以下の疑似コード(本明細書では別名でリスト4と称される)で例示される。
実施形態によれば、単一リーフスイッチパーティション(すなわち、もっぱら単一のリーフスイッチ内で通信することができるパーティション)をフィルタリングして除去した後、当該メカニズムは、各リーフスイッチについて、(たとえば、固有のパーティション化順序番号を有する各パーティションを介して)接続されたエンドノードをパーティション化に特有の順序でソートし得る(上記のリスト1の第4行)。この順序付けは、リーフスイッチにおける利用可能な上りポートの数を考慮に入れてノードがそれらのパーティションに従ってルーティングされることを確実なものとする助けとなるであろう。次いで、pFTreeメカニズムは、ROUTEDOWNGOINGBYASCENDINGTD(上記のリスト1の第9行)などの関数を呼び出して、リスト2に示されるようにツリーを上って次のレベルのポートを選択して、LIDをルーティングし得る。
実施形態によれば、ポートの選択は、最小数の既に割り当てられている経路に基づく。これは、利用可能なパス全体にわたって負荷を分散させることを確実なものとする助けとなるであろう。しかし、いくつかのポートが同一の負荷で利用可能である場合には、当該関数は、これらの最小負荷ポートで繰返し処理を実行して、ルーティングされているノードのパーティションキーで既にマーキングされているスイッチに接続されているポートを選択し得る(リスト2の第3〜9行)。マーキングされているスイッチがない場合(これは、このパーティションの第1のノードがルーティングされていることを意味し得る)、当該システムは、デフォルトで最も高いグローバル一意識別子(GUID)を有するポートの選択を実行し得る(リスト2の第2行)。パーティションにとって初めてスイッチが選択されると、当該スイッチはパーティションキーで下り方向にマーキングされる(リスト2の第11行)。
実施形態によれば、スイッチにおけるLIDに対して下りポートが設定された後、当該メカニズムは、(リスト3のROUTEUPGOINGBYDESCENDINGTD)を呼び出すツリーを下ることによって全ての接続された下りスイッチ上のそれに対して上りポートを割り当て得る。やはり、上りポートの選択は、まず負荷基準に基づき、次いで上り方向へのリモートスイッチのパーティションマーキングに基づき得る。次いで、全ての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つの主な目的を達成することを目指している。第一に、当該メカニズムは、ツリー内のリンク全体にわたって均一に経路を分散させることによってファットツリートポロジのためにバランスのとれたLFTを生成することができる。第二に、pFTreeは、リンク上の経路をバランスのとれた状態に維持しながら、異なるパーティションに属するパス間の干渉を取り除く。pFTreeは、サブネットについてのパーティション化情報を使用することができ、パーティション内のノードが、他のパーティションでのワークロードの影響を受けない予測可能なネットワーク性能を受け取ることを確実にする。トポロジが(負荷バランシングに関して妥協することなく)各レベルにおいてパーティション分離を提供するのに十分な利用可能なリンクを持たない場合、pFTreeは、VLを使用して干渉の影響を軽減することができる。
実施形態によれば、pFTreeメカニズムは、各エンドノードに関連付けられるLIDについて全ての関連するスイッチ上でLFTをセットアップするように再帰的に機能し得る。単一リーフスイッチパーティションをフィルタリングして除去した後、当該メカニズムは、各リーフスイッチについて、接続されたエンドノードをパーティション化に特有の順序でソートし得る。この順序付けは、リーフスイッチで利用可能な上りポートの数を考慮に入れてノードがそれらのパーティションに従ってルーティングされることを確実にする。各レベルでのポートの選択は、負荷が利用可能なパス全体にわたって分散されることを確実にするように、最小数の既に割り当てられている経路に基づき得る。しかし、いくつかのポートが同一の負荷で利用可能である場合、当該関数は、これらの最小負荷ポートで繰返し処理を実行して、ルーティングされているノードのパーティションキーで既にマーキングされているスイッチに接続されているポートを選択する。マーキングされているスイッチがない場合(すなわち、特定のパーティションの第1のノードのルーティング)、pFTreeは、最も高いグローバル一意識別子(GUID)を有するポートのデフォルト選択の状態になり得る。パーティションにとって初めてスイッチが選択されると、当該スイッチはパーティションキーでマーキングされ得る。このようにして、当該メカニズムは、十分なパスがバランシングに利用可能であると仮定して、1つのパーティションに属するノードが同一のスイッチおよび対応するリンクを介してルーティングされることを確実なものとする助けとなるであろう。パーティション分離基準を保持しながらルーティングテーブルが生成されると、当該メカニズムは、リンクのうちのいくつかが異なるパーティション内のノードに向かうフローに使用されているか否かを確認することに進み得る。そのような場合、当該メカニズムは、干渉しているパーティションにVLを割り当てて分離を提供することができる。
ここで、実施形態に係るマルチテナントクラスタ環境においてパーティション認識ルーティングをサポートすることの図である図5〜図8を参照する。
実施形態によれば、pFTreeルーティングにおけるポート選択メカニズムは、オーバーサブスクライブされたファットツリーネットワークの単純なセクションによって図5〜図8に示されている。
ここで、図5を参照する。図5は、4個のスイッチ、すなわちルートスイッチ525〜526およびリーフスイッチ520〜521と、8個のエンドノード、すなわちノードA〜G 501〜508とを有する2レベルファットツリートポロジを示す。同様に、エンドノードは2個のパーティションに分割されている。パーティション1は、ノードA 501とノードD 504とノードG 507とノードH 508とを備える。パーティション2は、ノードB 502とノードC 503とノードE 505とノードF 506とを備える。
実施形態によれば、図5に示されるように、例示的なセクションは、2個のリーフスイッチ(520および521)で構成され、各リーフスイッチは、4個のエンドノードと、リーフスイッチの次のレベルの2個のスイッチ、すなわちルートスイッチ(525および526)とに接続されている。下り方向の割り当てられた経路の数を表わす変数downおよびmax、ならびに、各リンク上で適切なバランシングを確実にするようにルーティングされ得るノードの最大数もそれぞれ図に示されている。
実施形態によれば、ルーティングすべき4個のエンドノードを有する各リーフスイッチに2個の上りポートがあると仮定すると、アップリンクの各々は、リンクのバランスをとることを確実にするために2個のエンドノードを下方にルーティングすべきである(すなわち、max=2)。
実施形態に従って、リーフスイッチ520についての、最初の2個のノード、すなわちノードAおよびノードB、のルーティングが図6に示されている。ルーティングメカニズムは、ルートスイッチ525を選択して、ノードAの方にトラフィックをルーティングし、図に「(パーティション1)」と示されているノードAのパーティションキーで当該スイッチをマーキングし得る。同様に、ノードBのために、ルートスイッチ526が選択され、図に「(パーティション2)」と示されているノードBのパーティションキーでマーキングされ得る。また、2個の下りリンクの各々上の単一のルーティングされるノードを数えるように変数downも更新される。
実施形態によれば、図7に示されるように、ノードCおよびDのために、対応するパーティションキーで既にマーキングされているスイッチが選択され得る。結果として生じる経路は、ルートスイッチ525を介して同一のリンクによって、第1のパーティションに属するノード、すなわちノードAおよびD、の方に流れる。同様に、第2のパーティションのノード、すなわちノードBおよびC、がルートスイッチ526を介して下り方向にルーティングされ得る。この経路の分離により、2個のパーティションのトラフィックフロー間の干渉が回避される。なお、各リンクに沿って下り方向にルーティングされるノードの数はmax変数を超えることはなく、これはルーティングが依然としてバランスがとれていることを意味する。
最後に、実施形態に従って、図8は、リーフスイッチ521に接続されたエンドノードのためのルーティングを示す。ここでも、第2のレベルのスイッチが第1のリーフスイッチのルーティングからのパーティションキーで既にマーキングされているので、対応するスイッチが選択されて、ノード、すなわちノードE,F,GおよびH、の各々をルーティングすることができる。図に示されるように、最終的なルーティングは、ルーティングに基づいて中間ネットワークリンクを2個の等しいサイズの論理サブネットワークに分割することによって2個のパーティションを分離することができる。
拡張型pFTree
実施形態によれば、ネットワークがもっぱら物理リンクレベルでパーティションを分離するのに十分なリソースを持たない場合、pFTreeルーティングアルゴリズムは、VLを使用してパーティション間の干渉を減少させる。しかし、対応するSLA(サービス水準合意)またはQoS要件によっては、パーティションが異なれば分離ニーズも異なる可能性がある。たとえば、ネットワーク内のパーティションのうちのいくつかは、重大な動作を実行しているかもしれず、いかなる場合でも完全な物理的分離を必要とするかもしれない。同様に、多くのネットワークでは、VLの利用可能性によっては、いくつかのパーティションは別のパーティションとVLを共有しなければならないかもしれず、これは通信集中的なワークロードにとっては望ましくないであろう。上記のpFTreeアルゴリズムは、ルーティングにおける上記のパーティション面の要件を指定することができず、全てのパーティションは、同様のQoS要件を想定して等しい優先度で処理される。
ここで、実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートすることの図である図9を参照する。より具体的に、図9は、3個の異なるテナントパーティション(さまざまなシェーディングによって図示)に9個のノード(すなわち、ノードA〜I 901〜909)を有するファットツリーネットワークの一例を示す。ノードA 901およびE 905はパーティション1に属し、ノードB 902、F 906、G 907およびI 909はパーティション2に属し、ノードC 903、D 904およびH 908はパーティション3に属している。また、ファットツリーネットワークは、ルートスイッチ925および926と、リーフスイッチ920,921および922とを含む。
実施形態によれば、パーティション1は非常に高いQoS要件を有し得て、このパーティションでのワークロードがいかなるパーティション間の干渉の影響も受けないことが極めて重要である。しかし、所与のファットツリーネットワークが3つの異なるテナントパーティションを有しながらルートスイッチを2つだけ有している、すなわちルートスイッチ925およびルートスイッチ926を有しているので、もっぱら物理レベルでこれらのパーティションを分離することは不可能である。上記のように、このような場合、pFTreeルーティングアルゴリズムは、VLを使用してパーティションの分離を進めることができる。デフォルトのpFTreeアルゴリズム(上記)を使用して得られるルーティングも図に示されており、ここではスイッチの直下の小さなノード円を使用して宛先ノードに向かうフローを示している。パーティション1のノードAに向かうトラフィックは、現在のところ、ルートスイッチ925とリーフスイッチ920との間のリンクを、異なるパーティション(すなわち、パーティション3)に属するノードCに向かうトラフィックと共有していることが分かる。同様に、パーティション1(高いQoSを必要とするパーティション)のEに向かうトラフィックは、パーティション2のノードFに向かうトラフィックとリンクを共有している。ルーティングメカニズムは、分離を保つために、これらのリンクの各々上で別個の仮想レーンを利用することができる。しかし、VLを使用することにより干渉が減少するとしても、このような干渉が完全に排除されることはない。
分離ポリシー
実施形態によれば、pFTreeルーティングメカニズムは、パーティションワイズの(partition-wise)分離ポリシーおよびグローバルな分離ポリシーを含むように拡張可能である。各パーティションについて、分離ポリシーは、どのようにしてパーティション内のノードが他のパーティションに属するノードとネットワークリソースを共有できるようにするかを決定し得る。グローバルなポリシーは、所与のネットワークについて全てのパーティションワイズの分離ポリシーを満たすことができない場合にルーティングが機能しなくなるかベストエフォート型分離を継続するかを判断し得る。
実施形態によれば、拡張型pFTreeルーティングメカニズムのためのさまざまなポリシーパラメータを提供することができる。各パーティションは、3個のパーティションワイズのポリシーパラメータのうちの1つでマーキングされ得る。パーティションをphy−分離(本明細書では厳格なパラメータとも称される)でマーキングすることにより、ルーティングアルゴリズムが特に当該パーティションのためにネットワークリソースを取っておくことを保証することができ、当該パーティション内のノードは、異なるパーティション内のその他のノードといかなるリンクも共有しない。パーティションをvlane−分離というパラメータ(本明細書では厳格な仮想レーンパラメータとも称される)でマーキングすることにより、マーキングされたパーティションは、別個のVLのみを使用して他のパーティションとネットワークリソースを共有することができる。パーティションをdef−分離(本明細書ではベストエフォートパラメータとも称される)スキームでマーキングすることにより、マーキングされたパーティションのベストエフォート型分離が実現される。
実施形態によれば、ポリシーパラメータは、グローバルなポリシーパラメータも含み得る。グローバルなポリシーパラメータ、すなわち厳格なパラメータおよびベストエフォートパラメータ、は、所与のサブネットにおいてパーティションワイズのポリシーパラメータを満たすことができない場合にルーティングメカニズムが機能しなくなるかベストエフォート型ルーティングに戻るかを規定し得る。たとえば、ネットワークが所望の分離を提供するための十分なリンクまたはVLを持たない場合、パーティション構成ファイルを使用してポリシーパラメータがルーティングメカニズムに提供されてもよい。
拡張型pFTreeメカニズム
実施形態によれば、拡張型pFTreeルーティングメカニズム(本明細書では別名で「pFTree−Ext」とも称される)は、ファブリックを再帰的に横断して、各エンドノードに関連付けられるLIDについて全てのスイッチにおいてLFTをセットアップすることによって、(上記の)当初のpFTreeと同様の態様で動作する。しかし、pFTreeとは異なって、pFTree−Extは、経路を割り当てる際に規定のグローバルな分離ポリシーおよびパーティションワイズの分離ポリシーも考慮に入れることができる。
実施形態に従って、pFTree−Extルーティングメカニズムの疑似コード(本明細書では別名でリスト5とも称される)を以下に示す。
実施形態によれば、当該メカニズムは決定論的であり、経路は宛先ノードから開始して後向きに計算される。当該メカニズムは、まず、コンピュートノードをパーティションに特有の順序でソートし得る(リスト5の第3行)。パーティションに特有の順序は、メカニズムのさらに高速な実行を確実にすることができる。なぜなら、ノードは、一旦順序付けられると、各々の下りおよび上りポート上に最大カウンタを維持することなく繰返しルーティングできるからである。以下のORDERCOPMUTENODESのための疑似コードに示されるように、各リーフスイッチについて、ORDERCOMPUTENODESは、まず、エンドノードをそれらのパーティションポリシー優先度の低い方から順にソートする(リスト6の第4行(以下を参照))。phy−分離パラメータでマーキングされたパーティションに属するノードが最初に付加され得て、vlane−分離によるパーティションが2番目に付加され得る。最後に、def−分離のポリシーパラメータ値を有するパーティションノードがコンピュートノードのリストに付加される。次いで、当該メカニズムは、ノードのパーティション化情報を使用してルーティング順序を生成し、当該ルーティング順序では、1つのパーティションに属するノードは、反復ルーティングの際にネットワーク内の同一の上りリンクを提案するインデックスを得る傾向がある。これは、パーティションキーテーブルを使用して、利用可能な上りポートの数を、パーティションに属する第1のノードをルーティングするように選択されたインデックスに付加することによってなされる(リスト6の第14〜28行)。しかし、このようなインデックスが既に取得されている場合、または当該インデックスがコンピュートアレイ境界を超える場合、第1のフリーインデックスが選択されて、その後の選択のためにパーティションキーでマーキングされ得る(リスト6の第24行)。ORDERCOMPUTENODESのための疑似コード(本明細書では別名でリスト6とも称される)をここに示す。
実施形態によれば、ノードが適切に順序付けられると、ROUTEDOWNGOINGBYASCENDINGのための以下の疑似コード(本明細書では別名でリスト7とも称される)に例示されるように、pFTree−Extメカニズムは、ROUTEDOWNGOINGBYASCENDING(リスト5の第9行)を呼び出して、ツリーを上って次のレベルのポートを選択して、LIDを下り方向にルーティングし得る。
実施形態によれば、ポートの選択は、まず、ソートされた利用可能な上りポートから得られる最小負荷ポートリストに基づく(リスト7の第1〜2行)。当該関数は、これらの最小負荷ポートで繰返し処理を実行して、ルーティングされているノードのパーティションキーで既にマーキングされているスイッチに接続されているポートを選択する(リスト7の第5〜11行)。マーキングされているスイッチがないことが分かると、アルゴリズムは、上りポートで繰返し処理を実行して、LIDに適した経路を見つける。上りポートリストは、ポートに対する現在の負荷の低い方から順にソートされる。同一の負荷を有するポートでは、決定論的なままであるようにするために、ソートはそれらのグローバル一意識別子(GUID)の高い方から順になされる。さらに、当該関数は、ルーティングされるノードよりも高い分離ポリシーパラメータを有するパーティションキーで既にマーキングされているポートを選択しない(リスト7の第16〜17行)。最後に、ポートが選択されると、対応するスイッチがパーティションキーで下り方向にマーキングされる(リスト7の第24行)。
実施形態によれば、スイッチにおけるLIDに対して下りポートが設定されると、pFTree−Extメカニズムは、ROUTEUPGOINGBYDESCENDING(本明細書では別名でリスト8とも称される)を呼び出すツリーを下ることによって全ての接続された下りスイッチ上でそれに対して上りポートを割り当てる。ROUTEUPGOINGBYDESCENDINGのための疑似コードをここに示す。
実施形態によれば、上りポートの選択は、まず負荷基準に基づき、次いで今回は上り方向へのリモートスイッチのパーティションマーキングに基づく。次いで、全てのLFTが設定されるまで、次のレベルまでツリーを上ることによってプロセスが繰返される。なお、スイッチは複数のパーティションキーでマーキングされてもよい。pFTree−Extメカニズムは、各パーティションについてルーティングされるノードの個数を記憶するテーブルを各スイッチについて維持する。マーキングされたパーティションを有するいくつかのスイッチがノードのルーティングに利用できる場合には、このカウンタを使用してポートの選択を決定する。パーティションについて最大数の既にルーティングされているノードを有するスイッチが選択される。
実施形態によれば、パーティション分離基準を保持しながらルーティングテーブルが生成されると、pFTree−Extメカニズムは、リンクのうちのいくつかが異なるパーティション内のノードに向かうフローに使用されているか否かを確認することに進む。そのような場合、pFTree−Extメカニズムは、干渉しているパーティションにVLを割り当てて分離を提供することができる。VL割り当て関数、すなわちASSIGNVIRTUALLANES、のための疑似コード(本明細書では別名でリスト9と称される)を以下に示す。
実施形態によれば、仮想レーン割り当て関数は、全てのパーティションで繰返し処理を実行して、パーティションがvl−分離ポリシーパラメータでマーキングされているか否かおよびパーティション内のノードによって使用されるいずれかの中間通信リンクが、別個のVLを割り当てられていない別のパーティションと中間リンクを共有しているか否かを確認し得る。そうであれば、新たなVLが割り当てられる。また、VL割り当て関数は、2つのモード、すなわち厳格モードおよびベストエフォートモード、を有するグローバルなポリシーパラメータを使用し得る。厳格モードでは、pFTree−Extルーティングメカニズムに必要とされるVLの数がシステム内の利用可能なVLの数を超えると、ルーティングは失敗する(リスト9の第10行)。ベストエフォートモードでは、仮想レーン割り当て関数はパーティションへのVLの割り当てをVLから再開し得る(リスト9の第8行)。
実施形態によれば、pFTree−Extルーティングメカニズムは、全ての利用可能なVLではなくVLの特定のグループを考慮に入れるように容易に変更することができる。同様に、より高い分離ポリシーを有するパーティションがVLを共有しにくくするために、全ての利用可能なVLが使用されると、(VLを選択する代わりに)割り当てられたパーティションの優先度を選択のために減少させることによってVLリストを順序付けることができる。VLが割り当てられた後、pFTree−Extルーティングアルゴリズムは、全てのパーティションワイズのポリシーおよびグローバルなポリシーが満たされているか否かを確認する(リスト5の第13行)。
実施形態によれば、pFTree−Extメカニズムは、分離ポリシーをルーティングアルゴリズムに組み込むことができる。各リーフスイッチについてルーティングの前にエンドノードをパーティションに特有の順序でソートするpFTreeとは異なって、pFTree−Extルーティングメカニズムは、まず、エンドノードをそれらのパーティション優先度の順序でソートする。phy−分離でマーキングされたパーティション内のエンドノードは、最大の優先度を得る。その後、当該メカニズムは、上記のようにエンドノードをパーティションに特有の順序でソートすることに取りかかる。最も高いパーティション優先度を有するノードが最初にルーティングされることを確実にするために、付加的なソートが事前になされる。
実施形態によれば、pFTree−Extメカニズムはさらに、新たなノードをルーティングするためのポートの選択方法を変更することによって分離ポリシーをルーティングアルゴリズムに組み込むことができる。たとえば、いくつかの候補ポートの中から下りポートを選択するために、pFTree−Extは、ポートに対する現在の負荷を確認することに加えて、対応するスイッチが現在ルーティングされているノードのパーティションよりも高い優先度を有するパーティションのキーで既にマーキングされている任意のポートグループを除去する。
実施形態によれば、および加えて、利用可能なネットワークリソースがパーティションワイズのポリシーパラメータを満たすことを許可しない場合、pFTree−Extルーティングメカニズムは、機能しなくなるかまたはグローバルなポリシーパラメータに従って続行するかのいずれかであり得る。その場合、当初のpFTreeルーティングアルゴリズムは、利用可能なVLを考慮に入れるのみである。
ここで、実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートすることの図である図10を参照する。より具体的に、図10は、3個の異なるテナントパーティション(さまざまなシェーディングによって図示)に9個のノード(すなわち、ノードA〜I 901〜909)を有するファットツリーネットワークの一例を示す。ノードA 901およびE 905はパーティション1に属し、ノードB 902、F 906、G 907およびI 909はパーティション2に属し、ノードC 903、D 904およびH 908はパーティション3に属している。また、ファットツリーネットワークは、ルートスイッチ925および926と、リーフスイッチ920,921および922とを含む。
実施形態によれば、図10は、pFTree−Extメカニズムを使用したサブネットルーティングを示しており、当該メカニズムでは、パーティション1(すなわち、ノードA 901およびノードE 905)はphy−分離などの高い優先度でマーキングされており、ルーティングメカニズムが特に当該パーティションのためにネットワークリソースを取っておくことを保証することができ、当該パーティション内のノードは、異なるパーティション内のその他のノードといかなるリンクも共有しない。結果として生じるルーティングが図10に示されている。パーティション1がphy−分離などの高い優先度でマーキングされているので、パーティション1のノード(すなわち、ノードAおよびE)はいずれも、その他のパーティションとリンクを共有しない。しかし、このようなポリシーはパーティション2および/またはパーティション3には適用されなかったので、これらのパーティションはスイッチ926からの全ての下りリンクを共有する。
重み付けされたpFTreeルーティングメカニズム
実施形態によれば、pFTreeルーティングメカニズムの第2の拡張機能は、サブネットにおけるトラフィック特性の重みを説明することができる。これは、重み付けされたpFTreeルーティングメカニズム(pFTree−Wt)と称されることができる。pFTree−Wtは、各コンピュートノードに関連付けられる重みの概念に基づく。これらの重みを使用して、経路を計算する際に既知のまたは学習したトラフィック特性を考慮に入れる。パーティション化にかかわらず、ノードの重みは、ルーティングテーブルを計算する際にノードに向かうフローが受ける優先度を反映する。たとえば、考えられる構成は、ネットワーク内でどれぐらいのトラフィックをノードが受けることが分かっているかに応じて[1,100]の範囲内の重みをノードに割り当てるというものであり得る。このようなスキームでは、ほとんどトラフィックを受けないノード(たとえば、主にトラフィックジェネレータ)に対しては重み=1を割り当て、リンク容量に近いトラフィックを受けるノードに対しては重み=100を割り当てることができる。その結果、中間の値、すなわち1<x<100は、ネットワーク内でノードが受けることが見込まれるトラフィックの割合を反映することができる。
実施形態によれば、コンピュートノードについての管理情報が利用できない場合には、ポートデータカウンタベースのスキームを使用して重みを計算することができる。たとえば、OFED(オープン・ファブリック・エンタープライズ・ディストリビューション)では、データカウンタを読取るためにibdatacountと呼ばれるユーティリティが提供される。全てのノードについて初期重みが等しい状態でネットワークをセットアップした後、所定の期間が経過すると新たな重みを学習することができる。
実施形態によれば、Bがある期間にわたって測定される全てのノードの受信帯域幅セットを表わすとすると、各ノードの重みは、以下のように、線形変換を使用して[a,b]の範囲内で割り当てられることができる。
実施形態によれば、pFTree−Wtルーティングメカニズムを使用して、各コンピュートノードは、重みというパラメータを割り当てられることができる。ポートに対する負荷が上りおよび下り方向へのノードに向かう割り当てられた経路の数を表わす当初のpFTreeルーティングとは異なって、pFTree−Wtルーティングスキームにおけるポートに対する負荷は、当該ポートから各方向にルーティングされるコンピュートノードの累積重みである。各リーフスイッチについて、1つのパーティション内のノードは、ルーティングの前にそれらの重みによってもソートされる。コンピュートノードをルーティングするためにスイッチにおける下りポートが選択されると、pFTree−Wtは、対応するコンピュートノードの重みを付加することによって、選択されたポートに対する現在の負荷を更新する。同様に、上りリンクでは、各ポートに対して上り方向の負荷が維持される。ポート選択基準はpFTreeルーティングと同様であり、ノードのパーティションも考慮する。しかし、ポートカウンタとは異なって、pFTree−Wtにおける各レベルでのポートの選択は、全ての利用可能なポートに対する最小累積重みに基づく。いくつかのポートが同一の負荷で利用可能である場合、当該メカニズムは、これらの最小負荷ポートで繰返し処理を実行して、ルーティングされているノードのパーティションキーで既にマーキングされているスイッチに接続されているポートを選択する。ルーティングテーブルが生成されると、pFTree−Wtは、VL割り当てを実行して、ネットワーク内でリンクを共有している異なるパーティションに関連付けられたノードに異なるVLが割り当てられることを確実にすることができる。
図11は、実施形態に係るマルチテナントクラスタ環境において重み付けされたパーティション認識ルーティングをサポートすることの図である。具体的に、図11は、4個のスイッチ、すなわちルートスイッチ1125〜1126およびリーフスイッチ1120〜1121と、8個のエンドノード、すなわちノードA〜G 1101〜1108とを有する2レベルファットツリートポロジを示す。同様に、エンドノードは2個のパーティションに分割されている。パーティション1は、ノードA 1101とノードD 1104とノードG 1107とノードH 1108とを備える。パーティション2は、ノードB 1102とノードC 1103とノードE 1105とノードF 1106とを備える。
実施形態によれば、図11における各ノードは、重みを割り当てられている。ノードA 1101は100という重みを割り当てられている一方、残りのノードは1という重みを割り当てられている。pFTree−Wtを使用したリーフスイッチ1120への下りルーティングが図11に示されている。リーフスイッチ1120に接続されたノードをルーティングする際、スイッチ1125および1126にそれぞれ接続された2個の上りポートが利用可能である。ノードAは、100に等しい重みを有しているので、それらのリンクのうちの1つ、すなわちスイッチ1125→スイッチ1120を割り当てられる一方、他の3個のノードは他のリンク、すなわちスイッチ1126→スイッチ1120を共有する。その理由は、他の3個のノードの重みの合計が100よりも低い3に過ぎないからである。たとえ選択されたスイッチがパーティションキーでマーキングされたとしても、重み付けされたパーティション認識ルーティングにより、依然としてサブネットにおいてパーティションを分離することはできない。
図12は、実施形態に係るマルチテナントクラスタ環境において重み付けされたパーティション認識ルーティングをサポートすることの図である。具体的に、図12は、4個のスイッチ、すなわちルートスイッチ1125〜1126およびリーフスイッチ1120〜1121と、8個のエンドノード、すなわちノードA〜G 1101〜1108とを有する2レベルファットツリートポロジを示す。同様に、エンドノードは2個のパーティションに分割されている。パーティション1は、ノードA 1101とノードD 1104とノードG 1107とノードH 1108とを備える。パーティション2は、ノードB 1102とノードC 1103とノードE 1105とノードF 1106とを備える。
実施形態によれば、図12における各ノードは、重みを割り当てられている。ノードA 1101は100という重みを割り当てられている一方、残りのノードは1という重みを割り当てられている。pFTree−Wtを使用したリーフスイッチ1121への下りルーティングが図12に示されている。リーフスイッチ1120へのルーティングとは異なって、リーフスイッチ1121に接続された各ノードは、同一の重み(すなわち、1)を有している。このため、パーティションはリンク上で分離されたままである可能性がある。同一のパーティションに属するノードGおよびHは、スイッチ1125→スイッチ1121間のリンクを介して下り方向にルーティングされることができる。等しい重みを有するパーティション2のノードEおよびFは、スイッチ1126→スイッチ1121間のリンクを介して下り方向にルーティングされることができる。
実施形態によれば、pFTree−Wtは、パーティションが分離した状態をできるだけ保持しながらリンク上の重み付けされた負荷バランシングを満足させる。なお、最終的なルーティングは、図12に示されるように、2個のパーティションのノードによって共有されるリンクを1つだけ有する。
図13は、実施形態に係るマルチテナントクラスタ環境においてネットワーク分離をサポートするための方法のフローチャートである。
ステップ1301において、当該方法は、マルチテナントクラスタ環境内の1つ以上のテナントをサポートし得る。
ステップ1302において、当該方法は、1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付け得る。
ステップ1303において、当該方法は、複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付け得て、複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられ、複数のスイッチは、複数のリーフスイッチと、別のレベルにおける少なくとも1つのスイッチとを備える。
ステップ1304において、当該方法は、複数のパーティションの各々を複数のポリシーパラメータのうちのあるポリシーパラメータでマーキングし得る。
ステップ1305において、当該方法は、複数のノードの各ノードにパーティション化順序を割り当て得て、パーティション化順序は、少なくとも各ノードに関連付けられるパーティションにマーキングされたポリシーパラメータに基づく。
ステップ1306において、当該方法は、少なくとも複数のパーティションのうちのパーティションのマーキングに基づいて、マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成し得る。
図14は、本発明の実施形態を実現することができる例示的なコンピュータシステム1400を示すブロック図である。コンピュータシステム1400は、バス1490を介して電気的に結合され得るハードウェア要素を備えるものとして示されている。ハードウェア要素は、1つ以上の中央処理ユニット1410と、1つ以上の入力デバイス1420(たとえば、マウス、キーボードなど)と、1つ以上の出力デバイス1430(たとえば、ディスプレイデバイス、プリンタなど)とを含んでいてもよい。
コンピュータシステム1400は、1つ以上の記憶装置1440も含んでいてもよい。一例として、記憶装置1440は、ランダムアクセスメモリ(「RAM」)および/またはリードオンリメモリ(「ROM」)などの、ディスクドライブ、光学式記憶装置、ソリッドステート記憶装置であってもよく、これらはプログラム可能、フラッシュ更新可能などであってもよい。記憶装置は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、(分子メモリICを含む)ナノシステム、または、命令および/もしくはデータを格納するのに適した任意のタイプの媒体もしくはデバイスを含み得るが、それらに限定されるものではない。
また、コンピュータシステム1400は、コンピュータ読取可能記憶媒体読取装置1450と、通信システム1460(たとえば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス、ブルートゥース(登録商標)デバイス、セルラー通信デバイスなど)と、上記のRAMおよびROMデバイスを含み得るワーキングメモリ1480とを含んでいてもよい。いくつかの実施形態では、コンピュータシステム1400は、デジタル信号プロセッサ、特殊用途プロセッサなどを含み得る処理加速ユニット1470も含んでいてもよい。
コンピュータ読取可能記憶媒体読取装置1450はさらに、コンピュータ読取可能な記憶媒体に接続可能であり、ともに(および任意に、記憶装置1440と組み合わせて)コンピュータ読取可能な情報を一時的におよび/またはより永久的に収容するためのリモートの、ローカルな、固定式のおよび/またはリムーバブルな記憶装置プラス記憶媒体を包括的に表わす。本発明の特徴は、機械読取可能な媒体のいずれか1つに格納されて、ソフトウェアおよび/またはファームウェアに組み込まれてもよく、当該ソフトウェアおよび/またはファームウェアは、コンピュータシステムのハードウェアを制御して、本発明の結果を利用する他のメカニズムとコンピュータシステムとを対話させるためのものである。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステムおよび実行環境/コンテナを含み得るが、それらに限定されるものではない。通信システム1460は、上記のネットワーク、システム、コンピュータおよび/または他の構成要素とデータをやりとりすることを可能にし得る。
コンピュータシステム1400は、ソフトウェア要素も備えていてもよく、当該ソフトウェア要素は、オペレーティングシステム1488および/または他のコード1484を含むワーキングメモリ1480内に現在のところ置かれているものとして示されている。コンピュータシステム1400の代替的な実施形態は上記のものに対する多数の変形例を有していてもよいということが理解されるべきである。たとえば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素がハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、またはそれら両方で実現されてもよい。さらに、ネットワーク入出力デバイスおよびデータ取得デバイスなどの他のコンピューティングデバイスとの接続も行われてもよい。
コンピュータシステム1400のソフトウェアは、本明細書に記載されているアーキテクチャのさまざまな要素のいずれかまたは全ての機能を実現するためのコード1484を含んでいてもよい。たとえば、システム1400などのコンピュータシステムに格納され、および/または、システム1400などのコンピュータシステムによって実行されるソフトウェアが、上記のような本発明の機能および/または他の構成要素を提供してもよい。これらの構成要素のうちのいくつかのソフトウェアによって実現可能な方法については、より詳細に上記している。
また、本発明の特徴は、たとえば特定用途向け集積回路(application specific integrated circuit:ASIC)などのハードウェアコンポーネントを使用してハードウェアで実現されてもよい。本明細書に記載されている機能を実行するためのハードウェア状態機械の実現は、当業者に明らかであろう。
本発明のさまざまな実施形態を上記してきたが、それらは限定としてではなく一例として提示されているということが理解されるべきである。本発明の精神および範囲から逸脱することなく形態および詳細のさまざまな変更を行ってもよいということは当業者に明らかであろう。
特定の機能の実行およびそれらの関係を示す機能的構成要素を用いて本発明を上記してきた。これらの機能的構成要素の範囲は、説明の便宜上、本明細書では多くの場合任意に規定されている。特定の機能およびそれらの関係が適切に実行される限り、代替的な範囲が規定されてもよい。したがって、いかなるこのような代替的な範囲も本発明の範囲および精神の範囲内である。
本発明の上記の説明は、解説および説明の目的で提供されている。本発明の上記の説明は、網羅的であることを意図したものではなく、本発明を開示されている厳密な形態に限定することを意図したものでもない。本発明の幅および範囲は、上記の例示的な実施形態のいずれによっても限定されるべきではない。多くの変更例および変形例が当業者に明らかであろう。当該変更例および変形例は、開示されている特徴のいずれかの関連性のある組み合わせを含む。本発明の原理およびその実際の適用を最良に説明するために実施形態が選択されて説明されており、それによって、さまざまな実施形態についておよび意図される特定の使用に適したさまざまな変更例とともに当業者は本発明を理解することができる。本発明の範囲は以下の特許請求の範囲およびそれらの等価物によって規定されることが意図される。

Claims (21)

  1. マルチテナントクラスタ環境においてネットワーク分離をサポートするための方法であって、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを備え、前記複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは、複数のリーフスイッチと、別のレベルにおける少なくとも1つのスイッチとを備え、前記方法はさらに、
    前記複数のパーティションの各々を複数のポリシーパラメータのうちのあるポリシーパラメータでマーキングするステップと、
    前記複数のノードの各ノードにパーティション化順序を割り当てるステップとを備え、前記パーティション化順序は、少なくとも各ノードに関連付けられた前記パーティションにマーキングされた前記ポリシーパラメータに基づき、前記方法はさらに、
    少なくとも前記複数のパーティションのうちの前記パーティションの前記マーキングに基づいて、前記マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成するステップを備える、方法。
  2. 前記複数のパーティションの各々をグローバルなポリシーパラメータでマーキングするステップをさらに備える、請求項1に記載の方法。
  3. 前記複数のポリシーパラメータは、
    厳格なパラメータと、
    厳格な仮想レーンパラメータと、
    ベストエフォートパラメータとを備える、請求項1または2に記載の方法。
  4. 厳格なパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前であり、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、ベストエフォートパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前である、請求項3に記載の方法。
  5. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、各ノードの前記パーティション化順序に従って前記複数のノードを順序付けるステップと、
    前記ノードの順序で複数のエンドノードをルーティングするステップとを備え、前記ルーティングするステップは、
    各ノードについて少なくとも1つの下りポートおよび少なくとも1つの上りポートを選択するステップを備える、請求項4に記載の方法。
  6. 前記ノードの順序で前記複数のエンドノードをルーティングするステップは、厳格なパラメータでマーキングされたパーティションに関連付けられるそれらのノードに対して厳格な分離を提供する、請求項5に記載の方法。
  7. 前記ノードの順序で前記複数のエンドノードをルーティングするステップは、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるそれらのノードに対して仮想レーン上で分離を提供する、請求項5または6に記載の方法。
  8. マルチテナントクラスタ環境においてネットワーク分離をサポートするシステムであって、
    1つ以上のプロセッサと、
    命令を格納したメモリとを備え、前記命令は、前記1つ以上のプロセッサによって実行されたときに前記1つ以上のプロセッサにステップを実行させ、前記ステップは、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを備え、前記複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは、複数のリーフスイッチと、別のレベルにおける少なくとも1つのスイッチとを備え、前記ステップはさらに、
    前記複数のパーティションの各々を複数のポリシーパラメータのうちのあるポリシーパラメータでマーキングするステップと、
    前記複数のノードの各ノードにパーティション化順序を割り当てるステップとを備え、前記パーティション化順序は、少なくとも各ノードに関連付けられた前記パーティションにマーキングされた前記ポリシーパラメータに基づき、前記ステップはさらに、
    少なくとも前記複数のパーティションのうちの前記パーティションの前記マーキングに基づいて、前記マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成するステップを備える、システム。
  9. 前記1つ以上のプロセッサは、前記複数のパーティションの各々をグローバルなポリシーパラメータでマーキングするステップを備えるさらに他のステップを実行するように動作する、請求項8に記載のシステム。
  10. 前記複数のポリシーパラメータは、
    厳格なパラメータと、
    厳格な仮想レーンパラメータと、
    ベストエフォートパラメータとを備える、請求項8または9に記載のシステム。
  11. 厳格なパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前であり、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、ベストエフォートパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前である、請求項10に記載のシステム。
  12. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、各ノードの前記パーティション化順序に従って前記複数のノードを順序付けるステップと、
    前記ノードの順序で複数のエンドノードをルーティングするステップとを備え、前記ルーティングするステップは、
    各ノードについて少なくとも1つの下りポートおよび少なくとも1つの上りポートを選択するステップを備える、請求項11に記載のシステム。
  13. 前記ノードの順序で前記複数のエンドノードをルーティングするステップは、厳格なパラメータでマーキングされたパーティションに関連付けられるそれらのノードに対して厳格な分離を提供する、請求項12に記載のシステム。
  14. 前記ノードの順序で前記複数のエンドノードをルーティングするステップは、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるそれらのノードに対して仮想レーン上で分離を提供する、請求項12または13に記載のシステム。
  15. マルチテナントクラスタ環境においてネットワーク分離をサポートするための命令を格納した非一時的な機械読取可能な記憶媒体であって、前記命令は、実行されたときにシステムにステップを実行させ、前記ステップは、
    前記マルチテナントクラスタ環境内の1つ以上のテナントをサポートするステップと、
    前記1つ以上のテナントの各々を複数のパーティションのうちのあるパーティションに関連付けるステップと、
    前記複数のパーティションの各々を複数のノードのうちの1つ以上のノードに関連付けるステップとを備え、前記複数のノードの各々は、複数のスイッチのうちのリーフスイッチに関連付けられ、前記複数のスイッチは、複数のリーフスイッチと、別のレベルにおける少なくとも1つのスイッチとを備え、前記ステップはさらに、
    前記複数のパーティションの各々を複数のポリシーパラメータのうちのあるポリシーパラメータでマーキングするステップと、
    前記複数のノードの各ノードにパーティション化順序を割り当てるステップとを備え、前記パーティション化順序は、少なくとも各ノードに関連付けられた前記パーティションにマーキングされた前記ポリシーパラメータに基づき、前記ステップはさらに、
    少なくとも前記複数のパーティションのうちの前記パーティションの前記マーキングに基づいて、前記マルチテナントクラスタ環境で使用される1つ以上のリニアフォワーディングテーブルを生成するステップを備える、非一時的な機械読取可能な記憶媒体。
  16. 前記ステップは、前記複数のパーティションの各々をグローバルなポリシーパラメータでマーキングするステップをさらに備える、請求項15に記載の非一時的な機械読取可能な記憶媒体。
  17. 前記複数のポリシーパラメータは、
    厳格なパラメータと、
    厳格な仮想レーンパラメータと、
    ベストエフォートパラメータとを備える、請求項15または16に記載の非一時的な機械読取可能な記憶媒体。
  18. 厳格なパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前であり、厳格な仮想レーンパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序は、ベストエフォートパラメータでマーキングされたパーティションに関連付けられるノードのパーティション化順序より前である、請求項17に記載の非一時的な機械読取可能な記憶媒体。
  19. 1つ以上のリニアフォワーディングテーブルを生成するステップは、
    前記複数のリーフスイッチの各々について、各ノードの前記パーティション化順序に従って前記複数のノードを順序付けるステップと、
    前記ノードの順序で前記複数のエンドノードをルーティングするステップとを備え、前記ルーティングするステップは、
    各ノードについて少なくとも1つの下りポートおよび少なくとも1つの上りポートを選択するステップを備える、請求項18に記載の非一時的な機械読取可能な記憶媒体。
  20. 前記ノードの順序で前記複数のエンドノードをルーティングするステップは、厳格なパラメータでマーキングされたパーティションに関連付けられるそれらのノードに対して厳格な分離を提供する、請求項19に記載の非一時的な機械読取可能な記憶媒体。
  21. 非一時的な機械読取可能な記憶媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、マルチテナントクラスタ環境においてネットワーク分離をサポートするためのプログラム命令を備え、前記プログラム命令は、実行されたときにシステムに請求項1〜7のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
JP2017554456A 2015-10-13 2016-09-09 マルチテナントクラスタ環境における効率的なネットワーク分離および負荷バランシングのためのシステムおよび方法 Active JP6752815B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562240986P 2015-10-13 2015-10-13
US62/240,986 2015-10-13
US201562242211P 2015-10-15 2015-10-15
US62/242,211 2015-10-15
US15/182,383 2016-06-14
US15/182,397 US10033647B2 (en) 2015-10-13 2016-06-14 System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US15/182,383 US10187310B2 (en) 2015-10-13 2016-06-14 System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US15/182,397 2016-06-14
PCT/US2016/050992 WO2017065905A1 (en) 2015-10-13 2016-09-09 System and method for efficient network isolation and load balancing in a multi-tenant cluster environment

Publications (3)

Publication Number Publication Date
JP2018537004A true JP2018537004A (ja) 2018-12-13
JP2018537004A5 JP2018537004A5 (ja) 2019-07-25
JP6752815B2 JP6752815B2 (ja) 2020-09-09

Family

ID=58499143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017554456A Active JP6752815B2 (ja) 2015-10-13 2016-09-09 マルチテナントクラスタ環境における効率的なネットワーク分離および負荷バランシングのためのシステムおよび方法

Country Status (5)

Country Link
US (8) US10033647B2 (ja)
EP (1) EP3362894B1 (ja)
JP (1) JP6752815B2 (ja)
CN (2) CN112260970B (ja)
WO (1) WO2017065905A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776207B2 (en) * 2011-02-16 2014-07-08 Fortinet, Inc. Load balancing in a network with session information
US10198288B2 (en) 2014-10-30 2019-02-05 Oracle International Corporation System and method for providing a dynamic cloud with subnet administration (SA) query caching
EP3213471B1 (en) * 2014-10-31 2018-08-29 Oracle International Corporation System and method for supporting partition-aware routing in a multi-tenant cluster environment
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
US10200308B2 (en) 2016-01-27 2019-02-05 Oracle International Corporation System and method for supporting a scalable representation of link stability and availability in a high performance computing environment
US11271870B2 (en) * 2016-01-27 2022-03-08 Oracle International Corporation System and method for supporting scalable bit map based P_Key table 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
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
EP3258382B1 (en) * 2016-06-14 2021-08-11 Arm Ltd A storage controller
CN108604199B (zh) * 2016-08-23 2022-08-23 甲骨文国际公司 计算环境中支持快速混合重新配置的系统和方法、介质
US10652102B2 (en) * 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
US10320654B2 (en) * 2017-07-12 2019-06-11 International Business Machines Corporation Method for remote node discovery and communication channel validation and connection
US10574755B2 (en) * 2018-03-28 2020-02-25 Wipro Limited Method and high performance computing (HPC) switch for optimizing distribution of data packets
CN109547470B (zh) * 2018-12-20 2020-10-27 北京交通大学 保护网络空间安全的电子隔离墙方法、装置及系统
CN110336759B (zh) * 2018-12-26 2022-04-26 锐捷网络股份有限公司 基于rdma的协议报文转发方法及装置
CN111526113B (zh) * 2019-02-02 2023-05-30 中兴通讯股份有限公司 协议处理方法及装置、存储介质
CN110381093B (zh) * 2019-09-03 2022-07-19 北京旷视科技有限公司 数据协议转换的方法、装置、数据传输的系统及电子设备
US11700206B2 (en) 2019-11-19 2023-07-11 Oracle International Corporation System and method for supporting RDMA bandwidth restrictions in a private fabric in a high performance computing environment
CN111181866B (zh) * 2019-12-21 2023-06-30 武汉迈威通信股份有限公司 一种基于端口隔离的端口汇聚方法及系统
CN113190167A (zh) * 2020-01-14 2021-07-30 伊姆西Ip控股有限责任公司 用于管理计算设备的方法、电子设备和计算机存储介质
CN112866367A (zh) * 2021-01-12 2021-05-28 优刻得科技股份有限公司 基于可编程交换机的路由系统
US11483234B2 (en) * 2021-03-03 2022-10-25 Cisco Technology, Inc. Predictive routing-based policy adjustments in software-defined networks
US20230024349A1 (en) * 2021-07-21 2023-01-26 Infinera Corp Data center interconnect

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130121149A1 (en) * 2011-11-15 2013-05-16 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
WO2013071330A1 (en) * 2011-11-16 2013-05-23 Cheok Francis Smart system and method for dynamic strategies in statistical arbitrage trading
WO2015020665A1 (en) * 2013-08-09 2015-02-12 Hewlett-Packard Development Company, L.P. Switch assembly
WO2015031371A1 (en) * 2013-08-27 2015-03-05 Oracle International Corporation System and method for providing a data service in an engineered system for middleware and application execution
WO2015130372A1 (en) * 2014-02-25 2015-09-03 Oracle International Corporation System and method for preventing denial of service (dos) attack on and for supporting reliable connection (rc) based on subnet administrator (sa) access in an engineered system for middleware and application execution
WO2016069927A1 (en) * 2014-10-31 2016-05-06 Oracle International Corporation System and method for supporting partition-aware routing in a multi-tenant cluster environment

Family Cites Families (63)

* 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
US7286544B2 (en) * 2002-07-25 2007-10-23 Brocade Communications Systems, Inc. Virtualized multiport switch
US7146499B2 (en) * 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US7360030B1 (en) * 2004-06-01 2008-04-15 Sanbolic, Inc. Methods and apparatus facilitating volume management
US7979771B2 (en) 2006-04-04 2011-07-12 Permabit Technology Corporation Erasure coding technique for scalable and fault tolerant storage system
US8670352B2 (en) * 2006-08-01 2014-03-11 Riverbed Technology, Inc. Link inference in large networks based on incomplete data
US8089904B2 (en) * 2006-08-01 2012-01-03 Opnet Technologies, Inc. Link inference in large networks based on incomplete data
US8156107B2 (en) * 2007-02-02 2012-04-10 Teradata Us, Inc. System and method for join-partitioning for local computability of query over shared-nothing clusters
US8200738B2 (en) * 2007-09-30 2012-06-12 Oracle America, Inc. Virtual cluster based upon operating system virtualization
US9071608B2 (en) * 2008-04-28 2015-06-30 International Business Machines Corporation Method and apparatus for load balancing in network based telephony application
US20130129068A1 (en) * 2009-03-02 2013-05-23 Twilio, Inc. Method and system for a multitenancy telephone network
US20130029169A1 (en) 2010-03-30 2013-01-31 Merck Patent Gesellschaft Mit Beschrankter Haftung Method for producing multicoloured coatings
US8385356B2 (en) * 2010-03-31 2013-02-26 International Business Machines Corporation Data frame forwarding using a multitiered distributed virtual bridge hierarchy
US9007895B2 (en) * 2010-04-30 2015-04-14 Hewlett-Packard Development Company, L.P. Method for routing data packets in a fat tree network
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US8762323B2 (en) * 2011-02-10 2014-06-24 Nec Laboratories America, Inc. Replica based load balancing in multitenant databases
US8793684B2 (en) * 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
US9270650B2 (en) * 2011-06-03 2016-02-23 Oracle International Corporation System and method for providing secure subnet management agent (SMA) in an infiniband (IB) network
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
US8601000B1 (en) * 2011-06-27 2013-12-03 Amazon Technologies, Inc. System and method for conditionally updating an item with attribute granularity
US8572091B1 (en) * 2011-06-27 2013-10-29 Amazon Technologies, Inc. System and method for partitioning and indexing table data using a composite primary key
US9052831B1 (en) * 2011-06-30 2015-06-09 Amazon Technologies, Inc. System and method for performing live partitioning in a data store
US8732517B1 (en) * 2011-06-30 2014-05-20 Amazon Technologies, Inc. System and method for performing replica copying using a physical copy mechanism
US8671407B2 (en) * 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
WO2013020126A1 (en) * 2011-08-04 2013-02-07 Midokura Pte. Ltd. System and method for implementing and managing virtual networks
US10200493B2 (en) 2011-10-17 2019-02-05 Microsoft Technology Licensing, Llc High-density multi-tenant distributed cache as a service
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
US8879396B2 (en) * 2011-11-15 2014-11-04 Oracle International Corporation System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
US8751650B2 (en) * 2012-05-10 2014-06-10 Cisco Technology, Inc. Method and apparatus for supporting access control lists in a multi-tenant environment
US8805990B2 (en) * 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
CN103227757B (zh) * 2012-08-31 2016-12-28 杭州华三通信技术有限公司 一种报文转发方法及设备
US10460270B2 (en) 2012-09-12 2019-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing cross-organizational processing of business intelligence metrics
US9356886B2 (en) * 2012-10-05 2016-05-31 Cisco Technology, Inc. Techniques for scalable and foolproof virtual machine move handling with virtual port channels
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
US9276866B2 (en) * 2012-11-30 2016-03-01 Microsoft Technology Licensing, Llc Tuning congestion notification for data center networks
TW201438471A (zh) * 2013-03-20 2014-10-01 Hon Hai Prec Ind Co Ltd 資料傳輸方法
US9495395B2 (en) 2013-04-11 2016-11-15 Oracle International Corporation Predictive diagnosis of SLA violations in cloud services by seasonal trending and forecasting with thread intensity analytics
CN103269282A (zh) 2013-04-25 2013-08-28 杭州华三通信技术有限公司 网络配置自动部署方法和装置
US9055095B2 (en) * 2013-06-14 2015-06-09 Microsoft Technology Licensing, Llc DOS detection and mitigation in a load balancer
US9325636B2 (en) * 2013-06-14 2016-04-26 Cisco Technology, Inc. Scaling interconnected IP fabric data centers
US9392079B2 (en) 2013-07-19 2016-07-12 International Business Machines Corporation Directory service discovery and/or learning
US9203765B2 (en) * 2013-08-30 2015-12-01 Cisco Technology, Inc. Flow based network service insertion using a service chain identifier
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
US9621511B2 (en) * 2013-09-10 2017-04-11 Arista Networks, Inc. Method and system for auto-provisioning network devices in a data center using network device location in network topology
US9405568B2 (en) * 2013-09-13 2016-08-02 Microsoft Technology Licensing, Llc Multi-tenant network stack
US9917797B2 (en) * 2013-10-01 2018-03-13 Arista Networks, Inc. Method and system for managing switch workloads in a cluster
US9397946B1 (en) * 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9876711B2 (en) * 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
CN105981330A (zh) * 2013-11-06 2016-09-28 瑞典爱立信有限公司 实现网络虚拟化覆盖架构中的负载均衡
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策系统及切换方法
US9225597B2 (en) * 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
CN104954265B (zh) 2014-03-25 2018-06-15 华为技术有限公司 发送组播报文的方法及交换机
JP6387777B2 (ja) * 2014-06-13 2018-09-12 富士通株式会社 評価プログラム、評価方法、および評価装置
CN105207798B (zh) * 2014-06-26 2020-03-13 中兴通讯股份有限公司 软件定义网络中的业务编排方法及装置
US9401858B2 (en) * 2014-06-30 2016-07-26 Cisco Technology, Inc. Loop avoidance during network convergence in switched networks
US9774537B2 (en) * 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
CN104394130B (zh) * 2014-11-12 2017-07-25 国云科技股份有限公司 一种多租户虚拟网络隔离方法
US9628334B2 (en) * 2014-12-19 2017-04-18 Cisco Technology, Inc. VLAN tagging in a virtual environment
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US9634893B2 (en) * 2015-07-21 2017-04-25 Cisco Technology, Inc. Auto-provisioning edge devices in a communication network using control plane communications
US9871731B2 (en) * 2015-09-30 2018-01-16 Microsoft Technology Licensing, Llc Data plane manipulation in a load balancer
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130121149A1 (en) * 2011-11-15 2013-05-16 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
WO2013071330A1 (en) * 2011-11-16 2013-05-23 Cheok Francis Smart system and method for dynamic strategies in statistical arbitrage trading
WO2015020665A1 (en) * 2013-08-09 2015-02-12 Hewlett-Packard Development Company, L.P. Switch assembly
WO2015031371A1 (en) * 2013-08-27 2015-03-05 Oracle International Corporation System and method for providing a data service in an engineered system for middleware and application execution
WO2015130372A1 (en) * 2014-02-25 2015-09-03 Oracle International Corporation System and method for preventing denial of service (dos) attack on and for supporting reliable connection (rc) based on subnet administrator (sa) access in an engineered system for middleware and application execution
WO2016069927A1 (en) * 2014-10-31 2016-05-06 Oracle International Corporation System and method for supporting partition-aware routing in a multi-tenant cluster environment

Also Published As

Publication number Publication date
US20200259749A1 (en) 2020-08-13
US20190149473A1 (en) 2019-05-16
US20180343202A1 (en) 2018-11-29
US10616117B2 (en) 2020-04-07
CN107533486B (zh) 2020-11-10
US11677667B2 (en) 2023-06-13
CN112260970A (zh) 2021-01-22
EP3362894A1 (en) 2018-08-22
US10033647B2 (en) 2018-07-24
US20230308393A1 (en) 2023-09-28
CN107533486A (zh) 2018-01-02
JP6752815B2 (ja) 2020-09-09
US11102128B2 (en) 2021-08-24
WO2017065905A1 (en) 2017-04-20
US20220109631A1 (en) 2022-04-07
US20200195559A1 (en) 2020-06-18
EP3362894B1 (en) 2020-12-09
US20170104682A1 (en) 2017-04-13
CN112260970B (zh) 2022-09-06
US20170104817A1 (en) 2017-04-13
US11356370B2 (en) 2022-06-07
US10187310B2 (en) 2019-01-22
US10673762B2 (en) 2020-06-02

Similar Documents

Publication Publication Date Title
JP6752815B2 (ja) マルチテナントクラスタ環境における効率的なネットワーク分離および負荷バランシングのためのシステムおよび方法
KR102340683B1 (ko) 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법
JP6541768B2 (ja) 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法
JP2022153494A (ja) 無損失ネットワークにおける効率的な仮想化のためのシステムおよび方法
CN108400922B (zh) 虚拟局域网络配置系统与方法及其计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200819

R150 Certificate of patent or registration of utility model

Ref document number: 6752815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250