JP4127791B2 - コンピューティング構造のグローバル・ツリー・ネットワーク - Google Patents

コンピューティング構造のグローバル・ツリー・ネットワーク Download PDF

Info

Publication number
JP4127791B2
JP4127791B2 JP2002568222A JP2002568222A JP4127791B2 JP 4127791 B2 JP4127791 B2 JP 4127791B2 JP 2002568222 A JP2002568222 A JP 2002568222A JP 2002568222 A JP2002568222 A JP 2002568222A JP 4127791 B2 JP4127791 B2 JP 4127791B2
Authority
JP
Japan
Prior art keywords
node
tree
virtual
network
virtual tree
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
JP2002568222A
Other languages
English (en)
Other versions
JP2004536372A (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 JP2004536372A publication Critical patent/JP2004536372A/ja
Application granted granted Critical
Publication of JP4127791B2 publication Critical patent/JP4127791B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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
    • 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

Description

本発明は、全般的には分散メモリ・メッセージ受渡並列コンピュータの設計およびシステム・ソフトウェアに関し、具体的には、たとえば大量並列分散メモリ・コンピュータで使用される個々のプロセッサを相互接続する新規の方法および装置に関する。
大量並列コンピューティング構造(「ウルトラスケール・コンピュータ」または「スーパーコンピュータ」とも称する)では、多数の計算ノードが、一般に、グリッド、格子、またはトーラスなどの非常に規則的な構造の形で相互接続される。
そのような大量並列システムで一般に直面する問題の1つが、多数のノードを伴う集合的な算術演算または論理演算の効率的な計算である。そのようなシステムで一般に直面する第2の問題が、すべてのノードによる限られた数の外部入出力の効率的な共用である。多数の計算ノードでの集合算術演算を用いる一般的な計算の1つの例が、グローバル合計に基づくグローバル内積を必要とする疎な線形方程式の反復解法である。
端で「ラップ」される単純な3次元最近傍相互接続を含む図1に示された3次元トーラス相互接続コンピューティング構造10は、ほとんどのタイプのプロセッサ間通信でよく機能するが、計算ノード12のそれぞれによって供給されるオペランドから単一の結果が計算されるリダクションなどの集合演算については、または外部入出力接続(図示せず)などの限られたリソースの効率的な共用については、それほどよく実行しない。
したがって、グローバル・リダクション計算などのグローバル算術演算、データ分配、同期化、および限られたリソースの共用を必要とするものを含む多数のクラスの動作を効率的に信頼性のある形で実行するために最適化された処理ノードの独自の相互接続を含む、ウルトラスケール・スーパーコンピューティング・アーキテクチャを提供することが、非常に望ましい。
トーラスなどの高速ネットワークの通常の接続性は、単純に、より長い待ち時間のゆえに、この目的に完全に適してはいない。
すなわち、物理トーラス相互接続へのツリー通信パターンの単なるマッピングは、隣接するツリー・ノードがトーラス上で隣接することが必要である場合に、必要以上に深いツリーをもたらし、あるいは、これらのノードがトーラス内で隣接しない時に、より長い待ち時間を有するツリーをもたらす。相互接続リソースが限られる時に最も効率的に集合演算を計算するためには、真のツリー・ネットワークすなわち、ノードの間の物理的相互接続が、ノードをツリーに形成するネットワークが必要である。
本発明の目的は、コンピューティング構造の個々の処理ノードを相互接続し、その結果、これらのノードが効率的に信頼性のある形でグローバル・リダクションを計算し、データを分配し、同期化し、限られたリソースを共用できるようにするシステムおよび方法を提供することである。
本発明のもう1つの目的は、ツリー相互接続として配置され、グローバル動作、算術演算、および集合動作を容易にする、大量並列分散メモリ・コンピュータの個々のプロセッサを相互接続する独立の単一の物理ネットワークを提供することである。
本発明のもう1つの目的は、物理ネットワークのサブツリーである仮想ツリー・ネットワークの1つまたは複数のノードに外部入出力およびサービス機能性を提供するグローバル・ツリー相互接続として配置される、大量並列分散メモリ・コンピュータの個々のプロセッサを相互接続する独立の単一の物理ネットワークを提供することである。そのようなグローバル・ツリー相互接続システムに、メッセージ受渡トーラスまたはグリッド・コンピューティング構造からメッセージ・トラフィックを離す専用の入出力ノードを含めることができる。
本発明によれば、ツリー・ネットワーク構造に従って相互接続された処理ノードの間での高速短待ち時間グローバル通信を可能にするシステムおよび方法が提供される。グローバル・ツリー・ネットワークによって、複数の相互接続された処理ノードを有するコンピュータ構造内で実行される並列アルゴリズム動作中に集合リダクション動作を実行することが、最適に可能にされる。リンクを介してツリーのノードを相互接続するルータ装置が含まれて、ツリーのノードでの短待ち時間グローバル処理動作の実行が容易になる。ツリー・ネットワーク内の全ノードのサブセットを構成する「仮想ツリー」の定義を可能にする構成オプションが含まれる。グローバル動作に、仮想ツリーのルート・ノードから葉ノードへのグローバル・ブロードキャスト動作(すなわち、下流方向へのグローバル・ブロードキャスト動作)、仮想ツリーの葉ノードからルート・ノードへのグローバル・リダクション動作(すなわち、上流方向へのグローバル・リダクション動作)、および仮想ツリーの任意のノードからルート・ノードへのポイントツーポイント・メッセージ受渡の1つまたは複数が含まれる。仮想ツリー・ネットワークの1つのノードが、入出力ノードに結合され、入出力ノードとして機能して、仮想ツリーの各ノードに外部システムとの入出力機能性を与える。グローバル・ツリー・ネットワークを構成して、同期式または非同期の形でグローバル・バリアおよび割込み機能性を提供することができる。したがって、たとえば並列コンピューティング・システムで使用される、並列アルゴリズム処理動作を、並列アルゴリズム動作のある動作相に従って最適に実行することができる。大量並列スーパーコンピューティング構造で実施される時に、グローバル・ツリー・ネットワークは、処理アルゴリズムの必要に従って、物理的および論理的に分割可能である。
大量並列コンピュータでは、計算ノードのすべてが、一般に、ファイル・システムなどの外部リソースへのアクセスを必要とする。限られた数の外部入出力接続を効率的に共用するという問題は、そのような接続を設けるコストが、個々の計算ノードのコストよりかなり高いので生じる。したがって、入出力接続を効率的に共用することによって、入出力帯域幅がシステム・スケーラビリティに関する制限的コスト要因にならないことが保証される。限られたプロセッサ間相互接続を仮定すると、平均待ち時間に関する単一リソース共用の最も効率的なネットワークは、共用リソースがツリーのルートにあるグローバル・ツリーである。
グローバル動作および集合動作に関して、単一の大きいツリーを使用して、すべてのプロセッサを相互接続することができる。しかし、ファイル・システム入出力は、入出力機能がルートにある、多数の小さいツリーを必要とする。大きいツリーには、複数のより小さいサブツリーが含まれるので、外部接続を大きいツリー内の適当なサイズのサブツリーのルート戦略的に配置することによって、ファイル・システム入出力に単一の大きいツリーを使用することができる。さらに、ファイル・システム入出力は、本発明によって使用可能にされ、集合動作には必要ない、ポイントツーポイント・メッセージングを必要とする。
有利なことに、本発明のグローバル・ツリー・ネットワークを組み込んだスケーラブル大量並列スーパーコンピュータは、生命科学の分野で実行される並列アルゴリズムによく適する。
本発明の装置および方法のさらなる特徴、態様、および長所は、以下の説明、請求項、および添付図面に関してよりよく理解される。
本発明は、コンピュータ構造、例えば広範囲のアプリケーションにテラOPS(1兆演算毎秒)程度の処理能力を引き渡すように設計された、3次元トーラスの形の新規の大量並列スーパーコンピュータ・アーキテクチャで実施されうる。この大量並列スーパーコンピュータ・アーキテクチャは、説明される例示的実施形態で、64×32×32個の3次元トーラスとして編成された65536個の処理ノードが含まれ、各処理ノードは、6つの隣接するノード12に接続される。図1に、8つのノード12からなるそのようなトーラスを示すが、3つのすべての次元に沿ってノード12の数を増やすことによって、この相互接続がどのようにスケーリングされるかが、明らかにわかる。現在の技術を用いると、このアーキテクチャを、通信よりかなり多くの計算を必要とするか、最近傍通信だけを必要とするアプリケーションに、数百テラOPSまで活用することができる。本発明を、スーパーコンピュータ以外の多数の他のコンピュータ構造で実施できることを理解されたい。
前に述べたように、トーラス処理ノードを接続する相互接続ネットワークは、ほとんどのタイプのプロセッサ間通信でよく機能するが、ノードのそれぞれによって供給されるオペランドから単一の結果が計算されるリダクションなどの集合演算については、それほどよく機能しない。
トーラスでの集合リダクション動作を実行する、最小待ち時間に関する最も効率的な機構は、真のツリー・ネットワークすなわち、ノード間の物理接続によってノードがツリーに形成されるネットワークを提供することである。
したがって、本発明の好ましい実施形態によれば、ノードASICごとに1つの複数の相互接続されたルータ装置を含むグローバル・ツリー・ネットワークが提供される。各ルータは、3つの「子」ポートおよび1つの「親」ポートを提供し、このポートのそれぞれが、選択的に使用可能にされる。2つの子ポートは、ツリー・トポロジを作成するのに十分である。より多くの子によって、ツリーの高さ、またはルートに達するのに必要な接続が減る。したがって、より多くの子によって、より多くの相互接続を犠牲にして、集合動作の待ち時間を減らすことができる。ツリーは、親を有しない(すなわち、その親ポートに何も接続されていない)「ルート」ノードから開始することによって形成される。ルート・ノードは、ツリーの最上位「レベル」を形成する。次の下のレベルは、1つまたは複数のルートの子ポートを他のルータの親ポートに接続することによって形成される。この場合に、ルート・ノードは、その下のレベルのノードの「親」である。この処理は、子を有しない(すなわち、そのルータの子ポートのどれにも何も接続されない)ノードに達するまで再帰的に継続される。これらのノードを、ツリーの「葉」と称する。たとえば、図2の例のツリー・ネットワーク100に示されているように、ノードB110が、ルート・ノードであり、葉は、ルート・ノードから最も遠い最下部のノード120である。本明細書では、ツリーを上にルートに向かって移動するデータを、「アップ・ツリー」トラフィックと称し、ルートから離れて葉に向かって移動するデータを、「ダウン・ツリー」トラフィックと称する。
下で詳細に説明するように、ツリー・ネットワークに、ルータ(ノード)を相互接続するリンク上の仮想チャネルによってサポートされる、複数の独立の「仮想ネットワーク」を含めることができる。リンクを共用するために、仮想ネットワーク・データ・ストリームが、パケット化され、公平な形でインターリーブされる。仮想ネットワークのそれぞれが、それ自体のストレージ・リソースを有し、ある仮想ネットワークでの機能デッドロックは、他の仮想ネットワークに影響しない。
各仮想ネットワークを、仮想ツリー(またはサブツリー)にさらに再分割することができ、この仮想ツリーは、独立(各仮想ネットワーク内で)または非独立とすることができる。任意のノードを、16個の仮想ツリーの1つのルートになるように構成することができる。仮想ツリーには、ルートとして指定されたノードと、a)同一の仮想ツリー番号のルートとしても指定されたノードと、b)a)を満足するノードの子とを除く、ルートの子のすべてが含まれる。したがって、同一の仮想ツリー番号を有する仮想ツリーは、オーバーラップすることができないが、異なる番号を有する仮想ツリーは、オーバーラップすることができる。
ノードを、任意の数の仮想ツリーに参加するか、全く参加しないように構成することができる。参加する場合に、ノードは、リダクション動作にオペランドを与えるなど、すべてのツリー・セマンティクスに従うことが期待される。ノードは、複数の仮想ツリーに参加することができるので、ノードが仮想ネットワークに注入するすべてのパケットについて、仮想ツリー番号を指定しなければならない。
本発明に従って使用される例のツリー構造100を、図2に示す。具体的に言うと、図2には、35個のノード(円によって表される)と、35個のノードのすべてを接続するツリー・ネットワーク100を含む仮想ツリー・ネットワークの例が示されている。ツリー・ネットワーク100は、これから詳細に示すように、グローバル・リダクションおよびブロードキャストに使用される。入出力および外部システムとのリソース共用のために、図2の例の仮想ネットワーク100のノードは、仮想ツリー1から5として図2で参照される5つのオーバーラップしない仮想サブツリーにグループ化される。すなわち、仮想サブツリーのそれぞれが、円の中の異なる番号によって示される。各めいめいのサブツリー1から5のめいめいのルートにあるノード111、112、113、114、および110には、外部システム(たとえばホストまたはファイル・システム)へのインターフェース接続が含まれる。したがって、各入出力接続では、それがルートに接続されるサブツリーの7つのノードのすべてのトラフィックが処理される。好ましい実施形態では、各サブツリーのルートにあるノードが、入出力専用であるが、これが必ず必要なわけではない。
図2および、そのルートにノードA 111がある仮想ツリー番号1を参照すると、この構造から外にデータを送ることを望む通常のノード115は、メッセージを、上に、仮想ツリーのルート・ノード111に渡し、このルート・ノード111で、メッセージが外部接続に転送される。外部ネットワーク接続に達するデータを、本明細書で詳細に説明するように、他のすべてのノードをフィルタ・アウトするブロードキャスト・フィルタを使用することによって、115などの特定のノードに転送することができる
図2に戻ると、一般に、入出力トラフィックは、そのルートに外部接続を有する仮想ツリー内に残る。しかし、外部接続に障害が発生する場合に、外部接続を有するもう1つのノードを、フェイルオーバに使用することができる。たとえば、図2のノードA 111への外部入出力接続に障害が発生する場合に、ルートがノードAであるサブツリー内のノードのすべてが、ノードB 110を介して外部のファイル・システムまたはホスト・システムと通信することができる。
ネットワーク100内に作られるハードウェア機能性に、整数加算、整数最大値、最小値、ビット単位論理AND、ビット単位論理OR、ビット単位論理XOR(排他的OR)、およびブロードキャストが含まれるが、これに制限されないことを理解されたい。これらの機能は、最短待ち時間が可能な形で実施される。たとえば、加算機能は、ワードの最下位バイトがまずグローバル・ネットワークに送られることをもたらす。この下位バイトは、即座に他のソースからの他方のバイトに加算され(ハードウェア内で)、結果は、ツリーの次のレベルにシフト・アウトされる。この形で、たとえば8バイト・ワードが、上位バイトがシフト・アウトされる前に、既にツリーの複数の層を上に進行している。最小値および減算などの他の算術機能を、データの適当な事前条件設定によって達成することができる。浮動小数点合計も、ツリーでの2パスによって、グローバル・コンバイニング・ツリーなしでこの結果を達成する方法と比較して非常に短い待ち時間で、達成することができる。必ず、ツリーでの算術演算または論理演算が、ツリーの上への流れをもたらし、ツリーの上部ですべての結果が組み合わされ、後続のルートからツリーの下への流れがもたらされ、結果がすべての分岐に分配される。後で説明するように、ある種の分岐を、制御された形で計算から省略することができる。
好ましい実施形態では、本発明のグローバル・ツリー・ネットワークに、ノードごとに1つの、それぞれがデータの移動ならびに集合リダクションの計算を行う、相互接続されたルータが含まれる。図3に、図2のツリー・ネットワークのルータ装置200の基本的なアーキテクチャを示す。図3からわかるように、各ルータ装置200には、複数の、たとえば4つの、ポートが含まれ、これらのポートを、別のルータに接続する、または接続されない時に使用不可にするのいずれかが可能である。図3からわかるように、ルータは、4つの入力ポート210aから213aと、対応する4つの出力ポート210bから213bを有して、3ツリーを構成できるデータパスを形成する。一実施形態では、4つのポートの1つだけを、親ノードへの接続として指定することができ、残りのポートのうちの3つまでを、子ノードに接続することができる。ツリーの最下部の葉ノードは、親に接続された1つのポートだけを使用可能にされ、ツリーのルートは、親を使用可能にされるのではなく、少なくとも1つの子を使用可能にされる。データパスが、図3に示されているようにクロスバ・スイッチ215を介して作成されることを理解されたい。
説明のために、図3のルータ装置200では、データが必ず左から右に流れる。したがって、パケットは、ローカル注入FIFO202またはルータの入力ポート210aから213aの1つのいずれかからルータ装置200に入ることができる。パケットがポートに入る場合に、そのパケットは、それが2つの仮想ネットワークのどちらであるかに応じて、2つの入力FIFOの1つ(たとえばAまたはB)に置かれる。パケットは、最終的に、アップ・ツリー選択ブロック220内に設けられるALUユニット240によって実行される論理演算および算術演算か、ダウン・ツリー選択ブロック230のいずれかによって消費される。アップ・ツリー論理またはダウン・ツリー選択の結果は、4つの出力ポート210bから213bのすべてにブロードキャストされ、これらの出力ポートのそれぞれは、動作に応じてそれを処理することもしないこともでき、宛先のポートに出力する。選択ブロック220および230には、パケット(1つまたは複数)がルータを介して移動されるかどうかを判断するアービタ回路(図示せず)が含まれる。アップ・ツリーとダウン・ツリーで同時にトラフィックがある場合があることを理解されたい。
ツリーへのソフトウェア・アクセスは、注入インターフェース202および受取インターフェース204と、1組の構成レジスタ218によってもたらされる。一般に、構成レジスタ218は、ルータを構成し、その状況を判定するのに使用され、注入インターフェース202および受取インターフェース204は、アプリケーションによって、それぞれオペランドを供給し、結果を受け取るのに使用される。具体的に言うと、各仮想ツリーは、各ルータの仮想ツリー構成レジスタ218に適当な値を保管することによって構成され、この仮想ツリー構成レジスタ218は、仮想ツリーごとに1つある。仮想ツリーのそれぞれについて、構成レジスタによって、ノードが、1)ツリーのルートとして機能するか否か、2)ツリーに参加するか否か、および/または3)アップ・ツリー・ブロードキャスト・パケットの受取を強制するか否かを指定できるようになる。さらに仮想ツリー構成レジスタ218によって、子のうちのどれが、ツリーに参加する、またはその下に参加するノードを有するのいずれかであることを指定できるようになる。これは、疎なツリーをサポートするのに必要である。
アプリケーションは、CPU注入202インターフェースおよびCPU受取204インターフェースを介してツリーと相互作用する。データは、明示的または直接メモリ・アクセス(DMA)を介するのいずれかで、パケットとして注入インターフェース202に保管されることによって、ツリーに送られる。同様に、結果は、明示的にまたはDMAを介するのいずれかで、受取インターフェース204からパケットとして読み取られることによって、ツリーから除去される。
図示されてはいないが、ルータの間で、たとえばスラックの価値がある複数のパケットを許可するトークンベースのプロトコルを使用して、フロー制御技法が実施されることを理解されたい。すなわち、使用可能にされているすべての出力ポート210bから213bが、別のルータの単一の入力ポートに接続される。一般に、その入力ポートの各仮想チャネルは、出力ポートの対応する仮想チャネルに、その入力FIFO内のバッファ空間の価値があるすべてのパケットに関するトークンを与える。出力ポートは、パケットを送出する際にトークンを消費し、入力ポートは、FIFO空間を解放するかのように出力ポートにトークンを返す。したがって、出力ポートは、使用可能なトークンを有する限り、パケットの送出を継続することができる。
好ましい実施形態のルータ装置内の演算論理装置(ALU)ブロック240は、4つのオペランド・サイズに対する5つのリダクション動作を実行するために使用可能にされる。動作は、整数加算、整数最大値、ビット単位論理OR、ビット単位論理XOR、およびビット単位論理ANDである。オペランド・サイズは、32ビット、64ビット、128ビット、および2048ビットである。図3に示されたアーキテクチャで、動作またはオペランド・サイズに関する異なる選択が除外されないことを理解されたい。具体的に言うと、ソフトウェアを使用して、動作およびオペランド・サイズを選択する。
通常、リダクション動作に参加するノードは、CPU注入FIFO202に保管することによって、「リダクション」タイプのパケットを注入する。リダクションは、パケットの粒度で実行され、パケットは、一実施形態によれば、たとえば256バイトのペイロードを担持する。個々のパケットは、必ず同一サイズのオペランドを担持し、オペランドのすべてに対して同一のリダクションを実行する。どのノードでも、各仮想ツリーのリダクションに参加しないように構成することができる。この場合に、ノードは、リダクションにデータを供給せず、結果を受け取らない。
仮想ツリーのそれぞれについて、ルータ装置200は、子のどれがリダクションに参加するかを指定するように構成される。ルータ装置は、そのルータの参加する子のそれぞれおよびローカル注入FIFO(ローカル・ノードが参加していないのでない限り)からリダクション・パケットを受け取る時に、パケットの内容に対して、指定されたリダクション動作を計算し、結果を単一のパケットとして親に送る。すなわち、各パケットの第1ワードを組み合わせて、結果パケットの第1ワードを作る、各パケットの第2ワードを組み合わせて、結果パケットの第2ワードを作り、以下同様である。この形で、グローバル結果が、ツリーの上へ再帰的に計算され、最終的に、リダクション・ツリーのルート・ノードで、結果を含む単一のパケットとして完了する。
どのノードでも、仮想リダクション・ツリーのルートとして構成できることが好ましい。リダクションがそのノードに達したならば、単一の組み合わされたパケットが、受け取られるか、すべての参加する子にブロードキャストされるか、その両方である。ルータは、ダウン・ツリーの子ノード宛のリダクション・パケットを受け取る時に、そのパケットのコピーをその子のそれぞれに転送する。ルータは、その仮想ツリー上のリダクションに参加するように構成されている場合に、そのパケットのコピーをローカル受取FIFO204にも置く。
好ましい実施形態では、物理的な相互接続の幅が、オペランドの幅より狭く、したがって、オペランドは、直列化された形でツリー上で送られる。可能な最短待ち時間を達成するために、整数オペランドは、最下位ビットを先に送られ、その結果、オペランドが到着する際に結果を計算でき、転送もできるようにされる。この形で、結果は、潜在的に、その上位ビットがシフト・アウトされる前にツリーの数レベル上に進行し、すべてのノードにわたる非常に短い待ち時間がもたらされる。数は、異なる最上位のビットに基づいて異なることがわかるので、パイプライン化された最大値演算が、最上位ビットを含むワードから開始して計算されることを理解されたい。ハードウェアは、注入され受け取られる最大値オペランドを自動的に逆転し、その結果、計算が、最上位ビットから最下位ビットへと実行される。
整数リダクションをさらに使用して、浮動小数点リダクションを計算することができる。たとえば、グローバル浮動小数点合計を、ツリーを2回使用することによって実行することができ、この場合に、1回目で、すべての指数の最大値を求め、2回目で、すべてのシフトされた仮数を加算する。
前に述べたように、本発明のツリー・ネットワーク100は、効率的なグローバル・ブロードキャストを実行するのに理想的な構造である。ハードウェア・ブロードキャスト動作は、必ずツリーのルートから実行されるが、どのノードでも、まずルート・ノードのルータ装置にポイントツーポイント「ブロードキャスト」タイプ・メッセージを送ることによってブロードキャストすることができ、このメッセージによって、ブロードキャストが自動的に開始される。グローバル・ブロードキャストでは、大部分は、リダクションの規則および制限が尊重されるが、アップ・ツリーでの挙動は異なる。どのノードでも、ブロードキャスト・タイプのパケットを仮想ツリーに注入することによって、ペイロードのブロードキャストを実行することができる。パケットは、仮想ツリーのルートとして構成されたノードに達するまで、変更されずにツリーを上へ移動する。ルートでは、パケットが向きを換え、その仮想ツリーの参加する子のすべてにブロードキャストされる。したがって、そのパケットは、仮想ツリー上のリダクションに参加するノードによってのみ受け取られる。
本発明によるブロードキャストの受取は、さらに、パケット内に含まれる情報をフィルタリングすることによって制御される。好ましい実施形態のフィルタリング機構は、パケットに含まれる値を、各ルータに保管された事前に構成された値と突き合わせ、値が一致する場合に限ってパケットを受け取ることによって機能する。一般に、システム内のすべてのノードに、一意の値(アドレス)が割り当てられ、したがって、このブロードキャスト・フィルタリング機構によって、ルート・ノードからその下の単一のノードにメッセージを送れるようになる。一意でないアドレスを使用して、ノードのサブセットによる受取を引き起こすこともできる。ブロードキャスト・フィルタリングを一般化できる多数の形がある。たとえば、アドレスの代わりにビット・ベクトルを使用することによって、ノードの複数のばらばらの構成可能なサブセットがブロードキャストを受け取れるようになる。
外部入出力接続の効率的な共用は、ブロードキャスト・フィルタリングと「ルート」パケット・タイプの組合せによってもたらされる。ルートタイプ・パケットは、仮想ツリーのルートとして指定されたノードに出会うまで常に仮想ツリーを上に移動し、そのノードで、無条件で受け取られる。これによって、ルート以外のノードがルートにメッセージを送れるようになり、ルートで、メッセージを外部接続に転送することができる。外部接続に達するデータを、所期の宛先と一致するアドレスを用いたフィルタリング・ブロードキャストを使用して、特定の非ルート・ノードに転送することができる。
外部接続に障害が発生する場合に、その接続を使用するノードは、ツリーの上側で外部接続を有する次のノードにフェール・オーバすることができる。ノードからのトラフィックに関して、これは、単に、障害を発生した外部接続を有するノードを再構成し、その結果、そのノードが、もはや仮想ツリーのルートにならないようにし、フェールオーバ・ノードを新しいルートとして再構成することによって実行される。ノードへのトラフィックは、より複雑である。というのは、フェールオーバ・ルートからのブロードキャストが、障害を発生したノードの下の子だけではなく、フェールオーバ・ルートの下のすべての子に向かうからである。たとえば、図2のノードA 111が、ノードB 110にフェール・オーバする場合に、ノードBからのパケットが、ツリー全体にブロードキャストされるようになる。
不要なトラフィックを防ぐために、どのルータ装置でも、各仮想ツリーのダウン・ツリー・トラフィックを独立にブロックするように構成することができる。ブロックするように構成された仮想ツリーのアップ・ツリー・リンクのルータに入るパケットは、単純に捨てられる。たとえば、図2のノードA 111の下のノードが、ツリー1という符号を付けられた仮想ツリーを使用して、ノードA 111の接続を使用して外部入出力を送受すると仮定する。ノードAでの接続をノードBにフェール・オーバするために、ノードBを、ノードAの代わりに仮想ツリー1のルートになるように構成し、ノードCおよびノードDを、仮想ツリー1のダウン・ツリー・トラフィックをブロックするように構成する。このダウン・ツリー・ブロック機構を、仮想ツリーの枝刈りに一般的に使用できることを理解されたい。
どのパケットでも、割込み要求を付加してツリー・ネットワークに注入することができる。これの最終的な効果は、そのパケットを受け取るすべてのノードでマスク可能割込みを引き起こすことであり、あるいは、リダクションの場合には、パケットから結果が計算される。リダクション結果は、その結果に寄与する注入されたパケットのどれかによって割込みが要求された場合に、割込みを引き起こす。さらに、グローバル・リダクション動作を使用して、割込み機構を用いてソフトウェア・バリアを実行することができる。簡単に言うと、各ノードは、その割込みフラグをクリアし、その後、グローバル・リダクションに寄与することによって、バリアに入る。このノードは、割込みフラグをポーリングするか、割込みを受け取ることによって、バリアの完了を検出する。
本発明のツリー・ネットワークでは、基本的な順序付けの規則に従う動作である限り、動作の正しい完了が保証される。すなわち、パケットは、受け取られた順序でルータ200によって処理されるので、仮想ネットワークのデッドロックは、仮想ツリーでの動作に参加するノードが、同一の順序でリダクション・オペランドを注入しないか、オペランドを注入できない場合に発生する。同様に、デッドロックは、2つの仮想ツリーが、同一の仮想ネットワークでオーバーラップし、オペランド注入が、仮想ネットワークの厳密な順序付け規則に違反する場合に発生する可能性がある。ブロードキャスト動作またはポイントツーポイント・メッセージング動作に対する順序付け制限がなく、これらの動作を、リダクションとインターリーブできることが好ましい。
正しく順序付けられた動作の保証された完了は、ハードウェア・エラー回復機構によってもたらされる。簡単に言うと、各ルータは、グローバル・ツリー・ネットワーク・リンクを介して送られるパケットが、エラーなしで受け取られたことの肯定応答を受け取るまで、それらのパケットのすべてのコピーを保存する。パケットCRC付きのスライディング・ウィンドウ・プロトコルなど、破壊されたパケットの検出の機構と、保存されたコピーを使用してそれらのパケットを再送出させる機構とを含む、リンクレベル通信プロトコルを実施することができる。
前に述べたように、フロー制御は、トークンベースの通信プロトコルの使用を介して維持される。「下流」ルータにパケットを送る「上流」ルータは、下流ルータの空き記憶容量を表す個数のトークンを有する。上流ルータは、パケットを送る時に、必ず、トークンを消費し、トークンが残っていなければパケットを送ることができない。逆に、下流ルータは、記憶空間を解放した時に、必ず上流ルータにトークンを発行する。記憶空間とパケット待ち時間の間のバランスによって、リンクが常に使用中の状態に保たれることが保証される。
通常は単一のパケットが複数のダウン・ツリー・リンクを介して送られ、ローカルに受け取られるダウン・ツリー・ブロードキャストでは、フロー制御を実施して、ダウン・ツリー・リンクのすべてでトークンが使用可能であり、CPU受取FIFO204に余地があるようになるまで、パケットの進行を防ぐことができる。しかし、この保守的な手法は、単一の宛先に向けられたフィルタリング・ブロードキャストのスループットに影響する可能性がある。というのは、その宛先が、トークンを有するリンクの下にあるが、パケットが、トークンを有しない別のリンクで待たなければならない可能性があるからである。したがって、好ましい実施形態では、ツリー・ネットワークが、「積極的な」ブロードキャストを実行し、このブロードキャストでは、基本的に、個々のダウン・ツリー・リンクでのフロー制御が分離される。図3を参照すると、パケットは、適当なダウン・ツリー・リンクおよび仮想ネットワークのすべてで十分な記憶空間が使用可能になると、すぐに、ダウン・ツリー・リンクおよび仮想ネットワークの出FIFO250に転送される。その後、各出FIFO250は、トークンが使用可能になる時に、出力ポート210bから213bに個別にドレーンされる。前に説明したように、再送出を介する伝送エラー回復のために、いずれにせよパケットの個々のコピーを各出FIFO250に置かなければならないことに留意されたい。
図1から3に関して本明細書で説明したように、各処理ノード12が、システムオンアチップ・プロセスに基づく、すなわち、経路指定機能を含むコンピュータ・ノードのすべての機能が、単一のASICに集積され、ノード・サイズに関する劇的なサイズおよび電力の削減がもたらされる。このスーパーコンピュータ・アーキテクチャをさらに活用して、ノード密度を高め、これによって、計算機の総合的なコスト/性能を下げることができる。各ノードで、PowerPC 440組込み処理コア、浮動小数点コア、組込みDRAM、統合外部DDRメモリ・コントローラ、メッセージ・プロセッサ、イーサネット(R)・アダプタ、ならびにネットワーク・ルータを含むがこれに制限されない、多数の機能がコンピュータASICに組み込まれることが好ましい。一実施形態では、同一の計算ASICノードを、ファイルサーバ通信動作および入出力動作を処理するために、コンピュータ・ノードのサブセット、たとえば64個のノードに関連する入出力ノードとして使用することができる。すなわち、入出力ノードは、コンピュータ・ノードに非常に似ているが、たとえばギガビット・イーサネット(R)などの外部ネットワーク・インターフェースの他に、外部メモリ構成に関してのみ異なる場合がある。本明細書に記載のツリー・ネットワーク・ルータが、好ましい実施形態の集積されたデバイスの他に、独立の装置として機能することができることを理解されたい。
本発明の例示的な事前に形成された実施形態に関して本発明を具体的に図示し、説明してきたが、形態および詳細における前述および他の変更を、本発明の趣旨および範囲から逸脱せずに行うことができ、本発明の趣旨および範囲が、請求項の範囲のみによって制限されなければならないことを理解されたい。
8つの計算ノードを相互接続する3次元トーラス・ネットワークを示す図である。 35個のノード(円によって表される)およびノードのすべてを接続するツリー・ネットワーク100を含む通常のシステムの例を示す図である。 図2のグローバル・ツリー・ネットワークで実施されるルータ装置の基本的なアーキテクチャを示す図である。

Claims (6)

  1. 複数の処理ノードを含むコンピューティング構造で実行される並列アルゴリズム動作中に、集合リダクション、ブロードキャストおよびファイル・システム入出力のためにポイントツーポイント・メッセージ受渡を実行する装置であって、
    前記ノードをツリー構成で相互接続する経路指定装置を含むグローバル・ツリー・ネットワークを含み、
    前記ツリー構成が、1つまたは複数のその仮想ツリー・ネットワークを含み、前記仮想ツリー・ネットワークの夫々が、ルート・ノードと、該ルート・ノードの子とを含み、該ルート・ノードが、外部システムへの接続を含む入出力ノードであり、前記入出力ノードが、前記第1ネットワークで実行される処理と独立に、仮想ツリー・ネットワークに関する入出力動作を実行し、前記グローバル・ツリー・ネットワークにおいて、指定された仮想ツリー・ネットワークのルート・ノードから葉ノードへのグローバル・ブロードキャスト動作と、前記仮想ツリー・ネットワーク内の葉ノードからルート・ノードへのグローバル・リダクション動作と、前記仮想ツリーの任意のノードから前記仮想ツリーのルート・ノードへのポイントツーポイント・メッセージ受渡との1つまたは複数を含むグローバル処理動作とが行われ、
    それによって、前記コンピューティング構造内で短待ち時間通信が提供される、
    装置。
  2. 各ノードがルータを含み、前記ルータが、仮想ツリー・ネットワークの他のノードからパケットを受け取る入力装置と、前記仮想ツリー・ネットワークの他のノードにパケットを転送する出力装置と、パケットを前記仮想ツリー・ネットワークに注入するローカル注入装置と、前記仮想ツリー・ネットワークからパケットを除去するローカル受取装置とを含み、前記ルータが、前記仮想ツリー・ネットワークに参加するように或いは参加しないように前記ルータを構成するための構成レジスタをさらに含む、請求項1に記載の装置。
  3. 前記構成レジスタが、リダクション動作に関する仮想ツリー・ネットワークのルートとしての前記ノードの参加を指定する、請求項2に記載の装置。
  4. 前記構成レジスタが、さらに、リダクション動作中のオペランドの供給に関する入力装置およびローカル注入装置の参加を指定する、請求項3に記載の装置。
  5. 前記ルータが、前記仮想ツリー・ネットワークに参加する場合に、参加する入力装置およびローカル注入装置によって受け取られるパケット内容に対する指定されたリダクション動作を計算する手段と、前記出力装置を介してそのノードの上流の親ノードへ計算結果を伝送する手段とをさらに含む、請求項4に記載の装置。
  6. 前記ルート・ノードでの単一パケットとしての完了のために、グローバルに組み合わされた結果が前記仮想ツリー・ネットワークで上に計算されることを再帰的に引き起こされる、請求項5に記載の装置。
JP2002568222A 2001-02-24 2002-02-25 コンピューティング構造のグローバル・ツリー・ネットワーク Expired - Fee Related JP4127791B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
PCT/US2002/005586 WO2002069168A1 (en) 2001-02-24 2002-02-25 A global tree network for computing structures

Publications (2)

Publication Number Publication Date
JP2004536372A JP2004536372A (ja) 2004-12-02
JP4127791B2 true JP4127791B2 (ja) 2008-07-30

Family

ID=68499836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002568222A Expired - Fee Related JP4127791B2 (ja) 2001-02-24 2002-02-25 コンピューティング構造のグローバル・ツリー・ネットワーク

Country Status (8)

Country Link
US (1) US7650434B2 (ja)
EP (1) EP1381959A4 (ja)
JP (1) JP4127791B2 (ja)
KR (1) KR100553143B1 (ja)
CN (1) CN100476785C (ja)
CA (1) CA2437661A1 (ja)
IL (1) IL157512A0 (ja)
WO (1) WO2002069168A1 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259607A1 (en) * 2001-09-13 2006-11-16 Network Foundation Technologies, Llc System and method for distributing data over a computer network
US8626957B2 (en) * 2003-08-22 2014-01-07 International Business Machines Corporation Collective network for computer structures
WO2006020298A2 (en) * 2004-07-19 2006-02-23 Blumrich Matthias A Collective network for computer structures
US7478156B1 (en) * 2003-09-25 2009-01-13 Juniper Networks, Inc. Network traffic monitoring and reporting using heap-ordered packet flow representation
CA2927771C (en) * 2004-07-09 2020-08-04 Network Foundation Technologies, Llc Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
JP4704252B2 (ja) 2006-03-14 2011-06-15 富士通株式会社 ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US20070242611A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置
US7953684B2 (en) * 2007-01-31 2011-05-31 International Business Machines Corporation Method and system for optimal parallel computing performance
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
CN101311917B (zh) * 2007-05-24 2011-04-06 中国科学院过程工程研究所 一种面向粒子模型的多层直连集群并行计算系统
CN103209154B (zh) * 2007-07-20 2016-12-28 蓝色多瑙河系统公司 利用相位同步本地载波产生多点信号的方法和系统
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US8296457B2 (en) * 2007-08-02 2012-10-23 International Business Machines Corporation Providing nearest neighbor point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer
US8423663B2 (en) 2007-08-06 2013-04-16 International Business Machines Corporation Providing full point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US8381220B2 (en) * 2007-10-31 2013-02-19 International Business Machines Corporation Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization
GB0803238D0 (en) * 2008-02-22 2008-04-02 Isis Innovation Parallel processing
US7958184B2 (en) * 2008-03-04 2011-06-07 International Business Machines Corporation Network virtualization in a multi-node system with multiple networks
US8108467B2 (en) * 2008-06-26 2012-01-31 International Business Machines Corporation Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
JP5077104B2 (ja) * 2008-06-30 2012-11-21 富士通株式会社 ネットワーク障害検知プログラム、システム、及び方法
US8194678B2 (en) 2008-07-21 2012-06-05 International Business Machines Corporation Providing point to point communications among compute nodes in a global combining network of a parallel computer
US8121816B2 (en) * 2008-08-13 2012-02-21 Verizon Patent And Licensing Inc. Identifying causes of service level agreement performance violations
US8387064B2 (en) 2008-10-09 2013-02-26 International Business Machines Corporation Balancing a data processing load among a plurality of compute nodes in a parallel computer
JP5540609B2 (ja) 2009-09-01 2014-07-02 富士通株式会社 並列計算システムおよび通信制御プログラム
US9110860B2 (en) * 2009-11-11 2015-08-18 Mellanox Technologies Tlv Ltd. Topology-aware fabric-based offloading of collective functions
US8103910B2 (en) * 2009-11-13 2012-01-24 International Business Machines Corporation Local rollback for fault-tolerance in parallel computing systems
US8571834B2 (en) * 2010-01-08 2013-10-29 International Business Machines Corporation Opcode counting for performance measurement
US8811417B2 (en) * 2009-11-15 2014-08-19 Mellanox Technologies Ltd. Cross-channel network operation offloading for collective operations
US8904118B2 (en) 2011-01-07 2014-12-02 International Business Machines Corporation Mechanisms for efficient intra-die/intra-chip collective messaging
US20120179896A1 (en) 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
US9195550B2 (en) 2011-02-03 2015-11-24 International Business Machines Corporation Method for guaranteeing program correctness using fine-grained hardware speculative execution
US8898289B1 (en) * 2011-03-22 2014-11-25 Netapp, Inc. Distributed event processing method and architecture
EP2690562A4 (en) * 2011-03-22 2017-03-01 Fujitsu Limited Parallel computing system and control method of parallel computing system
CN102141975B (zh) * 2011-04-01 2013-10-09 华为技术有限公司 计算机系统
WO2012106929A1 (zh) 2011-07-26 2012-08-16 华为技术有限公司 计算机系统及其配置时钟的方法
CA2864997A1 (en) * 2012-02-20 2013-08-29 Springlinc Llc System for creating an entertainment network conglomerate via a global computer network and methods thereof
US9665531B2 (en) * 2012-06-13 2017-05-30 International Business Machines Corporation Performing synchronized collective operations over multiple process groups
US9160607B1 (en) 2012-11-09 2015-10-13 Cray Inc. Method and apparatus for deadlock avoidance
CN105190579B (zh) * 2013-03-15 2018-04-06 英特尔公司 一种用于实现线路速度互连结构的方法
US9405724B2 (en) * 2013-06-28 2016-08-02 Intel Corporation Reconfigurable apparatus for hierarchical collective networks with bypass mode
US20150091909A1 (en) * 2013-09-30 2015-04-02 Alcatel Lucent Systems And Methods For Distance Approximation In Graphs
US9495204B2 (en) * 2014-01-06 2016-11-15 International Business Machines Corporation Constructing a logical tree topology in a parallel computer
US10360050B2 (en) * 2014-01-17 2019-07-23 International Business Machines Corporation Simulation of high performance computing (HPC) application environment using virtual nodes
US9553784B2 (en) 2014-07-29 2017-01-24 International Business Machines Corporation Selection of message passing collectives in presence of system noise
CN104184828B (zh) * 2014-09-09 2018-05-11 清华大学 混合网络系统、通信方法和网络节点
US10284383B2 (en) 2015-08-31 2019-05-07 Mellanox Technologies, Ltd. Aggregation protocol
US10521283B2 (en) 2016-03-07 2019-12-31 Mellanox Technologies, Ltd. In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives
US10425358B2 (en) * 2016-09-29 2019-09-24 International Business Machines Corporation Network switch architecture supporting multiple simultaneous collective operations
CN107835175B (zh) * 2017-11-09 2020-09-22 深圳市云盾科技有限公司 采用平衡二叉树算法的网络连接跟踪方法
US11277455B2 (en) 2018-06-07 2022-03-15 Mellanox Technologies, Ltd. Streaming system
CN111475250B (zh) * 2019-01-24 2023-05-26 阿里巴巴集团控股有限公司 一种云环境下的网络优化方法和装置
CN109857810B (zh) * 2019-02-02 2023-06-23 立旃(上海)科技有限公司 基于区块链的数据同步装置及方法
US11625393B2 (en) 2019-02-19 2023-04-11 Mellanox Technologies, Ltd. High performance computing system
EP3699770A1 (en) 2019-02-25 2020-08-26 Mellanox Technologies TLV Ltd. Collective communication system and methods
GB2586277B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Broadcasting event messages in a system on chip
CN110690991B (zh) * 2019-09-10 2021-03-19 无锡江南计算技术研究所 一种基于逻辑树的无阻塞网络归约计算装置、方法
US11750699B2 (en) 2020-01-15 2023-09-05 Mellanox Technologies, Ltd. Small message aggregation
US11252027B2 (en) * 2020-01-23 2022-02-15 Mellanox Technologies, Ltd. Network element supporting flexible data reduction operations
CN111770173B (zh) * 2020-06-29 2022-09-06 中国人民解放军国防科技大学 一种基于网络控制器的归约方法及系统
US11876885B2 (en) 2020-07-02 2024-01-16 Mellanox Technologies, Ltd. Clock queue with arming and/or self-arming features
US11556378B2 (en) 2020-12-14 2023-01-17 Mellanox Technologies, Ltd. Offloading execution of a multi-task parameter-dependent operation to a network device
JP2022108373A (ja) * 2021-01-13 2022-07-26 富士通株式会社 情報処理装置、情報処理方法、およびシステム
US11922237B1 (en) 2022-09-12 2024-03-05 Mellanox Technologies, Ltd. Single-step collective operations

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59140694A (ja) * 1983-01-31 1984-08-13 Sharp Corp ダイナミツクramのリフレツシユ方法
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4843540A (en) 1986-09-02 1989-06-27 The Trustees Of Columbia University In The City Of New York Parallel processing method
US4845744A (en) 1986-10-16 1989-07-04 American Telephone And Telegraph Company, At&T Bell Laboratories Method of overlaying virtual tree networks onto a message passing parallel processing network
US5191578A (en) * 1990-06-14 1993-03-02 Bell Communications Research, Inc. Packet parallel interconnection network
US5353412A (en) * 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5367692A (en) * 1991-05-30 1994-11-22 Thinking Machines Corporation Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US5923593A (en) * 1996-12-17 1999-07-13 Monolithic Systems, Inc. Multi-port DRAM cell and memory system using same
KR100272108B1 (ko) * 1998-10-13 2000-11-15 윤종용 Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러
JP3708801B2 (ja) * 2000-06-16 2005-10-19 松下電器産業株式会社 半導体記憶装置

Also Published As

Publication number Publication date
US7650434B2 (en) 2010-01-19
EP1381959A4 (en) 2008-10-29
US20040078493A1 (en) 2004-04-22
KR20040002870A (ko) 2004-01-07
EP1381959A1 (en) 2004-01-21
JP2004536372A (ja) 2004-12-02
WO2002069168A1 (en) 2002-09-06
CN1493040A (zh) 2004-04-28
CA2437661A1 (en) 2002-09-06
IL157512A0 (en) 2004-03-28
CN100476785C (zh) 2009-04-08
KR100553143B1 (ko) 2006-02-22

Similar Documents

Publication Publication Date Title
JP4127791B2 (ja) コンピューティング構造のグローバル・ツリー・ネットワーク
US8001280B2 (en) Collective network for computer structures
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
US10069599B2 (en) Collective network for computer structures
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
Mohapatra Wormhole routing techniques for directly connected multicomputer systems
JP4478390B2 (ja) クラス・ネットワーク経路指定
Ni et al. A survey of wormhole routing techniques in direct networks
US5353412A (en) Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US20070053350A1 (en) Buffering data packets according to multiple flow control schemes
WO2002065700A2 (en) An interconnection system
WO2008057830A2 (en) Using a pool of buffers for dynamic association with a virtual channel
US20080107106A1 (en) System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
WO2007124514A2 (en) Method and apparatus for a scalable hybrid architecture for polyvertexic extensible networks
Bogdanski Optimized routing for fat-tree topologies
Kumar et al. A survey for silicon on chip communication
Koibuchi et al. Performance evaluation of routing algorithms in RHiNET-2 cluster
Moadeli et al. Quarc: A novel network-on-chip architecture
Theiss Modularity, routing and fault tolerance in interconnection networks
Ravindran et al. Issues in the Design of Direct Multiprocessor Networks
Jones The network designer's handbook
Lu Wormhole data routing in multiprocessors: networks and algorithms
Demaine et al. A novel routing algorithm for k-ary n-cube interconnection networks
Golota et al. A universal, dynamically adaptable and programmable network router for parallel computers
Ashraf Routing in multicomputer networks: A classification and comparison

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060419

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060719

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060719

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080408

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080408

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080508

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080508

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

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees