(57)【要約】適応プロセッサまたは再構成可能なプロセッサベースのクラスタ化された計算システムおよび方法であって、適応プロセッサノードのスケーラブルな相互接続と、少なくとも第１および第２の処理ノードと、第１および第２の処理ノードを結合するクラスタ相互接続とを用い、少なくとも第１のノードは、適応可能な、または再構成可能な処理要素を含む。特定的な実現例において、クラスタ化されたコンピュータの第２の処理ノードは、マイクロプロセッサ、再構成可能な処理要素、または共有メモリブロックを含んでもよく、クラスタ相互接続は、イーサネット（登録商標）、ミリネット（登録商標）、クロスバースイッチなどとして提供され得る。【特許請求の範囲】
【請求項１】
クラスタ化されたコンピュータシステムであって、
少なくとも第１および第２の処理ノードと、
前記第１および第２の処理ノードを結合するクラスタ相互接続とを含み、
少なくとも前記第１の処理ノードは再構成可能な処理要素を含む、クラスタ化されたコンピュータシステム。
【請求項２】
少なくとも前記第２の処理ノードは再構成可能な処理要素を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項３】
少なくとも前記第２の処理ノードはマイクロプロセッサベースの処理要素を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項４】
前記少なくとも第１および／または第２の処理ノードによるアクセスのために、前記クラスタ相互接続に結合される少なくとも１つの共有メモリブロックをさらに含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項５】
前記クラスタ相互接続はイーサネット（登録商標）を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項６】
前記クラスタ相互接続はミリネット（登録商標）を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項７】
前記クラスタ相互接続はクロスバースイッチを含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項８】
前記第１の処理ノードは、周辺インターフェイスを通じて前記クラスタ相互接続に結合される、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項９】
前記第１の処理ノードは、
前記第１の処理ノードを前記クラスタ相互接続に結合するための少なくとも１つの処理要素を含む制御ブロックを含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項１０】
前記制御ブロックは制御ＦＰＧＡを含む、請求項９に記載のクラスタ化されたコンピュータシステム。
【請求項１１】
前記第１の処理ノードは、
デュアルポートメモリブロックを通じて前記制御ブロックに結合される少なくとも１つのユーザアレイをさらに含む、請求項９に記載のクラスタ化されたコンピュータシステム。
【請求項１２】
前記少なくとも１つのユーザアレイはユーザＦＰＧＡを含む、請求項１１に記載のクラスタ化されたコンピュータシステム。
【請求項１３】
前記ユーザＦＰＧＡは、前記第１の処理ノードを別の処理ノードに結合するためのチェーンポートを含む、請求項１２に記載のクラスタ化されたコンピュータシステム。
【請求項１４】
マルチノードコンピュータシステムであって、
クラスタ相互接続と、
前記クラスタ相互接続に結合される再構成可能な処理要素と、
前記クラスタ相互接続に結合されるメモリブロックとを含む、マルチノードコンピュータシステム。
【請求項１５】
前記クラスタ相互接続に結合される別の処理要素をさらに含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項１６】
前記別の処理要素は第２の再構成可能な処理要素を含む、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１７】
前記別の処理要素はマイクロプロセッサベースの処理要素を含む、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１８】
前記再構成可能な処理要素および前記別の処理要素は両方とも前記メモリブロックにアクセスすることができる、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１９】
前記クラスタ相互接続はイーサネット（登録商標）を含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２０】
前記クラスタ相互接続はミリネット（登録商標）を含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２１】
前記クラスタ相互接続はクロスバースイッチを含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２２】
前記再構成可能な処理要素は周辺インターフェイスを通じて前記クラスタ相互接続に結合される、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２３】
前記再構成可能な処理要素は、
前記第１の処理ノードを前記クラスタ相互接続に結合するための少なくとも１つのプロセッサを含む制御ブロックを含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２４】
前記制御ブロックは制御ＦＰＧＡを含む、請求項２３に記載のマルチノードコンピュータシステム。
【請求項２５】
前記再構成可能な処理要素は、
デュアルポートメモリブロックを通じて前記制御ブロックに結合される少なくとも１つのユーザアレイをさらに含む、請求項２３に記載のマルチノードコンピュータシステム。
【請求項２６】
前記少なくとも１つのユーザアレイはユーザＦＰＧＡを含む、請求項２５に記載のマルチノードコンピュータシステム。
【請求項２７】
前記ユーザＦＰＧＡは、前記再構成可能な処理要素を別の処理要素に結合するためのチェーンポートを含む、請求項２６に記載のマルチノードコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願との相互参照
本発明は、本発明の譲受人であるコロラド（Colorado）州コロラドスプリングス（Colorado Springs）のエス・アール・シィ・コンピューターズ・インコーポレイテッド（SRC Computers, Inc.）に譲渡された、２００２年５月９日出願の「少なくとも１つの組込型マイクロプロセッサコアを有するフィールドプログラマブルゲートアレイ制御要素を組込んだ適応プロセッサアーキテクチャ（Adaptive Processor Architecture Incorporating a Field Programmable Gate Array Control Element Having at Least One Embedded Microprocessor Core）」と題された米国特許出願連続番号第１０／１４２，０４５号、および、２００２年１０月２９日出願の「適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ（Computer System Architecture and Memory Controller for Close- Coupling Within a Hybrid Processing System Utilizing an Adaptive Processor
Interface Port）」と題された米国特許出願連続番号第１０／２８２，９８６号に開示された主題に関し、その開示はここに全文が引用により援用される。
【背景技術】
【０００２】
発明の背景
本発明は、一般に、再構成可能な計算システムおよび方法の分野に関する。より特定的には、本発明は、適応プロセッサノードのスケーラブルな相互接続を用いる、適応プロセッサベースのクラスタ化された計算システムおよび方法に関する。
【０００３】
フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）技術における進歩は、適応プロセッサまたは再構成可能なプロセッサをますます強力にしてきた。それらのプロセッサが、自らをある特定の用途に必要とされる回路にのみ再構成する能力は、標準的なマイクロプロセッサと比較して、性能において桁違いに大きい向上をもたらすことが示されてきた。しかしながら、さまざまな理由により、従来の適応プロセッサは、歴史的に、マイクロプロセッサのアクセラレータとして用いられるよう、脇役とされてきた。
【０００４】
その第１の理由は、これまではすべて、マイクロプロセッサホストの入出力（「Ｉ／Ｏ」）ポートを介して接続されるスレーブプロセッサとして提供されてきたことである。結果的にこのようなハイブリッドシステムは、マイクロプロセッサと再構成可能なプロセッサの対が、１対１、または１対数個でなされたものを有していなければならない。さらに、用いられる再構成可能なプロセッサの個数は、ホストマザーボードのＩ／Ｏスロットの個数によって限定され得る。
【０００５】
第２の理由は、これまで提供されてきたものは、ユーザが適応プロセッサボード上のＦＰＧＡの設計を開発するのに、マイクロプロセッサにおいて実行するプログラムを開発するのとは独立にしなければならないという点において、プログラミングが困難なことである。このことは事実上、適応プロセッサの使用を、求められるＦＰＧＡ設計の完成に非標準言語を用いて開発時間を費やしても良いとユーザが考えるような、極めて特殊な機能に限る原因となる。
【０００６】
最後に、再構成可能なプロセッサが１つのＦＰＧＡを有する単一の「ＰＣＩ」（peripheral component interconnect）ボードに存在するか、または、ＦＰＧＡのアレイを含むＩ／Ｏ接続されたシャーシに存在するかにかかわらず、ＦＰＧＡは、その構成時間の長さ
、およびそのホストへの接続性のために、一時に１人のユーザによる１つの用途に関連する作業を強いられる。
【０００７】
これらの要因の各々が、依然として、再構成可能なプロセッサの現在の使用を限定するよう働いている一方で、近い将来この状況を変え得るような開発がなされてきた。第１に、エス・アール・シィ・コンピューターズ・インコーポレイテッドが、ユーザがＣまたはフォートランなどの標準的な高級言語を用いて単一のプログラムを書くことができるような、プロプラエタリなコンパイラ技術を開発した。プログラムは自動的に、マイクロプロセッサのためのコードとＦＰＧＡを構成するためのビットストリームとの両方を含む、単一の実行可能なプログラムにコンパイルされる。これにより、ユーザは、いかなる特別な先験的知識を必要とすることもなく、自動的に、マイクロプロセッサと再構成可能なプロセッサとをともに全く同等に用いることができる。
【０００８】
第２に、たとえば、前述の米国特許出願連続番号第１０／１４２，０４５号に開示されたような、新しく導入された適応プロセッサアーキテクチャは、適応プロセッサそれ自体に直接に、マイクロプロセッサホストに共通して見られる多くの特徴を組込んでいる。それはたとえば、共有可能なダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）、高速のスタティックランダムアクセスメモリ（「ＳＲＡＭ」）のキャッシュライクメモリ、ディスクドライブなどの周辺機器に直接接続するためのＩ／Ｏポート、およびＩ／Ｏ動作を可能にするためのファイルシステムを用いる能力などを含む。
【０００９】
現在では、ＭＡＰ（エス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）シリーズの適応プロセッサなど、これらの新しい適応プロセッサは、マイクロプロセッサに相互接続して、それと共に多くの新規で有利なやり方で動作することもできる。これらの新しい相互接続のいくつかは、たとえば、前述の２００２年１０月２９日出願の米国特許出願連続番号第１０／２８２，９８６号にさらに開示されている。
【発明の開示】
【課題を解決するための手段】
【００１０】
発明の概要
ここに開示されるのは、クラスタ化された計算システムにおける適応プロセッサノードのスケーラブルな相互接続のための手法であって、それにより、マイクロプロセッサミックスに対する適応プロセッサの柔軟性をはるかに大きくし、かつ、複数のユーザが適応プロセッサ、マイクロプロセッサおよびメモリなどのさまざまな補完的機器にアクセスすることが可能となる。
【００１１】
上述のように、適応プロセッサが自身を周辺機器に接続するオンボード知能を有していると、今度は適応プロセッサをクラスタ化された計算システムにおいて自律ノードとして用いることが可能になる。このクラスタは、たとえば、マイクロプロセッサボード、適応プロセッサ、および、所望のクラスタ化または相互接続プロトコルをサポートすることができる「賢い」フロントエンドを有する共有可能なメモリブロックまでもミックスしたものからできていてもよい。
【００１２】
特定的な実現例において、このクラスタ化は、イーサネット（登録商標）、ミリネット（登録商標）などの、業界標準のクラスタ化相互接続を用いて達成され得る。この相互接続を達成するために、エス・アール・シィ・コンピューターズ・インコーポレイテッドから入手可能な、商業用、またはプロプラエタリなクロスバースイッチなどを介してノードを相互接続することもさらに可能である。標準的なクラスタ化相互接続を用いるクラスタ化された計算システムは、さらに、標準的なクラスタ化ソフトウェアを用いて「Beowulf Cluster」を構成し、高速ネットワークによって相互接続される数多くの個別のコンピュ
ータを含む高性能なパラレルコンピュータをもたらすこともできる。
【００１３】
エス・アール・シィ・コンピューターズ・インコーポレイテッドのスイッチを用いて構成されるクラスタ化された計算システムの場合、その開示がここに引用にて援用される、２００２年１０月２３日出願の「クラスタ化されたマルチプロセッサシステムにおいて、異なるノードで動作するプロセスの間で明示的なメッセージの通信を行なうための機構（Mechanism for Explicit Communication of Messages Between Processes Running on Different Nodes in a Clustered Multiprocessor System）」と題された米国特許出願連続番号第１０／２７８，３４５号が、制御のために用いられ得るソフトウェアクラスタ化構成を説明する。この態様で作られたシステムにより、今や適応処理が計算方法の第１標準とされている。この構成は、すべての歴史的な「スレーブ」的な限定を取除き、適応プロセッサが、システムのすべてのリソースに全く同等にアクセスできるようにする。いずれのマイクロプロセッサも、システムのいずれの適応プロセッサまたはメモリブロックにもアクセスすることができるので、所与のユーザはもはや、既に構成された適応プロセッサを用いるために、ある特定のマイクロプロセッサノードで自己のプログラムを実行する必要はない。このやり方では、別のマイクロプロセッサの別のユーザが同じ機能を使いたい場合、または、オペレーティングシステムがコンテキスト切換を実行し、ユーザがシステム上の別のマイクロプロセッサに移る場合に、適応プロセッサボード上のＦＰＧＡは再構成される必要がない。これは、歴史的に適応プロセッサの使用を限定する要因の１つであった、ＦＰＧＡの再構成の際システムで失われる時間を、大幅に最小化する。
【００１４】
ここで特定的に開示されるのは、少なくとも２つのノードを含む、クラスタ化されたコンピュータシステムのためのシステムおよび方法であって、ノードの少なくとも１つは再構成可能なプロセッサ要素、または適応プロセッサ要素である。ここで開示されるいくつかの代表的な実現例において、クラスタ化相互接続は、イーサネット（登録商標）、ミリネット（登録商標）、またはクロスバースイッチを含み得る。本発明によるクラスタ化された計算システムはさらに、少なくとも２つのノードを含むことができ、ノードの少なくとも１つは共有メモリブロックである。
【００１５】
ここで具体的に開示されるのは、クラスタ化されたコンピュータシステムであって、システムは少なくとも第１および第２の処理ノードと、第１および第２の処理ノードを結合するクラスタ相互接続とを含み、少なくとも第１の処理ノードは再構成可能な処理要素を含む。特定的な実現例において、クラスタ化されたコンピュータの第２の処理ノードは、マイクロプロセッサ、再構成可能な処理要素、または共有メモリブロックを含み得る。
【００１６】
添付の図面と関連して扱われる好ましい実施例の下記の説明を参照することにより、本発明に関する前述のおよびその他の特徴および目的、ならびにそれらを達成する態様がより明らかになり、発明それ自体が最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１７】
代表的実施例の説明
図１を参照すると、典型的なＩ／Ｏ接続されたハイブリッド計算システム１００の機能ブロック図が示される。ハイブリッド計算システム１００は、１つ以上のノースブリッジＩＣ１０２0〜１０２Nを含み、その各々がフロントサイドバスによって４つのマイクロプロセッサ１０４00〜１０４03から１０４N0〜１０４N3（これらを含む）に結合される。ノースブリッジＩＣ１０２0〜１０２Nは、それぞれメモリブロック１０６0〜１０６Nに結合され、さらに、対応するＩ／Ｏブリッジ要素１０８0〜１０８Nに結合される。ネットワークインターフェイスカード（「ＮＩＣ」）１１２0〜１１２Nは、それぞれのＩ／Ｏブリッジ１０８0〜２０８NのＩ／Ｏバスをクラスタバスに結合し、これは共通のクラスタ化ハブ（またはイーサネット（登録商標）スイッチ）１１４に結合される。
【００１８】
図示されるように、適応プロセッサ要素１１０O〜１１０Nは、Ｉ／Ｏブリッジ１０８O〜１０８Nの各々に結合され関連付けられる。これはハイブリッド計算システム１００において適応プロセッサ１１０を接続するための既存の手法の中でも最も基本的なものであり、本質的に、標準的なＩ／Ｏポートを介してマイクロプロセッサ１０４に接続することにより実現される。これは比較的実現が容易ではあるが、その結果として適応プロセッサ１１０およびマイクロプロセッサ１０４間の結合は極めて「緩い」ものとなり、その結果、プロセッサバスの帯域幅およびレイテンシに対して、帯域幅は小さくレイテンシは長くなる。さらに、両タイプのプロセッサ１０４，１１０は同じメモリ１０６を共有しなければならないため、適応プロセッサ１１０での性能は著しく低下したものとなる。機能的には、このアーキテクチャでは、現実に生じ得るマイクロプロセッサ２０４と適応プロセッサ１１０と間の対話の量は事実上制限される。
【００１９】
図２を参照すると、マルチ適応プロセッサ要素２００の特定的で代表的な実施例の機能ブロック図が示される。マルチ適応プロセッサ要素２００は、関連する部分において、別個のユーザＦＰＧＡ２０４0および２０４1の対に関連して動作する離散的制御ＦＰＧＡ２０２を含む。制御ＦＰＧＡ２０２ならびにユーザＦＰＧＡ２０４0および２０４1は、この特定的な実現例において、ここではデュアルポートＳＲＡＭバンク２０６0〜２０６5として図示される、複数のＳＲＡＭバンク２０６を通じて結合される。ＤＲＡＭ２０８を含む追加的なメモリブロックもさらに制御ＦＰＧＡ２０２に関連付けられる。
【００２０】
制御ＦＰＧＡ２０２は、μＰ１  ２１２を含む複数の組込型マイクロプロセッサコアを含み、μＰ１  ２１２は電気光学コンバータ２１６によって周辺インターフェイスバス２１４に結合されて、バス２１４の追加的な物理的長によって、いずれかの接続された周辺装置（図示されない）を駆動できるようにする。第２のマイクロプロセッサコアμＰ０  ２１８を用いてマルチ適応プロセッサ要素２００のシステムインターフェイスバス２２０を管理する。簡潔にするために、これは単一の双方向バスとして示されるが、実際には１対の平行な単一方向バスを含み得る。図示されるように、追加的なマルチ適応プロセッサ要素２００が、示されるマルチ適応プロセッサ要素２００と直接通信できるように、チェーンポート２２２をさらに設けることもできる。
【００２１】
図示され、上述されたように、全体的なマルチ適応プロセッサ要素２００アーキテクチャは、その主要な構成要素として、ＦＰＧＡ２０２ならびに２０４0および２０４1という３つのＦＰＧＡ、ＤＲＡＭ２０８、ならびにデュアルポートＳＲＡＭバンク２０６を有する。その設計の中心は、所望の処理を実行するのに必要な論理がロードされた、ユーザＦＰＧＡ２０４0および２０４1である。離散的ＦＰＧＡ２０４0および２０４1を用いることにより、再構成可能な回路の量を最大にすることが可能となる。このマルチ適応プロセッサ要素２００の性能は、ユーザアレイを形成するこのようなＦＰＧＡ２０４を２つ用いることによりさらに高めることができる。
【００２２】
デュアルポートＳＲＡＭバンク２０６を用いて、ユーザアレイ２０４をサポートする極めて高速のバルクメモリが設けられる。その容量を最大にするために、離散的ＳＲＡＭチップが、図示されるように、独立して接続された複数のバンク１０６0〜２０６5に配置され得る。これにより、ＳＲＡＭがＦＰＧＡ２０２および／または２０４に直接組込まれるだけである場合に達成され得るよりも、はるかに大きい容量が得られる。さらに、現在、ここで採用され、開示される、特定的なパッケージングによって達成される多くの入力／出力（「Ｉ／Ｏ」）数により、汎用ＦＰＧＡが６個の６４ビット幅のＳＲＡＭバンク２０６0〜２０６5に相互接続されて、４．８Ｇｂｙｔｅｓ／秒の総メモリ帯域幅を達成することが可能となる。
【００２３】
典型的には、高速ＳＲＡＭ装置のコストは比較的高く、その密度は比較的低い。この事実に対応するために、デュアルポートＳＲＡＭは、アドレスおよびデータのための２つの別個のポートを有する各ＳＲＡＭチップとともに用いられ得る。各チップからの一方のポートは２つのユーザアレイＦＰＧＡ２０４0および２０４1に接続され、他方のポートは制御ＦＰＧＡ２０２として機能する第３のＦＰＧＡに接続される。この制御ＦＰＧＡ２０２はまた、はるかに大きい高速ＤＲＡＭ２０８メモリのデュアル・インライン・メモリ・モジュール（「ＤＩＭＭ」）に接続する。このＤＲＡＭ１０８のＤＩＭＭは、あるバーストモードで用いられる場合、類似の帯域幅を有するＳＲＡＭバンク２０６の２００倍の密度を容易に有し得る。これにより、後にさらに十分に説明されるように、マルチ適応プロセッサ要素２００が、制御ＦＰＧＡ２０２によってＤＲＡＭ２０８からのデータが供給される循環バッファとして、ＳＲＡＭ２０６を用いることが可能となる。
【００２４】
制御ＦＰＧＡ２０２はまた、他のいくつかの機能を実行する。好ましい実施例においては、制御ＦＰＧＡ２０２は、カリフォルニア州（CA）、サンノゼ（San Jose）のザイリンクス・インコーポレイテッド（Xilinx Inc.）社から入手可能である、埋込型パワーＰＣマイクロプロセッサコアを有するバーテックス・プロ（Virtex Pro）のファミリから選択され得る。これらのコアのうちの１つ（μＰ０  ２１８）を用いて、システムインターフェイスバス２２０を介して受信される制御コマンドをデコードする。このインターフェイスは、複数のマルチ適応プロセッサ要素２００を共に相互接続することを可能にする毎秒マルチギガバイトのインターフェイスである。それはまた、ＳＲＣ  ＳＮＡＰカードを用いることにより標準的なマイクロプロセッサボードをマルチ適応プロセッサ要素２００に相互接続することを可能にする。（「ＳＮＡＰ」はエス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標であり、このようなＳＮＡＰカードの代表的な実現例が、エス・アール・シィ・コンピューターズ・インコーポレイテッドに譲渡された、２００１年８月１７日出願の「デュアル・インライン・メモリ・モジュール・フォーマットのマルチ適応プロセッサのチェーンを用いるクラスタ化されたコンピュータのためのスイッチ／ネットワークアダプタポート（Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format）」と題された米国特許出願連続番号第０９／９３２，３３０号に開示され、その開示はその全体が引用によりここに援用される。）このインターフェイスを介して受信されるパケットは、局所的および周辺のダイレクトメモリアクセス（「ＤＭＡ」）コマンドならびにユーザアレイ２０４の構成命令を含むさまざまな機能を実行する。これらのコマンドは、制御ＦＰＧＡ２０２内の埋込型マイクロプロセッサコアのうちの１つによって、および／または、ＦＰＧＡ２０２において他の方法で実現される論理によって処理され得る。
【００２５】
システムインターフェイスバス２２０の有効な帯域幅を増大させるために、いくつかの高速の直列周辺Ｉ／Ｏポートがさらに実現されてもよい。これらの各々は、他のマイクロプロセッサコア（たとえばμＰ１  ２１２）、または、制御ＦＰＧＡ２０２において実現される離散的論理のいずれかによって制御され得る。これらにより、マルチ適応プロセッサ要素２００が、ハードディスク、ディスクの記憶領域ネットワークまたは他のコンピュータ大容量記憶周辺装置に直接接続することが可能となるであろう。この態様で、システムインターフェイスバス２２０の帯域幅を少量のみ用いてデータを移動させることにより、多数のマルチ適応プロセッサ要素２００へのスケーリングをサポートする、極めて効率的なシステム相互接続がもたらされる。いずれかのマルチ適応プロセッサ要素２００に搭載されたＤＲＡＭ２０８は、システムインターフェイスバス２２０を介して他のマルチ適応プロセッサ要素２００によってアクセスされ得るので、いくつかのマルチ適応プロセッサ要素２００にわたって分割されるデータベース検索におけるようなデータの共有が可能となる。
【００２６】
さらに図３を参照すると、本発明による適応ノードのスケーラブルな相互接続を含むクラスタ化された計算システムにおける、あり得る実現例のための自律共有メモリノード３００の機能ブロック図が示される。メモリノード３００は、関連する部分において、マイクロプロセッサコア３０４を組込む制御ＦＰＧＡ３０２を含む。ＦＰＧＡ３０２は、たとえばバンク３０６0〜バンク３０６3などの複数のＤＲＡＭバンクに結合されてもよく、さらに、クラスタ化された計算システム全体のシステムインターフェイス３０８に結合されてもよい。この図において、制御ＦＰＧＡ３０２は自身をクラスタ化媒体に接続する知能を組込む。代表的な実施例において、複数のメモリノード３００を含むクラスタ化された計算システムは、マイクロプロセッサボード、および、所望のクラスタ化または相互接続プロトコルをサポートすることができる「賢い」フロントエンドを有する適応プロセッサをミックスしたものでできていてもよい。
【００２７】
さらに図４を参照すると、本発明による適応ノードのスケーラブルな相互接続の一般化された実現例を含む、クラスタ化された計算システム４００の機能ブロック図が示され、クラスタ化は、イーサネット（登録商標）、ミリネット（登録商標）、または他の適切なスイッチングおよび通信機構などの標準的なクラスタ化相互接続を用いて達成され得る。
【００２８】
クラスタ化された計算システム４００は、関連する部分において、１つ以上のマイクロプロセッサボードを含み、各々はメモリコントローラ４０２0を有し、その各々はフロントサイドバスによって複数のマイクロプロセッサ４０４00〜４０４03に結合される。メモリコントローラ４０２0は、それぞれのメモリブロック４０６0に結合され、さらに、対応するＩ／Ｏブリッジ要素４０８0に結合される。ＮＩＣ４１２0は、それぞれのＩ／Ｏブリッジ４０８0のＩ／Ｏバスをクラスタ化相互接続４１４に結合する。
【００２９】
示されるように、１つ以上の適応プロセッサ要素または再構成可能なプロセッサ要素４１０0は、周辺インターフェイスまたはシステムインターフェイスバスによってクラスタ化相互接続４１４に結合される。同様の態様で、１つ以上の共有メモリブロック４１６0もさらに、システムインターフェイスバスによってクラスタ化相互接続４１４に結合される。代表的な実施例において、クラスタ化相互接続はイーサネット（登録商標）、ミリネット（登録商標）または他の適切な通信機構を含み得る。前者はネットワーク通信の標準であり、同軸ケーブルまたは撚線対ケーブルのいずれかを利用し、たとえばローカルエリアネットワーク（「ＬＡＮ」）などにおいて用いられる。これはＩＥＥＥ規格８０２．３に規定される。後者は、ワークステーション、パーソナルコンピュータ（「ＰＣ」）、サーバ、またはシングルボードコンピュータのクラスタを相互接続するのに広く用いられている、高性能のパケットベースの通信およびスイッチング技術である。これは米国標準規格（American National Standard）ＡＮＳＩ／ＶＩＴＡ  ２６−１９９８に規定される。
【００３０】
以上、本発明の原理について、適応ノードおよびクラスタ化されたコンピュータシステムの具体的な構成との関連において説明したが、以上の説明は単に例としてなされたものであり、本発明の範囲を限定するものではないことが明らかに理解されるであろう。特に、以上の開示の教示が当業者に対して他の変形を示唆するであろうことが認識される。このような変形は、それ自体で既に公知であって、ここに既に説明された特徴の代わりに、またはこれに追加して用いられ得る、他の特徴を含み得る。本願においては、請求項を特定の特徴の組合せに対して作成してあるが、ここでの開示の範囲は、明示的または暗示的に開示された新規な特徴もしくは新規な特徴の組合せ、または当業者には明らかであろうその一般化もしくは変形をも含み、かつこのようなものがいずれかの請求項において現在クレームされている同じ発明に関係するか否か、および本発明が直面する同じ技術的問題のうちいずれかまたはすべてを緩和するか否かにはかかわらないことが理解されるべきである。出願人は、これにより、本願またはここから導き出されるあらゆるさらなる出願についての手続中に、上記のような特徴および／または上記のような特徴の組合せに対して
新たな請求項を作成する権利を留保する。
【図面の簡単な説明】
【００３１】
【図１】複数のマイクロプロセッサおよび適応プロセッサを含み、後者はＩ／Ｏブリッジに結合される、典型的なＩ／Ｏ接続されたハイブリッド計算システムの機能ブロック図である。
【図２】１対のユーザＦＰＧＡおよびデュアルポートスタティックランダムアクセスメモリ（「ＳＲＡＭ」）の６つのバンクと関連する、組込みプロセッサコアを有するフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）制御要素を組込んだ、マルチ適応プロセッサ要素の特定的で代表的な実施例を示す機能ブロック図である。
【図３】メモリ制御ＦＰＧＡは自身を周辺機器に接続するための知能を組込む、本発明による適応ノードのスケーラブルな相互接続を含むクラスタ化された計算システムにおける、あり得る実現例のための自律知能共有メモリノードの機能ブロック図である。
【図４】イーサネット（登録商標）、ミリネット（登録商標）、クロスバースイッチなどの標準的なクラスタ化相互接続を用いてクラスタ化が達成され得る、本発明による適応ノードのスケーラブルな相互接続の一般化されたあり得る実現例を含む、クラスタ化された計算システムの機能ブロック図である。
【図１】
2006513489.tif 000002
【図２】
2006513489.tif 000003
【図３】
2006513489.tif 000004
【図４】
2006513489.tif 000005
【手続補正書】
【提出日】平成16年11月10日(2004.11.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラスタ化されたコンピュータシステムであって、
少なくとも第１および第２の独立した処理ノードと、
前記第１および第２の処理ノードを結合するクラスタ相互接続とを含み、
少なくとも前記第１の処理ノードは再構成可能な処理要素を含む、クラスタ化されたコンピュータシステム。
【請求項２】
少なくとも前記第２の処理ノードは再構成可能な処理要素を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項３】
少なくとも前記第２の処理ノードはマイクロプロセッサベースの処理要素を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項４】
前記少なくとも第１および／または第２の処理ノードによるアクセスのために、前記クラスタ相互接続に結合される少なくとも１つの共有メモリブロックをさらに含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項５】
前記クラスタ相互接続はイーサネット（登録商標）を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項６】
前記クラスタ相互接続はミリネット（登録商標）を含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項７】
前記クラスタ相互接続はクロスバースイッチを含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項８】
前記第１の処理ノードは、周辺インターフェイスを通じて前記クラスタ相互接続に結合される、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項９】
前記第１の処理ノードは、
前記第１の処理ノードを前記クラスタ相互接続に結合するための少なくとも１つの処理要素を含む制御ブロックを含む、請求項１に記載のクラスタ化されたコンピュータシステム。
【請求項１０】
前記制御ブロックは制御ＦＰＧＡを含む、請求項９に記載のクラスタ化されたコンピュータシステム。
【請求項１１】
前記第１の処理ノードは、
デュアルポートメモリブロックを通じて前記制御ブロックに結合される少なくとも１つのユーザアレイをさらに含む、請求項９に記載のクラスタ化されたコンピュータシステム。
【請求項１２】
前記少なくとも１つのユーザアレイはユーザＦＰＧＡを含む、請求項１１に記載のクラスタ化されたコンピュータシステム。
【請求項１３】
前記ユーザＦＰＧＡは、前記第１の処理ノードを別の処理ノードに結合するためのチェーンポートを含む、請求項１２に記載のクラスタ化されたコンピュータシステム。
【請求項１４】
マルチノードコンピュータシステムであって、
少なくとも第１および第２の独立した処理ノードと、
前記第１および第２の処理ノードを結合するクラスタ相互接続と、
前記クラスタ相互接続に結合される再構成可能な処理要素と、
前記クラスタ相互接続に結合されるメモリブロックとを含む、マルチノードコンピュータシステム。
【請求項１５】
前記クラスタ相互接続に結合される別の処理要素をさらに含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項１６】
前記別の処理要素は第２の再構成可能な処理要素を含む、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１７】
前記別の処理要素はマイクロプロセッサベースの処理要素を含む、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１８】
前記再構成可能な処理要素および前記別の処理要素は両方とも前記メモリブロックにアクセスすることができる、請求項１５に記載のマルチノードコンピュータシステム。
【請求項１９】
前記クラスタ相互接続はイーサネット（登録商標）を含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２０】
前記クラスタ相互接続はミリネット（登録商標）を含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２１】
前記クラスタ相互接続はクロスバースイッチを含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２２】
前記再構成可能な処理要素は周辺インターフェイスを通じて前記クラスタ相互接続に結合される、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２３】
前記再構成可能な処理要素は、
前記第１の処理ノードを前記クラスタ相互接続に結合するための少なくとも１つのプロセッサを含む制御ブロックを含む、請求項１４に記載のマルチノードコンピュータシステム。
【請求項２４】
前記制御ブロックは制御ＦＰＧＡを含む、請求項２３に記載のマルチノードコンピュータシステム。
【請求項２５】
前記再構成可能な処理要素は、
デュアルポートメモリブロックを通じて前記制御ブロックに結合される少なくとも１つのユーザアレイをさらに含む、請求項２３に記載のマルチノードコンピュータシステム。
【請求項２６】
前記少なくとも１つのユーザアレイはユーザＦＰＧＡを含む、請求項２５に記載のマルチノードコンピュータシステム。
【請求項２７】
前記ユーザＦＰＧＡは、前記再構成可能な処理要素を別の処理要素に結合するためのチェーンポートを含む、請求項２６に記載のマルチノードコンピュータシステム。
【国際調査報告】
2006513489.tif 000006
2006513489.tif 000007