JP2017506049A - 分散型直接相互接続ネットワークにおけるパケットルーティング方法 - Google Patents

分散型直接相互接続ネットワークにおけるパケットルーティング方法 Download PDF

Info

Publication number
JP2017506049A
JP2017506049A JP2016568984A JP2016568984A JP2017506049A JP 2017506049 A JP2017506049 A JP 2017506049A JP 2016568984 A JP2016568984 A JP 2016568984A JP 2016568984 A JP2016568984 A JP 2016568984A JP 2017506049 A JP2017506049 A JP 2017506049A
Authority
JP
Japan
Prior art keywords
node
packet
nodes
routing
topology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016568984A
Other languages
English (en)
Other versions
JP6267367B2 (ja
Inventor
ダン オプレア
ダン オプレア
アンドレイ カタナ
アンドレイ カタナ
ウド ノイシュテッター
ウド ノイシュテッター
Original Assignee
ロックポート ネットワークス インコーポレイテッド
ロックポート ネットワークス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロックポート ネットワークス インコーポレイテッド, ロックポート ネットワークス インコーポレイテッド filed Critical ロックポート ネットワークス インコーポレイテッド
Publication of JP2017506049A publication Critical patent/JP2017506049A/ja
Application granted granted Critical
Publication of JP6267367B2 publication Critical patent/JP6267367B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Landscapes

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

Abstract

本発明は、遅延が短く、スループットが高く、ホットスポットの発達を避けるためにトラフィックを分散させる、トーラス又は高基数トポロジーにわたってデータパケットをルーティングする方法及び装置を提供する。分散型直接相互接続ネットワークにおいて送信元ノードから宛先ノードにパケットをルーティングする方法であって、全てのノード及び関連するポートを発見するステップと、ネットワークトポロジーにおけるノード及びポートを含むようにデータベースを更新するステップと、トポロジーにおける各ノードの全ての出力ポートから他の全てのノードへの最短経路を計算するステップと、送信元ノードの出力ポートにおいて各パケットをフリットに分割するステップと、フリットが分割されたら、ワームホール切り替えを用いて、送信元ノードの各出力ポートから宛先ノードへの最短経路に沿ってフリットを分散することにより、ネットワークトポロジーにおける別の最大非同一ルートに沿ってパケットが分散されるようにするステップと、宛先ノードにおいて、パケットがその元々の順序/形態に従うようにパケットを再構築して順序変更するステップとを含む方法を開示する。【選択図】 図14

Description

〔関連出願との相互参照〕
本出願は、2014年8月29日に出願された「コンピュータネットワークにおける直接相互接続スイッチ配線及び成長の管理方法及び装置(Method and Apparatus to Manage the Direct Interconnect Switch Wiring and Growth in Computer Networks)」という名称のカナダ国特許出願公開第2014/000652号に関連し、この文献の開示は、引用により本明細書に組み入れられる。
本発明は、データセンタとクラウドデータセンタサーバとを相互接続するコンピュータネットワークに関する。具体的には、本発明は、「ドラゴンフライ(dragonfly)」配線構造などの、トーラス又は高基数トポロジーに実装された直接相互接続ネットワークにおけるパケットルーティング方法に関する。
データセンタ(DC)という用語は、一般に膨大な量の構造化ケーブルによって全てが接続された(多くの場合、設備を収容するラックに収容された)大規模コンピュータシステム及び関連するコンポーネントを収容するために使用される施設を意味する。クラウドデータセンタ(CDC)という用語は、一般にエンティティのデータを同様に記憶する他社運用型施設を意味する。
ネットワークスイッチは、ネットワークデバイスを通信/処理の目的でリンクするコンピュータネットワーク装置である。換言すれば、スイッチは、スイッチに接続されているいずれかのデバイスからメッセージを受け取り、メッセージの中継先である特定のデバイスにメッセージを送信できる電気通信デバイスである。ネットワークスイッチは、一般にデータの処理及びルーティングを行うマルチポートネットワークブリッジとも呼ばれる。ここで言うポートは、スイッチと、スイッチが取り付けられたコンピュータ/サーバ/CPUとの間のインターフェイス(ケーブル又はプラグの差し込み口)を意味する。
今日、DC及びCDCは、一般にレイヤ2スイッチの組を用いてデータセンタネットワーキングを実装している。レイヤ2スイッチは、同じローカルエリアネットワーク上のノード(例えば、サーバ)間、又はワイドエリアネットワーク内の隣接するノード間でデータを転送するプロトコル層であるレイヤ2というデータリンク層においてデータの処理及びルーティングを行う。一方で、非常に多くの(数千もの)ポートを含む超広集約帯域幅(数百TB)を搬送することができ、最低限の構造及び場所しか必要とせず(すなわち、カードラックを含む数多くのキャビネットを収容するための大部屋の必要性を最小限に抑え)、容易に拡張することができ、消費電力の最小化を支援することができる大容量コンピュータネットワークをいかにして構築するかが解決すべき主な課題である。
従来のネットワークトポロジーの実装は、図1に示すような階層的ツリー構造で編成された完全に独立したスイッチに基づく。コアスイッチ2は、スイッチィング容量が非常に大きな超高速の少数ポートである。第2層は、多くのポートを含む中容量スイッチである集約スイッチ4を用いて実装され、第3層は、低速でポート数が多く(40/48)低容量のエッジスイッチ6を用いて実装される。通常、エッジスイッチはレイヤ2であり、集約ポートはレイヤ2及び/又はレイヤ3であり、一般にコアスイッチはレイヤ3である。この実装は、あらゆるサーバ8に、図示の例では最大6ホップリンク(コアスイッチ2までの3ホップと、宛先サーバ8までの3つの下りホップ)でのいずれかのサーバ接続性を提供する。また、このような階層構造は、通常、冗長信頼性のために二重化される。例えば、図1を参照すると、二重化されていなければ、右端のエッジスイッチ6が故障した場合、右端のサーバ8との接続性が存在しなくなる。コアスイッチ2が故障すると、データセンタ全体の接続性障害が生じるので、少なくともコアスイッチ2は二重化される。明らかな理由により、この方法には、将来的なCDCの課題に対処する上で大きな制限がある。例えば、各スイッチが完全に自己完結型であることにより、複雑性、広い床面積利用、ヒューマンエラーが生じやすい複雑なケーブル配線及び手動スイッチの構成/プロビジョニング、並びにエネルギーコストの増加が加わる。
一方で、データセンタにおけるスイッチングの拡張性、信頼性、容量及び遅延を改善する多くの試みが行われてきた。例えば、統合制御プレーン(例えば、Juniper Networks社製のQFabricシステムスイッチ、例えば、http://www.juniper.net/us/en/products−services/switching/qfabric−system/を参照)を用いてさらに複雑なスイッチング解決策を実装する努力が行われてきたが、このようなシステムは、依然として従来の階層アーキテクチャを使用し、これを維持するものである。また、システムユーザの数、並びに記憶し、アクセスし、処理すべきデータ数の急激な増加を考えると、コンピュータネットワークシステムの性能要件を決定する際には、処理能力が最も重要な要素となってきている。サーバ性能は絶えず改善されているが、1つのサーバでは、このニーズを満たすほど十分に強力ではない。このことが、並列処理の使用が最重要になってきた理由である。この結果、大部分がnorth−southトラフィックフローであったものが、現在では、最大80%もの多くの事例において主にeast−westトラフィックフローになってきている。このトラフィックフローの変化にも関わらず、ネットワークアーキテクチャは、このモデルにとって最適となるように進化していない。従って、並列処理通信中のCPU間の相互作用速度を決定するのは、依然として(コンピュータノード(サーバ)を相互接続する)通信ネットワークのトポロジーである。
east−westトラフィック通信を増加させるニーズは、新しいフラットなネットワークアーキテクチャ、例えばトロイダル/トーラスネットワークの形成をもたらした。トーラス相互接続システムは、並列コンピュータシステムにおいてネットワークノード(サーバ)をメッシュ状に接続するネットワークトポロジーである。トーラストポロジは、ノードを2次元、3次元又はそれよりも多くの(N)次元で配置することができ、この配置では、プロセッサ/サーバが最も近い隣接プロセッサ/サーバに接続され、アレイの反対端のプロセッサ/サーバ同士が接続されたアレイとして視覚化することができる。このように、N次元のトーラス構成では、各ノードが2N個の接続を有する(図2に、3Dトーラス相互接続の例を示す)。トーラストポロジにおける各ノードは、短いケーブルを介して隣接ノードに接続されているので、並列処理中のネットワーク遅延が少ない。実際に、トーラストポロジでは、あらゆるノード(サーバ)に最小のホップ数でアクセスすることができる。例えば、3×3×3×4の構造(108ノード)を実装する4次元トーラスでは、any−to−any接続を提供するために必要なホップ数は平均2.5ホップである。図4に示す6×6の2−Dトーラスの例に、角のノード1.6から他の全35個のノードに到達するのに必要な最小ホップ数を示している。図示のように、ノード1.6からいずれかの宛先に到達するのに必要なホップ数は、3ホップ(10ノード)を頂部とし、一般に5ホップ(4ノード)及び1ホップ(4ノード)をそれぞれ底部とする釣鐘曲線としてプロットすることができる。
残念ながら、大規模トーラスネットワークの実装は、大規模実装の構築に何年も掛かり、ケーブル配線が複雑であり(各ノードにつき2N個の接続)、拡張が必要な場合に変更コストが掛かり面倒となり得るので、DC又はCDCにおける商用展開には実用的でなかった。しかしながら、処理能力のニーズが商業上の欠点を上回る場合には、スーパーコンピュータにおけるトーラストポロジの実装が非常に功を奏してきた。この点、IBM社のBlue Geneスーパーコンピュータは、64個のキャビネットが65,536個のノード(131,072個のCPU)を収容して数ペタフロップの処理能力を提供する3−Dトーラス相互接続ネットワークの例であり(図3の例示を参照)、富士通(Fujitsu)社のPRIMEHPC FX10スーパーコンピュータシステムは、98,304個のノードを含む1,024個のラックに収容された6−Dトーラス相互接続の例である。上記の例は、トーラストポロジに対応するものであるが、他のフラットネットワークトポロジにも等しく適用可能である。
本発明は、トーラス又は高基数ネットワーク構造におけるノードからノードへのデータパケットのトラバース及びルーティングという重要な問題に、より具体的に対処するものである。この点、ネットワークにおいてデータパケットが送信元から宛先に到達するために取る実際の経路を決定するのはルーティングである。本明細書における遅延とは、ネットワークにおいてパケットが宛先に到達するのに掛かる時間のことを意味し、一般にヘッダが送信元ノードの入力に到着した時点から宛先ノードの入力に到着した時点までが測定される。ホップ数は、送信元と宛先との間でトラバースしたリンク数又はノード数を意味し、遅延を決定するための近似値を表す。スループットは、ネットワークが入力ポート/ノード毎に受け入れる、ビット/秒の単位で測定したデータ率である。
ルーティングによってトラフィックがノード間で均等に分散(負荷バランシング)した結果、ホットスポットの発達(使用量/需要量が所望の又は許容できる閾値を超える経路又はノード領域)が避けられ、(2又は3以上のノードが同じ配線又は経路を介してメッセージ又はパケットを同時に送信しようと試みる際の)競合が最小化され、これによってネットワーク遅延及びスループットが改善された時に有用な目標が達成される。従って、選択されたルートは、ノードからノードへのホップ数に影響し、これによってルートが最適でない時にはエネルギー消費量に影響する可能性もある。
トポロジーは、平均最小ホップ数及びノード間距離に影響するので、ネットワークが動作するトポロジーは、明らかに遅延にも影響する。例えば、トーラスでは、パケットが宛先に到達するために取ることができる経路が複数存在する(すなわち、トーラスにおいては、「経路多様性」が存在する)だけでなく、いずれかの送信元と宛先との対間の最短距離経路も複数存在する。一例として、図5に、2−DトーラスメッシュにおいてパケットがノードS11からノードD12に到達するために取ることができる3つの最短ルート(3ホップ)との例と、それよりも長い5ホップの第4のルートとを示す。ルーティングを通じて行われる経路の消費は、トポロジーのみに基づいて静的に行われ、送信元ルーティング(ソースルーティング)は、ホップ毎にパケット送信元と宛先との対に基づいて動的に行われる。
経路の多様性を利用するルーティング法は、ネットワークにおける耐障害性及び負荷バランシングが良好である。しかしながら、ルーティング法は、必ずしもこのような目標を達成するわけではなく、一般に、決定論的ルーティング、無情報(oblivious)ルーティング及び適応的ルーティングという3つのクラスに分割することができる。決定論的ルーティングは、所与のノード対間の(単複の)ルートが、現在のネットワーク状態に関わらず(すなわち、ネットワークトラフィックに関わらず)予め決定されることを意味する。決定論的ルーティングの例には、ノードAからノードBへの全てのメッセージが常に同じ経路をトラバースするDimension Orderルーティング(DOR)がある。具体的には、メッセージが次元毎にトラバース(X−Yルーティング)することにより、1つの次元内の宛先に一致する縦座標に到達してから次の次元に切り替わる。一例として、図6を用いてDORを示すことができ、この例では、パケットが、最初にノード1からノード5を通ってノード9に至るまで必要な限り第1の次元(X)に沿ってトラバースし、その後、第2の次元(Y)に沿って宛先ノード10に至る。このようなルーティングは、一般に実装が容易であってデッドロックが存在しないが(デッドロックとは、送信元から宛先まで経路に沿って無限サイクルが存在する状況を意味する)、経路の多様性を利用しておらず、従って負荷バランシングに乏しい。
「無情報」なルーティングアルゴリズムは、ルーティング決定が、現在のネットワーク状態に関わらずランダムに行われるものである(決定論的ルーティングは、無情報ルーティングの一部である)。このことは、無情報ルーティングの実装が用意になり得ることを意味するが、やはりトラフィック及びネットワーク環境に適合することができない。周知の無情報ルーティング方法の例は、(当業者に周知の)Valiantアルゴリズムである。この方法では、ノードAからノードBに送られるパケットが、最初にノードAからランダム選択された(1ホップ離れた)中間ノードXに送られ、その後にノードXからノードBに送られる。再び図6を参照すると、Valiantアルゴリズムは、送信元ノード1から宛先ノード10までの中間ノードとしてノード2をランダムに選択することができ、すなわち、例えば経路1−2−3−7−11−10をルーティング目的で使用することができる。このアルゴリズムは、一般にあらゆるトラフィックパターンをランダム化するものであり、全てのパターンが均等にランダムであるように見えるので、ネットワーク負荷のバランスは適正である。実際に、Valiantアルゴリズムは、一般にほとんど全てのトポロジーに基づくあらゆるトラフィックパターンについて負荷をバランシングできると考えられてきた。しかしながら、1つの問題点は、一般にValiantによるルートは非最短であり(最短ルートとは、送信元と宛先との間の必要なホップ数が最も少ない経路のことである)、この結果、しばしばホップ数が大幅に増加し、これによってネットワーク遅延がさらに増し、エネルギー消費量が増加する可能性もある点である。しかしながら、輻輳が最小限に抑えられたネットワークなどの例外もある。非最短ルーティングでは、追加のノードをトラバースする際の遅延、及び恐らくは消費電力が大幅に増加する恐れがある一方で、輻輳を経験するネットワークでは、非最短ルーティングが実際にノード又はホットスポットを避ける役に立ち、これによって実際に遅延が短くなる場合もある。
しかしながら、最短ルートが望ましい場合又は必要な場合、Valiantアルゴリズムは、最小四分円内に中間モードが存在しなければならない旨を規定することにより、アルゴリズムのランダムな決定を最短ルート/最短経路に制限するように修正することもできる。一例として、図6を参照すると、(宛先ノード10を有する)ノード1の最小四分円はノード2、5及び0を含み、通常のホップ数は3になる。Valiantアルゴリズムは、ホットスポットが発達する可能性を下げるいくつかのレベルの経路選択ランダム化を提供する。しかしながら、Valiantルーティングでは、デッドロックが存在しないのはDORルーティングと併用した場合のみであり、Valiantルーティング自体は負荷バランシング及びホットスポット回避と共に成立しないという、このような効率に影響するさらなる難しい問題点も存在する。
適応的ルーティングアルゴリズムは、ルーティング決定がネットワーク又はネットワークトラフィックの状態に基づくアルゴリズムである。これらのアルゴリズムは、一般にフロー制御機構を伴い、この点において、多くの場合バッファ占有率が使用される。適応的ルーティングは、(コストパフォーマンスの良い)グローバルノード情報を使用することも、或いは、例えばネットワーク輻輳を測るためのキュー占有率を含む、ローカルノードのみからの情報を使用することもできる。ローカルノードのみからの情報を使用する問題点は、選択が最適以下になることもあるという点である。適応的ルーティングは、最短経路に制限することも、或いはライブロック(すなわち、パケット移動が宛先まで進まないデッドロックに類似する状況であり、しばしばリソースの枯渇を招く)の恐れもある非最短経路を採用することによって完全に適応的とする(すなわち、最短経路を取ることに制限されない)こともできる。この問題は、パケット毎に一定数の誤ルートを可能にし、何度もルートを誤ったパケットに高優先度を与えることによって克服できることもある。適応的ルーティングの別の問題点は、パケットが同じ順序で宛先に到着する必要があり、そうでなければ、パケット順序変更機構を実装する必要があるという、データパケットの順序が維持される問題を引き起こし得る点である。
最後に、重要なこととして、送信元テーブル又はローカルテーブルによってルーティングを実装できる点に言及する。送信元テーブルを使用すると、送信元においてルート全体が規定され、このルートをパケットヘッダに埋め込むことができる。従って、各ノードにおいてホップ毎にルートを固定又は決定する必要がないので、遅延が最短になる。送信元テーブルは、故障を管理できるように、またルートがランダムに選択(すなわち、無情報ルーティング)された時には負荷バランシングを高めることができるように、宛先毎に複数のルートを規定することもできる。一方、ローカルノードテーブルを使用すると、採用されるルーティングテーブルが小型になる。しかしながら、パケットが進む次のステップが各ノードにおいて決定され、これによってホップ毎の遅延が加わる。
本発明は、先行技術の欠点を克服し、トーラス又は高基数ネットワークトポロジーにおける周知のパケットルーティング方法を改善しようとするものである。
本発明は、1つの態様において、低遅延、高スループット、並びにホットスポット及びデッドロックの回避をもたらすようにトーラスメッシュ又は高基数トポロジーにわたってデータパケットをルーティングする新規方法を提供する。
本発明は、さらに別の態様において、トーラス又は高基数構造に、トラフィックの非相関化(ランダム化)、高効率な帯域幅割り当て、負荷バランシング及びトラフィックエンジニアリングを実装する方法を提供する。
本発明は、1つの実施形態において、直接相互接続ネットワークにおいて送信元ノードから宛先ノードにパケットをルーティングするコンピュータ実装方法であって、ネットワークトポロジーにおける全てのノードと、各ノードの全ての出力ポートとを発見するステップと、ネットワークトポロジーにおける発見されたノード及び出力ポートを最短経路のルーティング計算に含めるために、前記ノード及びポートをトポロジーデータベースに含めるステップと、トポロジーデータベースに含まれているノード及び出力ポートに基づいて、ネットワークトポロジーにおける各ノードの全ての出力ポートから他の全てのノードへの最短経路を計算するステップと、各ノードにおいて、ネットワークトポロジーにおける前記各ノードの全ての出力ポートから他の全てのノードへの最短経路を含む送信元ルーティングデータベースを生成するステップと、送信元ノードにおいてパケットを受け取るステップと、前記受け取ったパケットの各々が、その後に送信元ノードの出力ポートにおいてフリットに分割されて送信元ノードの出力ポートから宛先ノードまでの最短経路に沿って分散され、この結果、パケットがネットワークトポロジーにおける別ルートに沿って分散されるように、受け取ったパケットを、送信元ノードの出力ポートにラウンドロビン方式又は重み付きラウンドロビン方式で送信するステップと、宛先ノードにおいて、パケットをその元々の形態及び順序に従うように再構築して順序変更するステップとを含むコンピュータ実装方法を提供する。
本発明は、さらなる実施形態において、ワームホール切り替えを用いてフリットを宛先ノードに転送するパケットルーティング方法を提供する。
以下、添付図面を参照しながら本発明の実施形態を一例として説明する。
従来のデータセンタネットワークの実装の高水準図である。 8つのノードを有する3次元トーラス相互接続の図である。 トーラスアーキテクチャを用いたIMB社のBlue Gene処理ユニットの階層を示す図である。 角のノード(1.6)から開始して35個のノードのいずれかに到達するために必要な最小ホップ数を示す、6×6の2−D折り畳みトーラスにおける36個のノードの高水準図である。 ノードSから開始してノードSの全てのポート(x+、x−、y+、y−)上でノードDに至る複数のルートを示す4×4の2−Dトーラス実装の図である。 様々なルーティングアルゴリズムがどのようにパケットをノードからノードにルーティングできるかを示すのに役立つ単一ネットワークトポロジーの図である。 本発明のシステムによる、全てのポートを有する高速ネットワークインターフェイスカードの高水準図である。 本発明のシステムによる、主要機能ブロックを示すホストネットワークインターフェイス(HNI)の高水準図である。 トーラスメッシュを横切るパケット転送を実装するために必要なパケット分割の高水準図である。 36ノードの2−Dトーラス構造においてノードS(2.4)上の各ポートから開始してノードD(5.2)上の各ポートに至るルート及びホップ数を示す図である。 本発明による、ソフトウェアコンポーネントであるTD、SR、WS、FCを示す高水準図である。 本発明によるパケット分割処理のフローチャートである。 パケット分割を通じたフリット生成を実装する疑似コードを示す図である。 本発明による、各ポートからの送信元ルーティングを準備する処理ステップのフローチャートである。 本発明による、経路計算を実装する疑似コードを示す図である。 本発明による、経路計算によって生成される送信元ルーティングテーブルフォーマットを示す図である。 本発明による、各ポート上の「フリット」転送処理のフローチャートである。 本発明による、各ポート上で「フリット」を転送するワームホール切り替え処理を示す図である。 本発明による、図17のフローチャートに示すフリット転送を実装する疑似コードを示す図である。 トポロジー更新のためのトポロジー発見処理を引き起こすノード又はリンクを発見するフローチャートである。 トポロジーデータベース更新を示すフローチャートである。 ノード及び/又はリンク障害検出及び回復処理、並びにトポロジー更新処理のフローチャートである。 本発明による、リンク及び/又はノード障害検出を実装する疑似コードを示す図である。
本発明は、トーラスメッシュ又は高基数配線を利用して、データセンタアプリケーションの直接相互接続切り替えを実装するものである。具体的には、本発明は、2014年8月29日に出願された「コンピュータネットワークにおける直接相互接続スイッチ配線及び成長の管理方法及び装置(Method and Apparatus to Manage the Direct Interconnect Switch Wiring and Growth in Computer Networks)」という名称の関連するカナダ国特許出願公開第2014/000652号に記載されているトーラスシステムとの使用が特に有用である。このようなアーキテクチャは、単一の切り替え領域内に数万台のサーバを有する高性能ネットワーク相互接続を提供することができる。
スイッチを制御するソフトウェアは、Software Defined Networkモデルに従う。スイッチコントロールプレーン(スイッチOS)は、独立サーバ上で動作するが、各PCIeカード上で動作する分散処理と密接に相互作用することが好ましい。図11を参照すると、主要ソフトウェアコンポーネントが、トポロジー発見(TD)、トポロジーにわたるパケットルーティング(SR)、ワームホール切り替え(WS)、フロー制御(FC)機構、並びにスイッチ状態モニタリング及びスイッチ管理を含む。TDコンポーネントは、基本的にトーラスメッシュ内のノードの存在(又は不在)を発見することに関与し(及びこれによりノードの存在に基づいて考えられる経路の更新を可能にし)、SRコンポーネントは、送信元ルーティング計算(送信元ノードの全てのポートからいずれかの宛先ノードへの利用可能な全ての経路)に関与し、WSコンポーネントは、フリットヘッダに含まれる最短遅延の経路ベクトルに基づく、トーラスにわたるフリット操作(全てのノードにおけるカットスルーモデル)に関与し、FCコンポーネントは、入力キューイング機構を通じてトラフィックを規制するためにトーラスリンクの利用及び送信元への制御メッセージに関与し、スイッチ状態モニタリングコンポーネントは、トラフィックバランシング、障害状況におけるトラフィックのルート変更、及びスイッチ成長のサポートに関与し、スイッチ管理コンポーネントは、全ての相互接続サーバ、外部との全ての相互接続I/Oリンク及び接続性状態を含む、スイッチの完全なイメージを維持することに関与する。
本発明は、主に本発明の新規のトポロジー発見(TDコンポーネント)及びルーティングプロトコル(SRコンポーネント)に関し、主要機能は、カナダ国特許出願公開第2014/000652号に開示されている新規のスイッチアーキテクチャにおける実装に特に有用である。トーラス構造を通じてデータパケットをルーティングする従来の実装では、トラフィックが宛先ノードにわたってランダムに分散されるという非明示的な想定を行っているが、実際の実装では、単一の送信元/単一の宛先において最大容量の連続パケットフローが生じた場合に、トーラスメッシュにわたるパケット転送能力を完全に無効にする容量を有するホットスポットの発達がトーラスにわたって伝搬することによって実際にスイッチ障害が示された。従って、本発明は、(いずれかの送信元から(相関性の高い)いずれかの宛先までの大量のフロー、又はランダムに分散した宛先へのトラフィック(典型的なインターネットトラフィック)に関わらず)あらゆるタイプのトラフィックの性能問題及びホットスポットの発達に対処するために、トーラス又は高基数ネットワークなどの直接相互接続ネットワークトポロジーのためのルーティングの最適化及び実装についてさらに具体的に言及する。上述したようなトーラス内でパケットをルーティングする既知の方法とは対照的に、本発明は、トポロジー内の全てのノードを発見して更新する方法、並びに各ノードにおける全ての出力ポート(例えば、x+、x−、y+、y−、z+、z−、w+及びw−)上の全ての宛先ノードへの(単複の)最短経路を計算することより、パケットを各出力ポートからの経路に沿ってラウンドロビン方式又は重み付きラウンドロビン方式で(すなわち、複数の別の経路を奨励して)分散させ、帯域幅及びトラフィック分配を増加させてホットスポットを回避するパケットルーティング方法について説明する。フロー制御(FC)機構を用いて、パケットルーティングのための出力ポートの選択を、単純なラウンドロビンによる連続的な送信元ノード出力ポート選択(すなわち、最初にポートx+、次にポートx−、その後にy+、y−、z+、z−、w+及びw−)から、FCによってビジーとして識別されたリンクをスキップし、或いはこれらのポート上のトラフィックを最大リンク容量の低率(例えば、10%)に減少させる重み付きラウンドロビン方式に適応的に変更する。
宛先ノードでは、データパケット順序変更が実装される。このような方法は、カナダ国特許出願公開第2014/000652号に開示され本明細書でさらに説明する新規のノード(サーバ)発見方法を特に活用することができる。従って、本発明は、(いずれかの送信元から(相関性の高い)いずれかの宛先までの大量のフロー、又はランダムに分散した宛先へのトラフィック(典型的なインターネットトラフィック)に関わらず)あらゆるタイプのトラフィックの性能問題及びホットスポットの発達に対処するために、トーラス又は高基数ネットワークなどの直接相互接続ネットワークトポロジーのパケットルーティング最適化の問題に対処する。
まず第1に、図7に、外部にアクセスするためのI/Oポート13(N−Sインターフェイス)、4Dトーラス相互接続ポート14、コンピュータサーバにアクセスするためのPCIeポート15及び制御19という全てのポートを有する高速ネットワークインターフェイスカード10の高水準図を示す。当業者であれば、本発明は、これより少ない又は多くのポートを有するHNIカードと協働することもでき、他のトーラス又は(例えば「ドラゴンフライ」などの)高基数トポロジーに関連することもできると理解するであろう。
図8には、本発明のシステムによる、RAM37及びROM38を含むプロセッサ31と、切り替えブロック32と、物理インターフェイス装置36と、トーラス相互接続ポート14と、I/Oポート13と、PCIeポート15とを含む主要機能ブロックを有するHNIカード10の高水準図を示す。この実施形態の物理的実装は、マルチコアプロセッサに付属のメモリとPHY装置とを取り付けてトーラス相互接続を実装したものに基づく。切り替え機能は、プロセッサのハードウェアアクセラレーション支援機能を用いて複数のキュー操作をサポートするソフトウェアで実装される。当業者であれば、本発明は、物理的実装が異なる場合、すなわち切り替え機能アクセラレーションをFPGA又はASICで実装した場合でも機能し、或いは切り替え機能に使用するカードと同じカード上にプロセッサが存在する必要はないと理解するであろう。
図10は、本発明によるパケットルーティングの説明において使用する単純な2Dトーラス配線図である。図示のように、この構造は、全体を通じて各接続の長さが等しい折り畳んだ2Dトーラスである。この図における各ノードは、サーバに収容された(上述した)PCIeスイッチカードを介して相互接続されたサーバを表す。この図には、送信元ノードSにおいて計算される、送信元ノードS(2.4)のポートから宛先ノードD(5.2)への、様々な次元(x+、x−、y+、y−)において開始する(共通のリンク又はノードが存在しない)最短最大の非同一経路を示している。この点、図10には、5ホップという最小ホップ数を有する3つの計算された経路及びルーティングベクトル((S)2.4から(x+、x+、x+、y−、y−)、(S)2.4から(y−、y−、x+、x+、x+)、及び(S)2.4から(x−、x−、y−、y−、x−))を示しているが、7ホップという非最小ホップ数を有する別の経路((S)2.4から(y+、y+、y+、x+、x+、x+、y+)も計算される。送信元SとDノードとの間の大量のトラフィックを想定すると、パケット/フリットは、ラウンドロビン又は重み付きラウンドロビン方式で各送信元ノードSの出力ポートから開始して各出力ポートからの経路に沿って宛先ノードに向かう最短経路上でノードDに送信され、これによって一方では複数の経路を用いて帯域幅を増加させ、トラフィックを分散させてホットスポットの発達を避ける(送信元ノードにおいて出力ポートの重み付きラウンドロビンを選択すると、いくつかの経路に沿ったパケット数が増加する)。各ノードでは、第1のホップ以外に、リンク又はノード障害の際にルートが必要に応じてトラフィック輻輳及びホットスポットを克服するのに役立つ別の独立経路を提供するように、第2の別ルートを計算して記憶することもできる。この方法は、負荷バランシングの目的でトーラス又は高基数ネットワークにわたってトラフィックを分散するが、パケット順序変更を導入することもできる。例えば、y+から開始する経路(図10)は、最短経路(5ホップ)よりも2ホップ長いので、この経路上で送信される全てのパケットはさらに遅れて到着し、これによってパケット順序変更問題が生じることがある。従って、本発明によれば、宛先ノードにおいてパケットを順序変更する必要がある。このことは、当業者の技術範囲内である。
パケット分割の高水準図を示す図9を参照すると、重要なこととして、直接相互接続トーラス又は高基数ネットワークをトラバースするパケットは、ルーティング中にさらに小さなパケット(フリット)に分割される。パケットネットワークにおいてよく見られる問題である「ヘッドオブラインブロッキング」を、共有リソース(リンク及びバッファ)を用いて回避するために、トーラスメッシュ全体にわたってパケット分割が必要とされる。フリットのサイズは、オーバーヘッドの負担を最小化するようにトラフィックタイプによって決まり、実際の値の範囲は64〜512バイトである。重要なこととして、本発明は、とりわけEthernet(登録商標)パケット、Infinibandパケット、PCIeストリーム又はNVMeトランザクションに対処することができる。トーラス構造を横切るフリットは、トラフィックを透過的に搬送する。外部インターフェイスI/Oポート13は、トラフィックのタイプに固有のものであってユーザトラフィックを終了させ、トーラスを横切り「フリット」を介して宛先PCIeポート15にデータを透過的に転送する。重要なこととして、本発明は、(Ethernetフリットを介して)トーラスを横切るEthernetパケットに対処することができる。本明細書における主な利点は、Ethernetパケットのためのフリットがパケット描写機構を有しているので、フリットのサイズを変えられる点である。従って、フリットサイズは、64バイト(最小Ethernetパケットサイズ)〜512バイト(ペイロード及びヘッダ)まで可変である。パケットが512バイトよりも大きい場合、システムは、元のパケットを512バイトのフリット、すなわちヘッダフリット、ボディフリット及びテイルフリットに分割する。
図12は、パケット分割方法を示すフローチャートである。HNIプロセッサは、ホスト(すなわち、PCIeインターフェイス)から新たなパケットを受け取ると(ステップ402)、ヘッダを抽出してパケットの宛先(ステップ404)及びルーティング経路を分析する。パケットは、この段階で分割ループに入る。バイトカウンタが初期化され(ステップ412)、パケットエンド(End of Packet:EOP)アナライザがEOPを検出し(ステップ405)、カウンタが476バイト以下である(すなわち、ペイロードが476バイト以下である)場合、パケットは、フリット生成器(ステップ407)、ヘッダ生成器(ステップ408)及び優先度決定ブロック(ステップ409)に送られる。その後、トーラスメッシュを横切って次のホップ(ネクストホップ)に送信するためにフリットを割り当て出口キューに挿入し(ステップ410)、新たなパケットが受け取られたかどうかを確認する(402)。各個々のフリット後にバイトカウンタを増分し(ステップ411)、フリット生成器にパケットフラグメントを送信し(ステップ407)、処理は、パケット内の最後のフリットに到達して送信するまで上述のステップをたどる。重要な見解として、トーラスリンク上のフリットは512バイト(476バイトのペイロード及び36バイトのヘッダ)であり、その後に8「アイドル」バイトが続くことが好ましい。パケットが476バイトに届かない場合、フリット(通常はテイルフリット)は512バイトよりも小さく、「アイドル」バイトを用いてパケット描写が行われる。図13に、パケット分割を通じたフリット生成を実装する疑似コードを示す。宛先では、トーラスヘッダを除去し、「Byte cnt」を用いて元々のパケット内のフリットをオフセットすることにより、フリットをパケットに組み立てる。当業者であれば、宛先ノードのために送信元毎のパケットキューを実装し、順序付けしたパケットフラグメントリストを作成し、パケットが完全に組み立てられたら元々の順序で放出すると認識するであろう。図14は、本発明によるルート計算を示すフローチャートである。本発明は、送信元ノードからいずれかの宛先ノードへの、送信元ノードの各出力ポート上で最大限に非同一である(共通のリンク及びノードが存在しない)全ての経路(送信元ルーティング)を計算するために図15の疑似コードも提供する。(アクティブなサーバ/ノード及びそのアクティブなポートを発見する)トポロジー更新機能412は、更新が検出されると直ぐに(すなわち、ノードの追加/削除時、又はノードに関連する重大な問題/故障の存在時には常に)ルート/経路計算を開始する(414)。本発明によれば、ステップ419(トポロジーリスト内で見つかった第1の宛先ノード)、その後にステップ420及び421(トポロジーリスト内の全ての宛先ノードを検索)に示すように、ダイクストラ法(Dijkstra algorithm)を用いてトポロジーから現在のノードと各宛先ノードとの間の最短経路が計算される(ステップ415)。ステップ422において、ステップ417によって影響を受ける全ての経路コストを初期値にリセットする。計算された送信元から宛先への最短経路は、送信元ルーティングデータベースに記憶され、この経路は、(非同一経路を提供するために)記憶された経路に属する全てのリンクのコストを無限に増加させることによってさらなる最短経路計算から削除され(417)、これには、トポロジーデータベースからノード及びリンクを削除して、非同一経路選択の目的で再利用しないように強制するという実用的効果がある。この処理は、全ての出力ポートが使用され、送信元ノードと宛先ノードとの間の考えられる全ての経路がデータベースに記憶されるまで継続する。次に、これらの結果が、最初に最短経路からルーティングを開始すべき各ノードのルーティングベクトルとして出力ルーティングテーブルにまとめられる(418)。最短経路の計算自体は、ルーティングプロトコルの実装において使用される周知の方法であるダイクストラ法を用いて実装することができる。本明細書では、全ての出力ポートにおいて最短経路が決定されて適宜使用される点が特に新規な点である。
図16に、ルーティング出力テーブルのフォーマットを示す。各ルートには、特定の経路のホップ数を表す数字、及びホップ毎に選択すべき出力ポートのリスト/ベクトルが付与される。具体的には、図16には、8つのポート(x+、x−、y+、y−、z+、z−、w+及びw−)を有する4−Dトーラス(8×8×8×8)における、送信元ノード番号1000から宛先ノード0への(ノード1000及びノード0の使用は例示にすぎない)ルートを表す出力テーブルのスナップショット例を示している。なお、第1の8つのルートグループの8つのルートのグループ分けにおける最初の出力選択(すなわち、x+、y+、z+、w+、x−、y−、z−及びw−)は、例えば送信元ノードの各出力ポートに対応する。8つの経路は、完全に非同一であり、5ホップ、7ホップ又は9ホップという異なる長さを有する。最も重要な特徴は、トラフィックの分散及び予測可能な性能を可能にする、トーラス全体にわたる経路分散である。図16の第2の8つの経路グループは、ルーティング経路の第2の代替例を表す。この方法では、多くの代替ルートを計算することができるが、距離(ホップ数)はますます長くなる。実用的な理由で、この方法は、必要に応じて8つの異なる経路である第1の選択肢のみを一般に記憶することができる。
図17は、本発明による、パケット切り替えにおいて使用するステップを示すフローチャートである。新たなパケットが出力キューにプッシュされると、パケット転送状態機械は、トーラスを横切って転送を開始する。この点、対象の出力ポート「k」(ポート1〜8、すなわち上述した出力ポート:x+、y+、z+、w+、x−、y−、z−及びw−)を用いて、(図18に示すように)ワームホールモデルに従ってフリットを転送し、図17に示すように、パケットの最後(テイルフリット)に達するまで、ヘッドフリット及び後続のフリット増分(ボディフリット)をポートkから同じ経路に沿って転送する。パケットの最後に達すると、カウンタkを増分して次の出力ポートを参照し、このワームホール切り替えモデルを用いて、次のパケット識別子を有する(次の順番のパケットとして指定される)次のパケットをトーラス上でフリット毎に転送する。パケットの最後が検出されると、再びポート番号を増分し(すなわち、k=k+1)、次のパケットを転送して、以下同様に継続する。この実装では、特定の宛先への長いフローを非相関化してトーラスメッシュにおける「ホットスポット」の発達を避けるために、1つのノードからのパケットを、このノードの全ての出力ポート14上でラウンドロビンモデルの形で分散させる。当業者であれば、この分散方法は、必要に応じて異なるタイプのトラフィック分散について性能を高めるように望む通りに修正できると理解するであろう。例えば、ラウンドロビンの代わりに、重み付きラウンドロビン法又はユーザが定めた他のいずれかの方法を用いることもできる。本発明の方法は、Valiant無情報分散よりも良好に機能することが分かっており、結果が非常に安定して予測可能である。このことは、ネットワーク性能の観点から見て非常に重要である。図19に、図17のフローチャートに図示し説明したフリット転送を実装する疑似コードを示す。
図20は、本発明によるトポロジー発見方法を示すフローチャートである。上述したように、トポロジー発見コンポーネント(TD)は、基本的にトーラスメッシュにおける、上述したルーティングの分散において使用できるノード(及びノードのポート)の存在(又は不在)を発見するために重要である。この点、TDは、カナダ国特許出願公開第2014/000652号に具体的に開示されているように、本発明の新規のネットワークを単純かつ効率的に拡張できるようにする。TDは、「Hello」プロトコル及びデータベース交換プロトコルに基づく。具体的には、全てのノード及び全てのポートにおいて「Hello」メッセージが送受信される。メッセージが「Hello」として受け取られ、管理フレームワークによって「Hello」パケット内のノードIDが検証されると、ローカルノード情報が、隣接ノードへの新たなリンクの利用可能性を示すように更新される。一群のノード情報は、各ノードにおいて隣接ノードデータベース内に維持され、データベース交換プロトコルを通じて隣接ノードと同期される。各ノードは、その隣接ノードデータベースの変化を隣接ノードに送信し、これが段階的にトポロジー全体に伝搬する。特定のタイムアウト後、隣接ノードデータベースに変化が生じた場合、経路計算のために関数呼び出しが生成される。「Hello」メッセージの交換については、トポロジーの変化を検出するために、隣接ノードから隣接ノードへの交換が規定の時間間隔で永久に継続する。
図21は、本発明による、トポロジー発見のためのDB交換更新を示すフローチャートである。基本的に、この図は、全ての相互接続サーバ、入力/出力リンク及び接続性状態を含む各ノードのスイッチの完全なイメージを維持することに関与するTDコンポーネントに関する。
図22は、本発明のシステムがノード/リンク障害検出をどのように発見するか、及び故障したノードを避けるルート変更処理を示すフローチャートである。リンクの障害が検出されると(602)、パススルーブロックは、障害のあるリンクに向かうトラフィックをCPU603にルート変更するようにプログラムされる。トラフィックの送信元は、障害のあるリンクを避けてトラフィックを送信するように通知される(604)。これにより、トポロジー更新イベントがトリガされる(605)。リンクの回復が検出されると(606)、パススルーブロックは、リンクの障害に起因してCPUに向かうトラフィックを再び同じリンクにルート変更する(607)ようにプログラムされる。トラフィックの送信元は、リンクの障害前と同様にトラフィックを送信するように通知される(608)。これにより、トポロジー更新イベントがトリガされる(609)。リンク切断の場合にも同様の処理が行われる。図23には、リンク/ノードの障害及び回復についての疑似コードを示す。
本発明の1つの実施形態は、新たなノードの挿入方法である。配線相互接続にノードを挿入するには、既存のノードを遮断(リンク切断)する。トーラス配線の遮断が検出されると(602)、トラフィックルート変更APIが呼び出される(604)。リンクコストが無限大に設定されて、トポロジーが更新される(全てのスイッチノードについて最短(低コスト)経路を計算する)。これにより、パケットフローをいずれかの宛先に到達するように制御するために使用するルートが定められる。新たなノードの挿入によって隣接ノードの発見がトリガされる。管理ソフトウェアは、新たなノードIDをチェックし、設定されたデータベースと比較する。ノードが有効な場合、ソフトウェアは、トポロジー更新及びルート計算処理を開始する。管理データベースが新たなノードで更新され、ノード状態がアクティブに設定される。
本発明の特定の実施形態について説明したが、当業者には、以下の特許請求の範囲においてこれらの実施形態の変形及び修正を行えることが明らかであろう。
412 トポロジー更新
414 ルーティング経路計算を開始
419 Dest=initial_dest
415 現在のノードと宛先との間の最短のダイクストラ経路を計算
416 ルート発見?
417 ネットワークトポロジーから最短経路リンクを削除
418 ルーティングテーブルを更新
420 最後の宛先ノードか?
421 Dest=next(Dest)
422 ネットワークトポロジーのリンクをリセット

Claims (2)

  1. 直接相互接続ネットワークにおいて送信元ノードから宛先ノードにパケットをルーティングするコンピュータ実装方法であって、
    ネットワークトポロジーにおける全てのノードと、各ノードの全ての出力ポートとを発見するステップと、
    前記ネットワークトポロジーにおける前記発見されたノード及び出力ポートを最短経路のルーティング計算に含めるために、前記ノード及びポートをトポロジーデータベースに含めるステップと、
    前記トポロジーデータベースに含まれている前記ノード及び出力ポートに基づいて、前記ネットワークトポロジーにおける各ノードの全ての出力ポートから他の全てのノードへの前記最短経路を計算するステップと、
    各ノードにおいて、前記ネットワークトポロジーにおける前記各ノードの全ての出力ポートから他の全てのノードへの最短経路を含む送信元ルーティングデータベースを生成するステップと、
    前記送信元ノードにおいてパケットを受け取るステップと、
    前記受け取ったパケットの各々が、その後に前記送信元ノードの前記出力ポートにおいてフリットに分割されて前記送信元ノードの前記出力ポートから前記宛先ノードまでの前記最短経路に沿って分散され、この結果、前記パケットが前記ネットワークトポロジーにおける別ルートに沿って分散されるように、前記受け取ったパケットを、前記送信元ノードの前記出力ポートにラウンドロビン方式又は重み付きラウンドロビン方式で送信するステップと、
    前記宛先ノードにおいて、前記パケットを該パケットの元々の形態及び順序に従うように再構築して順序変更するステップと、
    を含むことを特徴とするコンピュータ実装方法。
  2. 前記フリットは、ワームホール切り替えを用いて前記宛先ノードに転送される、
    請求項1に記載のコンピュータ実装方法。
JP2016568984A 2014-02-13 2015-02-13 分散型直接相互接続ネットワークにおけるパケットルーティング方法 Expired - Fee Related JP6267367B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461939487P 2014-02-13 2014-02-13
US61/939,487 2014-02-13
PCT/CA2015/000081 WO2015120539A1 (en) 2014-02-13 2015-02-13 Method to route packets in a distributed direct interconnect network

Publications (2)

Publication Number Publication Date
JP2017506049A true JP2017506049A (ja) 2017-02-23
JP6267367B2 JP6267367B2 (ja) 2018-01-24

Family

ID=53799463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016568984A Expired - Fee Related JP6267367B2 (ja) 2014-02-13 2015-02-13 分散型直接相互接続ネットワークにおけるパケットルーティング方法

Country Status (12)

Country Link
US (3) US10142219B2 (ja)
EP (1) EP3087708B1 (ja)
JP (1) JP6267367B2 (ja)
KR (1) KR101809396B1 (ja)
CN (2) CN106165356B (ja)
AU (1) AU2015218201B2 (ja)
BR (1) BR112016018294A2 (ja)
CA (1) CA2939402C (ja)
DK (1) DK3087708T3 (ja)
IL (1) IL246982B (ja)
NO (1) NO2776466T3 (ja)
WO (1) WO2015120539A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020537439A (ja) * 2017-10-12 2020-12-17 ロックポート ネットワークス インコーポレイテッド 直接相互接続ゲートウェイ

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO2776466T3 (ja) 2014-02-13 2018-01-20
US10469368B2 (en) * 2015-03-28 2019-11-05 Intel Corporation Distributed routing table system with improved support for multiple network topologies
US10084860B2 (en) * 2015-04-09 2018-09-25 Electronics And Telecommunications Research Institute Distributed file system using torus network and method for configuring and operating distributed file system using torus network
US20170171084A1 (en) * 2015-12-09 2017-06-15 Alcatel-Lucent Usa, Inc. Valiant load balanced segment routing
JP2017120542A (ja) * 2015-12-28 2017-07-06 富士通株式会社 並列情報処理装置、データ転送方法及びデータ転送プログラム
US10572537B2 (en) * 2016-04-13 2020-02-25 International Business Machines Corporation Efficient graph optimization
US9954611B1 (en) * 2016-12-16 2018-04-24 Futurewei Technologies, Inc. System and method for abstracting wavelength-switched optical network traffic engineering topology in SDN control hierarchy
KR102610984B1 (ko) * 2017-01-26 2023-12-08 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 운영 방법
CN109218176B (zh) * 2017-06-30 2020-12-15 华为技术有限公司 一种报文处理的方法及装置
US11347774B2 (en) * 2017-08-01 2022-05-31 Salesforce.Com, Inc. High availability database through distributed store
CN107733802B (zh) * 2017-09-18 2020-11-13 深圳市盛路物联通讯技术有限公司 一种分布式网络拓扑结构的节点控制方法及系统
US10855581B2 (en) 2017-11-10 2020-12-01 Fabriscale Technologies AS System and method of computing ethernet routing paths
CN110166310B (zh) * 2018-01-30 2020-08-21 山东衡昊信息技术有限公司 一种基于虫孔网络的并发大数据传输延时快速计算方法
GB201802347D0 (en) 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
CN110324249B (zh) * 2018-03-28 2023-05-26 清华大学 一种蜻蜓网络架构及其组播路由方法
US10944693B2 (en) * 2018-11-13 2021-03-09 Advanced Micro Devices, Inc. Routing flits in a network-on-chip based on operating states of routers
JP7167687B2 (ja) * 2018-12-18 2022-11-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN109525518B (zh) * 2018-12-25 2021-01-12 北京物芯科技有限责任公司 一种基于fpga的ip报文网络地址转换方法及装置
CN109768924B (zh) * 2019-02-14 2021-06-08 山东省计算中心(国家超级计算济南中心) 一种面向多流共存的sdn网络多链路故障恢复方法及系统
US11252034B1 (en) 2019-03-15 2022-02-15 Juniper Networks, Inc. Generating candidate links and candidate paths before selecting links for an optimized optical network plan
CN110198268A (zh) * 2019-05-15 2019-09-03 清华大学 高维度Torus网络架构及自适应路由方法
US11055191B2 (en) * 2019-05-17 2021-07-06 Citrix Systems, Inc. Service graph highlights missing nodes and links
CN112039795B (zh) * 2019-06-04 2022-08-26 华为技术有限公司 一种负载分担方法、装置和网络设备
CN112491672B (zh) * 2019-09-11 2022-05-06 杭州海康威视数字技术股份有限公司 一种pcie通信系统、通信配置参数备份方法及pcie交换机
US20210111990A1 (en) * 2019-10-14 2021-04-15 Cisco Technology, Inc. Systems and methods for providing multiple disjointed paths to core network at first-mile access
US11121984B2 (en) * 2019-10-18 2021-09-14 Ciena Corporation Routing tables for forwarding packets between switches in a data center network
US11775470B2 (en) * 2019-11-20 2023-10-03 Intel Corporation Transaction layer packet format
US11212212B2 (en) * 2020-04-15 2021-12-28 Hewlett Packard Enterprise Development Lp Non-isolated topologies in computing network environments
CN111970202B (zh) * 2020-08-28 2021-09-10 电子科技大学 基于三路子拓扑测量的网络拓扑发现方法
CN113347029B (zh) * 2020-09-29 2022-05-31 北京航空航天大学 基于拓扑重构和路径规划的Torus网络容错方法
RU2753147C1 (ru) * 2020-11-20 2021-08-12 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ организации оптимальных отказоустойчивых многомерных торов на основе малопортовых маршрутизаторов и разветвителей дуплексных каналов
WO2022162465A1 (en) * 2021-01-28 2022-08-04 Rockport Networks Inc. Systems and methods for the temporal monitoring and visualization of network health of direct interconnect networks
CN113037637B (zh) * 2021-03-23 2022-10-14 福建师范大学 一种人机物融合网络容错信息传输路径选取方法
US20240184738A1 (en) * 2021-04-13 2024-06-06 The Regents Of The University Of California Configurable memory pool system
CA3221912A1 (en) * 2021-06-09 2022-12-15 Alan James Jennings Method for distributing multipath flows in a direct interconnect network
CA3223804A1 (en) * 2021-06-23 2022-12-29 Evandro DE SOUZA Deadlock-free multipath routing for direct interconnect networks
US20240250897A1 (en) * 2021-08-05 2024-07-25 Rockport Networks Inc. Method for signaling link or node failure in a direct interconnect network
CN115499271B (zh) * 2022-08-30 2023-10-13 西北工业大学 一种混合网络拓扑结构及其路由方法
CN117155846B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 互连网络的路由方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287265A (ja) * 1991-03-18 1992-10-12 Fujitsu Ltd 並列計算機の通信方法
JPH09219702A (ja) * 1996-02-14 1997-08-19 Nec Corp メッシュ構成の空き経路の検索方法
JPH1021208A (ja) * 1996-06-28 1998-01-23 Fujitsu Ltd チャネルの決定方法
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
JP2010525434A (ja) * 2007-04-18 2010-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 並列コンピュータ・システム、並列コンピュータ・システム内の障害回復のためのコンピュータ実装方法、製品及びコンピュータ・プログラム
WO2010087002A1 (ja) * 2009-01-30 2010-08-05 富士通株式会社 情報処理システム、情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及びコンピュータ読み取り可能な記録媒体
JP2012169791A (ja) * 2011-02-10 2012-09-06 Fujitsu Ltd 経路生成方法、中継装置、および経路生成プログラム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550815A (en) * 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US6285679B1 (en) 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6751746B1 (en) * 2000-07-31 2004-06-15 Cisco Technology, Inc. Method and apparatus for uninterrupted packet transfer using replication over disjoint paths
US6947433B2 (en) * 2000-09-21 2005-09-20 Avici Systems, Inc. System and method for implementing source based and egress based virtual networks in an interconnection network
CA2410137C (en) * 2001-11-02 2008-04-15 Nippon Telegraph And Telephone Corporation Optical dynamic burst switch
US7457303B2 (en) * 2003-06-06 2008-11-25 International Business Machines Corporation One-bounce network
US7349350B2 (en) * 2003-09-23 2008-03-25 Intel Corporation Determining two node-disjoint paths using on-demand flooding
US7280755B2 (en) * 2003-09-26 2007-10-09 Minho Kang Highly utilizable protection mechanism for WDM mesh network
CN100461748C (zh) * 2004-10-22 2009-02-11 华为技术有限公司 直接互连交换网路由的方法
WO2007094520A1 (ja) * 2006-02-16 2007-08-23 Nec Corporation ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
US8031614B2 (en) * 2006-10-06 2011-10-04 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links
US8085659B2 (en) * 2007-08-28 2011-12-27 Universidad Politecnica De Valencia Method and switch for routing data packets in interconnection networks
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
CN101651599B (zh) * 2008-08-12 2012-05-30 中国移动通信集团公司 多路径无线路由方法及装置
US20100142445A1 (en) * 2008-09-04 2010-06-10 Ludger Schlicht Environments for a mobile, broadband, routable internet
US8065433B2 (en) * 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
US8144626B2 (en) * 2009-06-30 2012-03-27 Fujitsu Limited Determining disjoint paths with an optimized number of regenerators
US8594104B2 (en) * 2009-11-23 2013-11-26 Cisco Technology, Inc. Providing proxy mobile IP over a communication network
WO2012154751A1 (en) * 2011-05-08 2012-11-15 Infinetics Technologies, Inc. Flexible radix switching network
US9736054B2 (en) * 2011-10-05 2017-08-15 Cisco Technology, Inc. Multicast active source discovery and management for layer-2 interconnect solutions
US9185166B2 (en) * 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
EP2901625B1 (en) * 2012-09-28 2020-04-08 Cornell University System and methods for improved network routing
US8989017B2 (en) * 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9401862B2 (en) * 2013-02-07 2016-07-26 Dell Products L.P. Optimized internet small computer system interface path
CN103327563A (zh) * 2013-04-25 2013-09-25 张家港中科港联物联网科技有限公司 基于位置信息的无线自组织与传感网多路径单播方法
US9311022B2 (en) * 2013-10-07 2016-04-12 Dell Products L.P. System and method for improved communication in a storage network
NO2776466T3 (ja) 2014-02-13 2018-01-20
US20160026558A1 (en) * 2014-07-26 2016-01-28 Wipro Limited Method and system for managing virtual services to optimize operational efficiency of software testing
CN105871722B (zh) * 2015-01-19 2020-02-14 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
US10116557B2 (en) * 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
US10616100B2 (en) * 2016-11-03 2020-04-07 Parallel Wireless, Inc. Traffic shaping and end-to-end prioritization
US10701126B2 (en) * 2017-08-31 2020-06-30 Wipro Limited Method and a system to deliver multimedia content in a downstream network
JP6946955B2 (ja) * 2017-11-10 2021-10-13 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US10476815B2 (en) * 2017-12-11 2019-11-12 Ciena Corporation Adaptive communication network with cross-point switches
US11677628B2 (en) * 2017-12-12 2023-06-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Topology discovery between compute nodes and interconnect switches

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287265A (ja) * 1991-03-18 1992-10-12 Fujitsu Ltd 並列計算機の通信方法
JPH09219702A (ja) * 1996-02-14 1997-08-19 Nec Corp メッシュ構成の空き経路の検索方法
JPH1021208A (ja) * 1996-06-28 1998-01-23 Fujitsu Ltd チャネルの決定方法
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
JP2010525434A (ja) * 2007-04-18 2010-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 並列コンピュータ・システム、並列コンピュータ・システム内の障害回復のためのコンピュータ実装方法、製品及びコンピュータ・プログラム
WO2010087002A1 (ja) * 2009-01-30 2010-08-05 富士通株式会社 情報処理システム、情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及びコンピュータ読み取り可能な記録媒体
JP2012169791A (ja) * 2011-02-10 2012-09-06 Fujitsu Ltd 経路生成方法、中継装置、および経路生成プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020537439A (ja) * 2017-10-12 2020-12-17 ロックポート ネットワークス インコーポレイテッド 直接相互接続ゲートウェイ
JP2022132603A (ja) * 2017-10-12 2022-09-08 ロックポート ネットワークス インコーポレイテッド 直接相互接続ゲートウェイ
JP7157151B2 (ja) 2017-10-12 2022-10-19 ロックポート ネットワークス インコーポレイテッド 直接相互接続ゲートウェイ
JP7357123B2 (ja) 2017-10-12 2023-10-05 ロックポート ネットワークス インコーポレイテッド 直接相互接続ゲートウェイ

Also Published As

Publication number Publication date
CN106165356B (zh) 2019-10-08
US20160344618A1 (en) 2016-11-24
WO2015120539A1 (en) 2015-08-20
CN106165356A (zh) 2016-11-23
WO2015120539A8 (en) 2016-08-11
US11362934B2 (en) 2022-06-14
JP6267367B2 (ja) 2018-01-24
CN110708241A (zh) 2020-01-17
AU2015218201B2 (en) 2017-11-09
CA2939402C (en) 2017-10-24
CA2939402A1 (en) 2015-08-20
US20200322258A1 (en) 2020-10-08
EP3087708B1 (en) 2018-04-11
IL246982B (en) 2018-01-31
AU2015218201A1 (en) 2016-08-04
NO2776466T3 (ja) 2018-01-20
EP3087708A4 (en) 2017-08-02
US10693767B2 (en) 2020-06-23
BR112016018294A2 (pt) 2017-08-08
EP3087708A1 (en) 2016-11-02
US10142219B2 (en) 2018-11-27
DK3087708T3 (en) 2018-06-14
KR20160122192A (ko) 2016-10-21
US20190068484A1 (en) 2019-02-28
KR101809396B1 (ko) 2017-12-14
CN110708241B (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
JP6267367B2 (ja) 分散型直接相互接続ネットワークにおけるパケットルーティング方法
EP2777229B1 (en) System and method for providing deadlock free routing between switches in a fat-tree topology
EP3809646A1 (en) Routing tables for forwarding packets between switches in a data center network
US9825844B2 (en) Network topology of hierarchical ring with recursive shortcuts
Guay et al. vFtree-A fat-tree routing algorithm using virtual lanes to alleviate congestion
CN108111410B (zh) 在笛卡尔拓扑的网络中构建无死锁路由的方法和装置
CN108259387B (zh) 一种通过交换机构建的交换系统及其路由方法
US7307995B1 (en) System and method for linking a plurality of network switches
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
Bogdanski Optimized routing for fat-tree topologies
Adamu et al. Review of deterministic routing algorithm for network-on-chip
Korösi et al. Poincare: A hyperbolic data center architecture
Alshahrani Delay modeling in data center networks: A taxonomy and performance analysis
US20230171206A1 (en) Large-scale network with high port utilization
Feng et al. Deadlock-free routing algorithms for 6d mesh/iBT interconnection networks
Papalkar Latency Analysis of Bidirectional Diagonal Mesh Network on Chip by Modified Q routing
Guay et al. using Virtual Lanes to Alleviate Congestion
Bogdanski et al. Deadlock-Free Switch-to-Switch Routing Algorithm for Fat-Trees

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170927

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170927

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6267367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees