JP4478390B2 - クラス・ネットワーク経路指定 - Google Patents

クラス・ネットワーク経路指定 Download PDF

Info

Publication number
JP4478390B2
JP4478390B2 JP2002568556A JP2002568556A JP4478390B2 JP 4478390 B2 JP4478390 B2 JP 4478390B2 JP 2002568556 A JP2002568556 A JP 2002568556A JP 2002568556 A JP2002568556 A JP 2002568556A JP 4478390 B2 JP4478390 B2 JP 4478390B2
Authority
JP
Japan
Prior art keywords
node
nodes
class
packet
phase
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.)
Expired - Fee Related
Application number
JP2002568556A
Other languages
English (en)
Other versions
JP2004533035A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004533035A publication Critical patent/JP2004533035A/ja
Application granted granted Critical
Publication of JP4478390B2 publication Critical patent/JP4478390B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/16Combinations of two or more pumps ; Producing two or more separate gas flows
    • F04D25/166Combinations of two or more pumps ; Producing two or more separate gas flows using fans
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D27/00Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
    • F04D27/004Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
    • 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/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • H04L7/0338Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/70Control systems characterised by their outputs; Constructional details thereof
    • F24F11/72Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
    • F24F11/74Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity
    • F24F11/77Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity by controlling the speed of ventilators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/70Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Algebra (AREA)
  • Thermal Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明は、全般的にはクラス・ネットワーク経路指定(class networkrouting)に関し、具体的には、ノードの複数の並列計算プロセッサを含むコンピュータ・ネットワークなどのネットワークでクラス経路指定を実施し、計算プロセッサが、1行または1列のプロセッサなどのコンピュータ・ネットワーク内の1つまたは複数の他の計算プロセッサにメッセージをブロードキャストできるようにする、クラス・ネットワーク経路指定に関する。通常、このタイプの動作は、別々のメッセージが各プロセッサに送られることを必要とする。本発明に従うクラス・ネットワーク経路指定では、単一のメッセージで十分であり、これによって、一般に、マルチキャストを行うための、ネットワーク内のメッセージの総数ならびに待ち時間が大幅に減る。
本発明は、メッセージ受渡データ・ネットワーク、たとえば、たとえば生命科学の分野での計算に適用される分散メモリ・メッセージ受渡並列コンピュータに使用されるネットワークの分野に関する。
本発明は、密行列(dense matrix)の計算を行うためのトーラス・コンピュータ・ネットワークでのクラス機能にも使用される。トーラス・コンピュータ・ネットワーク上でハードウェア実施されるクラス機能を使用することによって、高性能密行列計算を行うことが可能になる。
本発明は、たとえば生命科学の分野での計算に適用される、分散メモリ・メッセージ受渡並列コンピュータの設計およびシステム・ソフトウェアの分野にも関する。具体的には、本発明は、分散メモリ並列スーパーコンピュータの高性能線形代数ソフトウェアの分野に関する。
重要な計算の大きいクラスを、大量並列(massively parallel)コンピュータ・システムによって実行することができる。そのようなシステムは、多数の計算ノードからなり、各計算ノードは、通常は、1つまたは複数のCPU、メモリ、およびそのノードを他のノードに接続する1つまたは複数のネットワーク・インターフェースからなる。
大量並列スーパーコンピュータに関するコンピュータでは、システムオンアチップ(SOC、system-on-a-chip)技術を活用して、高いスループットを有する、スケーラブルでコスト効率のよいコンピューティング・システムが作成される。SOC技術によって、集積された第1レベル・キャッシュを伴うCPUコアを含む組込み構成要素のライブラリを使用して、単一のチップ上でマルチプロセッサ・ノード全体を作ることが可能になった。そのようなパッケージ化によって、ノードの構成要素カウントが大きく減り、信頼性がある大スケール計算機の作成が可能になる。
メッセージ受渡データ・ネットワークは、ネットワークのノードの間でメッセージを渡すように働き、ノードのそれぞれは、他のノードと独立にローカル動作を実行することができる。ノードは、ネットワークを介してノード間でメッセージを渡すことによって、協力して働くことができる。そのようなネットワークの例が、ノードのそれぞれが、ローカル・メモリに作用する1つまたは複数のプロセッサを有する分散メモリ並列コンピュータである。そのようなコンピュータの複数のノードを使用するアプリケーションで、ノードの間でメッセージを渡すことによって複数のノードの動作が調整される。本明細書全体を通じて、単語スイッチおよびルータは、交換可能に使用される。
メッセージ受渡データ・ネットワークは、スイッチおよびリンクからなり、リンクは、単に、2つのスイッチの間でデータを渡す。スイッチは、ノードまたはリンクからの着信データを別のノードまたはリンクに経路指定する。スイッチを、任意の数のノードおよびリンクに接続することができる。ネットワーク内での位置に応じて、2つのノードの間のメッセージが、複数のスイッチおよびリンクをトラバースする必要がある場合がある。
従来技術のネットワークでは、あるタイプのメッセージ受渡が効率的にサポートされるが、すべてのタイプが効率的にサポートされるのではない。たとえば、いくつかのネットワークでは、単一の受信ノードへのユニキャスト・メッセージ受渡がサポートされるが、任意の個数の受信ノードへのマルチキャスト・メッセージ受渡はサポートされない。マルチキャスト・メッセージ受渡の効率的なサポートは、本明細書で開示されるクラス機能を使用する密行列反転の必要条件である分散メモリ並列コンピュータで実行される数値アルゴリズムなど、さまざまな情況で必要になる。
多くのユーザ・アプリケーションが、非常に大きいN×N密行列の反転を必要とし、ここで、Nは、数千を超える。密行列とは、ほとんどの項目が0でない行列である。通常、そのような行列の反転は、大型分散メモリ並列スーパーコンピュータを使用してのみ行うことができる。密行列反転を実行するアルゴリズムは、周知であり、分散メモリ並列スーパーコンピュータでの使用のために一般化することができる。その場合に、大量のプロセッサ間通信が必要になる。これによって、アプリケーションがかなり低速になる可能性がある。
米国仮出願番号60/271,124 米国特許第5333279号 D.K.Panda、S.Singal、P.Prabhakaran、「MultidestinationMessage Passing Mechanism Conforming to Base Wormhole Routing Scheme」、PCRCW'94、LNCS853、Springer-Verlag、131〜145ページ、1994年 R.Sivaram、R.Kesavan、D.K.Panda、C.B.Stunkel、「ArchitecturalSupport for Efficient Multicasting in Irregular正規 Networks」、IEEE Trans. On Par.And Dist. Systems、Vol.12、No.5、2001年5月 NUMERICAL RECIPES IN FORTRAN, THEART OF SCIENTIFIC COMPUTING, Second Edition、by William H. Press, et al.
したがって、本発明の主目的は、ネットワーク内でクラス経路指定を実施し、1行または1列のプロセッサなど、ある範囲のプロセッサに計算プロセッサがメッセージをブロードキャストできるようにする、クラス・ネットワーク経路指定を提供することである。通常、このタイプの動作は、別々のメッセージが各プロセッサに送られることを必要とする。本発明に従うクラス経路指定では、単一のメッセージで十分であり、これによって、一般に、ブロードキャストを行うための、ネットワーク内のメッセージの総数ならびに待ち時間が大幅に減る。このクラス・ネットワーク経路指定では、ネットワークが機能強化され、ある追加のタイプのメッセージ受渡がより効率的にサポートされるようになる。
クラス経路指定によって、ネットワークが、追加のタイプのメッセージ受渡をより効率的にサポートするように機能強化される。例によって、メッセージは、1つまたは複数のメッセージ・パケットに分割され、これらのパケットが、ネットワークを介してアトミックに渡される。クラス経路指定によって、各パケットにクラス値が追加される。各スイッチで、クラス値が、1つまたは複数のテーブルへのインデックスとして使用され、このテーブルに保管された値によって、スイッチによってパケットに対して実行される処置が決定される。インデックスベースのテーブル索引は、スイッチを介する最大のスループットおよび最小の待ち時間に必要であるように、高速かつ効率的である。
クラス経路指定は、ネットワークがあるタイプのメッセージ受渡を提供できるようにするために、スイッチがパケットに作用するのに必要な情報の効率的なエンコードおよびデコードと要約することができる。この情報は、パケットのクラス値およびスイッチのテーブルにエンコードされる。この情報は、パケットのクラス値をテーブルへのインデックスとして使用することによってデコードされる。
クラス経路指定のないネットワークを、基本ネットワークと称する。クラス経路指定があるものを、拡張ネットワークと称する。すべてのスイッチのクラス・テーブル内の適当な項目を用いて、拡張ネットワークの1つまたは複数のクラスによって、基本ネットワークのメッセージ受渡タイプが提供される。さらに、テーブルへのインデックスとしてのパケットのクラス値の使用は、高速なので、基本ネットワークのメッセージ受渡タイプは、基本ネットワークと比較した時に、拡張によって大きくは低速にならない。
クラス・テーブルの他の項目によって、基本ネットワークを超えるメッセージ受渡タイプを提供することができる。たとえば、基本ネットワークのユニキャスト・メッセージ受渡タイプを、クラス経路指定によって、複数相マルチキャストのためのパスベースのマルチドロップ・メッセージ受渡に拡張することができる。
上で説明したクラスでは、拡張ネットワークによって、無修正のものまたは機能強化されたもののいずれかの、基本ネットワークのメッセージ受渡タイプが提供される。さらに、拡張ネットワークのいくつかのクラスによって、基本ネットワークをオーバーライドすることができる。たとえば、オーバーライドするクラスは、単一相マルチキャストのための複数宛先メッセージ受渡を提供することができる。クラス経路指定によってメッセージ受渡タイプだけが提供される場合には、基礎となる基本ネットワークは不要である。
本発明は、分散メモリ並列スーパーコンピュータで、ハードウェア・クラス機能能力を用いて密行列反転アルゴリズムをより高速に実行されるようにする。ハードウェア・クラス機能は、クラス経路指定の特定の使用である。これは、密行列反転の通信パターンを、ハードウェア・クラス機能によってサービスできるという事実を活用することによって達成される。これによって、より高速の実行時間がもたらされる。
並列スーパーコンピュータが、ハードウェア・レベルでクラス機能能力を有する場合に、密行列反転の特定の通信パターンを、通信遅延を最小限にするためにクラス機能を使用することによって活用することができる。
クラス・ネットワーク経路指定に関する本発明の上述の目的および長所は、添付図面と共に本発明の複数の実施形態の以下の詳細な説明を参照して、当業者がすぐ理解することができる。添付図面では、類似する要素が、複数の図面を通じて同一の符号によって示される。
分散メモリ並列スーパーコンピュータには、複数のノードが含まれる。ノードのそれぞれに、少なくとも1つのプロセッサが含まれ、このプロセッサは、ローカル・メモリに作用する。ノードは、多次元グリッドとして相互接続され、グリッド・リンクを介して通信する。一般性を失わずに、当業者が本発明の説明を簡単に理解できるようにするために、多次元ノード・グリッドを、例示的な2次元グリッドまたは例示的な3次元グリッドとして説明する。3次元グリッドは、トーラスベースのアーキテクチャによって実施される。2次元ノード・グリッドまたは3次元ノード・グリッドだけが以下の説明で説明されるという事実にかかわらず、本発明の範囲内で、他の次元のグリッドを、本発明の教示に基づいて簡単に提供できることが企図されている。3次元の例はトーラスベース・アーキテクチャで実施される3次元グリッドである。
図1は、2次元3×3トーラス・ネットワーク100を使用する多次元グリッドを介して相互接続された9つのノードを含む分散メモリ並列スーパーコンピュータの例示的な図である。図を簡単にし、わかりやすくするために、ノードの数が、例示的な形で9個のノードに制限されていることと、ノードの数を、分散メモリ並列スーパーコンピュータの特定のアーキテクチャ的要件に応じて大幅に変更できることに留意されたい。図1には、Q00からQ22としてラベルを付けられた9つのノードが示され、これらのノードの対が、グリッド・リンクによって相互接続される。合計で、9ノードのトーラス・ネットワークが、18個のグリッド・リンクによって相互接続され、各ノードは、めいめいのグリッド・リンクを介してトーラス・ネットワーク100内の4つの他のノードに直接に相互接続される。メッシュと異なって、2次元トーラス・ネットワーク100に、エッジ・ノードが含まれないことに留意されたい。たとえば、ノードQ00は、グリッド・リンク102を介してノードQ20に相互接続され、グリッド・リンク104を介してノードQ02に相互接続され、グリッド・リンク106を介してノードQ10に相互接続され、最後に、グリッド・リンク108を介してノードQ01に相互接続される。もう1つの例では、ノードQ11は、グリッド・リンク110を介してノードQ01に相互接続され、グリッド・リンク112を介してノードQ10に相互接続され、グリッド・リンク114を介してノードQ21に相互接続され、最後に、グリッド・リンク116を介してノードQ12に相互接続される。他のノードは、類似する形で相互接続される。
ノードの間のデータ通信は、ネットワーク上で、1つまたは複数のパケットで移送される。所与の通信に関して、データの量が、ネットワークによってサポートされるパケット・サイズを超える場合に、複数のパケットが必要になる。パケットは、パケット・ヘッダと、それに続く、パケットによって搬送されるデータからなる。パケット・ヘッダには、そのパケットをパケットのソース・ノードから宛先ノードへ移送するためにトーラス・ネットワークが必要とする情報が含まれる。本発明の譲受人によって実施される分散メモリ並列スーパーコンピュータでは、ネットワーク上の各ノードが、論理アドレスによって識別され、パケット・ヘッダに、宛先アドレスが含まれ、その結果、パケットが、宛先によって識別されるネットワーク上のノードへ自動的に経路指定されるようになる。
図2は、図1の分散メモリ並列スーパーコンピュータのノードQ00の例示的な図であるノードには、ローカル・メモリに作用する1つのプロセッサが含まれる。ノードには、図1に示されているように、それぞれノードQ00を隣接するノードQ20、Q02、Q10、およびQ01に接続するグリッド・リンク102、104、106、および108でパケットを送受信するルータが含まれる。ノードには、受取バッファが含まれる。ルータが、ローカル・プロセッサ宛のパケットを受け取る時に、そのパケットが、受取バッファに置かれ、この受取バッファから、プロセッサがパケットを受け取ることができる。アプリケーションおよびパケットに応じて、プロセッサは、パケットの内容をメモリに書き込むことができる。ノードには、先入れ先出し(FIFO)の形で動作する注入バッファが含まれる。CPUが、パケットを注入FIFOに置く場合に、パケットがFIFOの頭部に達したならば、そのパケットは、ルータによってFIFOから除去され、ルータが、パケットを、パケットの宛先ノードに向かってグリッド・リンクに置く。
ルータによって実施される経路指定は、複数の同時特性を有する経路指定は、バーチャル・カットスルー経路指定である。したがって、グリッド・リンクの1つでの着信パケットが、プロセッサ宛でない場合には、そのパケットは、ルータによって発信リンクの1つに転送される。この転送は、プロセッサの関与なしに、ルータによって実行される。経路指定は、最短パス経路指定である。たとえば、ノードQ00によってノードQ02に送られたパケットは、グリッド・リンク104を介して移動する。他のパスは、これよりも長い。もう1つの例として、ノードQ00によってノードQ11に送られたパケットは、グリッド・リンク106および112、またはグリッド・リンク108および110を介して移動する。経路指定は、適応経路指定である。パケットがノードを離れる際のグリッド・リンクの選択肢がある場合がある。前の例では、パケットが、グリッド・リンク106または108を介してノードQ00から出ることができる。ノードを出るパケットについて、適応経路指定によって、ルータが、より使用されていない発信リンクをパケットのために選択するか、他の判断基準に基づいて発信リンクを選択することができるようになる。適応経路指定は、パケットのソース・ノードでのみ行われるのではなく、適応経路指定は、パケットがパケットの宛先ノードへの途中でカット・スルーする可能性がある各中間ノードでも実行される。
クラス経路指定を使用して、さまざまなタイプのメッセージ受渡を達成することができる。これらのタイプのいくつかを、クラス経路指定の多数の詳細を説明する下記の例で説明する。
例1.パスベースのマルチドロップ・メッセージ受渡:
分散メモリ並列コンピュータのネットワークは、メッセージ受渡データ・ネットワークの例である。そのようなコンピュータの各ノードは、1つまたは複数のプロセッサを有し、これらのプロセッサは、ローカル・メモリに作用する。そのようなコンピュータの複数のノードを使用するアプリケーションは、それらの間でメッセージを渡すことによって処置を調整するそのコンピュータでは、各単一のノードが、ネットワークの単一のスイッチによって対にされる。そのコンピュータでは、スイッチが、3次元(3D)トーラスとして互いに接続される。したがって、そのコンピュータでは、各スイッチが、6つの他のスイッチにリンクされる。これらのリンクは、3次元のそれぞれでの、正方向のスイッチへのリンクおよび負方向のスイッチへのリンクである。各スイッチは、3次元トーラスでのその(x、y、z)論理アドレスによって識別される。対照的に、2次元トーラスを使用するコンピュータでは、各スイッチが、その(x、y)論理アドレスによって識別される。図1では、正X方向が、右に向かう方向であり、正Y方向が、下に向かう方向である。図1では、ノードQ00が、論理アドレス(0、0)を有し、ノードQ01が、論理アドレス(0、1)を有し、以下同様である。各ノードは、単一のスイッチを用いて対にされるので、あるノードが、そのスイッチのアドレスを有する。そのような論理アドレスのフィールドをパケット・ヘッダに含めることによって、パケットによって、効率的かつ便利にその宛先ノードを識別することができる。クラス経路指定がないと、基本ネットワークは、ユニキャスト・メッセージ受渡だけを提供する。スイッチが、着信パケットの宛先である場合には、そのパケットは、ローカル・ノードに与えられる。そうでない場合には、パケットは、宛先ノードに向かうリンクに置かれる。
以下は、クラス経路指定を使用して、マルチドロップ・メッセージ受渡を実施する例である。各パケット・ヘッダが、クラス値のフィールドを有する。この値は、0または1のいずれかである。各スイッチは、パケットの通常のユニキャスト経路指定のほかに、コピーをローカル・ノードで預けるデポジット(deposit)しなければならないかどうか(預けなければならないかどうか)を判定するのに使用されるテーブルを有する。これによって、元のユニキャスト・メッセージ受渡に関して、ルータがパケットを着信リンクの1つから発信リンクの1つに転送する時に、プロセッサが用いられないと仮定される。この仮定は、たとえばバーチャル・カットスルー経路指定によって満足される。これによって、元のユニキャスト・メッセージ受渡に関して、ルータがパケットを着信リンクの1つから発信リンクの1つに転送する時に、プロセッサが用いられないと仮定される。クラス値[0、1]について、このデポジット・テーブルの項目は、[0、1]であり、それぞれ、パケットをデポジットするか否かが要求される。このテーブルを、下に示す。テーブルは、宛先ノード以外のノードにあるパケットだけに適用される。宛先ノードにあるパケットは、通常のユニキャスト経路指定と同様にデポジットされる。したがって、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス値1を有するパケットによって、パスベースのマルチドロップ・メッセージ受渡が実行される。
Figure 0004478390
パスベースのマルチドロップ・メッセージ受渡は、たとえばD.K.Panda、S.Singal、P.Prabhakaran、「MultidestinationMessage Passing Mechanism Conforming to Base Wormhole Routing Scheme」、PCRCW'94、LNCS853、Springer-Verlag、131〜145ページ、1994年に記載のものなどの複数相マルチキャストを実施するのに使用することができる。
本明細書で説明する第1の例は、図1の、3×3トーラスのノード(0、0)から9つのノードへの2相マルチキャストである。第1相で、ノード(0、0)が、宛先が(0、2)のマルチドロップ・メッセージを送る。第2相で、第1相の3つの受信側が、同時に、マルチドロップ・メッセージを送信する。ノード(0、0)は(2、0)に、ノード(0、1)は(2、1)に、ノード(0、2)は(2、2)に送信する。第2相の終りに、2次元トーラスの9つのノードのすべてが、ブロードキャスト・メッセージを受信している。
上では、元のユニキャスト・メッセージ受渡で、ソース・ノードおよび宛先ノードが同一の行にある時に、パケットのパスがその行に沿うことが前提になっている。行は、トーラスまたはメッシュの次元の1つを除いて等しい値を有するノードのグループである。この前提は、たとえば最短パス経路指定によって保証される。上の前提は、その仮出願で実施される決定的経路指定によっても保証される。対照的に、上の前提は、何らかのランダムなノードを介してパケットを経路指定する、他の場合に実施される輻輳回避経路指定によっては満足されない。
本明細書で説明する第2の例は、角(0、0、0)および(4、4、4)を有する5×5×5キューブの125個のノードへのノード(0、0、0)からの3相マルチキャストである。第1相で、ノード(0、0、0)が、宛先(0、0、4)を有するマルチドロップ・メッセージを送る。第2相で、第1相の5つの受信側ノードのそれぞれが、マルチドロップ・メッセージを同時に送る。ノード(0、0、0)は(0、4、0)に、ノード(0、0、1)は(0、4、1)に送り、以下同様である。第3相で、第2相の25個の受信側のそれぞれが、マルチドロップ・メッセージを同時に送る。ノード(0、0、0)は(4、0、0)に、ノード(0、0、1)は(4、0、1)に送り、以下同様である。第3相の終りに、キューブの125個のノードのすべてが、ブロードキャスト・メッセージを受け取っている。
3次元キューブの3相マルチキャストの上の例は、次のように簡単に一般化される。D次元キューブの起点ノードからすべてのノードへのD相マルチキャストについて、第1相で、起点ノードが、送信側ノードの行の1つのすべての他のノードにマルチドロップ・メッセージを送り、第2相で、第1相の受信側のそれぞれおよび第1相の送信側が、第1相の行と直交する行のすべての他のノードに同時にマルチドロップ・メッセージを送り、第3相で、第2相の受信側および第2相の送信側のそれぞれが、第1相および第2相の行と直交する行のすべての他のノードに同時にマルチドロップ・メッセージを送り、以下同様にして、将来の相で、すべての相の後に、キューブのすべてのノードがブロードキャスト・メッセージを受け取っている。
クラス経路指定を使用するパスベース・マルチドロップ・メッセージ受渡の実施形態によって、既存の実施形態を超える利益が提供される。たとえば、特定の既存の実施形態では、デポジット値がパケット内に置かれる。その実施形態では、パケットのパス上のすべてのノードが、パケットのコピーを受け取る。対照的に、各スイッチがそのデポジット・テーブル内の異なる項目を有するので、クラス経路指定を用いると、デポジット項目[0、0]を有するノードが、マルチドロップ・パケットのパス上にある場合であっても、パケットのコピーを受け取らないようにすることができる。そのテーブルを、下に示す。たとえば、マルチキャスト用の複数のクラス値を用いると、これによって、それぞれがノードの異なる組に関する、複数のマルチキャスト・グループが可能になる。
Figure 0004478390
例2.受信側を知らないマルチドロップ・パケットの送信
例1で説明したように、クラス経路指定を用いると、クラス値[0、1]に対するデポジット項目[0、0]を有するノードが、マルチドロップ・パケットのパス上にある場合であってもパケットのコピーを受け取らないようにすることができる。この情報は、マルチドロップ・パケットのソース・ノードが知る必要はない。言い換えると、クラス経路指定を用いると、ノードが、受信側を知らずにマルチドロップ・パケットを供給できるようになる。しかし、図1のネットワークには、1つの例外があり、マルチドロップ・パケットの宛先ノードが、必ずパケットのコピーを受け取る。したがって、宛先ノードが、パケットのコピーを受け取らない場合には、これを、ソース・ノードが別の宛先を使用できるようにするために、ソース・ノードに知らせなければならない。
たとえば、ノード(0、0)が、元々はノード(0、2)宛のマルチドロップ・パケットのソースであると仮定する。これは、3×3のサイズのトーラス・ネットワークの自然な宛先である。というのは、ノード(0、0)から(0、2)が、完全な行になるからである。ノード(0、2)が、コピーを受け取らない場合には、これをノード(0、0)が知らなければならない。ノード(0、0)が、ノード(0、1)がコピーを受け取ることも知っている場合には、(0、1)を、マルチドロップ・パケットの宛先として使用することができる。
宛先ノードによって引き起こされる例外を解決するために、クラス経路指定では、各スイッチが、パケットのコピーが宛先ノードでデポジットされなければならないかどうかを判定する追加のテーブルを有することができる。上の例を解決するために、ノード(0、2)について、この宛先テーブルの項目は、クラス値[0、1]について[1、0]である。クラス1の項目0によって、ノード(0、2)が、それが宛先である場合であってもマルチドロップ・メッセージを受け取らなくなる。クラス0の項目1によって、ノード(0、2)が、ユニキャスト・メッセージを普通に受け取れるようになる。この2つのテーブルを、下に示す。
Figure 0004478390
Figure 0004478390
上の例では、ノード(0、2)が、クラス値1のマルチキャストに参加しない。
対照的な例として、ノード(0、1)が、クラス値1のマルチキャストに参加する。ノード(0、1)の対応するテーブルを下に示す。
Figure 0004478390
Figure 0004478390
例3.スヌープ:
基本ネットワークのユニキャスト・メッセージに関するクラス値0の使用を含めて、上の例1で示したネットワークを仮定する。ノードは、デポジット・テーブルのクラス値0の項目1を使用することによって、そのスイッチを介して渡されるユニキャスト・パケットの情報をスヌープし、獲得し、保管することができる。
テーブルを、下に示す。この例では、ノードが、クラス値1のマルチキャストに参加する。このテーブルは、宛先ノード以外のノードのパケットだけに適用される。この例では、宛先ノードにあるパケットは、通常のユニキャスト経路指定としてデポジットされる。
Figure 0004478390
そのようなスヌープの使用の例が、ネットワークの性能の調査である。スヌープがなければ、パケットがソース・ノードでネットワークに入った時と、パケットが宛先ノードでネットワークから出た時に関する情報だけがある可能性がある。スヌープがあれば、パケットが、パケットのパス上のノードを介して渡される時に関する情報を持つことができる。ノードの対の間に複数の有効なパスがある場合があるので、スヌープによって、特定のパスが使用されたかどうかに関する情報も提供することができる。ノードの対の間に複数の有効なパスがある経路指定の例が、たとえば適応経路指定である。
各スイッチが、デポジット・テーブルの異なる項目を有する可能性があるので、クラス経路指定によって、任意の数のノードをスヌープすることができる。ネットワーク内のノードの小さい部分だけがスヌープされる場合には、測定値は、統計的サンプリングである。
スヌープは、特にマルチキャストに関連しないクラス経路指定の使用の例である。
例4.単一相マルチキャスト
単一相マルチキャストでは、メッセージが、ノードの1つによって1回、ネットワークに注入される。対照的に、複数相マルチキャストでは、メッセージが、おそらくは複数のノードによって、複数回ネットワークに注入される。たとえば、上の例1で説明した3×3ノード・トーラスでの複数相マルチキャストでは、メッセージが、3つの異なるノードによって合計1+3=4回注入される。たとえば、上の例1で説明した5×5×5ノード・トーラスでの複数相マルチキャストでは、メッセージが、25個の異なるノードによって合計1+5+25=31回注入される。
周知の通り、単一相マルチキャストを提供するためには、スイッチが、着信パケットを複数の発信リンクに複製できなければならない。本質的に、複数相マルチキャストでノードによって実行されるメッセージ複製は、単一相マルチキャストではスイッチによって実行される。
単一相マルチキャストに関してクラス経路指定によって提供される利益は、発信スイッチのどれが特定の着信パケットのコピーを受け取るか否かの効率的なエンコードおよびデコードである。クラス経路指定によって提供されるエンコードおよびデコード方式を説明する単純な例の後で、この方式を既存の方式と比較する。
本明細書で説明する最初の例は、図1に示された3×3トーラスのノード(0、0)から9つのノードへの、例1で説明したものと同一のマルチキャストである。例1では、これが2相マルチキャストであったが、この場合には単一相マルチキャストである。この場合には、ネットワークにまたがるメッセージのパターンが、例1のパターンに似るように選択される。
各パケット・ヘッダが、クラス値のフィールドを有する。この値は、0または1のいずれかである。各スイッチは、パケットの通常のユニキャスト経路指定が実行されるかどうか、または単一相マルチキャスト経路指定の処置が実行されるかどうかを判定するのに使用されるテーブルを有する。このテーブルの各項目は、フォーマットUDXYのビット・ストリングである。テーブル内の項目Uが1である場合には、通常のユニキャスト経路指定が実行され、そうでない場合には実行されない。Dが1である場合には、パケットのコピーが、ローカル・ノードでデポジットされ、そうでない場合にはデポジットされない。Xが1である場合には、パケットのコピーが、正のXリンクに進み、そうでない場合には進まない。Yが1である場合には、パケットのコピーが、正のYリンクに進み、そうでない場合には進まない。負のX方向およびY方向の2つのリンクは、この例には関係なく、説明を簡単にするために、ここでは無視する。
クラス値0について、テーブル内の項目は、すべてのノードで1000である。したがって、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス値1について、テーブル内の項目は、ネットワーク内のスイッチの位置に依存する。各スイッチの項目は、例1の複数相マルチキャストの対応するノードの処置をまねたものになる。
各ノードで、ノードに入るすべてのパケットが、テーブルに従う。パケットが、クラス値0を有する場合に、UDXY=1000によって、パケットが、ユニキャスト・パケットとして識別され、その後、パケットの宛先だけが検査される。
クラス値1の場合に、スイッチ(0、0)は、項目0011を有する。これによって、マルチキャストのソース・ノードが、別のコピーを必要としないことが仮定される。ノード(0、0)のテーブルを下に示す。
Figure 0004478390
3×3トーラスの他のスイッチのクラス値1について継続すると、スイッチ(0、1)は、項目0111を有する。4つのスイッチ(0、2)、(1、0)、(1、1)、および(1、2)は、項目0101を有する。3つのスイッチ(2、0)、(2、1)、および(2、2)は、項目0100を有する。上記は、クラス1を使用する例のマルチキャストに必要な情報の完全なエンコードである。短く言うと、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス1を有し、ノード(0、0)から発するパケットによって、単一相マルチキャスト経路指定が実行される。
クラス1を使用するノード(0、0)からのマルチキャストに関する各ノードの上のUDXY値を、図3に示す。各ノードで、D=0の場合すなわち、パケットのコピーがそのノードでデポジットされない場合に、円が白抜きにされる。各ノードで、D=1の場合すなわち、パケットのコピーがそのノードでデポジットされる場合に、円が塗り潰される。各ノードで、X=1の場合すなわち、パケットのコピーが正のXリンクに出る場合に、正のX方向の矢印がある。各ノードで、Y=1の場合すなわち、パケットのコピーが正のYリンクに出る場合に、正のY方向の矢印がある。
本明細書で説明する第2の例は、角(0、0、0)および(4、4、4)を有する5×5×5キューブのノード(0、0、0)から125個のノードへの、例1で説明したものと同一のマルチキャストである。例1は、3相マルチキャストがあるが、この場合には単一相マルチキャストがある。この場合には、ネットワークを介するメッセージのパターンが、例1のパターンに類似するように選択される。
各パケット・ヘッダが、クラス値のフィールドを有する。この値は、0または1のいずれかである。各スイッチは、パケットの通常のユニキャスト経路指定が実行されるかどうか、または単一相マルチキャスト経路指定の処置が実行されるかどうかを判定するのに使用されるテーブルを有する。このテーブルの各項目は、フォーマットUDXYZのビット・ストリングである。テーブル内の項目Uが1である場合には、通常のユニキャスト経路指定が実行され、そうでない場合には実行されない。Dが1である場合には、パケットのコピーが、ローカル・ノードでデポジットされ、そうでない場合にはデポジットされない。Xが1である場合には、パケットのコピーが、正のXリンクに進み、そうでない場合には進まない。ビットYおよびZに関しても同様である。負のX方向、Y方向およびZ方向の3つのリンクは、この例には関係なく、説明を簡単にするために、ここでは無視する。
クラス値0について、テーブル内の項目は、すべてのノードで10000である。したがって、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス値1について、テーブル内の項目は、ネットワーク内のスイッチの位置に依存する。各スイッチの項目は、例1の複数相マルチキャストの対応するノードの処置をまねたものになる。
クラス値1について、スイッチ(0、0、0)は、項目00111を有する。これによって、マルチキャストのソース・ノードが、別のコピーを必要としないと仮定される。3つのスイッチ(0、0、1)から(0、0、3)は、項目01111を有する。スイッチ(0、0、4)は、項目01110を有する。x=0平面内で角(0、1、0)、(0、1、4)、(0、3、0)、および(0、3、4)を有する15個のスイッチは、項目01110を有する。5つのスイッチ(0、4、0)から(0、4、4)は、項目01100を有する。角(1、0、0)、(1、0、4)、(3、0、0)、および(3、0、4)を有するキューブの75個のスイッチは、項目01100を有する。x=4平面内で角(4、0、0)、(4、0、4)、(4、4、0)、および(4、4、4)を有する25個のスイッチは、項目01000を有する。上記は、クラス1を使用する例のマルチキャストに必要な情報の完全なエンコードである。短く言うと、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス1を有し、ノード(0、0、0)から発するパケットによって、単一相マルチキャスト経路指定が実行される。
単一相マルチキャストに関するクラス経路指定の上の例では、UDXYZビット・ストリングによって、パケットがどの出力ポートに複製されるかが決定される。類似するビット・ストリングが、単一相マルチキャストの既存の実施形態で使用される。1つの例が、R.Sivaram、R.Kesavan、D.K.Panda、C.B.Stunkel、「Architectural Support forEfficient Multicasting in Irregular Networks」、IEEE Trans. On Par. And Dist.Systems、Vol.12、No.5、2001年5月に記載されている。もう1つの例が、米国特許第5333279号、「Self-timed meshrouting chip with data broadcasting」、D.Dunningに記載されている。これらの既存の実施形態では、スイッチごとの、上のUDXYZに似たビット・ストリングが、パケット・ヘッダ内にある。対照的に、上のクラス経路指定実施形態では、パケット・ヘッダに、単に、テーブル内でUDXYZ項目をルック・アップするために各スイッチで使用されるクラス値が含まれる。
上の単一相マルチキャストのクラス経路指定実施形態は、いくつかの形で、これらの既存の実施形態より一般的でないが、このクラス経路指定は、いくつかの形で、より効率的である。たとえば、パケット・ヘッダ内で、クラス値のフィールドは、スイッチごとのビット・ストリングのフィールドよりはるかに小さい。上の例では、クラス値が、0または1であり、したがって、ヘッダ内の1ビット・フィールドに保管することができる。対照的に、上のUDXYZビット・ストリングは、ヘッダ内の5ビット・フィールドを必要とする。さらに、異なるスイッチが、UDXYZの異なる値を有するので、UDXYZ値の複数のフィールドが必要である。ヘッダ内のより小さいフィールドは、トーラス・ネットワークの物理帯域幅の消費が減り、アプリケーション・データにより多くの帯域幅が残されるので、より効率的である。パケットを転送できるようになる前に、スイッチで、ヘッダ全体を読み取り、エラーについて検査しなければならないので、より小さいフィールドを用いると、待ち時間を短くすることができる。
例5.ネットワーク内の任意のノードからの単一相マルチキャスト
例4で説明したクラス経路指定を使用する単一相マルチキャストを用いると、単一のノードが、メッセージのソースになることができる。2次元3×3トーラスの例では、ソースが、ノード(0、0)である。3次元5×5×5トーラスの例では、ソースが、ノード(0、0、0)である。クラス経路指定テーブルが、異なるノードで異なる値を有するので、これを異種単一相マルチキャスト(heterogeneous single phase multicast)と命名する。テーブルだけが、入力リンクの1つに使用される。
クラス経路指定は、ソースをネットワーク内の任意のノードとすることができる、単一相マルチキャストの実施に使用することもできる。トーラスなどの同種ネットワーク上では、クラス経路指定テーブルが、すべてのノードで同一の値を有するので、これを同種単一相マルチキャスト(homogenous single phase multicast)と命名する。単一のノードで、クラス経路指定テーブルが、異なる着信リンクに対して異なる値を有する。
本明細書で説明する最初の例は、図1に示された3×3トーラスのノード(0、0)から9つのノードへの、例4で説明したものと同一のマルチキャストである。例4では、異種単一相マルチキャストであったが、この場合には同種単一相マルチキャストである。この場合には、ネットワークを介するメッセージのパターンが、例4のパターンに類似するように選択される。
例4の異種単一相マルチキャストでは、着信リンクのいずれかを介してノードに達するパケットは、同一のテーブルを使用して、クラス値に基づいてそのパケットに対してスイッチが実行する処理が決定される。例4で示したように、異種マルチキャストでは、異なるノードがテーブル内の異なる値を有する。対照的に、この例の同種単一相マルチキャストでは、各スイッチの各着信リンクが、着信パケットに対して実行される処置を決定するのに使用されるテーブルを有する。下で示すように、同種マルチキャストでは、異なるノードが、テーブル内の同一の値を有する。
各パケット・ヘッダが、クラス値のフィールドを有する。この値は、0または1のいずれかである。各スイッチの各着信リンクは、パケットの通常のユニキャスト経路指定が実行されるかどうか、または単一相マルチキャスト経路指定が実行されるかどうかを決定するのに使用されるテーブルを有する。このテーブルの各項目は、フォーマットUDXYのビット・ストリングを有する。テーブル項目のUが1である場合には、通常のユニキャスト経路指定が実行され、そうでない場合には実行されない。Dが1である場合には、パケットのコピーが、ローカル・ノードでデポジットされ、そうでない場合にはデポジットされない。Xが1であり、パケットのX宛先がノードのX位置でない場合には、パケットのコピーが、正のXリンクに進み、そうでない場合には進まない。Yが1であり、パケットのY宛先がノードのY位置でない場合には、パケットのコピーが、正のYリンクに進み、そうでない場合には進まない。各ノードについて、負のX方向およびY方向の2つの発信リンクは、この例には関係なく、説明を簡単にするために、ここでは無視する。各ノードについて、負のX方向およびY方向の2つの着信リンクは、この例には関係なく、説明を簡単にするために、ここでは無視する。
上で説明したように、パケットのX宛先およびY宛先が、パケットに対して実行される処置を決定するために判定される。したがって、ノード(0、0)が3×3トーラスの他の8個のノードのすべてにブロードキャストするためには、パケットが、宛先(3、3)を有しなければならない。
一般に、この例のブロードキャストについて、パケットの宛先は、ブロードキャストのソースから正のX方向および正のY方向で最も遠いノードである。たとえば、ノード(1、0)が3×3トーラスの他の8個のノードのすべてにブロードキャストするためには、パケットが、宛先(0、2)を有しなければならない。
クラス値0について、テーブル内の項目は、すべてのノードのすべてのテーブルで1000である。したがって、クラス値0のパケットは、元のユニキャスト・メッセージ受渡に従う。クラス値1について、テーブル内の項目は、そのパケットがどの着信リンクに到着したかに依存する。そのテーブルを、下に示す。各着信リンクの項目は、結果の同種マルチキャストが、図4の異種マルチキャストをまねるようになるものである。
Figure 0004478390
Figure 0004478390
上記は、クラス1を使用する例のマルチキャストに必要な情報の完全なエンコードである。短く言うと、クラス値0を有するパケットは、元のユニキャスト・メッセージ受渡に従う。クラス1を有するパケットによって、同種単一相マルチキャスト経路指定が実行される。
上の2次元トーラスの例を与えられれば、この技法が、他のネットワークに簡単に拡張される。上の例のクラス1は、メッシュの正Xおよび正Yの象限でのマルチキャストをもたらすとみなすことができる。3つの追加の類似するクラス2、3、および4によって、他の3つの象限すなわち、負Xおよび正Y、正Xおよび負Y、ならびに負Xおよび負Yでのマルチキャストを提供することができる。これらの4つのクラスを用いると、メッシュ内の任意のノードが、4つのマルチキャストを使用して、メッシュ内のすべての他のノードにパケットを有効にブロードキャストできるようになる。トーラスで同一のブロードキャスト技法を使用すると、上で説明した単一クラス技法の2倍高速になる。2倍速いのは、ソース・ノードと宛先ノードの距離が半分になるからである。この技法が実現可能であるのは、トーラスの任意のノードを、メッシュの中央のノードとして扱うことができるからである。
上記の技法は、D次元のメッシュまたはトーラスに簡単に一般化される。D次元のメッシュまたはトーラスでは、2^D個のクラスを用いて、メッシュまたはトーラス内の任意のノードが、2^D個のマルチキャストを使用して、メッシュまたはトーラス内のすべての他のノードにパケットを有効にブロードキャストできるようになる。トーラスでは、すべてのノードへの代替の単一ブロードキャストが、完了するのにトーラスでの2^D個のマルチキャストの2倍を必要とする。というのは、ソース・ノードと最も遠い宛先の間の距離が、単一ブロードキャストで2倍になるからである。
クラス・テーブルの機能強化および代替形態
スイッチでのテーブルの使用の代わりにまたはこれに加えて、クラス値とおそらくはパケットの他の特性を、アルゴリズムに入力することができる。テーブル項目が、すべてのクラス値について同一である場合に、異なるテーブルの相対優先順位を用いてプログラムすることができるように、スイッチが、テーブルによって要求される衝突する処置の間で判断する必要があるかどうかのアルゴリズムを使用することがよりよい場合がある。
他のクラスを作成するためのクラスベースのマルチキャストの使用
例5では、クラス値0が、通常のユニキャストに使用されるが、クラス値1を、トーラス内のすべてのノードへのブロードキャストに使用することができる。ブロードキャスト機構を確立したので、これを使用して、どのようなデータでもブロードキャストすることができる。たとえば、このデータを、他のクラスのクラス・テーブル項目とすることができる。たとえば、例5では、追加のクラス2、3、および4の必要が識別された。どのような手段でも、それによってクラス1でのマルチキャストを確立したならば、クラス1を使用して、クラス2、3、および4を作成することができる。一般に、1つまたは複数の特定のクラス値での通信を確立したならば、その通信を使用して、他のクラス値での通信を確立することができる。
例7.クラス機能を使用する密行列計算
本発明では、トーラス・コンピュータ・ネットワークでクラス機能を使用して、密行列計算も行う。トーラス・コンピュータ・ネットワークでハードウェア実施されるクラス機能を使用することによって、高性能密行列計算を行うことが可能になる。
クラス機能は、この例では、クラス・ネットワーク経路指定に基づくマルチキャストに使用される名前である。しばしば、マルチキャストは、同一行の他のノードに対するものである。非常にしばしば、クラス経路指定によって、例1で説明した、単一相のパスベース・マルチドロップ・メッセージ受渡を実施することで十分である。マルチキャストは、行に対するものでない時に、トーラスまたはメッシュの、平面、立体、またはより高次元のサブセットである。この場合に、最適な性能のために、クラス経路指定によって、例5で説明した単一相マルチキャストなどのより洗練されたマルチキャストを実施する必要がある。
本発明では、ハードウェア・クラス機能能力を有する分散メモリ並列スーパーコンピュータでの密行列反転アルゴリズムをより高速に実行されるようにする。これは、密行列反転の通信パターンを、ハードウェア・クラス機能によってサービスできるという事実を活用することによって達成される。これによって、より高速の実行時間がもたらされる。
本明細書で述べるアルゴリズムは、当技術分野で周知であり、たとえば、NUMERICALRECIPES IN FORTRAN, THE ART OF SCIENTIFIC COMPUTING, Second Edition、by WilliamH. Press, et al.、特に27ページ以下参照に記載されている。
図4に、各プロセッサが行および列の数字によってラベルを付けられている、プロセッサの4×4グリッドを示す。たとえば、行2列3のプロセッサは、p(2、3)である。列iおよび行i(陰付きの区域)ならびにクラス機能を介して行/列を送らなければならない方向も示されている。
ガウス・ジョルダン消去法ならびに他の方法などの標準アルゴリズムを使用して、密線形行列を反転することができる。一般に、必要な入出力は、ハードウェア・クラス機能能力を有する並列スーパーコンピュータの通信機能性によく適する特殊な1対多変形入出力である。クラス機能性を使用して、計算機の行全体または面全体にデータをマルチキャストすることができる。
本発明の説明で使用される用語の一部を、下で説明する。
ガウス・ジョルダン・アルゴリズム:
枢軸演算がないガウス・ジョルダン・アルゴリズムの核を、下に示す。当初は、bが、単位行列であり、aが、逆行列を計算される行列である。
do i=1,N
doj=i,N
do k=1,N; (kはiに等しくない)
b(k,j) = b(k,j) - [a(k,i) / a(i,i)] * b(i,j)
a(k,j) = a(k,j) - [a(k,i) / a(i,i)] * a(i,j)
enddo
enddo
enddo
式1
分散メモリ並列スーパーコンピュータ:
そのようなコンピュータは、多数のノードからなる。各ノードは、ローカル・メモリに作用する1つまたは複数のプロセッサを有する。ノードは、通常は、d次元グリッドとして接続され、グリッド・リンクを介して通信する。グリッドが、P×Pプロセッサを有する2次元である場合に、N×N行列を分割し、その結果、そのL×L部分が、各ノードに存在するようにすることができる(L=N/P)。計算機が、2次元グリッドとして接続されない場合に、行列をグリッドに適当に「折り畳む」ことによって、必ずこの問題をグリッドにマッピングすることができる。一般性を失わず、本発明の提示を単純にするために、プロセッサ・グリッドが、2次元であると仮定する。
ハードウェア・クラス機能:
クラス機能は、マルチキャストのハードウェア実施形態である。プロセッサp(1、1)(数字は、グリッドでのプロセッサの位置を示す。図4も参照されたい)が、プロセッサp(1、2)、p(1、3)、およびp(1、4)にデータの同一のパケットを送ることを求めると仮定する。通常、これは、まず、プロセッサp(1、2)にデータを送ることによって行われる。データがp(1、2)に達したならば、ソフトウェア・ルーチンによってそのデータが読み取られ、メモリに保管される。その後、p(1、2)が、メモリからデータを読み取り、p(1、3)などに送る。これに関する問題は、データのパケットをメモリに完全に受け取り、それを再送信するのに長い時間がかかることである。p(1、2)に達したデータのパケットが、同時にp(1、2)メモリに保管され、即座にp(1、3)に送られるようにハードウェアが作られる場合に、遅延が大幅に減る。データのパケットが、それが通過する中間プロセッサのメモリにデポジットされる間に、そのパケットをp(1、4)に送るp(1、1)のハードウェア機能を、ハードウェア・クラス機能と呼ぶ。
本発明:
本発明では、密行列反転(たとえばガウス・ジョルダン法を使用する)の通信パターンによってクラス機能を使用できるという事実を活用する。これは、ガウス・ジョルダン・アルゴリズムを説明した式1からわかる。
a(i、i)が、他の何らかの方法、たとえばグローバル・ブロードキャストを介して通信される。その後、b(k、j)およびa(k、j)に関する式の右辺で、両方ではなく1つのインデックスだけが(k、j)と異なる要素(a(k、i)、a(i、j)、およびb(i、j))が用いられる。クラス機能通信を使用して、そのような要素を、関連するプロセッサの間で送ることができる。たとえば、所与の行kのb(k、j)、(1<j<N)を計算するためには、行kを含むすべてのプロセッサについてa(k、i)が既知であることが必要である。したがって、行列の行kを含むプロセッサの行に沿って、a(k、i)を送らなければならない。これは、クラス機能性を使用して行うことができる。既に述べたように、これによって、総通信時間の大幅な削減がもたらされる。
これによって、本発明の着想の説明を終える。この着想を、ガウス・ジョルダン・アルゴリズムに関して説明したが、この着想は、ガウス・ジョルダン・アルゴリズムに固有ではない。たとえば、この着想は、「枢軸計算があるガウス・ジョルダン」アルゴリズム、「後退代入があるガウス・ジョルダン」アルゴリズム、および「LU分解」アルゴリズムに適用される。
この着想の実施形態(ガウス・ジョルダン・アルゴリズムを使用する)を、すべての詳細と共に、下で例として提示する。例をわかりやすくするために、最も単純な実施形態を選択した。より大きいデータ・パケットを含む通信をもたらすより複雑な実施形態も、案出されている。プロセッサ・グリッドのサイズおよび行列のサイズに依存して、より大きいパケット・サイズが望ましい場合がある。というのは、これによって、待ち時間を最小にすることによってさらに性能が改善されるからである。しかし、これは、この着想の前提に影響しない。
例のアルゴリズム:
ガウス・ジョルダン・アルゴリズムを使用して、P×Pノードのグリッドに均等に分散されたサイズN×Nの密行列の逆行列を見つける。したがって、各ノードは、そのメモリに行列のL×L部分を有する(L=N/P)。ハードウェア・クラス機能を使用して、行および列にデータをマルチキャストする。このアルゴリズムの視覚的な表現については、上の図1を参照されたい。
For each 1<i<N
1)クラス機能を使用して、aの列i(a(k、i)、1<k<N)を左から右に送る
2)行iの要素a、bをa(i、i)によってスケーリングする
3)クラス機能を使用して、新しい行iのaおよびb(a(i、j)およびb(i、j)、1<j<N)を上下に送る
4)ここで、すべてのプロセッサが、列iに関する標準ガウス・ジョルダン・ステップを行うのに必要な要素を有する。この列の末尾で、iは、単位行列の列iと同一である。
Repeat
例の終り:
クラス・ネットワーク経路指定に関する本発明の複数の実施形態および変形形態を、本明細書で詳細に説明したが、本発明の開示および教示によって、多数の代替設計が当業者に示されることは明白である。
本発明による、2次元3×3トーラス・ネットワークを使用する多次元グリッドを介して相互接続された9つのノードを含む例示的な分散メモリ並列スーパーコンピュータを示す図である。 図1の分散メモリ並列スーパーコンピュータの9つのノードの例示的なノードQ00を詳細に示す図である。 図1に示された分散メモリ並列スーパーコンピュータの、ノードQ00から他の8つのノードへの例示的な単一相マルチキャストを示す図である。 各プロセッサが行および列の数字によってラベルを付けられている、プロセッサの4×4グリッドを示す図である。

Claims (7)

  1. ネットワークにおけるクラス・ネットワーク経路指定の方法であって、前記ネットワークは複数のノードを含み、前記ノードの各々はスイッチを介して対に配置されており、前記ノードの各々は1つまたは複数のプロセッサ、メモリ、及び該ノードを他のノードに接続する1つまたは複数のネットワーク・インターフェースを含み、前記プロセッサがメッセージを他の複数のノードにマルチキャストすることができ、前記メッセージは1以上のメッセージ・パケットに分割されており、前記プロセッサがノードからのメッセージ・パケットを他のノードに経路指定することができ、前記スイッチが前記メッセージ・パケットのコピーを各ノードで預けなければならないかどうかを判定するために使用されるテーブルを含み、当該テーブルはクラス値とそれに関連付けられた保管値とを含み、前記1以上のメッセージ・パケットそれぞれはクラス値のフィールドを含み、前記クラス値は少なくとも1つのテーブルへのインデックスとしてまたはアルゴリズムへの入力として使用されることができ、
    前記方法は、
    前記ノードが、前記テーブルを使用して前記クラス値から特定される前記保管に従い、または前記アルゴリズムによって前記クラス値から求められる値に従い、前記メッセージ・パケットを単一の宛先ノードへ受け渡すユニキャスト・メッセージ受渡を実行し又は複数の宛先ノードへ受け渡すマルチドロップ・メッセージ受渡を実行することを含み、それによって他の複数のプロセッサにメッセージをマルチキャストし、
    前記方法は、
    D次元キューブの起点ノードからすべてのノードへのD相マルチキャストを使用することをさらに含み、第1相において、前記起点ノードが、前記送信側ノードの行の1つにあるすべての他のノードにマルチドロップ・メッセージを送り、第2相において、前記第1相の受信側および前記第1相の前記送信側のそれぞれが、前記第1相の前記行と直交する行のすべての他のノードに同時にマルチドロップ・メッセージを送り、第3相において、前記第2相の前記受信側および前記第2相の前記送信側のそれぞれが、前記第1相および前記第2相の前記行と直交する行のすべての他のノードに同時にマルチドロップ・メッセージを送り、以下同様であり、更なる相で、すべての前記相の後に、前記キューブのすべてのノードがブロードキャスト・メッセージを受け取る、前記方法。
  2. 前記ノードが前記メッセージ・パケットのコピーを預けなければならないかどうかを前記テーブルの値に基づいて判定するステップをさらに含む、請求項1に記載の方法。
  3. 前記メッセージ・パケットが、前記ネットワークの行全体または面全体にマルチキャストされる、請求項1に記載の方法。
  4. ハードウェア・クラス機能マルチキャスト能力を有する分散メモリ並列コンピュータのネットワークで密行列反転を実行し、前記ハードウェア・クラス機能マルチキャスト能力が、到着するメッセージ・パケットをメモリに同時に保管し、そして即座に前記メッセージ・パケットがメモリに保管されつつある間にそのメッセージ・パケットを1つまたは複数のノードに送り、前記密行列反転アルゴリズムの通信パターンが、通信遅延を最小にするために、前記ハードウェア・クラス機能マルチキャスト能力によってサービスされる、請求項1に記載の方法。
  5. 前記スイッチは、3次元トーラスを形成するために接続されており、各スイッチが、6つの他のスイッチにリンクされており、前記リンクが、前記3次元のそれぞれで、正方向のスイッチおよび負方向のスイッチに結合されており、
    前記トーラス上のx、y、およびz論理アドレスが、各スイッチを識別し、各ノードが、そのスイッチの前記アドレスを有し、
    前記パケットが前記パケットのヘッダに前記論理アドレス用のフィールド値を含み、それによって宛先ノードを識別することが可能である、請求項1に記載の方法。
  6. 前記ノードは、前記メッセージ・パケットのコピーが、前記D次元の他のリンクについて、Xリンクで外に出るか否かと、Yリンクで外に出るか否かと、Zリンクで外に出るか否かとを前記クラス値に基づいて判定するステップを含む、請求項に記載の方法。
  7. 前記ノードのうちの前記一つが、スイッチが異なるテーブルによって示される衝突する処置の間で判断できるようにするために、優先順位が設けられている異なるテーブルを有する、請求項1に記載の方法。
JP2002568556A 2001-02-24 2002-02-25 クラス・ネットワーク経路指定 Expired - Fee Related JP4478390B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
PCT/US2002/005573 WO2002069550A1 (en) 2001-02-24 2002-02-25 Class network routing

Publications (2)

Publication Number Publication Date
JP2004533035A JP2004533035A (ja) 2004-10-28
JP4478390B2 true JP4478390B2 (ja) 2010-06-09

Family

ID=68499832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002568556A Expired - Fee Related JP4478390B2 (ja) 2001-02-24 2002-02-25 クラス・ネットワーク経路指定

Country Status (8)

Country Link
US (1) US7587516B2 (ja)
EP (1) EP1374468A4 (ja)
JP (1) JP4478390B2 (ja)
KR (1) KR100598667B1 (ja)
CN (1) CN100499446C (ja)
CA (1) CA2436413C (ja)
IL (2) IL157514A0 (ja)
WO (1) WO2002069550A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020298A2 (en) * 2004-07-19 2006-02-23 Blumrich Matthias A Collective network for computer structures
US8626957B2 (en) 2003-08-22 2014-01-07 International Business Machines Corporation Collective network for computer structures
US20050041654A1 (en) 2003-08-20 2005-02-24 Lee Hee-Choul Multi-dimensional disconnected mesh switching network
KR100556885B1 (ko) * 2003-09-18 2006-03-03 엘지전자 주식회사 동보 메시지 구조 및 전달 방법
KR100981549B1 (ko) * 2003-12-31 2010-09-10 주식회사 케이티 Ip 기반의 mpls 네트워크에서 차등화 서비스의서비스 클래스별 터널 설정 방법
US20060104270A1 (en) * 2004-11-16 2006-05-18 Inching Chen Method and apparatus for communicating within a segmented network
KR101337126B1 (ko) 2005-05-12 2013-12-05 삼성전자주식회사 무선랜 매쉬 네트워크에서의 핸드오버에 따른 재결합 수행 방법 및 장치
KR100689752B1 (ko) * 2006-06-22 2007-03-08 (주)건축사사무소 제일건축 공동주택용 창문의 추락방지 구조
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置
US8140826B2 (en) * 2007-05-29 2012-03-20 International Business Machines Corporation Executing a gather operation on a parallel computer
US8161480B2 (en) * 2007-05-29 2012-04-17 International Business Machines Corporation Performing an allreduce operation using shared memory
US20090006663A1 (en) * 2007-06-27 2009-01-01 Archer Charles J Direct Memory Access ('DMA') Engine Assisted Local Reduction
US7840779B2 (en) * 2007-08-22 2010-11-23 International Business Machines Corporation Line-plane broadcasting in a data communications network of a parallel computer
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US20090158276A1 (en) * 2007-12-12 2009-06-18 Eric Lawrence Barsness Dynamic distribution of nodes on a multi-node computer system
JP5347975B2 (ja) 2008-02-08 2013-11-20 日本電気株式会社 ネットワークスイッチ、経路設定方法およびプログラム
US8422402B2 (en) 2008-04-01 2013-04-16 International Business Machines Corporation Broadcasting a message in a parallel computer
US8484440B2 (en) 2008-05-21 2013-07-09 International Business Machines Corporation Performing an allreduce operation on a plurality of compute nodes of a parallel computer
US8281053B2 (en) 2008-07-21 2012-10-02 International Business Machines Corporation Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations
JP5435024B2 (ja) 2009-04-28 2014-03-05 日本電気株式会社 ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
KR101033425B1 (ko) * 2009-09-01 2011-05-09 한국과학기술원 멀티캐스팅 네트워크 온 칩, 그 시스템 및 네트워크 스위치
US10698859B2 (en) * 2009-09-18 2020-06-30 The Board Of Regents Of The University Of Texas System Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture
US8103910B2 (en) * 2009-11-13 2012-01-24 International Business Machines Corporation Local rollback for fault-tolerance in parallel computing systems
FR2957176B1 (fr) * 2010-03-02 2012-04-06 Commissariat Energie Atomique Puce electronique et circuit integre comportant une telle puce electronique
US8565089B2 (en) * 2010-03-29 2013-10-22 International Business Machines Corporation Performing a scatterv operation on a hierarchical tree network optimized for collective operations
US9424087B2 (en) 2010-04-29 2016-08-23 International Business Machines Corporation Optimizing collective operations
US8949577B2 (en) 2010-05-28 2015-02-03 International Business Machines Corporation Performing a deterministic reduction operation in a parallel computer
KR200453542Y1 (ko) * 2010-07-16 2011-05-13 우명수 실내용 연동식 목문의 수동개폐구조
US8776081B2 (en) 2010-09-14 2014-07-08 International Business Machines Corporation Send-side matching of data communications messages
US8566841B2 (en) 2010-11-10 2013-10-22 International Business Machines Corporation Processing communications events in parallel active messaging interface by awakening thread from wait state
US8893083B2 (en) 2011-08-09 2014-11-18 International Business Machines Coporation Collective operation protocol selection in a parallel computer
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
WO2013098954A1 (ja) * 2011-12-27 2013-07-04 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
CN103401858B (zh) * 2013-07-29 2016-01-13 北京交通大学 片上路由器拥塞感知范围的扩大方法
US9413849B2 (en) 2013-12-05 2016-08-09 International Business Machines Corporation Distributing an executable job load file to compute nodes in a parallel computer
US9898441B2 (en) 2016-02-05 2018-02-20 Google Llc Matrix processing apparatus
US9805001B2 (en) 2016-02-05 2017-10-31 Google Inc. Matrix processing apparatus
FR3065342B1 (fr) * 2017-04-12 2019-04-19 Sagemcom Energy & Telecom Sas Procede de configuration pour la diffusion de messages
US10412472B2 (en) * 2017-07-10 2019-09-10 Maged E. Beshai Contiguous network
US10757488B2 (en) * 2018-08-30 2020-08-25 Maged E. Beshai Fused three-stage networks forming a global contiguous network
JP2020091691A (ja) * 2018-12-06 2020-06-11 日本電信電話株式会社 逆行列計算装置および逆行列計算処理方法
CN112039786B (zh) * 2019-06-04 2021-11-19 清华大学 基于Torus网络的广播方法
US11206467B2 (en) * 2019-09-04 2021-12-21 Maged E. Beshai Global contiguous web of fused three-stage networks
US11616735B2 (en) * 2020-08-23 2023-03-28 Maged E. Beshai Deep fusing of clos star networks to form a global contiguous web
CN116821044B (zh) * 2023-08-17 2024-01-09 飞腾信息技术有限公司 处理系统、访存方法及计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system
US5331637A (en) * 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US6584075B1 (en) * 1997-06-30 2003-06-24 Sun Microsystems, Inc. Efficient caching of routing information for unicast and multicast connections
US6370145B1 (en) * 1997-08-22 2002-04-09 Avici Systems Internet switch router
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6112323A (en) * 1998-06-29 2000-08-29 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6598145B1 (en) * 1999-02-12 2003-07-22 Avici Systems Irregular network
US6853635B1 (en) * 2000-07-24 2005-02-08 Nortel Networks Limited Multi-dimensional lattice network
US7099323B1 (en) * 2000-12-20 2006-08-29 Nortel Networks Limited Method, apparatus and system for management of multicast routes for a plurality of routing protocols in a network device

Also Published As

Publication number Publication date
CA2436413A1 (en) 2002-09-06
CA2436413C (en) 2011-09-27
US20040081155A1 (en) 2004-04-29
JP2004533035A (ja) 2004-10-28
CN100499446C (zh) 2009-06-10
IL157514A0 (en) 2004-03-28
US7587516B2 (en) 2009-09-08
IL157514A (en) 2010-02-17
EP1374468A1 (en) 2004-01-02
EP1374468A4 (en) 2008-12-10
CN1493128A (zh) 2004-04-28
WO2002069550A1 (en) 2002-09-06
KR100598667B1 (ko) 2006-07-13
KR20030082598A (ko) 2003-10-22

Similar Documents

Publication Publication Date Title
JP4478390B2 (ja) クラス・ネットワーク経路指定
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
US9537772B2 (en) Flexible routing tables for a high-radix router
US5175733A (en) Adaptive message routing for multi-dimensional networks
JP4127791B2 (ja) コンピューティング構造のグローバル・ツリー・ネットワーク
EP0733237B1 (en) Multidimensional interconnection and routing network for an mpp computer
Chiang et al. Multi-address encoding for multicast
KR100259276B1 (ko) 대역폭확장이 가능한 상호연결망
JPH08503799A (ja) マルチプロセッサ・システムにおける方向順ルーティング
Stunkel et al. The SP2 communication subsystem
Libeskind-Hadas et al. Tree-based multicasting in wormhole-routed irregular topologies
Adda et al. Routing and fault tolerance in Z-fat tree
Lin et al. Adaptive multicast wormhole routing in 2D mesh multicomputers
Ni et al. A VLSI router design for hypercube multiprocessors
EP1360595A2 (en) Scaleable interconnect structure for parallel computing and parallel memory access
Sun et al. Barrier synchronization on wormhole-routed networks
Jantsch Communication performance in networks-on-chip
MM et al. Dynamic communication performance of a hierarchical torus network under non-uniform traffic patterns
Jurczyk et al. Interconnection networks for parallel computers
Kang et al. Implementing tree-based multicast routing for write invalidation messages in networks-on-chip
Hamdi Topological properties of the directional hypercube
Abali et al. Adaptive routing on the new switch chip for IBM SP systems
Demaine et al. Routing algorithms on static interconnection networks: A classification scheme
Wang et al. An efficient tree-based multicasting algorithm on wormhole-routed star graph interconnection networks embedded with hamiltonian path
Wang et al. Multipath-based multicasting strategies for wormhole-routed star graph interconnection networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070122

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070122

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070911

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070911

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071017

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080711

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100216

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees