JP3980488B2 - 超並列コンピュータ・システム - Google Patents

超並列コンピュータ・システム Download PDF

Info

Publication number
JP3980488B2
JP3980488B2 JP2002582381A JP2002582381A JP3980488B2 JP 3980488 B2 JP3980488 B2 JP 3980488B2 JP 2002582381 A JP2002582381 A JP 2002582381A JP 2002582381 A JP2002582381 A JP 2002582381A JP 3980488 B2 JP3980488 B2 JP 3980488B2
Authority
JP
Japan
Prior art keywords
network
node
nodes
massively parallel
computer system
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
JP2002582381A
Other languages
English (en)
Other versions
JP2004538548A (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 JP2004538548A publication Critical patent/JP2004538548A/ja
Application granted granted Critical
Publication of JP3980488B2 publication Critical patent/JP3980488B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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
    • 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Thermal Sciences (AREA)
  • Algebra (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Error Detection And Correction (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、全般的には超並列コンピュータのシステムおよびアーキテクチャの分野に関し、具体的には、新規の列コンピュータに関する。
並列コンピュー以下、「ウルトラスケール・コンピュータ」、「スーパーコンピュータ」、または単に「計算機」若しくは「システム」とも称する)では、一般に、グリッド構成、格子構成、またはトーラス構成などの非常に規則的な構造の形で多数の計算ノードが相互接続される。最も優れたコスト対性能比を有するウルトラスケール・コンピュータの従来の手法は、単一プロセッサ構成または対称マルチプロセッサ(SMP)構成で構成された標準プロセッサを使用することであり、ここで、SMPは、ネットワークを用いて相互接続されて、メッセージ受渡通信をサポートする。現在、これらのスーパーコンピュータは、ギガOPSスケールを達成する計算性能を示す。しかし、ウルトラスケール・コンピュータを構するためにSMPのクラスタを用いるという現在の手法に関するコンピュータ業界の長年存在する2つの問題は、(1)プロセッサとメモリの間のクロック単位で測定される距離の増加と、(2)主流派の単一プロセッサまたは対称プロセッサ(SMP)から構築される並列コンピュータの高い電力密度である。
第1の問題では、メモリへの距離の問題(待ち時間と帯域幅メトリックの両方によって測定される)は、コンピュータ設計者が直面する主要な問題である。というのは、これが、毎年のメモリ速度の増加および通信帯域幅の増加の割合をはるかにえる割合で性能が高まるマイクロプロセッサの問題に対処するからである。メモリ階層(キャッシュ)および待ち時間隠蔽の技法によって、例示的な解決策が提供されるが、これらの方法は、アプリケーション・プログラマが、よい効率を達成する(すなわち、命令パイプライン・バブルを最小にする)ために非常に規則的なプログラムおよびメモリ参照パターンを使用することを必要とする。したがって、この技法は、現代のアプリケーション技法(たとえば、構造化されないメッシュおよびオブジェクト指向プログラミングに関する複雑なデータ構造)に適していない。第2の問題では、より高い電力密度が、そのようなギガOPSスケール・コンピュータの高いコストおよび機器要件(電源、冷却、および床面積)に関連する。
プロセッサ・サイクル単位で測定されるメモリへの待ち時間を、少なくとも1桁減らし、削減されたコスト、電力、およびフットプリントでテラOPSスケールでの並列計算を最適化する、ウルトラスケール・スーパーコンピュータのアーキテクチャを提供することが、非常に望ましい。
多数のプロセッサを単一の特定用途向け集積回路(ASICに集積できる計算モデルを可能にするVLSIの技術的進歩を活用するウルトラスケール・スーパーコンピュータのアーキテクチャを提供することが、非常に望ましい。
さまざまなスケーラビリティのレベルを最適に達成するための処理ノードの独自の相互接続を含むウルトラスケール・スーパーコンピュータのアーキテクチャを提供することが、非常に望ましい。
グローバル・リダクションの計算、データの分配、同期化、および限られたリソースの共用を効率的に信頼性のある形で実行するように最適化された処理ノードの独自の相互接続を含むウルトラスケール・スーパーコンピュータのアーキテクチャを提供することが、非常に望ましい。
P. Kermani、L. Kleinrock、「Virtual Cut-Through: A New Computer Communication Switching Technique」、Computer Networks、Vol. 3, pp. 267-286、1979年 William J. Dally、Larry R. Dennison、David Harris、Kinhong Kan、Thucydides Xanthoppulos、「Architecture and Implementation of the Reliable Router」、Proceedings of HOT Interconnects II、pp. 122-133、1994年8月 Jose Duato、「A New Theory of Deadlock-Free Adaptive Routing in Wormhole Networks」、IEEE Transactions on Parallel and Distributed Systems、 Vol. 4、No. 12、pp. 1320-1331、1993年12月 Steven L. Scott、Gregory M. Thorson、「The Cray T3E Network: Adaptive Routing in a High Performance 3D Torus」、In Proceedings of HOT Interconnects IV、1996年8月 C. Carrin、R. Beivide、J. A. Gregorio、F. Vallejo、「A Flow Control Mechanism to Avoid Message Deadlock in k-ary n-cube Networks」、Proceedings of the Fourth International Conference on High Performance Computing、pp. 322-329、1997年12月 W. J. Dally、C. Seitz、「Deadlock-Free Message Routing in Multiprocessor Interconnection Networks」、IEEE Transactions on Computers、pp. 547-553、1987年5月 Kevin Lamb、Larry R. Dennison、William J. Dally、「Simultaneous Bidirectional Signaling for IC Systems」、Proceedings ICCD Conference、pp. 430-433、1990年10月 Matthew Haycock、Randy Mooney、「A 2.5Bb/s Bidirectional Signaling Technology」、Hot Interconnects V Proceedings、pp. 149-156、1997年8月
本発明の目的は、削減されたコスト、電力、およびフットプリントでテラOPS以上のスケールの計算を達成する、並列分散メモリ・スケーラブル・コンピュータアーキテクチャの新しいクラスを提供することである。
本発明のの目的は、相互接続の観点から処理ノードの最大限のパッキング密度を可能にする、テラOPSのスケールの計算を達成する、並列分散メモリ・スケーラブル・コンピュータの新しいクラスを提供することである。
本発明のの目的は、多数のプロセッサを単一のASICに集積できる計算モデルを可能にするVLSIの技術的進歩を活用するウルトラスケール・スーパーコンピュータのアーキテクチャを提供することである。大規模サーバについて期待される信頼性、可用性、および保守性というシステム属性を有しながら、最小限の電力消費のために最適化され、現在のアーキテクチャから達成可能なものより優れたコスト対性能比を達成できる、単純な処理コア使用することが好ましい。具体的には、各計算ノードに、1つのダイに集積された複数のプロセッサを使用するシステムオンチップASICが含まれ、各プロセッサは、すべてのシステム・リソースに完全にアクセスできる。単一ダイの多数のプロセッサによって、プロセッサの適応分割(adaptive partitioning)が可能になって、アプリケーションごとに計算プロセッサまたはメッセージング入出力プロセッサなどとして機能し、好ましくは、アプリケーション内のさまざまなアルゴリズム相による機能の適応分割を可能にするか、入出力プロセッサまたは他のプロセッサがあまり利用されていない場合に、計算または通信に参加することができる。
本発明のの目的は、複数のネットワーク相互接続パラダイムを組み込んだウルトラスケール・スーパーコンピュータのアーキテクチャを提供することである。このパラダイムに、3次元トーラス・ネットワーク、グローバル・ツリー・ネットワーク、およびグローバル非同期シグナル・ネットワークが含まれることが好ましい。このアーキテクチャを用いると、並列処理メッセージ受渡アルゴリズムが、これらの相互接続を個別にまたは同時に活用できるようになり、相互接続の単一のパラダイムを用いては達成不能な性能レベルがもたらされる。追加の相乗効果が、これらの相互接続のいずれかまたはすべてに同時にアクセスでき、各相互接続をピーク容量で活用する、各ノード内の複数の処理要素の同時使用から派生する。
本発明のの目的は、任意のノードが高帯域幅且つ短待ち時間で他のすべてのノードにブロードキャストし、グローバル・リダクション動作を実行する能力を含む短待ち時間グローバル通信機能性を有する並列分散メモリ・スケーラブル・コンピュータアーキテクチャの新しいクラスを提供することである。そのようなグローバル通信機能性は、グローバル加算演算またはグローバル最大値演算、および集合演算などの単純な算術機能のほかに、グローバル「or」演算またはグローバル「and」演算を含むアプリケーションのクラスに有益である。
本発明の追加の目的は、ウルトラスケール・スケーラブル・コンピュータアーキテクチャにおいて、並列処理技術で新しい新規の技法およびアルゴリズムを実行できるようにする鍵となる相乗効果を提供することである。
本発明のの目的は、グローバル集合演算およびファイルシステム入出力の両方を行うためにツリー相互接続として配置された単一の物理ネットワークを提供することであり、ここで、両方のタイプの通信が、ネットワークのコストを共用するために行われる。ツリー・ネットワークでは、追加的に入出力動作と集合トラフィックがトーラスから分離され、アプリケーションに任意の数の入出力サービス・ノードを接続する手段が提供されることが好ましい。これらの入出力ノードは、物理的および論理的にトーラスの外にあるので、アプリケーションは、トーラス・ノードの性能のバランスをくずさずに、入出力および外部対話を実行することができる。これは、かなり強化されたスケーラビリティにつながる。というのは、トーラス・ノードのすべてが、予測可能で反復可能な性能を示すが、入出力ノードが、非同期で予測不能な外部対話のすべての重荷を引き受けるからである。
さらに、これらの技法では、それぞれがより大きい計算機の特徴のすべてを保持する、柔軟に構成可能な個数のより小さい独立の並列コンピュータへのスーパーコンピュータの分割も提供される。このスーパーコンピュータの並々ならぬスケールを与えられれば、この分割技法によって、故障したラックまたはラックの部分(本明細書では「ミッドプレーン」と称する)を透過的に除去するか、それを避けてマッピングする能力が提供され、したがって、システムの残りの構成要素に干渉せずに、これらをサービスすることができる。
本発明のの目的は、物理位置を介するイーサネット(登録商標)・アドレッシングおよびイーサネット(登録商標)へのJTAGインターフェースなどの保守性を追加することである。
本発明の1態様によれば、複数の独立ネットワークによってn次元で相互接続された複数の処理ノードを備えるスケーラブル並列スーパーコンピュータであって、前記複数の処理ノードのそれぞれが、並列アルゴリズム動作を実行する時に必要な計算アクティビティまたは通信アクティビティを実行する1つ以上の処理要素を含み、前記複数の独立ネットワークが、前記複数の処理ノードの個々の間または前記複数の処理ノードの独立の分割されたサブセットの間の、ポイントツーポイント通信およびグローバル・ツリー通信を可能にする複数のネットワークを含み、前記複数の独立ネットワークの組合せが、並列アルゴリズム処理性能を最適化するために、当該並列アルゴリズムの帯域幅要件および待ち時間要件に従って協同的にまたは独立に使用される、スケーラブル並列スーパーコンピュータが提供される。
好ましい実施形態では、ノード・アーキテクチャが、システムオンチップ(SOC)技術に基づき、ここで、基本構成要素は、単一のASICを含む完全な処理「ノード」である。集合化される時に、これらの処理ノードのそれぞれを、「セル」と称し、複数の同一のセルから構成される並列計算機のこの新しいクラスを、「セルラ」コンピュータとして定義できるようになる。各ノードに、複数(たとえば2つ以上)の処理要素が含まれ、各処理要素に、中央処理装置(CPU)、複数の浮動小数点プロセッサ、および複数のネットワーク・インターフェースが含まれる。これらの複数の処理要素の間の高速低オーバーヘッド調整のために、新規の「ロックボックス」が提供されるのが好ましい。
ードのSOC ASIC設計によって、計算性能、パッケージ化密度、低コスト、電力、および冷却の要件の最適なバランスが可能になる。さらに、ノードのSOC ASIC設計によって、新規のパッケージ化技術に関する先例のないレベルまでのスケーラビリティが可能になる。システムオンチップ・レベル集積によって、各ノードに関連するローカル・メイン・ストアを含むすべてのレベルのメモリへの短待ち時間が可能になり、これによって、従来のスーパーコンピュータ・システムにますます影響する性能ボトルネックが克服される。各ノード内では、複数の処理要素のそれぞれを、個別にまたは同時に使用して、任意の時点で解決されるか実行される特定のアルゴリズムによる必要に応じて、計算または通信の任意の組合せを処理することができる。
作の例示的モードでは、処理要素の1つが、アルゴリズムが必要とする計算を実行すると同時に、他の処理要素が、通信アクティビティを実行する。これによって、処理要素の1つの計算能力を使用して、複雑なメッセージ・マッチング・プロトコルをオフロードすると同時に、他の処理要素が独立に計算を継続することができる。しばしばメッセージング・プロトコルの複雑な形に関して、しばしば「リダクション機能」と称する特定の算術機能を、メッセージ・データの到着時にそのメッセージ・データに対して呼び出す必要がある。1つのプロセッサである入出力プロセッサを実して、第2の計算プロセッサを煩わせることなく、これらの機能を実行することができる。さらに、入出力プロセッサの計算能力のゆえに、アプリケーションは、高められた計算能力を通信アクティビティに関連付ける新しいアルゴリズム開発をサポートする、任意の複雑なリダクション機能を定義することができる。並列アルゴリズムの特定のクラスまたは並列計算の部分に関して、このアーキテクチャで、両方の処理要素の力を適用して、通信アクティビティに対して協同で作業することができる。たとえば、大量のデータの交換が必要な期間中に、処理要素の1つがデータを送信しており、他の処理要素がデータを受信していることがある。並列アルゴリズムの特定のクラスまたは並列計算の部分に関して、このアーキテクチャでは、期待される計算性能の約2倍を実現することができる。このアーキテクチャを用いると、複数のネットワークを同時に、独立に、または協同で使用することができる。システムオンチップ・レベルの集積のゆえに、このアーキテクチャを活用するように設計されたオペレーティング・システムと協同して、そのような動作のモードの間の交換を、最小限のオーバーヘッドで行うことができる。計算がメッセージ到着を待っている場合に、これを自動的に行うことができる。
数のネットワーク・パラダイムが、個別にまたは同時に使用されるノードを相互接続するために実され、このネットワーク・パラダイムには、並列アルゴリズム・メッセージ受渡用の3つの高速ネットワークが含まれる。追加のネットワークが、スーパーコンピュータ・ノードの、入出力サービスと、システム管理および構成サービスと、デバッグおよび監視サービスに使用される外部接続性のために設けられる。高速ネットワークに、n次元トーラス構成、グローバル・ツリー構成、およびグローバル・シグナル構成が含まれることが好ましい。これらのネットワークのそれぞれの使用を、アルゴリズムの必要またはアルゴリズムの相に基づいて切り替えることができる。たとえば、計算の諸部分を、トーラスでまたはグローバル・ツリーの一部で実行することができ、これによって、複数のネットワークを新規の形で同時に使用する新しい並列アルゴリズムの開発が容易になる。
ーラス・ネットワークに関しては、これが立方体または長方形の通信および分割をサポートする3次元設計であることが好ましい。3次元設計を用いると、多数の物理的現象の計算シミュレーションのトーラス・ネットワークへの直接マッピングが可能になる。しかし、より高い次元数すなわち、4、5、または6次元トロイドを用いると、より多くのチップ対チップ接続およびかなり高い配線コストと引き換えに、より短くより短待ち時間のパスが可能になる。より低い次元は、より長い待ち時間とより少ないチップ対チップ通信をもたらす。
さらにバーチャル・カットスルー(Virtual Cut-Through、VCT)パケットに基づく交換網を使用する最小パス適応ルーティング(Minimal-Path Adaptive-Routing)によって、ネットワーク輻輳のすべての点を避ける自動的な経路指定による持続的な高帯域幅がもたらされる。さらに、それから利益を得る並列計算の決定的最短パス経路または高優先順位メッセージがもたらされる。
らに、トーラスは、そのネットワークに注入された単一のパケットを複数の宛先に一斉に送信することができる、「クラス経路指定」技法を使用する自動マルチキャストを提供する。ネットワークは、2つの動的バーチャル・サーキットおよび2つのデッドロック回避用のエスケープ「バブル」サーキット(escape "Bubble" circuit)を使用することによってデッドロック・フリーであることが好ましい。トーラス・ネットワークは、新規のアービトレーション・ポリシを使用して、超並列スケーラブル・システムでの短待ち時間および高スループットを達成する。ポイントツーポイント・トークン・ベース・フロー制御によって、ネットワーク・バッファリングが最も有効に使用されると同時に、トラフィックがホット・スポットから分散される。パケットの保証された信頼性のある配信は、さらに、ヘッダに対する別のCRCエラー検出と、破壊されたネットワーク・パケットの自動再送信用の完全なパケットCRCエラー検出を使用することによって、トーラス内で使用可能にされる。
ローバル・ツリー・ネットワークに関しては、その主要な機能性の1つが、グローバル・ブロードキャスト(ダウンツリー)動作およびグローバル・リデュース(global reduce)(アップツリー)動作をサポートすることである。追加の機能性を提供して、入出力、プログラム・ロード、システム管理、並列ジョブ監視、およびデバッグに使用されるプログラマブル・ポイントツーポイント・メッセージングまたはサブツリー・メッセージングをサポートする。この機能性によって、並列計算に干渉しないように、「サービス」ノードまたは入出力ノードをトーラスから分離できるようになる。すなわち、トーラス内のすべてのノードが、最大の計算速度で動作できると同時に、サービス・ノードが、非同期外部対話をオフロードする。これによって、計算動作を実行するすべてのノードが、最大の一貫した速度で動作するので、並列計算のスケーラビリティおよび反復可能度が保証される。グローバル・ツリーが、リダクション・メッセージング動作を実する数学関数の実行をサポートすることが好ましい。グローバル・ツリー・ネットワークが、さらに、複数の独立の仮想チャネルをサポートし、複数の独立のグローバル動作を同時に進行できることが好ましい。この設計は、構成可能であり、サービス・ノードに対する計算ノードの比率は、並列計算の要件に応じて柔軟である。代替パッケージ化戦略を用いると、極端にデータ集中型の計算に理想的であるように、すべてサービス・ノードまたはすべて入出力ノードから構成される計算機を含むすべての比率が可能になる。
3のネットワークに、グローバル論理「AND」機能性またはグローバル論理「OR」機能性を提供するために複数の非同期「シグナル」の通信をサポートするグローバル・シグナル・ネットワークが含まれる。この機能性は、たとえば、区画(partition)内のすべてのノードが、計算の特定の点または並列アルゴリズムの相に到達したことをすべてのノードに示すグローバル・バリア動作(「AND」)と、たとえば区画内の1つ以上のノードが特定の状態または条件に達したことをすべてのノードに示すグローバル通知(「OR」)機能性を提供するために、特に設けられる。このネットワーク・タイプを使用することによって、新規の並列アルゴリズム、調整、およびシステム管理の技術が可能になる。
らなる独立ネットワークに、外部サーバおよびホスト計算機へのサービス・ノードまたは入出力ノードの接続を提供する外部入出力ネットワーク(ギガビット・イーサネット(登録商標)など)と、計算機全体のすべてのノードに関する完全な低水準のデバッグ、診断、および構成の機能を提供し、独立のホスト計算機からリモートで実行することができるIEEE 1149.1 Joint Test Access Group(JTAG)ネットワークが含まれる。JTAGネットワークの使用が、並列計算機のノードで実行されるソフトウェアの協力と共にまたはそれなしで動作することが好ましい。ネットワークが、計算機内のすべてのノードまたはノードのサブセットを同時にアドレッシングする能力を提供するので、ノードは、それが実行できる任意のソフトウェアに対して透過的にデバッグまたは検査することができる。この診断およびデバッグのレベルは、ハードウェアおよびソフトウェアの両方の膨大なレベルのスケーラビリティに関する実現技術である。
規のパッケージ化技術が、複数ネットワーク構成および複数プロセッサ構成を可能にする先例のないレベルのスケーラビリティを可能にするスーパーコンピュータ・システムに使用される。一実施形態では、複数の計算ノードおよび外部入出力ネットワークが可能にされる任意選択の入出力ノードを含む複数ノード「ノード・カード」が提供される。この形で、外部入出力ノードに対する計算ノードの比率を、所望の数の入出力ノードを有するユニットを「ミッドプレーン」ユニットに移植することによって、柔軟に選択することができる。高速シリアル・シグナリングが、新規の適応低電力データ・キャプチャ技法を使用して行われる。このパッケージ化技術によって、複数のサブネットワーク分割可能性が可能になり、複数の独立の問題に対する同時作業が可能になる。したがって、他の区画に干渉しない、より小さい開発区画、テスト区画、およびデバッグ区画を生成することができる。
ッドプレーンとラックの間の接続は、分割に基づいて動作可能になるように選択される。セグメント化によって、さらに、分離された区画が作成され、これらの区画のそれぞれが、すべての相互接続のすべての機能を維持し、予測可能で反復可能な性能が提供される。これによって、同一のサイズおよび形状のすべての区画で有効なままである、微細な粒度のアプリケーションの性能チューニングおよびロード・バランシングが可能になる。極度に微妙なエラーまたは問題にであう場合に、この分割アーキテクチャによって、大スケール並列アプリケーションの正確な反復可能度が可能になる。本発明によって可能にされる分割可能性によって、ネットワーク構成を考案して、スーパーコンピュータの機能しないラックまたはミッドプレーンを避けるかそれを避けてマッピングし、その結果、残りの構成要素が動作を継続しながら、これらをサービスできるようにするために、セグメント化する能力が提供される。
利なことに、本発明の新規のパッケージ化およびシステム管理の方法および装置は、先例のないレベルのスケーラビリティまでの計算ノードの集合をサポートし、並列計算の「グランド・チャレンジ(Grand Challenge)」問題の計算をサポートし、高性能計算カーネルに、有限差分方程式、密または疎の線形方程式の解、またはフーリエ変換が含まれ、多次元グリッドに自然にマッピングすることができる大きいクラスの問題に対処する。本発明が特に適する問題のクラスは、生命科学の分野にある。
本発明のスーパーコンピュータアーキテクチャは、相互接続された3次元トーラスの形であり、広範囲のアプリケーションに数百テラOPS(数兆浮動小数点演算毎秒)程度の処理能力を与えるように設計されている。本明細書で説明する例示的実施形態では、スーパーコンピュータアーキテクチャに、64×32×32個のトーラスとして編成された64k個の処理ノードが含まれ、各計算ノード12が、図1の3次元トーラス・サブキューブ部分10に示されているように、6個の両方向トーラス・リンク13を介して6個の隣接するノード12に接続される。しかし、異なるトーラス構成のより多くの処理ノードを含む他のアーキテクチャが企図されていることを理解されたい。
本明細書で詳述するように、各ノード12に、単一のASICおよび複数のSDRAM−DDRメモリ・チップが含まれる。ノードは、少なくとも6つのネットワークを介して相互接続され、これらのネットワークの最大集合帯域幅は、ノードを物理的な3次元トーラスにマッピングする最も近い隣接リンクである。説明される実施形態では、相互接続構造に、非対称性を有しないことが好ましいトーラスが含まれる。というのは、ノードが、同一の帯域幅およびほぼ同一の待ち時間で、物理的に隣接するラックに配置された物理的に近いノードと通信するからである。これによって、より単純なプログラミング・モデルが促進される。ノードを動作させるASICは、システムオンチップ(SOC)技術に基づき、システムが必要とするすべての機能性が組み込まれる。これには、4Mb以上の極端に高帯域幅の組込みDRAMが含まれる。ノード自体は、物理的に小さく、高密度の処理およびコスト性能比を最適化することが可能になっている。
説明される実施形態では、システム・パッケージ化に、両面基板または「ミッドプレーン」上の512個の処理ノードが含まれる。各ノードに、メッセージ受渡動作を処理する第2プロセッサが含まれる。さらに、所定の複数の処理ノードに関連するのが、専用の入出力ノードである。この入出力ノードは、計算ノードに出入りする入出力通信を処理するための、拡張外部メモリを有する二重プロセッサを含む。各入出力ノードは、基本的な入出力タスクおよび高性能リアル・タイム・コードに必要なすべての機能を処理することができる小さいオペレーティング・システムを有する。コンパイル、診断、および分析に、ホスト計算機が必要である。入出力ノードには、計算ノードの層の上の、ホスト通信を処理するソフトウェア層が含まれる。ホスト計算機の選択は、アプリケーションのクラス、その帯域幅要件、および性能要件に依存する。
ノードの概要
図2は、本発明の原理による単一の計算ノードASIC20を示すブロック図である。各ノード12は、コンピュータのすべての機能を単一のASIC20に集積し、ノード・サイズおよび電力消費の劇的な削減を可能にする、システムオンチップ・プロセスに基づくことが好ましい。スーパーコンピュータでは、これをさらに活用して、ノード密度を高め、これによって、計算機の総合的なコスト性能改善することができる。図2からわかるように、この設計のASICは、システム内で計算ノードおよび入出力ノードの両方として機能することができるが、このASICには、2つの処理コア22aおよび22bが含まれ、この処理コアのそれぞれが、「二重」浮動小数点ユニット24aおよび24bを有し、この「二重」浮動小数点ユニットのそれぞれに、プロセッサ・サイクルあたり4浮動小数点演算のピーク性能を与える2つの結合された標準浮動小数点ユニットが含まれる。一実施形態では、ノードの組込み処理コアが、IBM microelectronics社から入手可能なPowerPC440であるが、このコアの次世代版を、技術的改善として使用することができる。PowerPC440コアの機能性の説明は、http://www.ibm.com/chips/products/powerpcにある。「二重」FPU24aおよび24bでは、データパスを64ビットから128ビットに増やして、4倍長ワード浮動小数点のロードおよびストア(すなわちデータ移動)を可能にすることによって、データ帯域幅が増やされる。さらに、このユニットは、これらの実行ユニットを実数および虚数の複合実行体の対にスプリットすることによって、2つの浮動小数点積和命令を1サイクルでディスパッチし、実行できるように設計されている。新しい設計の(単一命令複数データ)SIMD様の命令によって、この複合実行体の対に、1サイクルあたり2つの浮動小数点積和を実行する能力が与えられると同時に、通常のスカラ命令では、実数部または虚数部だけが使用される。表1に示された例として、3つの複素数A、B、およびCに対して演算A×B+Cを実行するコードを検討されたい。計算の前に、レジスタarおよびaiに、Aの実数部および虚数部が含まれ、同様に、レジスタ対brおよびbiとレジスタ対crおよびciに、BとCの値が保持される。コンパイラが、2つの命令だけを必要とし、結果をレジスタ対drおよびdiに置く、下記のコードを自動的に生成することができる。
Figure 0003980488


ノード12では、さらに、他の機能がASIC20に組み込まれる。組込み処理コアおよび浮動小数点コアのほかに、このシステムには、組込みDRAM35、統合外部DDRメモリ・コントローラ43、メッセージ・プロセッサ、イーサネット(登録商標)・アダプタ45および48、ならびに、任意の2つのノードが短待ち時間で通信できるようにするネットワーク・リンク・カットスルー・バッファおよび経路指定制御ブロック26が含まれる。計算ノード12には、特に、IBM PowerPC440など、それぞれをメッセージ処理および計算動作に使用することができる2つの組込みコアが含まれる。このアーキテクチャは、さらに、バーチャル・カットスルー経路指定をサポートする。
さらに、図2からわかるように、バーチャル・カットスルー経路指定は、ネットワーク・アダプタの除去を可能にするためにASICに集積されるハードウェア・ブロック26でサポートされる。仮想チャネル経路指定ネットワークは、2つの動的チャネルおよび2つの決定的チャネルでサポートされるのが好ましい。
図3は、パケット経路指定用のリンク・バッファおよび仮想経路指定ブロック26を示す詳細なブロック図である。データ・フローは、左から右に進み、単一の入力17および出力チャネル19だけが示されている。アービトレーション論理要素37aおよび37bが、2ステージ処理を介してハードウェアで実行される出力チャネル・アービトレーション用に設けられる。第1ステージ37aは、入力仮想チャネルにローカルであるが、第2ステージ37bは、出力チャネルにローカルである。図からわかるように、ブロック26には、ネットワークへ/からパケットを注入/受信するための複数の出力/入力FIFOが含まれ、これによって、全6つの両方向リンク・ポートの完全な同時利用が可能になる。
図2に戻ると、スクラッチSRAM39が、さらに、高性能プロセッサ間通信機構として働くために設けられる。プロセッサ22aおよび22bの両方が、SRAMへの同等のアクセスを有し、これは、「計算」プロセッサと「メッセージ」プロセッサの間のネットワーク通信記述子の効率的な交換にクリティカルである。スクラッチSRAMのサイズは、32K128Kバイト程度の範囲とすることができる。プロセッサ間通信の一般的なボトルネックは、ソフトウェア・ロックの交換なので、ノード・メモリ・システムに、特にロック交換の処理に合わせて調整された共用リソースが含まれる。すなわち、「ロックボックス」40が、これらの複数の処理要素の間のすばやい低オーバーヘッド調整を可能にするために設けられる。
図2に戻ると、さらに、低コストの標準的なDDR外部メモリの使用を可能にするDDRコントローラ43が設けられる。前述のように、この外部メモリへの待ち時間は、クリティカルな設計パラメータの1つであり、異なるメモリ構成を、内部DDRコントローラを用いてサポートすることができ、これによって、多数のシステム・メモリ構成が可能になる。1つのターゲット・メモリ・システムは、256MBのDDRメモリに基づき、128ビット・データ・インターフェースが、プロセッサ周波数の1/2または1/3で稼動する。追加メモリが、ECCおよび潜在的に事前取出しポインタをサポートするために設けられる。入出力ノードとして機能する時に、ASICは、DDRコントローラの柔軟性を活用し、たとえば512MBなど、より大きい外部DDRメモリをサポートする。
好ましい実施形態では、同一の計算ノードASIC20を、ファイルサーバ通信および入出力動作を処理する、計算ノードのサブセット、たとえば64個のノードに関連する入出力ノードとして使用することができる。すなわち、入出力ノードは、計算ノードに非常に似ているが、外部メモリ構成に関してのみ、および、たとえばギガビット・イーサネット(登録商標)などの外部ネットワーク・インターフェースに加えて、異なるものとすることができる。計算ノードは、統合されたGbイーサネット(登録商標)(共通のASICを共用する)を有することができるが、説明において、Gbイーサネット(登録商標)・インターフェース48は、サービス機能性および入出力機能性を提供するノードに設けられる。すべてのノードが、100Mbイーサネット(登録商標)・ネットワーク45への直接接続性を有する。
ノードASICには、さらに、外部ファイル・システムへの接続に必要な入出力と、ブート、デバッグ、およびRASサポートに必要な入出力が含まれる。図2に示されているように、このために統合することができる2つのネットワークがある。1)論理イーサネット(登録商標)機能を有する100Mb/sイーサネット(登録商標)45を、ASIC内に集積することができる。この形で、各ノードASICが、独立にアドレス可能であり、ホスト計算機が、システム内のすべてのノードに直接にアクセスできるようになる。これは、ブートおよび診断に有用な、極度に強力なツールである。の実施形態では、外部構成要素の数およびコストを減らし、信頼性を高めるために、複数のノードを、メディア独立インターフェース(Media Independent InterfaceMII)層で直接に8方向計算カード上で接続することができる。そして、2)ノードASICに集積される、Gbイーサネット(登録商標)論理層を有するGbイーサネット(登録商標)48。このネットワークは、入出力ノードで使用され、Gbイーサネット(登録商標)が、ASIC内のPLB(プロセッサ・ローカル・バス)存在することが好ましい。これによって、入出力ノード内の入出力プロセッサが、ごくわずかなオーバーヘッドで、DMA転送をセット・アップし、メッセージの処理に戻れるようになる。さらに、図2からわかるように、高速ファイルおよびホスト計算機の入出力に、InfiniBand(商標)リンク49によって適応することができる。
前述のように、このコンピュータでは、入出力、デバッグ、およびさまざまなタイプのプロセッサ間通信に6つまでの相互接続ネットワークが使用される。適当な低コストのスイッチおよびRAIDシステムの使用可能性に応じて、ギガビット・イーサネット(登録商標)またはInfiniBand(商標)が、ローカルに接続されたディスク・ストレージをサポートするのに使用される。高速のまたは100Mb/sイーサネット(登録商標)が、診断、デバッグ、および初期化のいくつかの態様に使用される。2種類の高帯域幅且つ短待ち時間ネットワークによって、システム「ファブリック」が作られ、JTAGが、内部プロセッサ要素へのアクセスに使用される。したがって、ノード内で、イーサネット(登録商標)MII層(ASICピンに直接に)と内部JTAGコントローラ(図示せず)の間のインターフェースが、組込みの分野でのデバッグを容易にするために、さらに集積される。
ノード・メモリ
計算ノードのメモリ・システムには、オンチップ・キャッシュ階層、オフチップ・メイン・ストア、および2つのASICプロセッサ22aおよび22bの間のロックおよび通信に関する最適化されたオンチップ・サポートが含まれる。メモリ・システムは、後述するように、ターゲット・アプリケーションの範囲にわたってピーク性能を発揮するように設計される。計算機の集合メモリは、複数コンピュータの方式で完全に分散され、ノードの間のハードウェア共用はない。各ノードは、たとえば、256メガバイトの物理メモリを所有し、64K個のノードを有するシステムでは合計16テラバイトがもたらされる。図2からわかるように、ノード12の物理メモリは、ASIC内の2つのプロセッサによって共用され、ハードウェアによって、任意選択コヒーレンシ・サポートが提供される。
図4に、単一ノードのメモリ・システム25の基本構成要素を示す。図2および4からわかるように、第1レベル(L1)キャッシュ2aおよび2bが、それぞれコア・マクロ22aおよび22b内に設けられる。2レベルL2Rキャッシュ30aおよび第2レベルL2Wキャッシュ30bは、相対的により小さく、基本的に、L1データの事前取出しバッファおよびライトバック・バッファとして働く。第3レベル(L3)キャッシュ35は、より大きく、命令とデータによって共用され、ほとんどのアプリケーションの作業セットへの高帯域幅でかつ低電力アクセスを提供する。最後に、ノーダル・メモリ・システムに、オフチップ・ダブルデータ・レート(DDR)DRAMからなるメイン・ストア38が含まれる。具体的には、L1命令キャッシュ(Iキャッシュ27aおよび27b)は、各440コア・マクロの一部であり、データ・キャッシュ29aおよび29bから分離される。例示的実施形態では、Iキャッシュが、32Kバイトのサイズであり、32バイトのライン・サイズを有する。Iキャッシュは、64ウェイセットアソシアティブであり、16セットが含まれる。ラインは、仮想アドレスタグを用いて記憶され、ラウンドロビンの順序で置換される。イネーブルされる場合に、Iキャッシュは、キャッシュ・ミスに続く次の3ラインを投機的に事前取出しすることができる。図2からわかるように、Iキャッシュ・ライン・フィルは、40コア22aおよび22bのそれぞれから発する専用の128ビット・バスを介して実行される。これらのフィルが、L2キャッシュを迂回し、L3キャッシュからサービスされ、したがって、L2キャッシュへのデータ・アクセスに干渉しないことが好ましい。L1データ・キャッシュ(Dキャッシュ29aおよび29b)は、440コア・マクロの一部であり、命令キャッシュから分離される。L1データ・キャッシュは、Iキャッシュと同一の基本編成を有するが、物理的にタグ付けされる。一実施形態では、L1データ・キャッシュが、32Kバイトのサイズであり、32バイトのライン・サイズを有し、それぞれ64ウェイの16セットを有するセットアソシアティブである。Iキャッシュと同様に、L1データ・キャッシュでは、ラウンドロビン置換ポリシが使用される。データ・キャッシュでは、2つの別々の128ビット・データ・バスが設けられ、一方は読取用、他方は書込用であり、それぞれがプロセッサ周波数で稼動する。図2からわかるように、L1 Dキャッシュ・バスは、超短待ち時間L2ヒット・アクセスのために、L2キャッシュに直接に接続される。L1キャッシュとL2キャッシュの間のライン転送は、2つの連続する16バイト転送を必要とし、最適に、クリティカル・ワードが最初に返される。440メモリ・システムを用いると、メモリのページをライトバック・キャッシュ可能、ライトスルー・キャッシュ可能、またはキャッシュ禁止としてマッピングできるようになる。Dキャッシュは、スヌープまたはスナーフをサポートせず、したがって、ライトバックとしてキャッシングされるページは、外部から無効化または更新することができない。Dキャッシュは、単一サイクルヒット待ち時間を提供し、700MHzの公称設計周波数で、たとえば、ピーク・フィル・レートは、約11.2Gバイト/秒である。
図4からわかるように、L2キャッシュ30aおよび30bには、読取専用ライン・ストア(L2R)および書込バッファ(L2W)が含まれる。440コアのそれぞれが、それ自体のL2構造を有するが、ハードウェアによって、この2つの間のコヒーレンスを維持することができる。したがって、L1でライトバックとしてキャッシングされるデータは、2つのコアの間でコヒーレントに共用されるものとすることができる。L2Rは、非常に小さく、基本的に、L1ライン・フィルの事前取出しバッファとして働く。L2Rは、完全アソシアティブであることが好ましく、8つのラインが含まれ、各ラインは、64バイトのサイズである(すなわち、L1ラインのサイズの2倍)。L2Rヒットは、3サイクルの待ち時間を有すると期待され、キャッシュのピーク・フィル・レートと一致する。L2書込バッファ(L2W)の存在によって、コアが、ライトバックを非常に速やかに完了できるようになり、より大きいL2/L3ライン・サイズを、実行中のストアのまえに集合化できるようになる。L2キャッシュ30aおよび30bの両方によって、ある形の事前取出しが実される。
L3キャッシュ35は、IMB CU-11 Embedded DRAM(EDRAM)から構成され、一実施形態では、4メガバイト以上のサイズである。キャッシュの編成に関する複数の任意選択が可能である。たとえば、一実施形態では、両方のプロセッサによって共用される単純なセットアソシアティブ型のキャッシュが実される。の実施形態では、それぞれが共用される2つのキャッシュが実される。2キャッシュ編成によって、両方のプロセッサが、最良の状況でL3に同時にアクセスできるようになる。直接アクセスのためにL3キャッシュの部分を分離する能力が、さらに可能である。
たとえば、700MHzの公称設計コア周波数で、L1キャッシュは、1.4ナノ秒サイクルごとに16バイトのピーク・フィル・レートを維持することができる。EDRAMマクロによって、ページ・モードで5ナノ秒ごとに32バイトのデータを供給することができる。したがって、L1キャッシュのピークフィル・レートに一致するために、並列の2つのEDRAMマクロが必要であり、その結果、L3キャッシュの64バイトの最小ライン・サイズがもたらされる。L3キャッシュとL2キャッシュの間のデータパスは、コア周波数の半分で動作することができ、1サイクルごとに32バイト(256ビット)を返すことができる。やはり、L3キャッシュを、同時プロセッサ・アクセスのために分割することができ、その結果、4バンクのEDRAMマクロを必要とする実施形態がもたらされる。直接マッピング型であるので、4Mバイトのキャッシュに、期待される256Mバイトメイン・ストアの1/64を記憶することができ、その結果、6ビットのタグ・サイズがもたらされる。64バイトのライン・サイズを仮定すると、ディレクトリ33が、それぞれが6ビットの64K個の項目を有し、384KビットのSRAMが必要になる。キャッシュが、4ウェイセットアソシアティブである場合には、ラインの数は同一であるが、タグ・サイズが8ビットに増える。ノード・メモリ・システム25には、さらに、ボトルネックを避けるためのプロセッサ間通信および交換のためのロックを含む共用リソース41が含まれる。
メイン・ストアは、ノードASICの外部であり、例示的実施形態では、256Mバイトのサイズである。メイン・ストアは、標準的なダブルデータ・レート・シンクロナスDRAM(SDRAM−DDR)デバイスから構築される。
システム相互接続(タイプおよびトポロジ)
イーサネット(登録商標)およびIEEE1149.1(JTAG)
一実施形態では、ホスト計算機50または外部サーバにとって、スーパーコンピュータが、2つの標準ネットワークを介してアクセスされる多数のノード(たとえば64k個)に見える。一方のネットワークが、「高速」または100Mbイーサネット(登録商標)98であり、これは、すべてのノードへの初期プログラム・ロードおよびデバッグ・アクセスに使用され、これによって、ASICノードのホスト制御が、非常に単純で簡単になる。さらに、JTAGは、たとえばIBM RiscWatch(商標)ソフトウェア層を介してプロセッサのレジスタにアクセスできるようにするものであるが、ASIC内で100MHzイーサネット(登録商標)・ポート45に接続され、標準イーサネット(登録商標)I/Pを使用してアクセス可能である。
グローバル・コンバイニング・ツリー
図5に、ツリー構造に計算ノード12を相互接続し、本発明によるグローバル・シグナルおよび外部ネットワーク接続を含む、グローバル・コンバイニング・ツリー・ネットワーク59と称する第2のネットワークを示す。このツリーには、グローバル・コンバイニング・ツリーを介して所定の数の計算ノード12に接続された関連する入出力ノード12’が含まれる。図5に示された好ましい実施形態では、1つの入出力ノード12’が、64個の計算ノード12のサービスおよび入出力動作提供するのに専用化されている。この計算ノードに対する入出力ノードの比率は、スーパーコンピュータの物理的パッケージ化を最適化するために構成可能であることを理解されたい。すなわち、パッケージング設計によって、代替構成を可能にし、サービス・ノードに対する計算ノードの比率を、並列計算の要件に応じて変更することができる。好ましい実施形態では、パッケージ化技術によって、256:1から8:1までの比がサポートされる。代替パッケージ化戦略を用いると、すべてサービス・ノードまたはすべて入出力ノードからなる計算機を含む、極端にデータ集中型の計算に理想的な任意の比が可能になる。
図5からわかるように、100Mb/sイーサネット(登録商標)98によって、計算ノード12および関連する入出力ノード12’の両方が、大きいネットワークに、たとえばスイッチ18を介して接続される。各ノードASICは、一意のMACアドレスを有し、これによって、ホスト計算機50がすべてのノードと通信できる。このMACアドレスに関連するTCP/IPアドレスに、スーパーコンピュータ内の当該ノードのエンコードされた幾何学的位置が含まれる。したがって、たとえば、故障したノードからの診断レポートを、当該ノードのTCP/IPアドレスを介してそのラックの行、列、およびスーパーコンピュータのラック内の位置まで直接にトレースすることができる。高速ネットワークと結合されると、計算機内のすべてのノードの状態を同時に凍結する能力がもたらされる。81920個の計算ノードおよび1280個の入出力ノードを含むスーパーコンピュータの一実施形態として、これは、先例のないレベルの診断、デバッグ、および検査をもたらす。
出力ノード12’として機能する時に、ASIC20に、当該ノードに対するローカル・ディスクとして働く大きいRAIDシステム55にアクセスするのに使用することができる、ギガビット・イーサネット(登録商標)99またはInfiniBand(商標)などの類似するインターフェースが含まれる。RAIDシステム55は、冗長性のために二重化され、スイッチ(図示せず)を介し、ギガビット・イーサネット(登録商標)99またはInfiniBand(商標)の1024個のチャネルを介してシステムに接続される。かかるスイッチは、ホストにもインターフェースし、これによって、ホストが、単純なイーサネット(登録商標)I/Pトランザクションを介してシステム・ノードまたはRAIDシステム55のいずれかにアクセスできるようになる。計算機の内部では、追加の外部メモリを有するASICである専用入出力プロセッサによって、ギガビット・イーサネット(登録商標)/InfiniBand(商標)接続が終端される。どの入出力ノードも、最大のギガビット速度でRAIDディスクを読み取るか書き込むことができる。例示的実施形態では、システムの64k個のノードが、1テラビット毎秒以上の、ディスクまたはホストへのピーク集合入出力帯域幅を有するように構成される。
の2分木風のグローバル・コンバイニング・ツリー59は、スーパーコンピュータの全体に延び、データを任意のノード12から他のすべてのノード12(ブロードキャスト)またはノード12のサブセットに短待ち時間で送信できることが好ましい。ツリーが、より多いポート(3ポートは、バイナリ(2入、1出)を意味する)を有することができることを理解されたい。トーラスと同様に、高次のツリーすなわち4D、5D、または6Dのツリーによって、より多数のチップ対チップ接続およびかなり高い配線コストを犠牲にして、より短くより短待ち時間のパスが可能になる。より低い次元によって、より長い待ち時間とより少ないチップ対チップ通信がもたらされる。メッセージ受渡は、グローバル・コンバイニング・ツリー59でサポートされ、各ASIC内の前記プロセッサのいずれかによって制御され、計算ノードと独立に全(all-to-all)の通信などの集中型動作が進行できるようになる。このツリーの各分岐は、送信方向と受信方向の両方で、1.4GB/sまたは2バイト毎プロセッサ・サイクルの好ましいターゲット帯域幅を有する。
リー59に組み込まれるハードウェア機能性は、整数の加算、減算、最大値、最小値、ビット単位のAND、OR、XOR、およびブロードキャストである。これらの機能は、最短の待ち時間が可能な形で実される。たとえば、加算機能が行われると、ワードの最下位バイトがグローバル・ネットワークに最初に送信される。この下位バイトは、他のソースから他のバイトに(ハードウェアで)即座に加算され、その結果が、ツリー59の次のレベルにシフト・アウトされる。このように、上位バイトがシフト・アウトされる前に、64ビット・ワードが、ツリー59の複数の層を既に進んでいる。これは、計算機全体にわたる非常に短い待ち時間の加算の可能性をもたらす。この短待ち時間加算は、グローバル内積を必要とする疎な線形方程式の反復解法にクリティカルである。
このツリー59はデータをリング状に送り出すのではなく、データのグローバル・ブロードキャストに使用することができる。1対多の通信では、これは、ソフトウェアの観点から、最近傍3Dリンク・ネットワークに対するかなりの改善である。ブロードキャスト機能性は、3Dリンク・ネットワークを介する通信と同時である必要がある1対多転送がある時にも、非常に有用である。ブロードキャストは、3Dリンク・ネットワークを介して処理することもできる。
後に、計算機全体にわたるグローバル浮動小数点の和を、2分木を2回使用することによって、数マイクロ秒で実行することができる。1回目には、すべての指数の最大値を入手し、2回目には、シフトされた整数のすべてを、グローバル動作で加算する。
グローバル・コンバイニング・ツリーとバリア・ネットワーク
6に、本発明の原理によるグローバル・コンバイニング・ツリーおよびバリア・ネットワーク60を示す。グローバル割込およびバリア・ネットワーク60(図6)の機能性は、グローバル・コンバイニング・ツリー・ネットワーク59(図5)の機能性に密接に関連し、それと並列に「サイドバンド」ネットワークとして機能することができる。たとえば、グローバル「or」機能が、割込みであり、グローバル「and」機能が、「すべて待機(all wait)」である。これらの機能は、グローバル割込およびバリア・ネットワーク60で、グローバル非同期シグナルを生成し、通信することによって使用される。かかるグローバル非同期シグナルは、(1)1つの論理区画(たとえばサブツリー・ネットワーク)内の各ノードがセットおよび検出できる信号と、(2)すべての入力信号のグローバルANDまたはグローバルORを実行するハードウェア論理機能と、(3)結果を収集し、各ノードに分配するグローバル・ネットワークとを含む。複数の異なる信号が、大規模システムで共存でき、この概念を、多数の形で実することができる。単一ビット単位の差動対が、グローバル・コンバイニング・ツリー59(図5)と並列に稼動して、短待ち時間グローバル割込およびバリアが容易になることが好ましい。
6に戻って、グローバル割込およびバリア・ネットワーク60の各ルート・ノード65は、グローバル・コンバイニング・ツリー59の経路に沿ってスーパーコンピュータの所定の個数の計算ノード12に接続され、それに関連して動作して、特定の並列アルゴリズムが必要とする、スーパーコンピュータのグローバル非同期動作を開始する。この2分木風のグローバル・コンバイニング・ツリー59と、グローバル割込みおよびバリア・ネットワーク60は、スーパーコンピュータの全体に延びて、データを任意のノード12から他のすべてのノードへ(ブロードキャスト)またはノード12のサブセットへ、短待ち時間で送信できることが好ましい。他のツリー実施形態、たとえば3次ツリー、4次ツリーなどを実することができ、ここで、より短い待ち時間は、より多くの相互接続とのトレードオフである。
25に、グローバル割込みおよびバリア・ネットワーク60で実される非同期グローバル・シグナル生成に使用される論理を示す。具体的には、図25の観点から、図5のグローバル・コンバイニング・ツリー・ネットワーク59に対するサイドバンド・ネットワークとして実される時に、グローバル割込みおよびバリア・ネットワーク60に、ノードごとに1つの相互接続されたルータのネットワークが含まれる。各ルータには、複数のポートが含まれ、これらのポートは、別のルータに接続される、または接続されない時にディスエーブルされる、のいずれかとすることができる。しかし、説明の便宜上、図25に示されているように、ルータは、データパスを提供する4つのポート121〜124を有するので、3つのツリーを構成することができる。4つのポートのうちの1つ、たとえばポート121だけが、親ノードへの接続として指定され、3つまでの残りのポートを、子ノードに接続することができる。ツリーの最下部の葉ノードは、親ノードに接続された1つのポートだけをイネーブルされ、ツリーのルートは、親をイネーブルされるのではなく、少なくとも1つの子をイネーブルされる。
25は、図6のグローバル割込みおよびバリア・ネットワーク60のために各ASICノード12に含まれるルータ内で実される非同期論理125の概略図である。このネットワーク60では、サイドバンド信号ごとに、4つの論理両方向ポート、すなわち1つのアップ・ツリー・ポート(図25121)、および3つのダウン・ツリー・ポート(図25122124)がある。これらの4つの論理両方向ポートは、4つの物理両方向ポートにマッピングされる。ソフトウェア構成を用いて、これらの物理ポートの任意の1つを、アップ・ツリー論理ポートとしてマッピングすることができる。これによって、複数のこれらのノードが一緒に配置される基板のレイアウトの柔軟性が可能になる。アップ・ツリー・ポートおよびダウン・ツリー・ポートのほかに、すべてのノードでASICプロセッサ・コアから生成される追加の入力信号135と、プロセッサの割込みユニットに入力される結果信号136がある。アップ・ツリー・パス130では、ダウン・ツリー・ポート122124と中央プロセッサ(CPU)からの入力135が、アップツリー・パスに送出される前に論理ゲート127に入力される。この論理ゲート127は、グローバル・バリア動作を実行するために実される時に論理AND機能を実行し(入力が論理「0」から「1」に推移する)、あるいは、グローバル割込み動作を実行するために実される時にOR機能ネットワークとして実することができる(入力が論理「1」から「0」に推移する)。ダウン・ツリー・パス140では、アップ・ツリーからの入力信号が、バッファ128によってバッファリングされ、その後、すべてのダウン・ツリー・ポート122124とプロセッサに信号136としてブロードキャストされる。ツリーの最上部では、アップ・ツリー・ポート(図25、121)の2つの信号が、最上位ノード内またはリンク・チップ内の初期ソフトウェア構成を介して単純に一緒に接続される。本明細書で詳述するように、リンク・チップは、トーラスおよびツリー・サブネットワークの分割をイネーブルする。
次元トーラス
1に関して説明したように、物理的計算機アーキテクチャは、n次元トーラス10に関連し、このトーラスは、例示的実施形態では、エッジで「ラップ」する、単純な3次元最近傍相互接続である。ASICの異なるラックの間に存在するものなどの飛行時間の差を除いて、すべての近傍が、等しい距離にあり、コードの作成および最適化が楽になる。最近傍リンクは、例示的実施形態で、プロセッサ速度の4倍(たとえば、各方向で2.8G/s)とすることができる。したがって、各ノードは、たとえば4.2Gバイト/sの集合帯域幅を有する6つの独立の両方向最近傍リンクをサポートする。以下でさらに詳述するように、システム回路カードは、2×2×2サブキューブで配線され、ラックごとに2つのミッドプレーンは、8×8×8サブキューブとして配線される。64k個のノードからなる計算機全体は、64×32×32個のトーラスであるが、他の分割が可能である。
ッセージ受渡
ーラス
1のトーラス・ネットワーク10は、選択された「クラス」のノードへの汎用のポイントツーポイント・メッセージ受渡動作およびマルチキャスト動作に使用される。このトポロジは、ASIC内に組み込まれたルータの間の両方向ポイントツーポイント・シリアル・リンクを用いて構成された3次元トーラスである。したがって、各ASICは、6つの最近傍接続を有し、その一部が、比較的長いケーブルをトラバースすることがある。トーラス・ネットワーク10は、適応的と決定的の両方の最短パス経路指定を提供し、デッドロック・フリーである。スループットおよび待ち時間は、本明細書および参照によって本明細書に組み込まれる、P. Kermani、L. Kleinrock、「Virtual Cut-Through: A New Computer Communication Switching Technique」、Computer Networks、Vol. 3、pp. 267-286、1979年に記載の、バーチャル・カットスルー(VCT)経路指定の使用を介して最適化される。メッセージは、複数のパケットから構成でき、パケットは、経路指定のアトミック単位である。したがって、同一メッセージからの適応的に経路指定されるパケットは、順序はずれで到着する場合がある。パケットは、サイズが可変であり、32バイトの粒度で32256バイトの範囲である(すなわち、パケットごとに1までの32バイト・チャンク)。
想チャネル(VC)は、デッドロックフリーの適応経路指定を提供し、スループットを高めるのに使用され、スーパーコンピュータ内のトーラス・ネットワーク10は、2つのVCが適応経路指定を使用し、2つのVCが決定的経路指定を使用する構成で、4つ以上のVCを有することができる。決定的VCの1つが、デッドロック・フリー性を保証するために適応的サブネットワークの「エスケープ・チャネル」として使用され、他方が、高優先順位パケット用に予約される。ほとんどのトラフィックが適応的に経路指定されると期待されるので、ヘッドオブライン(head-of-line)ブロッキングを減らし、ルータ内で単純なFIFOバッファを使用できるようにするために、2つの適応VCが設けられる。
ータの間のフロー制御は、トークンの使用を介して提供される。というのは、ケーブルの待ち時間によって、複数のパケットが同時に飛行中になりるからである。コンテンションがない場合に、最大リンク帯域幅を維持するのに十分なVCTバッファ空間がある。
トーラス・ネットワーク10は、注入されたすべてのパケットの単一コピーを、信頼性のある形で配信する。ルータは、下流ルータが成功裡の受信を肯定応答するまで、すべてのパケットの良好なコピーを保存することによって、信頼性のある転送を保証する。リンクレベルのパリティまたはCRC(あるいはその両方)を使用することによって、ルータが、伝送中に破壊されたパケットを検出することができる。これが発生する時には、「エラー」インジケータが、パケットに付加され、受信側がそれを破棄しなければならないことが示される。したがって、各パケットの単一の良好なコピーだけが、ネットワーク10を離れる。
たがって、参考文献、William J. Dally、Larry R. Dennison、David Harris、Kinhong Kan、Thucydides Xanthoppulos、「Architecture and Implementation of the Reliable Router」、Proceedings of HOT Interconnects II、pp. 122-133、1994年8月に記載の信頼性のあるルータのユニーク・トークン・プロトコル方式に類似する方式(常時、ネットワーク内のすべてのパケットの少なくとも2つのコピーが維持される)を使用することができる。しかし、例示的実施形態によれば、本発明では、パケットがリンク上(パケット破壊のほとんどすべてがここで発生する)で危険な状態である間に、バックアップ・コピーだけが維持される。ルータ・ハードウェアがパケットを破壊するという希な場合には、メッセージ・レベルでのエラー検出によって、再送信要求が送信側に発信される。
7に、リンク入力回路72およびリンク出力回路74を含む単一のトーラス・ルータ70の基本アーキテクチャを示す。ローカル入力に、7つのネットワーク注入キュー73が含まれ、そのうちの6つが、任意の方向に宛てられた通常のパケットに使用され、7番目が、任意の方向に宛てられた高優先順位パケットに使用される。ローカル出力には、12個の受信キュー76が含まれ、6つのキューが、各方向からの通常のパケット用であり、6つのキューが、各方向からの高優先順位パケット用である。
リンク入力72には、ヘッドオブライン・ブロッキングを減らすために、少なくとも4つのVCTキュー(仮想チャネルごとに1つ)と、クロスバ・スイッチ78への2つの入力パスが含まれる。VCT FIFOのどれが、またはおそらくは到着するパケットが、クロスバ・スイッチ78の入力を使用することになるかを決定する関連する入力アービタがある。各リンク出力回路74には、信頼性のための再送信FIFOと、関連するリンクへの入力キューまたは注入キューからのパケットをスケジューリングする出力アービタが含まれる。リンク入力回路72リンク出力回路74の間の通信が、フロー制御トークンの伝送を調整するために各リンク・ポートで提供されることを理解されたい。
ータ入力
8は、図7のリンク入力回路72の例示的実施形態の詳細な図である。各リンク入力回路72の基本的な責任は、着信パケットを受け入れ、その全性を検証し、必要な場合にバッファリングし、最終的に出力リンクまたはCPU受信キューに転送することである。図8からわかるように、2つの適応VC82aおよび82b、1つの決定的VC82c、および1つの高優先順位VC82dに対応する4つの仮想チャネル(VC)FIFO82がある。実されるVC FIFOの実際の数は、主に、経路指定アルゴリズムによって決定される。
前述のように、フロー制御は、トークンの使用を介して管理され、トークンのそれぞれが、VC FIFOバッファ空間の32バイトに関連する。したがって、単一のパケットが、複数のトークンを消費する場合がある。VC FIFOのそれぞれのトークンは、個別に管理され、下流ルータによって上流ルータにバッチで許可される。上流ルータは、パケット・サイズ全体をカバーするのに十分な数のトークンを有するのでない限り、パケットを送信しない。言い換えると、パケットは、必要な場合に下流ルータに当該パケット記憶するのに十分なバッファ空間がない限り、送信されない。これは、デッドロック・フリー性を保証するための重要な特性である。
ケットは、下流で当該パケットをバッファリングするのに十分な空間がない限り、送信できないので、VC FIFOのサイズは、隣接するルータの間のリンク帯域幅および待ち時間によって指示される。このサイズによって、コンテンションがない時のリンク帯域幅の完全な利用が可能になる。計算機が分割される場合の最悪状況下では、2つの隣接するルータを、5ケーブル・ホップだけ離すことができ、各ケーブルホップは、約30ナノ秒の待ち時間を有する。後述するように、隣接ケーブル・ホップは、リンク・チップをトラバースしなければならず、これは、約10ナノ秒の待ち時間を有すると期待される。したがって、最悪状況下の、隣接するルータの間のリンク待ち時間は、約200ナノ秒である。
記のシナリオを使用して、VC FIFOサイズを計算することができる。上流ルータが、256バイトのパケットを送信する。下流ルータは、そのパケット全体を受信し、その完全性を検証する。このパケット、転送されたが記憶されないので、下流ルータは、即座に8つのトークンを返そうとする。しかし、上流リンクは、送信が開始されたばかりの256バイト・パケットによってブロックされている。上流リンクが解放されたならば、トークンが返される。VC FIFOのサイズは、このシナリオの待ち時間中に送信できるすべてのデータを記憶するのに十分に大きくしなければならない。2.8Gビット/秒リンク帯域幅を仮定すると、この計算は、下記のように進行する。
Figure 0003980488


したがって、VC FIFOのサイズは、約657バイトで十分である。しかし、より大きいFIFOを用いると、多少のゆるみが可能になり、その結果、トークンをバッチで返すことができ、ある量のネットワーク輻輳を許容できるようになる。本発明で使用されるASIC技術があれば、2Kバイト以上のサイズのVC FIFOをすることが容易である。リンク入力回路72は、ヘッドオブライン・ブロッキングを減らすために、グローバル・クロスバ78への2つの接続(パス)83を有する。したがって、リンク入力回路72に、5×2の入力クロスバ87が含まれ、これによって、2つのVC FIFOまたは1つのVC FIFOおよび到着するパケットが、出力リンクに進めるようになる。ローカル・リンク入力回路72に、6つの入力方向のそれぞれについて2つの(2つのプロセッサのそれぞれについて1つ)専用の受信FIFOと、高優先順位パケット用の2つの受信FIFO(プロセッサごとに1つ)が含まれる。1つのプロセッサが通信専用である時には、そのプロセッサは、FIFOの両方のセットにアクセスできる。したがって、ルータで終了するパケットを、グローバル・クロスバ78を通過せずに、関連する受信FIFOに直接に転送することができる。しかし、通常優先順位のパケットは、任意のVCで受信されることがあり、したがって、これらは、入力クロスバ87を介して受信FIFOに転送される。
パケットが到着する時に、経路選択機能86を使用して、そのパケットが使用できる潜在的な出力VCのセットを判定する。一般に、このセットには、有利な(すなわち最小限の)方向の適応VCおよび決定的VCの両方が含まれる。到着するパケットがVC FIFOに記憶される場合に、潜在的な経路が、そのパケットと共に記憶される。
グローバル・クロスバ78の接続が空いている(または短時間だけ空きになる)時には、必ず、入力アービタ88が、待機中のパケットまたは到着するパケットの1つを選択して、出力に関して調停する。選択されたパケットは、時にある回数の試行についてその潜在的な出力の1つについて調停される。有限の回数の試行で出力を達成しない場合には、入力アービタ88が、その優先順位規則に従って、同一のパケットまたは異なるパケットのいずれかを選択して、その出力の1つについて試行する。したがって、すべてのアービトレーション・サイクルで、各リンク入力回路72が、成功するまで1つの出力VCだけを要求する。高優先順位パケットは、当然、入力アービタ88によって優先される。通常優先順位パケットは、最も満杯のFIFO内のパケットを優先するが、ランダムにまたはラウンドロビン順序でパケットを周期的にサービスすることによって長時間の停止状態を防ぐ、優先順位規則に従ってサービスされる。
受信パケット・パイプライン81は、深さが限られており、したがって、到着パケットが、アービトレーションについて選択されていないか、時宜を得た形で出力VCを得ない場合には、そのパケットは、適当なVC FIFOに経路指定される。パケットが、そのFIFOの頭部に達する時に、そのパケットを、もう一度出力について調停することができる。FIFOが空の場合には、パケット、もう一度ほとんど即座に出力について調停を開始することができる。したがって、パケットが、基本的にFIFOを「通って流れ」、FIFOに入るのと同時に出ることが可能であり、これは、重要な最適化である。パケットのヘッダの別のCRCが、ヘッダが正しく受け取られる場合に限ってパケットがアービトレーションに勝つことを保証するのに使用される。
成功率を改善するために、入力アービタ88は、状況インジケータを出力VCから受け取る。これらの状況インジケータは、使用中のリンク、追加のパケットを受け入れることができないVC、およびVCで使用可能なバッファ空間のレベルを示す。出力VCは、物理リンクが使用可能であり、そのVCがパケットを受け入れることができる時にのみ調停される。適応パケットは、好ましい方向およびVCを有し、このVCは、リンクが空いている方向で最大の使用可能バッファ空間を有するVCである。アービトレーション・ハードウェアは、パイプライン化され、その結果、あるパケットの末尾と次に入力リンクを出るパケットの頭部との間にギャップがない。
メッセージ・トラフィックのほかに、リンク入力回路72は、トークンを許可するか、信頼性のために記憶されるパケットのコピーを解放する下流ルータからフロー制御パケットを受信する。これらのパケットは、フロー制御回路90によって検出され、同一の物理リンクを共用する出力のフロー制御回路内の下流トークン・ストアの補充をもたらす。逆に、フロー制御回路90は、正しく到着するパケットを検出し、同一の物理リンクを共用する出力のフロー制御回路に、トークン許可パケットを生成させる。
ルータ出力
図9は、図7のリンク出力回路74の例示的実施形態を示す詳細な図である。このリンク出力回路74の基本的な責任は、出力リンク上のパケットをスケジューリングして、高いスループットおよび公平さを得、信頼性のために送信されるすべてのパケットのコピーを保存し、リンクレベルのフロー制御および再送信を管理することである。
図9に関して、出力アービタ回路98は、6つの入力のそれぞれおよび7つの注入FIFO(図10に関して説明する)のそれぞれから、アービトレーション・サイクルごとに13個までの要求を受け取る。出力アービタ回路98は、1つの許可だけを返し、肯定応答を待つ。肯定応答が、次のアービトレーション・サイクルまでに来ない場合には、出力アービタ回路98は、もう一度調停する。肯定応答が来る場合には、出力制御によって、グローバル・クロスバ78がセットされ、その結果、勝った入力が出力に接続される。
物理出力リンクは、パケットに関して下流接続として、対応する入力リンクを介して下流から来るトラフィックに関連するフロー制御に関して上流接続として、みなすことができる。フロー制御回路92は、この両方の責任を処理する。フロー制御回路92は、下流パケットの代わりに各VCのトークン・ストアを管理し、上流パケットの代わりにトークンを含むフロー制御パケットを生成するか、記憶されたパケットの解放を生成する。下流トークンは、パケットが送信される時に必ず消費され、同一物理リンクを共用する入力のフロー制御回路92によって補充される。逆に、フロー制御回路92は、対応する入力のフロー制御回路によって要求された時に、フロー制御パケットを生成する責任も負う。再送信FIFO95は、ネットワーク信頼性方式の鍵になる構成要素である。動作中に、物理リンクを横切るすべてのパケットが、下流ルータから肯定応答が返されるまで記憶される。非常に時宜を得た形で肯定応答を用いて応答することは、下流ルータの責任である。パケットが、リンクを成功裡に横切る場合に、肯定応答が返され、そのパケットが、再送信FIFO95から削除される。送信エラーが検出される場合には、パケットの末尾に、エラー・フラグを用いてタグを付け、肯定応答が、上流ルータに返されず、タイムアウトおよび再送信がもたらされる。再送信の場合に、破壊されたパケットは、必ず、再送信FIFO95の頭部にある。というのは、肯定応答が順番に返されるからである。さらに、パケットは、別の障害の場合に再送信される時に、再送信FIFO95の末尾に返される。この方式が、ルータの間の送信エラーだけをカバーすることを理解されたい。ルータ内で発生する破壊の防止および検出は行われない。
再送信FIFO95のサイズは、657バイト程度のサイズが提案されるVC FIFOのサイズに非常に似た形で計算することができる。しかし、下流ルータに、肯定応答に応答する追加の時間を与えるために、このサイズはより大きい。追加のVC FIFO空間ではなく出力で再送信FIFO95を使用することの利益は、すべてのVCについて単一のFIFOで十分であることである。VC FIFOが、転送されたパケットのコピーの保存に使用される場合には、各VC FIFOを、再送信FIFO95のサイズと同一の量だけ拡張しなければならない。したがって、メモリ節約は、VCの数に対し線形である。さらに、再送信は、完全に出力で処理されるので、単純になる。
ローカル注入回路の詳細
図10は、図7のローカル注入回路73の例示的実施形態を示す詳細な図である。ローカル注入回路73の基本的な責任は、プロセッサ(通常はメッセージ・プロセッサ)が、送信のためにネットワークにパケットを注入できるようにすることである。図10からわかるように、例示的実施形態では、7つの注入FIFO94があり、6つは通常優先順位パケット用、1つは高優先順位パケット用である。注入FIFO94のすべてを、任意の出力VCに経路指定することができ、すべて同時に調停することができる。この配置によって、最近傍通信の性能が最大化される。すなわち、CPUは、本質的に、6つの通常優先順位FIFOのそれぞれを単一方向専用にすることができる。高優先順位FIFOは、大量のメッセージ転送の前のスカウト・パケット(scout packet)と、ネットワーク輻輳のソフトウェア解決の両方に有用であると想定されている。図11に関して説明するように、高優先順位パケットは、高優先順位VCの通常優先順位パケットをバイパスし、高優先順位受信FIFOで受信される。
ローカル受信回路の詳細
図11は、図7のローカル受信回路76の例示的実施形態を示す詳細な図である。この回路の基本的な責任は、ルータで終了するパケットをバッファリングすることである。図11からわかるように、6つの方向のそれぞれについて1つの高優先順位FIFOおよび1つの低優先順位FIFOの、12個の受信FIFO9がある。これらのFIFOを各方向の専用にすることによって、端末パケットがグローバル・クロスバ78を回避できるようになる。別々の高優先順位FIFOによって、システム・ソフトウェアが、高輻輳の条件から回復できるようになり、大きいメッセージ・スカウト・パケットの待ち時間が減る。
トーラス経路指定アルゴリズム
トーラス経路指定アルゴリズムでは、可能な時に必ず個々のパケットを適応的に経路指定することによって、ネットワーク・スループットを最大にすることを試みる。トーラス経路指定アルゴリズムは、おそらくはデッドロック・フリーであり、最小限のパスだけを使用する。パケット待ち時間は、バーチャル・カットスルー(VCT)経路指定の使用を介して最小にされ、VCT経路指定は、適度な負荷の下で、ワームホール経路指定のように振る舞う。パケットは、サイズが可変であり、ソフトウェアが待ち時間または帯域幅を優先できるようになっている。トーラス経路指定アルゴリズムの基本的な概念は、2つの仮想ネットワークすなわち適応ネットワークおよび決定的ネットワークを物理ネットワークに組み込むことである。適応ネットワークは、デッドロック・フリーではないが、決定的ネットワークは、デッドロック・フリーである。パケットは、常に決定的ネットワークを選択できるので、決定的ネットワークは、適応ネットワークでのデッドロックのエスケープ経路として働く。この手法に関するさらなる詳細は、参考文献、Jose Duato、「A New Theory of Deadlock-Free Adaptive Routing in Wormhole Networks」、IEEE Transactions on Parallel and Distributed Systems、Vol. 4、No. 12、pp. 1320-1331、1993年12月、およびSteven L. Scott、Gregory M. Thorson、「The Cray T3E Network: Adaptive Routing in a High Performance 3D Torus」、In Proceedings of HOT Interconnects IV、1996年8月にある。そのようなアルゴリズムは、ネットワークでVCT経路指定が使用されるので、実が比較的簡単である。さらに、パケットは、下流ルータにパケット全体を保持するのに十分なバッファ空間がない限り、送信されない。したがって、パケットがリンクを占有する時間は、必ず有限であり、その結果、デッドロックは、バッファ空間依存性としてのみ発生する。決定的ネットワーク経路指定アルゴリズムは、サイクル・バッファ依存性を全く有しないことが保証され、適応ネットワーク経路定アルゴリズムには、各ルータで決定的ネットワークに切り替える可能性が含まれる。
一実施形態では、適応ネットワークで、2つの同等のVCが使用される。すなわち、適応ネットワークを使用するパケットは、各ホップでどちらのVCでも使用することができる。2つの適応VCの長所は、単に、バッファリングされるパケットの間のヘッドオブライン・ブロッキングが減ることである。その結果、2つのパスが、グローバル・クロスバ78内に必要である。
考文献、C. Carrin、R. Beivide、J. A. Gregorio、F. Vallejo、「A Flow Control Mechanism to Avoid Message Deadlock in k-ary n-cube Networks」、Proceedings of the Fourth International Conference on High Performance Computing、pp. 322-329、1997年12月に記載のものなどの形でバブル・フロー制御が使用される場合に、決定的ネットワークに1つのVCだけが必要になる。このアルゴリズムでは、すべてのネットワーク・サイクルに少なくとも1つの空きパケット・バッファがあることが保証され、その結果、サイクリック・バッファ依存性に基づくデッドロックが不可能になる。複数のVCを使用する、他の周知の決定的デッドロックフリー経路指定アルゴリズムがある。たとえば、参考文献、W. J. Dally、C. Seitz、「Deadlock-Free Message Routing in Multiprocessor Interconnection Networks」、IEEE Transactions on Computers、pp. 547-553、1987年5月に記載の古典的次元順序付きアルゴリズムは、実に2つのVCだけを必要とする。したがって、決定的ネットワークで、2つをえないVCを使用することが好ましい。
適応ネットワークと決定的ネットワークの両方で、最小パス経路指定が使用されることが好ましい。すなわち、パケットは、有益な方向にのみ移動することができ、有益な方向は、パケットをその宛先に近づける方向である。さらに、経路指定アルゴリズムは、ノード障害を許容することができず、ノード障害は、本明細書で詳述するように、計算機を再分割することによって処理される。
パケットが、ネットワークに注入される時に、ソフトウェアによって、当該パケットが適応ネットワークを使用できるか否かが指定される。ほとんどのトラフィックが、適応ネットワークを使用することが期待される。注入キューの頭部にあるパケットは、ルータによって、着信パケットに似た形で扱われる。
ルータで終了しないすべての着信パケットによって、経路選択機能86(図8)がトリガされ、経路選択機能86が、潜在的な出力VCのセットを生成する。そのセットは、出力が許可されるまで、当該パケットと共に残る。負荷が軽いネットワークでは、パケットが、速やかに出力を調停し、勝つことができ、VC FIFOでのバッファリングが回避されると期待される。それでも、パケットは、VC FIFOの頭部に達する時に調停することができる。
デッドロック・フリーであることを保証するために、すべてのパケットが、その潜在的なVCのセット内に決定的アルゴリズムに準拠するVCを含める必要がある。各ホップで、そのようなVCが1つだけある。さらに、適応ネットワークを使用することを許可されるパケットには、すべての有益な方向の適応VCの両方が含まれる。したがって、適応ネットワークでのデッドロックは、1つ(または複数)のデッドロックしたパケットが決定的VCを選択する時に、必ず解決される。最終的に、これが必ず発生する。というのは、決定的ネットワークが、有限の時間で排出処理をする(かつ、使用可能になる)ことが保証されるからである。
適応経路指定についてイネーブルされたパケットは、適応であれ決定的であれ、必ず最初の使用可能なVCを選択する。したがって、当該パケットは、2つの組み込まれたネットワークの間でジャンプすることができる。VCT経路指定のゆえに、これは、おそらくデッドロック・フリーである。簡単に言うと、適応ネットワークから決定的ネットワークへの移動は、決定的ネットワークの観点から、注入とみなされる。逆に、決定的ネットワークから適応ネットワークへの移動は、決定的ネットワークの観点から、受信とみなされる。したがって、組み合わされたネットワークは、デッドロック・フリーのままになる。
トーラスでのクラス動作
線形ソルバおよびFFTなどのアルゴリズムは、3次元トーラスの1次元または2次元の表面に物理的にマッピングされるノードのグループ内での情報のブロードキャストを必要とする。これらのマルチキャスト要件を効率的にサポートするために、本明細書で「クラス経路指定」と称する、トーラス・ネットワーク内の第2のタイプの経路指定を使用する。クラス経路指定は、すべてのトーラス・リンクの受信端の少数(たとえば416個)のローカル・レジスタの使用を介して実されることが好ましい。「クラス」パケットとして区別されるメッセージについて、当該パケットの経路指定は、宛先によるのではなく、このローカル・レジスタによって決定される。このローカル・レジスタは、可能な出力のそれぞれの1ビットを担持するとともに、当該パケットが可能な継続のほかにローカルに記憶されなければならないことを示す1ビットを担持する。このクラス経路指定によって、広範囲の幾何学形状に対する効率的なマルチキャストが可能になる。
パケット・フォーマット
パケット化、再組立、および検証を含めて、メッセージ全体を信頼性のある形で配信するのは、通信サブシステムの責任である。さらに、通信サブシステムには、メッセージ受渡インターフェース(MPI)の性能を強化する特徴が含まれる。パケットは、経路指定のアトミック単位であるが、より大きいメッセージの一部であることがしばしばである。適応経路指定のゆえに、パケットは、順序はずれで到着することがある。したがって、各パケットに、それが属するメッセージおよびそのメッセージ内でそれが属する位置を指定するのに十分な情報を含めなければならない。ネットワーク・ハードウェアに関する限り、その唯一の責任は、各パケットを、送信元ルータの注入FIFO94(図10)から宛先ルータの受信FIFO96(図11)に信頼性のある形で転送することである。
図12に、本発明の好ましい実施形態によるトランスポート・パケット100のフォーマットを示す。図12からわかるように、第1バイト102に、タイプ・フィールドおよびいくつかのフラグ・ビットが含まれる。タイプ・フィールドによって、フロー制御、アプリケーション・メッセージ、およびエラー回復など、ルータによって異なる形で処理される必要がある、少数の基本的なパケット・タイプが区別される。同様に、フラグ・ビットによって、パケットがさらに区別され、デコードの必要なしにハードウェアを直接に活動化することができる。ハードウェア設計によって、どの特徴がタイプ・フィールドにエンコードされ、どれがフラグによって指定されるかが決定される。タイプ・ビットには、本質的に、受信FIFO96(図11)のどのセット当該パケットを保持すべきかを選択するのに使用されるビットが含まれる。
トランスポート・パケットの第2バイト〜第3バイトには、経路指定ヒント・ビット104およびVC番号106が含まれる。シリアル相互接続のゆえに、ヒント・ビット104を使用してできる限り早く出力アービトレーションを開始することが有利であり、ヒント・ビット104には、6つの可能な出力方向のそれぞれについて1ビットがある。セットされたヒント・ビット104は、当該パケットがその宛先に到達するために、対応する方向に進行する必要があることを示す。ヒント・ビット104は、宛先座標に達し、宛先座標がローカル・ルータ座標と比較された後に更新される。VC番号106によって、4つの仮想チャネルのどれを介して当該パケットがルータに入るかが指定され、VC番号106は、使用される出力仮想チャネルに基づいて、各ホップで更新される。第3バイト110、第4バイト112、および第5バイト114は、それぞれ、宛先ノードの絶対座標を表し、これらのノードは、3次元メッシュとして番号を付けられる。すべてのノードが、それ自体の座標を有するように構成され、したがって、これらのフィールドを選択された出力方向と共に使用して、下流ルータに関してヒント・ビット104を更新する。これらのフィールドは、パケット宛先に到達した後に、パケット宛先を確認するのにも使用される。
トランスポート・パケットのサイズは、たとえば、32バイトから256バイトまで、32バイトの増分で可変である。サイズ・フィールド115によって、パケットの32バイト「チャンク」の個数が示される。シーケンス番号フィールド118は、リンクレベル・シーケンス番号を維持し、その結果、脱落したパケットを検出できるようにするのに使用される。このフィールド115は、エンドツーエンド・プロトコルなどの別の機構が、必要な検出を提供する場合に、不要になることがある。ヘッダCRCバイト119も、パケットヘッダ・エラーを訂正するために設けられる。パケットの終り120には、本明細書で詳述するリンクレベルおよびエンドツーエンドのエラー検出および回復方式をサポートするエラー検出および表示ビットが含まれる。短く言うと、エンドツーエンド・エラー検出は、ローカル注入回路73(図10)によって生成され、ローカル受信回路76(図11)によって検査されるCRCコードによって提供することができる。リンクレベル・エラー検出は、各ルータのリンク出力回路74(図9)によって生成され、各ルータのリンク入力回路72(図8)によって検査されるパリティ・ビットによって提供される。破壊されたパケットが検出される場合には、リンクレベル・パリティ・コードが、エラー・インジケータによって上書きされ、その結果、そのパケットは、どこかに到着した時に破棄される。エラーの検出が、ルータのリンク出力回路74に関して本明細書で説明するリンクレベル再送信をももたらすことを理解されたい。
説明したネットワーク・アーキテクチャでまだ対処されていないが、検討されている複数の問題がある。好ましい実施形態では、不正なリンクまたはルータを検出および回避するための関連する機構と一緒に、欠落しているパケットを処理するタイムアウト機構が実されることを理解されたい。
メッセージ受渡
グローバル・コンバイニング・ツリー(Global Combining Tree)
グローバル・コンバイニング・ツリーでのメッセージ受渡は、トーラス・ネットワークのパケット構造に似たパケット構造の使用を介して実行される。ツリー・ネットワークでは、少数のクラス・ブロードキャスト動作に関する追加のサポートがある。ツリー・ネットワークは、システム割込みも使用することができる、トークン・ベースのネットワークである。メッセージは、VCで非ブロッキングである。割込みは、同一のデータ・ストリームで搬送され、特殊な「割込み」帯域外ビットの使用を介して、パケット伝送中を含めていつでも、データにインターリーブすることができる。メッセージは、システム内の任意のノードでツリー・ネットワークに注入され、転送のタイプに応じて、ツリーの頂点または最終的な宛先のいずれかに達するまでツリーを登る。
ツリーに関連するハードウェアは、計算ノードASICおよび入出力ノードASICに含まれる。計算プロセッサおよび入出力プロセッサへのインターフェースは、メモリ・マップFIFOである。各VCは、VCでの非ブロッキングを保証する独立のFIFOを有する。ツリーの算術機能およびブロードキャスト機能も、計算ASICに統合される。このローカル頂点で、ブロードキャスト動作および算術動作が、ハードウェアで実行され、非常に短い待ち時間につながる。ツリー構造は、もちろん、物理的な512個のノード・ミッドプレーン境界で「狭くなる」ので、ツリーの帯域幅は、最近傍リンクほどケーブルに関して高コストでない。したがって、各方向で同時に2B/プロセッサ・クロックをサポートできる高帯域幅ツリー・インターフェースを提供することができる。入力ステージには、VCレベルでセグメント化されるFIFOインターフェースも含まれる。
パケットは、当該パケットの宛先がノードIDと一致するかどうかに応じて、ツリーで経路指定されるか、捨てられる。図1〜図5に関して示したように、Gbイーサネット(登録商標)・トラフィックでは、このネットワークを使用して、ファイルおよびホスト・データを入出力ノードに送信する。
システム・パッケージ化
図13は、本発明のウルトラスケール・スケーラブル・スーパーコンピュータを示す概念的な平面図である。図13に示された例示的実施形態では、本発明のスーパーコンピュータ200に、全部で81920個のプロセッサと80個のラック202が含まれ、そのうちの72個のラックが、73728個のプロセッサからなる単一のシステム(65536個のプロセッサからなるシステムと共に予備の8つのラックが含まれる)として配線され、8つのラック204が、それぞれが別々の4096個のプロセッサからなる2つのシステムとして配線される。73728個のプロセッサからなるシステムに、たとえば8つのラック202のそれぞれの9つの行205として配置された、エレクトロニクスの72個の計算ラックが含まれる。予備の行を有する、(x−y−z)64×32×32個の計算機に最適化された、ある配線編成が仮定される。計算ラックは、たとえばエンタープライズ・サーバに使用されるものなど、Spectra−strip社の対より線に基づくケーブルを使用して一緒に接続される。ラック202の各対によって、Z次元のトーラスが完成する。したがって、ラックの各対には、(x−y−z)8×8×32として編成された2048個の計算ASICが含まれる。行またはアイルは、4つのそのような対を含み、(x−y−z)8×32×32に編成され、「y」方向が完成する。列によって、「x」方向が完成する。73728個のプロセッサ計算機全体が、物理的に(x−y−z)72×32×32として配線されるが、論理的には64×32×32として使用される。9つのアイルの1つを、予備として予約することができ、このアイルは、64k個の計算ノード・システムの一部ではない。
各計算ラックが、2つの「ミッドプレーン」からなり、各ミッドプレーンに、512個の計算プロセッサが含まれることが好ましい。ミッドプレーンは、互いに垂直に配置され、ラックの前後からアクセスされる。各パッシブ・ミッドプレーンに、ケーブルを受け入れる12個のリンク・カード、それぞれが8つのプロセッサASICを有する64個の計算カード、ギガビット・イーサネット(登録商標)および/またはInfiniBand(商標)接続を受け入れる2つまたは4つの入出力カード、システム・クロックを配布するクロック・カード、および計算カードのそれぞれからの100Mb/sイーサネット(登録商標)・リンクを統合する高速イーサネット(登録商標)・スイッチ・カードが含まれる。ミッドプレーンの左右の端にある電源接続によって、電源からの48V DCが給電される。
後述するように、スーパーコンピュータは、空冷であることが好ましい。各計算ラック内では、熱い気流が、水平に左から右へ流れる。室内空気が、左側からラックに入り、ラックの右上にある垂直出口プレナムから出る。モジュールに配置された冷却ファンのバンクに、計算機の稼動中に個別にアクセスし、サービスすることができる。
計算カードおよび入出力カードのそれぞれに、一意のアドレスが含まれる。この18ビット・アドレスは、バックプレーン上のカード位置(9ビット)ならびにバックプレーンのアドレス(9ビット)によって定義される。追加ビットを、カード自体でエンコードし、その結果、各プロセッサが一意のアドレスを有するようにする。このアドレスは、たとえば、カードのイーサネット(登録商標)・アドレスを形成するか、ホスト計算機の診断コードを介する障害の報告に使用される。
クロック分配
好ましい実施形態では、共通の最高速度のクロックが、システム200の72個のラック202に供給される。その代わりに、クロックを、プロセッサ速度の2倍で供給して、プロセッサ速度の4倍でのシリアル・データ通信を容易にすることができる。本発明は、特に、長期間位相ジッタを避けるために各プロセッサでのPLLを用いるクロック再生成の必要をなくす。共通クロックのの動機づけは、各プロセッサのローカル・クロックを共通周波数に保つことによる、長いソフトウェア・コンテキスト切替時間の可能性を除去することである。グローバル・ブロードキャスト機能を介する初期クロック同期化も提供される。
このクロックを分配する1つの例示的手段を、大型スーパーコンピュータ・アレイ210の次元的に正確な上面図に重ねて、図14に示す。ケーブル215として示されたアレイの中央付近の高周波数ソースは、クロック・スプリッタを使用して9つの出力にスプリットされ、ケーブル220に供給する2次ファンアウト・ボックス218への長さ約4.5mの差動ケーブルを介して分配されることが好ましい。これらの2次ボックス218は、ケーブル入力がクロック・ソースに置換される以外はクロック・スプリッタと同一であるが、3次クロック・スプリッタ223に分配し、3次クロック・スプリッタ223は、ケーブル224として示された1つのクロックを各ミッドプレーンに送る。ミッドプレーンでは、クロック分配カードが、ミッドプレーン上のすべてのカードのクロックを生成する。計算カードおよびリンク・カードは、同一のクロック・スプリッタを使用して、カード上のすべてのASICのクロックを生成する。クロック・ツリーの深さは、6ステージである。
好ましい実施形態では、ASICへのすべてのクロックが、ほぼ同一の遅延を有し、同一の数のケーブル、コネクタ、バッファなどを通過する。バイポーラ技術に基づくLVPECL(Low Voltage Positive Emitter Coupled Logic)クロック・チップを使用すると、クロック・バッファを介する遅延が、電圧からほぼ独立になり、これによって、差動クロック・チップの温度変動に起因するクロック・ジッタがほぼ除去される。ジッタの主な原因は、温度差であると思われ、これは、低速であり、本明細書に記載の新規のデータ・キャプチャ方式によって追跡されると期待される。2つの他の独立の4096個のノード・システムは、それ自体の独立のクロック分配を有する。
トーラス配線
前述のように、このシステムの各計算ASICは、6つの高速シリアル・リンクを用いて単一システム・イメージのすべての計算ノードを接続する3次元トーラスの一部である。各リンクは、方向であり、2つの差動信号対(たとえば、リンクごとに合計4本のワイヤ)を使用し、各方向でプロセッサの周波数の4倍のビット・レートで稼動する。700MHzの例示的プロセッサ周波数を用いると、最大データ・レートは2.8Gb/s/方向であり、3つの基本的な方向X、Y、およびZのそれぞれで隣接する近傍への通信が可能になり、ASICごとに16.8Gb/s(2.1Gバイト/s)の総トーラス帯域幅が得られる。表3に示されているように、計算カードトーラス接続は、論理的な(x−y−z)2×2×2構成で配置される。各論理次元での接続は、ミッドプレーンからコネクタを介してカードに入り、2つの計算ASICを直列に通過し、同一のコネクタによってカードから出る。同様に、ミッドプレーンの512個の計算ASICは、論理的に8×8×8のトーラス配置で接続される。各論理次元での接続は、リンク・カード上のリンクASICからミッドプレーンに入り、4つの計算カードおよび8つの計算ASICを直列に追加し、同一のリンクASICに戻る。これらのリンク・チップは、ミッドプレーンを出る信号のためにシリアル・リンクに力を供給しなおす。
Figure 0003980488


グローバル・コンバイニング・ツリー配線
前述のように、各計算ASICは、単一システム・イメージの計算ノード12のすべてを接続するグローバル・コンバイニング・ツリーの一部である。各ASIC20は、4つの再構成可能なリンク・ツリー接続を有する。ツリー内の各リンクは、両方向であり、8つの差動信号対(リンクごとに合計16本のワイヤ)を使用し、各方向でプロセッサの周波数の16倍のビット・レートまたは各方向でプロセッサ周波数の2倍のバイト・レートで稼動する。700MHzのプロセッサ周波数を用いると、ツリーを上下する最大データ・レートが、11.2Gb/s/方向または1.4GB/s/方向になる。これは、どの方向でも、トーラス・リンクのデータ・レートの4倍である。計算カードツリー・リンク接続250は、図15に示されているように配置される。各カードは、ツリーの最上部に向かってコネクタ255を介してカードから出る1つの上流リンク252を有する。各カードは、ツリーの最下部に向かってカードから出る2つの下流リンク258も有する。各計算カードのローカル・ツリーの頭部にあるノード121は、4つのツリー・リンク接続のすべてを使用して、コネクタおよび論理的にツリーの下にある他のカードへの2つの短待ち時間下流リンクを提供する。
図16に、入出力カードツリー・リンク接続を示す。図16からわかるように、ミッドプレーン上のツリーは、各入出力カード260aおよび260bが、ローカル・ツリーの頭部にあり、ミッドプレーンのプロセッサの半分が、論理的にその下になるように、論理的に配置される。2つの入出力カード260aおよび260bカードは、入出力ASICのうちの4つが、ミッドプレーン・ツリーの頭部になるように配線される。4つの入出力ASICのうちのどれが論理的にツリーの頭部になるかは、ソフトウェアによって構成可能である。これらの頂部の4つの入出力ASICは、計算カードの最上部にある計算ASICが、計算カードから出る上流信号および下流信号を送信する形に似た形で、ミッドプレーンから出る上流信号および下流信号を送信する
ラック設計
図17を参照するに、本発明のスーパーコンピュータのパッケージ化システム310では、ラック312ごとにできる限り多数のプロセッサが空冷される。ASIC、複数のDRAMモジュール、およびローカルDC−DCコンバータの非効率性を含む、計算カードに必要な目標電力は、たとえば10Wである。完全なラックには、計算カードのほかに、エア・ムーバ、AC−DC電源、リンク・チップ、イーサネット(登録商標)・スイッチ、入出力カード、クロックなどが含まれるので、これによって追加の熱負荷が加わる。したがって、説明される例示的実施形態での最適の設計選択では、ラック312ごとに1024個の計算ノードが配置され、期待される総熱負荷は、ラックごとに15KWである。後述するように、これらの1024個の計算カードは、単一の構成要素の故障が非常に高価な交換をもたらす回路カードごとの多数の構成要素の置換を避けながら、ケーブルおよびコネクタの数を最小にする形で構成される。
冷却
パッケージ化システム310のラック312は、強制空気対流によって冷却される。図17に、ラック312内の基本的な気流を示す。空気は、ラックの1側面に取り付けられたファン315のアレイによって、ラックの反対側に引き込まれる。冷気は、ミッドプレーンに挿入されたプロセッサ・カード(計算カードおよび入出力カード)を通って流れる。複数の平行の空気流路が、ラックのプレナム320によって集められ、カードの均一で効率的な冷却がもたらされる。ァン315のアレイは、グループにパッケージ化される。ファンの各グループは、冗長性を組み込まれたホットスワップ可能モジュール内に取り付けられる。ファン・モジュールは、ラックの動作に影響せずに交換することができる。ファンの速度および気温を、動作中に監視し、制御することができる。
配電
システム・ラックは、分散電源システムによって電力を与えられる。少なくともより小さい電源モジュールに関して、DC−DC変換の高い効率に起因して、48.0V配電が、配電方式として使用されることが好ましい。
この分散電源システムの中間は、AC/DCコンバータから派生し、ラック内のミッドプレーンに分散されることが好ましい。コンバータは、2+1トポロジで接続されて、分散電力バスに必要な冗長性がもたらされる。コンバータは、ホットスワップ可能であり、ラックをシャット・ダウンせずにいつでも交換することができる。コンバータの状況は、リモート・ホストによってアクセス可能なマイクロコントローラによって監視される。
分散電力の一部は、一定であり、もう1つはスイッチされる。スイッチされない電力バスは、ファン・モジュール、クロック、およびリンク・チップに連続的な電力を供給する。後述するように、システム分割に関して、ラックがサービスされている場合であっても、隣接するラックへの信号がメッセージ・ネットワークを通過できることを保証するために、リンク・チップへの電力が維持される。リンク・チップは、クロックとファンを必要とする。スイッチされる電力バスは、プロセッサ・カードへの電力を制御する。電源のDC/DC変換は、電圧制御が正確であり、フィードバックの帯域幅が広く、大電流が局所化されるので、プロセッサ・カードに配置される。
DRAMシステム用の2.5Vと、ASIC用の約1.2Vから1.5Vの2つの電源電圧が使用されることが好ましい。信頼性に関する懸念は、冗長電源を並列に使用することによって対処される。
ミッドプレーン
トーラス・ネットワークおよびグローバル・コンバイニング・ツリー・ネットワークの1つの可能な物理的経路指定を、図18に示す。概念的には、ミッドプレーン300に、64個の計算カードのカード接続302、12個のリンク(ケーブル)カード、2つの入出力カード、クロック、イーサネット(登録商標)、および電源ユニット(リンク・カード用)のカード接続が含まれる。ミッドプレーン300は、クロックと、トーラス・ネットワーク、ツリー・ネットワーク、およびイーサネット(登録商標)・ネットワークの高速差動配線を提供する。
システム分割
本発明のスーパーコンピュータは、ソフトウェア制御によって論理的に再割することができ、したがって、1つのシステムとして一緒に物理的に配線されたラックの大きいグループを、複数のシステムに論理的に分割することができる。これらの論理的に分離されたシステムのそれぞれが、異なるコードを同時に実行することができ、あるいは、いくつかの分離されたシステムを、他のシステムが計算している間にサービスすることができる。したがって、論理再分割によって、コード開発およびシステム保守が容易になる。再分割を制御するシステム・リンク・チップの動作を、図19に関してこれから説明する。
リンク・チップ
図19からわかるように、トーラス・ネットワーク、グローバル・コンバイニング・ツリー・ネットワーク、およびグローバル割込みおよびバリア・ネットワークは、リンク・チップ400を通過する。このリンク・チップ400、2つの機能をサービスする。第1に、リンク・チップ400は、ミッドプレーンの間でケーブル上の信号を再駆動し、異なるミッドプレーン上の計算ASICの間の長く損失があるトレースケーブルトレース接続の中央での高速信号の形状および振幅を改善する。第2に、リンク・チップ400は、その異なるポートの間で信号をリダイレクトする。このリダイレクション機能が、このスーパーコンピュータ・システムを複数の論理的に別々のシステムに分割できるようにする機能である。
正規リダイレクション
リンク・チップ400は、正規リダイレクションおよびスプリット・リダイレクションと称する、2種類の信号リダイレクションを実行する。正規リダイレクションでは、大きいコンピュータ・システムの1論理方向から1つのミッドプレーンが除去される。正規リダイレクションを、図19のモード1および2として示す。これには、リンク・チップ400のポート401、404、405、および406が用いられる。ポート401および404は、特定のトーラス論理方向x、y、またはzで、現在のミッドプレーンと上位または下位のミッドプレーンとの間で+方向ケーブルおよび−方向ケーブルに接続される。これらのケーブル接続を、図20では矢印によって示す。ポート405および406は、ミッドプレーン内で8つの計算プロセッサを介して直列に循環するトーラス・ループに接続される。これらのミッドプレーン・トーラス・ループの経路指定は、本明細書で図13に関して説明した。モード1で動作する時に、リンク・チップ400は、前のミッドプレーンから現在のミッドプレーンを介して次のミッドプレーンへ信号を経路指定する。これによって、現在のミッドプレーンが、より大きいコンピュータ・システムの一部になる。モード2で動作する時に、前のミッドプレーンからのポート404を介するケーブル信号が、ポート406を介して次のミッドプレーンに直接に渡され、現在のミッドプレーンが、より大きいコンピュータ・システムから除去される。やはりモード2で、現在のミッドプレーンの信号は、ポート405および406を介してミッドプレーン内でループし、より小さいコンピュータ・システムが構築される。
スプリット・リダイレクション
スプリット・リダイレクションでは、大きい64×32×32システムを、2つの同等の32×32×32の半分に分割できるようになる。リンク・チップ400で実される時に、スプリット・リダイレクションでは、システム分割の多数の変形が可能である。しかし、長いケーブルのコストおよび信号の完全性の懸念に起因して、スプリット・リダイレクションが、論理X方向でのみ物理的に配線され、大きいシステムを2つの等しい半分に分割できるようにするのに必要な数のラック・アイルでのみ物理的に配線されることが好ましい。スプリット・リダイレクションを、図19のモード3および4に示す。3から10までの8つのモードが、スプリット・リダイレクションを達成するのに必要であるが、図9には、そのうちの2つ、モード3および4だけが示されている。スプリット・リダイレクションでは、リンク・チップ400によって、隣接するミッドプレーンへの+ケーブル方向または−ケーブル方向とみなされるケーブル・ポートが再定義される。リンク・チップ400は、正規ポート401からの+方向ポートを、スプリット・ポート402または403に再定義し、あるいは、正規ポート404からの−方向ポートをスプリット・ポート402または403に再定義する。正規ケーブルは、図20で矢印を有する細い線によって示され、スプリット・ケーブルは、たとえば図20で425bという符号を付けられたラックの行に示されたものなど、「論理Yケーブル」として示される。
分割
論理再分割によって、本発明のスーパーコンピュータ・システムをどのように再分割できるかに関するある範囲の任意選択が可能になる。図20に、正規分割およびスプリット分割の両方を示し、ミッドプレーンをサービスのためにシステムから分離できる例を示す。
スプリット分割は、大きい72×32×32システムの、ほぼ等しい半分の、40×32×32システムおよび32×32×32システムへの分割をもたらすことができる。これは、ミッドプレーンが誤動作している時に、そのミッドプレーンが物理的にどこに配置されるかに無関係に、32×32×32システムが必ず構築されることを保証するために、2つの形の1つで達成することができる。40×32×32システムが上位5つのアイルであり、32×32×32システムが下位4つのアイルであるか、その逆であるかのいずれかである。たとえば、図20のラック410に示されたラックのミッドプレーンが、サービスを必要とする場合に、スプリット区画を使用して、上位4つのアイルと下位5つのアイルの間でシステムを分割することができる。この場合に、(図20の下位5つのアイル)を含むラック415が、40×32×32システムを形成し、上位4つのアイルのラック420が、別々の32×32×32システムを形成する。両方のシステムを、このサイズで動作させることができ、あるいは、これらを、正規分割を使用してさらに再分割することができる。
正規分割は、1つの8ノード・スライスを任意の論理方向から分離するのに使用される。ラック410のミッドプレーンが誤動作している場合に、正規分割を使用して、下側の40×32×32システムの残りについて下から2番目のアイルを論理x方向で分離し、アイル425a425dで提供されるラックによって示された32×32×32システム(添付の凡例でシステム#1として示される)およびアイル430に示されたラックを含む8×32×32システムを構築することができる。この論理y方向での8×32×32セクションの正規分割によって、ラック410および411のラックが、アイル430の残りのラックから分離され、8×24×32セクション(添付の凡例でシステム#2として示される)および8×8×32セクション(ラック410および411を含む)が与えられる。8×8×32セクションの論理z方向での2回の正規分割によって、ラック410とラック432a、…、432fが分離され、8×8×16セクション(添付の凡例でシステム#3として示される)と2つの8×8×8セクション(添付の凡例でシステム#4および5として示される)がもたらされ、他の再分割のすべてが計算している間に、8×8×8セクションの1つをサービスすることができる。上側4つのアイルの論理y方向に沿った類似する分割によって、32×16×32再分割435(添付の凡例でシステム#6として示される)、32×8×32再分割440(添付の凡例でシステム#7として示される)、および32×8×32再分割445(添付の凡例でシステム#8として示される)がもたらされる。
正規分割をさらに使用して、2つの小さい8×16×32(4096個のプロセッサまたは4ラック)に、図13の最下部に示されたシステム204を再分割することができる。この2つのシステムは、大きい72×32×32システムとは別に物理的に配線されるので、大きいシステムと組み合わせて80×32×32システムにすることはできず、互いに組み合わせることもできない。スプリット分割を、2つの小さい8×16×32システムにさらに提供することはできない。
グローバル・コンバイニング・ツリー信号およびグローバル制御信号は、トーラス信号と同一のリンク・チップおよびケーブルを介して経路指定される。したがって、正規再分割およびスプリット再分割によって、ツリーが、トーラスと正確に同一の副区画に分割される。論理副区画内では、各ミッドプレーンの入出力プロセッサが、ソフトウェアによって再構成されて、図15に関して前に説明したように、区画内のツリーが接続される。
シグナリング
本明細書で説明するように、スーパーコンピュータには、2つの別々の高速通信ネットワークすなわち、3次元トーラス・ネットワークおよびグローバル・コンバイニング・ツリー・ネットワークが含まれる。これらのネットワークでのシグナリングの好ましい電気設計および実の詳細を、図21に関して説明する。
単一方向シグナリングおよび同時両方向シグナリング
トーラス・ネットワークの帯域幅は、プロセッサ・クロック・サイクルごとに両方向で4ビットのデータを転送できるようになっていることが好ましい。この高速レートを達成する実施形態の1つが、各方向に1つの、2つの単一ビット単一方向リンクの使用である。したがって、各リンクは、プロセッサ・クロック周波数の4倍と等しいデータ・レートで動作しなければならない。これらの接続が、シリアル・リンクであり、データだけ(別々のクロックなし)が伝送されることが好ましい。代替的な実装では、参考文献、Kevin Lamb、Larry R. Dennison、William J. Dally、「Simultaneous Bidirectional Signaling for IC Systems」、Proceedings ICCD Conference、pp. 430-433、1990年10月、およびMatthew Haycock、Randy Mooney、「A 2.5 Bb/s Bidirectional Signaling Technology」、Hot Interconnects V Proceedings、pp. 149-156、1997年8月に記載のものなどの同時両方向(BiDi)シグナリングを使用してもよい。すなわち、各ノードの間のリンクは、同時に両方向で信号を搬送する。したがって、リンク上の各方向でのデータ・レートを、同時BiDiを使用することによって、プロセッサ・クロック周波数の2倍まで減らすことができる。同時BiDiによって可能にされるより低速のデータ・レートによって、必要な相互接続帯域幅が減り、より複雑なドライバ/レシーバ回路を犠牲にして、データ・キャプチャ回路でのより緩和されたタイミング・バジェット(timing budget)が可能になる。これらの理由から、同時BiDiが、より拡張可能にもなることがある。しかし、「逆方向チャネル」クロストークに起因する追加のノイズを、ノイズ・バジェットおよびタイミング・バジェット以内に含めなければならない。図21に、2つのノードを相互接続するケーブル455の両端を駆動する差動同時両方向ドライバ/レシーバ回路450の対を示す。
図21からわかるように、差動同時両方向ドライバ/レシーバ回路450の対は、信号線の各端460aおよび460bの被駆動信号の複製を、同一のそれぞれの端で差動レシーバ470aおよび470bの1つの入力に印加することによって動作する。これによって、他端からの信号の検出の閾値が効果的に設定され、したがって受信される波形の近端ドライバの寄与が打ち消される。
グローバル・ツリー・ネットワークでは、3次元トーラス・ネットワークと同一の回路および相互接続技術が使用されることが好ましい。したがって、接続ごとの生データ・レートは同一である。しかし、グローバル・ツリー・ネットワークには、各方向で4つの個々のデータ・リンクが含まれる。したがって、グローバル・ツリー・ネットワークは、プロセッサ・サイクルごとに16ビットを転送することができる。これらの相互接続ネットワークで要求される高いデータ・レートに起因して、差動シグナリングが、すべての接続に使用される。既知のように、差動シグナリングは、改善されたノイズ・マージン、コモン・モード除去、および低い電源(同時スイッチング)ノイズ生成を含むさまざまな長所をもたらす。本発明のパッケージ化アーキテクチャでは、これらの高速差動相互接続が、本質的に2種類であることが指示される。最も一般的な接続は、プリント回路カードを介するノードツーノードからまたはカードおよびバックプレーンの配線の組合せである。
クロック分配
本発明のスーパーコンピュータでのシリアル・データ・キャプチャは、非常に低電力になるように設計されている。この目的に向けて、データが、ローカル・クロックを用いて始められ、ローカル・クロックを用いてキャプチャされ、この2つのローカル・クロックは、同一周波数であるが任意の位相である。これによって、データと共に起動クロックのコピーを送信するという要件がなくなるが、この要件があると、実されるシリアル・リンクの場合に、ASICを出るワイヤの数および駆動する回路の数が増える。
この条件を達成する最も簡単な形は、システム内のすべてのプロセッサに、プロセッサ速度のクロック(最高速度のクロック)を分配することである。代替案では、低速クロックを分配し、ASIC内で所望のプロセッサ周波数にシフトすることができるが、これに必要なPLLは、データ・キャプチャに有害であると論じられてきた。代替案は、プロセッサ速度の2倍のクロックを分配することであるが、これは、ASIC内でのプロセッサ・クロックの抽出を必要とする。これは、PLLなしで達成することができ、望み通りに、プロセッサ速度の2倍または4倍でチップからデータを駆動するための正確なクロック・エッジが可能になる。
所望の多数のクロック・ファンアウト基板および所望の長さのケーブルを含むクロック分配を一緒に接続して、所望の深さを達成することができる。たとえば、10のクロック・ファンアウトの場合に、5レベルの再駆動によって、100000個のクロックが生成される。たとえば、本明細書で図14に関して説明したように、スーパーコンピュータに関するカード、基板などへのエレクトロニクスのセグメント化で、6レベルの再駆動が必要である。この形で、100ps未満の最大スキューを有し、少なくとも700MHz、望ましくは1.4GHzの周波数の、安定した分配されるクロックが実現される。
シリアル・データ・キャプチャ
ASICノードに関して2.8Gb/s(各方向)のシリアル・リンクの帯域幅および最小限でも各方向で1.4Gb/sのデータ・レートとして、帯域幅は、本明細書で説明するように両方向である。両方向の要件は、本明細書で説明するように、低電力および低コストという動作制約に従って、複数の形で処理される。この手法に関連する特定の課題が、低電力制約である。これが、リンク伝送に関する相対位相情報の欠如と結合されて、標準的なPLLクロックおよびデータ回復の設計が排除される。
PLLを使用しない、データと共に移動するソース同期クロックの使用によるデータ伝送の達成という作業は、当技術分野で既知である。本発明では、入出力の数および信号の数が効果的に2倍になることに起因して、このクロックが、データと共には送られないので、位相抽出およびデータ回復が、やはり実行される。位相情報を回復できる複数の可能な形がある。
この目的に使用されることが好ましいディジタル・データ・キャプチャ方式を、図22および23に関してこれから説明する。図22および23に、それぞれ、信頼性があり低電力で少数のセルを用いて、クロック速度の2倍から4倍のレートでデータをキャプチャし、ローカル・クロック・ドメインに移すという目的を達成する、シリアル・データ・キャプチャ用の受信マクロ・ブロック500および送信マクロ・ブロック520を示す。図22および23からわかるように、内部クロック周波数は、ビット時間の周波数の半分すなわち、ダブル・データ・レート(DDR)である。この方法は、望まれるならば、SDRモードで使用するか、クワッド・データ・レート方式に拡張することもできる。この方法は、たとえば両方向シグナリング代替に関して、700MHzクロックおよび1.4Gb/s/対/方向の同時両方向通信と共に働く。
受信マクロ・ブロック500での待ち時間は、データのバイト位相に応じて7ビット時間と2ビット時間の間であるが、バイト出力をスキップすることによって、待ち時間を3から4ビット時間まで減らすことができる。これは、データ内容を無視できる時の信号再駆動に関して適度な手法である。
図22に示されたデータ・キャプチャ用の受信マクロ・ブロック500に関して、高速タップ付き遅延線を介してビットを送り、ローカル・クロックを用いてすべてのタップをサンプリングすることによってデータをキャプチャする方法を実する。各タップをそのと比較して、同一であるかどうかを調べる。これらの比較の集合体が、クロックド・ストリング(clocked string)を形成し、このクロックド・ストリングが、前のクロックド・ストリングと組み合わされて、最適サンプリング点の判定に使用することができるヒストリが生成される。最適サンプリング点は、データが遅延タップの間で変化しない領域を探すことによって、ヒストリ・ストリングから見つけることができる。ヒストリは、ローカル・クロックごとに更新される。プログラム可能な永続性期間を有し、分離ビット・エラーに対して免疫性であるキャプチャ方式を開発できるようにするために低い頻度で更新される追加の「アイ」パイプライン式レジスタがある。永続性時間は、任意の長さに設定することができるが、信頼性のある形でデータ・エッジをサンプリングするのに必要な最大時間より短くしてはならない。ローカル・クロック期間より高速のビット時間に対応するために、クロックの両方のエッジが、DDRデータのキャプチャに使用される。クロックの各エッジは、最適のアイを見つけるために、それ自体の関連するキャプチャ・レジスタおよび独立の論理を有する。したがって、この技法は、ローカル・クロックおよび送信側クロックのデューティ・サイクルの非対称性に対して十分に免疫性である。
システム・ソフトウェア
ソフトウェアは、すべてのコンピュータのクリティカルな構成要素であり、新しいアーキテクチャを有するコンピュータで特に重要なので、最下レベルで非常に単純かつ効率的でありながら、ほとんどの並列アプリケーションを稼動させるのに十分である、ソフトウェアの堅牢な階層化システムが実される。例示的実施形態のシステム・ソフトウェアには、7つの統合されたサブシステムが含まれ、これらのサブシステムを一緒にして「オペレーティング環境」と称する。これらのサブシステムのそれぞれは、ホスト複合体(ホスト計算機)、計算ノード、および入出力ノードにまたがる、分散構成要素と、そのインターフェースからなる。これらのサブシステムには、1)計算機管理、構成、および診断と、2)信頼性・可用性・保守性(RAS)と、3)区画およびジョブ管理と、4)科学/技術計算カーネルおよびランタイム環境と、5)ファイル・システムおよび入出力と、6)アプリケーション開発およびデバッグ・ツールと、7)性能トレースおよび視覚化ツールが含まれる。
ホスト複合体
ホスト複合体は、アプリケーション開発およびシステム管理のための計算機へのインターフェースを提供し、ホスト複合体には、メッセージ受渡ソフトウェアを含む、アプリケーション・プログラマに提供されるシステム・カーネル動作およびソフトウェア・インターフェースを含む計算ノード・ソフトウェアと、アプリケーションをホスト複合体にインターフェースする入出力ノード・ソフトウェアが含まれる。ホスト複合体は、後述するように、ソフトウェアを稼動させるための必要に応じて、小さくすることも大きくすることもできる。
システム・コンソールおよび区画管理
システム・コンソールは、RASデータベースと共に、区画へのノードの割振りの責任を負う。本明細書で図19および20に関して説明したハードウェア分割戦略では、独立の電気的に分離された区画を作成する空間分割モデルが使用される。本発明のシステムでは、計算機で同時に使用可能な区画の数を、1128の範囲とすることができる。最小の区画は、8×8×8トーラスと8つの入出力ノードからなり、区画を、任意の次元で8ノードの倍数で増やすことができる。ホスト複合体ソフトウェアによって、対話インターフェースを介してまたは不在操作のためにバッチ管理システムを介してこれらの区画にアクセスできるようになる。使用することができるバッチ管理システムに、LoadLeveler(商標)が含まれる。
ファイル・システム
ホスト複合体の最も重要なタスクの1つが、システムで稼動する並列アプリケーションのファイル入出力の必要をサービスすることである。一実施形態では、ハードウェアおよびソフトウェアが、計算機によって提供される計算リソースと独立に、1テラビット毎秒をえるピーク維持可能帯域幅まで、絶対容量および集合帯域幅の両方に関して、ファイル・システムをスケーリングできるようになるように設計される。複数のアプリケーションが、適度なファイル入出力の必要を有し、他のアプリケーションは、飽くことを知らない必要を有する。ファイル・システムのサイズを決定するの要因が、総合的なアプリケーション性能に過度に影響せずに、透過的およびアプリケーション・サポートの両方の、チェックポイントおよびリスタート機能のサポートを提供するというオペレーティング環境の望みである。
図24に、フェールオーバを備えたツイン接続SCSI RAIDの概念的な繰り返し構造を有するファイル・システム550を示す。図24のファイル・システム550は、ホットスワップSCSIディスク・ケージ553aおよび553bなどから構成され、このディスク・ケージのそれぞれに、標準ラックマウント・フレーム内の複数のディスク・ドライブが含まれる。これらのディスク・ケージに、複数チャネル・ハードウェアRAID(新磁気ディスク制御機構)コントローラ、冗長電源、および2つの外部SCSIバス接続が含まれることが好ましい。ハードウェアRAIDコントローラは、複数のディスク・ドライブをRAID「ストライプ・セット」にグループ化し、RAID−0(保護なしの単純なストライピング)からRAID−5(パリティ保護付きのブロック回転ストライピング)までの範囲の複数のストライプセット構成をサポートする。複数のRAIDストライプセットが、ディスク・ドライブのより大きいアレイにまたがって一緒にストライピングされる、「スパニング」と称するより高水準のRAIDも、このハードウェア編成によってサポートされる。この例が、RAID−50であり、これは、複数のRAID−5ストライプセット自体が、ディスク・ドライブのより大きいクラスタにまたがってストライピングされる。本発明の目的のためには、RAID−5は、必要な信頼性を提供する。この構成では、複数ディスクRAID−5ストライプセットが、オンライン予備として使用可能なケージごとに少なくとも1つのディスクを有するように構成される。アクティブディスク・ドライブの1つが故障した場合に、ハードウェアRAIDコントローラは、故障したドライブからのデータを予備に透過的に再構成し、この問題についてシステム管理ソフトウェアに通知すると同時に、故障したディスク・ドライブのホットスワップ・ベイのLEDを点滅させる。
ディスク・ケージのほかに、ファイル・システム550では、ラックマウントの標準的なPCが使用される。これらのPCのそれぞれに、2チャネルSCSIコントローラが含まれる。好ましい構成では、SCSIチャネルの一方が、RAIDディスク・ケージ、たとえば553aへの「1次」インターフェースと指定され、他方が、RAIDディスク・ケージ、たとえば553bへの、ホット・スタンバイまたは「フェールオーバ」モードにされ、そのRAIDケージの1次PCが故障した場合にファイル・システム・インターフェースを引き受ける準備ができている。この構造では、RAIDディスク・ケージが、「ツイン接続され」、これは、その内部SCSIバスが、両端で、サーバ555、556などとして示された異なるホストにインターフェースすることを意味する。
サーバPCに対する2つの追加構成要素がある。第1の構成要素は、リモートからの構成、ブート、電源オン/オフ、各PCへのイーサネット(登録商標)接続またはシリアル接続を介するPCの監視の能力を提供する、「基本管理コントローラ」(BMC)などの「リモート管理」インターフェース構成要素である。第2の構成要素は、ギガビット・イーサネット(登録商標)接続である。この接続は、マルチポート・ギガビット・イーサネット(登録商標)・スイッチを介する、入出力ノードへのインターフェースを提供する。
RASデータベース
過渡的(ソフト)または永続的(ハード)のいずれであれ、本発明のスーパーコンピュータで、すべての可能な障害状態を追跡し、分析する能力は、非常に重要である。この目的のために、パッケージ化プランによって、システム・ソフトウェアに、計算機の主要な構成要素のすべての正常性および状況に関する完全な情報を与える。どの場合でも、この情報によって、計算機内の正確な位置が伝えられ、適当な場合に、ラック、ラック内のミッドプレーン、ミッドプレーン上のノードカード、およびノードカード上のノードが識別される。システム全体のイーサネット(登録商標)・アダプタごとに、その一意の「MAC」ハードウェア・アドレスが、ラック、ミッドプレーン、およびノードカード位置によって割り当てられ、これによって、かかる装置の正確な位置がイーサネット(登録商標)・アドレスにエンコードされる。ファンおよび電源内などのセンサおよびモニタの一部は、計算ノードおよび入出力ノードと独立に動作するが、ECC障害などの他のセンサおよびモニタは、情報を収集しホスト複合体に転送する、ノードで稼動するシステム・ソフトウェアに情報を供給する。
公称範囲の外に含まれるすべての条件が、「RASイベント」(RASは信頼性・可用性・保守性を表す)を生成する能力を有する。ホスト複合体で稼動するシステム・ソフトウェアが、イーサネット(登録商標)接続された、センサおよびモニタを管理するマイクロコントローラ、または計算ノードおよび入出力ノードのノード・カーネルのいずれかから、100Mbイーサネット(登録商標)RASネットワークを介してこれらのRASイベントを集める。この情報は、ホスト複合体で維持される複数索引付きのRASデータベースにログ記録される。このデータベースで追跡されるRASイベントには、1)ECC訂正された単一ビット・エラーおよび訂正不能な複数ビット・エラーを含む、物理アドレスによって分離されたメモリ障害と、2)トーラスまたはグローバル・ツリーの高速リンクあるいは100Mビットまたは1Gビットのイーサネット(登録商標)のいずれかでの、CRC不一致に起因するパケット再試行を含むネットワーク障害と、ラック電源とノードカードDC−DCコンバータの状況とを含む、公称範囲外の電圧および電力の変動と、4)ファン状況およびファンRPMを含む、ラック内でまたは個々のノードによって検出される温度変動が含まれる。
RASデータベースは、次のように使用される第1に、これは、システム管理者および区画管理ソフトウェアに計算機の正常性のリアルタイムの光景を与えるオンライン・ツールである第2に、RASイベントは、計算機内の地理的位置によって個々の構成要素に分離されるので、RASデータベースは、パッケージ化、電力、および冷却の設計を検証するのに使用され、したがって、計算機の保守性が改善される。第3に、計算機の完全な「病歴」を維持することによって、RASデータベースは、経時的に計算機のオンライン可用性を予測するようになるデータ・マイニング分析をサポートし、これによって、おそらくは実際の構成要素故障の前に、システム保守をスケジューリングし、計画できるようになる。うわべは無害なイベントの予測的な性質の例が、メモリ・チップで発生し、この場合に、メモリ・バンクでの、繰り返されるソフト・エラーまたはソフト・エラーのレートの加速によって、切迫したハード障害が強く示される。同様の分析が、データ・ケーブルおよび入出力装置と、ハード・ディスクに成功裡に適用されてきた。
低水準デバッグ環境
本発明のスーパーコンピュータでは、各ASICが、完全なIEEE 1149.1 JTAGインターフェースをサポートする自己完結型低水準デバッグ・クライアントを提供する。この低水準デバッグ環境は、RASおよび診断環境と密に結合される。この環境は、チップ内のすべての設計された状態およびデバイスに関する、ホスト計算機(ホスト複合体)からのASICへの可視性を提供する。この環境は、各プロセッサを調べる能力も提供し、すべての状態を検査するか修正できるようにし、シングルステップ動作またはブレークポイント設定をサポートする。この環境を用いると、わずかに上位の水準で状態を検査または修正することができる命令を、命令ストリームに挿入することが、透過的に可能になる。このデバッグ環境は、オンチップの完全なIEEE 1149.1 JTAGポートにインターフェースする100Mb RASネットワークを介してサポートされる。JTAGデバッグ・ポートへのアクセスは、アプリケーション動作にとって透過的に行われる。いくつかの場合に、JTAGデバッグ・ポートへのアクセスは、システム・カーネルとインターフェースする。ホスト複合体ソフトウェアは、IMD標準組込みソフトウェア開発ツールであるRiscWatch(商標)に基づくものとすることができる。の選択肢は、現在はハイエンド・サーバ・オファリングで使用される、拡張BlackWidow(商標)デバッグ環境である。
高水準並列デバッグ環境
前述の低水準デバッグ環境のほかに、オペレーティング環境は、さらに、並列アプリケーションの高水準デバッグをサポートする。マルチプロセッサ・アプリケーションデバッグ・インターフェースを提供する人気のあるツールの1つが、Etnus, LLC.社によって開発されたTotalView(商標)であり、これには、2つの主要な構成要素が含まれる。第1の構成要素は、ホスト計算機上で「デバッグ・サーバ」として稼動する、数百個のノードで稼動する並列アプリケーションのデバッグに使用されるグラフィカル・ユーザ・インターフェース(GUI)である。TotalViewは、異なるノードで稼動するアプリケーション・ソース・コードの独立のビューと、並列アプリケーションのデータの状態を追跡できる変数ウィンドウを提供する。TotalViewは、並列アプリケーションの分散データ構造の内容の視覚化もサポートする。第2の構成要素は、ptrace()インターフェースをサポートする「デバッグ・クライアント」である。
TotalViewのそれに非常に似たクライアントサーバ・モデルを既にサポートしている、Gnuデバッガ(gdb)などの、追加の分散デバッグ環境を実できることを理解されたい。
並列アプリケーションでの、正しさのバグ、競合状態、またはアドレッシング障害のほとんどが、プログラムが数百個のノードをえてスケーリングされるよりかなり前に除去されるので、ソース・コード・レベル・デバッグは、これらのタイプのエラーを見つけるのに最も適する。数百個のノードをえるスケーラビリティに関して、並列プログラミングでの作業の多くが、性能チューニングおよびロード・バランシングで行われ、これは、個々のUTEインターバル・ファイルおよびマージされたUTEインターバル・ファイルを視覚化するツールであるUTE Gantt Chartなどのアプリケーション視覚化およびトレース・ツールによって最もよく達成される。
科学および技術計算カーネル
計算ノードおよび入出力ノードについて提案される科学および技術計算カーネルを、これから説明する。
アーキテクチャ的に、ノードASIC内で、計算プロセッサおよび入出力プロセッサは、同一であり、ハードウェアの観点から、すべてのオンチップ・デバイスへの対称アクセスを有する。この2つのプロセッサの間の唯一の相違は、一意のインスタンス番号を提供する、チップ上の各コアの「プロセッサ識別レジスタ」(PIR)の1ビットのストラッピングである。規約により、低水準JTAGデバッグを助けるために、システム・ソフトウェアは、コアに、たとえば計算プロセッサとして0と等しいPIRを用い、たとえば入出力プロセッサとして1と等しいPIRを用いてラベルを付ける。
簡単に言うと、計算プロセッサの仕事は、気を散らさずにアプリケーション・コードを実行することである。入出力プロセッサの仕事は、メッセージの送信および受信という作業のほとんどを含む、並列オペレーティング・システムに要求されるすべてのアクティビティを計算プロセッサからオフロードすることである。この2つのプロセッサの間の単純で効率的なプログラミング・インターフェースと共に、この機能の分離によって、割込み、タイマ・ティック、コンテキスト・スワップ、保護ドメイン・クロッシング、およびほとんどの監視プログラム呼出しを含む、従来のオペレーティング・システムに固有のオーバーヘッドおよび非同期性なしに、各プロセッサがその使命を実行できるようになる。この構造によって、応答し、アプリケーション・エラー、クラッシュ、またはデッドロック、ならびに非致命的RASイベントに耐える、特権を与えられ保護されるカーネル・コンテキストの維持が可能になる。全体として、この構造は、従来の手法よりはるかに微細な粒度で、並列アプリケーションのスケーラビリティの増大につながる、予測可能で反復可能な性能を提供する。
入出力プロセッサは、ほとんどの時間を監視プログラム状態で過ごし、着信パケットについて高速通信リンク・バッファおよびイーサネット(登録商標)・コントローラを監視する。入出力プロセッサは、さらに、メッセージ送信またはファイル入出力などのサービス要求についてアプリケーションを監視し、RASイベントについてノード自体を監視する。入出力プロセッサは、メッセージ受信突合せオーバーヘッドが、MPI−2によって提供されるものを含む一方的な通信の場合のように単純かつ効率的に保たれる場合に、最高の帯域幅で通信リンクをサービスしながらこれらのタスクのすべてを実行することができる。
全体として、この編成は、ほとんどのアプリケーションについて通信に対する計算の最善の比率をもたらすので、「バランスがとれている」。しかし、計算と通信が均等に分配されず、むしろバーストで交番するアプリケーションについて、「高度な計算制約(Highly Compute Bound)と称する代替手法が使用可能である。このモードでは、通信が遊休になる時間ウィンドウ中に入出力プロセッサの計算力を使用する、追加のアプリケーション・スレッドが作成される。しかし、この動作のモードは、コストなしではない。というのは、計算プロセッサ・スレッドと入出力プロセッサ・スレッドの間でのデータの共用が、アプリケーションによって明示的に管理されなければならないからである。ほとんどの場合に、これには、単純に、L1キャッシュをライトスルー・モードまたはおそらくはキャッシュ禁止モードにしたシステム呼出しが用いられる。さらに、すべての予期されないメッセージによって、割込みが生成される可能性が高く、これによって、予想される利益の一部が盗まれる。このモードでRASイベントが発生する場合には、やはり割込みが生成される。
仮想記憶、キャッシュ、および事前取出しの管理
各ノードが単一のアプリケーション・コンテキストをサポートするという事実にもかかわらず、カーネルは、PC−440プロセッサによって複数の重要な形で提供される仮想記憶の管理機能、保護機能、および変換機能を、完全に利用する。第1に、カーネルは、アプリケーションによる誤ったまたは「無法な」ロードおよびストアに対してそれ自体を保護し、その結果、カーネルを破壊できなくする。これによって、カーネルによって提供される高水準のデバッグ機能およびトレース機能が無傷のままになることと、ホスト複合体が、RASネットワークだけを介する場合であっても、カーネルと必ず相互作用できることが保証される。第2に、変換をサポートすることによって、カーネルが、アプリケーションを再コンパイルまたは再リンクする必要なしに、またはノードをオフラインと宣言する必要なしに、物理メモリの不良ページを避けてマッピングすることによって、システムの「可用性」を高めることができる。このメモリの仮想ビューによって、静的に割り振られたデータ区域および関数のアドレスが、同一の実行イメージを使用する異なるノードで同一になることを保証することによって、一方的な通信およびアクティブ・メッセージ・プログラミングも単純になる。第3に、本明細書で詳述するように、カーネルが、アプリケーションまたはランタイム・ライブラリ・ディレクティブに基づいて、アプリケーションの性能を最適化するために、キャッシュおよび事前取出しハードウェアの挙動を制御することができる。第4に、アドレス空間を複数の領域に編成することによって、動的に割り振られるデータおよびスタック区域を、過度に複雑なガーベジ・コレクションなしで増やし、減らすことができる。これによって、透過的チェックポイント・サポートの最適化ももたらされる。というのは、カーネルが、どれだけの領域がアプリケーションによる修正の対象であるかを知るからである。
PPC−440プロセッサでは、変換索引緩衝機構(TLB、または、この場合には「ソフトTLB」)での変換のソフトウェア管理が使用されるので、カーネルは、大きい変換テーブルのストレージ・オーバーヘッドを受ける必要がない。さらなる最適化が、PPC−440に、多数のTLB項目(64個)が含まれ、そのそれぞれが、アドレス空間の可変量(たとえば1KB256MB)をカバーできるという事実から生じる。これは、最も複雑なアプリケーション以外のすべてについて、これらの変換が、一旦確立されたならば、更新または置換される必要がない可能性が高いことを意味する。これに対する例外は、ランタイム・ヒープ・サイズ、アプリケーション・スタック・サイズ、またはキャッシュ管理ポリシが、そのような変更を必要とする時である。
カーネルは、さらに、仮想記憶システムを使用して、メモリ階層のキャッシュ機構および事前取出し機構の挙動を制御する。これは、計算プロセッサと入出力プロセッサの間で明示的に共用されるメモリ区域に関して特に重要である。仮想記憶システムを、メモリ階層の挙動および性能の最適化および微調整に使用することもできる。PPC−440では、各TLB項目に、この目的に使用される下記の構成ビットがある。これらの属性は、メモリ・バスに置かれるTransfer Attributes(転送属性)で使用可能にされ、したがって、TLB項目ごとの基準でメモリ・サブシステム全体の動作を構成するのに使用することができる。
U0:ユーザ定義ストレージ属性0。440コアによって無視される。
U1:ユーザ定義ストレージ属性1。ストレージ・アクセスでI/Dキャッシュの「通常」部分と「過渡」部分のどちらを使用しなければならないかを選択するのにこのビットを使用するために、MMUCR[U1TE](U1過渡イネーブル(U1 Transient Enable))ビットを介して、440コアをプログラムすることができる。
U2:ユーザ定義ストレージ属性2。440コアは、MMUCR[U2SWOAE](割振りイネーブルなしのU2ストア(U2 Store With Out Allocate Enable))ビットを使用して、データ・キャッシュをミスしたストアによって、キャッシュ内のラインが割り振られるかどうかを制御する。セットされた場合に、L3は、このポリシも尊重しなければならない。
U3:ユーザ定義ストレージ属性3。440コアによって無視される。
これによって、メモリ・バスで明示される2ビットの情報、U0およびU3が提供されて、事前取出しポリシまたは問題の他のものが制御される。これらのビットの可能なエンコードには、下記が含まれる。
0b00:このページのすべてのレベルで事前取出しをディスエーブルする。下の「G」を参照されたい。
0b01:L3で明示的に事前プログラムされた事前取出し。学習モードをディスエーブルする。
b10:事前取出し「学習」モードをイネーブルする。
b11:使用可能、おそらくは代替事前取出しポリシをイネーブルする。
問題のTLB内の、バスで明示される他のビットには、下記が含まれる。
ライトスルー(Write-Through、W):カーネルは、明示的に共用されるデータ領域についてのみ、このビットをセットする。というのは、これによって、性能ペナルティが押し付けられるからである。
キャッシング禁止(Caching-Inhibited、I):セットされた時に、L1およびL2でのキャッシングを禁止する。L3は、弱く順序付けられるが、コヒーレントである。キャッシングは、入出力空間およびSRAMについて禁止される。
メモリ・コヒーレンス要求(Memory-Coherence-Required、M):L2でのスヌープによってメモリ待ち時間に1サイクルが追加される場合に、カーネルは、明示的に共用される区域だけについてこのビットをセットする。L1は、Mがセットされる時にライトスルーにセットされる。
保護(Guarded、G):このビットは、事前取出しおよび投機のディスエーブルとして働き、順序通りのアクセスを強制する。通常は、入出力空間についてセットされるが、ある種の共用されるSRAM区域についても必要である。
カーネルRAS管理
カーネルは、遭遇するすべてのRASイベントを、ホスト複合体内のRASデータベース・サーバに報告する責任を負う。良性のイベントの場合には、後の報告のためにエラーが蓄積される場合がある。発生したイベントのタイプと共に、カーネルは、できる限り多くの関連情報を集めて、エラー状態の分離または理解を助ける。たとえば、メモリ・エラーの場合に、この情報に、エラーが発生した物理アドレスおよび仮想アドレスと、このアドレスによって参照されたセグメントのタイプが含まれる。さらに、このメモリ・エラーが、ECC保護されない装置またはアドレスでのものであった場合に、その情報も、キャプチャされ、報告され、おそらくは、アプリケーション稼動の停止または終了がもたらされる。一般に、低水準のデバッグ・ツールおよび診断ツールによってノードを検査する機会が与えられるまで、状態は破棄されない。
RASイベントを報告するデフォルトの方法は、100Mbイーサネット(登録商標)を介してホスト複合体にメッセージを送ることである。RASイベントによって、イーサネット(登録商標)自体の問題が示される場合には、メッセージを、報告のために入出力ノードに転送することができる。
アプリケーション・チェックポイントおよびリスタートのサポート
カーネルは、ホスト複合体によって提供されるファイル・システム・インターフェースと協同して、アプリケーションによってサポートされるチェックポイントおよびリスタートのサポートを提供する。さらに、アプリケーションの完全な状態をキャプチャし、復元するカーネルの能力を援助し、その性能を改善するハードウェア・アーキテクチャを含む透過的チェックポイント機能が、提供される。
複数のアプリケーションが、チェックポイント機能に関する特殊なサポートを必要としない。そのようなアプリケーションは、単純なファイル入出力呼出しを介して、その分散状態の記憶および復元を管理することができる。他のアプリケーションは、静止状態を簡単に達成できない場合があるが、グローバル・バリアを介して、システムによって開始される透過的チェックポイント機能によい機会がもたらされる。そのようなチェックポイントは、時刻に基づいて、または次のグローバル・バリアでチェックポイントをとらなければならないことを示すホスト複合体からの通知に基づいて開始することができる。
チェックポイントおよびリスタート・サポートは、RAS管理ソフトウェアとインターフェースする。信頼性および可用性の計画で、診断ソフトウェアまたは検証ソフトウェアを規則的な間隔で実行することが要求される場合に、この保守を実行する自然な点が、チェックポイント境界である。
メッセージ受渡サポート
カーネルによって提供されるメッセージ受渡ソフトウェア・サポートを、これから説明する。最下レベルで、カーネルは、システムの内部高速ネットワークを効率的にサポートするように設計されたシステム・プログラミング・インターフェース(SPI)をエクスポートする。トーラス・ネットワークとグローバル・ツリー・ネットワークの両方について、SPIは、ポイントツーポイント通信および集合通信またはクラス・ベースの通信のサポートを提供する。SPIは、MPIなどの高水準アプリケーション・プログラミング・インターフェース(API)の移植ベースを提供し、MPI−1、MPI−2、およびMPI−IOのサブセットを効率的にサポートする。
一方的なメッセージング
本明細書で説明するように、単純で効率的なメッセージ受渡プロトコルを使用することによって、すべてのリンクの帯域幅全体が、短いメッセージについても持続される。一方的なメッセージングでは、メッセージによって、宛先または「get」の場合にはソースの、データのメモリ・アドレスが伝えられる。これによって、ハードウェアが、多数の小さいパケットからの行列転置などのデータのブロックを、これらのパケットの処理での過剰なソフトウェア・オーバーヘッドなしで、メモリ内に直接に組み立てられるようになる。サポートされる一方的な通信プロトコルの例が、MPI−2に含まれる。このプロトコルでは、「put」および「get」モデルを使用して、事前に確立されたまたは「オープンされた」通信ウィンドウとの間でデータを移動する。このモデルは、このシステムについて特に良好に働く。というのは、通信ウィンドウの使用によって、計算プロセッサと入出力プロセッサの間でメモリ・コヒーレンシを管理する機会がもたらされるからである。メモリ・コヒーレンスは、ウィンドウを介して管理されるので、このオーバヘッドを、複数のメッセージにわたって償却することができる。本発明のスーパーコンピュータ・システムで、「put」は、「get」より効率的である。というのは、「get」が、追加されたプロトコル・メッセージを必要とし、これによって、本質的に、「get」が、リモート・ノードから駆動される「put」に変換されるからである。
することができる一方的なメッセージングのより強力な形は、「put」に似るが、宛先ノードで呼び出される関数アドレスが追加される。このメッセージ到着によって動作がトリガされるメッセージングの形態を、「アクティブ」と称する。アクティブ・メッセージは、到着時にデータを変換するか何らかの形で計算しなければならない時に、特に強力である。MPI−1では、ユーザが、集合的通信に対して動作するリダクション機能を定義できるようにすることによって、アクティブ・メッセージの単純で制限的な形が持たされる。現在のシステムでは、これを一般化して、計算プロセッサまたは入出力プロセッサのどちらが機能を実行するかを選択する能力を提供する。これらの機能は、アプリケーション・コンテキスト内でユーザモードで実行される。これは、アプリケーションが入出力プロセッサの計算能力を利用できるの形である。アクティブ・メッセージは、さらに、カーネル対カーネル・メッセージングのためにシステム・オペレーティング環境によって内部的に使用される場合がある。これの例は、入出力ノードがファイル入出力要求をサービスすることを計算ノードが要求する時に発生する。
集合通信
集合通信をシステム・ネットワークにマッピングする時には、まず、特定の通信が、トーラス・ネットワークまたはツリー・ネットワークのどちらに適するかを判断しなければならない。考慮すべき要因には、通信グループのトポロジ、通信の期待される帯域幅要件、通信がツリーによってサポートされる「グローバル機能」を活用できるか否か、およびその時のネットワークの1つでのアクティビティがトラフィックの分配に他のものを使用することを優先する可能性があるかどうかが含まれる。ノードの任意のグループ化を、どちらのネットワークでも作成することができる。最も単純な場合は、通信が真にすべてのノードへのブロードキャストである時であり、この場合には、明らかにグローバル・ツリーが優先される。しかし、ノードの列へのマルチキャストの場合には、本明細書で説明したように、トーラスのクラス経路指定を優先することができる。
ランタイム・ライブラリ
計算ノードソフトウェアは、アプリケーション・プログラマに、よく知られたunix風の開発環境に見えることが好ましい。これを達成するために、たとえばC、C++、およびFortan95のランタイム・ライブラリの標準セットのサブセットが提供される。可能な範囲で、サポートされる機能では、オープン標準規格POSIX互換インターフェースが維持される。しかし、これらのライブラリによって提供される機能性の一部が、システム・アプリケーションによって使用されず、並列計算環境で意味をなさないことは、明らかである。
ハードウェア・アーキテクチャの機能性を取り込むシステムへの低水準システム・プログラミング・インターフェース(SPI)を引き渡す追加のインターフェースが設けられる。したがって、SPIは、MPI(−1、−2、および−IOのサブセット)と、C、C++、およびFortan95のランタイムとを含む高水準アプリケーション・プログラミング・インターフェース(API)の効率的な移植ベースとして働く。SPIは、並列アプリケーションのチューニングに必要な、アプリケーション・トレースおよびプロファイリング・サポートを提供するのにも使用される。多くの場合に、このサポートは、UTE(Unified Trace Environment)視覚化ツールなどのホスト複合体上の環境とインターフェースする。
前述のように、システム内のすべてのノードに、ASICに集積されたイーサネット(登録商標)・ポート(または、その代わりにInfiniBand(商標)ポート)が含まれる。そのポートを、TCP/IPを介してアプリケーション・プログラムに公開することができる。入出力ノードの場合に、イーサネット(登録商標)・ポートを、アプリケーションから直接に使用可能にするか、その代わりに、カスタム・ランタイム環境から使用可能にすることができる。一般に、100Mbイーサネット(登録商標)・ポート(図2)を、計算機管理およびエラー報告について、RASネットワークとして使用することができる。スイッチングおよび分割を含む、このRASネットワークの外部ネットワーク・アーキテクチャを、さらに、ホスト複合体によって要求されるトラフィックの期待されるフローおよびタイプについて最適化することができる。入出力ノードのギガビット・イーサネット(登録商標)は、IPによって、またはMPI「インターコミュニケータ(inter-communicator)」を介するのいずれかで使用可能にされ、このMPIインターコミュニケータは、ネットワーキングの詳細を標準MPI呼出しの背後に隠蔽すると同時に、外部通信の柔軟な高帯域幅リンクを提供するという所望の機能を達成する。
BLASおよびBLACS数学ライブラリを含む「ScaLAPACK」などの標準並列数学ライブラリが、人気を集めつつあり、本発明のスーパーコンピュータ・システムでサポートされる。これらのライブラリによって実行される通信では、MPIの非常に小さいサブセットが使用される。これらのMPI呼出しをサポートすることによって、移植の労力の焦点が、数学ルーチンおよびチューニングの問題に合わされる。ESSLなどの単一ノード数学ライブラリまたはその並列版のPESSLが、広く使用されており、これらのライブラリは、使用可能であり、このシステムに移植することができる。
入出力ノード・ソフトウェア
カーネルおよびランタイム・オペレーティング環境は、ディスクおよびギガビット・イーサネット(登録商標)を介するホスト複合体へのホスト入出力を処理する。計算ノードのランタイム・ライブラリは、機能によってファイル入出力動作を達成し、この機能は、たとえば、高速グローバル・ツリー・ネットワークを介して入出力ノードに入出力要求を配送することであり、これによって、要求およびデータが、ギガビット・イーサネット(登録商標)を介してホスト複合体ファイル・システム・サーバに転送される。ホスト複合体は、「フェールオーバ」戦略を使用して、信頼性のあるファイル・システム入出力を保証するので、入出力ノードは、アプリケーションに透過的に、故障したホスト・サーバからスタンバイ・サーバに要求をリダイレクトする機会を得る。さらに、ホスト複合体ファイル・システムの実装詳細を入出力ノードに分離することによって、ファイル・システム・サーバに関して異なる実施形態および戦略をサポートするのが単純になり、ファイル・システム・サーバのスケーラビリティでの柔軟性が可能になる。
入出力ノードは、グローバル・ツリー(図5)に配置されるので、MPI−IOで定義されるものなどの集合入出力動作が、このシステムによって特にサポートされる。集合入出力の例は、アプリケーションですべてまたは多数のノードが、ファイルの同一の部分の読取を要求する時に発生する。この場合に、ファイル読取は、1回だけ行われ、その結果が、グローバル・ツリーを介して要求元ノードにブロードキャストされる。
入出力ノードが、ホスト複合体のディスク・ドライブに対して装置レベルの制御を実行しないことが好ましい。さらに、機能レベルで入出力ノード・ソフトウェアにインターフェースし、ファイル・システム・レベルでホストによって管理されるファイル・システムにインターフェースするデーモンを、ホスト複合体で使用することができる。これによって、ホスト複合体のファイル・システムの代替実施形態をサポートする能力が、さらに強化される。というのは、ホスト複合体のオペレーティング・システムが、そのネイティブ・インターフェースを介して低水準ファイル・システムを実行しているからである。最後に、ファイル・システム・ソフトウェアを実する増分開発パスがもたらされる。
ブート
電源投入時に開始され、各ノードで稼動するカーネルで終わる4ステップの処理として、ブートアップ・アルゴリズムを説明する。1)第1ステップは、電力がノードに印加される時に自動的に行われる。このステップでは、各ノードが、論理アレイおよびメモリ・アレイを検証し、その後、100Mbイーサネット(登録商標)を自動的に構成し、イネーブルして、ホスト複合体からのJTAGコマンドを受け入れる、パワーオン・セルフ・テストを実行する。2)第2ステップは、ホスト複合体によって開始され、並列に実行されるが、これによって、パワーオン・セルフ・テストの結果を検査するJTAGインターフェースが実され、各ノードのさらなる診断および構成が実行される。このステップでは、各ラックのすべてのセンサおよびモニタの状況も検証される。このステップは、ブートストラップ・プログラムおよびノードごとのパーソナライゼーション情報が、100Mbイーサネット(登録商標)JTAGインターフェースを介して各ノードにロードされ、実行を開始できるようになった時に完了する。ブートストラップ・プログラムは、チップの計算プロセッサおよび入出力プロセッサを完全に初期化し、組込みメモリおよびDDRメモリを検査し、トーラス・ネットワークおよび/またはグローバル・ツリー・ネットワークと100Mbおよび/または1Gbイーサネット(登録商標)をテストし、構成し、最後に、状況メッセージを用いてホスト複合体に連絡する。ホスト複合体に必要な作業負荷を大幅に減らし、ブート処理の並列性を高めるのは、このステップ中に必要なブートストラップ・プログラムのロードを含むJTAG相互作用のほとんどが、イーサネット(登録商標)・ブロードキャスト・パケットを介して処理される場合である。3)第3ステップは、各ノードがブートストラップ・プログラムのソフトウェア制御の下で完全に機能する状態で開始され、ブートストラップ・プログラムは、ノード・パーソナライゼーション情報を使用して、次にどのように進行するかを判断する。ブートは、ホスト複合体の示されたサーバに連絡して、イーサネット(登録商標)を介してカーネル全体をロードすることによって進行する。概念上、このステップは、よく知られた「bootp」ネットワーク・ブート動作に似ているが、このシステムの計算機およびホスト複合体のアーキテクチャに従って設計されたものである。4)第4ステップは、各計算ノードおよび入出力ノードが、完全なシステム・ノード・カーネルを実行している時に開始される。この時点で、入出力ノードが、ホスト複合体に連絡して、本明細書に記載の、ファイル・システム・インターフェース・サービスおよび他の入出力サービスを提供する入出力ノード固有ソフトウェアをロードする。このソフトウェアは、カーネルからは、特別に構成され特権を与えられた「アプリケーション」プログラムに見える。その一方で、計算ノードは、アプリケーション・プログラムがロードされるまで、ホスト複合体からの連絡を待つ。システムの再分割が、区画内のすべてのノードの完全なリブートを必要としないが、すべてのノードが、内部高速リンクの使用を完全に静止していることを必要とすることを理解されたい。再分割の後に、カーネルは、すべての経路指定およびクラス使用構成をリセットする必要がある。
電源オン・リセット状態
パワー・アップ時に、各ノードは、そのイーサネット(登録商標)・ポートが生きており、ユニキャスト・パケットまたはブロードキャスト・パケットを受信するよう構成されていることを見つける。イーサネット(登録商標)・ポートは、プロセッサのデバッグに一般に使用されるJTAGスキャン・ストリングに直接にインターフェースされる。これによって、システムの単一プロセッサ用に設計された非常に成熟したデバッグ環境の使用が可能になる。どのノードでも、この非常に強力な技法を使用して、ホスト複合体からアドレッシングし、完全にデバッグすることができる。このインターフェースは、ノードがまだリセットされている間に動作するようにマッピングすることができ、ASIC内のすべてのスキャンレジスタのアップロードおよびデバッグが可能になる。
ノードは、電源を入れられ、初期システム検査のために、すべての使用可能なLBISTおよびすべての使用可能なABISTを実行する。ハードウェア・シーケンサが、電源投入時のこのテストを自動的に制御し、これらの診断から得られる合否シグネチャを、レジスタ内でブート・コードから使用可能にする。1例が、440コアのMISRシグネチャ・レジスタである。上のLBIST/ABISTによってカバーされる論理の量によって、システムのソフトウェア検査にどれほどの追加診断が必要になるかが決定される。
パワーオン・リセット状態では、100Mbイーサネット(登録商標)・バスを介してJTAGコマンドを受け入れるようにハードウェアが構成され、他の入出力コントローラが、100Mbイーサネット(登録商標)と衝突しないことが保証される。さらに、LBIST/ABISTが実行された後に、ASICのすべてのクロックが、動作状態にされる。
10/100イーサネット(登録商標)・コントローラのイーサネット(登録商標)MACアドレスは、各ノードの一意のアドレス可能度のために、ASICへの入出力終端を介してセット・アップされる。これによって、ノード故障の検出が可能になり、並列ノード・ブートが提供される。
信頼性・可用性・保守性(RAS)
最大のアップタイムについてスーパーコンピュータ・システムを最適化するために、最も頻繁に故障する個々の構成要素の冗長性が提供される。これは、システムを再分割して既知の欠陥のあるセクタを分離する能力に追加されるものである。システムの信頼性は、「ハード」障害および「ソフト」または過渡障害に関する構成要素の固有の故障率、構成要素の個数、およびこれらの障害が発生する時にシステムがこれらの障害に応答する形に依存する。したがって、潜在的な構成要素障害(ASICおよびその構成要素、DDR、コネクタ(カード・エッジ接点およびケーブル・コネクタなど)、電源(DC−DCおよびAC−DC)、エア・ムービング・デバイス(Air Moving Device)など)に関する障害保護方法が提供される。
障害保護方法
ノードASICに、ソフト・エラーおよびハード・エラーに起因する高い故障率を有する構成要素に対するエラー検出および訂正回路が組み込まれる。これらの構成要素には、外部DDRメモリ、内部EDRAM L3、内部L2、および設計者が制御するすべてのSRAMアレイが含まれる。外部DDRメモリおよび内部EDRAMにも、冗長ビット・ステアリングが含まれる。ハードウェアによって制御される消し込みを実施して、外部DDRメモリおよび内部EDRAMから累積ソフト・エラーを除去することができる。内部レジスタ・アレイおよびクリティカル・データフロー・バスは、エラー検出用のパリティを有する。
さらに、前述のように、このシステムで使用されるすべての電源が、複製される、すなわち、N+1冗長性が実される。サービス期間内に2つの故障を有する確率は、非常に小さい。さらに、本発明のすべてのエア・ムービング・デバイスが、N+1冗長である。たとえば、2つのファンが、カバーされるノード・カードの冷却に使用され、第3のファンが冗長性のために使用される。3つのファンのすべてが動作している時には、ファン速度を下げて、信頼性を高める。1つが故障した時には、故障したファンが交換されるまで、他の2つの速度を上げる。同一のファン・ユニットの2つのファンがサービス期間内に故障する確率は、非常に低い。
全体として、広範囲のエラー検出および訂正機能が、本発明で実されるノードASICに組み込まれる。故障の場合に、本明細書で述べたように、計算機の1行(9ラック)をえないように制限されると仮定して、このシステムを再分割して故障を除去することができる。システム再分割の後に、このシステムを、最後のチェックポイントからリスタートすることができる。
トーラス・ネットワークの信頼性
トーラス・ネットワークは、それに注入されたすべてのパケットの単一のコピーを信頼性のある形で配信するか、回復不能エラー状態を示す。したがって、送信側のソフトウェアは、注入されたメッセージのコピーを保存する必要がなく、受信側のソフトウェアは、シーケンス番号を維持する必要がない。したがって、ネットワーク信頼性は、エンドツーエンドおよびリンクレベルのエラー検出の組合せによって提供される。ほとんどの場合に、リンクレベル・エラー検出特徴によって、エラーが発見され、しばしば回復される。エンドツーエンド・エラー検出は、主に、ルータ自体によって引き起こされ、リンクレベル・プロトコルによって見逃されたエラーを発見するのに使用される。
リンクレベル・エラー
リンクレベル・エラー検出方式は、すべてのパケットに付加される複数のパリティ・ビットの使用に基づく。複数ビット・エラーは、シーケンシャル・バーストで発生することがあるので、データ・ビットに、ラウンドロビン順序で検査ビットが割り当てられる。したがって、各検査ビットは、オーバーラップしないセットの4つおきのデータ・ビットをカバーする。この割当を用いると、複数ビット・エラーを検出する確率が、シーケンシャル割当方式の確率よりはるかに高くなる。
バーチャル・カットスルー経路指定のゆえに、破壊されたものとして検出されるパケットが、複数の下流ルータを介して既に転送されていることがある。したがって、このパケットを単純に捨て、再送信することはできない。そうではなく、エラーを検出したルータは、パケットの最後のバイトを修正して、エラー状態を示し、そのパケットを最終的に受け取るすべてのルータによってそのパケットが捨てられるようにする。破壊されたパケットが、バーチャル・カットスルーFIFOに完全に記憶されている場合には、そのパケットを即座に捨てることができる。
破壊されたパケットをマークするほかに、エラーを検出したルータは、本明細書で図7および8に関して説明した機構を使用して、リンクレベル再送信を引き起こす。この回復機構によって、すべてのパケットの唯一の「良好な」コピーが、所期のレシーバに到着することが保証される。破壊されたものとしてマークされたパケットは、ルータのローカル受信回路76によって自動的に破棄され、受信FIFO96(図11)には挿入されない。
リンクレベル・エラーのの源は、「失われた」ビットであり、これは、誤って経路指定される、誤った形式のパケットにつながる。ネットワークは、単純にこの状態を報告し、システム・ソフトウェアが回復できるようにする。
エンドツーエンド・エラー
エンドツーエンド・エラー検出機構は、パケットが正しく処理され、ルータによって破壊されないことを保証するのに使用される。リンクレベル・エラー検出機構は、そのようなエラーを発見することができない。というのは、修正されたヘッダ・ビットを回復するために、各ルータでパリティ・ビットがはぎ取られ、再生成されるからである。エンドツーエンド・エラー検出の機構は、パケット・タイプ、宛先、およびペイロードなど、移動中に修正されないパケット・フィールドに対する巡回冗長検査(CRC)であることが好ましい。エンドツーエンドCRCエラーの検出は、ハードウェアによって報告され、チェックポイント・ロールバックにつながる。
可用性
本発明のシステム内の可用性は、単一ラックの粒度で定義され、管理される。すなわち、1024個のノードを含む「ラック」が、それを基礎として、良好または不良と判定され、管理される。初期プログラム・ロードの際に、この判定が、診断によって処理される。ランタイムには、これが、エラー検出および報告方式を介して処理される。欠陥のあるラックは、機能する区画に含めるために使用可能ではないので、構成マトリックスを作成して、すべてのラックの状況を識別する。
アプリケーション
多数の新しい相乗効果によって、前には困難であったアルゴリズムを生かすことができるので、本発明のスケーラブル・ウルトラコンピュータの独自の特性から利益を得る多数のアプリケーションがある。これらのアプリケーションに鑑みて、このシステムに含まれるアーキテクチャ的改善には、最も重要な事に、4ビット/pclk/方向まで倍にされたトーラス・リンク帯域幅と、グローバル・ツリー・ネットワークと、256MB/ノードまで増やされたベースライン・メモリ・サイズと、メッセージ受渡をサポートするための各ノードへの第2プロセッサ・コアの追加が含まれる。
科学アプリケーションの要約
最初から(基本的な原理に基づいて)量子分子動力学(MD)は、顕微鏡レベルで物質の挙動をシミュレートするように独自に配置され、科学の複数の分野で応用分野を見つけた。これは、ウルトラコンピュータの「キラー・アプリケーション」と呼ばれた。JEEPコードは、最初の分子動力学の技術的現状の実施形態である。古典的MDコードで行われたものと異なって、JEEPでは、物質の電子構造および原子内相互作用の挙動に関する経験的な前提がない。量子力学の法則および運動方程式だけに基づいて、電子は、自由に結合を形成するか破壊し、原子は、自由に移動し、分子を形成する。
JEEPなどの第一原理MDコードは、問題の広範囲の対象領域での応用例を有する。1つの例が、温度または圧力の極端な条件下での物質の理解である。の例には、複雑な生物系および材料特性のよりよい理解の形成が含まれる。106107個の体積要素内の10 10個の原子を有し、現在の計算のタイム・ステップ後の計算で約10 10の係数または増加を有する問題をシミュレートすることが望ましい。さらに、10 10長いシミュレーション時間が要求される。
物質応用例
JEEPなどのコードによって、その領域が理論的観点と実験的観点の両方から接近が困難であった、暖かい物体の物理的特性(warm matter physics)すなわち、物性物理学(たとえば固体密度での冷たい物体)およびプラズマ物理学(たとえばイオン化した材料)の間のインターバルへの洞察がもたらされる。JEEPは、破壊点まで引張られた時の炭化ケイ素(アモルファス半導体)の顕微鏡的塊の応答をモデル化するのに使用された。このシミュレーションは、硬度が、無秩序合金について第一原理から初めて計算された時である。この研究によって、破壊の始まりを材料の化学的特性に関連付けることが可能になったが、これは、過去には理論的および経験的の両方で、特性を表すことが困難であった。
衝撃圧縮された液体重水素。異常な条件(圧力および温度)での水素EOSの計算。これによって、固体とプラズマの間(凝縮物質でも冷濃密物質でもない)の暖かい物体が、1/2eVと10eVの間で科学的観点から非常に困難になることが調べられた。状態方程式(EOS)および不透明度データは、この体制で最も弱い。
このクラスのウルトラコンピュータでのみ達成可能なJEEPの材料科学の他の応用例には、圧力下の水(実験プログラムと関連)、高圧下での二酸化炭素の結晶構造、「硬」高分子二酸化炭素が含まれる。
生物学の応用例
JEEPは、現在、水中のDNA骨格の小さい分離された断片に何が起こるかを試験している。これらの革新的なシミュレーションは、実際に、現実の生物学的環境(水溶液)での最初のDNA断片なので、重要である。たとえば、シミュレーションでは、断片からのジメチルリン酸の分子が水分子とどのように相互作用するかが調査される。これらの最初のシミュレーションは、広く使用されている相互作用の経験的モデルと比較されつつある。これらのシミュレーションによって、DNA相互作用の標準モデルで設けられる前提が有効または無効とされることが期待される。しかし、現在のシミュレーションは、少数の塩基対と最小限の量の水分子を伴う骨格の小さい断片に制限される。さらに、シミュレーションは、ピコ秒のタイムスケールに制限される。生物学的に興味深いタイムスケールは、数百マイクロ秒である。本発明のシステムを用いると、生物学的に重要なDNA断片を、生物学的に関連するタイムスケールで、完全な水溶液内でモデル化することができる。本発明の能力を用いると、生物学的に正確な状況でのDNAの重要な理解を、シミュレーションを介して得ることができる。これは、生化学の潜在的に重要な進歩の前兆になる。
JEEPのの生物学の応用例では、単一のDNA塩基対を抽出して、相補的な塩基がどのように相互作用するかを調べる。この研究の目標は、DNAを結合させるものと、どの分子相互作用が結合の鍵であるかを理解することである。希望は、結合機構がDNAの複製にどのように影響するかを発見することである。これは、損傷または突然変異に鑑みて、DNA複製の忠実度の理解をサポートする。本発明の並外れた計算能力を用いて、これらの詳細な調査を、初めて達成することができる。これは、生物学的に重要な文脈でのDNA結合および相互作用のよりよいモデルにつながる。
JEEPアルゴリズム
JEEPは、現在はMPIおよびOpenMPを使用してC++で記述される、専有的アルゴリズムである。密度汎関数理論(DFT)を使用して、よりゆっくり動く原子核の回りの電子運動(電子−電子相互作用および電子−核相互作用)を説明し、古典動力学を使用して、空間内の原子核の運動を計算する。このシミュレーションの最も重要で時間がかかる部分は、各分子動力学ステップでの電子構造の計算である。これには、Kohn−Sham方程式を解くことが含まれ、この方程式は、各電子状態の結合された非線形積分微分方程式である。
JEEPで使用されるアルゴリズムは、解のフーリエ展開に基づく。このアルゴリズムのクリティカルな部分は、3次元複素フーリエ変換、数千個の長い(10 10)複素ベクトルの正規化である。この2つの演算の効率的な実装によって、アルゴリズム全体の効率的な性能が保証される可能性が高い。
本発明のスーパーコンピュータでは、このアプリケーションが必要とするFFT、線形方程式、および行列転置の演算が効率的に実される。
科学応用例の要約
最近のFermion Monte Carloの研究によって、電子および原子構造、凝縮物質、核物理、および生物学で生じるものを含む、量子多体問題を解く能力の大きな進歩が提供される。多体系のシュレージンガ方程式の数値解は、60年以上にわたる研究対象であったが、これまでは、制御されない近似を伴わない正確な解が可能な方法は現れていない。実際、この問題は、非常に手ごわいので、大多数の研究(および最近のノーベル化学賞)の関心の対象は、密度汎関数理論であり、この理論の前提は、多体方程式の解が本質的に不可能であるということである。主要な問題は、次元数の問題であり、20個の電子系(2分子の水など)の状態を記述する方程式が、60次元の偏微分方程式になる。これを正確に3次元に写像する既知の方法はなく、偏微分方程式の数値解に関する従来の方法は、この多次元空間では通用しない。
モンテ・カルロ法が、多次元の数学的問題の数値処理の実用的な方法を提供することが、一般に既知である。これは、放射線輸送(7次元まで)および統計物理学(数百万次元まで)にいつも使用される。ある種のシュレージンガ方程式(解がいたるところで可能である最低の状態に関する)を解く方法も、数十年にわたって使用可能であった。しかし、物理学的関心の対象であるほとんどの問題への曖昧でない適用は、この分野で周知の「Fermion Sign Problem」と称する問題によって妨げられてきた。その詳細な説明は、この簡単な報告には技術的にすぎるが、本質的に、この問題は、多数電子系が、パウリの原理(波動関数が同一粒子の交換において非対称でなければならない)を満たさなければならないという事実から派生する。標準的なモンテ・カルロ手法は、虚数時間でのシュレージンガ方程式が拡散方程式であり、局所的であるという事実に基づいて構築される。パウリの原理によって、非局所境界方程式が課せられるが、これは、モンテ・カルロ法に対する深い妨害である。
この深い困難を克服できる新しいクラスの方法が、本発明のシステムで実行されるアプリケーションとして提案された。この新しい方法の中心になる要素は、算術符号を担持するオブジェクトに関する相関酔歩の使用である。ごく最近の進歩によって、プログラムの性能を数桁加速することができるアルゴリズムの変更が実証された。
これらの量子モンテ・カルロ計算は、物理的、数学的、または数値的な近似なしで、多フェルミ粒子シュレージンガ方程式に対する(初めての)正確な数値解を作る。これは、科学界が関心を持つさまざまな物理系すなわち、原子構造、分子構造、凝縮物質(高圧下の水素など)、および核構造に適用される。
科学応用例の要約
転位シミュレーションが、ひずみ>10%での加工硬化、100%までの転位パターニング(dislocation patterning)および塑性不安定および塑性流動局在性の展開、多結晶での転位のモデル化、脆性‐延性遷移のモデル化などの「グランド・チャレンジ」問題に対処できるようになると予想される。
本発明のアーキテクチャは、転位動力学のアルゴリズムを分析することによって、これらの問題の対処において非常に有効である。転位動力学では、原子的領域と巨視的領域の中間のメゾスケール範囲での問題に対処する。実際の材料の挙動の多くが、このスケールでの転位の挙動によって決定される。
本発明を、その例示的で前もって形成された実施形態に関して具体的に図示し、説明してきたが、当業者は、形態および詳細における前述および他の変更を、本発明の趣旨および範囲から逸脱せずに行うことができることを理解するであろう。本発明の趣旨および範囲は、請求項の範囲のみによって制限される。
8つの計算ノードを相互接続する3次元トーラスの小さい部分10を示す図である。 本発明の原理による計算ノードASICを示す詳細なブロック図である。 図2のリンク・バッファおよびバーチャル・カットスルー経路指定制御ブロック26を示す詳細なブロック図である。 単一ノードのメモリ・システムを示す詳細なブロック図である。 本発明によるグローバル・シグナルおよび外部ネットワークの接続を含むグローバル・コンバイニング・ツリー・ネットワークを示す図である。 本発明の原理によるグローバル・コンバイニング・ツリー・ネットワークおよびバリア・ネットワークを示す図である。 単一のトーラス・ルータ70の基本アーキテクチャを示す図である。 図7のリンク入力回路72の例示的実施形態の詳細な図である。 図7のリンク出力回路74の例示的実施形態の詳細な図である。 図7のローカル注入回路73の例示的実施形態を示す詳細な図である。 図7のローカル受信回路76の例示的実施形態を示す詳細な図である。 本発明の好ましい実施形態によるトランスポート・パケット100のフォーマットを示す図である。 本発明のウルトラスケール・スケーラブル・スーパーコンピュータを示す概念的な平面図である。 本発明によるグローバル・クロック分配システムを示す図である。 計算カードのプロセッサ・ノードおよびツリー接続を示す概略図である。 入出力カードツリー・リンク接続を示す図である。 本発明によるラック内の基本的な気流を示す図である。 本発明によるトーラスおよびツリーの1つの可能な物理的経路指定を示す図である。 本発明による、システム再分割を制御するシステム・リンク・チップおよび動作を示す図である。 本発明による正規分割およびスプリット分割の両方の例と、ミッドプレーンを分離できる方法を示す図である。 2つのノードを相互接続するケーブルの両端を駆動する差動同時両方向ドライバ/レシーバ回路450の対を示すブロック図である。 低電力で信頼性があり高速のシリアル・データ・キャプチャのための受信マクロ・ブロックを示す図である。 低電力で信頼性があり高速のシリアル・データ・キャプチャのための送信マクロ・ブロックを示す図である。 フェールオーバを備えたツイン接続SCSI RAIDの概念的な繰り返し構造550を示す図である。 図6のグローバル割込みおよびバリア・ネットワーク60で実される非同期グローバル・シグナル生成に使用される論理を示す図である。

Claims (29)

  1. 複数の独立ネットワークによって相互接続された複数の処理ノードを備えた超並列コンピュータ・システムであって、
    前記複数の処理ノードのそれぞれが、並列アルゴリズム動作を実行する時に必要になる計算アクティビティまたは通信アクティビティを実行する1つ以上の処理要素を含み、
    前記複数の独立ネットワークの第1の独立ネットワークが、n次元トーラス・ネットワークを含み、
    当該n次元トーラス・ネットワークが、前記複数の処理ノードの間または前記複数の処理ノードの独立の分割されたサブセットの間でのポイントツーポイント通信およびマルチキャスト通信を提供するために、最適化された形で前記複数の処理ノードを相互接続する通信リンクを含み、
    前記複数の独立ネットワークの第2の独立ネットワークが、グローバル・ツリー・ネットワークを含み、
    当該グローバル・ツリー・ネットワークが、前記複数の処理ノードの個々の間または前記複数の処理ノードのサブセットの間での同時的なグローバル動作のためのノーダル相互接続を含み、
    前記複数の独立ネットワークの第3の独立ネットワークが、非同期グローバル動作をイネーブルするグローバル・シグナル・ネットワークを含み、
    当該非同期グローバル動作が、グローバル・バリア動作をイネーブルするグローバル論理AND演算およびグローバル通知動作をイネーブルするグローバル論理OR演算を含み、
    前記複数の独立ネットワークが、実行中のアルゴリズムの帯域幅要件および待ち時間要件に従って、前記複数の処理ノードの個々の間および前記複数の処理ノードの分割されたサブセットの間での同時的かつ独立的な計算アクティビティおよびメッセージ通信アクティビティをイネーブルするために、協同的にまたは独立的に使用される
    並列コンピュータ・システム。
  2. 前記第1の独立ネットワークが、スループットおよび待ち時間を最適化するために、送信元ノードから宛先ノードへの相互接続されたリンクに沿ったパケットのバーチャル・カットスルー(VCT)経路指定をイネーブルするVCT手段を含み、当該VCT手段が、ネットワーク・リンクに沿ったパケット経路指定のために個々のバッファリングされる仮想チャネルを提供する、請求項に記載の並列コンピュータ・システム。
  3. VCT手段が、ネットワーク・コンテンションを避けるために適応経路指定アルゴリズムを使用する、請求項に記載の並列コンピュータ・システム。
  4. 前記第1の独立ネットワークが、並列計算の決定的最短パス経路指定をイネーブルする手段を含む、請求項に記載の並列コンピュータ・システム。
  5. 前記第1の独立ネットワークが、パケットを自動的にマルチキャストする手段を含み、それによってパケットがノードまたはパケット・クラスに従って複数の宛先に一斉に送信される、請求項に記載の並列コンピュータ・システム。
  6. 前記第1の独立ネットワークが、パケットの適応経路指定およびデッドロック・フリーの決定的最短パス経路指定をイネーブルにする組込み仮想ネットワークを含む、請求項に記載の並列コンピュータ・システム。
  7. 前記複数の処理ノードのそれぞれが、経路指定装置を含み、前記第1の独立ネットワークが、ルータの間のパケットの経路指定を制御するトークン・ベースのフロー制御手段を実する、請求項に記載の並列コンピュータ・システム。
  8. 前記同時的なグローバル動作が、前記グローバル・ツリー・ネットワークの葉ノードまたはそのサブツリー・ネットワークの葉ノードへ向かうルート・ノードからの下流ブロードキャストのため前記グローバル・ツリー・ネットワークの任意のノードで開始されるグローバル・ブロードキャスト動作と、上流へ、ノードから各ツリー・ネットワークまたは各サブツリー・ネットワークの前記ルート・ノードに向かうグローバル・リダクション動作とを含む、請求項に記載の並列コンピュータ・システム。
  9. ノードのサブセットに対するサービス・ノードの比率が構成可能である、請求項に記載の並列コンピュータ・システム。
  10. 前記複数の独立ネットワークの第4の独立ネットワークが、各入出力ノードを外部ホスト計算機に接続する外部高速ネットワークを含む、請求項に記載の並列コンピュータ・システム。
  11. 前記外部高速ネットワークが、ギガビット・イーサネット(登録商標)である、請求項10に記載の並列コンピュータ・システム。
  12. 前記複数の独立ネットワークの第5の独立ネットワークが、前記超並列コンピュータ・システム内のすべてのノードまたはノードのサブセットに関するデバッグ機能、診断機能、および構成機能を提供するIEEE 1149(JTAG)ネットワークを含む、請求項に記載の並列コンピュータ・システム。
  13. ノードの内部処理要素の前記デバッグおよび検査を、前記IEEE 1149(JTAG)ネットワークを介して、当該ノードで実行されるソフトウェアから透過的に行うことができる、請求項12に記載の並列コンピュータ・システム。
  14. 前記複数の独立ネットワークの第6の独立ネットワークが、個々のノードに対する診断機能性および制御機能性を提供する独立の制御ネットワークを含む、請求項に記載の並列コンピュータ・システム。
  15. 各ノードが、複数の処理要素を含み、当該処理要素のそれぞれが、特定のクラスの並列アルゴリズムを実行する時に必要な、計算アクティビティまたは通信アクティビティの任意の組合せを個別にまたは同時実行することができる、請求項1に記載の並列コンピュータ・システム。
  16. 前記処理要素のそれぞれの間での計算アクティビティまたは通信アクティビティを切り替える手段をさらに含む、請求項15に記載の並列コンピュータ・システム。
  17. 各処理要素が、中央処理装置(CPU)および1つ以上の浮動小数点処理ユニットを含み、前記ノードが、ローカル組込み複数レベルキャッシュ・メモリと、上位レベル・キャッシュのためのデータの事前取出しのために下位レベル・キャッシュに組み込まれるプログラマブル事前取出しエンジンとをさらに含む、請求項16に記載の並列コンピュータ・システム。
  18. 各ノードが、システムオンチップ特定用途向け集積回路(ASIC)を含む、請求項1に記載の並列コンピュータ・システム。
  19. 前記超並列コンピュータ・システムが、回路カード上でパッケージ化される所定の複数のASICノードを含み、複数の回路カードが、前記超並列コンピュータ・システム内でパッケージ化される個々のミッドプレーン・ユニット上で構成される、請求項1に記載の並列コンピュータ・システム。
  20. 回路カードが、サブキューブまたは長方形として論理的に接続されるノードを構成するように編成される、請求項19に記載の並列コンピュータ・システム。
  21. 処理中の並列アルゴリズムの帯域幅要件および待ち時間要件に従って、前記ノードの間の独立の処理をイネーブルするさまざまな論理ネットワーク構成に従って、ノードのサブセットを分割する手段をさらに含む、請求項19に記載の並列コンピュータ・システム。
  22. 前記分割する手段が、異なるミッドプレーンを相互接続する導体上で信号を再駆動し、前記超並列コンピュータ・システムを複数の論理的に分離されたシステムに分割できるようにするために異なるポートの間で信号をリダイレクトする、リンク装置を含む、請求項21に記載の並列コンピュータ・システム。
  23. 残りのシステム動作に干渉せずに故障していると判定されたミッドプレーンをサービスするために、当該ミッドプレーンを避けて通信アクティビティおよび計算アクティビティをマッピングするために前記リンク装置をプログラムする手段をさらに含む、請求項22に記載の並列コンピュータ・システム。
  24. 前記複数の独立ネットワークの1つが、前記分割をプログラムするために前記リンク装置を制御する独立の制御ネットワークを含む、請求項22に記載の並列コンピュータ・システム。
  25. ミッドプレーン・ユニットのすべての回路カードに最小限のジッタでクロック信号を供給するクロック分配システムをさらに含む、請求項19に記載の並列コンピュータ・システム。
  26. 前記クロック分配システムが、前記超並列コンピュータ・システムおよびそのネットワーク化された区画のすべてのノードへの同相のクロック分配をイネーブルする調整可能再駆動信号を使用する、請求項25に記載の並列コンピュータ・システム。
  27. 両方向で同時に信号を搬送するために、前記処理ノードを相互接続する高速両方向シリアル・リンクをさらに含む、請求項1に記載の並列コンピュータ・システム。
  28. 通信される各パケットが、情報を担持する1つ以上のフィールドを含むヘッダを含み、1つの前記フィールドが、改善されたビットシリアル・ネットワーク通信用のエラー訂正能力を含む、請求項に記載の並列コンピュータ・システム。
  29. 前記パケット・ヘッダの1つの前記フィールドが、前記ネットワーク内のノードでのパケットの経路指定に関する可能な出力方向を表す定義された数のビットを含み、前記ビットが、ネットワーク・コンテンションを減らすために、パケットが、ノード宛先に達するために対応する方向に進む必要があることを示す、請求項28に記載の並列コンピュータ・システム。
JP2002582381A 2001-02-24 2002-02-25 超並列コンピュータ・システム Expired - Fee Related JP3980488B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
PCT/US2002/005571 WO2002084509A1 (en) 2001-02-24 2002-02-25 A novel massively parrallel supercomputer

Publications (2)

Publication Number Publication Date
JP2004538548A JP2004538548A (ja) 2004-12-24
JP3980488B2 true JP3980488B2 (ja) 2007-09-26

Family

ID=68463258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002582381A Expired - Fee Related JP3980488B2 (ja) 2001-02-24 2002-02-25 超並列コンピュータ・システム

Country Status (10)

Country Link
US (3) US7555566B2 (ja)
EP (1) EP1370966B1 (ja)
JP (1) JP3980488B2 (ja)
KR (1) KR100537582B1 (ja)
CN (1) CN1311376C (ja)
AT (1) ATE479147T1 (ja)
CA (1) CA2437039A1 (ja)
DE (1) DE60237433D1 (ja)
IL (1) IL157505A (ja)
WO (1) WO2002084509A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2506509A1 (en) 2011-03-31 2012-10-03 Fujitsu Limited Information processing apparatus, parallel computer system, and control method of parallel computer system
US20220173973A1 (en) * 2020-11-30 2022-06-02 Google Llc Connecting processors using twisted torus configurations
US12335099B2 (en) 2020-10-19 2025-06-17 Google Llc Enhanced reconfigurable interconnect network

Families Citing this family (408)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10839321B2 (en) * 1997-01-06 2020-11-17 Jeffrey Eder Automated data storage system
US7185226B2 (en) 2001-02-24 2007-02-27 International Business Machines Corporation Fault tolerance in a supercomputer through dynamic repartitioning
CA2438195C (en) 2001-02-24 2009-02-03 International Business Machines Corporation Optimized scalabale network switch
US7464180B1 (en) * 2001-10-16 2008-12-09 Cisco Technology, Inc. Prioritization and preemption of data frames over a switching fabric
US6745299B2 (en) * 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
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
US20040107381A1 (en) * 2002-07-12 2004-06-03 American Management Systems, Incorporated High performance transaction storage and retrieval system for commodity computing environments
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7627721B2 (en) * 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US7552192B2 (en) * 2002-12-18 2009-06-23 Ronnie Gerome Carmichael Massively parallel computer network-utilizing MPACT and multipoint parallel server (MPAS) technologies
US7570592B2 (en) * 2003-01-24 2009-08-04 Fujitsu Limited Data transfer device for executing the process discarding error frame
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US8352724B2 (en) * 2003-07-23 2013-01-08 Semiconductor Energy Laboratory Co., Ltd. Microprocessor and grid computing system
US8223778B2 (en) * 2003-11-19 2012-07-17 Intel Corporation Routing table architecture
US7730501B2 (en) * 2003-11-19 2010-06-01 Intel Corporation Method for parallel processing of events within multiple event contexts maintaining ordered mutual exclusion
US7130967B2 (en) * 2003-12-10 2006-10-31 International Business Machines Corporation Method and system for supplier-based memory speculation in a memory subsystem of a data processing system
US8892821B2 (en) * 2003-12-10 2014-11-18 International Business Machines Corporation Method and system for thread-based memory speculation in a memory subsystem of a data processing system
US20050132089A1 (en) * 2003-12-12 2005-06-16 Octigabay Systems Corporation Directly connected low latency network and interface
KR100605745B1 (ko) * 2004-01-06 2006-07-31 삼성전자주식회사 노드들로 구성된 이동통신 시스템에서 데이터 전송 경로결정 장치 및 방법
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US8145785B1 (en) * 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7953903B1 (en) 2004-02-13 2011-05-31 Habanero Holdings, Inc. Real time detection of changed resources for provisioning and management of fabric-backplane enterprise servers
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US7990994B1 (en) 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
US7860961B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Real time notice of new resources for provisioning and management of fabric-backplane enterprise servers
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US7860097B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Fabric-backplane enterprise servers with VNICs and VLANs
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7843907B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway target for fabric-backplane enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
ITMI20040600A1 (it) * 2004-03-26 2004-06-26 Atmel Corp Sistema dsp su chip a doppio processore a virgola mobile nel dominio complesso
WO2005103922A2 (en) * 2004-03-26 2005-11-03 Atmel Corporation Dual-processor complex domain floating-point dsp system on chip
US9178784B2 (en) * 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US7623028B2 (en) 2004-05-27 2009-11-24 Lawrence Kates System and method for high-sensitivity sensor
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
DE102004035843B4 (de) * 2004-07-23 2010-04-15 Infineon Technologies Ag Router-Netzwerkprozessor
US8033479B2 (en) 2004-10-06 2011-10-11 Lawrence Kates Electronically-controlled register vent for zone heating and cooling
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7475274B2 (en) 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US7318126B2 (en) * 2005-04-11 2008-01-08 International Business Machines Corporation Asynchronous symmetric multiprocessing
US7478278B2 (en) * 2005-04-14 2009-01-13 International Business Machines Corporation Template based parallel checkpointing in a massively parallel computer system
US7335976B2 (en) * 2005-05-25 2008-02-26 International Business Machines Corporation Crosstalk reduction in electrical interconnects using differential signaling
US7716250B1 (en) * 2005-05-27 2010-05-11 Microsoft Corporation Erasure coding and group computations using rooted binary and ternary trees
US8065493B2 (en) * 2005-06-09 2011-11-22 Nxp B.V. Memory controller and method for coupling a network and a memory
US7633940B1 (en) * 2005-06-27 2009-12-15 The Board Of Trustees Of The Leland Stanford Junior University Load-balanced routing
WO2007094039A1 (ja) * 2006-02-13 2007-08-23 Fujitsu Limited システムモジュールおよびデータ中継方法
US8924590B2 (en) * 2006-02-14 2014-12-30 Hewlett-Packard Development Company, L.P. System and method for communicating in a networked system
US7904887B2 (en) * 2006-02-16 2011-03-08 International Business Machines Corporation Learning and cache management in software defined contexts
US8516444B2 (en) * 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
JP4413198B2 (ja) * 2006-03-23 2010-02-10 富士通株式会社 浮動小数点データの総和演算処理方法及びコンピュータシステム
US8826228B2 (en) * 2006-03-27 2014-09-02 Coherent Logix, Incorporated Programming a multi-processor system
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
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
EP1868114B1 (de) * 2006-06-12 2015-11-18 Konrad-Zuse-Zentrum für Informationstechnik Berlin Vorrichtung und Verfahren zum Speichern und Abrufen von Objekten mit mehrdimensional adressierten, elektronischen Daten
US20080022079A1 (en) * 2006-07-24 2008-01-24 Archer Charles J Executing an allgather operation with an alltoallv operation in a parallel computer
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置
US8751866B2 (en) * 2006-09-28 2014-06-10 International Business Machines Corporation Autonomic fault isolation in a highly interconnected system
US7954095B2 (en) * 2006-11-01 2011-05-31 International Business Machines Corporation Analysis and selection of optimal function implementations in massively parallel computer
US7512836B2 (en) * 2006-12-11 2009-03-31 International Business Machines Corporation Fast backup of compute nodes in failing midplane by copying to nodes in backup midplane via link chips operating in pass through and normal modes in massively parallel computing system
US7949130B2 (en) 2006-12-28 2011-05-24 Intel Corporation Architecture and instruction set for implementing advanced encryption standard (AES)
US7953684B2 (en) * 2007-01-31 2011-05-31 International Business Machines Corporation Method and system for optimal parallel computing performance
US7631169B2 (en) * 2007-02-02 2009-12-08 International Business Machines Corporation Fault recovery on a massively parallel computer system to handle node failures without ending an executing job
US7784704B2 (en) 2007-02-09 2010-08-31 Harter Robert J Self-programmable thermostat
US7852337B2 (en) * 2007-02-20 2010-12-14 International Business Machines Corporation Scalable property viewer for a massively parallel computer system
US7688737B2 (en) * 2007-03-05 2010-03-30 International Business Machines Corporation Latency hiding message passing protocol
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7944842B2 (en) * 2007-04-20 2011-05-17 International Business Machines Corporation Opportunistic queueing injection strategy for network load balancing
CN101311917B (zh) * 2007-05-24 2011-04-06 中国科学院过程工程研究所 一种面向粒子模型的多层直连集群并行计算系统
US8161480B2 (en) 2007-05-29 2012-04-17 International Business Machines Corporation Performing an allreduce operation using shared memory
US7850260B2 (en) * 2007-06-22 2010-12-14 Oracle America, Inc. Injection/ejection mechanism
US8140925B2 (en) 2007-06-26 2012-03-20 International Business Machines Corporation Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US7761687B2 (en) * 2007-06-26 2010-07-20 International Business Machines Corporation Ultrascalable petaflop parallel supercomputer
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US8509255B2 (en) 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US8230433B2 (en) 2007-06-26 2012-07-24 International Business Machines Corporation Shared performance monitor in a multiprocessor system
US8108738B2 (en) 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US8032892B2 (en) * 2007-06-26 2011-10-04 International Business Machines Corporation Message passing with a limited number of DMA byte counters
US7984448B2 (en) * 2007-06-26 2011-07-19 International Business Machines Corporation Mechanism to support generic collective communication across a variety of programming models
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US8010875B2 (en) 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US7802025B2 (en) 2007-06-26 2010-09-21 International Business Machines Corporation DMA engine for repeating communication patterns
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
US20090006663A1 (en) * 2007-06-27 2009-01-01 Archer Charles J Direct Memory Access ('DMA') Engine Assisted Local Reduction
JP4676463B2 (ja) * 2007-07-13 2011-04-27 株式会社日立製作所 並列計算機システム
CN101354694B (zh) * 2007-07-26 2010-10-13 上海红神信息技术有限公司 基于mpu架构的超高扩展超级计算系统
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US20090055632A1 (en) * 2007-08-22 2009-02-26 Chao-Wu Chen Emulation Scheme for Programmable Pipeline Fabric
US7958182B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US8234652B2 (en) 2007-08-28 2012-07-31 International Business Machines Corporation Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
US8108876B2 (en) * 2007-08-28 2012-01-31 International Business Machines Corporation Modifying an operation of one or more processors executing message passing interface tasks
US8127300B2 (en) * 2007-08-28 2012-02-28 International Business Machines Corporation Hardware based dynamic load balancing of message passing interface tasks
US8312464B2 (en) * 2007-08-28 2012-11-13 International Business Machines Corporation Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
US20090064166A1 (en) * 2007-08-28 2009-03-05 Arimilli Lakshminarayana B System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
US8407660B2 (en) * 2007-09-12 2013-03-26 Neal Solomon Interconnect architecture in three dimensional network on a chip
US7885969B2 (en) * 2007-09-17 2011-02-08 International Business Machines Corporation System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer
US8160752B2 (en) 2008-09-30 2012-04-17 Zome Networks, Inc. Managing energy usage
US8381212B2 (en) * 2007-10-09 2013-02-19 International Business Machines Corporation Dynamic allocation and partitioning of compute nodes in hierarchical job scheduling
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
US20090125611A1 (en) * 2007-11-08 2009-05-14 Barsness Eric L Sharing loaded java classes among a plurality of nodes
US8127273B2 (en) * 2007-11-09 2012-02-28 International Business Machines Corporation Node selection for executing a Java application among a plurality of nodes
US20090158276A1 (en) * 2007-12-12 2009-06-18 Eric Lawrence Barsness Dynamic distribution of nodes on a multi-node computer system
US7974278B1 (en) 2007-12-12 2011-07-05 Integrated Device Technology, Inc. Packet switch with configurable virtual channels
US8522236B2 (en) * 2007-12-28 2013-08-27 Intel Corporation Method and system for establishing a robust virtualized environment
US8544065B2 (en) * 2008-01-23 2013-09-24 International Business Machines Corporation Dataspace protection utilizing virtual private networks on a multi-node computer system
US8270404B2 (en) 2008-02-13 2012-09-18 International Business Machines Corporation System, method, and computer program product for improved distribution of data
US8042004B2 (en) * 2008-02-25 2011-10-18 International Business Machines Corporation Diagnosing communications between computer systems
US7831710B2 (en) * 2008-02-25 2010-11-09 International Business Machines Corporation Communication of offline status between computer systems
US7958184B2 (en) * 2008-03-04 2011-06-07 International Business Machines Corporation Network virtualization in a multi-node system with multiple networks
US7836198B2 (en) * 2008-03-20 2010-11-16 International Business Machines Corporation Ethernet virtualization using hardware control flow override
US8422402B2 (en) 2008-04-01 2013-04-16 International Business Machines Corporation Broadcasting a message in a parallel computer
US7930372B2 (en) * 2008-04-01 2011-04-19 International Business Machines Corporation Staged integration of distributed system and publishing of remote services
US7962650B2 (en) * 2008-04-10 2011-06-14 International Business Machines Corporation Dynamic component placement in an event-driven component-oriented network data processing system
DE102008019478A1 (de) * 2008-04-17 2009-10-22 Wincor Nixdorf International Gmbh Verfahren und Vorrichtung zur Steuerung von Benutzerdialogen an einer technischen Einrichtung
US8397225B2 (en) 2008-04-24 2013-03-12 International Business Machines Corporation Optimizing just-in-time compiling for a java application executing on a compute node
US20090274157A1 (en) * 2008-05-01 2009-11-05 Vaidya Aniruddha S Method and apparatus for hierarchical routing in multiprocessor mesh-based systems
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
US9514023B2 (en) * 2008-06-24 2016-12-06 International Business Machines Corporation Message flow control in a multi-node computer system
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
US8190699B2 (en) * 2008-07-28 2012-05-29 Crossfield Technology LLC System and method of multi-path data communications
US7907625B1 (en) 2008-08-04 2011-03-15 Integrated Device Technology, Inc. Power reduction technique for buffered crossbar switch
KR101531268B1 (ko) * 2008-08-05 2015-06-26 삼성전자주식회사 경량진동체를 구비한 초음파 모터
US8181005B2 (en) * 2008-09-05 2012-05-15 Advanced Micro Devices, Inc. Hybrid branch prediction device with sparse and dense prediction caches
WO2010051326A1 (en) * 2008-10-28 2010-05-06 Earth Aid Enterprises Llc Methods and systems for determining the environmental impact of a consumer's actual resource consumption
US8335238B2 (en) * 2008-12-23 2012-12-18 International Business Machines Corporation Reassembling streaming data across multiple packetized communication channels
US8754775B2 (en) 2009-03-20 2014-06-17 Nest Labs, Inc. Use of optical reflectance proximity detector for nuisance mitigation in smoke alarms
US8266504B2 (en) 2009-04-14 2012-09-11 International Business Machines Corporation Dynamic monitoring of ability to reassemble streaming data across multiple channels based on history
US8176026B2 (en) * 2009-04-14 2012-05-08 International Business Machines Corporation Consolidating file system backend operations with access of data
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8452846B2 (en) * 2010-08-12 2013-05-28 Talari Networks Incorporated Adaptive private network asynchronous distributed shared memory services
US8549106B2 (en) 2009-06-15 2013-10-01 Microsoft Corporation Leveraging remote server pools for client applications
KR101349487B1 (ko) * 2009-06-24 2014-01-08 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US8612711B1 (en) * 2009-09-21 2013-12-17 Tilera Corporation Memory-mapped data transfers
WO2011058640A1 (ja) * 2009-11-12 2011-05-19 富士通株式会社 並列計算用の通信方法、情報処理装置およびプログラム
WO2011058639A1 (ja) * 2009-11-12 2011-05-19 富士通株式会社 通信方法、情報処理装置及びプログラム
US8359404B2 (en) * 2010-01-08 2013-01-22 International Business Machines Corporation Zone routing in a torus network
KR101039782B1 (ko) * 2009-11-26 2011-06-09 한양대학교 산학협력단 능동 메모리 프로세서를 포함하는 네트워크-온-칩 시스템
US8417778B2 (en) * 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
CN102122275A (zh) * 2010-01-08 2011-07-13 上海芯豪微电子有限公司 一种可配置处理器
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US8788879B2 (en) * 2010-01-08 2014-07-22 International Business Machines Corporation Non-volatile memory for checkpoint storage
US8516487B2 (en) * 2010-02-11 2013-08-20 International Business Machines Corporation Dynamic job relocation in a high performance computing system
JP5467891B2 (ja) * 2010-02-19 2014-04-09 ルネサスエレクトロニクス株式会社 情報処理装置、デバッグ装置、デバッグ方法
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
US8751655B2 (en) * 2010-03-29 2014-06-10 International Business Machines Corporation Collective acceleration unit tree structure
US9542231B2 (en) 2010-04-13 2017-01-10 Et International, Inc. Efficient execution of parallel computer programs
US8332460B2 (en) 2010-04-14 2012-12-11 International Business Machines Corporation Performing a local reduction operation on a parallel computer
US9424087B2 (en) 2010-04-29 2016-08-23 International Business Machines Corporation Optimizing collective operations
US8346883B2 (en) * 2010-05-19 2013-01-01 International Business Machines Corporation Effecting hardware acceleration of broadcast operations in a parallel computer
DE102010021825A1 (de) 2010-05-28 2011-12-01 Christmann Informationstechnik + Medien Gmbh & Co. Kg Mehrprozessor-Computersystem
US8949577B2 (en) 2010-05-28 2015-02-03 International Business Machines Corporation Performing a deterministic reduction operation in a parallel computer
US8489859B2 (en) 2010-05-28 2013-07-16 International Business Machines Corporation Performing a deterministic reduction operation in a compute node organized into a branched tree topology
US8850250B2 (en) * 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
WO2011156746A2 (en) * 2010-06-11 2011-12-15 California Institute Of Technology Systems and methods for rapid processing and storage of data
JP2012003644A (ja) * 2010-06-21 2012-01-05 Fujitsu Ltd メモリエラー箇所検出装置、及びメモリエラー箇所検出方法。
US8510255B2 (en) 2010-09-14 2013-08-13 Nest Labs, Inc. Occupancy pattern detection, estimation and prediction
US8950686B2 (en) 2010-11-19 2015-02-10 Google Inc. Control unit with automatic setback capability
US8727611B2 (en) 2010-11-19 2014-05-20 Nest Labs, Inc. System and method for integrating sensors in thermostats
US9104211B2 (en) 2010-11-19 2015-08-11 Google Inc. Temperature controller with model-based time to target calculation and display
US8918219B2 (en) 2010-11-19 2014-12-23 Google Inc. User friendly interface for control unit
US8776081B2 (en) 2010-09-14 2014-07-08 International Business Machines Corporation Send-side matching of data communications messages
US8606374B2 (en) 2010-09-14 2013-12-10 Nest Labs, Inc. Thermodynamic modeling for enclosures
US9146610B2 (en) 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
US8880866B2 (en) 2010-10-15 2014-11-04 Coherent Logix, Incorporated Method and system for disabling communication paths in a multiprocessor fabric by setting register values to disable the communication paths specified by a configuration
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
US8667441B2 (en) 2010-11-16 2014-03-04 International Business Machines Corporation Clock optimization with local clock buffer control optimization
US8850348B2 (en) 2010-12-31 2014-09-30 Google Inc. Dynamic device-associated feedback indicative of responsible device usage
US9256230B2 (en) 2010-11-19 2016-02-09 Google Inc. HVAC schedule establishment in an intelligent, network-connected thermostat
US9075419B2 (en) 2010-11-19 2015-07-07 Google Inc. Systems and methods for a graphical user interface of a controller for an energy-consuming system having spatially related discrete display elements
US9453655B2 (en) 2011-10-07 2016-09-27 Google Inc. Methods and graphical user interfaces for reporting performance information for an HVAC system controlled by a self-programming network-connected thermostat
US8788103B2 (en) 2011-02-24 2014-07-22 Nest Labs, Inc. Power management in energy buffered building control unit
US11334034B2 (en) 2010-11-19 2022-05-17 Google Llc Energy efficiency promoting schedule learning algorithms for intelligent thermostat
US8195313B1 (en) 2010-11-19 2012-06-05 Nest Labs, Inc. Thermostat user interface
US9448567B2 (en) 2010-11-19 2016-09-20 Google Inc. Power management in single circuit HVAC systems and in multiple circuit HVAC systems
US9268344B2 (en) 2010-11-19 2016-02-23 Google Inc. Installation of thermostat powered by rechargeable battery
EP2659319A4 (en) 2010-11-19 2017-07-26 Google, Inc. Flexible functionality partitioning within intelligent-thermostat-controlled hvac systems
US9714772B2 (en) 2010-11-19 2017-07-25 Google Inc. HVAC controller configurations that compensate for heating caused by direct sunlight
US10346275B2 (en) 2010-11-19 2019-07-09 Google Llc Attributing causation for energy usage and setpoint changes with a network-connected thermostat
IT1403031B1 (it) 2010-11-19 2013-09-27 Eurotech S P A Apparecchiatura di rete unificata per sistemi di supercalcolo scalabili
US9459018B2 (en) 2010-11-19 2016-10-04 Google Inc. Systems and methods for energy-efficient control of an energy-consuming system
US9092039B2 (en) 2010-11-19 2015-07-28 Google Inc. HVAC controller with user-friendly installation features with wire insertion detection
US9046898B2 (en) 2011-02-24 2015-06-02 Google Inc. Power-preserving communications architecture with long-polling persistent cloud channel for wireless network-connected thermostat
WO2012077704A1 (ja) * 2010-12-07 2012-06-14 日本電気株式会社 デバッグスタブサーバ、デバッグ方法およびプログラム
US9589254B2 (en) * 2010-12-08 2017-03-07 Microsoft Technology Licensing, Llc Using e-mail message characteristics for prioritization
RU2013125719A (ru) 2010-12-16 2015-01-27 Ити Интернэшнл, Инк. Архитектура распределенных вычислений
US9417637B2 (en) 2010-12-31 2016-08-16 Google Inc. Background schedule simulations in an intelligent, network-connected thermostat
US9851728B2 (en) 2010-12-31 2017-12-26 Google Inc. Inhibiting deleterious control coupling in an enclosure having multiple HVAC regions
US9342082B2 (en) 2010-12-31 2016-05-17 Google Inc. Methods for encouraging energy-efficient behaviors based on a network connected thermostat-centric energy efficiency platform
US8725483B2 (en) 2011-01-19 2014-05-13 International Business Machines Corporation Minimizing the maximum required link capacity for three-dimensional interconnect routing
US8944338B2 (en) 2011-02-24 2015-02-03 Google Inc. Thermostat with self-configuring connections to facilitate do-it-yourself installation
US8511577B2 (en) 2011-02-24 2013-08-20 Nest Labs, Inc. Thermostat with power stealing delay interval at transitions between power stealing states
US9036493B2 (en) 2011-03-08 2015-05-19 Riverbed Technology, Inc. Multilevel network monitoring system architecture
JP5696779B2 (ja) * 2011-03-22 2015-04-08 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
US20120331153A1 (en) * 2011-06-22 2012-12-27 International Business Machines Corporation Establishing A Data Communications Connection Between A Lightweight Kernel In A Compute Node Of A Parallel Computer And An Input-Output ('I/O') Node Of The Parallel Computer
US9049120B1 (en) 2011-07-01 2015-06-02 Altera Corporation Method and system for operating a communication circuit during a low-power state
US8788862B1 (en) * 2011-07-01 2014-07-22 Altera Corporation Method and system for efficiently transitioning a communication circuit from a low-power state
US8856495B2 (en) 2011-07-25 2014-10-07 International Business Machines Corporation Automatically routing super-compute interconnects
US9115908B2 (en) 2011-07-27 2015-08-25 Honeywell International Inc. Systems and methods for managing a programmable thermostat
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
US8667501B2 (en) 2011-08-10 2014-03-04 International Business Machines Corporation Performing a local barrier operation
CN102742251A (zh) * 2011-08-11 2012-10-17 华为技术有限公司 一种实现对称多处理系统的节点聚合系统
US9595074B2 (en) 2011-09-16 2017-03-14 Imagination Technologies Limited Multistage collector for outputs in multiprocessor systems
US8893032B2 (en) 2012-03-29 2014-11-18 Google Inc. User interfaces for HVAC schedule display and modification on smartphone or other space-limited touchscreen device
US8622314B2 (en) 2011-10-21 2014-01-07 Nest Labs, Inc. Smart-home device that self-qualifies for away-state functionality
CN103890667B (zh) 2011-10-21 2017-02-15 谷歌公司 用户友好、网络连接的学习型恒温器及相关系统和方法
CA2852944C (en) 2011-10-21 2023-03-14 Nest Labs, Inc. Energy efficiency promoting schedule learning algorithms for intelligent thermostat
EP2759100B1 (en) * 2011-10-26 2015-03-04 International Business Machines Corporation Optimising data transmission in a hypercube network
CN102426636A (zh) * 2011-10-31 2012-04-25 绚视软件科技(上海)有限公司 可挂载式加密算法引擎系统及其使用方法
TW201328550A (zh) * 2011-12-16 2013-07-01 Inventec Corp 機櫃系統及機櫃系統的監控方法
US9465632B2 (en) 2012-02-04 2016-10-11 Global Supercomputing Corporation Parallel hardware hypervisor for virtualizing application-specific supercomputers
US8706847B2 (en) 2012-02-09 2014-04-22 International Business Machines Corporation Initiating a collective operation in a parallel computer
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
US9069649B2 (en) * 2012-02-17 2015-06-30 Netronome Systems, Incorporated Distributed credit FIFO link of a configurable mesh data bus
US20130247069A1 (en) * 2012-03-15 2013-09-19 International Business Machines Corporation Creating A Checkpoint Of A Parallel Application Executing In A Parallel Computer That Supports Computer Hardware Accelerated Barrier Operations
JP5900088B2 (ja) * 2012-03-27 2016-04-06 富士通株式会社 並列計算機、並列計算機の制御方法及び制御プログラム
CN106288191B (zh) 2012-03-29 2020-08-25 谷歌有限责任公司 处理并报告用于网络连接恒温器控制的hvac系统的使用信息
US9091453B2 (en) 2012-03-29 2015-07-28 Google Inc. Enclosure cooling using early compressor turn-off with extended fan operation
US9160619B2 (en) * 2012-04-16 2015-10-13 Pacific Star Communications, Inc. Call flow diagnostic system for heterogeneous networks
US9298632B2 (en) * 2012-06-28 2016-03-29 Intel Corporation Hybrid cache state and filter tracking of memory operations during a transaction
US8902902B2 (en) 2012-07-18 2014-12-02 Netronome Systems, Incorporated Recursive lookup with a hardware trie structure that has no sequential logic elements
JP5920105B2 (ja) 2012-08-16 2016-05-18 富士通株式会社 演算処理装置および演算処理装置の制御方法
US8620841B1 (en) 2012-08-31 2013-12-31 Nest Labs, Inc. Dynamic distributed-sensor thermostat network for forecasting external events
US8708242B2 (en) * 2012-09-21 2014-04-29 Nest Labs, Inc. Thermostat system with software-repurposable wiring terminals adaptable for HVAC systems of different ranges of complexity
US8994540B2 (en) 2012-09-21 2015-03-31 Google Inc. Cover plate for a hazard detector having improved air flow and other characteristics
US8659302B1 (en) 2012-09-21 2014-02-25 Nest Labs, Inc. Monitoring and recoverable protection of thermostat switching circuitry
US9007222B2 (en) 2012-09-21 2015-04-14 Google Inc. Detector unit and sensing chamber therefor
US9046414B2 (en) 2012-09-21 2015-06-02 Google Inc. Selectable lens button for a hazard detector and method therefor
US8630741B1 (en) 2012-09-30 2014-01-14 Nest Labs, Inc. Automated presence detection and presence-related control within an intelligent controller
US8600561B1 (en) 2012-09-30 2013-12-03 Nest Labs, Inc. Radiant heating controls and methods for an environmental control system
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US20140122796A1 (en) * 2012-10-31 2014-05-01 Netapp, Inc. Systems and methods for tracking a sequential data stream stored in non-sequential storage blocks
US9810442B2 (en) 2013-03-15 2017-11-07 Google Inc. Controlling an HVAC system in association with a demand-response event with an intelligent network-connected thermostat
US9595070B2 (en) 2013-03-15 2017-03-14 Google Inc. Systems, apparatus and methods for managing demand-response programs and events
US9807099B2 (en) 2013-03-15 2017-10-31 Google Inc. Utility portals for managing demand-response events
US10775814B2 (en) 2013-04-17 2020-09-15 Google Llc Selective carrying out of scheduled control operations by an intelligent controller
US9910449B2 (en) 2013-04-19 2018-03-06 Google Llc Generating and implementing thermodynamic models of a structure
US9298197B2 (en) 2013-04-19 2016-03-29 Google Inc. Automated adjustment of an HVAC schedule for resource conservation
US9360229B2 (en) 2013-04-26 2016-06-07 Google Inc. Facilitating ambient temperature measurement accuracy in an HVAC controller having internal heat-generating components
US9696735B2 (en) 2013-04-26 2017-07-04 Google Inc. Context adaptive cool-to-dry feature for HVAC controller
US9185023B2 (en) 2013-05-03 2015-11-10 Netspeed Systems Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance
EP3014420A4 (en) * 2013-06-29 2017-04-05 Intel Corporation On-chip mesh interconnect
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
KR20150057798A (ko) * 2013-11-20 2015-05-28 한국전자통신연구원 캐시 제어 장치 및 방법
US9058273B1 (en) 2013-12-20 2015-06-16 International Business Machines Corporation Frequency determination across an interface of a data processing system
US9367504B2 (en) 2013-12-20 2016-06-14 International Business Machines Corporation Coherency overcommit
US9495312B2 (en) 2013-12-20 2016-11-15 International Business Machines Corporation Determining command rate based on dropped commands
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9520180B1 (en) 2014-03-11 2016-12-13 Hypres, Inc. System and method for cryogenic hybrid technology computing and memory
US9971627B2 (en) 2014-03-26 2018-05-15 Intel Corporation Enabling maximum concurrency in a hybrid transactional memory system
US9609462B2 (en) 2014-03-28 2017-03-28 Google Inc. Facilitating radio frequency communications among environmental control system components
US9791839B2 (en) 2014-03-28 2017-10-17 Google Inc. User-relocatable self-learning environmental control device capable of adapting previous learnings to current location in controlled environment
US9581342B2 (en) 2014-03-28 2017-02-28 Google Inc. Mounting stand for multi-sensing environmental control device
US9568201B2 (en) 2014-03-28 2017-02-14 Google Inc. Environmental control system retrofittable with multiple types of boiler-based heating systems
US9857238B2 (en) 2014-04-18 2018-01-02 Google Inc. Thermodynamic model generation and implementation using observed HVAC and/or enclosure characteristics
CN103970214B (zh) * 2014-05-19 2018-05-04 浪潮电子信息产业股份有限公司 一种异构加速刀片式计算机系统架构
US9330433B2 (en) * 2014-06-30 2016-05-03 Intel Corporation Data distribution fabric in scalable GPUs
US9553784B2 (en) 2014-07-29 2017-01-24 International Business Machines Corporation Selection of message passing collectives in presence of system noise
US9495217B2 (en) * 2014-07-29 2016-11-15 International Business Machines Corporation Empirical determination of adapter affinity in high performance computing (HPC) environment
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
WO2016057038A1 (en) 2014-10-09 2016-04-14 Hewlett Packard Enterprise Development Lp A transmitter that does not resend a packet despite receipt of a message to resend the packet
US9990324B2 (en) * 2014-10-22 2018-06-05 Cavium Inc. Two modes of a configuration interface of a network ASIC
US9946832B2 (en) * 2014-11-13 2018-04-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimized placement design of network and infrastructure components
US20160173398A1 (en) * 2014-12-12 2016-06-16 Intel Corporation Method, Apparatus And System For Encoding Command Information In a Packet-Based Network
US9779134B2 (en) * 2014-12-26 2017-10-03 Business Objects Software Ltd. System and method of data wrangling
CN104503921B (zh) * 2014-12-31 2017-06-30 中国科学院重庆绿色智能技术研究院 一种嵌入式高性能rtk算法内存空间定量优化分配方法
US9612031B2 (en) 2015-01-07 2017-04-04 Google Inc. Thermostat switching circuitry robust against anomalous HVAC control line conditions
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9396633B1 (en) 2015-06-14 2016-07-19 Google Inc. Systems, methods, and devices for managing coexistence of multiple transceiver devices by optimizing component layout
US9794522B2 (en) 2015-02-06 2017-10-17 Google Inc. Systems, methods, and devices for managing coexistence of multiple transceiver devices by optimizing component layout
US9679454B2 (en) 2015-02-06 2017-06-13 Google Inc. Systems, methods, and devices for managing coexistence of multiple transceiver devices using control signals
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US9933826B2 (en) 2015-05-11 2018-04-03 Hewlett Packard Enterprise Development Lp Method and apparatus for managing nodal power in a high performance computer system
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10429909B2 (en) 2015-06-01 2019-10-01 Hewlett Packard Enterprise Development Lp Managing power in a high performance computing system for resiliency and cooling
US9543998B2 (en) 2015-06-14 2017-01-10 Google Inc. Systems, methods, and devices for managing coexistence of multiple transceiver devices using bypass circuitry
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US9846623B2 (en) * 2015-08-20 2017-12-19 Qsigma, Inc. Simultaneous multi-processor apparatus applicable to acheiving exascale performance for algorithms and program systems
US10387314B2 (en) * 2015-08-25 2019-08-20 Oracle International Corporation Reducing cache coherence directory bandwidth by aggregating victimization requests
US9702582B2 (en) 2015-10-12 2017-07-11 Ikorongo Technology, LLC Connected thermostat for controlling a climate system based on a desired usage profile in comparison to other connected thermostats controlling other climate systems
CN105354242A (zh) * 2015-10-15 2016-02-24 北京航空航天大学 分布式数据处理方法及装置
US10268586B2 (en) * 2015-12-08 2019-04-23 Via Alliance Semiconductor Co., Ltd. Processor with programmable prefetcher operable to generate at least one prefetch address based on load requests
US10101050B2 (en) 2015-12-09 2018-10-16 Google Llc Dispatch engine for optimizing demand-response thermostat events
KR102024934B1 (ko) * 2015-12-30 2019-11-04 한국전자통신연구원 분산 파일 시스템 및 이의 파일 연산 처리 방법
US10733350B1 (en) * 2015-12-30 2020-08-04 Sharat C Prasad On-chip and system-area multi-processor interconnection networks in advanced processes for maximizing performance minimizing cost and energy
US9948543B2 (en) 2015-12-30 2018-04-17 International Business Machines Corporation Mechanism to extend the remote get to do async rectangle broadcast on a rectangle with wild cards in the packet header
WO2017113278A1 (zh) 2015-12-31 2017-07-06 华为技术有限公司 数据处理方法、装置和系统
KR102025801B1 (ko) * 2016-01-26 2019-09-26 한국전자통신연구원 분산 파일 시스템 및 이의 데이터 내결함성 지원 방법
US9805001B2 (en) 2016-02-05 2017-10-31 Google Inc. Matrix processing apparatus
US9898441B2 (en) 2016-02-05 2018-02-20 Google Llc Matrix processing apparatus
US10598526B2 (en) 2016-03-08 2020-03-24 International Business Machines Corporation Methods and systems for performing test and calibration of integrated sensors
US10571519B2 (en) * 2016-03-08 2020-02-25 International Business Machines Corporation Performing system functional test on a chip having partial-good portions
US10402235B2 (en) * 2016-04-15 2019-09-03 Nec Corporation Fine-grain synchronization in data-parallel jobs for distributed machine learning
US10402234B2 (en) * 2016-04-15 2019-09-03 Nec Corporation Fine-grain synchronization in data-parallel jobs
US10687184B2 (en) 2016-05-13 2020-06-16 Google Llc Systems, methods, and devices for utilizing radar-based touch interfaces
US10613213B2 (en) 2016-05-13 2020-04-07 Google Llc Systems, methods, and devices for utilizing radar with smart devices
JP6846027B2 (ja) * 2016-05-19 2021-03-24 公立大学法人会津大学 ネットワークオンチップ用の欠陥耐性ルータ
GB2552454A (en) * 2016-06-15 2018-01-31 Nanotronix Inc High performance computing network
CN107526528B (zh) * 2016-06-20 2021-09-07 北京正泽兴承科技有限责任公司 一种片上低延迟存储器的实现机制
CN106293937A (zh) * 2016-08-02 2017-01-04 合肥奇也信息科技有限公司 一种用于分配数据处理资源给数据处理的方法
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10700968B2 (en) 2016-10-19 2020-06-30 Rex Computing, Inc. Optimized function assignment in a multi-core processor
WO2018075811A2 (en) * 2016-10-19 2018-04-26 Rex Computing, Inc. Network-on-chip architecture
US10355975B2 (en) 2016-10-19 2019-07-16 Rex Computing, Inc. Latency guaranteed network on chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
KR101948163B1 (ko) * 2017-01-10 2019-02-14 충북대학교 산학협력단 Pci 익스프레스 기반의 연결통신망에서 배리어 구현 방법
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
KR102468686B1 (ko) * 2017-01-17 2022-11-22 한국전자통신연구원 대규모 토러스 네트워크에서의 분산 스토리지 시스템을 위한 ip 자동 할당 방법 및 이를 위한 장치
KR102154653B1 (ko) * 2017-01-18 2020-09-10 한국전자통신연구원 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치
CN107743246A (zh) * 2017-01-24 2018-02-27 贵州白山云科技有限公司 任务处理方法、系统及数据处理系统
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
KR102369209B1 (ko) 2017-02-23 2022-02-28 세레브라스 시스템즈 인코포레이티드 가속화된 심층 학습
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
US10317888B2 (en) 2017-03-01 2019-06-11 PLETHORA IloT, S.L. Device and system including multiple devices for supervision and control of machines in industrial installation
CA3108089C (en) 2017-04-17 2024-04-02 Cerebras Systems Inc. Task activating for accelerated deep learning
CA3099965C (en) 2017-04-17 2022-08-02 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
GB2562520A (en) 2017-05-17 2018-11-21 John Hamlin Derrick Digital processing connectivity
US10169048B1 (en) 2017-06-28 2019-01-01 International Business Machines Corporation Preparing computer nodes to boot in a multidimensional torus fabric network
US10356008B2 (en) 2017-06-28 2019-07-16 International Business Machines Corporation Large scale fabric attached architecture
US10088643B1 (en) 2017-06-28 2018-10-02 International Business Machines Corporation Multidimensional torus shuffle box
US10571983B2 (en) 2017-06-28 2020-02-25 International Business Machines Corporation Continuously available power control system
CN107918799B (zh) * 2017-11-08 2021-11-26 中国舰船研究设计中心 一种基于bs架构的舰船综合保障管理系统
US20190163646A1 (en) * 2017-11-29 2019-05-30 International Business Machines Corporation Cyclic preloading mechanism to define swap-out ordering for round robin cache memory
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11113223B1 (en) * 2018-04-03 2021-09-07 Xilinx, Inc. Dual mode interconnect
CN108509371A (zh) * 2018-04-09 2018-09-07 郑州云海信息技术有限公司 一种高端容错计算机节点互联系统及实现方法
FR3081581B1 (fr) * 2018-05-22 2020-09-04 Bull Sas Procede d'envoi de donnees, programme d'ordinateur et systeme associes
US10992175B2 (en) 2018-06-15 2021-04-27 Google Llc Communication circuit for 2-wire protocols between HVAC systems and smart-home devices
EP3807756A4 (en) 2018-06-18 2022-03-30 The Trustees of Princeton University CONFIGURABLE IN-MEMORY COMPUTATION ENGINE, PLATFORM, BINARY CELLS AND RELATED ARRANGEMENTS
CN109343791B (zh) * 2018-08-16 2021-11-09 武汉元鼎创天信息科技有限公司 一种大数据一体机
US11328207B2 (en) 2018-08-28 2022-05-10 Cerebras Systems Inc. Scaled compute fabric for accelerated deep learning
US11328208B2 (en) 2018-08-29 2022-05-10 Cerebras Systems Inc. Processor element redundancy for accelerated deep learning
WO2020044208A1 (en) 2018-08-29 2020-03-05 Cerebras Systems Inc. Isa enhancements for accelerated deep learning
RU2710890C1 (ru) * 2018-10-08 2020-01-14 Общество с ограниченной ответственностью "Информационный Вычислительный Центр" Вычислительная система для научно-технических расчетов
KR20210121266A (ko) * 2019-02-27 2021-10-07 마이크론 테크놀로지, 인크. 다중 사용자 네트워크에서의 산술 및 논리 연산
US10990387B2 (en) 2019-02-27 2021-04-27 Micron Technology, Inc. Converting floating-point operands into universal number format operands for processing in a multi-user network
GB201904267D0 (en) * 2019-03-27 2019-05-08 Graphcore Ltd A networked computer with multiple embedded rings
CN110083449B (zh) * 2019-04-08 2020-04-28 清华大学 动态分配内存和处理器的方法、装置及计算模块
WO2020236289A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating data-driven intelligent network with flow control of individual applications and traffic flows
CN110188254B (zh) * 2019-05-28 2022-02-01 南京航空航天大学 动态最短路径查询及可视化
TWI742394B (zh) * 2019-07-03 2021-10-11 神雲科技股份有限公司 伺服器
CN112349233B (zh) * 2019-08-08 2023-11-07 佛山市顺德区顺达电脑厂有限公司 服务器
EP3857394B1 (en) * 2019-08-16 2023-10-04 Google LLC Inter-chip latency characteristic in multi-chip system
EP4035313B1 (en) 2019-09-24 2025-10-01 Genetec Inc. Intermediary device for daisy chain and tree configuration in hybrid data/power connection
US12177133B2 (en) 2019-10-16 2024-12-24 Cerebras Systems Inc. Dynamic routing for accelerated deep learning
WO2021074865A1 (en) 2019-10-16 2021-04-22 Cerebras Systems Inc. Basic wavelet filtering for accelerated deep learning
US11271992B2 (en) * 2020-01-22 2022-03-08 EMC IP Holding Company LLC Lazy lock queue reduction for cluster group changes
EP3973406A1 (en) * 2020-03-26 2022-03-30 Graphcore Limited Embedding rings on a toroid computer network
EP4121850B1 (en) * 2020-05-08 2024-02-14 Huawei Technologies Co., Ltd. Processing device for a parallel computing system and method for performing collective operations
CN111553122A (zh) * 2020-05-15 2020-08-18 深圳探科技术有限公司 集成电路仿真同步处理的方法、模块、存储介质及系统
US11770155B2 (en) * 2020-05-19 2023-09-26 Genetec Inc. Power distribution and data routing in a network of devices interconnected by hybrid data/power links
CN113703955B (zh) * 2020-05-22 2025-02-25 华为技术有限公司 计算系统中数据同步的方法及计算节点
CN111931450B (zh) * 2020-08-11 2024-09-20 上海华力微电子有限公司 一种集成电路数字后端设计的方法和系统
US11761823B2 (en) * 2020-08-28 2023-09-19 Google Llc Temperature sensor isolation in smart-home devices
US11885838B2 (en) 2020-08-28 2024-01-30 Google Llc Measuring dissipated electrical power on a power rail
US11726507B2 (en) 2020-08-28 2023-08-15 Google Llc Compensation for internal power dissipation in ambient room temperature estimation
US11775303B2 (en) 2020-11-12 2023-10-03 Electronics And Telecommunications Research Institute Computing accelerator for processing multiple-type instruction and operation method thereof
CN112383843B (zh) * 2020-11-20 2024-04-23 浙江工业大学 一种网络信息技术数据交换装置
US11720521B2 (en) * 2021-03-29 2023-08-08 Alibaba Singapore Holding Private Limited Topologies and algorithms for multi-processing unit interconnected accelerator systems
KR102867713B1 (ko) 2021-04-07 2025-10-13 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN113138918B (zh) * 2021-04-16 2023-12-01 Oppo广东移动通信有限公司 应用于具有多系统的终端的调试方法、终端和存储介质
CN113778939B (zh) * 2021-09-03 2023-11-07 深圳市同泰怡信息技术有限公司 基于基板管理控制器的海光芯片管理方法、装置、设备
WO2023068960A1 (ru) * 2021-10-20 2023-04-27 Федеральное Государственное Унитарное Предприятие "Российский Федеральный Ядерный Центр - Всероссийский Научно - Исследовательский Институт Технической Физики Имени Академика Е.И. Забабахина" Компактный суперкомпьютер
US11960982B1 (en) 2021-10-21 2024-04-16 Neuralmagic, Inc. System and method of determining and executing deep tensor columns in neural networks
CN115158734B (zh) * 2021-10-22 2024-01-30 苏州优斯登物联网科技有限公司 一种设备异常动作监测系统及自动化设备
US12026091B2 (en) 2021-12-16 2024-07-02 Hewlett Packard Enterprise Development Lp Orthogonal memory lane-based memory management
US11808467B2 (en) 2022-01-19 2023-11-07 Google Llc Customized instantiation of provider-defined energy saving setpoint adjustments
US12524691B2 (en) 2022-04-26 2026-01-13 International Business Machines Corporation Central controller for a quantum system
US12541703B2 (en) 2022-04-26 2026-02-03 International Business Machines Corporation Multitasking scheme for quantum computers
CN116186905B (zh) * 2023-04-24 2023-06-27 中国空气动力研究与发展中心计算空气动力研究所 基于能流定向输运的高热载荷疏导设计方法及热防护系统
US12169589B1 (en) * 2023-09-13 2024-12-17 Zecurity, Llc Apparatus and methods relying on non-flashable circuitry for improving security for a system connected to a public or private network
US12368503B2 (en) 2023-12-27 2025-07-22 Quantum Generative Materials Llc Intent-based satellite transmit management based on preexisting historical location and machine learning
CN117811993B (zh) * 2024-03-01 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 三维超立方结构网络及其路由方法、装置、设备和介质
US20250286747A1 (en) * 2024-03-05 2025-09-11 Tenstorrent USA, Inc. Network-on-Chip Multicasting with Packet Specific Exclusion Encoding
CN119561895B (zh) * 2024-11-29 2025-10-10 北京航空航天大学合肥创新研究院 一种多态异步路由网络装置
CN119883823B (zh) * 2025-03-21 2025-07-08 浪潮计算机科技有限公司 一种控制管理系统、方法、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5050069A (en) * 1987-04-27 1991-09-17 Thinking Machines Corporation Method and apparatus for simulating m-dimension connection networks in and n-dimension network where m is less than n
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
US5365228A (en) * 1991-03-29 1994-11-15 International Business Machines Corporation SYNC-NET- a barrier synchronization apparatus for multi-stage networks
JPH06243113A (ja) * 1993-02-19 1994-09-02 Fujitsu Ltd 並列計算機における計算モデルのマッピング法
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
JPH06325005A (ja) * 1993-05-14 1994-11-25 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
US5515510A (en) * 1994-01-14 1996-05-07 Consilium Overseas Limited Communications internetwork system connecting a client node array to a resource array
US5682480A (en) * 1994-08-15 1997-10-28 Hitachi, Ltd. Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt
KR100259276B1 (ko) * 1997-01-27 2000-06-15 윤종용 대역폭확장이 가능한 상호연결망
FR2795840B1 (fr) * 1999-07-02 2001-08-31 Commissariat Energie Atomique Reseau de processeurs paralleles avec tolerance aux fautes de ces processeurs, et procede de reconfiguration applicable a un tel reseau
US6466227B1 (en) * 1999-09-01 2002-10-15 Mitsubishi Electric Research Laboratories, Inc. Programmable architecture for visualizing sampled and geometry data
US6735717B1 (en) * 2000-04-13 2004-05-11 Gnp Computers, Inc. Distributed computing system clustering model providing soft real-time responsiveness and continuous availability

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2506509A1 (en) 2011-03-31 2012-10-03 Fujitsu Limited Information processing apparatus, parallel computer system, and control method of parallel computer system
US9143436B2 (en) 2011-03-31 2015-09-22 Fujitsu Limited Information processing apparatus, parallel computer system, and control method of parallel computer system
US12335099B2 (en) 2020-10-19 2025-06-17 Google Llc Enhanced reconfigurable interconnect network
US20220173973A1 (en) * 2020-11-30 2022-06-02 Google Llc Connecting processors using twisted torus configurations
US11516087B2 (en) * 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
US20230094933A1 (en) * 2020-11-30 2023-03-30 Google Llc Connecting processors using twisted torus configurations
US12040949B2 (en) * 2020-11-30 2024-07-16 Google Llc Connecting processors using twisted torus configurations

Also Published As

Publication number Publication date
KR100537582B1 (ko) 2005-12-20
WO2002084509A1 (en) 2002-10-24
US8667049B2 (en) 2014-03-04
EP1370966B1 (en) 2010-08-25
CN1311376C (zh) 2007-04-18
JP2004538548A (ja) 2004-12-24
IL157505A (en) 2011-06-30
US20090259713A1 (en) 2009-10-15
US8250133B2 (en) 2012-08-21
US20120311299A1 (en) 2012-12-06
IL157505A0 (en) 2004-03-28
ATE479147T1 (de) 2010-09-15
KR20030077033A (ko) 2003-09-29
CN1494688A (zh) 2004-05-05
US20040103218A1 (en) 2004-05-27
EP1370966A1 (en) 2003-12-17
EP1370966A4 (en) 2008-12-24
DE60237433D1 (de) 2010-10-07
US7555566B2 (en) 2009-06-30
CA2437039A1 (en) 2002-10-24

Similar Documents

Publication Publication Date Title
JP3980488B2 (ja) 超並列コンピュータ・システム
Rettberg et al. The Monarch parallel processor hardware design
US7761687B2 (en) Ultrascalable petaflop parallel supercomputer
Adiga et al. An overview of the BlueGene/L supercomputer
Putnam et al. A reconfigurable fabric for accelerating large-scale datacenter services
Gara et al. Overview of the Blue Gene/L system architecture
Charlesworth Starfire: extending the SMP envelope
Faanes et al. Cray cascade: a scalable HPC system based on a Dragonfly network
Novakovic et al. Scale-out NUMA
Cheriton et al. Paradigm: A highly scalable shared-memory multicomputer architecture
Culler et al. Parallel computing on the Berkeley NOW
Abts et al. The Cray BlackWidow: a highly scalable vector multiprocessor
TW202215227A (zh) 組態檔案之運行時間修補
Charlesworth et al. Gigaplane-XB: Extending the ultra enterprise family
Charlesworth et al. The starfire smp interconnect
Wiebalck et al. Fault-tolerant distributed mass storage for LHC computing
Barrett et al. An overview of the BlueGene/L supercomputer
US7814301B2 (en) Clock architecture for multi-processor systems
Tan Using FPGAs to Simulate Novel Datacenter Network Architectures At Scale
Liao et al. Tianhe-1A supercomputer: System and application
Blumrich et al. A holistic approach to system reliability in Blue Gene
Yalamanchili et al. A dynamic, partitioned global address space model for high performance clusters
Yamamoto et al. Performance evaluation of SNAIL: A multiprocessor based on the simple serial synchronized multistage interconnection network architecture
Rim et al. An architecture for high availability multi-user systems
KAMINSKI APPROVED:, SSAS SSAS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3980488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees