JP2005500621A - デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート - Google Patents

デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート Download PDF

Info

Publication number
JP2005500621A
JP2005500621A JP2003521956A JP2003521956A JP2005500621A JP 2005500621 A JP2005500621 A JP 2005500621A JP 2003521956 A JP2003521956 A JP 2003521956A JP 2003521956 A JP2003521956 A JP 2003521956A JP 2005500621 A JP2005500621 A JP 2005500621A
Authority
JP
Japan
Prior art keywords
bus
computer system
memory module
processor element
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003521956A
Other languages
English (en)
Other versions
JP4128956B2 (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25462158&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2005500621(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エス・アール・シィ・コンピューターズ・インコーポレイテッド filed Critical エス・アール・シィ・コンピューターズ・インコーポレイテッド
Publication of JP2005500621A publication Critical patent/JP2005500621A/ja
Application granted granted Critical
Publication of JP4128956B2 publication Critical patent/JP4128956B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

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

Abstract

デュアル・インライン・メモリモジュール(DIMM)またはRambus(R)インライン・メモリモジュール(RIMM)フォーマットにおいてマルチアダプティブプロセッサ要素(202)を採用することで、データ転送レートを、標準的な周辺構成要素相互接続(PCI)バスを用いて利用可能であったレートに対して大幅に向上させた、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポート。特に、マイクロプロセッサベースのコンピュータシステムであって、外部スイッチ、ネットワークまたはその他の装置との接続を実現することを目的として、DIMMまたはRIMM物理フォーマットプロセッサ要素を用いるコンピュータシステムが開示される。特定の実施例では、制御情報をホストマイクロプロセッサまたはその他の制御チップに渡すことを目的として、PCI、アクセラレーテッド・グラフィックス・ポート(AGP)またはシステム管理(SM)バスへの接続が設けられ得る。フィールド・プログラマブル・ゲートアレイ(FPGA)ベースのプロセッサ要素は、ここを通過して外部相互接続構造または装置を出入りするデータを変更する能力を有する。

Description

【技術分野】
【0001】
発明の背景
この発明は一般的に、多数のプロセッサ要素を組込んだコンピュータアーキテクチャの分野に関する。より特定的には、この発明は、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポート(SNAP)であって、デュアル・インライン・メモリモジュール(Dual In-line Memory Module:DIMM)フォーマットにおいて一連のマルチアダプティブプロセッサ(Multi-Adaptive Processor:MAP(R)、エス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers Inc.)の登録商標)を採用することで、データ転送レートを周辺構成要素相互接続(Peripheral Component Interconnect:PCI)バスで利用可能であったレートに対して大幅に向上させたものに関する。
【背景技術】
【0002】
プロセッサカウントが大きくて経済的なコンピュータをもたらす現在最も有望な方法の中には、パーソナルコンピュータ(PC)で一般的に見られるような比較的低価格のマイクロプロセッサベースのボードをいくつかまとめてクラスタ化することに関する方法がある。次にこれらさまざまなボードを、利用可能なクラスタ化ソフトウェアを用いて動作させ、こうしてこれらは1つ以上の大きな問題を解くように一斉に実行を行なう。このように問題を解くプロセスの際、プロセッサボード間で中間計算結果が共有されることが多い。
【発明の開示】
【発明が解決しようとする課題】
【0003】
現在利用可能な技術を利用した場合、この共有は周辺構成要素相互接続(PCI)バス経由で行なわれることになるが、これは現在のPCで一般的に見られる最も高性能の外部インターフェイスバスである。このバスにはさまざまな利用可能なバージョンがあるが、これらはすべて1GB/秒未満の帯域幅に限定され、かつこれらはプロセッサバスよりも数レベル下のチップに位置するため、いずれも極めて長い待ち時間を呈する。低価格PCにおいては、このバスは典型的に256MB/秒のオーダの帯域幅を提供するに過ぎない。
【0004】
これらの要因は、個々としても全体としても、クラスタの全体的な有効性を大幅に制限するおそれがあり、より高速のインターフェイスを見つけることができれば、クラスタが大きな問題を解く能力は大幅に増大するであろう。残念ながら、このようなポートを与えることができる新たな専用のチップセットを設計することは極めて高価であるばかりでなく、遭遇するクラスタ化相互接続の種類ごとに特化しなければならないであろう。当然のことながら、これによってチップセットのいずれの1バージョンについても潜在的な売上量は比較的少なくなり、非経済的となるであろう。
【課題を解決するための手段】
【0005】
発明の概要
この発明の技術に従い、既存の標準PCメモリバスをマルチアダプティブプロセッサ(MAP(R)、SRCコンピューターズ・インコーポレイテッドの登録商標)との関連で用いて、このデータ転送レートの問題を一般的に適用可能な態様で解決することを可能にするシステムおよび方法が提供される。この目的のために、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートであって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートをPCIバスで利用可能であったレートに対して大幅に向上させたものがここに開示される。
【0006】
今日のPCにおいて最も一般的に用いられるメモリフォーマットの1つとしてデュアル・インライン・メモリモジュール(DIMM)フォーマットがある。このモジュールは現在、ダブルデータレート(Double Data Rate:DDR)フォーマットと呼ばれるものにおいて利用可能であり、このフォーマットを使用したPCは今日最大1.6GB/秒の帯域幅を提供できるメモリバスを組込む。近い将来、このバスはさらに拡張されて最大3.2GB/秒の帯域幅を有するクワッドデータレート(Quad Data Rate:QDR)DIMMをサポートすることになるであろう。現在利用可能な代替的なメモリの形態としてはRambusDIMM(RIMM)がある。RIMMの基本的な特徴は標準的なDIMMと類似であるため、先の議論および後の開示のためには、DIMMという用語を両方のメモリの形態を表わすために用いる。
【0007】
DIMMメモリはPCマイクロプロセッサのための主記憶場所を構成するので、プロセッサバスに対して電気的に極めて「近く」設計されるため、極めて短い待ち時間を呈し、DIMMに関連する待ち時間はPCIバスのわずか25%のオーダであることも珍しくない。本質的にこの帯域幅をコンピュータ間の相互接続として活用することで、大幅に増大したクラスタ性能が実現可能である。
【0008】
この目的のために、MAP要素を(たとえばDIMM物理フォーマットで)PCのDIMMスロットの1つに置くことにより、このMAP要素のフィールド・プログラマブル・ゲートアレイ(Field Programmable Gate Array:FPGA)は、通常のメモリ「読出」および「書込」トランザクションを受入れて、これらを相互接続スイッチまたはネットワークの用いるフォーマットに変換することができる。
【0009】
上述の特許および特許出願に開示するように、各MAP要素は、これを他のMAP要素と結合できるようにするためのチェーンポートを含み得る。このチェーンポートを用いて外部クラスタ化構造との接続を行なうことで、データパケットを遠隔ノードに送ることが可能となり、ここでこれらのパケットは同一のボードによって受けられ得る。この特定の応用例では、MAP要素はパケットからデータを抽出して、受信側プロセッサが必要とするまでこれを記憶することになる。
【0010】
この技術の結果として、データ転送レートは現在入手可能ないずれのPCインターフェイスよりも数倍高くなる。しかしDIMMの電気プロトコルでは、データが一旦受信側に到着すると、これが到着したことをDIMMモジュールがマイクロプロセッサに通知することはできず、これができないため、MAP要素の連続的なポーリングを用いてデータが到着したかどうかを判断することでプロセッサの活動を同期化しなければならない。このような技術はマイクロプロセッサを完全に消費し、かつそのバス帯域幅のほとんどを消費してしまうため、その他のバスエージェントすべてをストールしてしまう。
【0011】
この状況を回避するため、DIMM MAP要素にはさらに、これが既存のPCIバスと通信できるようにするための接続を設けることができ、こうしてDIMM MAP要素は通信制御パケットを生成して、PCIバス経由でプロセッサに送ることができる。これらパケットは動かされるデータ全体のうち極めて小さな割合しか占めないため、PCIバスの帯域幅が小さいことの影響は最小限に抑えられ、さらに従来のPCI中断信号を用いてデータが到着したことをプロセッサに通知することもできる。この発明の別の実現例に従うと、システム管理(SM)バスを用いてプロセッサに通知を行なうこともできる。SMバスは直列カレントモードのバスであり、従来のやり方でプロセッサボード上のさまざまな装置がプロセッサを中断できるようにする。
【0012】
MAP要素を、DIMMスロット全体であり得るものと関連付けることによって、PCは、典型的に1GBのオーダの大きなブロックのアドレスを、MAP要素による使用に割当てることになる。これらアドレスのうちいくつかは、(上述の特許および特許出願に開示するように)コマンドとしてデコードされ得るが、多くは記憶場所としてなお使用可能である。少なくとも、データを周辺機器から転送するのに用いる通常の入力/出力(I/O)ブロックサイズと同数のアドレス場所を設けることで、ほとんどのPCで使用される従来のインテル(Intel)(R)チップセットはMAP要素への直接のI/O転送を可能にする。そしてこれにより、データはたとえばディスクから到着して直接MAP要素に入ることができる。次にこれは所望の任意の態様で変更を加えられ、パケット化されて遠隔ノードへ送信され得る。ディスクのPCIポートも、MAP要素のDIMMスロットも、PCメモリコントローラで制御されるため、この転送によりプロセッサバス帯域幅は消費されない。
【0013】
なお、いくつかのPCにおいては、いくつかのDIMMをインタリーブしてメモリアクセス能力を拡大し、こうしてメモリ帯域幅を増加させることもできる。これらシステムにおいては、上述の技術をいくつかのDIMMスロットで並行的に用いることもできる。それでも特定の選択した実現例にかかわらず最終的な結果としては、PCIバスおよび外部スイッチまたはネットワークへの1つ以上の接続を有するDIMMベースのMAP要素が得られ、その結果、PCIベースの接続のみの数倍の性能が得られ、さらにデータが相互接続構造を通過する際にこのデータを処理する能力もまた数倍となる。
【0014】
ここで特定的に開示されるのは、マイクロプロセッサベースのコンピュータシステムであって、外部スイッチ、ネットワークまたはその他の装置との接続を実現することを目的として、DIMMまたはRIMMベースのMAP要素を利用したものである。さらに、DIMMまたはRIMMベースのMAP要素であって、制御情報をホストマイクロプロセッサまたは他の制御チップに渡すことを目的としたPCIまたはSMバスへの接続を有するMAP要素がここで開示される。さらに、DIMMまたはRIMMベースのMAP要素であって、ここを通過して外部相互接続構造または装置に出入りするデータを変更させることができるMAP要素がここで開示される。
【0015】
この発明の上述およびその他の特徴および目的、ならびにこれらを達成する態様は、添付の図面と関連させながら好ましい実施例の以下の説明を参照することでさらに明らかになり、かつ発明それ自体が最もよく理解されるであろう。
【発明を実施するための最良の形態】
【0016】
例示的な実施例の説明
まず、図1を参照して、上述の特許および特許出願の開示に従うマルチプロセッサコンピュータ10のアーキテクチャを示す。マルチプロセッサコンピュータ10は、メモリ相互接続構造14と双方向に結合されたN個のプロセッサ120〜12Nを組込む。メモリ相互接続構造14はさらに、メモリバンクサブシステム160(バンク0)〜16M(バンクM)を含むM個のメモリバンクに結合される。或る数のマルチアダプティブプロセッサ要素(MAP(R))112(続く図面でより具体的に示す)が1つ以上のメモリバンク16と関連付けられる。やはり上述の特許および特許出願で開示するように、MAP要素112はチェーンポートを含み得る。
【0017】
次に図2を参照して、この発明に従い複数のマルチアダプティブプロセッサ要素112を組込んだマルチプロセッサコンピュータアーキテクチャ100についての代表的なアプリケーションプログラム分解を示す。コンピュータアーキテクチャ100は、分解における粗粒部分において、4つの並列領域1021から1024までのうち(単に例として)1つに対して選択的に向けられたユーザ命令およびデータに応答して動作する。並列領域1021〜1024の各々からの命令およびデータ出力は、データ区域1041〜1044および命令区域1061〜1064となるよう分離された並列領域にそれぞれ入力される。データ区域1041〜1044内に維持されたデータ、および命令区域1061〜1064内に維持された命令は、次に、たとえば図示するように対応するプロセッサ対1081,1082(P1およびP2)、1083,1084(P3およびP4)、1085,1086(P5およびP6)、ならびに1087,1088(P7およびP8)に供給される。この時点で、命令およびデータの中程度のきめの分解が達成されている。
【0018】
さらなるアルゴリズム分解によってきめの細かい分解または並列性が実行され、ここでプロセッサ1081〜1088の各プロセッサの出力はばらばらにされて、たとえば図示するように或る数の基本アルゴリズム1101A,1101B,1102A,1102B〜1108Bになる。次に各アルゴリズムはMAP要素1121A,1121B,1122A,1122B〜1128Bのうち対応する1つに供給される。これらはコンピュータアーキテクチャ100のメモリ空間内に位置してここで実行を行なうことができるが、これについては後により詳細に説明する。
【0019】
次に図3をさらに参照して、MAP要素ベースのシステムのコンピュータアーキテクチャ100におけるメモリバンク120の例示的な実現例を、先の図面に例示したMAP要素112のうち代表的なものについて示す。各メモリバンク120は、コンピュータシステム中継線たとえば72線バス124と双方向に結合されたバンク制御ロジックブロック122を含む。バンク制御ロジックブロック122は双方向データバス126(たとえば256線)に結合され、さらに、メモリアレイ130内の指定された場所にあるデータにアクセスするためのアドレスをアドレスバス128(たとえば17線)に供給する。
【0020】
データバス126およびアドレスバス128はさらにMAP要素112に結合される。MAP要素112は、アドレスバス128に結合された制御ブロック132を含む。制御ブロック132はさらに、或る数の信号線136を用いてユーザ・フィールド・プログラマブル・ゲートアレイ(FPGA)134と双方向に結合される。ユーザFPGA134はデータバス126に直接結合される。或る特定の実施例では、FPGA134はルーセント・テクノロジーズ(Lucent Technologies)OR3T80デバイスとして設けられ得る。
【0021】
例示的なコンピュータアーキテクチャ100は、メモリサブシステムまたはメモリ空間内に位置し得る1つ以上のMAP要素112を有する共通の共有メモリにわたって一様なメモリアクセスを採用したマルチプロセッサシステムを含む。上述のように、各MAP要素112は、再構成可能な機能ユニットとして用いられる少なくとも1つの比較的大きなFPGA134を含む。加えて、制御ブロック132および予めプログラミングされたまたは動的プログラミング可能な構成ROM(これについては後により詳細に説明する)は、再構成可能MAP要素112が特定のアルゴリズムを実行できるようにするのに必要な情報を含む。ユーザがプログラム制御下でFPGA134内に新たな構成を直接ダウンロードすることも可能であるが、場合によってはこれはいくつかのメモリアクセスを消費することがあり、結果として、アルゴリズムが一時的なものである場合、システム性能に全体的な低下を引起し得る。
【0022】
FPGAはここに示す出願においていくつかの理由から特に有利である。第1に、市場で入手可能なFPGAは今や、意味のある計算機能を実行するために十分な内部ロジックセルを含んでいる。第2には、マイクロプロセッサに匹敵するバス速度での動作が可能であり、このため速度調整用バッファの必要性がなくなる。さらに、FPGAの内部のプログラミング可能ルーティング資源は今や、入力/出力(I/O)ピンの場所を再割当てする必要なしに、意味のあるアルゴリズムをプログラミングできるのに十分大きいものとなっている。
【0023】
たとえばMAP要素112をメモリサブシステムまたはメモリ空間内に置くことで、これはメモリ「読出」および「書込」コマンドを用いて容易にアクセス可能となり、このためさまざまな標準オペレーティングシステムを使用することが可能である。対照的に、その他の従来の実現例は、再構成可能ロジックをプロセッサ内またはその近くに置くことを提案していることもあるが、これら従来の実現例はマルチプロセッサ環境では一般的にはるかに有効性が低い。それは、これに対する高速アクセスを有し得るのがただ1つのプロセッサだけであるからである。したがってマルチプロセッサシステムでは再構成可能ロジックはあらゆるプロセッサの側に置かれる必要があり、このため全体的なシステムコストが増加する。MAP要素112はDMA能力を有し(こうしてこれはメモリへの書込をすることができ)、これはそのオペランドをメモリへの書込を通じて受取るので、MAP要素112がチェーンポートを用いて別のMAP要素112に結果を入力できるようにすることが可能である。これは極めて強力な特徴点であり、これによって大きなタスクを極めて大規模にパイプライン化および並列化することが可能となり、こうしてこれらがより高速で完了できるようにする。
【0024】
実現され得るアルゴリズムの多くはオペランドを受取り、結果を生成するのに多くのクロックサイクルを必要とする。このような例の1つが乗算であり得るが、これには64クロックサイクルかかる。この同じ乗算が何千ものオペランドに対して実行されなければならないこともあり得る。この状況において、入来するオペランドは逐次的に提示されることになり、第1のオペランドは出力に結果を生成するのに64クロックサイクルを必要とし、一方で第2のオペランドは入力に1クロックサイクル遅く到着して、出力において1クロックサイクル遅く結果を示すことになる。したがって最初の64クロックサイクルの遅延の後、最後のオペランドの結果が現われるまであらゆる連続的なクロックサイクルにおいて新たな出力データが現われることになる。これは「パイプライン化」と呼ばれる。
【0025】
マルチプロセッサシステムにおいては、オペレーティングシステムがタスクの途中でプロセッサを止めて、これをより高い優先順位のタスクに再割当てし、該または別のプロセッサを元に戻して最初のタスクを完了させることが極めて多い。これがパイプライン化されたアルゴリズムと組合されると、(プロセッサがリストの途中でオペランドの発行を止め、かつ結果を受付けることを止めた場合に)既に発行されているがまだパイプラインを通り過ぎていないオペランドに関して問題が生じる。この事柄に対処するために、上述の特許および特許出願に開示のとおり、ソフトウェアとハードウェアとの組合せに関連する解決策が提供される。
【0026】
任意の種類の従来の再構成可能ハードウェアを利用するために、プログラマは自分のアプリケーションプログラムコード内に必要なコマンドを埋込むことがある。この手法の問題は、MAPハードウェア専用となるようにプログラムを特化しなければならないことである。ここに開示のシステムはこの問題をなくす。マルチプロセッサコンピュータはパラレライザと称されるソフトウェアをしばしば使用する。このソフトウェアの目的は、ユーザのアプリケーションコードを分析して、これをプロセッサ間でどのように分割すれば最良かを判断することである。ここに開示の技術は従来のパラレライザに対して顕著な利点を提供し、ユーザコードのうち、このシステムのためにMAP要素112内に存在するアルゴリズムを表わす部分をパラレライザが認識して、MAP要素112を別の計算要素として取扱うことができるようにする。次にパラレライザは、MAP要素112を利用するのに必要なコードを自動的に生成する。これによりユーザはアルゴリズムを直接自分のコードに書込むことができ、こうしてその移植性を増大させ、MAP要素112の利用に必要なシステムハードウェアの知識を減少させる。
【0027】
次に図4をさらに参照して、MAP制御ブロック132のブロック図をより詳細に示す。制御ブロック132は、コマンドデコーダ150において或る数のコマンドビット(たとえば17個)をアドレスバス128から受取るように結合される。次にコマンドデコーダ150は、或る数のレジスタ制御ビットを、8ビットバス154を介して一群の状態レジスタ152に供給する。コマンドデコーダ150は、線156を介して単一ビットの最終オペランドフラグをパイプラインカウンタ158に供給する。パイプラインカウンタ158は、バス162を介して8ビット出力を同等性比較器160に供給する。同等性比較器160はさらに、FPGA134からバス136を介して、パイプライン深さを表わす8ビット信号を受取る。同等性比較器160は、パイプラインが空であると判断すると、状態レジスタ152に入力するための単一ビットのパイプライン空フラグを線164に与える。状態レジスタ152はさらに、バス136を介してFPGA134から8ビット状態信号を受取るように結合され、バス136、バス154および線164上の信号に応答して64ビット状態ワード出力をバス166に生成する。
【0028】
コマンドデコーダ150はさらに、図示するように、線168を介して構成マルチプレクサ(MUX)170に5ビット制御信号を供給する。構成MUX170は、線176を介して256ビット並列直列変換器172の単一ビット出力を受取る。256ビット並列直列変換器172の入力は256ビットユーザ構成パターンバス174に結合される。構成MUX170はさらに、バス178を介して構成ROM(ROM182で例示する)から16個の単一ビット入力を受取り、バス168を介したコマンドデコーダ150からの制御信号によって選択されるように、単一ビット構成ファイル信号を線180を介してユーザFPGA134に与える。
【0029】
動作においては、プロセッサ108がオペレーティングシステムによって止められると、オペレーティングシステムは最終オペランドコマンドを、アドレスフィールドに埋込まれたコマンドビットを用いて、バス128を介しMAP要素112に対して発行する。このコマンドは制御ブロック132のコマンドデコーダ150によって認識され、これはハードウェアパイプラインカウンタ158を開始させる。アルゴリズムが最初にFPGA134にロードされたとき、制御ブロック132に接続されたいくつかの出力ビットは、同等性比較器160に対するバス136の入力において、そのパイプラインを通り抜けるのに必要なクロックサイクル数(すなわちパイプライン「深さ」)の2進値表現を示すように構成されている。制御ブロック132のパイプラインカウンタ158は、最終オペランドコマンドを受取った後、クロックサイクルをカウントし、そのカウントがこの特定のアルゴリズムについてのパイプライン深さと等しくなるまでこれを行なう。この時点で、制御ブロック132の同等性比較器160は、状態レジスタ152の内部群において線164を介してビジービットをデアサートする。プロセッサ108は、最終オペランド信号を発行した後、状態レジスタ152を繰返し読出し、バス166上のあらゆる出力データを受入れる。ビジーフラグがデアサートされると、タスクを止めてMAP要素112を異なるタスクのために利用することが可能となる。なお、MAP要素112を構成されたままにし、プログラムを異なるプロセッサ108に転送して、タスクを止めたところから再開させることもまた可能である。
【0030】
所与の応用例でのMAP要素112の使用の有効性を評価するには、使用に対する或る形のフィードバックが必要となる。このため、MAP要素112に制御ブロック132の内部レジスタを備えさせることがあり、これにより効率に関係する要因、たとえば出力データに対する入力オペランドの数、或る期間にわたるアイドルサイクルの数、および或る期間にわたって受取られたシステムモニタ中断の数などを、MAP要素が監視できるようにする。MAP要素112が有する利点の1つは、その再構成可能な性質のため、アルゴリズムが変わるにつれて、監視される実際の機能および機能の種類もまた変えることができる。このためユーザには、すべての要因を常に監視する必要なしに、考えられ得るほとんど無限数の監視要因が与えられる。
【0031】
次に図5をさらに参照して、この発明に従うコンピュータシステム200の例示的な実施例の機能ブロック図を示し、これは、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートであって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートを周辺構成要素相互接続(PCI)バスで利用可能であったレートに対して大幅に向上させたものを含んでいる。
【0032】
例示する特定の実施例では、コンピュータシステム200は1つ以上のプロセッサ2020〜2021を含み、これらは関連のPCメモリおよびI/Oコントローラ204に結合される。動作においては、コントローラ204はPCI制御ブロック206と制御情報を送受信する。なお、この発明の代替的な実施例では、制御ブロック206はAGPまたはSM制御ブロックであることもある。PCI制御ブロック206は1つ以上のPCIカードスロット208に結合されるが、ここで実質的に256MP/秒のレートでデータ転送が可能な比較的小さな帯域幅のPCIバス210を用いる。上述のこの発明の代替実施例においては、カードスロット208はアクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)バス接続またはシステム管理(System Maintenance:SM)バス接続を代替的に含み得る。
【0033】
コントローラ204はまた従来のやり方で、実質的に2.1GB/秒以上のデータ転送レートが可能なはるかに大きな帯域幅のDIMMバス216を用いて、或る数のDIMMスロット214に結合される。この発明の特定の実現例に従うと、DIMM MAP要素212は、DIMMスロット214の1つと関連付けられ、または物理的にこの中に位置する。DIMM MAP要素212への、またはここからの制御情報は、PCIバス210とDIMM MAP要素212とを相互接続する接続218を用いて与えられる。次にDIMM MAP要素212を別のクラスタ型コンピュータMAP要素に結合でき、ここでMAPチェーンポートに接続されたクラスタ相互接続構造接続220が用いられ得る。上述のようにDIMM MAP要素212はRIMM MAP要素を含むこともある。
【0034】
DIMMスロット214内に位置するDIMMメモリは、PCマイクロプロセッサ2020,2021のための主記憶場所を構成するので、プロセッサバスに対して電気的に極めて「近く」設計されるため、極めて短い待ち時間を呈する。上述のように、DIMMに関連する待ち時間はPCIバス210のわずか25%のオーダであることも珍しくない。本質的にこの帯域幅をコンピュータシステム200間の相互接続として活用することで、大幅に増大したクラスタ性能が実現可能である。
【0035】
この目的のために、DIMM MAP要素212をPCのDIMMスロット214の1つに置くことにより、このMAP要素のFPGA134(図3)は通常のメモリ「読出」および「書込」トランザクションを受入れて、これらを相互接続スイッチまたはネットワークの用いるフォーマットに変換することができる。上述の特許および特許出願に開示するように、各MAP要素212は、これを他のMAP要素212と結合できるようにするためのチェーンポートを含む。このチェーンポートを用いて接続220経由で外部クラスタ化構造との接続を行なうことで、データパケットを遠隔ノードに送ることが可能となり、ここでこれらのパケットは同一のボードに受けられ得る。この特定の応用例では、DIMM MAP要素212はパケットからデータを抽出して、受信側プロセッサ202が必要とするまでこれを記憶することになる。
【0036】
この技術の結果として、データ転送レートは、PCIバス210など現在入手可能ないずれのPCインターフェイスよりも数倍高くなる。しかしDIMMの電気的プロトコルでは、データが一旦受信側に到着すると、これが到着したことをDIMMスロット214内のDIMMモジュールがマイクロプロセッサ202に通知することはできず、これができないため、DIMM MAP要素212の連続的なポーリングを用いてデータが到着したかどうかを判断することでプロセッサ202の活動を同期化しなければならない。このような技術はマイクロプロセッサ202を完全に消費し、かつそのバス帯域幅のほとんどを消費してしまうため、その他のバスエージェントすべてをストールしてしまう。
【0037】
この状況を回避するため、DIMM MAP要素212にはさらに、これが既存のPCIバス210と通信できるようにするための接続218を設けることができ、こうしてこれは通信パケットを生成して、PCIバス210経由でプロセッサ202に送ることができる。これらパケットは動かされるデータ全体のうち極めて小さな割合しか占めないため、PCIバス210の帯域幅が小さいことの影響は最小限に抑えられ、さらに従来のPCI中断信号を用いてデータが到着したことをプロセッサ202に通知することもできる。この発明の別の実現例に従うと、システム管理(SM)バス(図示せず)を用いてプロセッサ202に通知を行なうこともできる。SMバスは直列カレントモードのバスであり、従来のやり方でプロセッサボード上のさまざまな装置がプロセッサ202を中断できるようにする。代替的な実施例では、アクセラレーデッド・グラフィックス・ポート(AGP)を用いてプロセッサ202に通知を行なうこともある。
【0038】
DIMM MAP要素212を、DIMMスロット214全体であり得るものと関連付けることによって、PCは、典型的に1GBのオーダの大きなブロックのアドレスを、DIMM MAP要素212による使用に割当てることになる。これらアドレスのうちいくつかは、(上述の特許および特許出願に開示するように)コマンドとしてデコードされ得るが、多くは記憶場所としてなお使用可能である。少なくとも、データを周辺機器から転送するのに用いる通常の入力/出力(I/O)ブロックサイズと同数のアドレス場所を設けることで、ほとんどのPCで使用される(コントローラ204を含む)従来のインテル(R)チップセットは、DIMM MAP要素212への直接のI/O転送を可能にする。そしてこれにより、データはたとえばディスクから到着して直接DIMM MAP要素212に入ることができる。次にこれは所望の任意の態様で変更を加えられ、パケット化されて接続220経由で遠隔ノードへ送信され得る。ディスクのPCIバス210も、DIMM MAP要素212およびDIMMスロット214も、PCメモリコントローラ204で制御されるため、この転送によりプロセッサバス帯域幅は消費されない。
【0039】
なお、いくつかのPCにおいては、DIMMスロット214内のいくつかのDIMMをインタリーブしてメモリアクセス能力を拡大し、こうしてメモリ帯域幅を増加させることもできる。これらシステムにおいては、上述の技術をいくつかのDIMMスロット214で並行的に用いることもできる。それでも特定の選択した実現例にかかわらず最終的な結果としては、PCIバス210への、および接続220経由で外部スイッチまたはネットワークへの1つ以上の接続を有するDIMMベースのMAP要素212が得られ、その結果、PCIベースの接続のみの数倍の性能が得られ、さらにデータが相互接続構造を通過する際にこのデータを処理する能力もまた数倍となる。
【0040】
以上、特定のコンピュータアーキテクチャとの関連でこの発明の原理を説明したが、以上の記載は例としてなされたにすぎず、この発明の範囲を限定するものではないことが明らかに理解されるであろう。特に、上述の開示の教示は当業者に他の変形例を示唆するであろうと認められる。このような変形例は、それ自体で既に公知であって、既にここに記載された特徴の代わりにまたはこれに加えて使用され得る他の特徴も含み得る。この出願における請求項は特徴の特定の組合せに対して立てられているが、ここにおける開示の範囲は、当業者に明らかであろう明示的または黙示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、またはこれを一般化もしくは変形したものをも含み、
このことはこれがいずれかの請求項で現在請求されている同じ発明に関しているかどうかにはかかわらず、かつこれがこの発明の対処するのと同じ技術的問題のいくらかまたはすべてを軽減するかどうかにはかかわらないことを理解されたい。ここに出願人は、この出願またはここから導き出されるあらゆるさらなる出願の審査の間に、このような特徴および/またはこのような特徴の組合せに対して新たな請求項を立てる権利を留保する。
【図面の簡単な説明】
【0041】
【図1】上述の特許および特許出願の開示に従うマルチアダプティブプロセッサ(MAP)を採用したマルチプロセッサコンピュータアーキテクチャを簡略化して示す高次の機能ブロック図であり、直接メモリアクセス(DMA)技術を用いて、データに加えコマンドをMAP要素に送ることができる特定の実施例におけるものである。
【図2】たとえばコンピュータシステムメモリ空間に位置する或る数のMAP要素を用いたマルチプロセッサコンピュータアーキテクチャとの関連で用いられる、考えられ得るコンピュータアプリケーションプログラム分解シーケンスを簡略化して示す論理ブロック図である。
【図3】先の図のMAP要素の例示的な1個をより詳細に示す機能ブロック図であって、バンク制御ロジック、メモリアレイおよびMAPアセンブリを例示するものである。
【図4】或る特定の実施例における、ユーザFPGAとの相互接続を例示する、先の図面のMAPアセンブリの制御ブロックをより詳細に示す機能ブロック図である。
【図5】この発明の例示的な一実施例を示す機能ブロック図であって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートを周辺構成要素相互接続(PCI)バスで利用可能であったレートに対して大幅に向上させた、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートを含むものである。

Claims (51)

  1. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサを周辺バス制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
    周辺バスによって前記周辺バス制御ブロックに結合された少なくとも1つの周辺バススロットと、
    前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
    プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。
  2. さらに、
    前記周辺バスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項1に記載のコンピュータシステム。
  3. 前記メモリモジュールバスはDIMMバスを含む、請求項1に記載のコンピュータシステム。
  4. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項3に記載のコンピュータシステム。
  5. 前記メモリモジュールバスはRIMMバスを含む、請求項1に記載のコンピュータシステム。
  6. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項5に記載のコンピュータシステム。
  7. 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項1に記載のコンピュータシステム。
  8. 前記周辺バスはPCIバスを含む、請求項1に記載のコンピュータシステム。
  9. 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項1に記載のコンピュータシステム。
  10. 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項1に記載のコンピュータシステム。
  11. 前記プロセッサ要素は
    フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項1に記載のコンピュータシステム。
  12. 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項1に記載のコンピュータシステム。
  13. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサをグラフィックス制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
    グラフィックスバスによって前記グラフィックス制御ブロックに結合された少なくとも1つのグラフィックスバス接続と、
    前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
    プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。
  14. さらに、
    前記グラフィックスバスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項13に記載のコンピュータシステム。
  15. 前記メモリモジュールバスはDIMMバスを含む、請求項13に記載のコンピュータシステム。
  16. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項15に記載のコンピュータシステム。
  17. 前記メモリモジュールバスはRIMMバスを含む、請求項13に記載のコンピュータシステム。
  18. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項17に記載のコンピュータシステム。
  19. 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項13に記載のコンピュータシステム。
  20. 前記周辺バスはAGPバスを含む、請求項13に記載のコンピュータシステム。
  21. 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項13に記載のコンピュータシステム。
  22. 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項13に記載のコンピュータシステム。
  23. 前記プロセッサ要素は
    フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項13に記載のコンピュータシステム。
  24. 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項13に記載のコンピュータシステム。
  25. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサをシステム管理制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
    システム管理バスによって前記システム管理制御ブロックに結合された少なくとも1つのシステム管理バス接続と、
    前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
    プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。
  26. さらに、
    前記システム管理バスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項25に記載のコンピュータシステム。
  27. 前記メモリモジュールバスはDIMMバスを含む、請求項25に記載のコンピュータシステム。
  28. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項27に記載のコンピュータシステム。
  29. 前記メモリモジュールバスはRIMMバスを含む、請求項25に記載のコンピュータシステム。
  30. 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項29に記載のコンピュータシステム。
  31. 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項25に記載のコンピュータシステム。
  32. 前記周辺バスはSMバスを含む、請求項25に記載のコンピュータシステム。
  33. 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項25に記載のコンピュータシステム。
  34. 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項25に記載のコンピュータシステム。
  35. 前記プロセッサ要素は
    フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項25に記載のコンピュータシステム。
  36. 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項25に記載のコンピュータシステム。
  37. コンピュータシステムのメモリモジュールバスのためのプロセッサ要素であって、前記プロセッサ要素は、
    フィールド・プログラマブル・ゲートアレイを備え、前記フィールド・プログラマブル・ゲートアレイは、前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能であり、かつ前記メモリモジュールバスを介して前記フィールド・プログラマブル・ゲートアレイに与えられたデータを変更するように動作し、前記プロセッサ要素はさらに
    データ接続を備え、前記データ接続は、前記フィールド・プログラマブル・ゲートアレイに結合されて、前記プロセッサ要素に結合された外部装置に前記変更されたデータを与える、プロセッサ要素。
  38. さらに、
    前記プロセッサ要素に結合されて、前記外部装置からの前記データ接続を介したデータの到着を前記コンピュータシステムのプロセッサに示すための制御接続を備える、請求項37に記載のプロセッサ要素。
  39. 前記制御接続は、周辺バスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
  40. 前記周辺バスはPCIバスを含む、請求項39に記載のプロセッサ要素。
  41. 前記制御接続は、グラフィックスバスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
  42. 前記グラフィックスバスはAGPバスを含む、請求項41に記載のプロセッサ要素。
  43. 前記制御接続は、システム管理バスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
  44. 前記グラフィックスバスはSMバスを含む、請求項43に記載のプロセッサ要素。
  45. 前記メモリモジュールバスはDIMMバスを含む、請求項37に記載のプロセッサ要素。
  46. 前記プロセッサ要素はDIMM物理フォーマットを含む、請求項45に記載のプロセッサ要素。
  47. 前記メモリモジュールバスはRIMMバスを含む、請求項37に記載のプロセッサ要素。
  48. 前記プロセッサ要素はRIMM物理フォーマットを含む、請求項47に記載のプロセッサ要素。
  49. 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項37に記載のプロセッサ要素。
  50. 前記コンピュータシステムの前記プロセッサは複数のプロセッサを含む、請求項37に記載のプロセッサ要素。
  51. 前記フィールド・プログラマブル・ゲートアレイはさらに、前記データ接続を介して前記外部装置から前記フィールド・プログラマブル・ゲートアレイに与えられたデータを変更して、前記変更されたデータを前記メモリモジュールバスに与えるように動作する、請求項37に記載のプロセッサ要素。
JP2003521956A 2001-08-17 2002-05-06 デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート Expired - Fee Related JP4128956B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/932,330 US7373440B2 (en) 1997-12-17 2001-08-17 Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
PCT/US2002/014574 WO2003017118A1 (en) 2001-08-17 2002-05-06 Switch/network adapter port for clustered computers employing a chain of multiadaptive processors in a dual in-line memory module format

Publications (2)

Publication Number Publication Date
JP2005500621A true JP2005500621A (ja) 2005-01-06
JP4128956B2 JP4128956B2 (ja) 2008-07-30

Family

ID=25462158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003521956A Expired - Fee Related JP4128956B2 (ja) 2001-08-17 2002-05-06 デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート

Country Status (7)

Country Link
US (2) US7373440B2 (ja)
EP (1) EP1442378B1 (ja)
JP (1) JP4128956B2 (ja)
AT (1) ATE417321T1 (ja)
CA (1) CA2456179A1 (ja)
DE (1) DE60230309D1 (ja)
WO (1) WO2003017118A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236877A1 (en) * 1997-12-17 2004-11-25 Lee A. Burton Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US7197575B2 (en) * 1997-12-17 2007-03-27 Src Computers, Inc. Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US7464295B2 (en) * 2002-10-11 2008-12-09 Broadcom Corporation Software programmable verification tool having multiple built-in self-test (BIST) modules for testing and debugging multiple devices under test (DUT)
US8108564B2 (en) 2003-10-30 2012-01-31 International Business Machines Corporation System and method for a configurable interface controller
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US8984256B2 (en) * 2006-02-03 2015-03-17 Russell Fish Thread optimized multiprocessor architecture
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7493439B2 (en) * 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
KR20080105390A (ko) * 2007-05-30 2008-12-04 삼성전자주식회사 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치
US9081901B2 (en) * 2007-10-31 2015-07-14 Raytheon Company Means of control for reconfigurable computers
US20090119114A1 (en) * 2007-11-02 2009-05-07 David Alaniz Systems and Methods for Enabling Customer Service
US7886103B2 (en) * 2008-09-08 2011-02-08 Cisco Technology, Inc. Input-output module, processing platform and method for extending a memory interface for input-output operations
EP2366144B1 (en) * 2008-10-15 2015-09-30 Hyperion Core, Inc. Sequential processor comprising an alu array
WO2011066459A2 (en) * 2009-11-25 2011-06-03 Howard University Multiple-memory application-specific digital signal processor
JP5555116B2 (ja) * 2010-09-29 2014-07-23 キヤノン株式会社 情報処理装置、及び、プロセッサ間通信制御方法
US20120117318A1 (en) 2010-11-05 2012-05-10 Src Computers, Inc. Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers
US20120179883A1 (en) * 2011-01-12 2012-07-12 Broadcom Corpotation System and method for dynamically adjusting memory performance
CN102141971B (zh) * 2011-01-13 2012-10-17 哈尔滨工业大学 具有大容量存储功能的1553b硬件定时通讯模块
US20130157639A1 (en) 2011-12-16 2013-06-20 SRC Computers, LLC Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption
US9530483B2 (en) 2014-05-27 2016-12-27 Src Labs, Llc System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem
US9153311B1 (en) 2014-05-27 2015-10-06 SRC Computers, LLC System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59206972A (ja) 1983-05-10 1984-11-22 Toshiba Corp 共有メモリ
US4763294A (en) * 1985-12-19 1988-08-09 Wang Laboratories, Inc. Method and apparatus for floating point operations
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
JPH0821087B2 (ja) 1986-09-30 1996-03-04 日本電信電話株式会社 3次元陰影画像生成処理方法
EP0360527B1 (en) * 1988-09-19 1995-01-04 Fujitsu Limited Parallel computer system using a SIMD method
US4972457A (en) * 1989-01-19 1990-11-20 Spectrum Information Technologies, Inc. Portable hybrid communication system and methods
EP0489504B1 (en) 1990-11-30 1997-03-05 International Business Machines Corporation Bidirectional FIFO buffer for interfacing between two buses
US5265218A (en) 1992-05-19 1993-11-23 Sun Microsystems, Inc. Bus architecture for integrated data and video memory
US5802290A (en) * 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
US5857109A (en) * 1992-11-05 1999-01-05 Giga Operations Corporation Programmable logic device for real time video processing
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US6038431A (en) 1994-03-14 2000-03-14 Matsushita Electric Industrial Co., Ltd Card-type electronic device for adding a data communication function to an apparatus without hardware modification of the apparatus
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5570040A (en) * 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
DE69632272T2 (de) * 1995-06-06 2005-06-23 Optobionics Corp., Naperville Retinal-implantat aus mehrphasigen mikrofotodioden
US5673204A (en) * 1995-07-06 1997-09-30 Sun Microsystems, Inc. Loopback video preview for a computer display
US6148356A (en) * 1995-12-27 2000-11-14 Intel Corporation Scalable computer system
US5889959A (en) * 1996-01-05 1999-03-30 Unisys Corporation Fast write initialization method and system for loading channel adapter microcode
US5903771A (en) * 1996-01-16 1999-05-11 Alacron, Inc. Scalable multi-processor architecture for SIMD and MIMD operations
US5737766A (en) * 1996-02-14 1998-04-07 Hewlett Packard Company Programmable gate array configuration memory which allows sharing with user memory
US6047343A (en) * 1996-06-05 2000-04-04 Compaq Computer Corporation Method and apparatus for detecting insertion and removal of a memory module using standard connectors
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5911778A (en) * 1996-12-31 1999-06-15 Sun Microsystems, Inc. Processing system security
US5915104A (en) * 1997-01-09 1999-06-22 Silicon Graphics, Inc. High bandwidth PCI to packet switched router bridge having minimized memory latency
US5923682A (en) * 1997-01-29 1999-07-13 Micron Technology, Inc. Error correction chip for memory applications
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6094532A (en) * 1997-03-25 2000-07-25 Sun Microsystems, Inc. Multiprocessor distributed memory system and board and methods therefor
US6202111B1 (en) * 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
JPH1115773A (ja) 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
US5966534A (en) * 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US6026478A (en) * 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
US5978862A (en) * 1997-08-08 1999-11-02 Toshiba America Information Systems, Inc. PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
US6633945B1 (en) * 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6076152A (en) * 1997-12-17 2000-06-13 Src Computers, Inc. Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US6052134A (en) * 1997-12-22 2000-04-18 Compaq Computer Corp. Memory controller and method for dynamic page management
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6108730A (en) * 1998-02-27 2000-08-22 International Business Machines Corporation Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket
US6192439B1 (en) * 1998-08-11 2001-02-20 Hewlett-Packard Company PCI-compliant interrupt steering architecture
JP3748723B2 (ja) 1998-11-24 2006-02-22 富士通株式会社 共通化パッケージ
US6326973B1 (en) * 1998-12-07 2001-12-04 Compaq Computer Corporation Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA)
WO2000041182A1 (en) * 1998-12-30 2000-07-13 Intel Corporation Memory array organization
EP1073951A1 (en) * 1999-02-15 2001-02-07 Koninklijke Philips Electronics N.V. Data processor with a configurable functional unit and method using such a data processor
US6295571B1 (en) * 1999-03-19 2001-09-25 Times N Systems, Inc. Shared memory apparatus and method for multiprocessor systems
US6581157B1 (en) * 1999-04-26 2003-06-17 3Com Corporation System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system
US6446192B1 (en) 1999-06-04 2002-09-03 Embrace Networks, Inc. Remote monitoring and control of equipment over computer networks using a single web interfacing chip
US6577621B1 (en) 1999-06-22 2003-06-10 Ericsson Inc. System and method for providing high-speed local telecommunications access
GB2352548B (en) * 1999-07-26 2001-06-06 Sun Microsystems Inc Method and apparatus for executing standard functions in a computer system
US20030068920A1 (en) * 1999-12-14 2003-04-10 Che-Yu Li High density, high frequency memory chip modules having thermal management structures
US6452700B1 (en) * 2001-01-11 2002-09-17 R&Dm Foundation Computer backplane employing free space optical interconnect
AU2003253826A1 (en) 2002-07-08 2004-01-23 Globespanvirata Incorporated Dma scheduling mechanism

Also Published As

Publication number Publication date
EP1442378B1 (en) 2008-12-10
US20020019926A1 (en) 2002-02-14
ATE417321T1 (de) 2008-12-15
EP1442378A1 (en) 2004-08-04
US7373440B2 (en) 2008-05-13
WO2003017118A1 (en) 2003-02-27
JP4128956B2 (ja) 2008-07-30
US7421524B2 (en) 2008-09-02
US20050091434A1 (en) 2005-04-28
CA2456179A1 (en) 2003-02-27
DE60230309D1 (de) 2009-01-22
EP1442378A4 (en) 2006-05-24

Similar Documents

Publication Publication Date Title
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US20180143923A1 (en) Providing State Storage in a Processor for System Management Mode
US7565461B2 (en) Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
JP4921638B2 (ja) メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ
US10157060B2 (en) Method, device and system for control signaling in a data path module of a data stream processing engine
US6829660B2 (en) Supercharge message exchanger
US20060123282A1 (en) Service layer architecture for memory access system and method
US20070136503A1 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
JP2005507115A (ja) マルチコアマルチスレッドプロセッサ
US20090037932A1 (en) Mechanism for broadcasting system management interrupts to other processors in a computer system
JP2001142842A (ja) Dmaハンドシェークプロトコル
US20090006666A1 (en) Dma shared byte counters in a parallel computer
JP4564065B2 (ja) マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能で、大規模な相互接続スキーム
US8224884B2 (en) Processor communication tokens
TW201303870A (zh) 利用快閃記憶體介面的方法及裝置
US7197575B2 (en) Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US8139601B2 (en) Token protocol
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US6957319B1 (en) Integrated circuit with multiple microcode ROMs
JP2006513489A (ja) クラスタ化されたコンピュータシステムのための適応プロセッサノードのスケーラブルな相互接続のためのシステムおよび方法
AU2002356010A1 (en) Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US20200327094A1 (en) Method, System and Apparatus for Enhancing Efficiency of Main Processor(s) in a System on Chip
Wang Analysis of NIC and Test of PCI Multi-Bus Simulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070528

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070727

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080515

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4128956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees