JP2022518451A - 高性能コンピューティング環境における複数の独立したレイヤ2(l2)サブネットにわたる単一の論理ipサブネットのためのシステムおよび方法 - Google Patents

高性能コンピューティング環境における複数の独立したレイヤ2(l2)サブネットにわたる単一の論理ipサブネットのためのシステムおよび方法 Download PDF

Info

Publication number
JP2022518451A
JP2022518451A JP2021541146A JP2021541146A JP2022518451A JP 2022518451 A JP2022518451 A JP 2022518451A JP 2021541146 A JP2021541146 A JP 2021541146A JP 2021541146 A JP2021541146 A JP 2021541146A JP 2022518451 A JP2022518451 A JP 2022518451A
Authority
JP
Japan
Prior art keywords
address
fabric
subnet
switch
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021541146A
Other languages
English (en)
Other versions
JPWO2020160034A5 (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
Priority claimed from US16/261,362 external-priority patent/US11102108B2/en
Priority claimed from US16/267,072 external-priority patent/US10992538B2/en
Priority claimed from US16/547,329 external-priority patent/US11336716B2/en
Priority claimed from US16/547,332 external-priority patent/US11411860B2/en
Priority claimed from US16/547,335 external-priority patent/US11356327B2/en
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2022518451A publication Critical patent/JP2022518451A/ja
Publication of JPWO2020160034A5 publication Critical patent/JPWO2020160034A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムおよび方法。ある方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、論理デバイスを提供することができ、上記論理デバイスは、レイヤ3アドレスによってアドレス指定され、上記論理デバイスは、複数のネットワークアダプタを含み、上記ネットワークアダプタの各々は、物理ポートを含み、上記方法はさらに、複数のスイッチを提供することができる。本方法は、複数のスイッチを複数の別個のレイヤ2サブネットに配置することができる。本方法は、論理デバイスにおいてマッピングテーブルを提供することができる。

Description

著作権表示
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権保有者は、この特許文献または特許開示の、それが特許商標庁の特許ファイルまたは記録に現れているとおりの、何人による複写複製にも異議を唱えないが、それ以外の場合にはすべての著作権をどのようなものであろうと所有する。
優先権の主張および関連出願への相互参照
本出願は、2019年8月21日に出願された出願番号第16/547,335号の「SYSTEM AND METHOD FOR A SINGLE LOGICAL IP SUBNET ACROSS MULTIPLE INDEPENDENT LAYER 2 (L2) SUBNETS IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境における複数の独立したレイヤ2(L2)サブネットにわたる単一の論理IPサブネットのためのシステムおよび方法)」と題される米国特許出願に対する優先権の利益を主張し、本出願はまた、2019年1月29日に出願された出願番号第16/261,362号の「SYSTEM AND METHOD FOR A MULTICAST SEND DUPLICATION INSTEAD OF REPLICATION IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境における複製の代わりのマルチキャスト送信複製のためのシステムおよび方法)」と題される米国特許出願に対する優先権の利益を主張し、本出願はまた、2019年8月21日に出願された出願番号第16/547,332号の「SYSTEM AND METHOD FOR ON-DEMAND UNICAST FORWARDING IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境におけるオンデマンドユニキャスト転送のためのシステムおよび方法)」と題される米国特許出願に対する優先権の利益を主張し、本出願はまた、2019年2月4日に出願された出願番号第16/267,072号の「SYSTEM AND METHOD FOR USING INFINIBAND ROUTING ALGORITHMS FOR ETHERNET FABRICS IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境においてイーサネットファブリックにインフィニバンドルーティングアルゴリズムを用いるためのシステムおよび方法)」と題される米国特許出願に対する優先権の利益を主張し、本出願はまた、2019年8月21日に出願された出願番号第16/547,329号の「SYSTEM AND METHOD FOR SUPPORTING HETEROGENEOUS AND ASYMMETRIC DUAL RAIL FABRIC CONFIGURATIONS IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法)」と題される米国特許出願に対する優先権の利益を主張し、それらの各々の全体をここに引用により援用する。
本出願は以下の出願に関連し、それらの各々はそれらの全体が引用により援用される:2017年8月31日に提出された米国仮特許出願第62/552,818号;2018年6月1日に提出された米国仮特許出願第62/679,465号;2018年8月28日に提出された米国特許出願第16/115、138号;2018年6月1日に提出された米国仮特許出願第62/679,469号;2018年6月1日に提出された米国仮特許出願第62/679,478号;および2018年6月1日に提出された米国仮特許出願第62/679,491号。
背景
より大きなクラウドコンピューティングアーキテクチャが導入されるにつれ、従来のネットワークおよびストレージに関連する性能ならびに管理ボトルネックが重大な問題となってきた。クラウドコンピューティングファブリックの基礎として、インフィニバンド(IB)およびRoCE(RDMA(リモートダイレクトメモリアクセス) over Converged Ethernet(登録商標))技術のような高性能相互接続を用いることに対する関心が高まっている。これは、本教示の実施形態が対処することが意図される一般的な領域である。
概要:
高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法。ある方法は、1つまたは複数のマイクロプロセッサを各々が含む1つまたは複数のコンピュータにおいて、複数のホストを含み、複数のホストの各々は少なくとも1つのデュアルポートアダプタを含み、さらに、2つ以上のスイッチを含むプライベートファブリックと、クラウドファブリックを含むパブリックファブリックとを含むことを提供し得る。複数のホストのうちのあるホストにおいて、作業負荷をプロビジョニングすることができる。プロビジョニングされた作業負荷に配置ポリシーを割り当てることができる。次いで、プロビジョニングされた作業負荷のピアノード間のネットワークトラフィックを、配置ポリシーに従って、プライベートファブリックおよびパブリックファブリックのうちの1つまたは複数に割り当てることができる。
高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムおよび方法。ある方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、論理デバイスを提供することができ、上記論理デバイスは、レイヤ3アドレスによってアドレス指定され、上記論理デバイスは、複数のネットワークアダプタを含み、上記ネットワークアダプタの各々は、物理ポートを含み、上記方法はさらに、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、複数のスイッチを提供することができる。本方法は、複数のスイッチを複数の別個のレイヤ2サブネットに配置することができる。本方法は、論理デバイスにおいてマッピングテーブルを提供することができる。
本発明の特定の態様は、独立請求項に記載されており、さまざまな任意選択の実施形態が従属請求項に記載される。
一実施形態に従うインフィニバンド環境の一例を示す図である。 一実施形態に従う分割されたクラスタ環境の一例を示す図である。 一実施形態に従うネットワーク環境におけるツリートポロジーの一例を示す図である。 一実施形態に従う例示的な共有ポートアーキテクチャを示す図である。 一実施形態に従う例示的なvSwitchアーキテクチャを示す図である。 一実施形態に従う例示的なvPortアーキテクチャを示す図である。 一実施形態に従うLIDが予めポピュレートされている例示的なvSwitchアーキテクチャを示す図である。 一実施形態に従う動的LID割当てがなされた例示的なvSwitchアーキテクチャを示す図である。 一実施形態に従う、vSwitchに動的LID割当てがなされかつLIDが予めポピュレートされている、例示的なvSwitchアーキテクチャを示す図である。 一実施形態に従う例示的なマルチサブネットインフィニバンドファブリックを示す図である。 一実施形態に従う、高性能コンピューティング環境における2つのサブネット間の相互接続を示す図である。 一実施形態に従う、高性能コンピューティング環境におけるデュアルポート仮想ルータ構成を介した2つのサブネット間の相互接続を示す図である。 一実施形態に従う、高性能コンピューティング環境においてデュアルポート仮想ルータをサポートする方法のフローチャートを示す図である。 一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。 一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。 一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。 一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。 高性能コンピューティング環境における冗長独立ネットワークのための方法のフローチャートである。 一実施形態による、高性能コンピューティング環境における正しい接続性のためにレール番号関連付けをサポートするためのシステムを示す。 一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。 一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。 一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。 異種および非対称のデュアルレールファブリック構成をサポートするためのシステム内で、プロビジョニングされた作業負荷またはプロビジョニングされている作業負荷に対して配置ポリシーを決定するための方法のフローチャートである。 一実施形態による、プロビジョニングされた作業負荷またはプロビジョニングされている作業負荷に対してファブリックタイプの選択を決定するための方法のフローチャートである。 一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするための方法のフローチャートである。 一実施形態による、高性能コンピューティング環境における複製の代わりのマルチキャスト送信複製のためのシステムを示す。 高性能コンピューティング環境における複製の代わりのマルチキャスト送信複製のための方法のフローチャートである。 一実施形態によるリンクアグリゲーション(LAG)をサポートするためのシステムを示す。 一実施形態による、マルチシャーシリンクアグリゲーション(MLAG)をサポートするためのシステムを示す。 一実施形態による、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムを示す。 一実施形態による、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための方法のフローチャートである。
詳細な説明:
本教示は、同様の参照番号が同様の要素を指している添付図面の図において、限定のためではなく例示のために説明されている。なお、この開示における「ある」または「1つの」または「いくつかの」実施形態への参照は必ずしも同じ実施形態に対するものではなく、そのような参照は少なくとも1つを意味する。特定の実現例が説明されるが、これらの特定の実現例が例示的な目的のためにのみ提供されることが理解される。当業者であれば、他の構成要素および構成が、特許請求される主題の範囲および精神から逸脱することなく使用され得ることを認識するであろう。
図面および詳細な説明全体にわたって同様の要素を示すために、共通の参照番号が使用され得る。したがって、ある図で使用される参照番号は、要素が別のところで説明される場合、そのような図に特有の詳細な説明において参照される場合もあり、または参照されない場合もある。
一実施形態によると、高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法が本明細書で説明される。
一実施形態によれば、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするシステムおよび方法が本明細書で説明される。
いくつかの実施例において、この教示の以下の説明は、高性能ネットワークの一例として、インフィニバンドTM(IB)ネットワークを使用する。以下の説明全体にわたり、インフィニバンドTMの仕様(インフィニバンド仕様、IB仕様、またはレガシーIB仕様など、さまざまな呼ばれ方がある)を引用することがある。このような引用は、2015年3月に発表され、http://www.inifinibandta.orgから入手可能な、本明細書にその全体を引用により援用するInfiniBand Trade Association Architecture Specification, Volume 1, Version 1.3を引用することであると理解される。他のタイプの高性能ネットワークが何ら限定されることなく使用され得ることが、当業者には明らかであるだろう。以下の説明ではまた、ファブリックトポロジーについての一例として、ファットツリートポロジーを使用する。他のタイプのファブリックトポロジーが何ら限定されることなく使用され得ることが当業者には明らかであるだろう。
いくつかの他の実施形態では、以下の説明は、RoCE(RDMA(リモートダイレクトメモリアクセス) over Converged Ethernet)を用いる。RDMA over Converged Ethernet(RoCE)は、イーサネット(登録商標)ネットワーク上でRDMAの効率的なデータ転送を可能にして、ハードウェアRDMAエンジン実現を伴うトランスポートオフロードおよび優れた性能を可能にする標準プロトコルである。RoCEは、InfiniBand Trade Association (IBTA)規格で規定されている標準プロトコルである。RoCEは、UDP(ユーザデータグラムプロトコル)カプセル化を利用して、それがレイヤ3ネットワークを越えることができるようにする。RDMAは、インフィニバンド相互接続技術によってネイティブに用いられる鍵となる能力である。インフィニバンドおよびイーサネットRoCEは両方とも、共通のユーザAPIを共有するが、異なる物理層およびリンク層を有する。
一実施形態によれば、本明細書のさまざまな部分は、さまざまな実現例を説明する際にインフィニバンドファブリックへの言及を含むが、当業者は、本明細書で説明されるさまざまな実施形態がRoCEファブリックにおいても実現され得ることを容易に理解するであろう。
今の時代(たとえばエクサスケール(exascale)時代)のクラウドの要求を満たすためには、仮想マシンが、リモートダイレクトメモリアクセス(Remote Direct Memory Access:RDMA)等の低オーバーヘッドのネットワーク通信パラダイムを利用できることが望ましい。RDMAはOSスタックをバイパスしハードウェアと直接通信するため、シングルルートI/O仮想化(SR-IOV)ネットワークアダプタのようなパス・スルー技術を使用することができる。一実施形態に従うと、仮想スイッチ(vSwitch)SR-IOVアーキテクチャを、高性能無損失相互接続ネットワークに適用することができる。ネットワーク再構成時間はライブマイグレーションを現実的な選択肢にするために重要なので、ネットワークアーキテクチャに加えて、スケーラブルでありトポロジーに依存しない動的再構成機構を提供することができる。
一実施形態に従い、さらに、vSwitchを使用する仮想化環境に対するルーティングストラテジーを提供することができ、ネットワークトポロジー(たとえばファットツリートポロジー)に対する効率的なルーティングアルゴリズムを提供することができる。動的再構成機構をさらに調整することにより、ファットツリーに課されるオーバーヘッドを最小にすることができる。
本教示の一実施形態に従うと、仮想化は、クラウドコンピューティングにおける効率的なリソースの利用および柔軟なリソースの割当てにとって有益になり得る。ライブマイグレーションは、アプリケーションにとってトランスペアレントになるように物理サーバ間で仮想マシン(VM)を移動させることでリソースの利用を最適化することを可能にする。このように、仮想化は、ライブマイグレーションにより、コンソリデーション、リソースのオンデマンドプロビジョニング、および柔軟性を可能にする。
インフィニバンドTM
インフィニバンドTM(IB)は、インフィニバンドTM・トレード・アソシエーション(InfiniBandTM Trade Association)によって開発されたオープン標準無損失ネットワーク技術である。この技術は、特に高性能コンピューティング(high-performance computing:HPC)アプリケーションおよびデータセンタを対象とする、高スループットおよび少ない待ち時間の通信を提供するシリアルポイントツーポイント全二重相互接続(serial point-to-point full-duplex interconnect)に基づいている。
インフィニバンドTM・アーキテクチャ(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から通知を受信することができる。
一実施形態に従うと、IBネットワークにおけるサブネット内のルーティングは、スイッチに格納されたリニアフォワーディングテーブル(linear forwarding table)(LFT)に基づき得る。LFTは、使用中のルーティングメカニズムに従って、SMによって計算される。サブネットでは、エンドノード上のホストチャネルアダプタ(Host Channel Adapter:HCA)ポートおよびスイッチが、ローカル識別子(LID)を使用してアドレス指定される。LFTにおける各エントリは、宛先LID(destination LID:DLID)と出力ポートとからなる。テーブルにおけるLIDごとに1つのエントリのみがサポートされる。パケットがあるスイッチに到着すると、その出力ポートは、そのスイッチのフォワーディングテーブルにおいてDLIDを検索することによって判断される。所与の送信元-宛先ペア(LIDペア)間のネットワークにおいてパケットは同じ経路を通るため、ルーティングは決定論的である。
一般に、マスタサブネットマネージャを除く他のすべてのサブネットマネージャは、耐故障性のために待機モードで作動する。しかしながら、マスタサブネットマネージャが故障した状況では、待機中のサブネットマネージャによって、新しいマスタサブネットマネージャが取り決められる。マスタサブネットマネージャはまた、サブネットの周期的なスイープ(sweep)を行なってあらゆるトポロジー変化を検出し、それに応じてネットワークを再構成する。
さらに、サブネット内のホストおよびスイッチは、ローカル識別子(LID)を用いてアドレス指定され得るとともに、単一のサブネットは49151個のユニキャストLIDに制限され得る。サブネット内で有効なローカルアドレスであるLIDの他に、各IBデバイスは、64ビットのグローバル一意識別子(global unique identifier:GUID)を有し得る。GUIDは、IBレイヤ3(L3)アドレスであるグローバル識別子(global identifier:GID)を形成するために使用され得る。
SMは、ネットワーク初期化時間に、ルーティングテーブル(すなわち、サブネット内のノードの各ペア間の接続/ルート)を計算し得る。さらに、トポロジーが変化するたびに、ルーティングテーブルは、接続性および最適性能を確実にするために更新され得る。通常動作中、SMは、トポロジー変化をチェックするためにネットワークの周期的なライトスイープ(light sweep)を実行し得る。ライトスイープ中に変化が発見された場合、または、ネットワーク変化を信号で伝えるメッセージ(トラップ)をSMが受信した場合、SMは、発見された変化に従ってネットワークを再構成し得る。
たとえば、SMは、リンクがダウンした場合、デバイスが追加された場合、またはリンクが除去された場合など、ネットワークトポロジーが変化する場合に、ネットワークを再構成し得る。再構成ステップは、ネットワーク初期化中に行なわれるステップを含み得る。さらに、再構成は、ネットワーク変化が生じたサブネットに制限されるローカルスコープを有し得る。また、ルータを用いる大規模ファブリックのセグメント化は、再構成スコープを制限し得る。
一実施形態に従うインフィニバンド環境100の一例を示す図1に、インフィニバンドファブリックの一例を示す。図1に示す例では、ノードA101~E105は、インフィニバンドファブリック120を使用して、それぞれのホストチャネルアダプタ111~115を介して通信する。一実施形態に従うと、さまざまなノード(たとえばノードA101~E105)はさまざまな物理デバイスによって表わすことができる。一実施形態に従うと、さまざまなノード(たとえばノードA101~E105)は仮想マシンなどのさまざまな仮想デバイスによって表わすことができる。
インフィニバンドにおけるパーティショニング
一実施形態に従うと、IBネットワークは、ネットワークファブリックを共有するシステムの論理グループを分離するためのセキュリティメカニズムとしてのパーティショニングをサポートし得る。ファブリックにおけるノード上の各HCAポートは、1つ以上のパーティションのメンバである可能性がある。パーティションメンバーシップは、SMの一部であり得る集中型パーティションマネージャによって管理される。SMは、各ポートに関するパーティションメンバーシップ情報を、16ビットのパーティションキー(partition key:P_Key)のテーブルとして構成することができる。SMはまた、これらのポートを介してデータトラフィックを送信または受信するエンドノードに関連付けられたP_Key情報を含むパーティション実施テーブルを用いて、スイッチポートおよびルータポートを構成することができる。加えて、一般的な場合には、スイッチポートのパーティションメンバーシップは、(リンクに向かう)出口方向に向かってポートを介してルーティングされたLIDに間接的に関連付けられたすべてのメンバーシップの集合を表わし得る。
一実施形態に従うと、パーティションはポートの論理グループであり、あるグループのメンバは同じ論理グループの他のメンバとしか通信できない。ホストチャネルアダプタ(HCA)およびスイッチにおいて、パーティションメンバーシップ情報を用いてパケットをフィルタリングすることにより、分離を実施することができる。無効なパーティショニング情報を有するパケットは、当該パケットが入口ポートに達すると直ちにドロップすることができる。パーティショニングされたIBシステムにおいて、パーティションを用いることにより、テナントクラスタを作成できる。パーティションを適所で実施すると、ノードは異なるテナントクラスタに属する他のノードと通信することができない。このようにして、欠陥があるまたは悪意があるテナントノードが存在していても、システムのセキュリティを保証することができる。
一実施形態に従うと、ノード間の通信のために、マネージメントキューペア(QP0およびQP1)を除き、キューペア(Queue Pair:QP)およびエンドツーエンドコンテキスト(End-to-End context:EEC)を特定のパーティションに割当てることができる。次に、P_Key情報を、送信されたすべてのIBトランスポートパケットに追加することができる。パケットがHCAポートまたはスイッチに到着すると、そのP_Key値を、SMによって構成されたテーブルに対して確認することができる。無効のP_Key値が見つかった場合、そのパケットは直ちに廃棄される。このようにして、通信は、パーティションを共有するポート間でのみ許可される。
一実施形態に従い、パーティショニングされたクラスタ環境の一例を示す図2に、IBパーティションの一例が示される。図2に示す例では、ノードA101~E105は、インフィニバンドファブリック120を使用して、それぞれのホストチャネルアダプタ111~115を介して通信する。ノードA~Eは、パーティション、すなわち、パーティション1 130、パーティション2 140、およびパーティション3 150に配置されている。パーティション1はノードA 101とノードD 104とを含む。パーティション2はノードA 101とノードB 102とノードC 103とを含む。パーティション3はノードC 103とノードE 105とを含む。パーティションのこの配置により、ノードD 104およびノードE 105は、1つのパーティションを共有していないので、通信することができない。一方、たとえばノードA 101およびノードC 103は、どちらもパーティション2 140のメンバなので、通信することができる。
インフィニバンドにおける仮想マシン
過去10年の間に、ハードウェア仮想化サポートによってCPUオーバーヘッドが実質的に排除され、メモリ管理ユニットを仮想化することによってメモリオーバーヘッドが著しく削減され、高速SANストレージまたは分散型ネットワークファイルシステムの利用によってストレージオーバーヘッドが削減され、シングルルートI/O仮想化(Single Root Input/Output Virtualization:SR-IOV)のようなデバイス・パススルー技術を使用することによってネットワークI/Oオーバーヘッドが削減されてきたことに応じて、仮想化された高性能コンピューティング(High Performance Computing:HPC)環境の将来の見通しが大幅に改善されてきた。現在では、クラウドが、高性能相互接続ソリューションを用いて仮想HPC(virtual HPC:vHPC)クラスタに対応し、必要な性能を提供することができる。
しかしながら、インフィニバンド(IB)などの無損失ネットワークと連結されたとき、仮想マシン(VM)のライブマイグレーションなどのいくつかのクラウド機能は、これらのソリューションにおいて用いられる複雑なアドレス指定およびルーティングスキームのせいで、依然として問題となる。IBは、高帯域および低レイテンシを提供する相互接続ネットワーク技術であり、このため、HPCおよび他の通信集約型の作業負荷に非常によく適している。
IBデバイスをVMに接続するための従来のアプローチは直接割当てされたSR-IOVを利用することによるものである。しかしながら、SR-IOVを用いてIBホストチャネルアダプタ(HCA)に割当てられたVMのライブマイグレーションを実現することは難易度の高いものであることが判明した。各々のIBが接続されているノードは、3つの異なるアドレス(すなわちLID、GUIDおよびGID)を有する。ライブマイグレーションが発生すると、これらのアドレスのうち1つ以上が変化する。マイグレーション中のVM(VM-in-migration)と通信する他のノードは接続性を失う可能性がある。これが発生すると、IBサブネットマネージャ(Subnet Manager:SM)にサブネット管理(Subnet Administration:SA)経路記録クエリを送信することによって、再接続すべき仮想マシンの新しいアドレスを突きとめることにより、失われた接続を回復させるように試みることができる。
IBは3つの異なるタイプのアドレスを用いる。第1のタイプのアドレスは16ビットのローカル識別子(LID)である。少なくとも1つの固有のLIDは、SMによって各々のHCAポートおよび各々のスイッチに割当てられる。LIDはサブネット内のトラフィックをルーティングために用いられる。LIDが16ビット長であるので、65536個の固有のアドレス組合せを構成することができ、そのうち49151個(0×0001-0×BFFF)だけをユニキャストアドレスとして用いることができる。結果として、入手可能なユニキャストアドレスの数は、IBサブネットの最大サイズを定義することとなる。第2のタイプのアドレスは、製造業者によって各々のデバイス(たとえば、HCAおよびスイッチ)ならびに各々のHCAポートに割当てられた64ビットのグローバル一意識別子(GUID)である。SMは、HCAポートに追加のサブネット固有GUIDを割当ててもよく、これは、SR-IOVが用いられる場合に有用となる。第3のタイプのアドレスは128ビットのグローバル識別子(GID)である。GIDは有効なIPv6ユニキャストアドレスであり、少なくとも1つが各々のHCAポートに割当てられている。GIDは、ファブリックアドミニストレータによって割当てられたグローバルに固有の64ビットプレフィックスと各々のHCAポートのGUIDアドレスとを組合わせることによって形成される。
ファットツリー(FTree)トポロジーおよびルーティング
一実施形態に従うと、IBベースのHPCシステムのいくつかは、ファットツリートポロジーを採用して、ファットツリーが提供する有用な特性を利用する。これらの特性は、各送信元宛先ペア間の複数経路の利用可能性に起因する、フルバイセクション帯域幅および固有の耐故障性を含む。ファットツリーの背後にある初期の概念は、ツリーがトポロジーのルート(root)に近づくにつれて、より利用可能な帯域幅を用いて、ノード間のより太いリンクを採用することであった。より太いリンクは、上位レベルのスイッチにおける輻輳を回避するのに役立てることができ、バイセクション帯域幅が維持される。
図3は、一実施形態に従う、ネットワーク環境におけるツリートポロジーの例を示す。図3に示すように、ネットワークファブリック200において、1つ以上のエンドノード201~204が接続され得る。ネットワークファブリック200は、複数のリーフスイッチ211~214と複数のスパインスイッチまたはルート(root)スイッチ231~234とを含むファットツリートポロジーに基づき得る。加えて、ネットワークファブリック200は、スイッチ221~224などの1つ以上の中間スイッチを含み得る。
また、図3に示すように、エンドノード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を、他の機能的経路と同じやり方で生成する場合、問題が生じる。この動作は、リンク上でバランシングを劣化させるおそれがある。なぜなら、ノードが索引付けの順序でルーティングされているからである。パーティションに気づかずにルーティングが行なわれるため、ファットツリーでルーティングされたサブネットにより、概して、パーティション間の分離が不良なものとなる。
一実施形態に従うと、ファットツリーは、利用可能なネットワークリソースでスケーリングすることができる階層ネットワークトポロジーである。さらに、ファットツリーは、さまざまなレベルの階層に配置された商品スイッチを用いて容易に構築される。さらに、k-ary-n-tree、拡張された一般化ファットツリー(Extended Generalized Fat-Tree:XGFT)、パラレルポート一般化ファットツリー(Parallel Ports Generalized Fat-Tree:PGFT)およびリアルライフファットツリー(Real Life Fat-Tree:RLFT)を含むファットツリーのさまざまな変形例が、一般に利用可能である。
また、k-ary-n-treeは、nレベルのファットツリーであって、kエンドノードと、n・kn-1スイッチとを備え、各々が2kポートを備えている。各々のスイッチは、ツリーにおいて上下方向に同数の接続を有している。XGFTファットツリーは、スイッチのための異なる数の上下方向の接続と、ツリーにおける各レベルでの異なる数の接続とをともに可能にすることによって、k-ary-n-treeを拡張させる。PGFT定義はさらに、XGFTトポロジーを拡張して、スイッチ間の複数の接続を可能にする。多種多様なトポロジーはXGFTおよびPGFTを用いて定義することができる。しかしながら、実用化するために、現代のHPCクラスタにおいて一般に見出されるファットツリーを定義するために、PGFTの制限バージョンであるRLFTが導入されている。RLFTは、ファットツリーにおけるすべてのレベルに同じポートカウントスイッチを用いている。
入出力(I/O)仮想化
一実施形態に従うと、I/O仮想化(I/O Virtualization:IOV)は、基礎をなす物理リソースに仮想マシン(VM)がアクセスすることを可能にすることによって、I/Oを利用可能にすることができる。ストレージトラフィックとサーバ間通信とを組合わせると、シングルサーバのI/Oリソースにとって抗し難い高い負荷が課され、結果として、データの待機中に、バックログが発生し、プロセッサがアイドル状態になる可能性がある。I/O要求の数が増えるにつれて、IOVにより利用可能性をもたらすことができ、最新のCPU仮想化において見られる性能レベルに匹敵するように、(仮想化された)I/Oリソースの性能、スケーラビリティおよび融通性を向上させることができる。
一実施形態に従うと、I/Oリソースの共有を可能にして、VMからリソースへのアクセスが保護されることを可能にし得るようなIOVが所望される。IOVは、VMにエクスポーズされる論理装置を、その物理的な実装から分離する。現在、エミュレーション、準仮想化、直接的な割当て(direct assignment:DA)、およびシングルルートI/O仮想化(SR-IOV)などのさまざまなタイプのIOV技術が存在し得る。
一実施形態に従うと、あるタイプのIOV技術としてソフトウェアエミュレーションがある。ソフトウェアエミュレーションは分離されたフロントエンド/バックエンド・ソフトウェアアーキテクチャを可能にし得る。フロントエンドはVMに配置されたデバイスドライバであり得、I/Oアクセスをもたらすためにハイパーバイザによって実現されるバックエンドと通信し得る。物理デバイス共有比率は高く、VMのライブマイグレーションはネットワークダウンタイムのわずか数ミリ秒で実現可能である。しかしながら、ソフトウェアエミュレーションはさらなる不所望な計算上のオーバーヘッドをもたらしてしまう。
一実施形態に従うと、別のタイプのIOV技術として直接的なデバイスの割当てがある。直接的なデバイスの割当てでは、I/OデバイスをVMに連結する必要があるが、デバイスはVM間では共有されない。直接的な割当てまたはデバイス・パススルーは、最小限のオーバーヘッドでほぼ固有の性能を提供する。物理デバイスはハイパーバイザをバイパスし、直接、VMに取付けられている。しかしながら、このような直接的なデバイスの割当ての欠点は、仮想マシン間で共有がなされないため、1枚の物理ネットワークカードが1つのVMと連結されるといったように、スケーラビリティが制限されてしまうことである。
一実施形態に従うと、シングルルートIOV(Single Root IOV:SR-IOV)は、ハードウェア仮想化によって、物理装置がその同じ装置の複数の独立した軽量のインスタンスとして現われることを可能にし得る。これらのインスタンスは、パス・スルー装置としてVMに割当てることができ、仮想機能(Virtual Function:VF)としてアクセスすることができる。ハイパーバイザは、(1つのデバイスごとに)固有の、十分な機能を有する物理機能(Physical Function:PF)によってデバイスにアクセスする。SR-IOVは、純粋に直接的に割当てする際のスケーラビリティの問題を軽減する。しかしながら、SR-IOVによって提示される問題は、それがVMマイグレーションを損なう可能性があることである。これらのIOV技術の中でも、SR-IOVは、ほぼ固有の性能を維持しながらも、複数のVMから単一の物理デバイスに直接アクセスすることを可能にする手段を用いてPCI Express(PCIe)規格を拡張することができる。これにより、SR-IOVは優れた性能およびスケーラビリティを提供することができる。
SR-IOVは、PCIeデバイスが、各々のゲストに1つの仮想デバイスを割当てることによって複数のゲスト間で共有することができる複数の仮想デバイスをエクスポーズすることを可能にする。各々のSR-IOVデバイスは、少なくとも1つの物理機能(PF)と、1つ以上の関連付けられた仮想機能(VF)とを有する。PFは、仮想マシンモニタ(virtual machine monitor:VMM)またはハイパーバイザによって制御される通常のPCIe機能であるのに対して、VFは軽量のPCIe機能である。各々のVFはそれ自体のベースアドレス(base address:BAR)を有しており、固有のリクエスタIDが割当てられている。固有のリクエスタIDは、I/Oメモリ管理ユニット(I/O memory management unit:IOMMU)がさまざまなVFへの/からのトラフィックストリームを区別することを可能にする。IOMMUはまた、メモリを適用して、PFとVFとの間の変換を中断する。
しかし、残念ながら、直接的デバイス割当て技術は、仮想マシンのトランスペアレントなライブマイグレーションがデータセンタ最適化のために所望されるような状況においては、クラウドプロバイダにとって障壁となる。ライブマイグレーションの本質は、VMのメモリ内容がリモートハイパーバイザにコピーされるという点である。さらに、VMがソースハイパーバイザにおいて中断され、VMの動作が宛先において再開される。ソフトウェアエミュレーション方法を用いる場合、ネットワークインターフェイスは、それらの内部状態がメモリに記憶され、さらにコピーされるように仮想的である。このため、ダウンタイムは数ミリ秒にまで減らされ得る。
しかしながら、SR-IOVなどの直接的デバイス割当て技術が用いられる場合、マイグレーションはより困難になる。このような状況においては、ネットワークインターフェイスの内部状態全体は、それがハードウェアに結び付けられているのでコピーすることができない。代わりに、VMに割当てられたSR-IOV VFが分離され、ライブマイグレーションが実行されることとなり、新しいVFが宛先において付与されることとなる。インフィニバンドおよびSR-IOVの場合、このプロセスがダウンタイムを数秒のオーダでもたらす可能性がある。さらに、SR-IOV共有型ポートモデルにおいては、VMのアドレスがマイグレーション後に変化することとなり、これにより、SMにオーバーヘッドが追加され、基礎をなすネットワークファブリックの性能に対して悪影響が及ぼされることとなる。
インフィニバンドSR-IOVアーキテクチャ-共有ポート
さまざまなタイプのSR-IOVモデル(たとえば共有ポートモデル、仮想スイッチモデルおよび仮想ポートモデル)があり得る。
図4は、一実施形態に従う例示的な共有ポートアーキテクチャを示す。図に示されるように、ホスト300(たとえばホストチャネルアダプタ)はハイパーバイザ310と対話し得る。ハイパーバイザ310は、さまざまな仮想機能330、340および350をいくつかの仮想マシンに割当て得る。同様に、物理機能はハイパーバイザ310によって処理することができる。
一実施形態に従うと、図4に示されるような共有ポートアーキテクチャを用いる場合、ホスト(たとえばHCA)は、物理機能320と仮想機能330、350、350との間において単一の共有LIDおよび共有キュー対(Queue Pair:QP)のスペースがあるネットワークにおいて単一のポートとして現われる。しかしながら、各々の機能(すなわち、物理機能および仮想機能)はそれら自体のGIDを有し得る。
図4に示されるように、一実施形態に従うと、さまざまなGIDを仮想機能および物理機能に割当てることができ、特別のキュー対であるQP0およびQP1(すなわちインフィニバンドTM管理パケットのために用いられる専用のキュー対)が物理機能によって所有される。これらのQPはVFにも同様にエクスポーズされるが、VFはQP0を使用することが許可されておらず(VFからQP0に向かって入来するすべてのSMPが廃棄され)、QP1は、PFが所有する実際のQP1のプロキシとして機能し得る。
一実施形態に従うと、共有ポートアーキテクチャは、(仮想機能に割当てられることによってネットワークに付随する)VMの数によって制限されることのない高度にスケーラブルなデータセンタを可能にし得る。なぜなら、ネットワークにおける物理的なマシンおよびスイッチによってLIDスペースが消費されるだけであるからである。
しかしながら、共有ポートアーキテクチャの欠点は、トランスペアレントなライブマイグレーションを提供することができない点であり、これにより、フレキシブルなVM配置についての可能性が妨害されてしまう。各々のLIDが特定のハイパーバイザに関連付けられており、かつハイパーバイザ上に常駐するすべてのVM間で共有されているので、マイグレートしているVM(すなわち、宛先ハイパーバイザにマイグレートする仮想マシン)は、そのLIDを宛先ハイパーバイザのLIDに変更させなければならない。さらに、QP0アクセスが制限された結果、サブネットマネージャはVMの内部で実行させることができなくなる。
インフィニバンドSR-IOVアーキテクチャモデル-仮想スイッチ(vSwitch)
図5は、一実施形態に従う例示的なvSwitchアーキテクチャを示す。図に示されるように、ホスト400(たとえばホストチャネルアダプタ)はハイパーバイザ410と対話することができ、当該ハイパーバイザ410は、さまざまな仮想機能430、440および450をいくつかの仮想マシンに割当てることができる。同様に、物理機能はハイパーバイザ410によって処理することができる。仮想スイッチ415もハイパーバイザ401によって処理することができる。
一実施形態に従うと、vSwitchアーキテクチャにおいては、各々の仮想機能430、440、450は完全な仮想ホストチャネルアダプタ(virtual Host Channel Adapter:vHCA)であり、これは、ハードウェアにおいて、VFに割当てられたVMに、IBアドレス一式(たとえばGID、GUID、LID)および専用のQPスペースが割当てられていることを意味する。残りのネットワークおよびSMについては、HCA400は、仮想スイッチ415を介して追加のノードが接続されているスイッチのように見えている。ハイパーバイザ410はPF420を用いることができ、(仮想機能に付与された)VMはVFを用いる。
一実施形態に従うと、vSwitchアーキテクチャは、トランスペアレントな仮想化を提供する。しかしながら、各々の仮想機能には固有のLIDが割当てられているので、利用可能な数のLIDが速やかに消費される。同様に、多くのLIDアドレスが(すなわち、各々の物理機能および各々の仮想機能ごとに1つずつ)使用されている場合、より多くの通信経路をSMによって演算しなければならず、それらのLFTを更新するために、より多くのサブネット管理パケット(SMP)をスイッチに送信しなければならない。たとえば、通信経路の演算は大規模ネットワークにおいては数分かかる可能性がある。LIDスペースが49151個のユニキャストLIDに制限されており、(VFを介する)各々のVMとして、物理ノードおよびスイッチがLIDを1つずつ占有するので、ネットワークにおける物理ノードおよびスイッチの数によってアクティブなVMの数が制限されてしまい、逆の場合も同様に制限される。
インフィニバンドSR-IOVアーキテクチャモデル-仮想ポート(vPort)
図6は、一実施形態に従う例示的なvPortの概念を示す。図に示されるように、ホスト300(たとえばホストチャネルアダプタ)は、さまざまな仮想機能330、340および350をいくつかの仮想マシンに割当てることができるハイパーバイザ410と対話することができる。同様に、物理機能はハイパーバイザ310によって処理することができる。
一実施形態に従うと、ベンダーに実装の自由を与えるためにvPort概念は緩やかに定義されており(たとえば、当該定義では、実装がSRIOV専用とすべきであるとは規定されていない)、vPortの目的は、VMがサブネットにおいて処理される方法を標準化することである。vPort概念であれば、空間ドメインおよび性能ドメインの両方においてよりスケーラブルであり得る、SR-IOV共有のポートのようなアーキテクチャおよびvSwitchのようなアーキテクチャの両方、または、これらのアーキテクチャの組合せが規定され得る。また、vPortはオプションのLIDをサポートするとともに、共有のポートとは異なり、SMは、vPortが専用のLIDを用いていなくても、サブネットにおいて利用可能なすべてのvPortを認識する。
インフィニバンドSR-IOVアーキテクチャモデル-LIDが予めポピュレートされたvSwitch
一実施形態に従うと、本開示は、LIDが予めポピュレートされたvSwitchアーキテクチャを提供するためのシステムおよび方法を提供する。
図7は、一実施形態に従う、LIDが予めポピュレートされた例示的なvSwitchアーキテクチャを示す。図に示されるように、いくつかのスイッチ501~504は、ネットワーク切替環境600(たとえばIBサブネット)内においてインフィニバンドTMファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックはホストチャネルアダプタ510、520、530などのいくつかのハードウェアデバイスを含み得る。さらに、ホストチャネルアダプタ510、520および530は、それぞれ、ハイパーバイザ511、521および531と対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能514、515、516、524、525、526、534、535および536と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン1 550はハイパーバイザ511によって仮想機能1 514に割当てることができる。ハイパーバイザ511は、加えて、仮想マシン2 551を仮想機能2 515に割当て、仮想マシン3 552を仮想機能3 516に割当てることができる。ハイパーバイザ531は、さらに、仮想マシン4 553を仮想機能1 534に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上で十分な機能を有する物理機能513、523および533を介してホストチャネルアダプタにアクセスすることができる。
一実施形態に従うと、スイッチ501~504の各々はいくつかのポート(図示せず)を含み得る。いくつかのポートは、ネットワーク切替環境600内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
一実施形態に従うと、仮想スイッチ512、522および532は、それぞれのハイパーバイザ511、521、531によって処理することができる。このようなvSwitchアーキテクチャにおいては、各々の仮想機能は完全な仮想ホストチャネルアダプタ(vHCA)であり、これは、ハードウェアにおいて、VFに割当てられたVMに、IBアドレス一式(たとえばGID、GUID、LID)および専用のQPスペースが割当てられていることを意味する。残りのネットワークおよびSM(図示せず)については、HCA510、520および530は、仮想スイッチを介して追加のノードが接続されているスイッチのように見えている。
一実施形態に従うと、本開示は、LIDが予めポピュレートされたvSwitchアーキテクチャを提供するためのシステムおよび方法を提供する。図7を参照すると、LIDは、さまざまな物理機能513、523および533に、さらには、仮想機能514~516、524~526、534~536(その時点でアクティブな仮想マシンに関連付けられていない仮想機能であっても)にも、予めポピュレートされている。たとえば、物理機能513はLID1が予めポピュレートされており、仮想機能1 534はLID10が予めポピュレートされている。ネットワークがブートされているとき、LIDはSR-IOV vSwitch対応のサブネットにおいて予めポピュレートされている。VFのすべてがネットワークにおけるVMによって占有されていない場合であっても、ポピュレートされたVFには、図7に示されるようにLIDが割当てられている。
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが2つ以上のポートを有することができ(冗長性のために2つのポートが共用となっている)、仮想HCAも2つのポートで表わされ、1つまたは2つ以上の仮想スイッチを介して外部IBサブネットに接続され得る。
一実施形態に従うと、LIDが予めポピュレートされたvSwitchアーキテクチャにおいては、各々のハイパーバイザは、それ自体のための1つのLIDをPFを介して消費し、各々の追加のVFごとに1つ以上のLIDを消費することができる。IBサブネットにおけるすべてのハイパーバイザにおいて利用可能なすべてのVFを合計すると、サブネットにおいて実行することが可能なVMの最大量が得られる。たとえば、サブネット内の1ハイパーバイザごとに16個の仮想機能を備えたIBサブネットにおいては、各々のハイパーバイザは、サブネットにおいて17個のLID(16個の仮想機能ごとに1つのLIDと、物理機能のために1つのLID)を消費する。このようなIBサブネットにおいては、単一のサブネットについて理論上のハイパーバイザ限度は利用可能なユニキャストLIDの数によって規定されており、(49151個の利用可能なLIDをハイパーバイザごとに17個のLIDで割って得られる)2891であり、VMの総数(すなわち限度)は(ハイパーバイザごとに2891個のハイパーバイザに16のVFを掛けて得られる)46256である(実質的には、IBサブネットにおける各々のスイッチ、ルータまたは専用のSMノードが同様にLIDを消費するので、実際これらの数はより小さくなる)。なお、vSwitchが、LIDをPFと共有することができるので、付加的なLIDを占有する必要がないことに留意されたい。
一実施形態に従うと、LIDが予めポピュレートされたvSwitchアーキテクチャにおいては、ネットワークが一旦ブートされると、すべてのLIDについて通信経路が計算される。新しいVMを始動させる必要がある場合、システムは、サブネットにおいて新しいLIDを追加する必要はない。それ以外の場合、経路の再計算を含め、ネットワークを完全に再構成させ得る動作は、最も時間を消費する要素となる。代わりに、VMのための利用可能なポートはハイパーバイザのうちの1つに位置し(すなわち利用可能な仮想機能)、仮想マシンは利用可能な仮想機能に付与されている。
一実施形態に従うと、LIDが予めポピュレートされたvSwitchアーキテクチャはまた、同じハイパーバイザによってホストされているさまざまなVMに達するために、さまざまな経路を計算して用いる能力を可能にする。本質的には、これは、LIDを連続的にすることを必要とするLMCの制約によって拘束されることなく、1つの物理的なマシンに向かう代替的な経路を設けるために、このようなサブネットおよびネットワークがLIDマスク制御ライク(LID-Mask-Control-like:LMCライク)な特徴を用いることを可能にする。VMをマイグレートしてその関連するLIDを宛先に送達する必要がある場合、不連続なLIDを自由に使用できることは特に有用となる。
一実施形態に従うと、LIDが予めポピュレートされたvSwitchアーキテクチャについての上述の利点と共に、いくつかの検討事項を考慮に入れることができる。たとえば、ネットワークがブートされているときに、SR-IOV vSwitch対応のサブネットにおいてLIDが予めポピュレートされているので、(たとえば起動時の)最初の経路演算はLIDが予めポピュレートされていなかった場合よりも時間が長くかかる可能性がある。
インフィニバンドSR-IOVアーキテクチャモデル-動的LID割当てがなされたvSwitch
一実施形態に従うと、本開示は、動的LID割当てがなされたvSwitchアーキテクチャを提供するためのシステムおよび方法を提供する。
図8は、一実施形態に従う、動的LID割当てがなされた例示的なvSwitchアーキテクチャを示す。図に示されるように、いくつかのスイッチ501~504は、ネットワーク切替環境700(たとえばIBサブネット)内においてインフィニバンドTMファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックは、ホストチャネルアダプタ510、520、530などのいくつかのハードウェアデバイスを含み得る。ホストチャネルアダプタ510、520および530は、さらに、ハイパーバイザ511、521および531とそれぞれ対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能514、515、516、524、525、526、534、535および536と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン1 550はハイパーバイザ511によって仮想機能1 514に割当てることができる。ハイパーバイザ511は、加えて、仮想マシン2 551を仮想機能2 515に割当て、仮想マシン3 552を仮想機能3 516に割当てることができる。ハイパーバイザ531はさらに、仮想マシン4 553を仮想機能1 534に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上において十分な機能を有する物理機能513、523および533を介してホストチャネルアダプタにアクセスすることができる。
一実施形態に従うと、スイッチ501~504の各々はいくつかのポート(図示せず)を含み得る。いくつかのポートは、ネットワーク切替環境700内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
一実施形態に従うと、仮想スイッチ512、522および532は、それぞれのハイパーバイザ511、521および531によって処理することができる。このようなvSwitchアーキテクチャにおいては、各々の仮想機能は完全な仮想ホストチャネルアダプタ(vHCA)であり、これは、ハードウェアにおいて、VFに割当てられたVMに、IBアドレス一式(たとえばGID、GUID、LID)および専用のQPスペースが割当てられていることを意味する。残りのネットワークおよびSM(図示せず)については、HCA510、520および530は、仮想スイッチを介して、追加のノードが接続されているスイッチのように見えている。
一実施形態に従うと、本開示は、動的LID割当てがなされたvSwitchアーキテクチャを提供するためのシステムおよび方法を提供する。図8を参照すると、LIDには、さまざまな物理機能513、523および533が動的に割当てられており、物理機能513がLID1を受取り、物理機能523がLID2を受取り、物理機能533がLID3を受取る。アクティブな仮想マシンに関連付けられたそれらの仮想機能はまた、動的に割当てられたLIDを受取ることもできる。たとえば、仮想マシン1 550がアクティブであり、仮想機能1 514に関連付けられているので、仮想機能514にはLID5が割当てられ得る。同様に、仮想機能2 515、仮想機能3 516および仮想機能1 534は、各々、アクティブな仮想機能に関連付けられている。このため、これらの仮想機能にLIDが割当てられ、LID7が仮想機能2 515に割当てられ、LID11が仮想機能3 516に割当てられ、LID9が仮想機能1 534に割当てられている。LIDが予めポピュレートされたvSwitchとは異なり、アクティブな仮想マシンにその時点で関連付けられていない仮想機能はLIDの割当てを受けない。
一実施形態に従うと、動的LID割当てがなされていれば、最初の経路演算を実質的に減らすことができる。ネットワークが初めてブートしており、VMが存在していない場合、比較的少数のLIDを最初の経路計算およびLFT分配のために用いることができる。
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが2つ以上のポートを有することができ(冗長性のために2つのポートが共用となっている)、仮想HCAも2つのポートで表わされ、1つまたは2つ以上の仮想スイッチを介して外部IBサブネットに接続され得る。
一実施形態に従うと、動的LID割当てがなされたvSwitchを利用するシステムにおいて新しいVMが作成される場合、どのハイパーバイザ上で新しく追加されたVMをブートすべきであるかを決定するために、自由なVMスロットが発見され、固有の未使用のユニキャストLIDも同様に発見される。しかしながら、新しく追加されたLIDを処理するためのスイッチのLFTおよびネットワークに既知の経路が存在しない。新しく追加されたVMを処理するために新しいセットの経路を演算することは、いくつかのVMが毎分ごとにブートされ得る動的な環境においては望ましくない。大規模なIBサブネットにおいては、新しい1セットのルートの演算には数分かかる可能性があり、この手順は、新しいVMがブートされるたびに繰返されなければならないだろう。
有利には、一実施形態に従うと、ハイパーバイザにおけるすべてのVFがPFと同じアップリンクを共有しているので、新しいセットのルートを演算する必要はない。ネットワークにおけるすべての物理スイッチのLFTを繰返し、(VMが作成されている)ハイパーバイザのPFに属するLIDエントリから新しく追加されたLIDにフォワーディングポートをコピーし、かつ、特定のスイッチの対応するLFTブロックを更新するために単一のSMPを送信するだけでよい。これにより、当該システムおよび方法では、新しいセットのルートを演算する必要がなくなる。
一実施形態に従うと、動的LID割当てアーキテクチャを備えたvSwitchにおいて割当てられたLIDは連続的である必要はない。各々のハイパーバイザ上のVM上で割当てられたLIDをLIDが予めポピュレートされたvSwitchと動的LID割当てがなされたvSwitchとで比較すると、動的LID割当てアーキテクチャにおいて割当てられたLIDが不連続であり、そこに予めポピュレートされたLIDが本質的に連続的であることが分かるだろう。さらに、vSwitch動的LID割当てアーキテクチャにおいては、新しいVMが作成されると、次に利用可能なLIDが、VMの生存期間の間中ずっと用いられる。逆に、LIDが予めポピュレートされたvSwitchにおいては、各々のVMは、対応するVFに既に割当てられているLIDを引継ぎ、ライブマイグレーションのないネットワークにおいては、所与のVFに連続的に付与されたVMが同じLIDを得る。
一実施形態に従うと、動的LID割当てアーキテクチャを備えたvSwitchは、いくらかの追加のネットワークおよびランタイムSMオーバーヘッドを犠牲にして、予めポピュレートされたLIDアーキテクチャモデルを備えたvSwitchの欠点を解決することができる。VMが作成されるたびに、作成されたVMに関連付けられた、新しく追加されたLIDで、サブネットにおける物理スイッチのLFTが更新される。この動作のために、1スイッチごとに1つのサブネット管理パケット(SMP)が送信される必要がある。各々のVMがそのホストハイパーバイザと同じ経路を用いているので、LMCのような機能も利用できなくなる。しかしながら、すべてのハイパーバイザに存在するVFの合計に対する制限はなく、VFの数は、ユニキャストLIDの限度を上回る可能性もある。このような場合、当然、アクティブなVM上でVFのすべてが必ずしも同時に付与されることが可能になるわけではなく、より多くの予備のハイパーバイザおよびVFを備えることにより、ユニキャストLID限度付近で動作する際に、断片化されたネットワークの障害を回復および最適化させるための融通性が追加される。
インフィニバンドSR-IOVアーキテクチャモデル-動的LID割当てがなされかつLIDが予めポピュレートされたvSwitch
図9は、一実施形態に従う、動的LID割当てがなされてLIDが予めポピュレートされたvSwitchを備えた例示的なvSwitchアーキテクチャを示す。図に示されるように、いくつかのスイッチ501~504は、ネットワーク切替環境800(たとえばIBサブネット)内においてインフィニバンドTMファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックはホストチャネルアダプタ510、520、530などのいくつかのハードウェアデバイスを含み得る。ホストチャネルアダプタ510、520および530は、それぞれ、さらに、ハイパーバイザ511、521および531と対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能514、515、516、524、525、526、534、535および536と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン1 550は、ハイパーバイザ511によって仮想機能1 514に割当てることができる。ハイパーバイザ511は、加えて、仮想マシン2 551を仮想機能2 515に割当てることができる。ハイパーバイザ521は、仮想マシン3 552を仮想機能3 526に割当てることができる。ハイパーバイザ531は、さらに、仮想マシン4 553を仮想機能2 535に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上において十分な機能を有する物理機能513、523および533を介してホストチャネルアダプタにアクセスすることができる。
一実施形態に従うと、スイッチ501~504の各々はいくつかのポート(図示せず)を含み得る。これらいくつかのポートは、ネットワーク切替環境800内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
一実施形態に従うと、仮想スイッチ512、522および532は、それぞれのハイパーバイザ511、521、531によって処理することができる。このようなvSwitchアーキテクチャにおいては、各々の仮想機能は、完全な仮想ホストチャネルアダプタ(vHCA)であり、これは、ハードウェアにおいて、VFに割当てられたVMに、IBアドレス一式(たとえばGID、GUID、LID)および専用のQPスペースが割当てられていることを意味する。残りのネットワークおよびSM(図示せず)については、HCA510、520および530は、仮想スイッチを介して、追加のノードが接続されているスイッチのように見えている。
一実施形態に従うと、本開示は、動的LID割当てがなされLIDが予めポピュレートされたハイブリッドvSwitchアーキテクチャを提供するためのシステムおよび方法を提供する。図9を参照すると、ハイパーバイザ511には、予めポピュレートされたLIDアーキテクチャを備えたvSwitchが配置され得るとともに、ハイパーバイザ521には、LIDが予めポピュレートされて動的LID割当てがなされたvSwitchが配置され得る。ハイパーバイザ531には、動的LID割当てがなされたvSwitchが配置され得る。このため、物理機能513および仮想機能514~516には、それらのLIDが予めポピュレートされている(すなわち、アクティブな仮想マシンに付与されていない仮想機能であってもLIDが割当てられている)。物理機能523および仮想機能1 524にはそれらのLIDが予めポピュレートされ得るとともに、仮想機能2 525および仮想機能3 526にはそれらのLIDが動的に割当てられている(すなわち、仮想機能2 525は動的LID割当てのために利用可能であり、仮想機能3 526は、仮想マシン3 552が付与されているので、11というLIDが動的に割当てられている)。最後に、ハイパーバイザ3 531に関連付けられた機能(物理機能および仮想機能)にはそれらのLIDを動的に割当てることができる。これにより、結果として、仮想機能1 534および仮想機能3 536が動的LID割当てのために利用可能となるとともに、仮想機能2 535には、仮想マシン4 553が付与されているので、9というLIDが動的に割当てられている。
LIDが予めポピュレートされたvSwitchおよび動的LID割当てがなされたvSwitchがともに(いずれかの所与のハイパーバイザ内で独立して、または組合わされて)利用されている、図9に示されるような一実施形態に従うと、ホストチャネルアダプタごとの予めポピュレートされたLIDの数はファブリックアドミニストレータによって定義することができ、(ホストチャネルアダプタごとに)0<=予めポピュレートされたVF<=総VFの範囲内になり得る。動的LID割当てのために利用可能なVFは、(ホストチャネルアダプタごとに)VFの総数から予めポピュレートされたVFの数を減じることによって見出すことができる。
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが2つ以上のポートを有することができ(冗長性のために2つのポートが共用となっている)、仮想HCAも2つのポートで表わされ、1つまたは2つ以上の仮想スイッチを介して外部IBサブネットに接続され得る。
インフィニバンド-サブネット間通信(ファブリックマネージャ)
一実施形態に従うと、1つのサブネット内にインフィニバンドファブリックを提供することに加え、本開示の実施形態は、2つ以上のサブネットにまたがるインフィニバンドファブリックを提供することもできる。
図10は、一実施形態に従う例示的なマルチサブネットインフィニバンドファブリックを示す。この図に示されるように、サブネットA 1000の内部の多数のスイッチ1001~1004は、サブネットA 1000(たとえばIBサブネット)内におけるインフィニバンドファブリックなどのファブリックのメンバ間の通信を提供することができる。このファブリックは、たとえばチャネルアダプタ1010などの多数のハードウェアデバイスを含み得る。ホストチャネルアダプタ1010は、ハイパーバイザ1011と対話することができる。ハイパーバイザは、対話の相手であるホストチャネルアダプタとともに、多数の仮想機能1014をセットアップすることができる。加えて、ハイパーバイザは、仮想マシンを仮想機能各々に割当てることができる。たとえば、仮想マシン1 1015は仮想機能1 1014に割当てられる。ハイパーバイザは、その対応付けられたホストチャネルアダプタに、各ホストチャネルアダプタ上の物理機能1013などの十分な機能を有する物理機能を通して、アクセスすることができる。多数のスイッチ1021~1024は、サブネットB 1040(たとえばIBサブネット)内におけるインフィニバンドファブリックなどのファブリックのメンバ間の通信を提供することができる。このファブリックは、たとえばホストチャネルアダプタ1030などの多数のハードウェアデバイスを含み得る。ホストチャネルアダプタ1030は、ハイパーバイザ1031と対話することができる。ハイパーバイザは、対話の相手であるホストチャネルアダプタとともに、多数の仮想機能1034をセットアップすることができる。加えて、ハイパーバイザは、仮想マシンを仮想機能各々に割当てることができる。たとえば、仮想マシン2 1035は仮想機能2 1034に割当てられる。ハイパーバイザは、その対応付けられたホストチャネルアダプタに、各ホストチャネルアダプタ上の物理機能1033などの十分な機能を有する物理機能を通して、アクセスすることができる。なお、各サブネット(すなわちサブネットAおよびサブネットB)内に示されているホストチャネルアダプタは1つだけであるが、各サブネット内に複数のホストチャネルアダプタおよびそれらに対応するコンポーネントが含まれていてもよいことが、理解されるはずである。
一実施形態に従うと、各ホストチャネルアダプタはさらに、仮想スイッチ1012および仮想スイッチ1032などの仮想スイッチに対応付けられていてもよく、上記のように各HCAは異なるアーキテクチャモデルでセットアップされてもよい。図10のサブネットはどちらもLIDが予めポピュレートされているvSwitchのアーキテクチャモデルを使用するものとして示されているが、これは、このようなサブネット構成すべてが同様のアーキテクチャモデルに従い得ることを示唆しようとしているのではない。
一実施形態に従うと、各サブネット内の少なくとも1つのスイッチがルータに対応付けられていてもよい。たとえば、サブネットA 1000内のスイッチ1002はルータ1005に対応付けられ、サブネットB 1040内のスイッチ1021はルータ1006に対応付けられている。
一実施形態に従うと、少なくとも1つのデバイス(たとえばスイッチ、ノード等)を、ファブリックマネージャ(図示せず)に対応付けることができる。ファブリックマネージャを使用して、たとえば、サブネット間ファブリックトポロジーを発見し、ファブリックプロファイル(たとえば仮想マシンファブリックプロファイル)を作成し、仮想マシンファブリックプロファイルを構築するための基礎を形成する仮想マシン関連データベースオブジェクトを構築することができる。加えて、ファブリックマネージャは、どのサブネットがどのルータポートを介しどのパーティション番号を用いて通信することを許可されるかについて、法的なサブネット間接続性を規定することができる。
一実施形態に従うと、サブネットA内の仮想マシン1などの発信ソースにおけるトラッフィックを、サブネットB内の仮想マシン2などの異なるサブネットを宛先としてそれに向ける場合、トラフィックは、サブネットA内のルータ、すなわち、ルータ1005に向ければよく、そうすると、ルータ1005はこのトラッフィックをルータ1006とのリンクを介してサブネットBに送ることができる。
仮想デュアルポートルータ
一実施形態に従うと、デュアルポートルータアブストラクション(dual port router abstraction)は、GRH(グローバルルートヘッダ(global route header))からLRH(ローカルルートヘッダ(local route header))への変換を、通常のLRHベースのスイッチングの実行に加えて行なう機能を有するスイッチハードウェア実装に基づいてサブネット間ルータ機能を規定することを可能にする簡単な方法を提供することができる。
一実施形態に従うと、仮想デュアルポートルータは、対応するスイッチポートの外部で論理的に接続することができる。この仮想デュアルポートルータは、サブネットマネージャ等の標準管理エンティティに対しインフィニバンド規格に準拠したビューを提供することができる。
一実施形態に従うと、デュアルポートルータモデルは、異なるサブネットを、各サブネットがサブネットへの進入(ingress)経路におけるパケット転送とアドレスマッピングとを完全に制御し、かつ、間違って接続されたサブネットのうちいずれのサブネット内のルーティングおよび論理的接続にも影響を与えないように、接続できることを、示している。
一実施形態に従うと、間違って接続されたファブリックを含む状況において、仮想デュアルポートルータアブストラクションを使用することにより、サブネットマネージャおよびIB診断ソフトウェア等の管理エンティティが、遠隔サブネットへの意図しない物理的接続の存在下で、正しく作用するようにすることもできる。
図11は、一実施形態に従う、高性能コンピューティング環境における2つのサブネット間の相互接続を示す。仮想デュアルポートルータを用いて構成する前に、サブネットA 1101内のスイッチ1120を、スイッチ1120のスイッチポート1121を通し、物理接続1110を介して、サブネットB 1102内のスイッチ1130に、スイッチ1130のスイッチポート1131を通して接続することができる。このような実施形態において、スイッチポート1121および1131の各々は、スイッチポートとしてもルータポートとしても機能することができる。
一実施形態に従うと、この構成の問題は、インフィニバンドサブネット内のサブネットマネージャ等の管理エンティティが、スイッチポートでもありルータポートでもある物理ポートを区別できないことである。このような状況において、SMは、スイッチポートを、このスイッチポートに接続されたルータポートを有するものとして扱うことができる。しかしながら、スイッチポートがたとえば物理リンクを介して別のサブネットマネージャを有する別のサブネットに接続されている場合、サブネットマネージャはディスカバリメッセージを物理リンクに送ることができる。しかしながら、このようなディスカバリメッセージは他方のサブネットでは許可されない。
図12は、一実施形態に従う、高性能コンピューティング環境におけるデュアルポート仮想ルータ構成を介した2つのサブネット間の相互接続を示す。
一実施形態に従うと、構成後に、デュアルポート仮想ルータ構成を、サブネットマネージャの責任であるサブネットの端部を示す適切なエンドノードが、サブネットマネージャにわかるように、提供することができる。
一実施形態に従うと、サブネットA 1201内のスイッチ1220におけるスイッチポートは、仮想リンク1223を介して仮想ルータ1210内のルータポート1211に接続(すなわち論理的に接続)することができる。仮想ルータ1210(たとえばデュアルポート仮想ルータ)は、実施形態ではスイッチ1220の外部にあるものとして示されているが、論理的にはスイッチ1220の中に含めることができ、第2のルータポートであるルータポートII 1212も含み得る。一実施形態に従うと、2つの端部を有し得る物理リンク1203は、サブネットA 1201を、サブネットB 1202に、物理リンクの第1の端部を介し、物理リンクの第2の端部を介し、ルータポートII 1212を介し、サブネットB 1202内の仮想ルータ1230に含まれるルータポートII 1232を介して、接続することができる。仮想ルータ1230はさらに、仮想リンク1233を介してスイッチ1240上のスイッチポート1241に接続(すなわち論理的に接続)することができるルータポート1231を含み得る。
一実施形態に従うと、サブネットA上のサブネットマネージャ(図示せず)は、仮想ルータ1210上のルータポート1211を、当該サブネットマネージャが制御するサブネットの終点として検出することができる。デュアルポート仮想ルータアブストラクションは、サブネットA上のサブネットマネージャが、サブネットAを通常のやり方で(たとえばインフィニバンド規格に規定されているように)扱うことを可能にする。サブネット管理エージェント(subnet management agent)レベルにおいて、デュアルポート仮想ルータアブストラクションを提供して通常のスイッチポートがSMにわかるようにし、その後、SMAレベルにおいて、当該アブストラクションを提供してこのスイッチポートに接続されている別のポートが存在しこのポートがデュアルポート仮想ルータ上のルータポートとなるようにすることができる。ローカルSMでは、従来のファブリックトポロジーを引続き使用することができ(このトポロジーにおいてSMはポートを標準スイッチポートとみなす)、したがって、SMはルータポートをエンドポートとみなす。物理的接続は、2つの異なるサブネット内のルータポートとしても構成されている2つのスイッチポート間で行なうことができる。
一実施形態に従うと、デュアルポート仮想ルータは、物理リンクが間違って同じサブネット内の他のいずれかのスイッチポートに接続される、または、別のサブネットへの接続を提供することを意図していないスイッチポートに接続される可能性があるという問題を、解決することもできる。したがって、本明細書に記載の方法およびシステムは、サブネットの外側にあるものも表現する。
一実施形態に従うと、サブネットA等のサブネット内のローカルSMは、スイッチポートを確定し、次に、このスイッチポートに接続されているルータポート(たとえば仮想リンク1223を介してスイッチポート1221に接続されているルータポート1211)を確定する。SMは、ルータポート1211を、当該SMが管理するサブネットの端部とみなすので、SMはディスカバリおよび/または管理メッセージをこのポイントよりも遠くに(たとえばルータポートII 1212に)送ることができない。
一実施形態に従うと、上記デュアルポート仮想ルータは、当該デュアルポート仮想ルータが属するサブネット内の管理エンティティ(たとえばSMまたはSMA)によってデュアルポート仮想ルータアブストラクションが完全に管理されるという利点を提供する。管理をローカル側のみにすることにより、システムは外部の独立した管理エンティティを提供する必要がない。すなわち、サブネット間接続の各側は自身のデュアルポート仮想ルータを構成する役割を担う。
一実施形態に従うと、遠隔の宛先(すなわちローカルサブネットの外部)に向けられたSMP等のパケットが、上記デュアルポート仮想ルータを介して構成されていないローカルターゲットポートに到着した場合、ローカルポートは、自身はルータポートではないことを示すメッセージを返すことができる。
本教示の多数の特徴は、ハードウェア、ソフトウェア、ファームウェア、またはこれらを組合わせたものにおいて、これを用いて、またはこれに支援されて、実施することができる。したがって、本教示の特徴は、処理システム(たとえば1つ以上のプロセッサを含む)を用いて実現し得る。
図13は、一実施形態に従う、高性能コンピューティング環境においてデュアルポート仮想ルータをサポートする方法を示す。ステップ1310において、1つ以上のマイクロプロセッサを含む1つ以上コンピュータに、この方法は第1のサブネットを設けることができる。第1のサブネットは複数のスイッチを含み、複数のスイッチは少なくともリーフスイッチを含み、複数のスイッチの各々は複数のスイッチポートを含む。第1のサブネットはさらに、各々が少なくとも1つのホストチャネルアダプタポートを含む複数のホストチャネルアダプタと、各々が複数のホストチャネルアダプタのうちの少なくとも1つのホストチャネルアダプタに対応付けられている複数のエンドノードと、サブネットマネージャとを含み、サブネットマネージャは、複数のスイッチおよび複数のホストチャネルアダプタの一方において実行される。
ステップ1320において、この方法は、複数のスイッチのうちの1つのスイッチ上の複数のスイッチポートのうちの1つのスイッチポートを、ルータポートとして構成することができる。
スイッチ1330において、この方法は、ルータポートとして構成したスイッチポートを仮想ルータに論理的に接続することができ、この仮想ルータは少なくとも2つの仮想ルータポートを含む。
冗長な全独立および半独立ネットワーク
一実施形態によれば、ミッションクリティカルなシステムは、システムに対して規定された期待される応答時間および全体的な性能制約の範囲内で、正しく動作し、常に、関連するサービスを正しいデータとともに正しいクライアントに提供するべきである。
一実施形態によれば、コンピュータの分散クラスタとして実現されるシステムの場合、これはまた、クラスタ内のコンピュータの必要なセット間の通信が常に動作可能でなければならないことを暗示する。
一実施形態によれば、ネットワーク通信システムが動作可能であることの望ましい前提は、正しいコンポーネントおよびコネクタが正しいケーブルを介して接続されているという点でホストアダプタおよびスイッチのようなコンポーネント間のすべての物理的接続性が正しいこと、ならびに関与するすべてのコンポーネントが正しい態様で構成されることである。
しかしながら、1つの実施形態によれば、ハードウェアコンポーネントが故障し、オペレータがミスをする可能性があるため、通信は、通常の場合、1つの障害点にのみ依存しない必要がある。1つのコンポーネントおよび通信経路を介した通信を妨げる障害またはミスが生じる場合、これを検出し、即座に、または少なくともその動作可能でない通信経路がシステム動作または応答時間に何らかの重大な影響を及ぼしてしまう前に、通信を代替の冗長通信経路に引き継がせることが最も重要である。
また、一実施形態によれば、仮に第2の障害が起こった場合に一部またはすべての現在の通信を脆弱なままにしておく障害が存在するときはいつでも、関連する修復動作ができるだけ早く生じ得ること、および/または追加のバックアップ策を用いてサービスの全損失を防止し得ることが重要である。
一実施形態によれば、別の態様は、システムおよびアプリケーションソフトウェアがエラーを免れることは非常に希であり、また、システムの特徴を経時的に向上させる必要性がしばしばあるので、いかなる停止も引き起こさずにシステム内のさまざまなソフトウェアコンポーネントをアップグレードすることが可能であることが重要である。分散型クラスタシステムでは、これは、典型的には、冗長コンポーネントが厳格な順序でアップグレードされ、システムが必要なコンポーネントのセットおよび必要な通信で常に完全に動作可能である「ローリングアップグレード」モデルを意味する。
また、一実施形態によれば、システムの能力を向上し、および/または容量を拡張するために、追加のHWコンポーネント、および/または既存のHWコンポーネントをより能力の高いHWコンポーネントと交換することに関して、物理的変更が必要となり得る。その場合、そのようなアップグレードはまた、システムにおける新たなソフトウェアおよび/またはファームウェアも意味し得る。
しかしながら、新たなソフトウェアおよびファームウェアのバージョンならびに新たなHWのバージョンは、新たなまたは早期の未検出のエラーを導入するリスク、およびクラスタ内の同じノード上または異なるノード間の異なるソフトウェア/ファームウェアコンポーネント間の相互運用性問題のリスクを導入する。したがって、理想的な場合においては、システムを動作させる能力は、単一のタイプのソフトウェアのみがシステム全体にわたって用いられていること、および1つのソフトウェアバージョンから別のソフトウェアバージョンへのアップグレードの成功に依存すべきではない。これを達成するために、1つのアプローチは、要求されるサービスが、2セットの異なるタイプのハードウェアコンポーネントによって、異なるセットのソフトウェアおよびファームウェアで、冗長な態様で実現され得ること、ならびに異なるセットの冗長コンポーネントのセットの間に依存関係がまったく存在しないこと、または最小で極めてよく定義され、制御された依存関係が存在することを保証することである。
一実施形態によれば、そのようなシステムの一例は、異なるコンピュータタイプによって実現され、異なるソフトウェアを用いる、地理的に別個のシステムの使用であるが、バックアップデータは、それらのシステム間で、ニュートラルなフォーマットを用いて、いずれのシステムに対しても最小の依存性で、転送されることができる。これの、より厳格でないバージョンは、プライマリサイトおよびバックアップサイトが同じ種類の機器を用いているが、同時にはアップグレードされないことである。したがって、通常、バックアップサイトは、プライマリサイトにおいてバージョンN+1に関して十分な信頼が確立されるまで、バージョンNを使用し続ける。
一実施形態によれば、別のアプローチは、並列に動作する同じ機能の、いくつかの独立した実現例を有することである。このアプローチは、クリティカルコンポーネントの複数のバージョンが互いに異なるチームによって互いに独立して開発された空間ミッションにおいて用いられてきた。クラスタ通信インフラストラクチャに適用されるこのアプローチの、より極端でないバージョンは、異なるベンダからのギア(HWおよびSW/FW)によって各々が実現される2つの独立したネットワークを有することであるが、コンピュータの対間の通信は、2つのネットワークインフラストラクチャ間でフェイルオーバーし得る。ネットワーク冗長性のためのこのアプローチは、その場合、このレベルでも同様の種類の独立性および冗長性を提供するために、異なる種類のコンピュータおよびホストソフトウェアがクラスタ内で用いられるかどうかに直交して適用され得る。
一実施形態によれば、依然として、実用的な観点から、コストおよび複雑性もまた、ミッションクリティカルな、高可用性システムを設計する場合でも、重要な因子である。したがって、異なる展開は、関連するシステム展開のための予算およびリスクシナリオに適合させるために、異なるレベルの冗長性および異なるレベルの複数のインフラストラクチャタイプ(すなわち、2つ以上の場合)を用いることができる。
一実施形態によれば、完全に冗長なプライベートファブリックは、管理および輻輳問題/バグの伝播、ならびに単一のサブネットとして実現される場合のリンク障害および一方の冗長部分から他方の冗長部分への再構成によって引き起こされる「外乱」を依然として受ける。
一実施形態によれば、2つ(以上)の完全独立または半独立のファブリックを提供するために、ホストは、ホストの対が、各々、異なる独立したファブリックへの単一の接続を失った場合に、接続性の損失を防止するために、各ファブリックへの冗長接続性を含むことができる。
一実施形態によれば、課題は、2つのファブリックの間に、各ファブリックの通常の管理とは無関係であって、他のオプションが存在しない場合にデータ通信に用いられる冗長接続性を提供することである。
図14は、一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。
一実施形態によれば、レールA 1401およびレールB 1421のような2つ以上のレールを設けることができる。図示されないが、各独立レールは、1つまたは複数の相互接続されたスイッチ、ならびにMCプロキシ1402およびMCプロキシ1422などのマルチキャストプロキシ(MCプロキシ)を含むことができる。さらに、各レールは、HAPS1403およびHAPS1423などの高可用性パスサービス(HAPS)を含むことができる。レールは、ホスト1 1430~ホストN 1440などの、いくつかのホストに接続され得る。図示されていないが、各ホストは、1つまたは複数のホストチャネルアダプタを介してレールに接続された1つまたは複数のエンドノードを含むことができる。さらに、エンドノードは、仮想化された環境に関して上述したように、(例えば、仮想スイッチ、仮想ポート、または上述のもしくは本質的に同様の他の同様のアーキテクチャを利用して、)1つまたは複数の仮想マシンを含むことができる。一実施形態によれば、各ホストは、MP選択1431およびMP選択1441などのマルチパス選択コンポーネントを含むことができる。
一実施形態によれば、用語「レール」は、2つ以上の独立したファブリック/サブネットおよびホストからの冗長接続性/リンクの両方を識別するよう用いられ得る。各レールは、エンドノード間において、冗長な、分離した、ポイントからポイントへの(ユニキャスト用)トラフィック、またはポイントから複数ポイントへの(マルチキャスト)トラフィックを提供することができる。
一実施形態によれば、レールAおよびレールBは、1つまたは複数のレール間リンク(IRL)を介して接続することができる。
ある実施形態によれば、用語「IRL」(レール間リンク(Inter Rail Link))は、スイッチ間リンク(ISL(Inter Switch Link))に類似していると考えることができる。しかしながら、IRLは、いずれのレールの一部でもないことによって、制限された態様で用いられ得る。
一実施形態によれば、「MCプロキシ」という用語は、マルチキャストプロキシを指すことができる。MCプロキシは、選択されたマルチキャストパケットを一方のレールから他方のレールに転送する高可用性コンポーネントを含むことができる(例えば、ARP(アドレス解決プロトコル)要求)。
一実施形態によれば、「HAPS」という用語は、HA(高可用性)パスサービスを指すことができる。HAPSは、1つのレールのコンテキスト内で動作するが、IRLを介したユニキャストデータトラフィック転送が、2つのホストが通信するのに必要とされる/要求されるときにはいつでもをそれを可能にするために他のレール内のピアと通信する高可用性コンポーネントを含むことができる。
一実施形態によれば、用語「MP選択」は、異なるピアホストへの異なる接続のためにどのレールを用いるかを選択するホストベースのHA/マルチパス論理を指すことができる。
一実施形態によれば、単一のラックトポロジにおいて、ラック内の2つのリーフスイッチは、2つのレールを表すことができる(すなわち、2つのレールがハードウェアによって分離される最小トポロジ)。リーフスイッチの間には少なくとも2つのIRLが存在し得る。インフィニバンドトポロジの場合、各リーフスイッチは、各それぞれのレールに対するマスタサブネットマネージャである埋め込まれたサブネットマネージャを有する単一のサブネットとすることができる。
一実施形態によれば、マルチラックトポロジにおいて、各ラック内の2つのリーフスイッチは、2つのレールを表すことができる。単一のラック内の各リーフスイッチは、異なるレールを表す。各ラック内の少なくとも1つのスパインスイッチ。スパインのセットは、2つのグループ、すなわち各レールに1つ、に分割される。単一のスパインが任意のレールにおいてSPOF(単一障害点)であることを避けるために、デュアルおよび3ラック構成の特別な取扱いがあり得る。1つのレール内のリーフスイッチは、同じレール内のすべてのスパインに接続される(が、他のレールには接続されない)。M>1の場合、IRLは各レールからの2つ以上のスパインの対の間にある。インフィニバンドトポロジの場合、冗長SMを提供し、各レール内において2つ以上のスイッチ(または場合によっては専用のホスト)上に位置させることができる。
一実施形態によれば、単一ラックトポロジおよびマルチラックトポロジの両方において、ファットツリールーティングは、レール間リンクを無視することができる。インフィニバンドトポロジの場合、異なるレールは、異なるM_Key(管理キー)を用いて構成され、IRLにわたるサブネットマネージャ対話/干渉がないことを保証する。
一実施形態によれば、「HAパスサービス」(HAPS)は、各サブネット内において完全なHCAノードおよびポートポピュレーションを追跡することができる。(これはまた、複数のHCA構成を伴うホストを処理するためのシステムイメージGUIDも含み得る)。
一実施形態によれば、HAPSは、SAまたは特別なプロトコルからGIDサービス中/GIDサービス外イベント通知を用いることができる。HAPSがホストベースのサービス(MCプロキシインスタンスと同一場所に位置してもよい)として実現される場合、ノードポピュレーションを追跡するためにデフォルトで特別なプロトコルは必要とされないが、HAPSは、関連するHCAポートがメンバーとなり得るパーティションによって制限される範囲を有することになる。
一実施形態によれば、マスタSMと同一場所に位置するHAPS実現例は、SMとのより直接的な対話を有することができ、特定のパーティションのみを表すことに限定されないであろう。
一実施形態によれば、HAPSは、各L2サブネットにおいて「クロスリンク」ポートを有するスイッチを追跡し続けることができ、正しい接続性を保証することができる。これは、「サブネット間マネージャ」がピアルータポート間の正しい接続性を保証し得る方法と同様である。
一実施形態によれば、HAPSは、クロスリンクを介したユニキャスト転送を必要とする「リモートLID」のためにユニキャストLID転送を確立することができる。これは、原則として、関連するL2サブネットにおいてマスタSMから「独立して」行われ得る。その要件は、SMが命令され得ることであろう(特定のLIDを用いるが、それでも、各スイッチに対して、別の構成パラメータに基づく「LinearFDBTop」値を設定する構成ポリシー)。このようにして、各L2サブネットのマスタSMは重複しないLID範囲で動作するであろうが、各L2サブネットのスイッチは、それでも、ユニキャストパケットを他の(冗長)L2サブネットに属する範囲においてDLID値とともに転送できるであろう。
一実施形態によれば、LID範囲境界が線形転送テーブル(Linear Forwarding Table)(LFT)ブロック境界上に整列される限り、HAPSがLFTブロックを更新して、ユニキャスト交差接続性をローカルサブネット内のマスタSMとは独立して(およびそれと同時に)管理することが可能である。実際の更新は、SMP動作を介して直接、またはスイッチ上の特別なエージェントを介して実行されてもよい。
一実施形態によれば、ある代替スキームは、HAPSが、ローカルSMに要求して、関連するクロスリンクポートを、このクロスリンクポートを介したリモート接続性のために現在要求されるすべてのリモートLIDを表すべく考慮するようにすることである。(これはルータポートの処理と同様であるが、ルータポートは通常のサブネット発見/初期化プロセスの間に処理される単一のLIDを必要とするだけである一方、これは完全に新たなSM動作であろう。)
本実施形態では、ローカルマスタSM/SAは、関連のDLIDを反映するリモートポートGIDのためのパスレコードを与えられ得る(どのようにして「サブネット間マネージャ」がルータベースのコンテキストにおいてローカルマスタSMにリモートポートのためのパスレコードを提供するかと類似する)。ルータポートなしでは、SAは、供給された情報に基づいてパスレコードを参照することができるが、クロスリンクポートはローカルサブネットにおける「ローカル宛先」であると理解することができる。
一実施形態によれば、このユニキャストクロスリンク処理が、パスレコードクエリを必要としないスキームと組み合わせられる場合、(例えば、2017年1月26日に提出された出願番号第15,416,899号の「SYSTEM AND METHOD FOR SUPPORTING NODE ROLE ATTRIBUTES IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT(高性能コンピューティング環境でノード役割属性をサポートするためのシステムおよび方法)」と題される米国特許出願、および「Filtering Redundant Packets in Computer Network Equipments(コンピュータネットワーク機器における冗長パケットのフィルタリング)」と題される米国特許第7,991,006号を参照されたく、それらの全体をここに引用により援用する)、ローカルSM/SAは、リモートポートGUIDへの経路についてまったく知る必要がない。
図15は、一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。
一実施形態によれば、この図は、高性能コンピューティング環境において冗長独立ネットワークをサポートするための単一のラック実現例を示す。
一実施形態によれば、単一のラックトポロジ内で、ラックは、2つ以上のリーフスイッチ1512~13を含むことができる。ラックは、追加的におよび任意選択的に、ある数の他のスイッチ1511を含むことができる。これらの追加のスイッチは、2つのリーフスイッチが単一のラックトポロジのための最小のベース構成であるため、任意選択である。
一実施形態によれば、2つのリーフスイッチがスイッチ間リンク(ISL)またはレール内リンク(IRL)のセットによって相互接続される単一のラックトポロジ内では、各リーフスイッチを別個のレールに割り当てることによって、リーフスイッチ区分を通じて、2つ以上のレールを規定することができる。
一実施形態によれば、リーフスイッチ区分がない場合、一般に、パケットバッファ割り当ておよびスイッチHWリソース編成に対するスイッチハードウェア固有の制約に依存して、どのポート番号がISLのために用いられ得るかについての制約があり得る。
一実施形態によれば、このような状況では、各リーフスイッチ1512および1513は、ISLはIRLを表す別個のレールを表す。インフィニバンドファブリックの特定の場合では、各リーフスイッチは、マスタサブネットマネージャである埋め込まれたサブネットマネージャを有する単一のサブネットを表す。
一実施形態によれば、各リーフスイッチ上のポートが、各リーフスイッチ内に2つのレールを提供するように区分される状況では、各リーフスイッチにおけるポートの総数は、2つのパーティションに分割され、各パーティションは、独立または半独立のレールを表す。RoCEファブリックパーティション内では、やはり、ISLのためにどのポート番号を使用できるかに関して制限があり得る。(デフォルトでは、同じポートのセットが、区分されたリーフスイッチの場合および区分されていないリーフスイッチの場合の両方において、ISLに用いられることになる。)
一実施形態によれば、RoCEファブリックとより小さい(例えば、4分の1ラック)構成におけるプライベートファブリックベースのシステムからのクライアントネットワークへのアクセスとの両方を実現するために必要とされるスイッチの数を低減するために、リーフスイッチは、区分され(例えば、リーフスイッチ上のポート)、プライベートRoCEファブリックを、プライベートRoCEファブリックを表す1つの物理的パーティション(すなわち、物理ポート/コネクタのセット)と、クライアントネットワークへのアクセスを表す別の重複しないパーティション(例えば、オンプレミスのデータセンターネットワーク)とに実現するために用いられ得る。したがって、そのような物理的に区分された各スイッチは、プライベートRoCEファブリック専用のポートのセットのみがRoCEファブリック内で接続性を表すことができる(そして逆もまた同様である)、2つの重複しないポートのセットを有することができる。
図16は、一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。
一実施形態によれば、マルチラックトポロジでは、X個のラックが存在することができ、各ラックは、少なくともあるリーフスイッチを含むある数のスイッチを含む。図示の実施形態では、システム1600は、ラック1 1610、ラック2 1620、ラックX-1 1630、およびラックX 1640を含むX個のラックを含む。各ラックは、複数のスイッチを含み、ラック1はリーフスイッチ1612~13およびスパインスイッチ1611を含み、ラック2はリーフスイッチ1622~23およびスパインスイッチ1621を含み、ラックX-1はリーフスイッチ1632~33およびスパインスイッチ1631を含み、ラックXはリーフスイッチ1642~43およびスパインスイッチ1641を含む。各スパインスイッチは、図に示されるように、2つのレール間リンクにも接続される。
一実施形態によれば、マルチラックトポロジにおいて、各ラックは少なくとも2つのリーフスイッチを含み、それらのリーフスイッチは別個のレールに属する。図中、各スイッチが属するレールは、各スイッチに示される「1」または「2」のいずれかで示される。同様に、マルチラックトポロジでは、各ラックに少なくとも1つのスパインスイッチがある。スパインスイッチのセットは、レールごとに1つずつ、2つのグループに分割される。1つのレール内のリーフスイッチは、同じレールのすべてのスパインスイッチに接続されるが、異なるレールのスパインスイッチには接続されない。各レールからのスパインスイッチの2つ以上の対の間には1より多いM個のIRLが存在し得る。インフィニバンドトポロジにおいて、冗長サブネットマネージャは、各レール内の2つ以上のスイッチ(または専用ホスト)上にある。
一実施形態によれば、各ラック内の各リーフスイッチは、ファブリック内のすべてのスパインスイッチの間に分散されるアップリンクのセットを有する。概して、パケットバッファ割り当ておよびスイッチHWリソース編成に対するスイッチHW固有の制約に依存して、アップリンクのためにどのポート番号を使用できるかについての制約があり得る。各スパインスイッチは、ファブリック内のすべてのリーフスイッチの間に分散されるある数のダウンリンクを有する。
一実施形態によれば、スパインスイッチがダウンリンク接続性を提供するよう想定されるだけである限り、異なるポート間で特性に差がある必要はない。しかしながら、特定の構成において、すべてのスパインポートが利用(接続)されるわけではない場合があるので、ダウンリンクに使用できるポート番号を制限する理由が依然として存在する。
一実施形態によれば、マルチラック構成の場合、典型的には、区分されたリーフスイッチの使用はない。一方、上述のように、単一ラック構成は、区分されたリーフスイッチを用いてもよく、用いなくてもよい。したがって、単一ラック構成の場合のファブリック定義は、用いられるリーフスイッチ構成が区分されているか否かに関する情報も含み得る。しかしながら、既存の単一ラック構成を拡張することに基づいて作成される、より小さいマルチラック構成は、1つまたは複数のラック内で、区分されたリーフスイッチを用いることもできる。
一実施形態によれば、単一ラックトポロジおよびマルチラックトポロジの両方が、2つの異なる実施形態、すなわち、完全独立レールおよび半独立レールをサポートすることができる。
一実施形態によれば、完全に独立したレールトポロジの場合、各レールは、独立したスイッチのセットからなり、異なるレールに属するスイッチポート間に接続性は存在しない。これの典型的な使用事例は、サーバ当たり2つ以上のデュアルポートアダプタを有する。
一実施形態によれば、そのような場合、各サーバ(例えば、ホスト)は、各レールへの冗長接続性を有することができる。したがって、任意のサーバについて単一のアダプタまたは単一のアダプタポートに関して障害点が1つもないことは、対応するサーバが、任意の個々のファブリックレール上でデータトラフィックを送信および受信できないことにつながり得る。
一実施形態によれば、2つのサーバが両方とも少なくとも1つの共通レールへの接続性を有するわけではない場合、サーバの対(または、VMの任意の対-サーバの対の各々に1つずつ)は、クラスタノード間のファブリックベースの通信が必要とされる場合に同じ論理クラスタに属することはできない。
一実施形態によれば、各サーバ内のアダプタの非重複サブセットがレールの非重複セットに接続される(すなわち、レールの非重複セットのうちの2つ以上に接続するポートを有するアダプタが存在しない)場合、異なるレールは、通信プロトコルならびにスイッチファームウェア、ファブリック管理ソフトウェア、アダプタファームウェアおよびアダプタドライバソフトウェアの両方を含むソフトウェアおよびファームウェアバージョンに関しても独立している。
一実施形態によれば、本明細書に記載されるシステムおよび方法は、半独立レールをさらにサポートすることができる。
一実施形態によれば、半独立レールトポロジにおいて、各レールは、独立したスイッチのセットからなり、異なるレールに属するスイッチポート間に通常の場合にデータトラフィックに用いられる接続性はない。しかしながら、異なるレールにおけるスイッチ間には、同じレールへの動作可能な接続性を双方が有するわけではないために他の態様では通信することができないであろうサーバの対間に接続性を提供するために用いられるよう、「休眠中の」物理的接続性が存在し得る。そのような接続は、IRLによって、または他の手段によって実現され得る。
一実施形態によれば、この構成の典型的な使用例は、各アダプタポートが異なるレールにおいてあるリーフスイッチに接続される単一のデュアルポートアダプタだけを典型的に有する場合である。この場合、任意のサーバに対する任意の単一のポート/リンク障害は、それが、対応するファブリックレール上でデータトラフィックを送信または受信することができないことを意味する。
一実施形態によれば、2つのサーバが両方とも少なくとも1つの共通レールへの接続性を有するわけではない場合、異なるレール内のスイッチ間の「休眠」接続性の一部を利用して、この特定のサーバの対間の接続性を再確立し得るか、または代替的にそのサーバの対(または、VMの任意の対-サーバの対の各々に1つずつ)は、クラスタノード間のファブリックベースの通信が必要とされる場合に同じ論理クラスタに属することはできない。
図17は、一実施形態による、高性能コンピューティング環境において冗長独立ネットワークをサポートするためのシステムを示す。
より具体的には、この図は、IRLゲートウェイを有するデュアルレールトポロジを示す。
一実施形態によれば、レールA1701およびレールB1721などの2つ以上のレールを設けることができる。図示されないが、各独立レールは、1つまたは複数の相互接続されたスイッチ、ならびにMCプロキシ1702およびMCプロキシ1722などのマルチキャストプロキシ(MCプロキシ)を含むことができる。さらに、各レールは、HAPS1703およびHAPS1723などの高可用性パスサービス(HAPS)を含むことができる。レールは、ホスト1 1730~ホストN 1740などの、いくつかのホストに接続され得る。図示されていないが、各ホストは、1つまたは複数のホストチャネルアダプタを介してレールに接続された1つまたは複数のエンドノードを含むことができる。さらに、エンドノードは、仮想化された環境に関して上述したように、(例えば、仮想スイッチ、仮想ポート、または上述のもしくは本質的に同様の他の同様のアーキテクチャを利用して、)1つまたは複数の仮想マシンを含むことができる。一実施形態によれば、各ホストは、MP選択1731およびMP選択1741などのマルチパス選択コンポーネントを含むことができる。
一実施形態によれば、レール間リンク1705~1708に対する接続性を切り換えるための直接切換の代わりに、いくつかのゲートウェイインスタンス1750および1752を設けることができ、各ゲートウェイインスタンスはパケット処理エンジン1751および1753を提供する。
一実施形態によれば、パケット処理エンジン(PPS)は、ゲートウェイノードなどの、トポロジ内のノードに設けることができる。
一実施形態によれば、冗長ファブリック間の独立性のレベルを増加させるために、制御およびデータトラフィックの両方のための直接的なスイッチ-スイッチリンクの代わりに、デュアルポート高性能パケット処理エンジン(PPS)を用いることができる。
一実施形態によれば、これらの種類のパケット処理エンジンは、追加の複数の目的のためにスケーラブルな態様で用いることができる。これらのPPSは、異なるシステムインスタンスの間にファイアウォールを提供するために用いることができる。PPSは、異なるプライベートファブリックを接続するようクラウド/データセンタネットワークへのゲートウェイを提供するために用いることができる。PPSは、IBベースのプライベートファブリックとEnet(イーサネット)ベースのプライベートファブリックとの間にゲートウェイを提供するために用いることができる。PPSは、プライベートファブリックとクライアントネットワークとの間にゲートウェイを提供するために用いることができる。
一実施形態によれば、システムおよび方法は、物理的および論理的接続性を追跡することができる。これは、接続されたエンドポートのリーフスイッチ監視およびスイッチ間接続性を利用することによって達成することができる。さらに、システムおよび方法は、すべての関連するエンドノードおよびポートに関するすべての関連する接続性ならびに電源ON情報をすべての関連するピアノードに配信するために階層的クエリおよび報告スキームを利用することができる。そのような報告は、ローカルリーフスイッチへの完全な接続性を有するが中間ファブリックにおける接続性は制限されるノードおよびポートも含み得る。
さらに、システムおよび方法は、電源が入っているアダプタ/NICファームウェア/ドライバを利用することができ、-経路再バランス化およびフェイルオーバーを容易にすることに加えて、追加のピア-ピアチェックの必要性を低減/回避するために、(リンク障害に加えて)ノード電源OFFを検出し報告するよう、スキームをチェックすることができる。
一実施形態によれば、システムおよび方法は、マルチキャスト、アドレス解決、および経路選択をサポートすることができる。ARPのようなべき等マルチキャスト動作は、複数のレール上で並行して行うことができる。マルチキャストのための「少なくとも1回」セマンティクスを保証するために、選択的複製が許可されるか、またはマルチキャストトラフィックは、受信側が単一のMCメッセージを1回だけ処理することを可能にする拡張プロトコルを用いることができる。同じノードへの複数の同時アドレス解決要求は、異なるレール上の複数のインターフェイスによって応答されることができ、次いで、要求側は、さらなる通信のために使用すべきレールを選択することができる。
図18は、一実施形態による、高性能コンピューティング環境における冗長独立ネットワークのための方法のフローチャートである。
ステップ1810において、本方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、1つまたは複数のスイッチと、1つまたは複数のラックとを提供することができ、1つまたは複数のラックの各々は、1つまたは複数のスイッチのセットを含み、1つまたは複数のスイッチの各セットは、少なくともリーフスイッチを含み、さらに、複数のホストチャネルアダプタを提供することができ、複数のホストチャネルアダプタのうちの少なくとも1つはファームウェアおよびプロセッサを含み、さらに、複数のホストを提供することができる。
ステップ1820において、本方法は、2つ以上のレールをプロビジョニングすることができ、2つ以上のレールは、複数のホスト間に冗長接続性を提供する。
ステップ1830において、本方法は、複数のホスト間のデータトラフィックを、2つ以上のレールのうちのあるレールに分離することができる。
一実施形態によれば、高可用性クラスタネットワーク/ファブリックを実現するとき、冗長性は、ファブリックの1つの領域における問題がファブリックの他の冗長領域に伝播するリスクを最小化する態様で実現されることが重要である。
一実施形態によれば、また、ファブリック内で回復またはフェイルオーバーアクションが必要とされるとき、そのようなアクションが、著しい性能または順方向進行(forward progress)問題を引き起こし得る負荷を、制御面またはデータ面インフラストラクチャのいずれにも課さないことが重要である。
一実施形態によれば、システムサイズをスケーリングし、レガシー高可用性ホスト通信ランタイムシステムと互換性があるようにするために、各ホストは、ファブリックへの冗長インターフェイス接続性を有することができ、そのような冗長インターフェイスの各々は、冗長ファブリック内の任意の他のインターフェイスに到達することができる。特に、これは、2つのホストが各々1つのインターフェイスと問題を有する場合、それらは依然として残りの動作可能なインターフェイスを用いて通信することができるはずであることを示唆する。したがって、インターフェイス冗長性は、各個々のホストに適用されることができ、どのインターフェイスが他のホスト上で利用可能であるかにまったく依存しない。
一実施形態によれば、ホストインターフェイスまたはスイッチが故障するたびに、関連する通信を開始するためにどのインターフェイスが用いられるかに依存せずに、そのような通信を再確立することが可能である。このことは、ネットワークレベル冗長性が、ネットワークの一方に注入されるパケットが他方のネットワークに転送されることができない2つの完全に独立したネットワークに基づき得ないことを暗示する。したがって、冗長ネットワーキングコンポーネント間の独立性を最大にしながらレガシーHA通信方式をサポートするために、「半独立レール」モデルを用いることができる。
「半独立」HAファブリックに対する目標:
一実施形態によれば、各冗長ホストインターフェイスは、HAファブリックにおいて、独立したL2サブネット(別名「レール」)に接続するべきである。
一実施形態によれば、2つのL2サブネットにまたがる単一のブロードキャストドメインが存在することができ、それは、単一のインターフェイスからのARP要求が、他のすべての動作可能なホストインターフェイスに、各そのようなインターフェイスがどのL2サブネットに直接接続されるかとは無関係に、到達することを可能にする。
一実施形態によれば、ホスト間のデータトラフィック(例えば、RDMA)は、L2サブネットのうちの少なくとも1つがホストの各々について少なくとも1つの接続された動作可能なインターフェイスを有する限り、L2サブネット間で交差すべきではない。
一実施形態によれば、通信する必要がある任意の対のホストが、両方とも、単一のL2サブネット上においてインターフェイス間でデータトラフィックを確立することができるというわけではないときはいつでも、L2サブネット間の経路が、関連するホスト間において必要なデータトラフィックのために確立されるべきである。
一実施形態によれば、各ホスト上のホストスタックは、各ホスト上のデフォルト判断が異なる「レール」を含む場合であっても、特定の他のホストとの通信のためにどのインターフェイスを用いるかを容易に判断することができる。
一実施形態によれば、インフィニバンドの場合、ホストがL2サブネット境界を横切るSA要求を開始することは可能であるべきではない。
一実施形態によれば、ホストが一方のL2サブネットから他方のL2サブネットへ拡散する輻輳を引き起こすことは可能であるべきではない。
インフィニバンドファブリックの具体的な実現例:
HAパスサービス(HAPS)
一実施形態によれば、「HAパスサービス」(HAPS)は、各サブネット内において完全なHCAノードおよびポートポピュレーションを追跡することができる。(これはまた、複数のHCA構成を伴うホストを処理するためのシステムイメージGUIDを含み得る)。
一実施形態によれば、HAPSは、SAまたは特別なプロトコルからGIDサービス中/GIDサービス外イベント通知を用いることができる。HAPSがホストベースのサービス(MCプロキシインスタンスと同一場所に位置してもよい)として実現される場合、ノードポピュレーションを追跡するためにデフォルトで特別なプロトコルは必要とされないが、HAPSは、関連するHCAポートがメンバーとなり得るパーティションによって制限される範囲を有する。
一実施形態によれば、マスタSMと同一場所に位置するHAPS実現例は、SMとのより直接的な対話を有することができ、特定のパーティションのみを表すことに限定されないであろう。
一実施形態によれば、HAPSは、各L2サブネットにおいて「クロスリンク」ポートを有するスイッチを追跡し続けることができ、正しい接続性を保証することができる。これは、「サブネット間マネージャ」がピアルータポート間の正しい接続性を保証し得る方法と同様である。
一実施形態によれば、HAPSは、クロスリンクを介したユニキャスト転送を必要とする「リモートLID」のためにユニキャストLID転送を確立することができる。これは、原則として、関連するL2サブネットにおけるマスタSMから「独立して」行われ得る。その要件は、SMが命令され得ることであろう(特定のLIDを用いるが、それでも、各スイッチに対して、別の設定パラメータに基づく「LinearFDBTop」値を設定する設定ポリシー)。このようにして、各L2サブネットのマスタSMは重複しないLID範囲で動作するであろうが、各L2サブネットのスイッチは、それでも、ユニキャストパケットを他の(冗長)L2サブネットに属する範囲においてDLID値とともに転送できるであろう。
一実施形態によれば、LID範囲境界が線形転送テーブル(Linear Forwarding Table)(LFT)ブロック境界上に整列される限り、HAPSがLFTブロックを更新して、ユニキャスト交差接続性をローカルサブネット内のマスタSMとは独立して(およびそれと同時に)管理することが可能である。実際の更新は、SMP動作を介して直接、またはスイッチ上の特別なエージェントを介して実行されてもよい。
一実施形態によれば、代替スキームは、HAPSが、ローカルSMに要求して、関連するクロスリンクポートを、このクロスリンクポートを介したリモート接続性のために現在要求されるすべてのリモートLIDを表すべく考慮するようにすることである。(これはルータポートの処理と同様であるが、ルータポートは通常のサブネット発見/初期化プロセスの間に処理される単一のLIDを必要とするだけである一方、これは完全に新たなSM動作であろう。)
本実施形態では、ローカルマスタSM/SAは、関連のDLIDを反映するリモートポートGIDのためのパスレコードを与えられ得る(どのようにして「サブネット間マネージャ」がルータベースのコンテキストにおいてローカルマスタSMにリモートポートのためのパスレコードを提供するかと類似する)。ルータポートなしでは、SAは、供給された情報に基づいてパスレコードを参照することができるが、クロスリンクポートはローカルサブネットにおける「ローカル宛先」であると理解することができる。
一実施形態によれば、このユニキャストクロスリンク処理が、パスレコードクエリを必要としないスキームと組み合わせられる場合、ローカルSM/SAは、リモートポートGUIDへの経路についてまったく知る必要はない。
「クロスリンク」ポートの識別および処理
一実施形態によれば、デフォルトでは、冗長インフィニバンドL2サブネットは、任意のクロスリンク接続性が提供される前、および/またはいずれかのL2サブネットにおいて任意のSMがアクティブとなる前に、非重複M_Key範囲で設定され得る。このようにして、各冗長サブネット内のSMは、近隣の冗長サブネットに接続するローカルサブネット内のスイッチポートを超えて何かを発見または構成しようとはしないであろう。
一実施形態によれば、既存の動作可能な単一のサブネットベースのシステムは、通常の動作の著しい中断なしにデュアルL2サブネット構成に変換することができることは期待されない。したがって、この種の再設定は、システムサービスが動作可能であることが期待されない保守ウィンドウにおいて行われることが期待される。
一実施形態によれば、ベンダ固有SMA属性を用いて、スイッチの明示的な構成を特定の冗長L2サブネットに属するものとして可能にするプロトコルを確立すること、およびどのスイッチポート番号がピア冗長L2サブネットへのクロスリンク接続性を表すことが想定されるかも可能である。
一実施形態によれば、ベンダ固有SMA属性の使用は、「サブネット間マネージャ」が仮想ルータポートを処理する方法と同様であろう。しかしながら、この文脈ではルータポートもポート仮想化も存在しないので、実現例はまったく異なることになる。
一実施形態によれば、詳細な構成情報、および場合によってはノード記述サブストリングへの依存に基づいて、特別なベンダ固有SMA属性を使用せずにクロスリンクポートを識別し、取り扱うことが可能であるが、これはより複雑であり、構成エラーにもより多く晒されるであろう。
イーサネット(プライベート)ファブリックの具体的な実現態様:
一実施形態によれば、相互接続ファブリック内の冗長性は、1つの冗長部分における障害/問題が他の部分に伝播しないことをできる限り確実にすべきである。最終的に、これは、物理的および論理的に独立したインフラストラクチャを意味する。しかしながら、これの代価は、各ノードが、各そのような独立したファブリックへの冗長な接続性を有し得るか、またはそうでなければ、単一リンク問題を各々有する2つ以上のサーバ間の接続性を回復する能力が大幅に低減されることである。各個々のサブネットについて管理または障害封じ込めに影響を及ぼすことなく、2つの独立したサブネットの間にイーサネットリンク接続を提供するための新たな方法を利用することによって、両方の目標に同時に対処することが可能である。
一実施形態によれば、イーサネットプライベートファブリックは、スパニングツリーおよびリンクアグリゲーション変形の組合せを伴う従来のイーサネットユニキャスト転送スキームを用いて実現され得るか、または単一のIBサブネット内のIBパケットの転送が実現されるのと同じ態様で個々のユニキャスト宛先アドレスの明示的な転送を用いて実現され得る。
一実施形態によれば、個々のユニキャストアドレスを明示的に転送する場合、ハイレベルスキームは以下のとおりである:
一実施形態によれば、スイッチとポートとの間およびスイッチポートとエンドポートとの間のポート-ポート接続性に関しての完全なトポロジが、関連するスイッチのセットから収集される。(最適化は、最初の完全な発見の後にトポロジデルタを収集することのみを含み得る。)
一実施形態によれば、トポロジ情報は、対応するインフィニバンドファブリックに用いられる同じルーティングロジック(別名ルーティングエンジン)によって処理され得るフォーマットに変換される。
一実施形態によれば、ルーティングエンジンは、(IBファブリックの場合と同様の他の関連する最適化および分散化基準と同様に)物理エンドポートが通信することを許可される(例えばVLAN)ポリシーとともにトポロジを用い、トポロジにおいて各スイッチインスタンスについてエンドポートアドレスをポートにマッピングするタプルのリストを生成する。
一実施形態によれば、結果として生じる(デルタ)転送エントリリストは、スイッチ(すなわち、更新を必要とするもの)に配信される。
一実施形態によれば、マルチキャストは、いずれの場合にも、エンドポートメンバシップ処理およびMCパケットの転送の両方に対して、レガシーイーサネット方式を用いて実現され得る。
マルチキャストプロキシサービス
一実施形態によれば、インフィニバンドの場合と同じ/同様の考慮事項が適用される。プロキシとされたMCパケット内のL2ソースアドレスが、対応するARP要求「送信側ハードウェアアドレス」と同じでない場合、ARP要求は破棄され得るか、またはユニキャストARP応答の生成は正しくないL2宛先アドレスをもたらし得る。インフィニバンドの場合のように、特別なホストスタック処理への依存を避けるために、最良の方策は、プロキシが、プロキシとされたMCパケットを、他のL2サブネットにおいて元の送信側に対応するソースL2アドレスで送信することができることである。
HAパスサービス(HAPS)
一実施形態によれば、「HAパスサービス」-HAPSは、各サブネットにおいて完全なエンドポートポピュレーションを追跡することができる。
一実施形態によれば、同じNICまたは同じホストに属するポートは、2つのサブネット間において相関させることができる。
一実施形態によれば、IBの場合のように、関連するユニキャストトラフィックが2つのサブネット間においてクロスリンクを介して転送される場合にのみホストの対が通信できる状況を識別することができる。
一実施形態によれば、明示的なエンドポートアドレス転送がユニキャストトラフィックに用いられる場合、処理はIBの場合と非常に類似することになる。しかしながら、レガシーイーサネットユニキャスト転送の場合、および一般的な場合、これは、ユニキャストトラフィックに対してプロキシ型ゲートウェイ機能も必要とする可能性がある。
一実施形態によれば、イーサネットファブリック内のユニキャスト転送はMACに基づくので、さまざまなL2サブネットに用いられるMAC範囲に制限はない。-唯一の制約は、各ホストポートが、関連するサイト/ドメイン内で少なくとも一意のMACを有するべきであることである。プライベートファブリックの場合、関連するドメインは、2つの冗長L2サブネットである。
一実施形態によれば、スイッチがL2および/またはL3アドレスのいずれかに基づいて転送を実行することができる場合、L2 MACの代わりにL3(IP)アドレスに基づいて転送を用いることも可能である。
「クロスリンク」ポートの識別および処理
一実施形態によれば、個々のスイッチが、各スイッチからの近隣接続性情報と組み合わされた異なる「レール」に属するように構成されることに基づいて、同じレール/サブネット(ファットツリー)トポロジに属するスイッチ-スイッチ接続性および意図された(または偶発的な...)クロスリンク接続性の両方を識別することが可能である。
一実施形態によれば、クロスリンク接続性は、その場合、ユニキャスト接続性またはマルチキャスト接続性のいずれの通常転送についても決して考慮されないことになるが、意図された交差接続性は、明示的なエンドポートアドレス転送の場合においてレール間経路のバックアップに用いられることになる。上で指摘したように、レガシーイーサネットユニキャスト転送スキームが用いられる場合のクロスリンクの使用は、一般に、異なるレール間のマルチキャスト転送およびユニキャスト転送の両方に対してプロキシ/ゲートウェイ機能を必要とするであろう。
一実施形態によれば、RoCEベースのRDMAトラフィックのためにイーサネットスイッチおよびNICを構成するとき、関連するリンクは、通常、利用可能なパケット受信バッファ容量がある閾値を下回るときはいつでも、ダウンストリームスイッチまたはNICポートがアップストリーム送信スイッチまたはNICポートに対して「フレーム停止」を生成する「無損失」モードで設定される。次いで、送信ポートは、ダウンストリームポートがある閾値を超えるバッファ容量を再び有するまで、関連する優先度(もしあれば)でより多くのパケットを送信することを停止する(一時停止する)。
一実施形態によれば、パケットフロー制御がネットワーク全体にわたるバックプレッシャにつながり得る他のネットワーキング技術と同様に、無損失RoCEファブリックトポロジは、デッドロックのない態様でルーティングされなければならない。また、順方向進行を互いとは独立して有するとされるフローは、異なる優先度を用いる必要がある。
一実施形態によれば、デュアルレールトポロジの場合、単一のレールの内部トポロジのみがデッドロックがないことに関して考慮されなければならないことを保証することは理にかなっている。クロスリンクを「損失がある」(すなわち、ダウンストリームスイッチポートはフレーム一時停止を送信しない)として構成することにより、クロスリンクによって接続されたレールにおいてトポロジを考慮することなく、各レールにおいてデッドロックのないトポロジのルーティングを提供することができる。代わりに、クロスリンクポートは、デッドロックのないルーティングの観点からローカルレール内のエンドポートと見なされ、したがって、デッドロックにつながり得るサイクル依存性の一部ではあり得ない。
一実施形態によれば、無損失クロスリンク構成はまた、一方のレールにおける輻輳が他方のレールに拡散しないことを意味する。したがって、冗長レール間の独立性に関する重要な要件がそれによって満たされる。
レール番号関連付け
一実施形態によれば、プライベートインフィニバンドまたはRoCE物理ファブリック構成(本明細書で用いられる場合、「ファブリック」または「プライベートファブリック」という用語は、プライベートインフィニバンドまたはRoCEベースのファブリックを指すことがある)は、特定の数のラックに関して定義され、各ラックは関連付けられたスイッチのセットを伴い、各そのような関連付けられたスイッチは特定の役割(リーフまたはスパイン)を有する。
一実施形態によれば、より小さな(例えば、4分の1ラック)構成におけるプライベートファブリックベースのシステムからのクライアントネットワークへのアクセスと同様に、あるスキームは、プライベートファブリックを実現するために用いられるリーフスイッチを、プライベートファブリックを表す1つの物理パーティション(すなわち、物理ポート/コネクタのセット)と、クライアントネットワーク(例えば、オンプレミスのデータセンタネットワーク)へのアクセスを表す別の非重複パーティションとに「区分する」ことである。したがって、そのような物理的に区分された各スイッチは、プライベートファブリック専用のポートのセットのみがプライベートファブリック内で接続性を表すことができる(そして逆もまた同様である)、2つの重複しないポートのセットを有することになる。
一実施形態によれば、マルチラック構成の場合、典型的には、区分されたリーフスイッチの使用はない。一方、上述のように、単一ラック構成は、区分されたリーフスイッチを用いてもよく、用いなくてもよい。したがって、単一ラック構成の場合のファブリック定義は、用いられるリーフスイッチ構成が区分されているか否かに関する情報も含むことになる。しかしながら、既存の単一ラック構成を拡張することに基づいて作成される、より小さいマルチラック構成は、1つまたは複数のラック内で、区分されたリーフスイッチを用いることもできる。
一実施形態によれば、2つ以上の独立したネットワークまたは「ファブリックレール」または単に「レール」を有するファブリック構成をサポートするために、各スイッチもレール番号に関連付けられることになる。したがって、そのような「レール」の各々は、他のレールから独立している、接続性およびトラフィックパターンを伴う1つまたは複数のスイッチのトポロジを表すことになる。(すなわち、1つのレール内のスイッチと別のレール内の別のスイッチとの間には、通常の場合にデータトラフィックに用いられるリンクは存在しない。)
一実施形態によれば、プライベートファブリック定義は、以下のハイレベルな特徴を容易にする:
●すべての定義されたスイッチの存在および可用性は、実行時に自動的にチェックされることができ、例外は直ちに報告されることができる。
●各スイッチ(およびローカルスイッチポート)の構成は、完全なファブリック内におけるその役割および接続性に従って自動的に定義および検証されることができる。
●完全なファブリックの物理的接続性は、システムのタイプごとに予め定義された規則に従って検証することができる。
●ファブリック内のスイッチ間の正しくない接続性および/または劣化した接続性(すなわち、ケーブルの誤配置および/または十分な数のリンクの欠如)は、自動的に検出および報告されることができ、その一方で、(例えば、潜在的なパケット転送ループまたはデッドロックを防止するために、)正しくない接続性を防ぐことにより、追加の否定的な効果がデータトラフィックに用いられないことを保証する。
〇特別なケースは、高い誤り率のためにリンクが無効化されているシナリオである。
●プライベートファブリック内の定義されたスイッチと、定義されたファブリック内において予期されていないデバイスを表す別のスイッチまたは他のネットワークデバイスとの間の任意の接続性を報告し、ファブリックの動作に影響を与えないようにすることができる。
一実施形態によれば、上で概説した基本的なファブリック定義は、スイッチトポロジに焦点を当て、ファブリックの一部であるとされる(またはその一部であり得る)サーバの数および/またはタイプに関連しない。したがって、デフォルトでは、さまざまなファブリック構成タイプが表す最大数内の任意の数の物理サーバがファブリック内に存在し得る。また、このようなサーバは、基本的なファブリック定義に影響を及ぼすことなく動的に追加および削除することができる。しかしながら、そのようなプライベートファブリックベースのシステムは、物理サーバが毎日追加されるか、取り除かれるか、または交換されるという意味において非常に動的であるというシナリオはほとんどない。-物理的構成は、典型的には、何週間および何ヶ月にもわたって同じままであることが予期される。
一実施形態によれば、サーバ構成がかなりの期間にわたって安定したままであることが期待されることに基づいて、ファブリック定義は、システム内および/または各ラック内に存在するサーバの予期される数およびタイプを定義するパラメータで任意選択肢的に拡張され得る。
一実施形態によれば、この拡張されたファブリック定義は、以下の追加のハイレベルな特徴を容易にする:
●すべての定義されたサーバの(プライベートファブリックへの接続性に関する)存在および可用性は、実行時に自動的にチェックされることができ、例外は直ちに報告されることができる。
●現在定義されているファブリック構成において期待されないサーバ(タイプおよび/または数)の(プライベートファブリックへの接続性に関する)存在は、直ちに検出および報告されることができる。
●追加のポリシーは、予想外のサーバタイプまたは過剰数がデータトラフィックに対して受け入れられるべきか否かを決定することができるが、デフォルトは「報告および受け入れ」であろう。
●区分されたリーフスイッチを有する単一ラック構成の場合、サーバとプライベートファブリックとの間において観察される接続性を、対応するサーバとクライアントネットワークとの間において観察される接続性と相関付けることができる(すなわち、クライアントネットワークへのサーバの接続に関してポリシーが存在する限り)。
〇クライアントネットワークに接続されているがプライベートファブリックには接続されていない任意のサーバを識別することができる(また、クライアントネットワーク接続性を有することが想定されるサーバについても逆である)。
〇ローカルラック内のサーバとクライアントネットワークとの間の接続性に加えて、クライアントネットワークスイッチパーティションに関するアップリンク接続性を監視することも可能である。
サポートされるファブリックトポロジ:
一実施形態によれば、「単一レール」システムの場合、サポートされるトポロジは、2つの主要なクラスに分割され得る:
●スイッチ間リンク(ISL)のセットによって相互接続される2つのリーフスイッチを有する単一ラックトポロジ:
〇リーフスイッチ区分がない場合では:
◆概して、パケットバッファ割り当ておよびスイッチHWリソース編成に対するスイッチHW固有の制約に依存して、ISLのためにどのポート番号を使用できるかについての制約があり得る。
〇リーフスイッチ区分を伴うと:
◆スイッチポートの合計セットは、2つのパーティションに分割される。
◆RoCEファブリックパーティション内では、ここでも、ISLのためにどのポート番号を使用できるかに関して制限があり得る。(デフォルトでは、同じポートのセットが、区分されたリーフスイッチの場合および区分されていないリーフスイッチの場合の両方において、ISLに用いられる。)
◆クライアントネットワークパーティションの場合、どのポートがローカルサーバ接続性のために用いられ、どのポートがアップリンクのために用いられるかについて制限またはデフォルトがあることもあり得る。
●各ラックが少なくとも2つのリーフスイッチを有し、2つ以上のスパインスイッチが独立したラックに配置されているマルチラックトポロジ(最大Nラック)。
〇各ラック内の各リーフスイッチは、ファブリック内のすべてのスパインスイッチの間に分散されるアップリンクのセットを有する。
◆概して、パケットバッファ割り当ておよびスイッチHWリソース編成に対するスイッチHW固有の制約に依存して、アップリンクのためにどのポート番号を使用できるかについての制約があり得る。
〇各スパインスイッチは、ファブリック内のすべてのリーフスイッチの間に分散されるある数のダウンリンクを有する。
◆スパインスイッチがダウンリンク接続性を提供するよう想定されるだけである限り、異なるポート間で特性に差があるとはされない。しかしながら、特定の構成において、すべてのスパインポートが利用(接続)されるわけではない場合があるので、ダウンリンクに使用できるポート番号を制限する理由が依然として存在する。
一実施形態によれば、マルチレールトポロジの場合、各個々のファブリックレールは、上で概説したように、単一ラックまたはマルチラックトポロジのいずれかに対応することができる。しかしながら、各ラック内では、異なるリーフスイッチは異なるレールに属することができ、スパインスイッチの全セットを定義されたレール間で分割することができる。冗長性のレベルおよび各レール内のバイセクション帯域幅を増加させるために、マルチレール構成におけるすべてのレールにわたるスイッチの総数は、対応する単一レール構成におけるものより高くなり得る。
一実施形態によれば、ファブリックレール独立性に関して2つの主なモデル、すなわち完全に独立したレールおよび半独立のレールがある。
●完全に独立したレール:
〇各レールは、独立したスイッチのセットからなり、異なるレールに属するスイッチポート間に接続性は存在しない。
〇これの典型的な使用事例は、サーバ当たり2つ以上のデュアルポートアダプタを有する。
◆この場合、各サーバは、各レールへの冗長接続性を有することができる。したがって、任意のサーバについて単一のアダプタまたは単一のアダプタポートに関して障害点が1つもないことは、対応するサーバが、任意のファブリックレール上でデータトラフィックを送信および受信できないことにつながり得る。
〇2つのサーバが両方とも少なくとも1つの共通レールへの接続性を有するわけではない場合、サーバの対(または、VMの任意の対-サーバの対の各々に1つずつ)は、クラスタノード間のファブリックベースの通信が必要とされる同じ論理クラスタに属することはできない。
〇各サーバ内のアダプタの非重複サブセットがレールの非重複セットに接続される(すなわち、レールの非重複セットのうちの2つ以上に接続するポートを有するアダプタが存在しない)場合、異なるレールはまた、通信プロトコルならびにスイッチファームウェア、ファブリック管理ソフトウェア、アダプタファームウェアおよびアダプタドライバソフトウェアの両方を含むソフトウェアおよびファームウェアバージョンに関しても独立している。
●半独立レール:
〇各レールは、独立したスイッチのセットからなり、異なるレールに属するスイッチポートの間には、通常の場合にデータトラフィックに用いられる接続性はない。しかしながら、異なるレールにおけるスイッチ間には、同じレールへの動作可能な接続性を双方が有するわけではないために他の態様では通信することができないであろうサーバの対間に接続性を提供するために用いられるよう、「休眠中の」物理的接続性が存在し得る。
〇この構成の典型的な使用例は、各アダプタポートが、典型的には、異なるレールにおいてあるリーフスイッチに接続される単一のデュアルポートアダプタだけを有する場合である。
◆この場合、任意のサーバに対する任意の単一のポート/リンク障害は、それが、対応するファブリックレール上でデータトラフィックを送信または受信することができないことを意味する。
〇2つのサーバが両方とも少なくとも1つの共通レールへの接続性を有するわけではない場合、異なるレール内のスイッチ間の「休眠」接続性の一部を利用して、この特定のサーバの対間の接続性を再確立し得るか、またはそのサーバの対(または、VMの任意の対-サーバの対の各々に1つずつ)は、クラスタノード間のファブリックベースの通信が必要とされる同じ論理クラスタに属することはできない。
一実施形態によれば、各スイッチは、それが属するファブリックの種類ならびにそのファブリックにおけるそれ自体の役割およびレール関連付けに関する持続的な知識を有することができる。
一実施形態によれば、各スイッチは、定義されたファブリック内における他のすべてのスイッチのアイデンティティ、役割、およびレール関連付けに関する持続的な知識を有することができる。
一実施形態によれば、各スイッチは、それのファブリック関連構成情報を、エクスポートされたLLDPタイプ情報を介して、直接接続されたピアポートに反映することができる。
一実施形態によれば、単一ラックファブリック内の各リーフスイッチは、他のリーフスイッチに対する必要なISL接続性(もしあれば)に関する事前知識を有することができる。
一実施形態によれば、単一ラックファブリック内の各区分されたリーフスイッチは、どのポートがどのパーティションに属するかを追跡し、そのパーティションタイプを、エクスポートされたLLDPタイプ情報の一部として反映することができる。
一実施形態によれば、マルチラックファブリック内の各リーフスイッチは、そのファブリック内のスパインスイッチに対する必要なアップリンク接続性に関する事前知識を有することができる。
一実施形態によれば、マルチラックファブリック内の各スパインスイッチは、そのファブリック内のリーフスイッチに対する必要なダウンリンク接続性に関する事前知識を有することができる。
一実施形態によれば、各スイッチは、各動作可能なスイッチポートの近隣接続性を、そのポートを通じてデータトラフィックを有効化することなく、決定することができる。
一実施形態によれば、各スイッチは、発見された近隣接続性がそのスイッチの正当な接続性を表すかどうか、およびそうである場合、ローカルポートをどのように構成すべきかを、動的に決定することができる。
一実施形態によれば、各スイッチは、関連する正当な接続性についての事前規則に従ってスイッチポートを動的に構成することができ、また、そのポートを通るデータトラフィックを可能にする前に、この構成を関連するピアポートと同期させることができる。
一実施形態によれば、各スイッチは、その物理的近隣接続性をファブリック内の他のすべてのスイッチと動的に共有することができる。
一実施形態によれば、各スイッチは、管理ネットワーク上において任意の他の定義されたスイッチと通信するその能力を監視することができる。
一実施形態によれば、各スイッチは、それが通信することができる他のスイッチのリストをファブリック内の他のすべてのスイッチと動的に共有することができる。
一実施形態によれば、各スイッチは、物理的接続性の変化を、正当、不正確、または劣化に関するそのような接続性のステータスとならんで、および管理ネットワーク上においてファブリック内の他のスイッチと通信する能力の変化を反映するログ情報を、提供すべきである。
一実施形態によれば、ファブリックレベルでは、スイッチの対/セット間の管理接続性の欠如、およびファブリックの残りの部分からの特定のスイッチに対する到達可能性の完全な損失を含む、ファブリックレベル接続性の問題に関する調整されたロギングおよびイベント報告があるべきである。
一実施形態によれば、特定のスイッチとのファブリックレベル接触の予想外の(すなわち、予想されるリブート期間より長い間の)損失のような重要な事象は、自動サービス要求(ASR)としてサポートされるべきである。
一実施形態によれば、リーフスイッチは、ファブリックにおける予想され必要とされるサーバの存在および接続性に関するポリシー(もしあれば)に従って物理的サーバ接続性を監視することができる。
一実施形態によれば、区分されたリーフスイッチは、ファブリックにおける予想され必要とされるサーバの存在に関するポリシー(もしあれば)に従って、サーバへのクライアントネットワーク接続性を監視することができなければならない。
一実施形態によれば、マルチレールファブリック構成の場合、各スイッチは、すべての通常の接続性が同じレールに属するスイッチ間にあることを保証することができる。
一実施形態によれば、半独立マルチレールファブリック構成の場合、異なるレール内のスイッチ間の任意の物理的接続性は、必要なレール間接続性に従うと検証されなければならず、この接続性は、その場合、通常の場合のデータトラフィックのために用いられるべきではない。
異なるスイッチ役割およびトポロジに対するファブリック接続性チェック:
一実施形態によれば、各個々のスイッチは、それがその役割およびそれが属するファブリック構成/トポロジのタイプに従って正しい接続性を有することを検証することができる:
●単一ラックの単一レール構成における区分されたリーフスイッチ:
〇スイッチパーティション内に、ISLを表す少なくともN1-1個のポートが存在するべきである。
◆どのポート番号をISLとして使用できるかに関する制約がある場合には、ISLを表すすべてのポートは、関連するポートのセット内になければならない。
◆最大でN1-2個のISLが存在するべきである。
〇スイッチパーティション内には、ホストアダプタポートに接続する、多くてN2個のポートが存在し得る。
〇各ISLは、区分された、リーフスイッチ役割を有する、単一のリモートスイッチに接続しなければならず、ピアポートはISLとして構成され、リモートスイッチは同じ単一のファブリックインスタンスに属する。
●単一ラックの単一レール構成における(区分されていない)リーフスイッチ:
〇ISLを表す少なくともN3-1個のポートが存在するべきである。
◆どのポート番号をISLとして使用できるかに関する制約がある場合には、ISLを表すすべてのポートは、関連するポートのセット内になければならない。
●最大でN3-2個のISLが存在するべきである。
◆ホストアダプタポートに接続する最大N4個のポートが存在し得る。
◆各ISLは、区分されていない、リーフスイッチ役割を有する、単一のリモートスイッチに接続しなければならず、ピアポートはISLとして構成され、リモートスイッチは同じ単一のファブリックインスタンスに属する。
●マルチラックの単一レール構成におけるリーフスイッチ:
〇アップリンクを表す少なくともN5-1個のポートが存在するべきである。
◆どのポート番号をアップリンクとして使用できるかに関する制約がある場合には、アップリンクを表すすべてのポートは、関連するポートのセット内になければならない。
◆最大でN5-2個のアップリンクが存在するべきである。
〇ホストアダプタポートに接続する最大N6個のポートが存在し得る。
〇、各アップリンクは、スパインスイッチ役割を有し同じ単一のファブリックインスタンスに属するスイッチに接続しなければならない
〇ファブリックインスタンスに対して定義される各スパインスイッチに対するチアップリンク接続性がなければならない。
〇アップリンクのセットは、ファブリックインスタンスに対して定義されるすべてのスパインスイッチ間で均等に分割されなければならない。
●マルチラックの単一レール構成におけるスパインスイッチ:
〇すべての接続されたポートは、同じファブリックインスタンスの一部であるように定義されたリーフスイッチへのダウンリンクを表すべきである。
◆どのポート番号をダウンリンクとして使用できるかに関する制約がある場合には、ダウンリンクを表すすべてのポートは、関連するポートのセット内になければならない。
〇ホストポートに接続するポートはあるべきではない。
〇ファブリックインスタンスのために定義された各リーフスイッチを接続する少なくとも1つのダウンリンクが存在し得る。
〇ダウンリンクのセットは、ファブリックインスタンスのために定義されるすべてのリーフスイッチ間で均等に分割されなければならない。
一実施形態によれば、マルチレールファブリック構成の場合、接続性規則は、上述の単一レール構成の場合と同じであるが、追加の規則では、そのような接続性はすべて同じレールに属さなければならない。したがって、わずか2つのリーフスイッチを有する単一ラックの場合、要件は、ISLがまったく接続されるべきではないこと(完全に独立したレール)、またはそのようなISLが「休眠状態の接続性」(半独立レール)を表すべきであることであり得る。
一実施形態によれば、サーバ接続性に関して、接続性チェックは、定義された単一レールポリシーまたはマルチレールポリシーに従って個々のサーバがファブリックへの冗長接続性を有することを保証することができる。
一実施形態によれば、上述の規則に準拠しない接続性は、記録され、報告され、データトラフィックに対して有効化されないことになる。
一実施形態によれば、欠失した接続性が記録および報告され、関与するスイッチ(またはサーバ)は、劣化した(または不完全な)接続性を有すると見なされる。
一実施形態によれば、有効な接続性は、単一または複数のファブリックレール内の関連するトポロジに対する定義された構成およびルーティング/転送ポリシーに従ってファブリック内のデータトラフィックを実現するよう用いられる。
実現例:
一実施形態によれば、物理ファブリック接続制御実現例は、以下のコンポーネントを有する:
●スイッチベースのローカルリンク監視(LLM)デーモンは、ローカルリンク状態、リモート接続性(もしあれば)ならびにローカルトラフィックおよびエラーカウンタを追跡する。
●スイッチベースの物理接続性制御(PCC)デーモンは、LLMからローカルインバンドファブリック接続性情報を受信し、これに基づいて、ローカル接続性が(全体的なファブリック構成におけるその役割に対して)このスイッチインスタンスに関して要件に従うかどうか、およびそうである場合、関連するスイッチポートにどのようなハイレベル構成タイプを適用するかを決定する。
●ハードウェア(HW)構成デーモン(HWCD)は、スイッチおよび有効化されたリモート接続性を有する各接続されたポートについてPCCによって提供されるハイレベル構成タイプに従って(スイッチHWプラットフォーム固有インターフェイスを用いて)スイッチおよびスイッチポートを構成する。
●ファブリック可用性および同期デーモン(FAS)は、ファブリック内のすべての定義されたスイッチ間でファブリック構成情報および関連付けられるポリシーを同期させる。FASはまた、ファブリック内のすべての定義されたスイッチについて管理ネットワーク上の到達可能性を追跡し、および各スイッチ上のPCCインスタンス間の情報の分布を調整する。
一実施形態によれば、ローカルスイッチについて現在定義されている持続的なファブリック構成情報および役割情報に基づいて、PCCは、LLMから受信される近隣接続性情報を、構成および役割情報ならびに事前接続性規則によって定義される予想される接続性と相関させることによって、現在のローカル接続性を常に評価する。
一実施形態によれば、デフォルトですべての最近トレーニングされたリンクは、データトラフィックが有効化されないことになるので、関連する規則に準拠しない任意の接続性は、この状態で残されることになる。しかしながら、接続性が関連する規則に従うときはいつでも、PCCは、決定された正当なリンクタイプ(すなわち、ホストリンク、ISL、アップリンクまたはダウンリンク)に従ってポートを構成および有効化するようにHWCDに命令する。
一実施形態によれば、新たにトレーニングされたリンクがPCCによって評価されると、関連する接続性情報は、FASを介してファブリック内の他のすべてのスイッチ上の他のすべてのPCCに配信される。
一実施形態によれば、ファブリック内のすべてのスイッチ上のFASは、他のすべてのスイッチが管理ネットワーク上で到達可能であるかどうかを常に監視し、現在のマスタFASに現在の状態を報告することになる。
一実施形態によれば、マスタFASと同一場所に位置するPCCは、任意の時点において、そのフェローPCCインスタンスおよびFASの両方からインバンドおよび管理ネットワーク接続性の完全なセットを評価する。この評価に基づいて、および接続性または到達可能性の欠如に対する定義されたタイムアウト期間に基づいて、マスタPCCは、アラームイベントおよび関連するASRを生成することになる。
図19は、一実施形態による、高性能コンピューティング環境において正しい接続性のためにレール番号関連付けをサポートするためのシステムを示す。
一実施形態によれば、システム1900において、ラック1 1910、ラック2 1920、ラック3 1930、およびラック4 1940を含むある数のラックがサポートされる。ラックの各々は、ある数のスイッチ、リーフスイッチ(すなわち、HCA(図示せず)に直接接続されるスイッチ)およびある数のスパインスイッチ(リーフスイッチではない各スイッチ)の両方をサポートすることができる。これらは、リーフスイッチ1912-13、1922-23、1932-33、および1942-43、ならびにスパインスイッチ1911,1921,1931,および1941を含む。
一実施形態によれば、システム1900は、各レールが異なるファブリックを表すマルチレールトポロジである。図19に示されるシステムでは、2つの独立したレール、すなわちレール1およびレール2(図に示される)がある。
一実施形態によれば、2つ以上の独立したネットワークまたは「ファブリックレール」または単に「レール」を有するファブリック構成をサポートするために、各スイッチも、レール番号(例えば、示されるように1および2)に関連付けられる。各々のこのような「レール」は、他のレールからは独立している、接続性およびトラフィックパターンを有する1つまたは複数のスイッチのトポロジを表す(すなわち、一方のレール内のスイッチと他方のレール内の別のスイッチとの間には、通常の場合にデータトラフィックに用いられるデータリンクは存在しない。)(しかしながら、管理トラフィックのためにレール間リンクが存在し得る)。
一実施形態によれば、示されるレールは完全に独立したレールであり、各レールは独立したスイッチのセットからなり、異なるレールに属するスイッチポート間には接続性はない。これの典型的な使用事例は、サーバ当たり2つ以上のデュアルポートアダプタを有する。この場合、各サーバ(図示せず)は、各レールへの冗長接続性を有することができる。したがって、任意のサーバについて単一のアダプタまたは単一のアダプタポートに関して障害点が1つもないことは、対応するサーバが、任意のファブリックレール上でデータトラフィックを送信および受信できないことにつながり得る。
一実施形態によれば、2つのサーバが両方とも少なくとも1つの共通レールへの接続性を有するわけではない場合、サーバの対(または、VMの任意の対-サーバの対の各々に1つずつ)は、クラスタノード間のファブリックベースの通信が必要とされる場合に同じ論理クラスタに属することはできない。
一実施形態によれば、各サーバ内のアダプタの非重複サブセットがレールの非重複セットに接続される(すなわち、レールの非重複セットのうちの2つ以上に接続するポートを有するアダプタが存在しない)場合、異なるレールは、通信プロトコルならびにスイッチファームウェア、ファブリック管理ソフトウェア、アダプタファームウェアおよびアダプタドライバソフトウェアの両方を含むソフトウェアおよびファームウェアバージョンに関しても独立している。
異種かつ非対称のデュアルレイ構成
一実施形態によれば、さまざまなタイプの高性能コンピューティング(HPC)に関連する通信のために、ならびに高性能高可用性データベースおよび他のデータサービスのためにプライベートRDMAファブリックを用いるシステムは、多くの場合、たとえば、クライアントアクセスまたは-インターネット全体上のリソースを含む-システム外部のリソースへのアクセスに用いられる異なるネットワークへの接続性を有することもできる。
一実施形態によれば、例えば、そのようなシステムの特別なケースは、クラウド全体がグローバルクラウドネットワークを介して接続された数十万のサーバ(すなわち、数百から数千のサーバラック)を含み得るクラウドベースのシステムである。クラウド全体内では、サーバが、RoCE、インフィニバンド、または高性能RDMAの他の実現例のいずれかに基づく高性能RDMAファブリックによっても相互接続される、より小さいアイランドまたはPOD(point of delivery)(例えば、近接する8~32個のサーバラックのセット)が存在し得る。一実施形態によれば、PODは、ネットワークサービスを配信するために一緒に動作するネットワーク、計算、ストレージ、およびアプリケーションコンポーネントのモジュールを意味し得る。PODは、例えば、ある数のラック、サーバ、スイッチ、ネットワーク、およびインフラストラクチャを含むことができる。PODは、ロール・インされ、接続され、直ぐにアップされ、走るように設計することができる。PODは、例えば、完全なデータセンタを含むことができ、またはより大きなインストールにおける粒状の拡張単位を表すこともできる。
一実施形態によれば、伝統的に、グローバルクラウドネットワークの性能は、高性能の専用RDMAファブリックを介して達成され得るものよりも劣っている。これは、部分的には、クラウドネットワークにおける基本リンク速度が、専用のRDMAファブリックにおいて提供されるものよりも遅くなり得ることに起因するが(例えば25Gb/s対100Gb/s)、特に、クラウドネットワーク内のアクセス制御およびファイアウォール規則実施のための厳しい規則が、各個々のネットワークパケットの状態フルファイアウォール処理を伴うスキームを暗示し、各ノードに対する全体的なパケットレートがより低くなることおよび通信ノード間のメッセージ待ち時間を著しく増大させることにもよる。しかしながら、「従来技術の」リンク速度が増加し、オンチップ論理機能の統合レベルがすべての新たなハードウェア世代において増加するにつれて、典型的には専用のプライベートRDMAファブリックを介した通信に依存していた作業負荷が、クラウドネットワークをRDMAベースの通信のために「妥当な」性能で利用することもできる可能性がますます高くなる。
一実施形態によれば、そのようなネットワークの別の態様は、効果的に通信することができるノードの数、および特定の分散型作業負荷に対する柔軟なノードをどのように割り当てることができるか、に関するスケーラビリティである。グローバルクラウドネットワークでの重要な利点は、任意のノードが任意の他のノードと通信することを可能にし、したがって、究極的なノード割り当て柔軟性を提供することである。しかしながら、そのようなグローバル接続性はまた、スイッチホップの数に関して長い距離を示唆し、これは、通常の場合にメッセージ待ち時間を増大させ、また、ネットワーク内の異なるフロー間の輻輳による性能の低下のリスクも増大させ得る。したがって、メッセージ待ち時間および独立した作業負荷間の輻輳のリスクを低減するために、分散された作業負荷のためのノード割り当てアルゴリズムは、通常、ネットワークの隣接部分(すなわち、スイッチホップの数に関して隣接する)においてノードを割り当てることを試みることができる。
しかしながら、一実施形態によれば、単一のチップ上のロジックの集積レベルがますます増大している結果、現在、非ブロッキングのフルクロスバーによって相互接続される100個以上の100Gb/sポートを単一のスイッチチップとして設けることができる。したがって、完全に非ブロッキングのファットツリートポロジにおいて、3つのスイッチホップだけの距離内で通信することができるノードの数は、数千のオーダーである。結果として、クラウド内における非常に大きなPODが構築され得、クラウドネットワークおよびPOD内のすべてのサーバ間におけるプライベートRDMAファブリック接続性があり、任意のそのようなサーバ間の最大距離はちょうど3つのスイッチホップである。
一実施形態によれば、クラウドネットワークインフラストラクチャは、高性能RDMA通信を用いる作業負荷にも利用可能となり得るが、プライベートの専用RDMAファブリックは、依然として非トリビアルな性能利点を有し得る可能性がある。したがって、クラウド内の個々のPOD内でのプライベートRDMAファブリックの使用は、クラウドネットワークに加えて、補助的な、より高性能な通信インフラストラクチャを提供することができ、これは多くの作業負荷にとって意味をなし得る。
一実施形態によれば、サーバがクラウドネットワークおよびプライベートRDMAファブリックの両方によって接続されるPODは、原則的には「完全に独立したデュアルレール」構成の一例として見なすことができ、クラウドネットワークおよびプライベートRDMAファブリックは、各々、単一のレール、または潜在的には半独立もしくはさらには完全に独立したデュアルレール構成のいずれかを表し得る。しかしながら、各サーバが、デュアルリーフスイッチおよび共有されるスパインスイッチインフラストラクチャを有する単一の切り換えられるネットワークインフラストラクチャに接続するデュアルポートを有する、従来の高可用性構成は、典型的なシナリオであり得る。さらに、コスト制約ならびにそのような各レール内にさらに冗長なサーバ接続性を提供するためのスイッチおよびケーブルの数に関する複雑さのために、そのような各レールは、非冗長方式で実現されることも可能であり、サーバは、クラウドネットワークに接続する1つのアダプタおよび単一ポートと、プライベートRDMAファブリックに接続する別のアダプタおよび単一ポートとを有する。
一実施形態によると、クラウドネットワークおよびプライベートRDMAファブリックは、異種および非対称のデュアルレール構成を表す:それらは両方ともPOD内のすべてのサーバへの完全な接続性(すなわち、非劣化の場合)を表し、それらは両方とも、POD内のサーバの任意の対の間において、関連するRDMAベースの通信を実現することができるが、最良の場合の通信性能は2つのレール間で同一でない場合がある。典型的な場合では、プライベートRDMAファブリックは、最良の(期待される)性能を提供し得、したがって、POD内のRDMAベースの通信の一次的な選択となることになる。
しかしながら、一実施形態によると、クラウドネットワークは、例えば、以下の潜在的なシナリオにおいてもRDMAベースの通信のために選択され得る:a)RDMAベースの通信を必要とするノードの対がプライベートRDMAファブリック上で通信できない場合;b)異なるPODに属するノード間でRDMAベースの通信が要求される場合;c)プライベートRDMAファブリック上の現在の関連のある負荷が(十分に)高く、クラウドネットワーク上の現在の関連のある負荷が(十分に)低く、単一のPOD内のノードの対間の有効な通信性能は、プライベートRDMAファブリック上よりもクラウドネットワーク上の方がよい場合;またはd)関連する作業負荷に対するSLA(サービスレベルアグリーメント)が、プライベートRDMAファブリックによって提供されるプレミアム通信サービスの使用が要求または許可されないことを示す場合。
一実施形態によれば、非対称デュアルレールシステムの実現例は、さまざまな管理モジュールを含む。これらは、例えば、分散型作業負荷配置オーケストレータ(DWPO)、ならびに接続およびレール選択マネージャ(CRSM)を含むことができる。DWPOは、典型的には、全体的なクラウド作業負荷管理インフラストラクチャの一部であり、分散された作業負荷内の個々の論理ノードをクラウド/データセンタ内の物理ノードに割り当てることを担う。論理ノードは、物理ノードOS内のコンテナ、物理ノード上でハイパーバイザによって制御される仮想マシン、または物理ノード上のベアメタルOS/システムイメージとして実現され得る。
一実施形態によれば、DWPOは、作業負荷に関連付けられる配置ポリシー情報を用いて、単一のPOD内の配置が必要とされる(または望まれる)かどうか、およびそうである場合、作業負荷内の論理ノードのさまざまな対の間にどの種類の隣接性が必要とされる(または望まれる)かを判断することができる。隣接性パラメータおよび要件は、待ち時間目標ならびに予想されるトラフィックパターンおよび容量を含み得る。
一実施形態によれば、作業負荷に対する配置ポリシー情報を既存の作業負荷に関連付けられる現在の利用レベルおよびSLAと相関させることに基づいて、DWPOは、オーケストレイトされている作業負荷に対して厳しいSLAによる最良の努力または配置のいずれかを決定することができる。場合によっては、これは、既存の作業負荷が再編成されることを示唆することができる。新たな作業負荷の配置および既存の作業負荷の潜在的な再編成は、利用可能なリソースおよび関連するSLA要件に応じて、単一のPODまたは複数のPODおよびプライベートRDMAファブリックを伴うかもしくは伴わないPODを含み得る。
一実施形態によれば、CRSMは、クラウド作業負荷管理インフラストラクチャ全体の一体化した部分である1つの集中型コンポーネントと、すべての論理ノードにおいて通信ランタイムシステムと統合された別のコンポーネントとを有する。
一実施形態によれば、集中型であり得るCRSMは、一次レール選択に関する分散された作業負荷内のさまざまな論理ノードに対する接続ポリシー、および各論理ノード通信することになっているピア論理ノードに対する接続パラメータポリシーを判断するために、DWPOと協働することができる。最も簡単な場合、このポリシーは、デフォルトパラメータを用いることができ、好ましいレール(すなわち、典型的には、存在する場合には、プライベートRDMAファブリック)を、それが関連するピアノードについて接続性を提供する限り、用いることができる。より複雑なシナリオでは、論理ノード対の個々またはグループは、各方向について明示的なレール選択ポリシーおよび接続パラメータポリシーを有し得る。
一実施形態によれば、各論理ノードCRSMインスタンスは、関連するピアノードとともに関連のある接続を確立し、維持するために、中央CRSMからのポリシー情報を用いることになる。ノードローカルCRSMインスタンスはまた、現在利用可能な接続性および関連するレール上の負荷に従って、ならびに作業負荷全体および関連する個々のピアノードとの通信に関して存在するSLA制約に従って、個々のピアノードのための接続セットアップを適応させることができる。
図20は、一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。
一実施形態によれば、システム2000内で、ホストノード1 2005およびホストノード2 2010などのいくつかのホストノードをサポートすることができる。ホストノードの各々は、ホストノード1上のデュアルポートアダプタ2006,2007,および2008、ならびにホストノード2上のデュアルポートアダプタ2011,2012,および2013など、いくつかのデュアルポートアダプタ(たとえば、デュアルポートネットワークアダプタ)を含むことができる。各デュアルポートアダプタは、2つのポートを提供することができ、それによって、ホストノードは、プライベートファブリック2040およびパブリッククラウドなどのクラウドファブリック2030などの1つまたは複数のネットワークに接続され得る。示されるように、プライベートファブリック2040は、例えば、2セットの重複するスイッチ、スイッチ1 2020およびスイッチ2 2021、ならびにスイッチ3 2022およびスイッチ4 2023を含み、このようなスイッチの対は、プライベートファブリック内の完全に独立したレールを表す。
一実施形態によれば、ホストノードの各々は、複数のデュアルポートアダプタを含むことができる。例えば、図示の実施形態では、各ホストノードは、3つのデュアルポートアダプタをサポートする。これらの3つのデュアルポートアダプタのうち、各ホストノード上のデュアルポートアダプタのうちの2つをプライベートファブリック2040に接続することができ、1つのアダプタをクラウドファブリック2030に接続するよう残すことができる。このようにして、各ホストノードは、プライベートファブリックを介して、2つの完全に独立したレール(すなわち、スイッチ1およびスイッチ2、ならびにスイッチ3およびスイッチ4であり、重複するスイッチの各対は、完全に独立したレールを表す)と接続されることができ、クラウドファブリックを介しても接続されることができる。
必要であれば、この図面の修正されたバージョンを、複数回(例えば、以下の「中」および「小」)複製して、プライベートファブリック自体が半独立および完全独立の両方であり得ること、およびホスト接続性が、1つのポートがクラウドに接続され1つのポートがプライベートファブリックに接続される単一のアダプタから、異なるアダプタがプライベートファブリック内において異なる完全に独立したレールを接続し、複数のアダプタがクラウドを接続する複数のデュアルポートアダプタまで、変動し得ることを示し得る。
一実施形態によれば、ネットワーク内のトラフィックフローのタイプに応じて、任意の所与のパケットがプライベートファブリックを利用するべきであるという判断を行うことができる。プライベートファブリック内には、2つの完全に独立したレールが設けられ、各レールは、ホストノードにおいて別個のデュアルポートアダプタに接続され得る。いくつかの実施形態では、プライベートファブリックは、クラウドファブリックよりも高く、より安全な性能を提供するが、一般に、より少ないリソースを有し、したがって、プライベートファブリック内のフローをより高価にする。
一実施形態によれば、プライベートファブリックは完全に制御され、冗長である。他方、クラウドファブリックの性質のため、それは一般に、完全には制御されないと考えられているが、冗長接続性を提供することができる。一実施形態によれば、少なくとも2つのファブリック(プライベートおよびパブリック)を有することは、各ホスト内の2つのアダプタがプライベートファブリック内の2つのレールへの完全に冗長な接続性を表し、第3のアダプタがパブリッククラウド内においてなんらかの(潜在的に冗長な)接続性を提供する、非対称スキームを提供する。クラウドへの冗長接続性を有することによって、これは、ホスト間のトラフィックフローに対する代替オプションを提供する。
一実施形態によれば、作業負荷(たとえば、たとえば、図20に示す2つのホストノード上に実現され、VMが互いに通信することができるように展開および構成された複数の仮想マシンを含む)は、図20に示す環境内で展開されることができる。所与の作業負荷に対して、ポリシーは、展開された作業負荷に関連付けることができる(例えば、「ゴールドカード」作業負荷ポリシーは、そのような作業負荷のパケットがハイレベルのプライベートRDMAファブリックを利用するべきであることを指示し、または、例えば、「エコノミー」作業負荷ポリシーは、そのような作業負荷のパケットが利用可能な帯域幅ならどれでも(例えば、利用可能であればプライベートを、そうでなければパブリッククラウド)を利用することを指示する)。したがって、これらの異なる作業負荷ポリシーは、どのタイプの接続性がシステム内の任意の所与の作業負荷に用いられるべきかを決定する際に考慮に入れることができる。例えば、第1の作業負荷が高い「ゴールドカード」作業負荷ポリシーを含む場合、その作業負荷内のパケットは、プライベートファブリック内で厳密に割り当てられ、プロビジョニングされる可能性があるだろう。代替的に、別の作業負荷がより低い「エコノミー」作業負荷ポリシーを含む場合、そのような作業負荷に関連付けられるパケットは、プライベートファブリックの利用を試み得るが、接続のためにパブリッククラウドを利用することもあり得る。
図21は、一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。
一実施形態によれば、システム2100内で、ホストノード1 2105およびホストノード2 2110などのいくつかのホストノードをサポートすることができる。ホストノードの各々は、ホストノード1上のデュアルポートアダプタ2106および2108、ならびにホストノード2上のデュアルポートアダプタ2111および2113など、いくつかのデュアルポートアダプタ(たとえば、デュアルポートネットワークアダプタ)を含むことができる。各デュアルポートアダプタは、2つのポートを提供することができ、それによって、ホストノードは、プライベートファブリック2140およびパブリッククラウドなどのクラウドファブリック2130などの1つまたは複数のネットワークに接続され得る。図示されるように、プライベートファブリック2140は、例えば、重複するスイッチのセット、スイッチ1 2120およびスイッチ2 2121を含み、各スイッチは、プライベートファブリック2140内の半独立レールを表す。
一実施形態によれば、ホストノードの各々は、複数のデュアルポートアダプタを含むことができる。例えば、図示の実施形態では、各ホストノードは、2つのデュアルポートアダプタをサポートする。これらの2つのデュアルポートアダプタのうち、各ホストノード上のデュアルポートアダプタの一方をプライベートファブリック2140に接続することができ、他方のアダプタをクラウドファブリック2130に接続されるよう残すことができる。このようにして、各ホストノードは、プライベートファブリックを介して、2つの半独立レール(すなわち、スイッチ1およびスイッチ2)と接続されることができ、クラウドファブリックを介しても接続されることができる。
図22は、一実施形態による異種および非対称のデュアルレールファブリック構成をサポートするためのシステムを示す。
一実施形態によれば、システム2200内で、ホストノード1 2205およびホストノード2 2210などのいくつかのホストノードをサポートすることができる。ホストノードの各々は、ホストノード1上のデュアルポートアダプタ2206およびホストノード2上のデュアルポートアダプタ2211のようなある数のデュアルポートアダプタ(例えば、デュアルポートネットワークアダプタ)を含むことができる。各デュアルポートアダプタは、2つのポートを提供することができ、それによって、ホストノードは、プライベートファブリック2240およびパブリッククラウドなどのクラウドファブリック2230などの1つまたは複数のネットワークに接続され得る。図示されるように、プライベートファブリック2240は、例えば、スイッチ2220を含み、このスイッチは、プライベートファブリック2240内の単一のレールを表す。
一実施形態によれば、ホストノードの各々は、複数のデュアルポートアダプタを含むことができる。例えば、図示の実施形態では、各ホストノードは、1つのデュアルポートアダプタをサポートする。このデュアルポートアダプタ内で、1つのポートは、プライベートファブリックに接続され、1つのレールを表し、他方のポートは、クラウドファブリックを介して接続され、別のレールを表すことができる。
図23は、異種および非対称のデュアルレールファブリック構成をサポートするためのシステム内で、プロビジョニングされた作業負荷またはプロビジョニングされている作業負荷に対して配置ポリシーを決定するための方法のフローチャートである。一実施形態によれば、作業負荷は、ある数のホストを含むことができ、ホストは、ある数の物理ホストおよび/またはある数の仮想マシンを含むことができる。
一実施形態によれば、ステップ2300において、プロビジョニングされた作業負荷(既にプロビジョニングされている作業負荷、またはプロビジョニングされつつある作業負荷)を提供することができる。
一実施形態によれば、ステップ2310において、作業負荷を検査して、プロビジョニングされた作業負荷に関連付けられる配置ポリシーを決定することができる。
一実施形態によれば、ステップ2315において、本方法は、作業負荷の配置ポリシーが単一のPOD内において厳密な接続性を指定するかどうかを判断することができる。
一実施形態によれば、ステップ2320において、配置ポリシーが単一のPOD内において厳密な配置を指示する場合、その単一のポッド内の計算ノードを、プロビジョニングされた作業負荷に割り当てることができる。
一実施形態によると、ステップ23250において、配置ポリシーが単一のPOD内において厳密な配置を指示しない場合、計算ノードをPOD考慮なしに作業負荷に割り当てることができる。
図24は、一実施形態による、プロビジョニングされた作業負荷またはプロビジョニングされつつある作業負荷内における特定の通信のためにファブリックタイプの選択を決定するための方法のフローチャートである。
ステップ2400では、一実施形態に従って、本方法は、条件のセットのいずれかが満たされているかどうかを判断することができ、条件のセットは:1)作業負荷はプライベートファブリックの使用が禁止されるか?;2)ピア(すなわち、ターゲット)ノードは異なるPODに属するか?;3)ピアノードは現在プライベートファブリック上またはそれを介して利用可能でないか?;4)プライベートファブリック上の現在の負荷は設定閾値より高く、クラウドファブリック上の負荷は別の設定閾値より低いか?を含む。
一実施形態によれば、2410において、本方法は、ステップ2400の条件のいずれかが真であるかどうかを判断することができる。
一実施形態によれば、ステップ2400の条件のうちの1つまたは複数が真である場合、本方法は、ステップ2420において、クラウドファブリックを介してターゲットノード(ピアノード)への通信をセットアップすることができる。
一実施形態によれば、ステップ2400の条件のいずれも真でなければ、本方法は、ステップ2430において、プライベートファブリックを介してターゲットノード(ピアノード)への通信をセットアップすることができる。
図25は、一実施形態による、異種および非対称のデュアルレールファブリック構成をサポートするための方法のフローチャートである。
ステップ2510において、本方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、複数のホストを提供し得、複数のホストの各々は少なくとも1つのデュアルポートアダプタを含み、さらに、2つ以上のスイッチを含むプライベートファブリックと、クラウドファブリックを含むパブリックファブリックとを提供し得る。
ステップ2520において、本方法は、複数のホストのうちのあるホストにおいて作業負荷をプロビジョニングすることができる。
ステップ2530において、本方法は、プロビジョニングされた作業負荷に配置ポリシーを割り当てることができる。
ステップ2540において、本方法は、プロビジョニングされた作業負荷のピアノード間のネットワークトラフィックを、配置ポリシーに従って、プライベートファブリックおよびパブリックファブリックのうちの1つまたは複数に割り当てることができる。
したがって、一観点から、高性能コンピューティング環境において異種かつ非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法が説明されてきた。ある方法は、1つまたは複数のマイクロプロセッサを各々が含む1つまたは複数のコンピュータにおいて、複数のホストを含み、複数のホストの各々は少なくとも1つのデュアルポートアダプタを含み、さらに、2つ以上のスイッチを含むプライベートファブリックと、クラウドファブリックを含むパブリックファブリックとを含むことを提供し得る。複数のホストのうちのあるホストにおいて、作業負荷をプロビジョニングすることができる。プロビジョニングされた作業負荷に配置ポリシーを割り当てることができる。次いで、プロビジョニングされた作業負荷のピアノード間のネットワークトラフィックを、配置ポリシーに従って、プライベートファブリックおよびパブリックファブリックのうちの1つまたは複数に割り当てることができる。
マルチキャスト送信複製
一実施形態によれば、電気通信システムにおいて、高可用性の問題は、何十年もの間、重要な問題であり、「キャリアグレードシステム」の概念は、サービスが回復される前のフェイルオーバー時間が非常に低いシステムを示唆している。そのようなシステムにおいて用いられる技術の1つは、2つのコピーが受信された場合であっても1つの論理パケットのみがネットワークスタックの上方に転送されるように受信側が着信トラフィックをフィルタリングすることを可能にするプロトコル拡張に基づいて、二重の独立ネットワーク上ですべてのネットワークトラフィックを複製することである。非常に高帯域幅の無損失相互接続ファブリックの文脈においては、そのような複製は、一般的な場合では、ファブリックにおけるネットワーク帯域幅および関与するサーバにおけるIO帯域幅の両方の過度の使用のため、実用的ではない。しかしながら、マルチキャストトラフィックのためにこのような技術を選択的に用いることによって、独立したサブネット間の明示的なマルチキャスト複製の必要性を大幅に低減すること、または個々のマルチキャストメッセージがネットワーク内で失われているためにタイムアウト状況に遭遇することが考えられ得る。重要な点は、これが、単一のマルチキャストメッセージが各潜在的な受信側によって「最大で1回」受信されるという重要なセマンティクスを保ちながら達成され得ることである。
一実施形態によれば、マルチキャストメッセージの送信側は、マルチキャスト送信動作を分類するが、それは、受信ノードが送信されているマルチキャストメッセージの単一のコピーよりも多くを処理すべきである場合にマルチキャストメッセージが否定的効果がないべき等動作を表すかどうかに基づいて行われる。この場合、2つ以上の独立したマルチキャストメッセージが、1つまたは複数のローカルインターフェイスを介して送信され、1つまたは複数の個々のマルチキャストアドレスをターゲットとすることができる。しかしながら、メッセージがべき等動作を表していない場合、同じメッセージの複数のコピーは、メッセージが、独自の方法で特定の論理メッセージインスタンスを識別するカプセル化ヘッダを有するネットワークパケットにカプセル化される限りにおいてしか、送信可能でない。カプセル化ヘッダ中の識別子は、送信側に固有の単調増加数を表し、その結果、受信側は、同じ識別番号を有するその後受信されたメッセージが、より高いレベルのプロトコルスタックおよび/または任意の受信アプリケーションに転送されないことを保証することができる。
一実施形態によれば、このスキームの一態様は、マルチキャストベースの要求およびユニキャストベースの応答を用いるアプリケーションレベルプロトコルの場合において、応答側が、要求側を複数のコピーで混乱させるリスクなしに、複数のコピーを並列に送信することを可能にするために、同じカプセル化スキームをユニキャスト応答にも用いることができることである。代替的に、応答側は、単一の通常のユニキャスト応答だけを送信することができ、その場合、カプセル化ヘッダ内に新たなインスタンス番号を有する新たなマルチキャスト要求を送信することは、要求側次第である。この場合、クライアント/アプリケーション層における再試行による重複メッセージに留意することは、クライアント/アプリケーション固有プロトコル次第である。
一実施形態によれば、べき等であるか否かのいずれかとして分類されないマルチキャストトラフィックの場合、デフォルトポリシーは、カプセル化スキームを用いることであり得る(すなわち、デフォルトの論理ネットワークインターフェイスは、この機能をデフォルトで提供する)。この場合、代替物を意識し、正しい分類を行うことができるクライアント/アプリケーションについて、異なる論理インターフェイスを提供することができる。
一実施形態によれば、代替的に、デフォルトインターフェイスはレガシー機能を提供し得、カプセル化されたトラフィックは、その場合、特別な論理インターフェイスを介してこの機能を明示的に要求するクライアント/アプリケーションにのみ提供されるであろう。
実現例:
一実施形態によれば、送信側ノードは、関連するノードが起動するたびに増分され永続的に格納される永続的な「システムイメージ生成番号」を有することができる。加えて、各送信側ノードは、カプセル化および複製を表す、論理インターフェイスを介して送信されるすべてのメッセージについて増分される「現在のメッセージシーケンス番号」を有することになる。すなわち、現在のメッセージシーケンス番号は、複製メッセージのセットの各複製メッセージについて同じである。カプセル化ヘッダ内のメッセージ識別は、その場合、「システムイメージ生成番号」と「現在のメッセージシーケンス番号」との組み合わせ(連結)である。次いで、受信ノードは、(両方とも複製である)同じメッセージの少なくとも2つのコピーを受信すると、後に到着したメッセージを無視し、それを廃棄することができる。
一実施形態によれば、ある実施形態では、複製されたメッセージに対して、何個の複製が用いられているかとは無関係に、ただ1つのシーケンス番号が生成される。しかしながら、メッセージが送られたレール番号を符号化するために、いくつかのビット(例えば、1ビットだけ)を残すことによって、これを拡張することが可能である。これは、トラフィックを評価する際に何らかの値を有することができ、また、2つのレール間のレール間リンクの潜在的な使用に関するより多くの情報を容易にする。しかしながら、受信アプリケーションに複数のバージョンが配信されるのを防ぐために、受信側は、同じメッセージの2つ(またはそれ以上)の複製バージョンを複製として認識する必要がある。
一実施形態によれば、送信側ノードは、マルチキャストメッセージを複製し、送信側ノードがアクセスを有する2つ以上の独立または半独立レールの各々上でマルチキャストメッセージの各コピーを送信することができる。
一実施形態によれば、関連する送信側ノードについて、永続的な「システムイメージ生成番号」が失われた場合、すべての可能な受信側が通知され、関連する送信側ノードについての任意の予想される現在の識別番号をリセットすることができることを保証するために、特別な手順が実行される。高可用性クラスタ構成の文脈において、「システムイメージ生成番号」の取扱いは、典型的には、あるノードを論理クラスタ内に含めるための手順の一部であり得る。したがって、あるノードがクラスタに含まれない限り、他のノードは、どのような入来受信マルチキャストパケットも、それがどの「システムイメージ生成番号」に関連付けられているかとは無関係にそのノードから受け入れることはないことになる。クラスタメンバシップ処理プロトコルは、さまざまな理由で、特に、(例えば、何らかの理由でクラッシュしたか、またはリブート中であるため)もはやノードが通信され得ない場合、そのノードをクラスタから除外すると判断することができる。この場合、クラスタメンバシップ判定は、残りのクラスタメンバに伝えられることができ、マルチキャスト通信を含む、除外されたノードとの通信が直ちに停止されることを示唆することができる。除外されたノードがリブートするたびに、または任意の理由でクラスタに(再)結合しようとするたびに、それは、その「システムイメージ生成番号」を、関連するクラスタメンバシップ結合プロトコルの一部として、交渉することができる。このようにして、それは、それの現在の次世代番号を、それを永続的ストレージから取得したことに基づいて提示することができ、または新たな世代番号がそれに対してローカルに容易に利用可能でない場合にはクラスタメンバシップ制御システムから新たな世代番号を得ることができる。いずれの場合においても、クラスタメンバシップ制御システムは、競合する世代番号が使用できないことを保証することができる。
一実施形態によれば、各受信側は、各送信側に対して動的状態情報を維持することができ、送信側ノードのIDは現在期待されるメッセージ識別子と一緒に保持される。より高い数を表すカプセル化ヘッダを有する到着メッセージは受け入れられ、転送されることになり、一方、既に受信された識別子(すなわち、現在期待されている値よりも低い値)を有するメッセージは破棄されることになる。
一実施形態によれば、カプセル化および複製されたメッセージを表すパケットを標準ネットワークトラフィックからより容易に分離するために、プロトコルは、基本パケット層において(例えば、データリンク層において特別なパケット/プロトコルタイプフィールドを用いて)代替プロトコル識別子を用いることができる。代替的に、専用マルチキャストアドレスのセットを、この複製プロトコルを実現する目的で割り当て、次いで、元のマルチキャストアドレスをカプセル化ヘッダに含まれるように伝えることができる。
図26は、一実施形態による、高性能コンピューティング環境における複製の代わりのマルチキャスト送信複製のためのシステムを示す。特に、この図は、そのような実現例を1つのレール上に示し、他のレールは図示されていない。
一実施形態によれば、システム2600は、スパインスイッチ2611,2621,2631,および2641、ならびにリーフスイッチ2612-13、2622-23、2632-33、および2642-43などの、いくつかのスイッチを含むことができる。これらのスイッチは、ある数のノード2650~2653を相互接続することができる。
一実施形態によれば、送信側ノード2650は、ノードが起動する度に増分され永続的に格納される永続的な「システムイメージ生成番号」2654を含むことができる。さらに、送信側ノード2650は、カプセル化および複製を表す、論理インターフェイスを介して送信されるマルチキャストメッセージのセットごとに増分される「現在のメッセージシーケンス番号」2655を含むことができる。マルチキャストアドレス(例えばMGID)に送信およびアドレス指定されるマルチキャストパケット2655は、「システムイメージ生成番号」と「現在のメッセージシーケンス番号」との組み合わせを表すカプセル化ヘッダを含むことができる。
一実施形態によれば、各受信側は、送信側ノード2650について動的状態情報を維持することができ、送信側ノードのIDは現在期待されるメッセージ識別子とともに保持される。より高い数を表すカプセル化ヘッダを有する到着メッセージは、(新たなメッセージを表すので、)受け入れられ、転送されることになり、一方、既に受信された識別子、または予想されるメッセージ識別子より低い値を有するメッセージは、カプセル化ヘッダが既に受信されたメッセージを表すので破棄されることになる。
図27は、高性能コンピューティング環境における複製の代わりのマルチキャスト送信複製のための方法のフローチャートである。
一実施形態によれば、ステップ2710において、ある方法は、複数のスイッチ、複数のホストを提供することができ、複数のホストは、複数のスイッチを介して相互接続され、複数のホストのうちのあるホストは、マルチキャスト送信側ノードを含み、送信側ノードは、システムイメージ生成モジュールおよびカレントメッセージシーケンスモジュールを含む。
一実施形態によれば、ステップ2720において、本方法は、複数のスイッチを2つのレールに編成することができ、2つ以上のレールは、複数のホスト間に冗長接続性を提供する。
一実施形態によれば、ステップ2730において、ある方法は、マルチキャスト送信側ノードによって、マルチキャストアドレスにアドレス指定された2つの複製マルチキャストパケットを送信することができ、2つ以上の複製マルチキャストパケットの各々は、2つのレールの異なるレール上で送信される。受信ノードは、同じマルチキャストパケットの2つのバージョンを受信することができるが、カプセル化ヘッダを扱うレイヤより上の通信スタック/クライアントには1つだけを配信することができる。
一実施形態によれば、ステップ2740において、本方法は、複数のホストのうちのあるホストが2つ以上の複製マルチキャストパケットのうちの2つ以上を受信すると、通信スタックに配信する前に、2つ以上の受信されたマルチキャストパケットのうちの最初のものを除くすべてをドロップすることができる。
複数の独立レイヤ2(L2)サブネットにわたる単一の論理IPサブネット
一実施形態によれば、システムおよび方法は、複数のエンドポートが同じIPアドレスを同時に表現することを可能にすることによって、物理的に独立したL2サブネットにわたって仮想の単一のIPサブネットを提供することができる。
一実施形態によれば、高可用性ネットワークインターフェイスモデルは、リンクアグリゲーション(LAG)に基づくものである。このモデルでは、ホストスタックは単一の論理ポートを見て、基礎となるドライバソフトウェアならびにアダプタおよびスイッチファームウェアは、利用可能なリンク間で異なるフローが負荷分散され、障害のあるリンクに現在マッピングされているフローが残りの動作可能リンクに引き継がれることを確実にする。マルチシャーシLAG(MLAG)をサポートするスイッチを導入することにより、このHAモデルは、複数のスイッチにわたって適用することができ、1つの障害点もまったくないことを示唆する。しかしながら、このモデルは、冗長スイッチ/ネットワーク間の厳しい統合も示唆し、したがって独立ネットワークの目標に違反する。代替モデルは、LAGプロトコルをまったく使用せず、代わりに、ホスト側インターフェイスが複数のローカルネットワークポートを介して単一のIPアドレスを実現できるようにすることである。このようにして、発信トラフィックは、関連する論理グループ内の任意のポートを用いることができ、特定の宛先IPアドレスに対する着信トラフィックは、グループ内の任意のポート上で受け入れられることになる。関与するネットワークが完全に独立している場合、ホスト側動作は、メッセージを再試行するために異なるソースポート(別名、異なるレール)を選択しなければならない場合がある。
一実施形態によれば、汎用ホストスタックに提示されるインターフェイスモデルは、依然として、LAG/MLAGの場合と同じであり得る(すなわち、単一のソースIPアドレスを有する単一のローカルネットワークポートがある)。
一実施形態によれば、次いで、単一のローカルIP(L3)アドレスが、各ローカルエンドポートのハードウェアアドレスに関連付けられる。
一実施形態によれば、インターフェイスドライバは、個々のローカルエンドポートが同じL2サブネットに接続されているかまたは独立したL2サブネットに接続されているかを追跡し、それに応じて発信ARP(アドレス解決プロトコル)要求および着信ARP要求の両方に対処することができる。発信ARP要求の場合、インターフェイスドライバは、各ローカルポートを介して1つのマルチキャスト要求を送信することができる。着信ARP要求の場合、インターフェイスドライバは、要求が到着したローカルポートを介して単一のユニキャストARP応答を送信することになる。ネットワーク上で送出されるARP応答のハードウェアアドレスは、常に、対応するローカルエンドポートのハードウェアアドレスとなる。
一実施形態によれば、リモートIPアドレスとともにローカルホストスタックに提供されるハードウェアアドレスは、ローカルインターフェイスドライバが、ローカルエンドポートのうちの1つまたは複数を介してリモートIPアドレスに用いられる「実」HWアドレスをルックアップするために用いることができる、特別な値である。
一実施形態によれば、リモートIPアドレスに用いるローカルエンドポートおよびリモートハードウェアアドレスは、最適な可用性および最適な負荷分散の両方を達成するためにローカルインターフェイスドライバが経時的に動的に調整できる動的エンティティである。
図28は、一実施形態によるリンクアグリゲーション(LAG)をサポートするためのシステムを示す。
一実施形態によれば、パケット1 2801などのネットワークパケットは、論理デバイス1 2810(たとえば、リンクアグリゲーションデバイス)などの論理デバイスに向けられ得る。論理デバイスを通過する前に、パケットは、ローカルソースIPアドレス(SIP1)、宛先IPアドレス(DIP1)、および宛先MAC(メディアアクセス制御)アドレス(DMAC1)を含むかまたは(例えば、パケットヘッダにおいて)それらに関連付けられることができる。
一実施形態によれば、論理デバイスは、たとえば、レイヤ3アドレスを含むことができる、IPアドレス、IP1など、それ自体のアドレスに関連付けることができる。
一実施形態によれば、論理デバイスは、1つまたは複数の物理ネットワークアダプタデバイス(図示せず)をさらに含むことができ、物理ネットワークアダプタの各々は、1つまたは複数の物理ポート(AP1、AP2...APn)を有することができ、各物理ポートは、それ自体のMAC(L2)アドレス(図示せず)を有してもよいが、論理デバイス2810の単一のIPアドレス(IP1)を有してもよい。
一実施形態によれば、パケット2 2802は、論理デバイスを通過した後、例えばヘッダ内に、宛先MACアドレス(DMAC2)に加えて、ローカルソースIPアドレス(SIP2)および宛先IPアドレス(DIP2)を含むことができる。実施形態では、LAG状況では、これらのアドレスは、論理デバイスを通過する前のパケットと同じであり得、すなわち、SIP1はSIP2と同じであり、DIP1はDIP2と同じであり、DMAC1はDMAC2と同じである。
一実施形態によれば、論理デバイスは、例えば、負荷分散に基づいて、スイッチ1 2820上のポート(例えばSP1-1~SP1-6)のうちのそれの宛先ポートにパケット2を送出するレール/ポートを決定する。
図29は、一実施形態による、マルチシャーシリンクアグリゲーション(MLAG)をサポートするためのシステムを示す。
一実施形態によれば、パケット1 2901などのネットワークパケットは、論理デバイス1 2910(たとえば、リンクアグリゲーションデバイス)などの論理デバイスに向けられ得る。論理デバイスを通過する前に、パケットは、ローカルソースIPアドレス(SIP1)、宛先IPアドレス(DIP1)、および宛先MAC(メディアアクセス制御)アドレス(DMAC1)を含むかまたは(例えばパケットヘッダにおいて)それらに関連付けられることができる。
一実施形態によれば、論理デバイスは、レイヤ3アドレスを含むことができるIPアドレス、IP1などのそれ自体のアドレスに関連付けることができる。
一実施形態によれば、論理デバイスは、1つまたは複数の物理ネットワークアダプタデバイス(図示せず)をさらに含むことができ、物理ネットワークアダプタの各々は、1つまたは複数の物理ポート(AP1、AP2...APn)を各々有し、物理ポートは各々、それ自体のMAC(L2)アドレス(図示せず)を有してもよいが、論理デバイス2910の単一のIPアドレス(IP1)を共有してもよい。
一実施形態によれば、パケット2 2902は、論理デバイスを通過した後、例えば、ヘッダにおいて、宛先MACアドレス(DMAC2)に加えて、ローカルソースIPアドレス(SIP2)および宛先IPアドレス(DIP2)を含むことができる。実施形態では、LAG状況では、これらのアドレスは、論理デバイスを通過する前のパケットと同じであり得、すなわち、SIP1はSIP2と同じであり、DIP1はDIP2と同じであり、DMAC1はDMAC2と同じである。
一実施形態によれば、論理デバイスは、例えば、負荷分散に基づいて、スイッチ1 2920上のポート(例えばSP1-1~SP1-6)またはスイッチ2 2930上のポート(例えばSP2-1~SP2-6)のうちのそれの宛先ポートにパケット2を送出するレール/ポートを決定する。
一実施形態によれば、MLAGシナリオでは、スイッチ、スイッチ1およびスイッチ2は、スイッチの間に1つまたは複数の制御リンクをさらに含むことができる。制御リンクのため、複数のスイッチは、単一のエンティティとして現れるが、それでも、1つのみのスイッチが設けられるLAG実施形態よりも、冗長性を高める。
図30は、一実施形態による、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムを示す。
一実施形態によれば、パケット1 3001などのネットワークパケットは、論理デバイス1 3010(たとえば、リンクアグリゲーションデバイス)などの論理デバイスに向けられ得る。論理デバイスを通過する前に、パケットは、ローカルソースIPアドレス(SIP1)、宛先IPアドレス(DIP1)、および宛先MAC(メディアアクセス制御)アドレス(DMAC1)を含むかまたは(例えばパケットヘッダにおいて)それらに関連付けられることができる。
一実施形態によれば、論理デバイスは、たとえば、レイヤ3アドレスを含むことができる、IPアドレス、IP1など、それ自体のアドレスに関連付けることができる。
一実施形態によれば、論理デバイスは、1つまたは複数の物理ネットワークアダプタデバイス(図示せず)をさらに含むことができ、物理ネットワークアダプタの各々は、1つまたは複数の物理ポート(AP1、AP2...APn)を各々有し、それらは、各々がそれら自体のMAC(L2)アドレス(図示せず)を有してもよく、各々が、それら自体のネットワーク固有IPアドレス(図示せず)およびレール番号関連付け(図示せず)を有してもよい。
一実施形態によれば、パケット2 3002は、論理デバイスを通過した後、例えば、ヘッダにおいて、宛先MACアドレス(DMAC2)に加えて、ローカルソースIPアドレス(SIP2)および宛先IPアドレス(DIP2)を含むことができる。
一実施形態によれば、マッピング関数3011に基づいて、宛先IP(DIP2)および宛先MACアドレス(DMAC2)は、マッピング関数内の入力宛先IP(DIP1)および入力宛先MACアドレス(DMAC1)のルックアップに基づいて、新たなアドレスを含むことができる。ソースIPアドレスは同じままであり得、すなわち、SIP1はSIP2と同じであり得る。
一実施形態によれば、次いで、マッピング関数に基づいて、単一のレイヤ3アドレス(論理デバイスのIP1)から、MLAGシナリオとして見ることができるスイッチ1 3020およびスイッチ2 3030によって表されるサブネット、ならびにLAGシナリオとして見ることができるスイッチ3 3040など、複数のレイヤ2サブネットにパケットをルーティングすることができる。
一実施形態によれば、MLAGシナリオでは、スイッチ、スイッチ1およびスイッチ2は、スイッチの間に1つまたは複数の制御リンクをさらに含むことができる。制御リンクのため、複数のスイッチは、単一のエンティティとして現れるが、それでも、1つのみのスイッチが設けられるLAG実施形態よりも、冗長性を高める。
一実施形態によれば、示されるシステムは、1つはMLAGを介し、もう1つはLAGを介する、2つのL2サブネットをサポートするL3アドレスを有する単一の論理デバイスを示すが、当業者は、単一の論理デバイスがn個のMLAGサブネットおよびm個のLAGサブネットなどの複数のL2サブネットをサポートし、nとmの和は2より大きい、異なる多様なシナリオを容易に理解するであろう。
一実施形態によれば、論理デバイスは、例えば、負荷分散に基づいて、スイッチ1 3020上のポート(例えばSP1-1~SP1-6)またはスイッチ2 2300上のポート(例えばSP2-1~SP2-6)のうちのそれの宛先ポートにパケット2を送出するレール/ポートを決定する。
一実施形態によれば、図30に記載されるようなシステムは、発信マッピング機能をサポートすることができる。そのような状況では、システムおよび方法は、論理宛先MACに基づいて宛先記述をルックアップすることができる。次いで、システムおよび方法は、宛先記述から現在の物理デバイスおよびポートならびにリモート物理IPおよび物理MACを取得することができる。次いで、パケットヘッダは、パケットが送信される前にローカルおよびリモート物理アドレスで更新されることができる。
一実施形態によれば、図30に記載されるようなシステムは、入来するマッピング機能をサポートすることができる。そのような状況では、方法およびシステムは、着信パケットが受信される物理デバイスおよびポートに関連付けられる論理デバイス記述をルックアップすることができる。次いで、方法およびシステムは、受信物理ポートのための正しい物理宛先アドレスがパケットヘッダに含まれることを検証することができる。次いで、パケットヘッダは、パケットがホストスタックにおいてジェネリックIPレベルに転送される前に、ローカルデバイスの論理IPPを反映するように更新されることができる。
一実施形態によれば、図30に記載されるようなシステムは、発信ARP(アドレス解決プロトコル)要求をサポートすることができる。そのような状況では、システムおよび方法は、論理デバイスに関連付けられた各物理ポートに対してARP要求マルチキャストパケットを生成することができる。そして、各ARP要求マルチキャストパケットにおける対応する物理ポートの関連するソースアドレスを埋めることができる。次いで、システムおよび方法は、対応する物理ポートから各ARP要求マルチキャストパケットを送信することができる。
一実施形態によれば、図30に記載されるようなシステムは、着信ARP(アドレス解決プロトコル)要求をサポートすることができる。システムおよび方法は、物理ポート上の着信ARP要求の要求されたIPが、物理ポートが関連付けられる論理デバイスの論理IPと対応することを検証することができる。次いで、システムおよび方法は、ARP要求が受信された物理ポート上でARP応答を送信することができ、ARP応答は、論理デバイスIPアドレスを送信側IPアドレスとして反映し、送信側ハードウェアアドレスは、物理ポートMACアドレスおよび物理ポートIPアドレスの両方を含む。
一実施形態によれば、図30に記載されるようなシステムは、着信ARP(アドレス解決プロトコル)応答をサポートすることができる。システムおよび方法は、ターゲットIPおよびHWアドレスが受信物理ポート物理IPおよび物理MACアドレスに対応することを検証することができる。システムおよび方法は、ARP応答の送信側ハードウェアアドレスから物理IPアドレスおよびMACアドレスを記録し、それらをARP応答において送信側IPアドレスによって識別される宛先論理IPアドレスと関連付けることができる。次いで、システムおよび方法は、論理宛先IPアドレスの、関連する物理ポートならびに宛先物理IPアドレスおよびMACアドレスへのマッピングを表すよう、論理MACアドレスを生成することができる。ARPテーブルは、論理IPアドレスおよび関連する論理MACアドレスで更新することができる。
図31は、一実施形態による、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための方法のフローチャートである。
ステップ3110において、本方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、論理デバイスを提供することができ、論理デバイスは、レイヤ3アドレスによってアドレス指定され、論理デバイスは、複数のネットワークアダプタを含み、ネットワークアダプタの各々は物理ポートを含み、本方法はさらに、複数のスイッチを提供することができる。
ステップ3120において、本方法は、複数のスイッチを複数の別個のレイヤ2サブネットに配置することができる。
ステップ3130において、本方法は、論理デバイスにおいてマッピングテーブルを提供することができる。
したがって、一観点から、高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムおよび方法が記載された。ある方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、論理デバイスを提供することができ、論理デバイスは、レイヤ3アドレスによってアドレス指定され、論理デバイスは、複数のネットワークアダプタを含み、ネットワークアダプタの各々は、物理ポートを含み、方法はさらに、複数のスイッチを提供することができる。本方法は、複数のスイッチを複数の別個のレイヤ2サブネットに配置することができる。本方法は、論理デバイスにおいてマッピングテーブルを提供することができる。
本教示の様々な実施形態を説明してきたが、上記実施形態が限定ではなく例示として提示されていることが理解されるべきである。上記実施形態は、特許請求される発明の原理およびそれの実際の適用例を説明するために選択され記載されたものである。上記実施形態は、新たな特徴および/もしくは改善された特徴を提供することによって、ならびに/または、リソース利用の低減、容量の増加、効率の向上および待ち時間の低下などの利点を提供することによって、システムおよび方法の性能を向上させるために本技術を利用できるシステムおよび方法を例示している。
いくつかの実施形態においては、本教示の特徴は、全体的または部分的に、プロセッサ、メモリなどの記憶媒体、および他のコンピュータと通信するためのネットワークカードを含むコンピュータにおいて実現される。いくつかの実施形態においては、本教示の特徴は、コンピュータの1つ以上のクラスタがローカルエリアネットワーク(Local Area Network:LAN)、スイッチファブリックネットワーク(例えば、インフィニバンド)、またはワイドエリアネットワーク(Wide Area Network:WAN)などのネットワークによって接続されている分散コンピューティング環境において実現される。分散コンピューティング環境は、一箇所において全てのコンピュータを有していてもよく、または、WANによって接続されているさまざまな遠隔地理位置においてコンピュータのクラスタを有していてもよい。
いくつかの実施形態においては、本教示の特徴は、全体的または部分的に、ウェブ技術を用いたセルフサービスの調整された態様でユーザに送達される共有型で融通性のあるリソースに基づいて、クラウド・コンピューティング・システムの一部またはサービスとしてクラウドにおいて実現される。(米国標準技術局(National Institute of Standards and Technology)よって定義される)クラウドの5つの特徴がある。すなわち、オン・デマンドのセルフサービス、広域ネットワークアクセス、リソースプール化、高速伸縮性、およびメジャードサービスである。クラウド展開モデルは、パブリック、プライベートおよびハイブリッドを含む。クラウドサービスモデルは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)、データベース・アズ・ア・サービス(Database as a Service:DBaaS)およびインフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)を含む。本明細書で使用するとき、クラウドは、セルフサービスの調整された態様で、共有される融通性のあるリソースをユーザに対して配信する、ハードウェア技術とソフトウェア技術とネットワーク技術とウェブ技術とを組合せたものである。特に指定がなければ、クラウドは、本明細書で使用するとき、パブリッククラウド、プライベートクラウドおよびハイブリッドクラウドの実施形態を包含しており、全てのクラウド展開モデルは、クラウドSaaS、クラウドDBaaS、クラウドPaaSおよびクラウドIaaSを含むもののこれらに限定されない。
いくつかの実施形態においては、本教示の特徴が、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せを用いて、またはそれらの組合せの助けを借りて実現される。いくつかの実施形態においては、本教示の特徴は、ここに教示される主題の1つ以上の機能を実行するように構成されたかまたはプログラムされたプロセッサを用いて実現される。プロセッサは、いくつかの実施形態においては、シングルプロセッサもしくはマルチチッププロセッサ、デジタル信号プロセッサ(digital signal processor:DSP)、システム・オン・ア・チップ(system on a chip:SOC)、特定用途向け集積回路(application specific integrated circuit:ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)もしくは他のプログラマブルロジックデバイス、ステートマシン、離散的なゲートもしくはトランジスタ論理、離散的なハードウェアコンポーネント、または、本明細書に記載される機能を実行するように設計されたそれらのいずれかの組合せである。いくつかの実現例においては、本教示の特徴が、特定の機能に特化した回路類によって実現され得る。他の実現例においては、これらの特徴は、例えば、コンピュータ可読記憶媒体上に格納された命令を用いて特定の機能を実行するように構成されたプロセッサにおいて実現され得る。
いくつかの実施形態においては、本教示の特徴は、処理システムおよび/またはネットワーキングシステムのハードウェアを制御するために、かつ、プロセッサおよび/またはネットワークがここに教示される主題の特徴を利用する他のシステムと対話することを可能にするために、ソフトウェアおよび/またはファームウェアに組込まれている。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステム、仮想マシン、ハイパーバイザ、アプリケーションプログラミングインターフェイス、プログラミング言語、および実行環境/コンテナを含み得るがこれらに限定されない。適切なソフトウェアコーディングは、ソフトウェア技術に精通した当業者にとって明らかになるように、熟練したプログラマであれば本開示の教示に基づいて容易に準備することができる。
いくつかの実施形態においては、本教示は、命令が格納された記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。これらの命令を用いて、本発明の処理または機能のいずれかを実行するように、コンピュータなどのシステムをプログラムするか、または他の方法で構成することができる。記憶媒体またはコンピュータ可読媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および磁気光ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気または光カード、ナノシステム(分子メモリICを含む)、ならびに、命令および/またはデータを格納するのに適した任意のタイプの媒体または装置、を含み得るが、これらには限定されない。特定の実施形態においては、記憶媒体は、非一時的な記憶媒体または非一時的なコンピュータ可読媒体である。いくつかの実施形態では、コンピュータ可読媒体は、送信信号または搬送波などの一時的な媒体を含む。そのような一時的な媒体は、単一のコンピュータシステムのコンポーネント間の送信の一部として生じてもよく、および/または複数のコンピュータシステム間の送信の一部として生じてもよい。
上述の記載は、網羅的となるように意図されたものではなく、または、本発明の特許請求される範囲を開示通りの形態に限定するように意図されたものではない。また、本教示の実施形態を特定の一連のトランザクションおよびステップを用いて説明したが、上述の一連のトランザクションおよびステップに限定されないことは、当業者にとって明らかであろう。さらに、本教示の実施形態をハードウェアとソフトウェアとの特定の組合せを用いて説明したが、ハードウェアとソフトウェアとの他の組合せが本教示の範囲内にあることも認識すべきである。さらに、さまざまな実施形態で本教示の特徴の特定の組合せを記載したが、一実施形態の特徴が別の実施形態に組込まれ得るというように、これらの特徴の異なる組合せが本教示の範囲内にあることは当業者にとって明らかであることを理解すべきである。さらに、特許請求される主題の精神および範囲から逸脱することなく、形態、詳細、実施および用途のさまざまな追加、削減、削除、変形および他の変更がなされ得ることも、当業者にとっては明らかであろう。より広い本発明の精神および範囲を添付の特許請求の範囲およびその均等物によって規定することを意図している。
本開示の態様は、以下の番号付き条項で説明される:
1.高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムであって、
1つまたは複数のマイクロプロセッサを含むコンピュータと、
論理デバイスとを備え、上記論理デバイスはレイヤ3アドレスによってアドレス指定され、上記論理デバイスは、複数のネットワークアダプタを含み、上記システムはさらに、
複数のスイッチを備え、上記複数のスイッチの各々は複数のポートを含み、
上記複数のスイッチは、複数の別個のレイヤ2サブネットに配置され、
上記論理デバイスにおいてマッピングテーブルが提供され、
上記論理デバイスにおいてパケットが受信され、上記パケットは、ソースアドレスと複数の宛先アドレスとを含み、
上記論理デバイスは、上記複数の宛先アドレスのうちの少なくとも1つを更新し、
上記論理デバイスは、上記更新された宛先アドレスを含む上記受信されたパケットを上記複数の別個のレイヤ2サブネットのうちの1つに転送する。
2.条項1のシステムであって、
上記パケットのソースアドレスは、レイヤ2アドレスであり、
上記受信されたパケットの上記複数の宛先アドレスは、各々レイヤ2アドレスである。
3.条項2のシステムであって、
上記複数のネットワークアダプタの各々は、複数のアダプタポートのうちのあるアダプタポートを含み、
上記複数のアダプタポートの各々は、一意のレイヤ2アドレスを介してアドレス指定される。
4.条項3のシステムであって、上記論理デバイス上の物理ポートの各々は、上記論理デバイスの上記レイヤ3アドレスによってさらにアドレス指定される。
5.条項4のシステムであって、
上記複数のスイッチのうちの2つ以上のスイッチは、マルチシャーシリンクアグリゲーション方式を含む第1のレイヤ2サブネットに配置される。
6.条項5のシステムであって、
上記複数のスイッチのうちの別のスイッチは、リンクアグリゲーション方式を含む第2のレイヤ2サブネットに配置される。
7.条項6のシステムであって、
ソースレイヤ2アドレスおよび宛先レイヤ2アドレスを含むパケットが上記論理デバイスにおいて受信され、
上記論理デバイスは、上記パケットを受信した後、上記マッピングテーブルに基づいて、上記受信されたパケットの上記宛先レイヤ2アドレスを更新し、
上記論理デバイスは、上記論理デバイスの物理ポート上で上記更新されたパケットを転送し、
上記更新された宛先レイヤ2アドレスは、上記第1または第2のレイヤ2サブネットのうちの1つに関連付けられる。
8.高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための方法であって、
1つまたは複数のマイクロプロセッサを含むコンピュータを提供することと、
論理デバイスを提供することとを含み、上記論理デバイスはレイヤ3アドレスによってアドレス指定され、上記論理デバイスは複数のネットワークアダプタを含み、上記方法はさらに、
複数のスイッチを提供することを含み、上記複数のスイッチの各々は複数のポートを含み、上記方法はさらに、
上記複数のスイッチを、複数の別個のレイヤ2サブネットに配置することと、
上記論理デバイスにおいてマッピングテーブルを提供することと、
上記論理デバイスにおいてパケットを受信することとを含み、上記パケットは、ソースアドレスと複数の宛先アドレスとを含み、上記方法はさらに、
上記論理デバイスが、上記複数の宛先アドレスのうちの少なくとも1つを更新することと、
上記論理デバイスが、上記更新された宛先アドレスを含む上記受信されたパケットを上記複数の別個のレイヤ2サブネットのうちの1つに転送することとを含む。
9.条項8の方法であって、
上記パケットのソースアドレスは、レイヤ2アドレスであり、
上記受信されたパケットの上記複数の宛先アドレスは、各々レイヤ2アドレスである。
10.条項9の方法であって、
上記複数のネットワークアダプタの各々は、複数のアダプタポートのうちのあるアダプタポートを含み、
上記複数のアダプタポートの各々は、一意のレイヤ2アドレスを介してアドレス指定される。
11.条項10の方法であって、上記論理デバイス上の物理ポートの各々は、上記論理デバイスの上記レイヤ3アドレスによってさらにアドレス指定される。
12.条項11の方法であって、
上記複数のスイッチのうちの2つ以上のスイッチは、マルチシャーシリンクアグリゲーション方式を含む第1のレイヤ2サブネットに配置される。
13.条項12の方法であって、
上記複数のスイッチのうちの別のスイッチは、リンクアグリゲーション方式を含む第2のレイヤ2サブネットに配置される。
14.条項13の方法であって、
上記論理デバイスは、上記マッピングテーブルに基づいて、上記受信されたパケットの上記宛先レイヤ2アドレスを更新し、
上記論理デバイスは、上記論理デバイスの物理ポート上で上記更新されたパケットを転送し、
上記更新された宛先レイヤ2アドレスは、上記第1または第2のレイヤ2サブネットのうちの1つに関連付けられる。
15.高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための命令を担持するコンピュータ読取可能媒体であって、上記命令は、コンピュータによって読取られ実行されると、上記コンピュータに条項8~14のいずれかのステップを実行させる、コンピュータ読取可能媒体。

Claims (15)

  1. 高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするためのシステムであって、
    1つまたは複数のマイクロプロセッサを含むコンピュータと、
    論理デバイスとを備え、前記論理デバイスはレイヤ3アドレスによってアドレス指定され、前記論理デバイスは、複数のネットワークアダプタを含み、前記システムはさらに、
    複数のスイッチを備え、前記複数のスイッチの各々は複数のポートを含み、
    前記複数のスイッチは、複数の別個のレイヤ2サブネットに配置され、
    前記論理デバイスにおいてマッピングテーブルが提供され、
    前記論理デバイスにおいてパケットが受信され、前記パケットは、ソースアドレスと複数の宛先アドレスとを含み、
    前記論理デバイスは、前記複数の宛先アドレスのうちの少なくとも1つを更新し、
    前記論理デバイスは、前記更新された宛先アドレスを含む前記受信されたパケットを前記複数の別個のレイヤ2サブネットのうちの1つに転送する、システム。
  2. 前記パケットのソースアドレスは、レイヤ2アドレスであり、
    前記受信されたパケットの前記複数の宛先アドレスは、各々レイヤ2アドレスである、請求項1に記載のシステム。
  3. 前記複数のネットワークアダプタの各々は、複数のアダプタポートのうちのあるアダプタポートを含み、
    前記複数のアダプタポートの各々は、一意のレイヤ2アドレスを介してアドレス指定される、請求項2に記載のシステム。
  4. 前記論理デバイス上の物理ポートの各々は、前記論理デバイスの前記レイヤ3アドレスによってさらにアドレス指定される、請求項3に記載のシステム。
  5. 前記複数のスイッチのうちの2つ以上のスイッチは、マルチシャーシリンクアグリゲーション方式を含む第1のレイヤ2サブネットに配置される、請求項4に記載のシステム。
  6. 前記複数のスイッチのうちの別のスイッチは、リンクアグリゲーション方式を含む第2のレイヤ2サブネットに配置される、請求項5に記載のシステム。
  7. ソースレイヤ2アドレスおよび宛先レイヤ2アドレスを含むパケットが前記論理デバイスにおいて受信され、
    前記論理デバイスは、前記パケットを受信した後、前記マッピングテーブルに基づいて、前記受信されたパケットの前記宛先レイヤ2アドレスを更新し、
    前記論理デバイスは、前記論理デバイスの物理ポート上で前記更新されたパケットを転送し、
    前記更新された宛先レイヤ2アドレスは、前記第1または第2のレイヤ2サブネットのうちの1つに関連付けられる、請求項6に記載のシステム。
  8. 高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための方法であって、
    1つまたは複数のマイクロプロセッサを含むコンピュータを提供することと、
    論理デバイスを提供することとを含み、前記論理デバイスはレイヤ3アドレスによってアドレス指定され、前記論理デバイスは複数のネットワークアダプタを含み、前記方法はさらに、
    複数のスイッチを提供することを含み、前記複数のスイッチの各々は複数のポートを含み、前記方法はさらに、
    前記複数のスイッチを、複数の別個のレイヤ2サブネットに配置することと、
    前記論理デバイスにおいてマッピングテーブルを提供することと、
    前記論理デバイスにおいてパケットを受信することとを含み、前記パケットは、ソースアドレスと複数の宛先アドレスとを含み、前記方法はさらに、
    前記論理デバイスが、前記複数の宛先アドレスのうちの少なくとも1つを更新することと、
    前記論理デバイスが、前記更新された宛先アドレスを含む前記受信されたパケットを前記複数の別個のレイヤ2サブネットのうちの1つに転送することとを含む、方法。
  9. 前記パケットのソースアドレスは、レイヤ2アドレスであり、
    前記受信されたパケットの前記複数の宛先アドレスは、各々レイヤ2アドレスである、請求項8に記載の方法。
  10. 前記複数のネットワークアダプタの各々は、複数のアダプタポートのうちのあるアダプタポートを含み、
    前記複数のアダプタポートの各々は、一意のレイヤ2アドレスを介してアドレス指定される、請求項9に記載の方法。
  11. 前記論理デバイス上の物理ポートの各々は、前記論理デバイスの前記レイヤ3アドレスによってさらにアドレス指定される、請求項10に記載の方法。
  12. 前記複数のスイッチのうちの2つ以上のスイッチは、マルチシャーシリンクアグリゲーション方式を含む第1のレイヤ2サブネットに配置される、請求項11に記載の方法。
  13. 前記複数のスイッチのうちの別のスイッチは、リンクアグリゲーション方式を含む第2のレイヤ2サブネットに配置される、請求項12に記載の方法。
  14. 前記論理デバイスは、前記マッピングテーブルに基づいて、前記受信されたパケットの前記宛先レイヤ2アドレスを更新し、
    前記論理デバイスは、前記論理デバイスの物理ポート上で前記更新されたパケットを転送し、
    前記更新された宛先レイヤ2アドレスは、前記第1または第2のレイヤ2サブネットのうちの1つに関連付けられる、請求項13に記載の方法。
  15. 高性能コンピューティング環境において複数の独立したレイヤ2サブネットにわたって単一の論理IPサブネットをサポートするための命令を担持するコンピュータ読取可能媒体であって、前記命令は、コンピュータによって読取られ実行されると、前記コンピュータに請求項8~14のいずれかのステップを実行させる、コンピュータ読取可能媒体。
JP2021541146A 2019-01-29 2020-01-28 高性能コンピューティング環境における複数の独立したレイヤ2(l2)サブネットにわたる単一の論理ipサブネットのためのシステムおよび方法 Pending JP2022518451A (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US16/261,362 2019-01-29
US16/261,362 US11102108B2 (en) 2017-08-31 2019-01-29 System and method for a multicast send duplication instead of replication in a high performance computing environment
US16/267,072 US10992538B2 (en) 2017-08-31 2019-02-04 System and method for using InfiniBand routing algorithms for ethernet fabrics in a high performance computing environment
US16/267,072 2019-02-04
US16/547,329 2019-08-21
US16/547,329 US11336716B2 (en) 2017-08-31 2019-08-21 System and method for supporting heterogeneous and asymmetric dual rail fabric configurations in a high performance computing environment
US16/547,332 US11411860B2 (en) 2017-08-31 2019-08-21 System and method for on-demand unicast forwarding in a high performance computing environment
US16/547,332 2019-08-21
US16/547,335 US11356327B2 (en) 2017-08-31 2019-08-21 System and method for a single logical IP subnet across multiple independent layer 2 (L2) subnets in a high performance computing environment
US16/547,335 2019-08-21
PCT/US2020/015470 WO2020160034A1 (en) 2019-01-29 2020-01-28 System and method for a single logical ip subnet across multiple independent layer 2 (l2) subnets in a high performance computing environment

Publications (2)

Publication Number Publication Date
JP2022518451A true JP2022518451A (ja) 2022-03-15
JPWO2020160034A5 JPWO2020160034A5 (ja) 2023-01-20

Family

ID=69724154

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021541636A Active JP7485677B2 (ja) 2019-01-29 2020-01-28 高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法
JP2021541146A Pending JP2022518451A (ja) 2019-01-29 2020-01-28 高性能コンピューティング環境における複数の独立したレイヤ2(l2)サブネットにわたる単一の論理ipサブネットのためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021541636A Active JP7485677B2 (ja) 2019-01-29 2020-01-28 高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法

Country Status (4)

Country Link
EP (2) EP3918476A1 (ja)
JP (2) JP7485677B2 (ja)
CN (2) CN113016163A (ja)
WO (2) WO2020160034A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013102A1 (en) 2001-08-02 2003-02-13 Sun Microsystems, Inc. Filtering redundant packets in computer network equipments
US8009589B2 (en) * 2008-02-25 2011-08-30 International Business Machines Corporation Subnet management in virtual host channel adapter topologies
JP4852734B1 (ja) 2010-09-22 2012-01-11 株式会社Csk サービス制御システム
US10230794B2 (en) * 2013-03-15 2019-03-12 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US9548960B2 (en) * 2013-10-06 2017-01-17 Mellanox Technologies Ltd. Simplified packet routing
JP6026451B2 (ja) 2014-02-28 2016-11-16 日本電信電話株式会社 経路制御装置
US9967288B2 (en) * 2015-11-05 2018-05-08 International Business Machines Corporation Providing a common security policy for a heterogeneous computer architecture environment
US10374926B2 (en) * 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical 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
US9921997B2 (en) * 2016-04-01 2018-03-20 Intel Corporation Mechanism for PCIE cable topology discovery in a rack scale architecture environment
US10673644B2 (en) * 2017-03-24 2020-06-02 Oracle International Corporation System and method to provide homogeneous fabric attributes to reduce the need for SA access in a high performance computing environment

Also Published As

Publication number Publication date
WO2020160032A1 (en) 2020-08-06
WO2020160034A1 (en) 2020-08-06
JP7485677B2 (ja) 2024-05-16
JP2022518238A (ja) 2022-03-14
CN113016163A (zh) 2021-06-22
EP3918476A1 (en) 2021-12-08
CN113015962A (zh) 2021-06-22
EP3918754A1 (en) 2021-12-08

Similar Documents

Publication Publication Date Title
US11336716B2 (en) System and method for supporting heterogeneous and asymmetric dual rail fabric configurations in a high performance computing environment
US11695583B2 (en) System and method to provide homogeneous fabric attributes to reduce the need for SA access in a high performance computing environment
US11405229B2 (en) System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment
US11356327B2 (en) System and method for a single logical IP subnet across multiple independent layer 2 (L2) subnets in a high performance computing environment
US11916745B2 (en) System and method for using infiniband routing algorithms for ethernet fabrics in a high performance computing environment
US11070394B2 (en) System and method for redundant independent networks in a high performance computing environment
US10841199B2 (en) System and method for optimized path record handling in homogenous fabrics without host stack cooperation in a high performance computing environment
US11411860B2 (en) System and method for on-demand unicast forwarding in a high performance computing environment
US11936556B2 (en) System and method for a multicast send duplication instead of replication in a high performance computing environment
US10868686B2 (en) System and method to provide default multicast group (MCG) for announcements and discovery as extended port information in a high performance computing environment
JP7485677B2 (ja) 高性能コンピューティング環境において異種および非対称のデュアルレールファブリック構成をサポートするためのシステムおよび方法
US20190007345A1 (en) System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment
US10601765B2 (en) System and method to provide combined IB and IP address and name resolution schemes via default IB multicast groups in a high performance computing environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240418