JPH09506728A - 大規模平行処理システムのためのアドレス - Google Patents

大規模平行処理システムのためのアドレス

Info

Publication number
JPH09506728A
JPH09506728A JP7516913A JP51691394A JPH09506728A JP H09506728 A JPH09506728 A JP H09506728A JP 7516913 A JP7516913 A JP 7516913A JP 51691394 A JP51691394 A JP 51691394A JP H09506728 A JPH09506728 A JP H09506728A
Authority
JP
Japan
Prior art keywords
logical
node
address
virtual
bit
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.)
Pending
Application number
JP7516913A
Other languages
English (en)
Inventor
オベルリン、スティーヴン・エム
フロム、エリク・シー
パシント、ランダル・エス
Original Assignee
クレイ・リサーチ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クレイ・リサーチ・インコーポレイテッド filed Critical クレイ・リサーチ・インコーポレイテッド
Publication of JPH09506728A publication Critical patent/JPH09506728A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 分散型メモリ大規模平行処理(MPP)システムのためのアドレス翻訳手段は、プログラムの制御下でPEの区分に関し処理要素(PE)とメモリの仮想アドレスを定義する手段と、MPP内においてPEの3次元相互接続ネットワーク内のPEとメモリについて論理アドレスと、コンピュータキャビネット内のPEモジュールの同定と位置に対応したPEとメモリの物理アドレスとを定義する手段を含む。論理MPPにマップされるか、マップから外させる物理PEが予備として必要なので、論理アドレスは更新される。仮想アドレスモードにおいて区分内のPEによって生成されるアドレスは論理アドレスに、そしてネットワーク上のルーティングのため物理アドレスに変換される。

Description

【発明の詳細な説明】 大規模平行処理システムのためのアドレス 発明の分野 本発明は、一般的には、大規模平行処理システムのためのアドレス指定技術に 関し、より詳細には、メモリ分散大規模平行処理システムにおける仮想アドレス から論理アドレス、物理アドレスへのアドレス変換技術に関する。 発明の背景 大規模平行処理システムは、高速接続ネットワークで連係された数百もしくは 数千の処理要素(PE processing element)を含んでいる 。メモリ分散処理システムは、その一つで各プロセッサは、ローカルなメモリバ ンクの群に対して好ましい短い待ち時間の広い帯域幅のパスを有するとともに、 接続ネットワークを介して接続された他のプロセッサ(遠隔又は大規模メモリ) に付属するメモリバンクに対して長い待ち時間のより狭い帯域帯のアクセスを有 する。共用メモリシステムでは、全てのメモリは、プロセッサ自身のローカルメ モリに存在するデータへのローカルなアクセスを介してであれ、いま一つのプロ セッサにとってローカルであるメモリ内に存在するデータへの遠隔アクセスを介 してであれ、システム内のいかなるプロセッサによっても直接にアドレス指定が 可能である。 ローカル及び遠隔アドレス指定を処理することに加えて、かかるシステムは、 仮想のプロセッサアドレスから論理プロセッサアドレス、さらに好ましくは物理 プロセッサアドレスへのアドレス指定を処理することができなければならない。 より小規模な多プロセッサシステムで使用されている仮想から論理アドレスへの 変換は、大規模平行処理システムに応用した場合、パフォーマンスと柔軟性の可 能性についての利点を存分に享受するには適当でなく、あるいは失敗するかもし れない。プロセッサの数の多さ、プロセッサのサイズ、設置場所や区分の形態に おける多様性は、大規模平行システムにおけるアドレス指定に種々の問題をもた らす。また、処理要素間の3次元相互接続ネットワークの使用および故障したも のと置き換えるための余分の処理要素を用意しておく必要性は、アドレス指定シ ステムの設計をさらに複雑なものにしている。 発明の要旨 上に述べた制約および本明細書を読みかつ理解することによって明らかになる であろう制約を克服するために、本発明は、大規模平行共用分散メモリシステム において、仮想PEアドレスから論理PEアドレスへの、物理PEアドレスへの アドレス変換を与える改良されたアドレス指定システムを提供する。この発明の システムは、3次元相互接続ネットワークおよびパーティションを扱うことがで き、さらに、故障したPEをマッピングし、かつ予備のPEで置き換えることを 可能にするため、論理アドレスから物理アドレスへの変換を扱うことができる。 図面の簡単な説明 本発明の前述のおよび他の目的、特徴および利点並びに本発明の現在の好まし い実施例は、以下の詳細な説明および添付の図面を読みかつ理解することによっ て明らかになるであろう。 添付の図面中、第1図は、本発明の好ましい実施例に従って、一対のPE、ロ ーカルメモリおよびアドレス変換要素を有する、相互接続ネットワークへの接続 のためのMPPシステムのノードのブロックダイヤグラムを示す; 第2図は、3次元に相互接続されたMPPシステムにおけるノードの論理的関 係および番号付けを示すダイヤグラムである; 第3図はMPPシステムにおける3個の8ノード区分形態を示すダイヤグラム である; 第4図は2次元配列のための仮想ノード番号を示すダイヤグラムである; 第5図は仮想および論理ノード番号を示すダイヤグラムである; 第6図はメモリ仮想アドレス空間を示すダイヤグラムである; 第7図は仮想から部分物理アドレスへの変換を示すダイヤグラムである; 第8図は付属DTBの機能を示すダイヤグラムである; 第9図は部分物理アドレス空間を示すダイヤグラムである; 第10図は仮想PEアドレス変換を示すダイヤグラムである; 第11図は論理PEアドレス変換を示すダイヤグラムである; 第12図はネットワークインターフェース接続を示すダイヤグラムである; 第13図は3個の8ノード区分形態および仮想ノード番号を示すダイヤグラム である; 第14図は仮想ノード番号の10ビット仮想ノード番号への再編成を示すダイ ヤグラムである; 第15図はベースノードアドレス付加を示すダイヤグラムである; 第16図は形状(コンフィグレーション)マスクを示すダイヤグラムである; 第17図は2次元4ノード区分および仮想ノード番号を示すダイヤグラムであ る; 第18図は論理ノード番号のルーティングタグへの変換を示すダイヤグラムで ある; 第19図はパケット形式を示すダイヤグラムである; 第20図はデータフィット(data phit)を示すダイヤグラムである ; 第21図はノードデートライン交差を示すダイヤグラムである;および 第22図はI/Oゲートウェイと予備PEノード位置を示すダイヤグラムであ る。 好ましい実施例の詳細な説明 以下の好ましい実施例の詳細な説明において、本発明が実施される特定の実施 例が図示されており、以下の説明の一部を形成する添付の図面が参照される。 また、この明細書の一部を形成し、好ましい実施例の以下の説明において引用 される表を含む添付の付録Aも参照される。他の実施例も実施可能であり、本発 明の範囲を逸脱することなしに構造的な変更をなしうることに注目すべきである 。 本発明がアドレス変換を提供する好ましいMPPシステムは、物理的には分散 し、全体としてアドレス指定可能なメモリを備えたMIMD大規模平行多重プロ セッサである。個々のMPPシステムは数百又は数千のプロセッサを含んでおり 、各プロセッサはローカルメモリと関連する支援回路が備えられている。各プロ セッ サ、ローカルメモリおよび支援回路構成は処理要素(PE)と呼ばれる。この好 ましい実施例では、ノード当たり2つのPEがあり、全てのノードは相互接続ネ ットワークを介して連結されている。本発明は、1ノード当たり2PEより多い あるいは少ない設計にも適用できる。 第1図において、MPPシステムの単一ノードは、引用番号1と11で示され る一対のPEを有する。PE1はデータパスを介して付属DTB2に接続される 。付属DTBは比較要素3に接続され、該要素は識別データWHOAMIを受信 する。比較要素3は、引用番号5で示されるローカルDRAMメモリに向かうロ ーカル参照データパス4に接続されるとともに遠隔参照データパス6に接続され ている。これらの要素の機能と動作はこの明細書において以下に説明する。 PE11は付属DTB12に接続され、該DTBは比較要素13に接続され、 該要素はそれ自身の識別データWHOAMIを受け取る。比較要素13は引用番 号15で示されるローカルDRAMメモリに向かうローカル参照データパス14 に接続されるとともに、遠隔参照データパス16に接続される。 遠隔参照データパス6と16は、要求キュー7と17に夫々接続され、要求キ ューの出力はデータパス21と22を介して、仮想−物理コンバータ30に夫々 接続される。該コンバータの出力はパス31を介してルックアップテーブル32 に接続される。ルックアップテーブル32の出力はパケット生成要素34に接続 される。この要素は一方MPPシステムの相互接続ネットワーク50に接続され る。実際には、第1図に示されるようなノードの多数がすべてネットワーク50 に接続される。 好ましいMPPシステムは、物理的に分散されたメモリを有し、各プロセッサ 1,11はローカルメモリ5,15に対して、好ましい短い待ち時間の高帯域幅 のパスを有するとともに、相互接続ネットワーク50で接続された他のプロセッ サのメモリバンクに対して長めの待ち時間の低帯域帯のアクセスを有する。好ま しい実施例において、相互接続ネットワークは、接続されるとPEの3次元マト リックスを形成する3次元のトーラス(torus)からなる。ネットワークの 一部が第2図に示されており、図において、ドットはノードを表わし、ドット間 のラインはx,y,zのプラス方向、マイナス方向の相互接続ラインを表わす。 トーラス設計は、情報転送の速度や不良な通信リンクを回避する能力を含むいく つかの利点がある。相互接続ネットワークは3次元全てにおいて基準化可能であ る。 この種の相互接続ネットワークは、1992年11月30日に出願され、現在 係属中で本件と共通に譲渡された、“多重処理システムにおける方向順位ルーテ ィング”と題するグレゴリイ・エム・ソーセン(Gregory M. Tho rsen)のアメリカ合衆国特許出願番号07/983,979と1993年1 2月10日に出願され、現在係属中で本件と共通に譲渡された、“MPPコンピ ュータのための多次元相互接続およびルーティングネットワーク”と題するマー ク・エス・バーリッテラ等のアメリカ合衆国特許出願とにより詳細に開示されて いる。なお、これら2つのアメリカ合衆国特許出願は、本件明細書において引用 文献として援用される。 アドレス指定 本発明が適用される好ましいMPPシステムは、物理的に分散され、論理的に 共用されるメモリを有するので、あるPEのマイクロプロセッサによって生成さ れたアドレスは物理メモリを直接引用するために使用することができない。 この節では、MPPシステムにおいてシステムデータとレジスタを引用するた めに使用される要素とプロセスを記述する。 機能記述 MPPシステム内のPEは、仮想PE番号、論理PE番号、および物理PE番 号を用いて特定される。MPPシステムは、仮想PEをあるユーザ区分内の1つ のPEと解釈する。論理PEは本システム内に配位されたPEである(このこと は禁止予備ノード、I/Oノードおよび故障ノードを排除する)。物理PEはシ ステム内のいずれかのPEである。 MPPシステム内において使用されるアドレスは、仮想、論理および物理とし て区別される。いずれの形式のアドレスもMPPシステムがローカルメモリ、参 照メモリマップレジスタおよびネットワークを通るルートパケットをアドレス指 定するために使用する情報を含んでいる。 PE番号付け 前後関係に依存して、PEは3つのタイプの番号の1つ、物理PE番号、論理 PE番号、又は仮想PE番号によって同定される。これら3つのタイプの番号の 全てはPEビットとノード番号即ちノード座標を含んだフィールドとからなる。 物理PE番号 MPPシステム内の各PEは当該PEがシステム内において物理的にどこに位 置しているかを示す固有の番号を割り当てられる。この番号は物理PE番号であ る。 各PE内の支援回路は、物理PEレジスタと呼ばれるレジスタを含む。回路基 板がシステムキャビネット内に配置されると、ハードウェアは当該PEがキャビ ネット内のどこに位置しているかを示すために物理PEレジスタのビットを設定 する。 物理PE番号は物理ノード番号とPEビットの2つの部分を含む。物理ノード 番号は当該PEが位置している物理ノード(PEノード、空きPEノード、入力 ノード又は出力ノード)を示す。PEビットは、ノード内においてPE0又はP E1を示す。表1は簡略物理PE番号を示している。詳しいビットフォーマット および物理PE番号の使用に関するより多くの情報は、以下の“レジスタマッピ ング”において与えられる。 ローカルPE番号 MPPシステム内の物理PEはその全部ではないが、MPPシステムの論理構 成の一部である。例えば、512−PE MPPシステムは520個の物理PE を含む(I/OゲートウェイのPEを含まずに)。520個の物理PEのうち、 512個のPEは論理システムにおいて使用され、8個のPE(4個の予備PE ノード内の)予備PEとして用いられる。 論理システムにおいて用いられる各物理PEは固有の論理PE番号を割り当て られる。論理PE番号はノードの論理システム内のPEの位置を特定する。 論理PE番号は、論理ノード番号とPEビットという2つの部分を含む。論理 ノード番号は当該PEがどの論理ノード(処理要素ノード、入力ノード、又は出 力ノード)に存在するかを示す。PEビットは当該PEがPE0かPE1のいず れであるかを示す。表2は論理PE番号の簡略フォーマットを示す。論理PE番 号の正確なビットフォーマットに関するより多くの情報は、以下の“レジスタマ ッピング”において与えられる。 論理ノードはノードの3次元マトリックスを形成する。例えば、第2図は12 8−PE MPPシステム用の論理PEノードを示す。システムは69個の物理 ノードを実際には含んでいるが、64個のノードのみが論理システムにおいて使 用される。残りの4個の予備物理ノードは物理的に相互接続ネットワークに接続 されているが、論理ノード番号は与えられていない。 この形式の構成は、故障ノードを論理的に置き換える予備ノードを可能にする 。これが発生すると、予備ノードは論理番号を獲得する一方、故障ノードは新し い論理ノード番号を受け取ることはない。 例えば、論理ノードZ=0,Y=2,X=3が正しく動作することに失敗する と、この番号が付与された物理ノードは論理システムから除去される。予備ノー ドには論理ノード番号Z=0,Y=2,X=3が割り当てられ、故障ノードはあ る論理ノード番号を受け取ることはない。 仮想PE番号 あるMPPアプリケーションが始まると、ホストシステム上で実行中の支援ソ フトウェアが当該アプリケーションに必要な資源を決定し、アプリケーションを 実行に移すべき区分(partition)を作り出す。区分は、PEの群と一 つのアプリケーションに割り当てられたバリア同期資源(barrier sy nchronization resources)の一部分である。アプリケ ーションは、区分内においてPEを特定するため仮想PE番号を使用する。 区分には、オペレーティングシステム区分とハードウェア区分という2つの区 分がある。オペレーティングシステム区分においては、アプリケーションがPE 間でデータを転送するときに、オペレーティングシステムがその転送に関与しな ければならない(同一のPEに対し多重の指定がなされた場合、オペレーティン グシステムは、遠隔PEに対する第1の転送に関与する。同一のPEに対する後 続の転送はオペレーティングシステムを巻き込まない)。オペレーティングシス テムは、アプリケーションによって使用される仮想PE番号を論理PE番号に変 換する。 アプリケーションがPE間でデータを転送するときに、ハードウェア区分では 、オペレーティングシステムは転送に関与しない。各PEノード内のハードウェ アはアプリケーションによって使用される仮想PE番号を論理PE番号に変換す る。 仮想PE番号は、仮想ノード番号とPEビットという2つの部分を含む。仮想 ノード番号は、1から10ビットの範囲であり、ハードウェア区分において当該 PEがどの処理要素ノードに存在するかを示す。PEビットは当該ノードにおい てPEがPE0かPE1かを示す(表3参照)。 仮想ノード番号は0から3個のビットがX次元に割り当てられ、0から4個の ビットがY次元に割り当てられ、0から3個のビットがZ次元に割り当てられる 。仮想ノード番号のビットを適当な次元に割り当てることにより、ソフトウェア は仮想ノードを数個の形態の一つに配置する。例えば、3ビットの仮想ノード番 号は、ハードウェア区分において8個のノードが存在することを示す。これらの ノードは10形態の一つに配置される。 表4は、3ビット仮想ノード番号について可能なノード形態を列記している。 各形態について各次元におけるノードの数は2のべき乗(1,2,4,8,16 等)に限られる。 第3図は128−PE MPPシステムにおける8個のノード区分形態のうち の3つを示している。 仮想PE番号の例として、第4図は16個のPEを含む2次元8ノード区分を 示している。区分の各ノードは、第3図に示す3ビット仮想ノード番号によって 指定される。 8個のノードの2次元配列は論理システムにおける多くの8ノード2次元配列 の一つに実際に対応している。例えば、第5図は128−PE MPPシステム 内のノードの論理システム内にこの2次元配列がどのように配置されるかを示す 2つの例を示している。 仮想ノード番号は同じ論理番号とは必ずしも対応していない。例えば、第5図 は第4図の仮想ノードY=1,X=2が論理ノード番号Z=1,Y=2,X=2 又は論理ノード番号Z=1,Y=3,X=6のいずれかに対応する状態を示して いる。 マイクロプロセッサ・アドレス解釈 各PE内で実行中のアプリケーションプログラムは各マイクロプロセッサ内の ハードウェアが部分物理アドレスに変換する仮想アドレスを生成する。 以下の分節は、仮想アドレスと部分物理アドレスの両方を記述する。 仮想アドレス 仮想アドレスは、プログラムコンパイラによって生成されるバイト本位アドレ スである。仮想アドレスは、セグメント、仮想インデックスおよび仮想アドレス オフセットの3つの部分を含む。表5は仮想アドレスのビットフォーマットを示 す。長さは64ビットであるが、アドレスの41ビットのみが実際に使用される 。 マイクロプロセッサ・オペレーティングシステム・ソフトウェアは、マイクロ プロセッサ・ハードウェアが、仮想アドレスを部分物理アドレス中にマップする 仕方を規定する。ソフトウェアで定義されたとして、このプロセスの故に、仮想 アドレスのフォーマットは変更可能であるが、表5に示したフォーマットはマイ クロプロセッサが仮想アドレスを解釈する方法の一例として含まれている。 セグメント セグメントは仮想アドレス空間を16個のセグメントにまで分割する4ビット の数である。各セグメントはメモリの固有の形式を特定する。例えば、セグメン ト番号が4に設定されると、情報はPEの支援回路もしくはPEノードの他の構 成要素内のメモリマップレジスタに書込み、或いはそれから読み出すことができ る(第6図参照)。 いくつかのセグメントは私用に指定され、いくつかのセグメントは共用として 指定される。私用のセグメントはPEのローカルメモリに格納された情報を参照 し、かつPE内のマイクロプロセッサによってのみ使用される。PE内のマイク ロプロセッサのみが私用として指定されたセグメントに書込み、或いはそれから 読み出すことができる。 共用のセグメントはシステム内のいずれのPE内に格納された情報を参照する ことができ、区分内のいずれのマイクロプロセッサによっても使用される。共用 のセグメントは区分内の全てのPE内においてローカルメモリと同じ領域に位置 する。 仮想インデックス 仮想インデックスは付属DTBにおける1つのエントリを指定する5ビットの 数である。付属DTBはマイクロプロセッサに対して外部となる32エントリテ ーブルであり(第1図の参照番号2,12のPEの支援回路における)、該テー ブルはシステムメモリの全てを包含するように、マイクロプロセッサのアドレス 指定範囲を拡張するために使用される情報を含んでいる。付属DTBにおける各 エントリはPE番号とメモリ機能コード(FC)との2つの部分を含んでいる。 表6は付属DTBエントリのフォーマットを示している。 PE番号はノード番号とPEビットを含んでいる。ノード番号は仮想ノード番 号又は論理ノード番号である。PEビットはメモリ機能が生じるPEを指示する 。 機能コードはPEが実行するメモリ参照機能を示す3ビットの数である。表7 は機能コードと対応するメモリ機能を列記する。 付属DTBにおける各エントリはPEが実行するメモリ参照機能を記述する。 付属DTBのエントリ0はオペレーティングシステムによる使用のために確保さ れており、常に論理PE番号を含んでいる。システムコントールレジスタの2ビ ットは残りの31エントリが仮想又は論理PE番号を含んでいるかを決定する。 システムコントールレジスタ(SCR)はあるPEの支援回路内に存在するメ モリマップレジスタである。1にセットされたときに、システムコントールレジ スタのビット0は付属DTBのエントリ0から15をイネーブルとし、それによ ってユーザ又はオペレーティングシステムによりそこに書き込まれる(エントリ 1から15は仮想PE番号として解釈される)。0にセットされると、システム コントールレジスタの0ビットは付属DTBのエントリ0から15への書込みを 不 能化する(エントリ0から15はそのとき論理PE番号として解釈される)。 同様に、1にセットされたとき、システムコントールレジスタのビット1は付 属DTBの16から31のエントリをイネーブルとし、ユーザ又はオペレーティ ングシステムが書き込むことができる(エントリ16から31は仮想PE番号と して解釈される)。0にセットされると、システムコントールレジスタのビット 1は付属DTBの16から31のエントリへの書込みを不能化する(16から3 1のエントリは論理PE番号として解釈される)。 表8は付属DTBのあるサンプルについてのエントリを示している。この例に おいて、システムコントールレジスタのビット1は1に、ビット0は0にセット されている。エントリ0はオペレーティングシステムによる使用のために確保さ れている。 仮想アドレスオフセット 仮想アドレスオフセットは仮想アドレス空間のセグメント内のバイトを指定す るバイト向きのアドレスである。仮想アドレスの下位32ビットはオフセットを 定義する。仮想アドレスオフセットは0から4ギガバイトまでの範囲にある。 部分物理アドレス アプリケーションプログラムから仮想アドレスを受け取った後、マイクロプロ セッサのハードウェアは仮想アドレスを部分物理アドレスに変換する。部分物理 アドレスはマイクロプロセッサがマイクロプロセッサのアドレスピン上に置かれ るアドレスである。 MPPシステムにおいてマイクロプロセッサのアドレスピンは物理メモリを直 接に指定するものではない。その代わり、PE内の支援回路が部分物理アドレス を解釈し、マイクロプロセッサとローカルメモリ、メモリマップレジスタ又は遠 隔PEのメモリいずれかとの間でのデータのルートを指定する。 第7図はマイクロプロセッサが仮想アドレスを部分物理アドレスにマップする 方法を示している。 部分物理アドレスは付属DTBインデックス、アドレス空間区分(ASP)及 びアドレスオフセットの3つの部分を含む。部分物理アドレスのビット34から 63はマイクロプロセッサの出力ピン上におかれることはなく使用されない。 付属DTBインデックス 付属DTBインデックスは物理付属DTBにおける32個のエントリの1つを 指定する5ビットの数である(第8図参照)。 マイクロプロセッサから付属DTBインデックスを受け取った後、付属DTB は適当な付属DTBエントリの内容をPE支援回路に送る。支援回路は実行され るべきメモリ機能のタイプとメモリ機能を実行する部分を決定するために付属D TBの情報を解釈する。 システムコントールレジスタのビット1又はビット0を1にセットされると、 付属DTBの対応するエントリはユーザ又はオペレーティングシステムによって 書き込むことができる。この場合支援回路は付属DTBの仮想PE番号と機能コ ードのエントリを解釈する。 コントールレジスタのビット1またはビット0が0にセットされると、付属D TBの対応するエントリには書き込まれることがない。この場合、支援回路は論 理PE番号及び機能コードとして付属DTBのエントリを解釈する。 支援回路は付属DTBのエントリ0を論理PE番号及びオペレーティングシス テムによって定義される機能コードとして解釈する。 アドレス空間区分ビット アドレス空間区分ビットは部分物理アドレスのビット0から28のアドレス空 間を3つの領域に分割する(表9参照)。ビット28は部分物理アドレス空間を ローカルメモリとメモリマップレジスタ空間とに分割する。ビット27は更にロ ーカルメモリスペースをSECDED保護付きのローカルメモリとSECDED 保護なしのローカルメモリとに分割する。第9図はあるPEについて部分物理ア ドレス空間のマップを示す。 SECDED保護付きのローカルメモリについてのアドレススペースはメモリ の128メガバイト(16メガワード)まで設けられる;しかしながら、アドレ ス空間の全てが使用されるわけではない。例えば、各PEごとに2メガワード( 16メガバイト)のローカルメモリサイズを備えたMPPシステムでは、アドレ ス オフセットの23個の重要でないビットのみが使用される。アドレス空間の16 メガワードはシステムメモリの将来の拡張のために設けられている。 SECDED保護なしのローカルメモリについてのアドレス空間はメモリの1 28メガバイト(16メガワード)まで設けることができるが、しかし、全ての アドレス空間が使用されるわけではない。ローカルメモリアドレス空間のこの部 分に格納された情報はメッセージのヘッダからのものである。 メモリマップレジスタのアドレス空間はメモリマップレジスタに格納され、ま たは、読み出される情報についてのアドレスを含む。メモリマップレジスタはP Eの支援回路又はPEノードの他の要素に存在するレジスタであるが、ローカル マイクロプロセッサによってそれらがローカルメモリ内に存在するかのように、 アドレス指定される。 例えば、マイクロプロセッサがブロック転送エンジンを制御するレジスタ内の 情報を格納すると、マイクロプロセッサはブロック転送エンジンレジスタに対し て指定するアドレスへの書込み操作を実行する。データ及びアドレス情報を受け 取った後、PE内の支援回路はローカルDRAM内に情報を格納する代わりに、 データを適当なレジスタに仕向ける。 アドレスオフセットはPEのローカルメモリにおいてあるバイトを指定するバ イト向きアドレスであるが、PE内の支援回路は部分物理アドレスのアドレスオ フセット部分の最後の2ビットを使用することはない。 支援回路はアドレスオフセットの3から26までのビットをPEのローカルメ モリにおいて64ビットワードを指定するワード向きアドレスとして解釈する。 支援回路はアドレスオフセットの3から26ビットのみを使用するので“アドレ スオフセット”なる用語はローカルメモリ内において、64ビットワードを指定 する24ビットアドレスオフセットとして参照される。 アドレスオフセットがシステム内のローカルメモリのサイズについて最大アド レスオフセットより大きい時は、アドレス範囲エラーが生じる。 PE支援回路アドレス解釈 マイクロプロセッサがあるメモリ機能が実行されるべきことを要求した時に、 マイクロプロセッサと付属DTBは支援回路にアドレス情報を与える。支援回路 はこの情報を仮想PEのアドレス又は論理PEのアドレスとして解釈する。 仮想PEアドレス解釈 付属DTBのエントリが書き込まれる状態の時に、支援回路はアドレス情報を 仮想PEアドレスとして解釈する。支援回路はマイクロプロセッサと付属DTB からメモリ機能コード、仮想PE番号、ASPビット及びアドレスオフセットの 計4つの形式の情報を受け取る(第10図参照)。 付属DTBから仮想PE番号を受け取った後、支援回路は仮想PE番号の値と 仮想PEレジスタ(V WHOAMI)内に格納された値と比較する。V WH OAMIレジスタはPEの仮想PE番号を含み、MPPシステムの区分が変更さ れた時にオペレーティングシステムによってロードされる。 付属DTBからの仮想PE番号がV WHOAMIレジスタに格納されたPE 番号に整合したときにマイクロプロセッサはローカルPE内において、あるメモ リ機能が実行されることを要求する。どのメモリ機能が実行されるべきかを選択 する機能コードビットを解釈した後、支援回路はマイクロプロセッサとローカル メモリの間又はマイクロプロセッサとメモリマップレジスタとの間で情報を転送 する(場所はASPビットによって特定されている)。 付属DTBからの仮想PE番号がV WHOAMIレジスタ内に格納されたP E番号と整合しない時には、マイクロプロセッサはメモリ機能が遠隔PE内にお いて実行されることを要求する。マイクロプロセッサがメモリファンクションが 遠隔PEにおいて行われるべきことを要求した場合、支援回路はハードウェア区 分において最大の仮想PE番号より小さいことを確認するため仮想PE番号の値 をチェックする。 支援回路は付属DTBから受け取った仮想PE番号の値を当該PE番号を仮想 PE範囲マスクレジスタ(VRT RG)に格納された仮想PE範囲マスクと比 較することによってチェックする。このレジスタはMPPシステムの区分が変更 された時にオペレーティングシステムによってロードされる。VRT RGレジ スタのビット0は使用されない。VRT RGレジスタのビット1から10はユ ーザ区分のサイズについて正当なビット1において0の連続したフィールドを含 み残りのビットは1にセットされる(表10参照)。 仮想PE番号と仮想PE範囲マスクの同じビットが1にセットされると(論理 AND機能)、仮想PE範囲エラーが生じる。仮想PE番号の値をチェックした 後、PE内の支援回路はネットワークインターフェースにアドレスと制御のため の情報を送る。ネットワークインターフェースはこの情報をパケットを生成する ために使用する。 論理PEアドレス解釈 付属DTBのエントリが書き込まれない時には、支援回路はアドレス情報を論 理PEアドレスとして解釈する。支援回路はメモリ機能コード、論理PE番号、 ASPビット及びアドレスオフセットの計4種類の情報をマイクロプロセッサと 付属DTBから受け取る(第11図参照)。 付属DTBから論理PE番号を受け取った後、支援回路は論理PE番号の値を 論理PEレジスタ(L WHOAMI)に格納された値と比較する。L WHO AMIレジスタはPEの論理PE番号を含みMPPシステムが初期化された時に オペレーティングシステムによってロードされる。 付属DTBからの論理PE番号がL WHOAMIレジスタに格納されたPE 番号と一致すると、マイクロプロセッサはそのローカルPE内においてメモリ機 能が実行されるべきことを要求する。どのメモリ機能が実行されるべきかを選択 する機能コードバイトを解釈した後支援回路は情報をマイクロプロセッサとロー カルメモリとの間又はマイクロプロセッサとメモリマップレジスタとの間におい て転送する(場所はASPビットによって特定されている)。 付属DTBからの論理PE番号がL WHOAMIレジスタに格納されたPE 番号に整合しないときにはマイクロプロセッサはメモリ機能が遠隔のPE内にお いて実行されるべきことを要求する。このことが生じた場合PE内の支援回路は 論理PE番号に関する範囲チェックを行わない。支援回路はアドレスと制御情報 をパケット内において使用するためネットワークインターフェースに直接に送る 。 ネットワークインターフェースアドレス解釈 ネットワークインターフェースはアドレス情報とPE0,PE1からのデータ 或は処理要素ノード内のブロック転送エンジンからのデータを受け取る(第12 図参照)。アドレス情報は仮想PEアドレス情報或は論理PEアドレス情報であ る。情報が仮想PEアドレス情報である場合、ネットワークインターフェースは その情報を用いてパケットを生成する前に仮想PE情報を論理PE情報に変換し なければならない。 仮想PE番号の論理PE番号への変換 第5図に示されるように、仮想PE番号は異なる論理PE番号に対応する。こ の特性の故に、ネットワークインターフェースはメモリ機能が仕向けられている 論理PEを決定するために仮想PE番号を直接に使用することはできない。ネッ トワークインターフェースは仮想PE番号を対応する論理PE番号に変換しなけ ればならない。 例えば、第13図は128−PE MPPシステムにおける3個の8ノード区 分(区分A,B,C)を示している。各区分において、仮想PE番号はその区分 内のあるPEを指定し、仮想PE番号は仮想ノード番号とPEビットを含んでい る。全ての3つの区分における仮想ノード番号は3ビットの数である。区分Aに ついての仮想ノード番号の全ての3ビットはX次元に割り当てられる(第13図 を再び参照)。区分Bにおいて、仮想ノード番号のビット0と1はX次元に割り 当てられ、ビット2はY次元に割り当てられる。区分Cにおいて、仮想ノード番 号の0ビットはX次元に割り当てられ、ビット1はY次元に割り当てられ、ビッ ト2はZ次元に割り当てられる。 ネットワークインターフェースは仮想PE番号を論理PE番号に変換するため に、3段階プロセスを用いる。最初にネットワークインターフェースは仮想ノー ド番号(1対1ビット数である)を10ビットの仮想ノード番号にリフォーマッ トする(第14図参照)。 ネットワークインターフェースはリフォーマットされた仮想ノード番号の3個 の最下位ビットをXマスクと比較する。Xマスクは仮想ノード番号の幾つのビッ トがX次元に割り当てられているかを示す連続した1の右詰めフィールドである 。 Xマスク内のビットが1にセットされると、仮想ノード番号の対応するビットは 有効である。Xマスク内のビットが0にセットされると仮想ノード内の対応する ビットはX次元に使用されない。 ネットワークインターフェースはリフォーマットされた仮想ノード番号をY次 元に割り当てられた第1ビットが0ビット位置にくるまで右方向に0から3ビッ トの範囲でシフトする。ネットワークインターフェースはシフトされた仮想ノー ド番号の4個の最下位ビットをYマスクと比較する。Yマスクのあるビットが1 にセットされているとき、シフトされた仮想ノード番号の対応するビットは有効 である。Yマスク内のあるビットが0にセットされていると、シフトされた仮想 ノード番号の対応するビットはY次元に使用されない。 仮想インターフェースはY次元に割り当てられた第1のビットが0ビット位置 にくるまで、元のリフォーマットされた仮想ノード番号を0から7ビット右方向 にシフトする。ネットワークインターフェースはシフトされた仮想ノード番号の 最下位3ビットをZマスクと比較する。Zマスク内のあるビットが1にセットさ れている場合にシフトされた仮想ノード番号の対応するビットは有効である。Z マスク内のあるビットが0にセットされている場合、シフトされた仮想ノード番 号の対応ビットはZ次元として使用されない。 仮想ノード番号を10ビットの仮想ノード番号にリフォーマットした後、ネッ トワークインターフェースはベースノードアドレスを10ビット仮想ノード番号 に加える(第15図参照)。 ベースノードアドレスはある区分において、最小の仮想PEノード番号の論理 ノード番号である。例えば、表12は表13に示した3個の区分についてベース ノードアドレスを列記している。表12は各区分について、シフトおよびマスク の値をも表している。 ベースノードアドレスを10ビット仮想ノード番号に加えた後、ネットワーク インターフェースはX,Y,Z次元番号の2つの最上位ビットをX,Y,Z次元 構成マスクと比較する(第16図参照)。X,Y,またはZ次元構成マスクのあ るビットが0にセットされている場合、X,Y又はZ次元番号における対応ビッ トは有効である。X,YまたはZ次元のあるビットが1にセットされている場合 X,Y,またはZ次元番号の対応ビットは0にセットされる。 構成マスクはあるシステム内における論理ノードの数より最後の論理ノード番 号が大きくなるのを防ぐ。例えば第17図は128−PE MPPシステムにお ける2次元の4ノード区分を示している。ネットワークインターフェースが仮想 ノード番号11(Y=1,X=1)をある論理ノード番号に変換する時に、ネッ トワークインターフェースは最初に仮想ノード番号を10ビット仮想ノード番号 にリフォーマットする。 仮想ノード番号を10ビット仮想ノード番号にリフォーマットした後、ネット ワークインターフェースは仮想ノード番号にベースノードアドレスを加える(表 11参照)。この例において、一時的な論理ノード番号のY次元部分は4である 。この値はY次元における最大ノード番号より大きい(再び第17図参照)。 ネットワークインターフェースはその後一時的な論理ノード番号を最終の論理 ノード番号Z=1,Y=0,X=7を得るために構成マスクと比較する(再び表 11及び第17図参照)。 MPPシステムの異なる構成についての構成マスクの値に関する詳しい情報は この節のレジスタマッピングの項を参照のこと。ベース,シフト,マスク及び構 成マスクの3次元全てについての値は、ネットワークインターフェースPE、調 整レジスタ(LPE XLATE)と呼ばれるレジスタ内に格納される。このレ ジスタはMPPシフトの区分が変更される時にオペレーティングシステムによっ てロードされる。LPE XLATEレジスタ内のベース,シフト及びマスク番 号の値を変更することによってオペレーティングシステムは論理MPPシステム における区分を定義する。LPE XLATEレジスタに関するより多くの情報 はこの節のレジスタマッピングの項において与えられる。 論理PE番号のルーティングタグへの変換 ネットワークインターフェースは論理PE番号を2つの経路のうちの一方にお いて受け取る。即ち、処理要素ノード内のPE又はBLTから直接に或は仮想P E番号を論理PE番号に変更することによってである。先に述べたように、論理 PE番号はMPPシステム内において同じ物理PEに必ずしも対応するものでは ない。 論理PE番号は論理ノード番号とPEビットという2つの部分を含む論理ノー ド番号は必ずしも同一の物理ノードに対応することはないのでネットワークイン ターフェースは正しい物理ノードに情報を仕向けるための計算に論理ノード番号 を使用することはできない。 各ノードにおけるネットワークインターフェースは、ルーティングタグを作る ためにルックアップテーブルを用いる。ネットワークインターフェース内の回路 は論理ノード番号をルーティングタグ、ルックアップテーブルに入力する。ルー ティングタグ、ルックアップテーブルはその論理ノードに対応するルーティング タグを与える(第18図参照)。 ルーティングタグはパケットが相互接続ネットワークを通して物理ソースノー ドから物理行先ノードに達するように従うべきパスを指示する情報を含んでいる 。この情報は各次元において完了するのに必要なホップの数、各次元における移 動の方向及び各次元において使用されるべき仮想チャンネル(VC)を含む。 MPPシステムにおける各ノードのルーティングタグはホストシステムにおい て実行されているプログラムによって生成される。ルーティングタグ計算プログ ラムが各ノード及びMPPシステムにおける通信リンクに関する情報を含んでい る構成ファイルを用いる。 MPPシステムにおける通信リンク又はノードが十分に機能していない場合、 システムの管理者はホストシステム内において構成ファイルを修正する。その後 、管理者はルーティングタグ計算プログラムを実行する。プログラムは悪いノー ドもしくは通信リンクを迂回させて情報を送る新しいルーティングタグを生成す る。 MPPシステムがブート(boot)されるとルーティングタグはシステムの 各ノードのルーティングタグ、ルックアップテーブルに書き込まれる。ルーティ ング、ルックアップテーブルのアドレス及びフォーマットに関する多くの情報は この節におけるレジスタマッピングの項に与えられる。 パケットの生成 ネットワークインターフェースは情報を生成するとともに、PE又はBLTか ら受け取った情報をパケットの生成のために用いる。表13は種々の機能により ネットワークインターフェースが生成するパケットの種類を示す。第19図は各 パケットのフォーマットを示している。各パケットはヘッダを含み更にデータを も含む。以下の分節ではヘッダの各フィット及びパケットのデータ部分について 記述する。 各パケットはヘッダを含む。ヘッダは以下の種類のフィッツからなる: ルーティングタグフィット、行先フィット、命令フィット、要求アドレスフィ ット、ソースフィット又は応答アドレスフィット。以下のパラグラフではフィッ トの各種類について説明する。 各パケットはルーティングタグフィットを含む。ネットワークインターフェー スからルーティングタグを受け取った後、ネットワークルータ内のX次元スイッ チはルーティングタグのビット0から3を調べる。ビット0から3が0に等しい 時、X次元スイッチはルーティングタグ情報をネットワークインターフェースの Y次元スイッチに送る。X次元スイッチが情報をY次元スイッチに渡すのでルー ティングタグのビットはビット0から3がΔYビットを含むように回路基板上で 再配列される。 ルーティングタグフィットのビットフォーマットは情報がネットワークインタ ーフェースのX,Y次元スイッチの間又はZ,Y次元スイッチの間で転送される 度ごとに回路基板上において再配列される。ルーティングタグフィットのビット は同一ゲート配列形式がX,Y,Z次元に使用しうるように再配列される。 元のルーティングタグのビット0から3が0に等しくなければ、X次元スイッ チは±Xビットの値をチェックする。このビットはパケットが+Xまたは−X通 信リンク上で送られるべきことを指示する。X次元スイッチは次いでX VCビ ットの値を調べて通信リンク上のどちらの仮想チャンネルを使うべきかを決定す る(より詳細な情報はこの節のルーティングタグルックアップテーブル下位ビッ トレジスタの項を参照されたい)。これら2つのビットの値をチェックした後、 X次元スイッチはルーティングタグフィットのΔX部分の値を1だけインクリメ ン トし、そのフィットを+Xまたは−X方向において次のノードのネットワークイ ンターフェースに送る(ΔX部分はX次元において全部を満たすためホップの数 の2の補数を含むのでインクリメントされる)。 各パケットは行先フィットを含む。行先フィットは行先PE番号を含む(表1 5参照)。行先PE番号はパケットを受け取るべきPEの論理PE番号である。 ネットワークインターフェースは付属DTBから読まれるか、付属DTBから読 まれた仮想PE番号から変換された行先論理PE番号の0から11ビットにより 行先PE番号を得る。 各パケットは更に行先PEに対して、実行すべき機能の種類を指示する情報を もった命令フィットを含む。ネットワークインターフェースはあるPE又はBL Tの支援回路から情報を受け取った後、命令情報をフォーマットする。 命令フィットのビット0から11は命令フィールドを含む(表16参照)。ビ ット12は行先PEノードにおいてパケットがPE0又はPE1に行くべき時を 指示する。命令フィットのビット13と14はビット8から12及び0から7に ついて偶数のパリティビットをそれぞれ含んでいる。ビット15は1にセットさ れている場合、パケットが間違って仕向けられたパケットからネットワークイン ターフェースによって生成されたエラーメッセージであることを示す。 命令フィールドはパケット形式フィールド、要求又は応答ビット及びコマンド の3つの部分を含む(表17参照)。パケット形式フィールドは命令フィットが 存在するパケットの形式を示す(再び第19図参照)。要求又は応答ビットは1 にセットされている時、パケットが要求パケットであることを示す。0にセット されている時には、要求又は応答ビットはパケットが応答パケットであることを 示す。コマンドは実行されるべき機能を示す。 ルーティングタグ、行先及びデータフィットを除くパケット内のすべてのフィ ットはパリティビットによってプロテクトされる。ネットワークインターフェー スはパケットの各フィット(ルーティングタグ、行先及びデータフィットを除く )を受け取ると、ネットワークインターフェースは2個の新しいパリティビット を生成する。 新しいパリティビットがフィット内のパリティビットと同一でない場合、転送 の途中でエラーが生じたことを示す。ネットワークインターフェースはシステム ステイタスレジスタ(SSR)のビット1を1にセットし、パケットをエラーメ ッセージに変換し、そのエラーメッセージをPE0もしくはPE1に送る(これ は命令フィットにおいて識別される)。 要求パケットのみが要求アドレスフィットを含む。要求アドレスはPEのメモ リ内において一つの64ビットワード又はデータの4ワードブロックの第1ワー ドを指定する。ネットワークインターフェースはPE又はBLTによって生成さ れたアドレスオフセットから要求アドレスを得る。表18は要求アドレスフィッ トのフォーマットを示す。 BLTエラービット(ビット12)は要求パケット形式4又は6の3個のBL Tエラーの1つを指示するのに用いられる。BLTが書き込み要求(パケット形 式4または6)を発するとともにBLTエラービットが1にセットされている時 にBLTが転送を中止する。 各要求パケットはソースフィットを含む。ソースフィットは要求パケットを生 成するノードの論理ノード番号であるソースノード番号を含む。ソースフィット はソースノードにおいてパケットを生成したPEを示すPEビットを含んでいる 。表19はソースフィットのフォーマットを示す。 要求パケットを受け取ったノードはソースノード番号を応答パケット内の行先 ノード番号として用いる。ネットワークインターフェースはネットワークインタ ーフェースソースレジスタX WHOAMIと呼ばれるレジスタ内に格納された ノード番号を読むことによってソースノード番号を生成する。 ネットワークインターフェースはX WHOAMIレジスタをパケットが正し いノードに仕向けられたか否かをチェックするのに使用する。パケットを受信し たのち、ネットワークインターフェースはX WHOAMIレジスタに格納され たノード番号をパケット内の行先ノード番号と比較する。2つの番号が等しいと き、パケットは正しい行先ノードに到達したと考える。2つの番号が等しくない 場合、エラーが発生し、パケットは間違ったノードに到達したことを示す。 ネットワークインターフェースが今一つのノードに転送されたと考えられるパ ケットを受け取った時、ネットワークインターフェースのハードウェアはシステ ムステイタスレジスタのビット1(ネットワークパケットエラービット)をパケ ットが誤って仕向けられたことを指示するためにセットする。 次いでネットワークインターフェースはそのパケットをエラーメッセージに変 換し、メッセージをパケットを受け取ったノード内のPE0又はPE1に送る( パケットの命令フィールドに格納されているPEビットに応じて)。マイクロプ ロセッサはメッセージを調べ、エラーの原因を種々試みて決定する。 要求又は応答パケットは応答アドレスを含む。応答アドレスは読み込まれた応 答パケットから1ワードデータもしくは4ワードデータが格納されるであろうソ ースPEのローカルメモリ内の位置を指定する。表20は応答アドレスフィット のフォーマットを示す。 BLTエラービット(ビット12)は要求パケット形式にもしくは応答パケッ ト形式4又は6におけるBLT範囲エラーを指示するのに用いられる。BLTが 読みだし要求(パケット形式2)を発生し、かつ、BLTエラービットが応答ア ドレスフィット0内において1にセットされると、パケットを受け取ったPEは メモリ読み出しを実行し、応答パケット形式4又は6を生成する。PEはまた応 答パケットの応答アドレスフィット0において、BLTエラービットを1に設定 する。応答パケットを受け取ったPEはメモリ書き込みを実行することはない。 データ 要求及び応答パケットの両方はデータを含み、データは1つの64ビットワー ド又は4つの64ビットワードであってパケットを受け取るPEによって使用さ れる。ネットワークインターフェースは処理要素ノード内のPEからパケットに ついてのデータを受け取る。7個のチェックビット(データのエラーをチェック するためマイクロプロセッサで使用される)は各32ビットハーフワードととも に送られる。第20図はパケット内のワード0についてのデータフィットのフォ ーマットを示す。 レジスタマッピング MPPシステムはアドレス情報を解釈する際に、数個のメモリマップレジスタ を用いる。これらのレジスタはPEがどこに位置しているかを特定し、仮想及び 論理PE番号の値をチェックし、ルーティングタグを生成するのに使用される。 以下の分節ではMPPシステム内におけるアドレス指定のために用いられるメモ リマップレジスタ(以下単にレジスタという)についてのアドレス指定及びビッ ト割り当てを説明する。各分節においてレジスタの機能の簡単な説明が与えられ る。 表21はレジスタとその名前の概要である。表6から8はマイクロプロセッサ のアドレスピンに現れる各レジスタの部分物理アドレスを示している。 注意書:多重のデータパスの故にある処理要素ノードの1つのPEがX WH OAMI、LPE XLATE、ROUTE LO、又はROUTE HIレジ スタの内容を修正しつつある時にノード内の他のPEは同時に共用レジスタのい ずれかを修正しようとしてはならない。共用レジスタはX WHOAMI、LP E XLATE、ROUTE LONROUTE HI、NET ENA、NE T PFM、NOED CSR及びBLTレジスタを含む。 仮想アドレスはソフトウェアによって定義されるのでレジスタの各々のアドレ スはマイクロプロセッサのピン上に現れるに従って部分物理アドレスに応じて与 えられる。 物理PE番号レジスタアドレスx10400000 物理PE番号レジスタ(P WHOAMI)は12ビット、リード−オンリー 、システムで特権が与えられたレジスタであって物理PE番号を含む。物理PE 番号はシステム内の各PEに対して割り当てられた固有の番号であり、システム キャビネット内においてPEが物理的に位置する場所を示している。表22はマ イクロプロセッサのアドレスピン上に現れるに従ってP WHOAMIレジスタ アドレスについてのビット割り当てを示す。 オペレーティングシステムはシステムがデッドスタートされた時にP WHO AMIレジスタに格納された値をMPPシステムの論理PE番号レジスタにロー ドするために用いる。このことはシステム内の各物理PEについて固有の一時的 論理PE番号を与え、オペレーティングシステムがシステム内のすべてのPEに 対してデッドスタート情報を転送することを可能にする。システムがデッドスタ ートされた後、論理PE番号レジスタは適当な論理PE番号がロードされる。 PEを含むMPPシステムには2つのモジュール形式が存在する。処理要素モ ジュール(PEM)と入力/出力モジュール(IOM)である。PEMは2つの プリント回路基板を含む。各プリント回路基板は2つの処理要素ノードを含む。 各入力ノード又は出力ノードは1個のPEを含む。 あるPEM又はIOMがMPPキャビネットに挿入されると、モジュール上の ハードウェア及びキャビネットのワイヤーマットからの信号はP WHOAMI レジスタのビットの値をセットする。これらの値はシステムのハードウェアにお いてPEが存在する箇所を示す。 表23はP WHOAMIレジスタのビットフォーマットを示しており、以下 の分節においてレジスタの各ビットについて説明する。 PE番号ビット0 PE番号ビットは処理要素ノードにおいて、PEがPE0かPE1かを示す。 1にセットされている場合、PEはPE1であり、0にセットされている場合に はPEはPE0である。PEが入力ノードまたは出力ノードにあるときは、この ビットは0にセットされる。 X座標ビット1から3 これらのビットは物理ノード番号のX次元部分を示す。X次元番号は0から7 の範囲である。 ノード番号ビット4 ノード番号ビットはPEがプリント回路基板上のどのノードに存在するかを示 す。処理要素プリント回路基板上ではこのビットはPEが処理要素ノード0又は 処理要素ノード1のいずれに存在するかを示す。I/Oゲートウエイプリント回 路基板上ではこのビットはPEが入力ノード(ノード0)又は出力ノード(ノー ド1)のいずれに存在するかを示す。 プリント回路基板番号ビット5 このビットはPEがPEM又はIOMのいずれのプリント回路基板に存在する かを示す。プリント回路基板はボードA(O)及びボードB(1)として参照さ れる。 シャーシIDビット6及び7 シャーシIDビットはPEM又はIOMが多重キャビネット構成においてどの キャビネットに存在するかを示す。 Z座標ビット8から10 Z座標ビットはPEが存在するモジュールの形式に依存して異なる値にセット される。これらのモジュールは標準PEM、予備PEM、及びIOMである。 PEが標準PEM上にあるときにはこれらのビットは物理ノード番号のZ次元 部分を示す。Z次元番号は0から7の範囲にある。 PEが予備PEM上にあるときにはZ座標ビットは1にセットされる(001 )。 I/O又は予備PEビットも同様に1にセットされる。これは全体のZ次元及 び物理PE番号のI/O又は予備PEビット部分を9(1001)にセットする 。 PEがIOM上にあるときZ座標ビット8と9はいずれも0にセットされる。 ビット10はIOM内では常に1にセットされる。 I/O又は予備PEビット11 1にセットされているときこのビットはPEが予備PEM又はIOM上にある ことを示す。PEが予備PEM上にあるときには、Z座標ビットは1(001) にセットされる。PEがIOM上にあるときは、Z座標ビットは4(100)に セットされる。 論理PE番号レジスタアドレスx10450000 論理PE番号レジスタ(L WHOAMI)は論理PE番号を含む12ビット 、ライト−オンリーシステム特権レジスタである。論理PE番号は論理MPPシ ステム内において使用される各物理PEに対してオペレーティングシステムによ り割り当てられた固有の番号である。支援回路はL WHOAMIレジスタをメ モリ機能がローカルPE又は遠隔PEのいずれかで実行されるべきかをチェック するために使用する。 表24はそれらがマイクロプロセッサのアドレスピン上に現れるに従ってL WHOAMIレジスタアドレスについてのビット割り当てを示している。 表25はL WHOAMIレジスタのビットフォーマットを示しており、レジ スタ内の各ビットを記述している。 仮想PE番号レジスタアドレスx10454000 仮想PE番号レジスタ(V WHOAMI)は仮想PE番号を含む11ビット のライト−オンリーシステム特権レジスタである。仮想PE番号はオペレーティ ングシステムによってある区分内の論理PEに割り当てられる番号である。支援 回路はV WHOAMIレジスタをメモリ機能がローカルPEにおいて行われる べきか遠隔PEにおいて行われるべきかをチェックするために使用する。 表26はマイクロプロセッサのアドレスピン上に現れるに従ってV WHOA MIレジスタアドレスについてのビット割り当てを示す。 表27はV WHOAMIレジスタのビッフォーマットを示し、レジスタ内の 各ビットを記述している。 仮想PE範囲マスクレジスタアドレスx104580000 仮想PE範囲マスクレジスタ(VRT RG)は仮想PE範囲マスクを含む1 0ビットのリード−オンリーシステム特権レジスタである。仮想PE範囲マスク はユーザ区分のサイズについての正当ビット位置における0の連続フィールドを 含む。残りのビットは1にセットされる。 表28はマイクロプロセッサのアドレスピン上に現れるに応じてVRT RG レジスタアドレスについてのビット割り当てを示す。 表29はVRT RGレジスタのビットフォーマットを示しており、各ビット について記述している。仮想範囲マスクの例については表10を再度参照された い。 ネットワークインターフェースソースレジスタアドレスx106A0000 ネットワークインターフェースソースレジスタ(X WHOAMI)はソース 論理ノード番号を含む11ビットのライト−オンリーシステム特権レジスタであ る。ネットワークインターフェースはソース論理ノード番号をどの論理ノードが パケット(ソースフィット)を生成したかを示すために用いる。 表30はマイクロプロセッサのアドレスピン上に現れるに従ってX WHOA MIレジスタアドレスについてのビット割り当てを示す。 表31はX WHOAMIレジスタのビットフォーマットを示し、各ビットレ ジスタについて記述している。 ネットワークインターフェースはまたX WHOAMIレジスタをパケットヘ ッダ内の行先論理ノード番号の値をチェックするために使用する。 パケットを受け取った後、ネットワークインターフェースはX WHOAMI レジスタに格納されたノード番号をパケット内の行先ノード番号と比較する。両 者の番号が等しいときにはパケットは正しい行先ノードに到着したことを示す。 番号が等しくないときにはネットワークパケットエラーが発生し、パケットが誤 ったノードに到達したことを示す。 ネットワークインターフェースPE調整レジスタアドレスx106B0000 ネットワークインターフェースPE調整レジスタ(LPE XLATE)は仮 想ノード番号を論理ノード番号に変換するために使用されるシフト、ベース、マ スク及び構成マスクの値を含む31ビットのPE調整レジスタである(再び第1 3図から16図参照)。 表32はマイクロプロセッサのアドレスピンに現れるに従ってLPE XLA TEレジスタアドレスについてのビット割り当てを示す。 表42はLPE XLATEレジスタビットフォーマットを示し、各レジスタ のビットを記述している。 表39はMPPシステムの各構成について構成マスクの値を示している。 ルーティングタグルックアップテーブル下位ビットレジスタアドレスx1−6 F0000 ルーティングタグルックアップ下位ビットレジスタ(ROUTE LO)はル ーティングタグの下位12ビットを含む12ビットのライト−オンリーシステム 特権レジスタである。 表40はマイクロプロセッサのアドレスピン上に現れるに従ってROUTE LOレジスタアドレスについてのビット割り当てを示している。 アドレスのビット5から15は2048個のROUTE LOレジスタの1つ を指定する。各ROUTE LOレジスタは1つの行先ノード番号に対応する。 例えば、行先論理ノード番号Z=1,Y=5,X=2に対応するROUTE L Oレジスタのアドレスは5から15ビットが15=O(I/Oビット)に又14 から12は001(Z次元)、11から8は0101(Y次元)、ビット7から 5は010(X次元)にそれぞれセットされている。 表33は各ROUTE LOレジスタのビットフォーマットを示し、各レジス タ内のビットを記述している。第21図はMPPシステムのX次元における8こ のノードを示している。簡単のため、ZとY次元における他のノードに接続され た通信リンクは示されていない。この図は以下の例の参考として使用される。 以下のパラグラフは第21図においてノードZ=1,Y=1,X=2における ルーティングタグルックアップテーブルについてのROUTE LOレジスタの 値の例を与える。これらの例においては論理PE番号が物理ノード番号に等しい ものとしている(予備PEノードが使用されていない)。又これらの例ではX次 元についてのデートラインは最も小さい番号のノードを最も大きい番号のノード に接続する通信リンクであるものとする。 行先ノード番号Z=1,Y=1,X=4についてのROUTE LOレジスタ の値はΔX=E,±X=0,X VC=0、ΔY=0,±Y=0,Y VC=0 である。ΔXの値はEが2の2の補数であるので、E16にセットされる。パケッ トはノードZ=1,Y=1,X=2からノードZ=1,Y=1X=4に移動する ためX次元において2つのホップを補う±Xの値はパケットがXの正方向に移動 するため0にセットされる。X VC選択ビット0はパケットがネットワーク内 を移動するときX次元におけるデートラインを横断しないので、0にセットされ る。 行先ノード番号Z=1,Y=1,X=7についてのROUTE LOレジスタ の値はΔX=D,±X=1,X VC=1,ΔY=0,±Y=0,Y VC=0 である。ΔXの値はDが3の2の補数であるので、Dにセットされる。パケット はノードZ=1,Y=1,X=2からノードZ=1,Y=1,X=7に移動する ためX次元において3個のホップを補う。±Xの値はパケットがXの負の方向に 移動するので1にセットされる。X VC選択ビット0はネットワーク内を移動 するときパケットはX次元においてデートラインを横切らないので1にセットさ れる。 第21図に示す8個のノードはI/Oゲートウエイ、予備処理要素ノード又は I/Oゲートウエイと予備処理要素ノードのいずれにも接続されておらず、ルー ティングタグはその次元内を移動する際パケットが作成したホップの数を反映す る値を含んでいる。 第22図は8個の処理要素ノードとI/OゲートウエイとMPPシステムのX 次元における予備の処理要素ノードとを示している。簡単のため、Z及びY次元 の他のノードに接続される通信リンクは図示されていない。 以下のパラグラフでは第22図におけるノードZ=0,Y=1,X=3におけ るルーティングタグルックアップテーブルについてのROUTE LOレジスタ の値の例が示されている。これらの例において論理PE番号は物理ノード番号に 等しいものとする(予備処理要素ノードは使用されていない)。またこれらの例 ではX次元のデートラインは最も小さい番号のノードを最も大きい番号のノード に接続する通信リンクであるものとする。 行先ノード番号Z=0,Y=1,X=0についてのROUTE_LOレジスタ の値はΔX=B,±X=1,X VC=0,ΔY=0,±Y=0,Y VC=0 である。ΔXの値はBが5の2の補数であるのでBにセットされる。I/Oゲー トウエイは2つのノード(入力ノードと出力ノード)を含むのでパケットはノー ドZ=0,Y=1,X=3からノードZ=0,Y=1,X=0に移動するために X次元において5個のホップを補う。±Xの値はパケットがXの負の方向に移動 するので1にセットされる。X VC選択ビット0はパケットがネットワークを 移動する際X次元におけるデートラインを横切らないので、0にセットされる。 行先ノード番号Z=0,Y=1,X=5についてのROUTE LOレジスタ の値はΔX=D,±X=0,X VC=0,ΔY=0,±Y=0,U VC=0 である。ΔXの値はDが3の2の補する際であるのでDにセットされる。予備処 理要素ノードのためにパケットはノードZ=0,Y=1,X=3からノードZ= 0,Y=1,X=5へ移動する際、X次元において3個のホップを補う。±Xの 値はパケットがXの正の方向に移動するので0にセットされる。X VC選択ビ ットはパケットがネットワーク内を移動する際、X次元におけるデートラインを 横切ることはないので0にセットされる。 ルーティングタグルックアップテーブル上位ビットレジスタアドレスx1−7 F0000 ルーティングタグルックアップテーブル上位ビットレジスタ(ROUTE H I)はルーティングタグの上位6ビットを含む6ビットのライト−オンリーシス テム特権レジスタである。 表34はそれらがマイクロプロセッサのアドレスピン上に現れるに従ってRO UTE HIレジスタアドレスについてのビット割り当てを示している。アドレ スの5から15ビットは2048個のROUTE HIレジスタの1つを指定す る。&ROUTE HIレジスタは1つの行先論理ノード番号に対応している。 例えば、アドレスの5から15ビットが15=0(I/Oビット)、14から1 2=001(Z次元)、11から8=0101(Y次元)及びビット7から5= 010(X次元)にそれぞれセットされ、ROUTE HIレジスタは行先論理 ノード番号Z=1,Y=5,X=2に対応する。 表35は各ROUTE HIレジスタのビットフォーマットを示し、各レジス タのビットを記述している。 本発明は、表、図面、更にはPE及びノードの番号付けネットワーク構成、ア ドレス及びレジスタフィールド、メモリアドレス方式、ビット及びバイト割り当 て等の特別なパラメータを用いた議論を参照しながら説明されたけれどもこれら の特定の様式は単に例示のためだけであって、限定をするものではない。当業者 ならば明らかなように、上記の明細書、表及び図面に基づいて種々の異なる特別 な改良は本発明の範囲内において可能である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パシント、ランダル・エス アメリカ合衆国、ウィスコンシン54729、 チッペワ・フォールズ、グラディ・ドライ ブ 90番

Claims (1)

  1. 【特許請求の範囲】 1.n次元の相互接続ネットワークによって相互に接続された複数の処理要素( PE)を有するとともに、個々のPEに局所的に付属する、全体的にアドレス指 定可能なローカルメモリ部分から構成される分散メモリを有する多重プロセッサ コンピュータシステムのアドレス変換システムは以下のものからなる: 多重プロセッサコンピュータシステム内のPEの物理的位置に対応して、PE とそれに付属するローカルメモリについて物理アドレスを定義する手段; PEの論理構成内におけるPEとそれに付属するローカルメモリについて、論 理アドレスを定義するソフトウェア制御下で作動する手段、上記論理アドレスは 相互接続ネットワークの論理表現内のPEの論理位置に対応する; PEのユーザ区分内におけるPEの仮想位置に対応して、アプリケーションを 実行するPEのユーザ区分内におけるPEとそれに付属するローカルメモリの仮 想アドレスを定義する、ソフトウェア制御下で作動する手段;および 仮想アドレスを論理アドレスに変換するとともに、相互接続ネットワーク上で のルーティングのために論理アドレスを物理アドレスに変換する手段。 2.アドレス変換システムは、上記ローカルメモリ部分に連係するPEを中断す ることなしに、全体的にアドレス指定可能なローカルメモリ部分間にデータを再 分配するブロック転送エンジンによって生成される仮想アドレスを変換する、請 求項1のアドレス変換システム。 3.論理アドレスを定義する手段は、予備のPEに故障のPEの論理位置を割り 当てることにより、PEの論理構成内の故障のPEを該論理構成に含まれていな い予備のPEで置換えるように修正可能である請求項1に記載のアドレス変換シ ステム。 4.多重プロセッサコンピュータシステムは以下のものからなる: 複数の処理ノード、各ノードはプロセッサを有する処理要素とローカルメモリ とを有し、各処理要素は多重プロセッサコンピュータシステム内の処理要素の物 理的位置に対応した物理番号によって特定され、処理要素の論理構成内における 各処理要素は、論理構成内における論理位置に対応した論理番号によって特定さ れ、アプリケーションを実行する処理要素のユーザ区分内における各処理要素は ユーザ区分内の処理要素の仮想位置に対応した仮想番号によって特定される、お よび ソースノードからの仮想又は論理番号に基づく情報にもとづいて、行先ノード に与えられるべき情報のパケットを生成するネットワークインターフェース、こ こにおいて、各パケットはソースノードから行先ノードまでのパスを指示する物 理番号にもとづく情報を有するルーティングタグを含んでいる; 複数の処理ノードを相互に接続するn次元の相互接続ネットワーク;および 全体的にアドレス指定可能な各処理要素のローカルメモリ部分を含む分散メモ リ。 5.各処理ノードがさらにルーティングタグを格納したルックアップテーブルを 備え、ネットワークインターフェースは、行先ノードの処理要素に対応する論理 番号を与え、該論理番号に対応したルーティングタグを索引するようにした、請 求項4の多重プロセッサコンピュータシステム。 6.ネットワークインターフェースは、仮想番号に基づく情報をルックアップテ ーブルを索引するための論理番号に翻訳するためのハードウェアを含む、請求項 5の多重プロセッサコンピュータシステム。 7.各処理要素は、仮想番号に基づく情報を論理番号にもとづく情報に翻訳する ハードウェアを含む、請求項4の多重プロセッサコンピュータシステム。 8.相互接続ネットワークはノード間でパケットをルート付けするための仮想チ ャネルを含むとともに、ルーティングタグ内の物理番号に基づく情報は、各次元 における補完のために相互接続ネットワーク内に存在するホップの数、各次元に おける走行方向、仮想チャネルがあるとして、行先ノードに到達するために各次 元において使用されるべき仮想チャネルを表す情報を含んでいる、請求項4の多 重プロセッサコンピュータシステム。 9.さらに、ホストシステムを有し、各ノードについてのルーティングタグは、 各ノードおよびノードを接続する相互接続ネットワークに関する情報を含む構成 ファイルに基づいてホストシステムで実行するプログラムにより生成される、請 求項4の多重プロセッサコンピュータシステム。 10.構成ファイルは、処理要素の論理構成を含み、該論理構成は、故障ノード の論理番号を予備ノードに割り当てることにより、論理構成内の処理要素を含む 故障ノードを論理構成に含まれていない処理要素を有する予備ノードで置換える ことにより修正可能である、請求項9の多重プロセッサコンピュータシステム。 11.各処理ノードは、さらに連係するプロセッサを中断することなしに、全体 的にアドレス指定可能なローカルメモリ部分間でデータを再分配するためのブロ ック転送エンジンを含む、請求項4の多重プロセッサシステム。 12.ブロック転送エンジンは、仮想番号に基づく情報を論理番号に基づく情報 に翻訳するハードウェアを含む、請求項11の多重プロセッサコンピュータシス テム。 13.各処理ノードが、さらに分散されたメモリの全てを含むようにプロセッサ のアドレス範囲を拡張するため関連するプロセッサによって与えられるアドレス の部分によって索引が付けられた情報を含む付属テーブルを含む、請求項4の多 重プロセッサコンピュータシステム。 14.さらに、複数のネットワークルータを含み、各ネットワークルータは、処 理ノードの対応するネットワークインターフェースと相互接続ネットワークに連 結されるとともに、各ネットワークルータは、相互接続ネットワークのn次元の 各々に対応してn種の次元スイッチを含んでより、次元スイッチはソースノード から行先ノードに相互接続ネットワークに沿って情報パケットを仕向けるための ルーティングタグに応答する、請求項4の多重プロセッサコンピュータシステム 。 15.n次元の相互接続ネットワークによって接続された複数の処理要素(PE )を有するとともに、個々のPEと局所的に連係する、全体的にアドレス指定可 能なローカルメモリ部分からなる分散メモリを有する多重プロセッサコンピュー タシステムにおけるアドレス翻訳方法は以下のものからなる: PEとその連係するローカルメモリについて物理アドレスを定義する、該物理 アドレスは多重プロセッサコンピュータシステム内のPEの物理位置に対応する ; PEの論理構成内のPEとその連係するローカルメモリについて論理アドレス を定義する、該論理アドレスは相互接続ネットワークの論理表現内のPEの論理 位置に対応する; アプリケーションを実行するPEのユーザ区分内のPEと連係するローカルメ モリについて、ユーザ区分内のPEの仮想位置に対応して仮想アドレスを定義す る; 仮想アドレスを論理アドレスに翻訳する;および 相互接続ネットワーク上でのルーティングのために論理アドレスを物理アドレ スに翻訳する。 16.故障のPEの論理位置を予備のPEに割り当てることにより、PEの論理 構成内の故障PEを論理構成内に含まれていない予備PEで置き換えるステップ をさらに含む、請求項15の方法。
JP7516913A 1993-12-13 1994-12-13 大規模平行処理システムのためのアドレス Pending JPH09506728A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/165,814 1993-12-13
US08/165,814 US5784706A (en) 1993-12-13 1993-12-13 Virtual to logical to physical address translation for distributed memory massively parallel processing systems
PCT/US1994/014351 WO1995016964A1 (en) 1993-12-13 1994-12-13 Address translation for massively parallel processing systems

Publications (1)

Publication Number Publication Date
JPH09506728A true JPH09506728A (ja) 1997-06-30

Family

ID=22600593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7516913A Pending JPH09506728A (ja) 1993-12-13 1994-12-13 大規模平行処理システムのためのアドレス

Country Status (5)

Country Link
US (1) US5784706A (ja)
EP (1) EP0737338B1 (ja)
JP (1) JPH09506728A (ja)
DE (1) DE69426708T2 (ja)
WO (1) WO1995016964A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032118B2 (en) 2011-05-23 2015-05-12 Fujitsu Limited Administration device, information processing device, and data transfer method

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5860146A (en) * 1996-06-25 1999-01-12 Sun Microsystems, Inc. Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces
US6295584B1 (en) * 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
FR2785407B1 (fr) * 1998-10-30 2000-12-15 Bull Sa Procede pour localiser des adresses physiques dans une memoire a acces non uniforme et machine pour mettre en oeuvre ce procede
US6256683B1 (en) 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
US20020091855A1 (en) * 2000-02-02 2002-07-11 Yechiam Yemini Method and apparatus for dynamically addressing and routing in a data network
US7089289B1 (en) * 2000-07-18 2006-08-08 International Business Machines Corporation Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US6831924B1 (en) 2000-07-20 2004-12-14 Silicon Graphics, Inc. Variable mode bi-directional and uni-directional computer communication system
US7248635B1 (en) 2000-07-20 2007-07-24 Silicon Graphics, Inc. Method and apparatus for communicating computer data from one point to another over a communications medium
US6779072B1 (en) * 2000-07-20 2004-08-17 Silicon Graphics, Inc. Method and apparatus for accessing MMR registers distributed across a large asic
US7333516B1 (en) 2000-07-20 2008-02-19 Silicon Graphics, Inc. Interface for synchronous data transfer between domains clocked at different frequencies
US6604185B1 (en) 2000-07-20 2003-08-05 Silicon Graphics, Inc. Distribution of address-translation-purge requests to multiple processors
US6839856B1 (en) 2000-07-20 2005-01-04 Silicon Graphics, Inc. Method and circuit for reliable data capture in the presence of bus-master changeovers
US6681293B1 (en) 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6567900B1 (en) * 2000-08-31 2003-05-20 Hewlett-Packard Development Company, L.P. Efficient address interleaving with simultaneous multiple locality options
US6782464B2 (en) * 2001-07-17 2004-08-24 International Business Machines Corporation Mapping a logical address to a plurality on non-logical addresses
US7162608B2 (en) * 2001-10-24 2007-01-09 Cray, Inc. Translation lookaside buffer-based memory system and method for use in a computer having a plurality of processor element
US20030110205A1 (en) * 2001-12-07 2003-06-12 Leith Johnson Virtualized resources in a partitionable server
US6915393B2 (en) * 2003-01-07 2005-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for physical memory partitioning
US7461080B1 (en) 2003-05-09 2008-12-02 Sun Microsystems, Inc. System logging within operating system partitions using log device nodes that are access points to a log driver
US7437556B2 (en) * 2003-05-09 2008-10-14 Sun Microsystems, Inc. Global visibility controls for operating system partitions
US7337445B1 (en) 2003-05-09 2008-02-26 Sun Microsystems, Inc. Virtual system console for virtual application environment
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
US7389512B2 (en) * 2003-05-09 2008-06-17 Sun Microsystems, Inc. Interprocess communication within operating system partitions
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
CN1323358C (zh) * 2004-03-05 2007-06-27 中国科学院计算技术研究所 一种虚拟存储模型及其方法
US7685319B2 (en) 2004-09-28 2010-03-23 Cray Canada Corporation Low latency communication via memory windows
JP4982971B2 (ja) * 2004-09-29 2012-07-25 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US8181182B1 (en) 2004-11-16 2012-05-15 Oracle America, Inc. Resource allocation brokering in nested containers
US7182415B2 (en) * 2005-01-07 2007-02-27 Takahiro Yamada Bookcase and storage unit
US7882227B2 (en) 2006-02-23 2011-02-01 Oracle America, Inc. Mechanism for implementing file access control across a network using labeled containers
US8938473B2 (en) 2006-02-23 2015-01-20 Oracle America, Inc. Secure windowing for labeled containers
US7885975B2 (en) 2006-02-23 2011-02-08 Oracle America, Inc. Mechanism for implementing file access control using labeled containers
US8938554B2 (en) 2006-03-02 2015-01-20 Oracle America, Inc. Mechanism for enabling a network address to be shared by multiple labeled containers
US7426627B2 (en) * 2006-03-10 2008-09-16 Microsoft Corporation Selective address translation for a resource such as a hardware device
JP4913685B2 (ja) * 2007-07-04 2012-04-11 株式会社リコー Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法
US8051338B2 (en) * 2007-07-19 2011-11-01 Cray Inc. Inter-asic data transport using link control block manager
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) * 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US20090282211A1 (en) * 2008-05-09 2009-11-12 International Business Machines Network On Chip With Partitions
US8494833B2 (en) * 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8392664B2 (en) * 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8214845B2 (en) * 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) * 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US9239799B2 (en) * 2008-06-26 2016-01-19 Qualcomm Incorporated Memory management unit directed access to system interfaces
US20100017513A1 (en) * 2008-07-16 2010-01-21 Cray Inc. Multiple overlapping block transfers
US8195884B2 (en) * 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US20140006712A1 (en) * 2011-03-16 2014-01-02 Joseph A. Tucek Systems and methods for fine granularity memory sparing
US9324126B2 (en) * 2012-03-20 2016-04-26 Massively Parallel Technologies, Inc. Automated latency management and cross-communication exchange conversion
US9514069B1 (en) 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
US9003160B2 (en) 2012-08-03 2015-04-07 International Business Machines Corporation Active buffered memory
US9575755B2 (en) 2012-08-03 2017-02-21 International Business Machines Corporation Vector processing in an active memory device
US9569211B2 (en) 2012-08-03 2017-02-14 International Business Machines Corporation Predication in a vector processor
US9632777B2 (en) 2012-08-03 2017-04-25 International Business Machines Corporation Gather/scatter of multiple data elements with packed loading/storing into/from a register file entry
US9594724B2 (en) 2012-08-09 2017-03-14 International Business Machines Corporation Vector register file
US9298395B2 (en) 2012-10-22 2016-03-29 Globalfoundries Inc. Memory system connector
US8972782B2 (en) 2012-11-09 2015-03-03 International Business Machines Corporation Exposed-pipeline processing element with rollback
WO2014152800A1 (en) 2013-03-14 2014-09-25 Massively Parallel Technologies, Inc. Project planning and debugging from functional decomposition

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5924485A (ja) * 1982-07-30 1984-02-08 Toshiba Corp 入出力ペ−ジング機構
US4523273A (en) * 1982-12-23 1985-06-11 Purdue Research Foundation Extra stage cube
US4985829A (en) * 1984-07-31 1991-01-15 Texas Instruments Incorporated Cache hierarchy design for use in a memory management unit
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
IT1216086B (it) * 1988-03-15 1990-02-22 Honeywell Bull Spa Memoria tampone ad indirizzamento pseudo virtuale.
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
US5151969A (en) * 1989-03-29 1992-09-29 Siemens Corporate Research Inc. Self-repairing trellis networks
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JP3080457B2 (ja) 1991-12-26 2000-08-28 富士通株式会社 分散アドレス変換方式
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5434995A (en) * 1993-12-10 1995-07-18 Cray Research, Inc. Barrier synchronization for distributed memory massively parallel processing systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032118B2 (en) 2011-05-23 2015-05-12 Fujitsu Limited Administration device, information processing device, and data transfer method

Also Published As

Publication number Publication date
WO1995016964A1 (en) 1995-06-22
DE69426708D1 (de) 2001-03-22
DE69426708T2 (de) 2001-09-13
EP0737338B1 (en) 2001-02-14
US5784706A (en) 1998-07-21
EP0737338A1 (en) 1996-10-16

Similar Documents

Publication Publication Date Title
JPH09506728A (ja) 大規模平行処理システムのためのアドレス
US20220276976A1 (en) System and Method for Extended Peripheral Component Interconnect Express Fabrics
US7603508B2 (en) Scalable distributed memory and I/O multiprocessor systems and associated methods
JPS61103258A (ja) 多重プロセッサ・システム
US5446915A (en) Parallel processing system virtual connection method and apparatus with protection and flow control
US5940870A (en) Address translation for shared-memory multiprocessor clustering
US8572206B2 (en) Transaction processing using multiple protocol engines
US11392528B2 (en) Methods and apparatus for DMA engine descriptors for high speed data systems
US6813676B1 (en) Host interface bypass on a fabric based array controller
WO2002041157A2 (en) Method and apparatus for converting address information between pci bus protocol and a message passing queue-oriented bus protocol
US20090089537A1 (en) Apparatus and method for memory address translation across multiple nodes
WO1999035579A1 (en) Two-level address translation and memory registration system and method
JPH0816495A (ja) 複数プロトコル装置のインターフェース・サブシステムおよびその方法
US20060085573A1 (en) Multi-context selection with PCI express to support hardware partitioning
JP3080457B2 (ja) 分散アドレス変換方式
JP3004278B2 (ja) マルチプロセッサシステム
KR960018940A (ko) 브리지 및 컴퓨터 시스템
US20040225782A1 (en) Method for generating configuration tables and for forwarding packets through a network
EP0365745A2 (en) A method for detecting and avoiding erroneous decombining in combining networks for parallel computing systems
US20060150165A1 (en) Virtual microengine systems and methods
Hady et al. The memory integrated network interface
JP4106964B2 (ja) アドレス割当装置およびその方法
Rzymianowicz et al. Clustering SMP nodes with the ATOLL network: A look into the future of System Area Networks
JPH1078941A (ja) 並列計算機