JP2009080799A - 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 - Google Patents
単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2009080799A JP2009080799A JP2008212482A JP2008212482A JP2009080799A JP 2009080799 A JP2009080799 A JP 2009080799A JP 2008212482 A JP2008212482 A JP 2008212482A JP 2008212482 A JP2008212482 A JP 2008212482A JP 2009080799 A JP2009080799 A JP 2009080799A
- Authority
- JP
- Japan
- Prior art keywords
- data elements
- processing
- data
- reconfigurable
- user
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Abstract
【解決手段】マルチプロセッサコンピュータ10は、メモリ相互接続構造14に双方向に結合されるN個のプロセッサ120〜12Nの他に、N個のマルチアダプティブプロセッサ(「MAPTM」)1120〜112Nが結合される。
【効果】サイト訪問者の人口統計データ処理、リアルタイムでのウェブサイト内容の更新、データベース検索、およびe−コマースのアプリケーションに関する他の処理を加速させるのに利用できる。再構成可能かつ標準のマイクロプロセッサはすべて、単一のOSイメージにより制御されるが、ユーザにはマイクロプロセッサのクラスタがオペレーティングシステムの単一のコピーとして見える。
【選択図】図1
Description
この発明は、一般的に、マルチアダプティブプロセッサ(「MAPTM」、左記は、コロラド州、コロラドスプリングスのエス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)の商標)等の複数の処理素子を組込むコンピュータアーキテクチャの分野に関する。より特定的には、この発明は、単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを組込むコンピュータシステムを利用して、ウェブサイトアクセスおよび処理を加速させるためのシステムおよび方法に関する。
この発明の譲受人である、SRC Computers, Inc.は、たとえば、プログラマブルMAP素子として機能するフィールドプログラマブルゲートアレイを利用するマルチアダプティブプロセッサ(「MAPTM」)とともに業界標準のプロセッサを用いるシステムを含む、マルチプロセッサコンピュータシステムの設計および開発における業界のリーダーである。
入力記憶部は、ホストシステムにおけるマイクロプロセッサ12のうち1つからのメモリ書込により、またはMAP DMAにより最初にロードされるメモリチップからなる。バッファ40は、特定の実施例では、72ビット幅および2Mエントリの深さであり得る。これにより、必要な場合、64のビットオペランドとデータ修正のための8つのエラー修正コード(「ECC」)ビットとの記憶が可能となる。ユーザアレイ42により、このバッファ40からオペランドまたは参照データを読出すことができる。データは使用後も破損されず、このためMAP素子112がオペランドを再利用することが可能となる。バッファ40がロードされた後にだけオペランドを読出すことにより、オペランドが時間順にMAP素子112に到達する必要がなくなる。MAP素子112が要求するのは、記憶順序を維持することだけであり、これにより、入力バッファ40に記憶される前にオペランドがばらばらの順序で到達することが可能となる。これはキャッシュライン転送を意味する。キャッシュライン転送とは、典型的には時間による順序で実行することはできないが、未キャッシュ転送の4倍の帯域幅を有し得るものであり、これを用いて入力バッファ40をロードすることができる。
入力バッファ40の内容は、これに対して、制御ブロック46からアドレスおよび読出イネーブル信号を与えることによりアクセスされる。これらのアドレスは、2つの方法のうち1つで生成され得る。第一に、プログラマブルユーザアレイ42によりアドレスビットをアドレス生成部制御ブロック46へ与えることができ、そこで、このアドレスビットは他の制御信号と組合わされ、入力バッファ40へ発行される。これにより、参照データへのアクセスに必要とされるような、バッファ40への極めてランダムなアクセスが可能となる。別のアドレスモードは、スタートアドレス、ストップアドレスおよびストライドを含むスタートコマンドを発行するようユーザに要求する。アドレス生成部制御ブロック46は、次いで、スタートアドレスにおいて入力バッファ40へのアクセスを開始し、ストップアドレスに到達するまで、送り出される最後のアドレスにストライド値を加えることにより、これにアクセスし続けるだろう。これは、同様の要素がアレイから抽出される、ベクトル処理を行なう場合に非常に有用な技術となる可能性がある。ストライドはスタートアドレスとストップアドレスとの間のデルタ未満のいかなる数字でもあり得るので、MAP素子112は、高性能の計算市場において非常に有用なデータ収集機能を極めて容易に行なうことができる。
アレイ42は、MAP素子112の実際の計算機能を実行する。これは、MAP素子112の他の要素に相互接続された1つ以上の高性能フィールドプログラマブルゲートアレイ(「FPGA」)を含み得る。後により詳細に開示されるこの発明の特定の実現例は、500,000を超える使用可能なゲートをもたらす4つのこのような装置を用い得る。これらの構成要素は、選択された構成ROMの内容をFPGAにロードするユーザコマンドにより構成される。構成後、ユーザアレイ42は、これが行うようプログラミングされたいかなる機能も実行することができる。ベクトル処理に対してその性能を最大限にするために、アレイ42は、2つのオペランドのストリームに同時にアクセス可能であるべきである。これは、1つの72ビット幅の入力ポートを入力オペランド記憶部に接続し、第2の72ビット幅のポートをチェーン入力コネクタポート24に接続することにより達成される。このコネクタにより、MAP素子112が、先のMAP素子112によって与えられたデータを用いることが可能となる。チェーンポート24により、単一のMAP素子112アセンブリの能力をはるかに超えるであろう機能を実現することが可能となる。加えて、示される特定の実現例では、オペランドのみがチェーンポート24を介して転送されるので、帯域幅はメインメモリの帯域幅を超え、結果として、固定命令マイクロプロセッサベースのプロセッサ12より性能が優れたものとなり得る。
ユーザアレイ42が結果を生成すると、これを72ビット幅の経路を介して出力結果記憶素子(たとえば、出力FIFO74)へ送り、次にこの出力結果記憶素子が、72ビット幅の読出ポートまたは72ビット幅のチェーンポート24へこのデータを送り、さらに次のMAP素子112に送ることができる。この記憶装置は複数の異なったメモリタイプから作られ得る。FIFO74記憶装置を用いることにより、直ちにホストマイクロプロセッサが読出すことのできない、または出力チェーンポート24を介して次の段階へ送ることのできない結果が一時的に保持されることとなる。この特徴により、チェーンにおけるMAP素子112は異なる周波数で実行することが可能となる。この場合、出力FIFO74は速度整合バッファと同様に機能する。非連鎖動作では、この結果を読出しているマイクロプロセッサを遅延し得る。この場合、FIFO74は、結果が読出されるのを待機する間にMAP素子112が「ストール」する(stalling)ことを防ぐ。この発明の特定の実施例では、72ビット幅および512Kエントリの深さであるFIFO74を用いてもよい。上述の特許出願に開示されるように、出力記憶部はまた、共通メモリに見出されるような真のメモリ装置であり得る。この場合、書込アドレスは、ユーザアレイ42またはアドレス生成部により与えられる必要があり、読出アドレスは、メモリから結果を読出すエンティティにより与えられる必要がある。これはいくらか電気的に複雑である可能性があるが、いかなる順序でも結果にアクセスし得るという利点を有する。
上述の特許出願では、共通メモリに対してDMAを実行するMAP素子112の能力が開示された。この能力を、主にオペランドの動きおよび結果に関して述べたが、同じ概念をコマンドに適用することも可能である。通常一連のコマンドを直接MAP素子112に書込むとされるマイクロプロセッサはまた、同じコマンドを共通メモリにも書込み得る。一連のコマンドの書込の後、マイクロプロセッサはMAP素子112に割込を送ることができる。次いで、MAP素子112は共通メモリからコマンドを読出し、企図されたとおりにこれらを実行し得る。このコマンドリストは、前述の特許出願において特定されるDMA命令を含み得るので、MAP素子112は、さらなるプロセッサ12のいかなる介入もなしに、その入力オペランドをすべて検索し、その結果をすべて記憶し得る。MAP素子112の処理が完了すると、MAP素子112はマイクロプロセッサに割込んで、共通メモリにおいて結果が入手可能であるという信号を送り得る。この態様での動作により、MAP素子112とマイクロプロセッサとの間で要求される相互作用が減じられる。
当初開示されたように、電気的に消去可能なプログラマブルROM(「EEPROM」)または類似の装置を用いて、ユーザアレイ42のための機能のライブラリを保持することができる。MAP素子112自体のROMにこれらのアルゴリズムを配置することにより、ユーザアレイ42の機能を迅速に変更することができる。この態様では、ユーザプログラムは、ボードROMのうち1つに新しい機能をダウンロードし、これによりその内容を更新し、MAP素子112が新しい機能を実行できるようにし得る。特定の実現例では、これは、ライブラリ機能のうちの1つを予約して、EEPROMプログラマの機能を実行することにより達成され得る。ROMを更新するためのコマンドを受取ると、ユーザアレイ42はこの特別の機能を備えるよう構成され、データがMAP素子112入力記憶部(たとえば、入力バッファ40)から読出され、次いで、ROMにロードされて更新処理を完了し得る。
この明細書中に開示されるこの発明のコンピュータシステムの代表的な実現例では、プロセッサ12は、ペンティアム(R)(PentiumTM)(カリフォルニア州、サンタクララ、インテル・コーポレーション(Intel Corporation)の商標)プロセッサを含み得、これらの装置は、戻されたステータスワードを含むMAP素子112に対して送受信されるすべてのアドレスビットおよびデータワードに適用するアクティブな「ロー」論理規則を利用する。
前述のように、4つのユーザFPGA(202、204、206および208)は、一連の水平、垂直および斜めのバスを介して相互接続され、これにより、ユーザアレイ42のための単一のFPGAの容量を超える設計に対して、既存の対称的な内部チップルーティングを最も容易に拡張することが可能となる。示される具体例では、バスのサイズは、少なくとも64ビットのバス幅を維持しつつ、可能な限り多くのピンを利用するよう選択された。
MAPはシステムのメモリアレイに配置され得、アドレスフィールドの一部をデコードするので、プロセッサ12により生成されるアドレスは正確にアセンブルされなければならない。以下の表1は、プロセッサ12およびMAP素子112ボードで見られるアドレスビットの割当を示す。プロセッサボードブリッジ素子は、システムの大きさに基づきMAP素子112に実際に伝送されるビット位置を再割当するだろう。
フィールド選択ビットは、ブリッジ素子から出る2つの最上位アドレスビットであり、これを用いて、メモリスタックにおける4つの可能なメザニン(mezzanine)カードのいずれがアクセスされているかを選択する。すべてのメザニンカードに対するフィールド選択ビットは、P6バスビットA[21:20]の状態により決定される。ビットA21がセットされる場合、MAP素子112動作は進行中であり、フィールド選択ビットは11にセットされる。MAP素子112は、1つのMAP素子112が各セグメントのバンク0になるまで、第1のMAP素子112はセグメント0バンク0にあり、第2の素子はセグメント1バンク0にあり、などとなるように、セマフォ(semaphore)レジスタのちょうど上方に常に配置される。これらは、次いで、セグメント0バンク1に配置され、すべてが配置されるまで同じパターンが続けられる。これにより、これら素子は連続したアドレスブロックに保持される。
次の3つの最上位ビットは、チップ選択ビットである。これらは、通常、メザニンボード上の8つの行のメモリチップのうちいずれが活性化されるかを選択する。MAP素子112については、チップ選択0および1が用いられる。チップ選択0を用いてESDRAMメモリ入力バッファ40に書込み、チップ選択1を用いて制御ブロック46とユーザアレイ42のユーザチップとにアクセスする。
P6バス上の次の19個の最上位ビットは、通常、使用の際にキャッシュラインのメモリチップ内の実際の位置を選択するメモリアドレスビットである。これらのビットのうち5つが、MAP素子112によって、後により詳細に述べられる種々のコマンドにデコードされる。
次の4つの最上位ビットはバンク選択ビットである。これらのビットを用いて、所望のメモリまたはMAP素子112が配置されるセグメント内の特定のバンクを選択する。
次の4つの最上位ビットはトランク選択ビットである。これらのビットの数は、システムにおけるセグメントの数に応じて0から4の範囲にわたる。これらのビットを用いて、所望のメモリまたはMAPを含むセグメントを選択する。未使用のビットは0にセットされる。
次の2つの最上位ビットはワード選択ビットである。これらのビットは、4ワードキャッシュラインの各ワードが用いられている順序を決定する。CS[1:0]が01にセットされる場合、これらのビットはデコードされたコマンドの一部である。
CMD[3:0]は、以下の表2に示されるように、CS[1:0]が01である場合、MAP制御ブロック46チップにより以下のコマンドへデコードされる。このデコードは、トランザクションがREADまたはWRITEのどちらであるかにも依存する。加えて、SEL[2:0]を、後に記載されるRECONおよびLDROMコマンドとともに用いて、8つのROMのいずれが用いられるかを選択する。
MAP素子112がコマンドを能動的に受取らない場合、すべての入力が1にセットされ、すべての内部回路はスタティックに保持される。したがって、「1111」という入来コマンドをどんなものとしてもデコードすることができず、使用することができない。
書込トランザクション中に発行されるこのコマンドにより、制御ブロック46チップがユーザアレイ42のユーザチップに対してグローバルセットリセット(「GSR」)を生成し、制御チップが再プログラミングされる。すべての内部ラッチはリセットされるが、ユーザチップの構成は変更されない。読出されるのを待機していたデータがすべて失われることとなる。
書込トランザクション中に発行されるこのコマンドにより、制御チップが、ユーザアレイ42の4つのユーザFPGAすべてに対するGSR信号を生成する。すべての内部ラッチがリセットされるが、構成は変更されない。いずれのオペランドも失われるが、制御ブロック46チップにおいて読出されるのを待機しているデータは失われることはない。
書込トランザクション中に発行されるこのコマンドにより、制御チップが、ユーザアレイ42の4つのユーザFPGAを、SEL[2:0]により選択されるROMとともに再構成する。依然として処理中のいずれのオペランドも失われるが、制御チップにおいて読出されるのを待機しているデータは失われることはない。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、これ以上オペランドを送らないこととパイプラインをフラッシュ(flush)すべきであることとを知らせる。制御チップはパイプラインカウンタを開始し、パイプラインの深さに達するまで読出データを与え続ける。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、それがユーザ回路に直接送られる有効オペランドを受取っていることを知らせる。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、プロセッサ12がMAP素子112の使用を終えたことを知らせる。制御チップはステータスワードにおけるビジービットをリセットし、新しいユーザを待つ。ユーザ回路に現在ロードされている構成は変更されない。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、SEL[2:0]により特定されるROMがアドレス0で開始する入力バッファ40の内容を再ロードされるべきことを知らせる。これにより、8つのオンボードアルゴリズムのうち1つに不揮発性変化がもたらされることとなる。
このコマンドは書込トランザクション中に発行され、スタートアドレス、ストップアドレス、自動/ユーザ選択およびストライドを入力コントローラに送る。次いで、この入力コントローラが入力バッファ40を制御し、ストップアドレスがヒットされるまで、これらのパラメータを用いてユーザアレイ42のユーザチップにオペランドを転送し始める。この命令に伴うデータワード0は、ビット0から20にスタートアドレス、ビット23から43にストップアドレス、ビット46から51にストライド、および、ビット位置54にユーザ/自動ビットを含む。すべての場合、各ビット群の最下位ビット(「LSB」)は、その値のLSBを含む。
このコマンドは読出トランザクション中に発行されて、ステータスワードをプロセッサ12に戻すようにする。このトランザクションは、LASTOPコマンドの後に続く場合、パイプラインカウンタを増分することはない。ステータスワードの詳細は、後の表4に示される。
このコマンドは読出トランザクション中に発行されて、2つのデータワードをプロセッサ12に戻すようにする。このトランザクションは、LASTOPコマンドの後に続く場合、パイプラインカウンタを増分することとなる。ステータスワードの詳細も表4に示される。
このコマンドは読出トランザクション中に発行されて、ステータスワードおよびデータワードをプロセッサ12に戻すようにする。
SEL[2:0]ビットは2つの目的のために用いられる。RECONまたはLDROMコマンドとともに用いられる場合、これらは、8つのオンボードROMセットのうちいずれがその命令に対して用いられるのかを決定する。これは以下の表3に規定される。
読出トランザクションが発生するたびに、その読出を発行するプロセッサ12にステータスワードを戻す。この64ビットワードの構造は以下のとおりである。
MAP素子112の通常の動作は以下のとおりである。電源投入後、MAP素子112制御ブロック46チップは、それ自体を自動的に構成およびリセットする。ユーザアレイ42の4つのユーザチップにはいかなる構成も存在しない。MAP素子112を用いることを欲するプロセッサ12は、まず、RDSTATコマンドをMAP素子112に送る。
MAP素子112は、ベクトル化されたモードまたはVMAPTMのモード(VMAPはこの発明の譲受人である、SRC Computers, Inc.の商標)で実行する能力を有する。このモードにより、プロセッサ12の介入なしに、1つのMAP素子112からの出力データを、次のMAP素子112のユーザアレイ42におけるユーザチップに直接送ることが可能となる。代表的な実施例では、このリンクまたはチェーンポート24は、最大で800MB/秒で動作し、システムにおけるすべてのMAP素子112を連鎖して接続する。1本のチェーンは、少なくとも2つの、および最大ではこのシステムが含む限りのMAP素子112の連続した群で構成されなければならない。複数の重なり合わないチェーンは共存し得る。
MAP素子112は、システムの動作中にオンボードROMの内容を外部から再ロードし、これによりアルゴリズムを変更することを可能にする能力を有する。ユーザアレイ42における4つのユーザチップすべてに対して同じROMが同時に更新されることに留意されたい。
MAP素子112ユーザアレイ42は、入力メモリバス、入力バッファ40またはチェーンポート24からデータを受けることができる。先に説明および図示されたこの発明の実施例では、これらのいずれかのソースからの64ビットすべてが、制御ブロック46から送られユーザアレイ42のユーザチップにおける入力クロックをイネーブルにする、ライン68上のVALID IN信号(図8)とともに、4つのユーザチップ(図9の202、204、206および208)すべてに送られる。
アルゴリズム動作が完了した後、出力データは、DOUT[00:63]ネットに接続されるピン上でユーザアレイ42のユーザチップにおける64ビットワードに形成される。これらのネットは、最終的にはメモリコントローラまたはチェーンにおける次のMAP素子112に読出データを与える、出力FIFO74(図8)に接続する。64ビットの結果を形成した後、ユーザ回路は「FULL」信号が確実に「ロー」であるようにしなければならない。信号が「ロー」である場合、ユーザアレイ42から制御ブロック46とFIFO74上のFIFO♯WE入力とに「ロー」を与えることにより転送を開始する。
「読出」が発生して「読出」帯域幅を最大限にする前に、3つの結果ワードをユーザアレイ42から転送することができる。出力FIFO74(図8)は、図示される実施例では512kワードを保持することができる。3つのワードが制御ブロック46に保持されると、ステータスワードにおけるワードカウンタはバイナリ「11」を示すこととなる。
システムレベル動作を補助するために、ユーザアレイ42はまた、制御ブロック46にアルゴリズムのパイプライン深さを与えなければならない。この発明の特定の実施例では、これは、データ入力ワードを受取り、このデータを処理し、この結果をFIFO74へ転送し始めるのに必要な100MHzクロックサイクルの数と等しくなるだろう。
。各ROMは、ユーザアレイ42の4つのユーザFPGAのうちの1つに対する構成情報を含む。ユーザアレイ42のユーザチップの各々に8つ以上のROMソケットを割当てることにより、最大8つ以上の固有のアルゴリズムを選択できるようにし得る。8つのROMを利用する実施例では、4つのユーザチップの各々に対してリストにされる第1のROMは、構成0hを選ぶことにより選択され得、最後のROMは構成8hを選ぶことにより選択され得る。
Claims (25)
- インターネットサイトでデータを処理するための方法であって、
前記サイトで、少なくとも1つのマイクロプロセッサおよび少なくとも1つの再構成可能な処理素子を組込む再構成可能なサーバを設けるステップと、
前記サイトで、前記サイトに結合されるリモートコンピュータに関するN個のデータ要素を受取るステップと、
前記再構成可能なサーバで、N個の前記再構成可能な処理素子に対しインスタンス生成を行なうステップと、
前記N個の再構成可能な処理素子のうち対応する要素でもって、前記N個のデータ要素を処理するステップとを含む、方法。 - 前記処理されたN個のデータ要素に応答して前記サイトの内容を選択するステップをさらに含む、請求項1に記載の方法。
- 前記リモートコンピュータに前記内容を伝送するステップをさらに含む、請求項2に記載の方法。
- 前記リモートコンピュータに前記内容を表示するステップをさらに含む、請求項3に記載の方法。
- 前記N個のデータ要素は、前記リモートコンピュータに関する人口統計データを含む、請求項1に記載の方法。
- 前記N個のデータ要素は、前記リモートコンピュータにより前記サイトに伝送されるN個の暗号化されたデータ要素を含む、請求項1に記載の方法。
- 前記N個のデータ要素を処理する前記ステップは、前記N個の暗号化されたデータ要素を解読するステップを含む、請求項6に記載の方法。
- 前記N個のデータ要素はN個のデータベースクエリ要素を含む、請求項1に記載の方法。
- 前記N個のデータ要素を処理する前記ステップは、前記N個のデータベースクエリ要素を処理するステップを含む、請求項8に記載の方法。
- オペレーティングシステムの単一のシステムイメージにより、前記少なくとも1つのマイクロプロセッサと、前記少なくとも1つの再構成可能な処理素子のうち少なくとも一部分とを制御するステップをさらに含む、請求項1に記載の方法。
- インターネット処理加速サービスであって、
前記インターネットに結合される再構成可能なサーバを含み、前記サーバは、少なくとも1つのマイクロプロセッサおよび少なくとも1つの再構成可能なプロセッサを含み、前記インターネット処理加速サービスはさらに、
前記少なくとも1つのマイクロプロセッサと前記少なくとも1つの再構成可能なプロセッサのうち少なくとも一部分とを制御するオペレーティングシステムの単一のシステムイメージと、
前記サーバにより受取られるN個のデータ要素を実質的に並列処理するために、前記少なくとも1つの再構成可能なプロセッサのうち前記少なくとも一部分をN個に対しインスタンス生成を行なう前記サービスとを含む、インターネット処理加速サービス。 - 前記N個のデータ要素は、前記インターネットにより前記サーバに結合されるコンピュータに関する人口統計データを含む、請求項11に記載のサービス。
- 前記サーバは、前記人口統計データに基づき、前記インターネットにより前記コンピュータへ伝送するための内容を選択する、請求項12に記載のサービス。
- 前記N個のデータ要素は、前記インターネットに結合されるコンピュータにより前記サーバに伝送される暗号化されたデータ要素を含む、請求項11に記載のサービス。
- 前記サーバは前記暗号化されたデータ要素を解読するよう動作する、請求項14に記載のサービス。
- 前記N個のデータ要素はデータベースクエリ要素を含む、請求項11に記載のサービス。
- 前記サーバは前記データベースクエリを処理するよう動作する、請求項16に記載のサービス。
- リモートコンピュータのインターネットサイトへのアクセス時間を加速させる処理であって、
前記サイトで、少なくとも1つのマイクロプロセッサおよび少なくとも1つの再構成可能なプロセッサを組込む再構成可能なサーバを設けるステップと、
前記リモートコンピュータから前記サーバにN個のデータ要素を伝送するステップと、
前記少なくとも1つの再構成可能なプロセッサのうちのN個でもって、前記N個のデータ要素を実質的に並行して処理するステップと、
前記N個のデータ要素に応答して前記インターネットサイトの内容を選択するステップと、
前記リモートコンピュータに前記内容を伝送するステップとを含む、処理。 - 前記N個のデータ要素は、前記リモートコンピュータに関する人口統計データを含む、請求項18に記載の処理。
- 前記N個のデータ要素はN個の暗号化されたデータ要素を含む、請求項18に記載の処理。
- 前記N個のデータ要素を実質的に並行して処理する前記ステップは、前記N個の暗号化されたデータ要素を解読するステップを含む、請求項20に記載の処理。
- 前記N個のデータ要素はN個のデータベースクエリ要素を含む、請求項18に記載の処理。
- 前記N個のデータ要素を実質的に並行して処理する前記ステップは、前記N個のデータベースクエリ要素を処理するステップを含む、請求項22に記載の処理。
- オペレーティングシステムの単一のシステムイメージにより、前記少なくとも1つのマイクロプロセッサと、前記少なくとも1つの再構成可能なプロセッサのうち少なくとも一部分とを制御するステップをさらに含む、請求項18に記載の処理。
- 前記リモートコンピュータに前記内容を表示するステップをさらに含む、請求項18に記載の処理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/888,276 US6434687B1 (en) | 1997-12-17 | 2001-06-22 | System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image |
US09/888,276 | 2001-06-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003507716A Division JP4713080B2 (ja) | 2001-06-22 | 2002-05-06 | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009080799A true JP2009080799A (ja) | 2009-04-16 |
JP4990244B2 JP4990244B2 (ja) | 2012-08-01 |
Family
ID=25392899
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003507716A Expired - Lifetime JP4713080B2 (ja) | 2001-06-22 | 2002-05-06 | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 |
JP2008212482A Expired - Lifetime JP4990244B2 (ja) | 2001-06-22 | 2008-08-21 | インターネット処理加速システムおよびデータを処理するための方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003507716A Expired - Lifetime JP4713080B2 (ja) | 2001-06-22 | 2002-05-06 | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6434687B1 (ja) |
EP (1) | EP1402392B1 (ja) |
JP (2) | JP4713080B2 (ja) |
AU (1) | AU2002303661B2 (ja) |
CA (1) | CA2448223C (ja) |
WO (1) | WO2003001396A1 (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996656B2 (en) * | 2002-10-31 | 2006-02-07 | Src Computers, Inc. | System and method for providing an arbitrated memory bus in a hybrid computing system |
US8060926B1 (en) | 1999-03-16 | 2011-11-15 | Novell, Inc. | Techniques for securely managing and accelerating data delivery |
US7904951B1 (en) | 1999-03-16 | 2011-03-08 | Novell, Inc. | Techniques for securely accelerating external domains locally |
US6621804B1 (en) * | 1999-10-07 | 2003-09-16 | Qualcomm Incorporated | Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel |
AU2001270067A1 (en) * | 2000-06-23 | 2002-01-08 | Citerra Technologies, L.L.C. | User services and information management system and method |
US7155602B2 (en) * | 2001-04-30 | 2006-12-26 | Src Computers, Inc. | Interface for integrating reconfigurable processors into a general purpose computing system |
US7908472B2 (en) * | 2001-07-06 | 2011-03-15 | Juniper Networks, Inc. | Secure sockets layer cut through architecture |
US7149892B2 (en) * | 2001-07-06 | 2006-12-12 | Juniper Networks, Inc. | Secure sockets layer proxy architecture |
US7228412B2 (en) * | 2001-07-06 | 2007-06-05 | Juniper Networks, Inc. | Bufferless secure sockets layer architecture |
US7853781B2 (en) * | 2001-07-06 | 2010-12-14 | Juniper Networks, Inc. | Load balancing secure sockets layer accelerator |
US8065720B1 (en) | 2004-01-06 | 2011-11-22 | Novell, Inc. | Techniques for managing secure communications |
US7580837B2 (en) | 2004-08-12 | 2009-08-25 | At&T Intellectual Property I, L.P. | System and method for targeted tuning module of a speech recognition system |
US7299339B2 (en) | 2004-08-30 | 2007-11-20 | The Boeing Company | Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework |
US7472576B1 (en) | 2004-11-17 | 2009-01-06 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Portland State University | Nanometrology device standards for scanning probe microscopes and processes for their fabrication and use |
US7242751B2 (en) | 2004-12-06 | 2007-07-10 | Sbc Knowledge Ventures, L.P. | System and method for speech recognition-enabled automatic call routing |
US7751551B2 (en) | 2005-01-10 | 2010-07-06 | At&T Intellectual Property I, L.P. | System and method for speech-enabled call routing |
US7991984B2 (en) * | 2005-02-17 | 2011-08-02 | Samsung Electronics Co., Ltd. | System and method for executing loops in a processor |
US20070011019A1 (en) * | 2005-07-05 | 2007-01-11 | Netfire1 Pty Ltd | Managed e-commerce trading |
US20070011055A1 (en) * | 2005-07-05 | 2007-01-11 | Netfire 1 Pty Ltd | E-commerce with direct access to real-time inventory |
US8526577B2 (en) * | 2005-08-25 | 2013-09-03 | At&T Intellectual Property I, L.P. | System and method to access content from a speech-enabled automated system |
US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8095735B2 (en) | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8145749B2 (en) * | 2008-08-11 | 2012-03-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US8141102B2 (en) * | 2008-09-04 | 2012-03-20 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US7984267B2 (en) * | 2008-09-04 | 2011-07-19 | International Business Machines Corporation | Message passing module in hybrid computing system starting and sending operation information to service program for accelerator to execute application program |
US8230442B2 (en) | 2008-09-05 | 2012-07-24 | International Business Machines Corporation | Executing an accelerator application program in a hybrid computing environment |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8527734B2 (en) * | 2009-01-23 | 2013-09-03 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system |
US9286232B2 (en) * | 2009-01-26 | 2016-03-15 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses |
US8843880B2 (en) * | 2009-01-27 | 2014-09-23 | International Business Machines Corporation | Software development for a hybrid computing environment |
US8255909B2 (en) * | 2009-01-28 | 2012-08-28 | International Business Machines Corporation | Synchronizing access to resources in a hybrid computing environment |
US20100191923A1 (en) * | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Data Processing In A Computing Environment |
US8001206B2 (en) * | 2009-01-29 | 2011-08-16 | International Business Machines Corporation | Broadcasting data in a hybrid computing environment |
US9170864B2 (en) * | 2009-01-29 | 2015-10-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US8010718B2 (en) * | 2009-02-03 | 2011-08-30 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8037217B2 (en) * | 2009-04-23 | 2011-10-11 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8180972B2 (en) * | 2009-08-07 | 2012-05-15 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment by maintaining remote memory values locally |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US9417905B2 (en) * | 2010-02-03 | 2016-08-16 | International Business Machines Corporation | Terminating an accelerator application program in a hybrid computing environment |
US8578132B2 (en) * | 2010-03-29 | 2013-11-05 | International Business Machines Corporation | Direct injection of data to be transferred in a hybrid computing environment |
US9015443B2 (en) | 2010-04-30 | 2015-04-21 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
WO2012154612A1 (en) | 2011-05-06 | 2012-11-15 | Xcelemor, Inc. | Computing system with hardware scheduled reconfiguration mechanism and method of operation thereof |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US8745626B1 (en) | 2012-12-17 | 2014-06-03 | Throughputer, Inc. | Scheduling application instances to configurable processing cores based on application requirements and resource specification |
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 |
GB2499885B (en) * | 2012-01-17 | 2014-03-05 | Mark Henrik Sandstrom | Application load and type adaptive manycore processor architecture |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9842001B2 (en) | 2012-06-27 | 2017-12-12 | International Business Machines Corporation | System level acceleration server |
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 |
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0281258A (ja) * | 1988-09-19 | 1990-03-22 | Fujitsu Ltd | 並列計算機 |
WO1999031617A2 (en) * | 1997-12-17 | 1999-06-24 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
WO2000029981A2 (en) * | 1998-11-13 | 2000-05-25 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671377A (en) * | 1994-07-19 | 1997-09-23 | David Sarnoff Research Center, Inc. | System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US5715453A (en) * | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5860146A (en) * | 1996-06-25 | 1999-01-12 | Sun Microsystems, Inc. | Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces |
US5987480A (en) * | 1996-07-25 | 1999-11-16 | Donohue; Michael | Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content |
US6128663A (en) * | 1997-02-11 | 2000-10-03 | Invention Depot, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
DE69737750T2 (de) * | 1997-12-17 | 2008-03-06 | Hewlett-Packard Development Co., L.P., Houston | Erst- und Zweitprozessoren verwendetes Verfahren |
US6185612B1 (en) * | 1998-10-29 | 2001-02-06 | Novell, Inc. | Secure distribution and use of weighted network topology information |
-
2001
- 2001-06-22 US US09/888,276 patent/US6434687B1/en not_active Expired - Lifetime
-
2002
- 2002-05-06 EP EP02731698.3A patent/EP1402392B1/en not_active Expired - Lifetime
- 2002-05-06 JP JP2003507716A patent/JP4713080B2/ja not_active Expired - Lifetime
- 2002-05-06 CA CA002448223A patent/CA2448223C/en not_active Expired - Lifetime
- 2002-05-06 WO PCT/US2002/014401 patent/WO2003001396A1/en active Application Filing
- 2002-05-06 AU AU2002303661A patent/AU2002303661B2/en not_active Expired
-
2008
- 2008-08-21 JP JP2008212482A patent/JP4990244B2/ja not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0281258A (ja) * | 1988-09-19 | 1990-03-22 | Fujitsu Ltd | 並列計算機 |
WO1999031617A2 (en) * | 1997-12-17 | 1999-06-24 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
JP2002509302A (ja) * | 1997-12-17 | 2002-03-26 | エス・アール・シィ・コンピューターズ・インコーポレイテッド | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ |
WO2000029981A2 (en) * | 1998-11-13 | 2000-05-25 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
JP2002530747A (ja) * | 1998-11-13 | 2002-09-17 | ファースト サーチ アンド トランスファー エイエスエイ | 処理回路及び検索プロセッサ回路 |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
EP1402392A1 (en) | 2004-03-31 |
CA2448223C (en) | 2007-06-12 |
US6434687B1 (en) | 2002-08-13 |
US20020056033A1 (en) | 2002-05-09 |
CA2448223A1 (en) | 2003-01-03 |
JP4713080B2 (ja) | 2011-06-29 |
JP4990244B2 (ja) | 2012-08-01 |
EP1402392B1 (en) | 2020-12-02 |
JP2004537106A (ja) | 2004-12-09 |
WO2003001396A1 (en) | 2003-01-03 |
AU2002303661B2 (en) | 2008-04-03 |
EP1402392A4 (en) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4990244B2 (ja) | インターネット処理加速システムおよびデータを処理するための方法 | |
AU2002303661A1 (en) | System and method for web server with a reconfigurable processor operating under single operation system image | |
US6339819B1 (en) | Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer | |
JP5364543B2 (ja) | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ | |
US7209996B2 (en) | Multi-core multi-thread processor | |
US7421524B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
AU2001245761A1 (en) | Enhanced memory algorithmic processor architecture for multiprocessor computer systems | |
US20220044123A1 (en) | Embedded Programmable Logic Device for Acceleration in Deep Learning-Focused Processors | |
Lant | Enabling Independent Communication for FPGAs in High Performance Computing | |
CA2515283C (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
AU2002356010A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110920 |
|
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: 20120410 |
|
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: 20120501 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4990244 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |