JP2014506353A - 分散共有メモリマルチプロセッサにおけるスプリットトラフィックルーティング - Google Patents

分散共有メモリマルチプロセッサにおけるスプリットトラフィックルーティング Download PDF

Info

Publication number
JP2014506353A
JP2014506353A JP2013544553A JP2013544553A JP2014506353A JP 2014506353 A JP2014506353 A JP 2014506353A JP 2013544553 A JP2013544553 A JP 2013544553A JP 2013544553 A JP2013544553 A JP 2013544553A JP 2014506353 A JP2014506353 A JP 2014506353A
Authority
JP
Japan
Prior art keywords
processor
traffic
node
bandwidth link
victim
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
JP2013544553A
Other languages
English (en)
Other versions
JP5795385B2 (ja
Inventor
エイ. ヒューズ ウィリアム
ヤン チェンピン
ケイ. ファーティグ マイケル
エム. リパク ケビン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2014506353A publication Critical patent/JP2014506353A/ja
Application granted granted Critical
Publication of JP5795385B2 publication Critical patent/JP5795385B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

マルチチップモジュール構成は、2つのプロセッサを含む。各プロセッサは、2つのノードを有する。各ノードは、複数のコアまたはコンピューティングユニットを含む。各ノードは、高帯域幅または低帯域幅のリンクによって、他のノードに接続されている。上記ノード間のトラフィックルーティングは、各ノードにおいてルーティングテーブルおよび/または制御レジスタに従って制御される。上記ルーティングテーブルおよび/または制御レジスタは、帯域幅使用量およびトラフィック混雑制御を最適化する。上記マルチチップモジュール構成により、キャッシュコヒーレントな分散共有メモリマルチプロセッサが実現される。
【選択図】図4

Description

本出願は、米国非仮出願番号第12/968,857号(出願日:2010年12月15日)の利益を主張する。本明細書中、同文献の内容を参考のため援用する。
本出願は、プロセッサのトラフィックルーティングに関する。
複数の処理ユニットによって構成されるプロセッサにおいて、各処理ユニットは、複数のコアまたはコンピューティングユニットを有する。このようなプロセッサでは、コアとメモリキャッシュとの間に異なる帯域幅のリンクを設けることにより、トラフィック転送が可能となる。これらのリンクの何れかにてトラフィック混雑が発生した場合、当該プロセッサの性能が劣化する。混雑軽減のためにトラフィックルーティングを迂回させた場合、目的地までのホップが増加する要因になり得、その結果、1回の転送にかかる待ち時間が増加することになる。
マルチチップモジュール構成は、2つのプロセッサを含む。各プロセッサは、2つのノードを有する。各ノードは、複数のコアまたはコンピューティングユニットを含む。各ノードは、リンクによって他のノードに接続されている。上記リンクは、高帯域幅または低帯域幅である。上記ノード間のトラフィックルーティングは、各ノードにおいて、ルーティングテーブルおよび/または制御レジスタに従って制御される。上記ルーティングテーブルおよび/または制御レジスタは、帯域幅使用量およびトラフィック混雑制御を最適化する。
プロセッサノードの例示的機能ブロック図である。プロセッサノードは、いくつかのコンピューティングユニットと、ルーティングテーブルと、クロスバーユニットとを含む。クロスバーユニットは、他のノードへのリンクとインターフェースをとる。 プロセッサ構成の例示的機能ブロック図である。プロセッサは、プロセッサノード間の多様なリンクにわたるトラフィックフローを有する。 プロセッサ構成の例示的機能ブロック図である。プロセッサは、プロセッサノード間の多様なリンクにわたるトラフィックフローを有する。 プロセッサ構成の例示的機能ブロック図である。プロセッサは、プロセッサノード間の多様なリンクにわたるトラフィックフローを有する。
本出願において、プロセッサは、複数のノードを含み得る。各ノードは、複数のコンピューティングユニットを有する。マルチチッププロセッサは、少なくとも2つのプロセッサを含むように構成されている。上記少なくとも2つのプロセッサは、上記ノードを、他のノードおよびメモリキャッシュとリンクさせる手段を含む。
図1は、プロセッサ110の例示的機能ブロック図である。プロセッサ110は、多様なプロセッサ(例えば、中央処理装置(CPU)またはグラフィックス処理ユニット(GPU))のうち何れか1つであり得る。例えば、プロセッサ110は、x86プロセッサであり得、x86 64ビット命令セットアーキテクチャを実装し、デスクトップ、ラップトップ、サーバおよびスーパースケーラコンピュータにおいて用いられる場合もあれば、携帯電話またはデジタルメディアプレーヤにて用いられる高度RISC(縮小命令セットコンピュータ)マシン(ARM)プロセッサである場合もある。プロセッサの他の実施形態が企図される(例えば、デジタル信号プロセッサ(DSP)、マイクロコントローラ)。デジタル信号プロセッサ(DSP)は、デジタル信号(例えば、音声データ信号や通信信号)に関連するアルゴリズムの処理および実行において特に有用である。マイクロコントローラは、民生用アプリケーション(例えば、プリンタおよびコピー機)において有用である。
図に示されるように、プロセッサ110は、コンピューティングユニット105,106,107を含む。コンピューティングユニット105,106,107は、システムリクエストキュー(SRQ)113に接続されている。システムリクエストキュー(SRQ)113は、コンピューティングユニット105,106,107用のコマンドキューとして用いられる。クロスバー(Xbar)スイッチ112は、リンクL1,L2,L3,L4と、SRQ113との間でインターフェースをとる。ルーティングテーブル111および制御レジスタ114の各々は、リンクL1,L2,L3,L4を介してクロスバーインターフェース112およびトラフィックルーティングを制御するように構成されている。図1では、4つのリンクL1,L2,L3,L4が示されているが、これは例示的なものであり、これよりも多数または少数のリンクを、例えば多様なスループット能力のリンクなどを含むプロセッサノード110構成において実装することが可能である。
図2は、マルチプロセッサ構成200の例示的機能ブロック図である。マルチプロセッサ構成200において、2つのノードを含むプロセッサ201,202が、リンク253,254,255,256によって接続されている。プロセッサ201は、プロセッサノード110,120を含む。プロセッサノード110,120は、リンク251によって互いに接続されている。メモリキャッシュ210は、メモリチャネル211によってプロセッサノード110に接続されており、メモリキャッシュ220は、メモリチャネル221によってプロセッサノード120に接続されている。プロセッサ202は、プロセッサノード130,140を含む。プロセッサノード130,140は、リンク252によって互いに接続されている。メモリチャネル231は、メモリキャッシュ230をプロセッサノード130に接続し、メモリチャネル241は、メモリキャッシュ240をプロセッサノード140に接続する。リンク257,258は、例えばネットワークケーブルやグラフィックドライバなどのI/Oデバイス205,206を、プロセッサ201,202に接続するために用いられる。この例示的構成において、クロスリンク255,256の各々は、低帯域幅接続(例えば、8ビット接続またはハーフリンク)であり、リンク251,252,253,254の各々は、高帯域幅接続(例えば、16ビット接続またはフルリンク)である。あるいは、リンク251,252,253,254のうち何れかは、複数の接続(例えば、1つのフルリンクおよび1つのハーフリンク)を含み得る。この例において、ルーティングテーブル111は、全てのノード間転送のためのダイレクトパス(直接路)を提供する。例えば、プロセッサノード110が、リクエスト261をプロセッサノード140に送る必要がある場合には、クロスリンク255は、ダイレクトパスとして用いられる。この形態のルーティング選択を用いた場合には、1つのリクエストに対する待ち時間が短くなる。統計的には、全てのリンクは、トラフィックを均等に分散する。従って、マルチプロセッサ構成200のトラフィックレートの帯域幅上限は、より小さな帯域幅リンク255,256によって設定される。
図3は、マルチプロセッサ構成300の例示的機能ブロック図である。マルチプロセッサ構成300は、図2に示す構成200に類似している。この例において、ルーティングテーブル111は、高帯域幅リンク251,252,253,254にトラフィックを保持するための別のルーティングスキームを提供する。例えば、プロセッサノード110が、プロセッサノード140への送信リクエストを有している場合には、ルーティングは、リンク251,254に沿うツーホップリクエスト361,362として構成される。そのため、この1つのリクエストのための待ち時間は、シングルホップリクエスト261の待ち時間のほぼ2倍になる。しかし、構成300によるリクエストトラフィックの帯域幅上限は、リンク251,252,253,254の最小帯域幅に基づいて、より高くなる。この構成300の任意選択的な代替例としては、低帯域幅リンク255,256で応答トラフィックを送信しつつ、高帯域幅リンク251,252,253,254の要求トラフィックを迂回させるためのルーティングテーブル111がある。ここで、応答トラフィックは、要求トラフィックよりも大幅に小さい。これにより、マルチプロセッサ構成300の帯域幅上限は、高帯域幅リンク251,252,253,254の最小帯域幅に基づいて保持される。なぜならば、トラフィックのほとんどは、そこで迂回するからである。
図4は、スプリットトラフィックルーティングスキームのためのマルチプロセッサ構成400の例示的機能ブロック図である。この物理的構成は、構成200および300に類似している。しかし、制御レジスタ114は、当該トラフィックが、犠牲リクエストおよび当該犠牲リクエストに関連付けられたレスポンスに関連しているのか、あるいは非犠牲リクエストおよびレスポンスに関連しているのかに基づいて、当該トラフィックを制御するように構成されている。このルーティングスキームによれば、犠牲リクエストおよび当該犠牲リクエストに関連付けられたレスポンスのみが、高帯域幅リンク251,252,253,254を辿る。犠牲トラフィックは、一般的に、待ち時間に影響を受けないため、このトラフィック用のツーホップ伝送ルーティングスキームは、プロセッサ性能を妨げない。このルーティングスキームは、一般的に、非犠牲トラフィックよりも犠牲トラフィックの量が多く、このような多量のトラフィックを、より高い帯域幅リンク251,252,253,254によってより良好に対応することが可能である、という点で好適である。さらに、退去された犠牲は、命令される必要がなく、非犠牲リクエストと比較して、より長いルーティング経路により適している。
犠牲リクエストおよび応答を、高帯域幅リンクに沿うスプリットルーティングスキームに従ってルーティングするために、特殊モードビットcHTVicDistModeを、制御レジスタ114(例えば、コヒーレントなリンクトラフィック分散レジスタ)に設定する。例えば、リンク対(例えば、プロセッサノード対110,140)のトラフィック分散が有効になった場合には、コンピューティングユニット105,106,107は、モードビットcHTVicDistModeに対して値1を設定し得る。あるいは、モードビットcHTVicDistモードを1に設定することによって、当該対のトラフィック分散が有効にされることなく、スプリットトラフィックスキームが有効になった旨を示すことも可能である。また、コンピューティングユニット105,106,107が、制御レジスタ114に対して以下の設定を行うことにより、スプリットルーティングスキーム用のパラメータが有効および定義される。要素DistNode[5:0]内の分散ノード識別ビットが、分散に関連するプロセッサノードごとに設定される(例えば、2進値範囲が0〜31であるこの5ビット要素について、値0がプロセッサノード110に割りあてられ得、値3がプロセッサノード140に割りあてられ得る)。目的地リンク要素DstLnk[7:0]は、単一のリンクについて指定される。例えば、この8ビット要素について、ビット0がリンク251へ割りあてられ得、ビット1がリンク253に割りあてられ得、ビット2がリンク255に割りあてられ得、ビット0を値1に設定することにより、リンク251への目的地リンクの設定が達成される。プロセッサノード110用のこの有効設定スキームを例示的に用いて、犠牲パケットが検出され、且つ、当該犠牲パケットが、ビットDistNode(例えば、プロセッサノード140)によって特定された分散ノードに向かって進行している場合には、当該犠牲パケットは、ルーティングテーブル111中に規定されているような目的地リンク(低帯域幅リンク255)ではなく、ビットDstLnkによって指定された目的地リンク(高帯域幅リンク251)にルーティングされる。スプリットルーティングスキームが犠牲リクエスト、犠牲レスポンスまたはこれら両方を取り扱うべきかについてのインジケータを提供することによって、スプリットトラフィックルーティングスキームのさらなる改良を達成することが可能である。スプリットルーティングスキームのために犠牲リクエストが有効にされたことを示すために、コヒーレントなリクエスト分散イネーブルビットcHTReqDistEnは、1に設定される。関連付けられた犠牲レスポンスのみを制御することが望ましい場合、またはスプリットトラフィックルーティングを用いて、犠牲リクエストに加えて犠牲レスポンスも制御することが望ましい場合には、コヒーレントな応答分散イネーブルビットcHTRspDistEnは、1に設定される。
上記実施形態の変更例において、ルーティングテーブル111は、スプリットトラフィックルーティングスキームのパラメータを用いて構成され得、これにより、制御レジスタ114ではなくルーティングテーブル111に示されるルーティングに従って、スプリットトラフィックルーティングの直接的実行が有効になる。
図4に示される構成におけるプロセッサノード用の犠牲分散モード(すなわち、スプリットトラフィックルーティング)は、特定の条件において有効にされる。この特定の条件を例示的に挙げると、(1)プロセッサに対して犠牲分散プロセッサノードが有効にされた場合、(2)犠牲分散プロセッサノードが、低帯域幅リンク上の1つの非連動リンクホップによって直接的に、且つ、少なくとも高帯域幅リンク上の2つの連動リンクホップを通じて間接的に、目的地プロセッサノードである別のプロセッサノードへ接続する場合、が真である場合のみである。例えば、図4を参照して説明した方法は、上記の特定の条件を満たす分散プロセッサノード110および目的地プロセッサノード140に関連する。
表1は、構成200,400の実装に基づいたリンク利用を比較する利用表の一例である。構成200,400は、ワークロードの関数である読み出し/書き込み比を有する。図示のように、ルーティングを、高帯域幅リンクおよび低帯域幅リンクに均等に分散させる場合(すなわち、構成200)には、高帯域幅リンク利用は50%であり、2:1リンクサイズ比に対応する。構成400のスプリットルーティングスキームを用いることによって、高帯域幅リンクおよび低帯域幅リンクを、より均等に利用することが可能になる。
Figure 2014506353
特定の組み合わせの特徴および要素について上述してきたが、各特徴若しくは要素を、他の特徴および要素無しに単独で用いてもよいし、または、他の特徴および要素と共に若しくは他の特徴および要素無しで多様な組み合わせで用いてもよい。本明細書に記載される装置は、汎用コンピュータまたはプロセッサによって実行されるコンピュータプログラム、ソフトウェアまたはファームウェアであって、コンピュータ読み出し可能な記憶媒体に組み込まれたコンピュータプログラム、ソフトウェアまたはファームウェアを用いて製造され得る。コンピュータ読み出し可能な記憶媒体の例を挙げると、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、磁気媒体(例えば、内部ハードディスクおよびリムーバブルディスク)、磁気光学メディアおよび光学メディア(例えば、CD−ROMディスク、およびデジタル多用途ディスク(DVD))である。
本発明の実施形態は、コンピュータ読み出し可能な記憶媒体に保存されたデータとして表すことができる。例えば、本発明の態様は、ハードウェア記述言語(HDL)であるVerilogを用いて実装され得る。Verilogデータ命令が処理された場合、Verilogデータ命令は、半導体製造設備に実装された製造プロセスを実行するために用いることが可能な他の中間データ(例えば、ネットリスト、GDSデータなど)を生成し得る。この製造プロセスは、本発明の多様な態様を具現化する半導体デバイス(例えば、プロセッサ)を製造するように適応され得る。
適切なプロセッサを例示的に挙げると、汎用プロセッサ、特殊用途プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、他の任意の種類の集積回路(IC)および/またはステートマシンである。上記プロセッサは、処理されたハードウェア記述言語(HDL)命令(例えば、コンピュータ読み出し可能な媒体に保存することが可能な命令)の結果を用いて製造プロセスを構成することによって、製造され得る。上記処理の結果は、マスクワークであり得、その後、このマスクワークを半導体製造プロセスに用いて、本発明の態様を実装するプロセッサを製造することができる。

Claims (18)

  1. プロセッサのノード間の犠牲トラフィックおよび非犠牲トラフィックを監視するステップと、
    前記ノード間の高帯域幅リンクを利用する前記犠牲トラフィック用のルーティングスキームと、前記ノード間の低帯域幅リンクを利用する前記非犠牲トラフィック用のルーティングスキームとを選択するステップと、
    前記ルーティングスキームを有効にするために制御レジスタを設定するステップと、
    を含む、方法。
  2. 前記制御レジスタを設定するステップは、特定のプロセッサノード対について分散が有効になった場合に、ルーティングモードビットを設定するステップを含む、請求項1に記載の方法。
  3. 前記制御レジスタを設定するステップは、
    前記分散に関連する前記プロセッサノードごとに分散ノード識別ビットを設定するステップと、
    目的地リンク要素を設定するステップと、
    を含む、請求項2に記載の方法。
  4. 前記制御レジスタを設定するステップは、コヒーレントなリクエスト分散イネーブルビットを設定して、犠牲リクエストを処理するために前記ルーティングスキームが有効になったことを示すステップを含む、請求項1に記載の方法。
  5. 前記制御レジスタを設定するステップは、コヒーレントなリクエスト分散イネーブルビットを設定して、犠牲レスポンスを処理するために前記ルーティングスキームが有効になったことを示すステップを含む、請求項1に記載の方法。
  6. 前記高帯域幅リンクの前記犠牲トラフィックは、連動ツーホップリクエストを含み、前記低帯域幅リンクの前記非犠牲トラフィックは、非連動ワンホップリクエストを含む、請求項1に記載の方法。
  7. 前記ルーティングスキームを前記プロセッサにて実行するステップをさらに含み、前記プロセッサは、少なくとも3つのノードを含み、第1のプロセッサノードは、低帯域幅リンクによって第2のプロセッサノードに接続されており、第3のプロセッサノードは、第1の高帯域幅リンクによって前記第1のプロセッサノードに接続され、且つ、第2の高帯域幅リンクによって前記第2のプロセッサノードに接続されており、
    犠牲トラフィックは、前記第1の高帯域幅リンクおよび第2の高帯域幅リンクに沿って、前記第1のノードから前記第2のノードにルーティングされ、非犠牲トラフィックは、前記低帯域幅リンクに沿って、前記第1のノードから前記第3のノードにルーティングされる、
    請求項1に記載の方法。
  8. 第1のプロセッサノードであって、低帯域幅リンクによって第2のプロセッサノードに接続された第1のプロセッサノードと、
    第3のプロセッサノードであって、第1の高帯域幅リンクによって前記第1のプロセッサノードに接続され、且つ、第2の高帯域幅リンクによって前記第2のプロセッサノードに接続された第3のプロセッサノードと、
    を含み、
    各プロセッサノードは、
    前記コンピューティングユニットから指定リンクに送られたトラフィックを制御するように構成されたクロスバースイッチに接続された、複数のコンピューティングユニットを備え、
    前記コンピューティングユニットは、前記指定リンクを決定する、規定されたルーティングスキームを有する制御レジスタを設定するように構成されており、
    前記クロスバースイッチは、前記ルーティングスキームが実行されると、前記第1の高帯域幅リンクおよび前記第2の高帯域幅リンクにて犠牲トラフィックの送信を行い、且つ、前記低帯域幅リンクにて非犠牲トラフィックの送信を行うように制御される、
    プロセッサ。
  9. 特定のプロセッサノード対について分散が有効になった場合には、前記複数のコンピューティングユニットのうち少なくとも1つは、ルーティングモードビットを前記制御レジスタに設定する、請求項8に記載のプロセッサ。
  10. 前記複数のコンピューティングユニットのうち少なくとも1つは、前記分散に関連する前記プロセッサノードごとに、分散ノード識別ビットを前記制御レジスタに設定し、目的地リンク要素を設定する、請求項9に記載のプロセッサ。
  11. 前記複数のコンピューティングユニットのうち少なくとも1つは、コヒーレントなリクエスト分散イネーブルビットを前記制御レジスタに設定して、犠牲リクエストを処理するために前記ルーティングが有効になったことを示す、請求項8に記載のプロセッサ。
  12. 前記複数のコンピューティングユニットのうち少なくとも1つは、コヒーレントなリクエスト分散イネーブルビットを前記制御レジスタに設定して、犠牲レスポンスを処理するために前記ルーティングが有効になったことを示す、請求項8に記載のプロセッサ。
  13. 前記高帯域幅リンクの前記犠牲トラフィックは、連動ツーホップリクエストを含み、前記低帯域幅リンクの前記非犠牲トラフィックは、非連動ワンホップリクエストを含む、請求項8に記載のプロセッサ。
  14. スプリットルーティングスキームを行うために1つ以上のプロセッサによって実行される1組の命令を保存するコンピュータ読み出し可能な記憶媒体であって、
    前記1組の命令は、
    プロセッサのノード間の犠牲トラフィックおよび非犠牲トラフィックを監視することと、
    前記ノード間の高帯域幅リンクを利用する前記犠牲トラフィック用のルーティングスキームと、前記ノード間の低帯域幅リンクを利用する前記非犠牲トラフィック用のルーティングスキームとを選択することと、
    を含む、記憶媒体。
  15. 前記高帯域幅リンクの前記犠牲トラフィックは、連動ツーホップリクエストを含み、前記低帯域幅リンクの前記非犠牲トラフィックは、非連動ワンホップリクエストを含む、請求項14に記載の記憶媒体。
  16. 前記1組の命令は、
    前記ルーティングスキーム用の分散ノードおよび目的地リンクを有効にすること、
    をさらに含む、請求項14に記載の記憶媒体。
  17. 前記1組の命令は、
    犠牲リクエストを処理するために前記ルーティングスキームを有効にすること、
    をさらに含む、請求項14に記載の記憶媒体。
  18. 前記1組の命令は、
    犠牲レスポンスを処理するために前記ルーティングスキームを有効にすること、
    をさらに含む、請求項14に記載の記憶媒体。
JP2013544553A 2010-12-15 2011-12-06 分散共有メモリマルチプロセッサにおけるスプリットトラフィックルーティング Expired - Fee Related JP5795385B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/968,857 2010-12-15
US12/968,857 US20120155273A1 (en) 2010-12-15 2010-12-15 Split traffic routing in a processor
PCT/US2011/063463 WO2012082460A1 (en) 2010-12-15 2011-12-06 Split traffic routing in a distributed shared memory multiprocessor

Publications (2)

Publication Number Publication Date
JP2014506353A true JP2014506353A (ja) 2014-03-13
JP5795385B2 JP5795385B2 (ja) 2015-10-14

Family

ID=45406872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544553A Expired - Fee Related JP5795385B2 (ja) 2010-12-15 2011-12-06 分散共有メモリマルチプロセッサにおけるスプリットトラフィックルーティング

Country Status (6)

Country Link
US (1) US20120155273A1 (ja)
EP (1) EP2652636B1 (ja)
JP (1) JP5795385B2 (ja)
KR (1) KR101846485B1 (ja)
CN (1) CN103299291B (ja)
WO (1) WO2012082460A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152595B2 (en) * 2012-10-18 2015-10-06 Qualcomm Incorporated Processor-based system hybrid ring bus interconnects, and related devices, processor-based systems, and methods
CN105594169A (zh) * 2013-11-07 2016-05-18 华为技术有限公司 用于流量分割的系统及方法
WO2015109010A1 (en) 2014-01-14 2015-07-23 Huawei Technologies Co., Ltd. System and method for device-to-device communications
CN112054961B (zh) * 2016-04-21 2023-12-08 华为技术有限公司 数据传输系统、方法及装置
CN106526461B (zh) * 2016-12-30 2018-12-28 盛科网络(苏州)有限公司 针对流量控制的嵌入式实时反压验证的方法
US10481915B2 (en) 2017-09-20 2019-11-19 International Business Machines Corporation Split store data queue design for an out-of-order processor
US11064418B2 (en) * 2019-09-09 2021-07-13 Analog Devices International Unlimited Company Two-hop wireless network communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080298246A1 (en) * 2007-06-01 2008-12-04 Hughes William A Multiple Link Traffic Distribution

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859983A (en) * 1996-07-01 1999-01-12 Sun Microsystems, Inc Non-hypercube interconnection subsystem having a subset of nodes interconnected using polygonal topology and other nodes connect to the nodes in the subset
US5893153A (en) * 1996-08-02 1999-04-06 Sun Microsystems, Inc. Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US7103065B1 (en) * 1998-10-30 2006-09-05 Broadcom Corporation Data packet fragmentation in a cable modem system
US20020021745A1 (en) * 2000-04-07 2002-02-21 Negus Kevin J. Multi-channel-bandwidth frequency-hopping system
US6795875B2 (en) * 2000-07-31 2004-09-21 Microsoft Corporation Arbitrating and servicing polychronous data requests in direct memory access
US6738836B1 (en) * 2000-08-31 2004-05-18 Hewlett-Packard Development Company, L.P. Scalable efficient I/O port protocol
US7707305B2 (en) 2000-10-17 2010-04-27 Cisco Technology, Inc. Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US7444404B2 (en) 2001-02-05 2008-10-28 Arbor Networks, Inc. Network traffic regulation including consistency based detection and filtering of packets with spoof source addresses
US20040114536A1 (en) * 2002-10-16 2004-06-17 O'rourke Aidan Method for communicating information on fast and slow paths
US7600023B2 (en) * 2004-11-05 2009-10-06 Hewlett-Packard Development Company, L.P. Systems and methods of balancing crossbar bandwidth
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth
CN1988500B (zh) * 2005-12-19 2011-05-11 北京三星通信技术研究有限公司 分布式带宽管理方法
US7590090B1 (en) * 2007-01-17 2009-09-15 Lockhead Martin Corporation Time segmentation sampling for high-efficiency channelizer networks
US20090109969A1 (en) * 2007-10-31 2009-04-30 General Instrument Corporation Dynamic Routing of Wideband and Narrowband Audio Data in a Multimedia Terminal Adapter
US7958314B2 (en) * 2007-12-18 2011-06-07 International Business Machines Corporation Target computer processor unit (CPU) determination during cache injection using input/output I/O) hub/chipset resources
CN101751361B (zh) * 2008-12-16 2012-10-10 联想(北京)有限公司 控制移动终端中数据传输接口的切换方法及终端设备
US8565234B1 (en) * 2009-01-08 2013-10-22 Marvell Israel (M.I.S.L) Ltd. Multicast queueing in a switch
US8103809B1 (en) * 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
US20110161592A1 (en) * 2009-12-31 2011-06-30 Nachimuthu Murugasamy K Dynamic system reconfiguration
US8250253B2 (en) * 2010-06-23 2012-08-21 Intel Corporation Method, apparatus and system for reduced channel starvation in a DMA engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080298246A1 (en) * 2007-06-01 2008-12-04 Hughes William A Multiple Link Traffic Distribution

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014055524; Pat Conway et al.: 'CACHE HIERARCHY AND MEMORY SUBSYSTEM OF THE AMD OPTERON PROCESSOR' IEEE Micro Vol:30, Isuue:2, 201003, Pages:16-29, IEEE *
JPN6014055527; Pat Conway, Bill Hughes: 'THE AMD OPTERON NORTHBRIDE ARCHITECTURE' IEEE Micro Vol:27, Isuue:2, 200703, Pages:10-21, IEEE *

Also Published As

Publication number Publication date
CN103299291B (zh) 2017-02-15
WO2012082460A1 (en) 2012-06-21
EP2652636B1 (en) 2018-10-03
EP2652636A1 (en) 2013-10-23
JP5795385B2 (ja) 2015-10-14
KR101846485B1 (ko) 2018-05-18
CN103299291A (zh) 2013-09-11
KR20140034130A (ko) 2014-03-19
US20120155273A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5795385B2 (ja) 分散共有メモリマルチプロセッサにおけるスプリットトラフィックルーティング
US8819616B2 (en) Asymmetric mesh NoC topologies
US9672167B2 (en) Resource management for peripheral component interconnect-express domains
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
US9244845B2 (en) System and method for improving snoop performance
CN105247821B (zh) 用于利用自适应路由来控制资源利用的机制
US20140092740A1 (en) Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
JP6846891B2 (ja) 仮想ルータクラスタ、データ転送方法および装置
US10218580B2 (en) Generating physically aware network-on-chip design from a physical system-on-chip specification
JP2017502418A (ja) 可変な数のコア群、入出力(i/o)装置、ディレクトリ構造、及びコヒーレンシポイントを有する、キャッシュコヒーレントnoc(ネットワークオンチップ)
WO2021114768A1 (zh) 数据处理装置、方法、芯片、处理器、设备及存储介质
JP2014038494A (ja) 演算処理装置および演算処理装置の制御方法
US10547514B2 (en) Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
TW201942761A (zh) 伺服器系統
JP2007179200A (ja) コンピュータシステムおよびストレージ仮想化装置
US10469337B2 (en) Cost management against requirements for the generation of a NoC
CN111147611B (zh) 参考附加网络地址转换表提供快速分组转发的电子设备
US20160205042A1 (en) Method and system for transceiving data over on-chip network
US11144457B2 (en) Enhanced page locality in network-on-chip (NoC) architectures
US9678905B2 (en) Bus controller, bus control system and network interface
JP5880169B2 (ja) バス回路
JP2004013324A (ja) 演算装置、データ転送システムおよびデータ転送プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141203

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20141225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150812

R150 Certificate of patent or registration of utility model

Ref document number: 5795385

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees