JP5490120B2 - ストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステム - Google Patents

ストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステム Download PDF

Info

Publication number
JP5490120B2
JP5490120B2 JP2011523393A JP2011523393A JP5490120B2 JP 5490120 B2 JP5490120 B2 JP 5490120B2 JP 2011523393 A JP2011523393 A JP 2011523393A JP 2011523393 A JP2011523393 A JP 2011523393A JP 5490120 B2 JP5490120 B2 JP 5490120B2
Authority
JP
Japan
Prior art keywords
stream
cluster
supernode
kernel
physical computing
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.)
Active
Application number
JP2011523393A
Other languages
English (en)
Other versions
JP2012500432A (ja
Inventor
シェンフェルド、オイゲン
スミス、サード、トーマス、バジル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012500432A publication Critical patent/JP2012500432A/ja
Application granted granted Critical
Publication of JP5490120B2 publication Critical patent/JP5490120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明はデータ処理システムに関し、より具体的にはストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステムに関する。
コンピュータ・システムの性能に対する通信の影響は、マクロ・レベル(例えば、ブレード・サーバ及びコンピュータのクラスタ)でも、ミクロ・レベル(例えば、多数のコアを有する単一のプロセッサ・チップ)でも増大し続けている。計算に対する従来の手法は、キャシュメモリの階層を介してメインメモリへのアクセス時間を減らすことに依存するものであり、収穫逓減点に到達しつつある。これは部分的に、処理コアの速度に対するI/Oデータ伝送の増大する待ち時間、並びに、キャシュメモリ及びグローバル通信線によって要求されるオンチップ電力損失の増加部分(制限される)のために真実である。その一方で、オンチップ電力損失の厳しい制約は多くの主要な半導体企業をマルチ・コア又はチップ・マルチプロセッサ(CMP)アーキテクチャに移動させている。CMPの出現は、今度は、2つの重要な領域における通信インフラに更なる課題を課している。特に、CMP内の処理コア数の増大がチップ内通信及びチップ間通信の両方に対する帯域幅要件を激化させている。更に、CMPアーキテクチャは、従来のシングルコア・プロセッサ・チップに比べて、プログラミングの複雑さ及び最終的生産性を非常に増加させる。
CMPアーキテクチャ及びソフトウエア管理のキャッシュメモリ編成に基づくシステムに対する代替的計算モデル手法として、ストリーム処理法が最近出現した。多種類の重要なアプリケーション、例えば、ディジタル信号処理及びマルチメディア・アプリケーションは、データベースにおいて典型的な複雑なデータ記録に対するよりランダム化されたアクセスとは対照的に、並列に処理することができる規則的なデータ構造体の長いシーケンスに対するかなり規則的なアクセスを示す。これらのアプリケーションに対して、ストリーム処理と、例えばnVidia(登録商標)及びAMD/ATIグラフィック処理ユニット(GPU)、又はIBM(登録商標)のセル・ブロードバンド・エンジンなどの特殊用途プロセッサとの組合せが、汎用CMPアーキテクチャに適用される従来の計算パラダイムよりも高い性能と低電力消費を提供する可能性を有する。
ストリーム計算グラフの例を図1に示す。グラフ100はカーネル(102A,102B,及び102C)と呼ばれる計算ノードから構成され、カーネルは一つのカーネルから別のカーネルへ移動するデータ・ストリームを表すエッジ104A/104Bによって接続される。カーネルはデータ・ストリームについての計算を行うソフトウエア・コード要素を参照する。図1のグラフ100において、これらのデータ・ストリームは単方向性である。即ち、データは、矢印で示すように図の左側から右側に移動する(流れる)。カーネルは次の3つの型、ソース102A(計算グラフへの入力として生成されるデータ・ストリームの源を表す)、シンク102B(一つのストリーム又は複数のストリームの形状をもたらす終点を表す)、及び正規のカーネル102Cのうちの一つであり得る。カーネル(102A−102C)は一つ又は複数の入力ストリーム104Aを有することができ、その特定の計算の結果として一つ又は複数の出力ストリーム104Bを生成することができる。
典型的にはストリーム計算グラフ(例えばグラフ100)は、コンピュータ処理問題(例えば、いくつかのイベントの検出、又は入力データ・ストリーム間のパターン及び複雑な関係−株の金融取引、感覚データの相関など)に対する解を表す。グラフは、データ・ストリームが計算カーネルで処理されている間存続し、これは通常非常に長い時間(数時間若しくはそれ以上、又は無期限)となる。したがって、このグラフのトポロジーは固定されていると考えられる。
そのようなストリーム計算グラフを取り扱う際の一つの課題は、計算ノード(例えばカーネル102A−102C)を、コンピュータ処理システムの物理計算ノードに割り当てることができるようなグループにどのようにグループ分けするかを決定することである。そのようなグループ分け(スケジューリング、埋め込みとしても知られる、又はグラフ理論において、グラフ縮約として知られるグラフ理論的変換)を行うための多くの可能な方法がある。図1に示すように、影付きのグループ(110A−110C)は、一つのグループ(例えばグループ118B)に割り当てられたカーネルが、一つの物理計算ノードの内部又は高速ローカル通信ネットワークにより又はそれを用いて密結合されたノードのクラスタの内部にあることになるようなカーネルのグループ分けを表す。したがって、カーネルの一つのそのようなグループから別のグループへ通過する全体の集合ストリームをグループ間の一つの接続と見なすことができる。グラフ理論の用語では、正規の計算ノード(カーネル)がその内部に折り畳まれたスーパーノードと見なすことができる。この種のグループ分けをストリーム計算グラフ内のすべての計算ノードに対して行うことができる。ストリーム計算グラフのカーネル間のエッジで表されるストリームは、同様に、スーパーノード間を通過する全データ・ストリームの和を表すスーパーエッジ内に折り畳むことができる。
一例として、図1に示すように、スーパーノード110C及び110Bは、スーパーノード110Bと110Cの間を(左から右に)通過する3つのストリームを共有する。それらをここではスーパーノード110Bと110Cの間を接続する一つのストリームと見なすことができる。実際には、元のデータ・ストリームがストリーム計算システムの物理通信ファブリックにより集められ、その結果スーパーノード110Bにおける進入点がカーネルの一グループ(例えばスーパーノード110B内のカーネル)からの3つのストリームを多重化して一つのストリームにすることになり、他方の末端でカーネルのグループ(スーパーノード110C内のカーネル)がこれら3つのストリームを逆多重化して元に戻し、それらを適切なカーネルにローカルに接続して、一つの物理計算ノード又はそのようなノードのクラスタ内にマッピングされるようにすることになる。
このストリーム処理パラダイムを、財務、データ・マイニング、及び計算生物学などの種々の分野における特定の大規模アプリケーションへ拡張する関心が高まっている。この拡張には単一のGPU類似のプロセッサ上での単一のストリーム・アプリケーションの実行以上のことを行う必要があるが、その代わりに、多くのプロッセサが高速相互接続ネットワークで相互接続される大きな拡張可能なストリーム処理システム(SPS)を構築することを含む。しかしながら、大きな拡張可能なストリーム処理システムを構築することは種々の障害、例えば、伝送帯域幅の増大の問題、並びにメモリ内の大きなデータセットへの処理ノードからのアクセス時間の増加等に遭遇する。
したがって、上記の障害を克服する改良されたストリーム処理アーキテクチャを提供することが望まれる。
本発明の一実施形態によれば、ストリーム処理コンピュータ・アーキテクチャを実装する方法は、ストリーム・コンピュータ処理(SCP)システムを作成することを含む。SCPシステムは、スーパーノード・クラスタ内の物理計算ノードを表すプロセッサのスーパーノード・クラスタを形成し、ローカル相互接続手段を介してスーパーノード・クラスタ内のプロセッサの各々を通信可能に結合し、そして多重光外部リンクを介してスーパーノード・クラスタを光回路スイッチ(OCS)に通信可能に結合することによって作成する。OCSは、他のスーパーノード・クラスタから光回路スイッチへの他の多重外部リンクを介して他の物理計算ノードを表すプロセッサを含む他のスーパーノード・クラスタに、通信可能に結合する。本方法はまた、カーネル及びデータ・ストリームを含むストリーム計算グラフを生成することを含む。本方法はストリーム計算グラフをSCPシステムへマッピングすることを更に含み、このマッピングは、計算のカーネルを各々のスーパーノード・クラスタに、及び各々のスーパーノード・クラスタのそれぞれの物理計算ノードに割り当てることと、データ・ストリームが同じスーパーノード・クラスタ内の物理計算ノード間にあるとき、カーネル間のデータ・ストリーム・トラフィックをローカル相互接続手段に割り当てることと、データ・ストリームが異なるスーパーノード・クラスタ内の物理計算ノード間にあるとき、カーネル間のデータ・ストリーム・トラフィックを光外部リンクに割り当てることとを含む。本方法はまた、割り当てに対応してマッピングされたクラスタ間に接続性をもたらすようにOCSを構成することを含む。
付加的な特徴及び利点が本発明の技術を通して実現される。本発明の他の実施形態及び態様は本明細書で詳細に説明され、特許請求される本発明の一部分と見なされる。これらの利点及び特徴を有する本発明をより良く理解するには、その説明と図面を参照されたい。
本発明と見なされる主題事項は、本明細書の結論部にある特許請求の範囲において特に指摘され明確に特許請求される。本発明の前述並びに他の特徴及び利点は、添付の図面に関連して行われる以下の詳細な説明から明らかとなる。
ノードのグループ分けを伴う従来のストリーム計算グラフである。 本発明の例示的な一実施形態によるストリーム・コンピュータ・システムの略図である。 本発明の例示的な一実施形態におけるストリーム・コンピュータ・システムのストリーム処理アーキテクチャを作成し管理するためのプロセスを説明するフロー図である。 計算グラフの一例として2分木トポロジーを含むストリーム計算グラフを示し、これは、例示的な実施形態において、そのカーネルがどのようにスーパーノードにグループ分けされるか、及びこれらのスーパーノードがどのように相互接続されるかを示す。 例示的なストリーム計算グラフがマッピング又は埋め込まれる例示的なストリーム・コンピュータ・システムを示す。 例示的なストリーム計算グラフを示す。
ストリーム・コンピュータ・システムのための相互接続ストリーム処理アーキテクチャ、及び相互接続アーキテクチャを実装するためのプロセスを、本発明の例示的な実施形態によって開示する。相互接続アーキテクチャは2種類のネットワークから構成され、それらは互いに他方の機能を補完し、密結合された処理ノードのグループ間の接続性に対応する。そのようなグループ又はクラスタは、様々なプロトコル、並びに静的及び動的なネットワーク・トポロジー(例えば、2D/3Dメッシュの階層的に完全に接続されたスイッチ型ファブリック)を用いてローカルに相互接続することができる。ネットワーク及びスイッチの機能をプロセッサ・チップ内に組み込むことができ、その結果、外部スイッチを使わず直接にプロセッサ・チップを互いに相互接続してクラスタを構成することができる。そのような技術及びプロトコルの一例は、ハイパー・トランスポート3(HT3)である。パッケージ分けの限界、通信速度及び相互接続の許容可能な距離が、全体の電子ファブリックの大きさを制限するので、限られた数のプロセッサだけをクラスタ内で直接接続することができる。超高レベルの性能(例えば、エクサスケール)を達成するには、一つのシステム内に最大100,000個の相互接続された次世代型マルチコア・プロセッサ・チップを必要とする可能性がある。一つのクラスタは、一つのラック内部にパッケージされた100個又はそれ以下のプロセッサ・チップに制限される可能性があると同時に、約1、000又はそれ以上のそのようなクラスタを相互接続する必要があり得る。例示的な一実施形態において、高帯域幅を有しより長距離に達するクラスタ間接続には光信号伝送を利用することになり、そしてストリーム処理アーキテクチャには微小電気機械システム(MENS)型のOCSを利用してこれらのクラスタの間を接続する。
多くの大型装置内のノード・スイッチ間の接続性は、必要な帯域幅と距離をもたらすように光学的であるが、大基数の電気スイッチ・ファブリックが用いられている(例えば, インフィニバンド又は10Gイーサーネット・プロトコル及びスイッチ)。これらは、通信が電気的から(プロセッサ・クラスタから)光学的へ、次に電気的(スイッチに対して)へ、次いで光学的(スイッチから出るように)へと変換され、最後に電気的通信に戻される(宛先のクラスタにおいて)ので、一つの経路に対して少なくとも2つの光送信機(Tx)と2つの受信機(Rx)を必要とするのに対して、本明細書で説明する例示的な実施形態の光スイッチは一つのTxと一つのRxのみを必要とし、その理由は、このスイッチがミラーにより光信号を直接屈折させることができるためである。大基数の電気スイッチは、必然的により小さな基数の構成ブロックから構成する必要があり、これは、電気スイッチが大きくなり、電力を必要とする傾向を意味する。光回路スイッチは遥かに大きな単一のスイッチ基数を有することができ、著しく小型で低電力消費となる見込みがある。
例示的な一実施形態において、クラスタを形成する密結合のプロセッサのグループは、OCSネットワーク及び光トランシーバを用いて、SPS内の他のそのようなクラスタに相互接続される。このOCSネットワークはミリ秒オーダーの時間スケールで切り替え可能なフレキシブルな2地点間通信を可能にする。次世代のプロセッサの帯域幅は増大することになるので、OCSアーキテクチャの使用により、次世代のより高い帯域幅の必要性及びプロトコルを、同じスイッチング・ネットワークでサポートすることが可能となる。OCSネットワークは、パケット交換ネットワークを通しての経路指定と同じように急速に回路接続性を変更することは必要としない。回路接続の調節は、ノード間の作業負荷を分散するために作業場所を変更するときに行う必要があるだけである。SPSが行う計算の特質は、それらの通信パターン及び持続時間が、OCSの比較的長いスイッチング時間(ミリ秒)を償却するのに十分なほど、かなり長時間(例えば、数分又は数時間)安定することである。異なるプロセッサ内で行われる計算に対する負荷分散のための作業配置の調整は、頻繁には起らない動作である(計算自体の高コストと複雑性のため)ので、この例示的なストリーム処理アーキテクチャは、OCS相互接続技術の特別な機能に対して必要なSPSの特性の間に、全体の性能に顕著な障害を与えずに一意的に調和する。実際にこのネットワークを用いれば、一旦再構成されると、キューの輻輳も競合も無く、プロトコル及びデータ帯域幅に対する透明性を有するので、より良好な通信待ち時間をもたらすことができる
次に図2を参照して、これから例示的なストリーム処理アーキテクチャを有するストリーム・コンピュータ・システム200を例示的な実施形態において説明する。ストリーム・コンピュータ・システム200は、相互に接続されてマルチプロセッサ202を形成する個々の物理計算ノード201から構成される。多数のこれらプロセッサ202は一緒にグループ分けされてスーパーノード・クラスタ204(本明細書では「スーパーノード」及び「クラスタ」とも呼ぶ)を形成する。クラスタ204内のプロセッサ(及びそれぞれの物理計算ノード)は既知の高速相互接続手段206によりローカルに接続され、その接続手段は、クラスタ内のプロセッサ202の物理計算ノード間のあるトポロジーを有する直接接続ネットワーク、又はスイッチ、又はキャシュ・コヒーレント・対称マルチプロセッサ(SMP)ファブリックを介するメモリを通したもの、又は上記の組合せとすることができる。プロセッサ202の各クラスタ204は多数の光外部リンク208を共有する。これらの外部リンクは超高帯域幅において2地点間接続を最適化するように構成される。この最適化は、使用する物理的実装法において、かかる高帯域幅を容易にするように選ばれたプロトコルにおいて、低遅延のクラスタ間リンクにおいて行うことができ、一つの物理リンク内、又は数個の物理リンクから構成される一つの高帯域幅物理リンクのように見える多重物理リンク内の、多重ストリームの集合体をサポートする能力を有する。これらの外部リンクは、プロトコル、データ又はそのコンテンツを認識しない全て光スイッチにより切り替えられる回路であるので、これらは極めて軽量の通信プロトコルを使用する必要がある。更に、これらの外部リンクの物理特性はWDM(波長分割マルチプレクサ)内で多重光波長の使用を必要とする可能性があり、それら全ては一つのファイバ又は一つの外部リンク内で結合されるが、両端では分離できる。ミラー型のMEMS OCSは、これらの外部リンク内の光線を、それらの波長数、プロトコル及び信号速度に関係なく、光学ドメインにおいて屈折する。これらの外部リンクはクラスタ内の全ての計算ノードに共通となり、その結果、クラスタ204内のいずれの物理計算ノード201も、これら外部リンク208の一つ又は全ての上の情報を、直接的に、又はローカルに相互接続されたクラスタ・ファブリック206を通過させることにより、伝達することができる。一つの例示的な実施形態において、回路切り替えスイッチ210が使用される。回路切り替えスイッチ210は頻繁に切り替える必要がないので、遙かに簡単に構築することができ、種々の技術(例えば、すべて光学的なMEMSミラーに基づく)を用いて複数のクラスタ204の間を動的に接続することができる。任意の所与の時間におけるこれらクラスタ204間の特定の接続は、所与のストリーム計算グラフに基づいて最適化され、その計算は、物理計算ノード201及び接続中のクラスタ204によって行われる。
これらの型の外部リンク208及び動的な切り換えは、必要に応じて動的に切り替わる超高スループット(高帯域幅)の接続性を可能にする。マルチ・コア処理チップは、それらを他のそのような物理的処理ノード又はメモリ・サブシステムに相互接続するために超高帯域幅ネットワークを必要とするので、本発明の例示的なストリーム処理アーキテクチャは、ストリーム処理計算グラフ及びそれらの比較的一定した性質により、特に機能的に可能となる機構を提供するのに極めて重要な役割を果たす。このことは、パケットを再検査する必要が無く、パケット当たり1パケットの原則に基づいて経路指定を行うので、より効率的な経路指定をもたらす。回路スイッチ210の構造はそのような機能に対して最適化することができ、適切な技術(例えば、全て光学的な回路切り替え)によって、大量の情報(ストリーム)を、極めて低電力でコスト効率よく、効率的に処理することができる。
図2に示す略図は、システム内のデータの主コンジットのみを描いていることに留意することも重要である。システム内の全てのクラスタ/計算ノードの間の完全な接続性を与える別のより低速のネットワーク(図示せず)もまた、余り多忙でない接続を取り扱うため、並びに制御及び他の低帯域幅通信のために設けられることを理解されたい。従って、パケット切り替えネットワークは、例えば、最小のデータを伝達するように決定されたデータ・ストリーム(例えば104)を転送するのに使用することができる。その決定は閾値関数(例えば、所定の時間内に通過するデータの限定数、又は特定の計算若しくは他のそのようなシステム及び動作関連パラメータに関する優先度の関数)を指定することにより行うことができ、その場合、一旦閾値に達すると、ストリームは回路スイッチ型ネットワークを通して経路指定される。それ故、ストリームの経路指定は全てパケット切り替えネットワークを通過するように割り当てられて開始することができるが、計算が進行して、一つのストリーム内でより高い帯域幅が転送されると、それらは、回路切り替えネットワークを形成する外部リンクを通過すようにリダイレクトされることになる。
次に図3を参照して、ストリーム処理アーキテクチャを実装するプロセスを説明するフロー図を、例示的な実施形態において説明する。図3のフロー図において、ステッ302−306は例示的なストリーム・コンピュータ処理システムを作成することに向けられる。ステップ308は例示的なストリーム計算グラフを生成することに向けられ、ステップ310−316はストリーム計算グラフをストリーム・コンピュータ処理システムにマッピングすることに向けられ、ステップ318は、ストリーム・コンピュータ処理システムに対してストリーム計算グラフを実行することに向けられる。
ここでストリーム・コンピュータ処理システムの作成について説明する。ステップ302において、プロセッサ(例えば、図2のプロセッサ202)のスーパーノード・クラスタを形成する。ステップ304で、既知のローカル相互接続手段(例えば図2のネットワーク206)を介してスーパーノード・クラスタ内のプロセッサの各々を通信可能に結合する。この既知のローカル相互接続手段は、例えば、直接接続、又はキャシュ・コヒーレント対称マルチプロセッサ(SMP)ファブリックを介するメモリを通して、又はスイッチ、又はそれらの組合せを用いて実装することができる。
ステップ306において、一つ又は複数の光外部リンク(例えば、リンク208)を介して、スーパーノード・クラスタ(例えば、図2のクラスタ204)を一つ又は複数の光回路スイッチ(例えば、図2のスイッチ210)に通信可能に接続する。光回路スイッチは、他の物理計算ノードを含むプロセッサの他のスーパーノード・クラスタに、そのスーパーノード・クラスタから光回路スイッチへの光外部リンクを介して、通信可能に結合される。
上記のように、ストリーム計算グラフは、ステップ302−306において作成されたストリーム計算システムに対して、ステップ308において生成される。ストリーム計算グラフはカーネル及びデータ・ストリームを含む。カーネルは、対応するカーネルへ入力する一つ又は複数のデータ・ストリームについての計算を実行するソフトウエア・コード要素を表す。図4は2分木トポロジーを有するストリーム計算グラフ400を示す。カーネル402は他のカーネルにデータ・ストリーム404を送る。これらのカーネル402は、特定の望ましい特性を有するスーパーノード410A及び410Bのようなスーパーノードにグループ分けされる。
上記のように、ストリーム計算グラフは、これから説明するようにストリーム・コンピュータ処理システムにマッピングされる。ここで図5及び図6を参照すると、ストリーム計算グラフ(例えば、ストリーム計算グラフ500B)のカーネル及びデータ・ストリームは、再構成可能な回路切り替え方式で接続されたクラスタ(例えば、ストリーム・コンピュータ・システム500Aのクラスタ505A)にマッピングされる。ステップ310において、カーネルはスーパーノード・クラスタに、及び各々のスーパーノード・クラスタのそれぞれの物理計算ノードに割り当てられる。図6に示すように、カーネル、例えばカーネル502Bは、図5のシステム500A上の物理計算ノード(例えば、ノード503A)に割り当てられる。スーパーノード(例えば、スーパーノード510B及び512B)を形成し、データ・ストリーム(ストリーム504Bとして示す)により接続された、図6に示すノードのグループ分けは、それぞれ図5に示す構造体にマッピングされている(接続501Aを参照)。
ステップ312において、データ・ストリームが同じスーパーノード・クラスタ内の物理計算ノード間にあるとき、カーネル間のデータ・ストリーム・トラフィックは既知のローカル相互接続手段に割り当てられる。
ステップ314において、データ・ストリームが異なるスーパーノード・クラスタ内の物理計算ノード間にあるとき、カーネル間のデータ・ストリーム・トラフィックは光外部リンクに割り当てられる。
ステップ316において、光回路スイッチは、外部リンクを介して割り当てに対応するスーパーノード・クラスタ間に接続性をもたらすように構成される(図5及び図6に示すように、回路スイッチ520は、これらのマッピングされるスーパーノード(例えば、スーパーノード510B、512B、514B、516B、518B、520B)間に必要な接続性をもたらすように再構成されている)。クラスタ間の接続の設定、すなわち、各クラスタがOCSスイッチを介して特定の他のクラスタに接続されることになる外部リンクの使用は、カーネルを物理処理ノード上へマッピングする最適化プロセスに基づく。このプロセスの最後に、全体として、クラスタ間に入る予約通信の総量が(元のグラフ内の全ストリーム・エッジの集計に基づいて)算出され、各クラスタと全ての他のクラスタとの間の通信に必要な全帯域幅が得られる。次いで、任意のクラスタと全ての他のクラスタとの間のそのような帯域幅をサポートするように、OCSスイッチを介して適切な外部リンクが構成される。低帯域幅閾値の接続はパケット切り替えネットワークを介して経路指定される(すなわち、これらの接続を通過する極めて低い予想データ量のために、高帯域幅外部リンクを用いてOCSを介する回路を確立するのに値しない接続)。
ステップ318において、ストリーム・コンピュータ処理システム上の動作が、クラスタ間の所与の時間における特定の接続が最適化されるように、ストリーム計算グラフに従って実行される。
このように、上記のプロセスは、ストリーム計算グラフ(一つの可能なグラフの例として、2分木として図4に示す)のトポロジーに適合することになり、そしてクラスタ505A間の必要な通信パターンに適合するように回路スイッチ520を動的に変更することになり、一方個々のデータ・ストリームのローカルな分離はクラスタ内相互接続506Aによりローカルに行われる(図5及び図6に示すように)。
上述の例示的な実施形態から判るように。光通信とストリーム処理パラダイムの組合せが、上述のプログラミング及び帯域幅の課題に対処する。光通信リンクは超高スループットと最小通信遅延、及び、容量とは無関係のままの低動作電力をもたらす。光リンクの容量、透明性、及び本質的に低電力消費であることを利用することができる光回路切り替え相互接続ネットワークは、高基数MEMS(微小電気機械システム)スイッチと組み合わせると、全てが電子的な相互接続では全く不可能なワット当たりの帯域幅を実現することができる。更に、超高帯域幅OCS相互接続ネットワークは、計算性能が現在処理中のストリームのI/Oデータ帯域幅の最大化と、次に処理する、ストリームの大きなDMA転送の遅延時間の最小化とに直接依存するSPSに対する最適解となる。その上、SPSは通常、比較的長時間持続するプロセッサ間の接続性を設定するので、OCSの長い切り替え時間は問題にならない。
更に、光通信はSPSに関するプログラム化可能性の課題に対処するものであり、その理由は、所与のメモリ内にある大きなデータセットへの任意の所与の処理ノードからのアクセス時間を、処理ノードの相対的位置に関係なく最小にするためである。データ・アクセスにおける時間変動の減少は、ストリーム処理システムのモデル化を簡単にするのに役立つ。次に、簡単化された抽象システム段階のモデルは、SPSアーキテクチャ上での大規模なストリーミング・アプリケーションの均衡のとれた配置を導いて、持続的な処理スループットを最大にする問題の解決を容易にする。そのようなモデルは更に、コンパイル時における全SPSにわたるデータ転送及びデータ処理の静的な編成、及びSPS動作中の通信及び計算の動的な再均衡化の両方に対する自動最適化法の開発を可能にすることができる。
本明細書において用いられる用語は、特定の実施形態を説明する目的のためのものにすぎず、発明を限定することを意図するものではない。本明細書において用いられる場合、文脈から明らかにそうでないことが示されていない限り、「a」、「an」及び「the」の単数形は、複数形も同様に含むことが意図される。「含む(comprises)」及び/又は「含んでいる(comprising)」という用語は、本明細書において用いられる場合、言明された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を特定するものではあるが、一つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらの群の存在又は付加を排除するものではないこともさらに理解される。
以下の特許請求の範囲における全ての「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、行為及び均等物は、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料、又は行為をも含むことが意図される。本発明の説明は、例示及び説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、又は本発明を開示された形態に限定することを意図するものでもない。本発明の範囲及び精神から逸脱することのない多くの変更及び変形が、当業者には明らかであろう。実施形態は、本発明の原理及び実際的な用途を最も良く説明するように、そして当業者が、企図された特定の用途に適する種々の変更を施した種々の実施形態に関して本発明を理解するように選択し説明したものである。
本明細書で示されるフロー図は、単なる例である。本発明の精神から逸脱することなく、この図又は本明細書で説明されるステップ(又は動作)に対する多くの変形が存在する可能性がある。例えば、ステップは、異なる順序で実行することができ、又は、ステップを追加、削除若しくは変更することができる。これらの変形の全ては、特許請求の範囲に記載された発明の一部とみなされる。
本発明の好ましい実施形態について説明してきたが、当業者であれば、現在及び将来の両方において、下記の特許請求の範囲内に入る種々の改善及び強化を行うことができると理解されるであろう。これらの特許請求の範囲は、説明された本発明に対する適切な保護を維持すると解釈されるべきである。
100:ストリーム計算グラフ
102A、102B、102C:カーネル
104A、104B:ストリーム
110A、110B,110C:スーパーノード
200:ストリーム・コンピュータ・システム
201:物理計算ノード
202:マルチプロセッサ
204:スーパーノード・クラスタ
206:ローカル相互接続手段(ローカル相互接続クラスタ・ファブリック)
208:光外部リンク
210:回路切り替えスイッチ
302、304、306、308、310、312、314、316、318:ステップ
400:ストリーム計算グラフ
402:カーネル
404:データ・ストリーム
410A、410B;スーパーノード
500A:ストリーム・コンピュータ・システム
501A;光外部リンク
503A:物理計算ノード
505A:クラスタ
506A:クラスタ内相互接続
520:回路スイッチ
500B:ストリーム計算グラフ
502B:カーネル
504B:データ・ストリーム
510B、512B、514B、516B、518B、520B:スーパーノード

Claims (18)

  1. ストリーム処理コンピュータ・アーキテクチャを実装する方法であって、
    プロセッサのスーパーノード・クラスタを形成するステップであって、前記プロセッサのそれぞれは少なくとも1つの物理計算ノードを含むものである、前記スーパーノード・クラスタを形成するステップと、
    ローカル相互接続手段を介して、前記スーパーノード・クラスタ内の前記プロセッサの各々を通信可能に結合するステップと、
    一つ又は複数の光外部リンクを介して、前記スーパーノード・クラスタを少なくとも一つの光回路スイッチに通信可能に結合するステップであって、前記光回路スイッチは、他のスーパーノード・クラスタからの一つ又は複数の光外部リンクを介して、それぞれ少なくとも1つ他の物理計算ノードを含むプロセッサの少なくとも一つの他のスーパーノード・クラスタに通信可能に結合される、前記結合するステップと、
    を含むストリーム・コンピュータ処理システムを形成するステップと、
    カーネル及びデータ・ストリームを含むストリーム計算グラフであって、前記カーネルは、対応するカーネルへの入力である一つ又は複数のデータ・ストリームについての計算を行うソフトウエア・コード要素を表す、前記ストリーム計算グラフを生成するステップと、
    前記ストリーム計算グラフを前記ストリーム・コンピュータ処理システムにマッピングするステップであって、
    前記カーネルを前記スーパーノード・クラスタに、及び各々の前記スーパーノード・クラスタのそれぞれの物理計算ノードに割り当てるステップと、
    それぞれの前記データ・ストリームが、同じスーパーノード・クラスタ内の物理計算ノード間にあるとき、前記カーネル間のデータ・ストリーム・トラフィックを前記ローカル相互接続手段に割り当てるステップと、
    それぞれの前記データ・ストリームが、異なるスーパーノード・クラスタ内の物理計算ノード間にあるとき、前記カーネル間のデータ・ストリーム・トラフィックを前記光外部リンクに割り当てるステップと、
    前記光外部リンクを介して、前記割り当てに対応する前記スーパーノード・クラスタ間に接続性をもたらすように、前記光回路スイッチを構成するステップと、
    を含む、前記マッピングするステップと、
    前記ストリーム計算グラフに従って前記ストリーム・コンピュータ処理システム上の動作を実行するステップと、
    を含む方法。
  2. 前記光回路スイッチを構成するステップは、前記ストリーム計算グラフに対してなされた変更を反映するように、前記光回路スイッチの前記接続性を動的に切り替えるステップを含む、請求項1に記載の方法。
  3. 前記ストリーム計算グラフに対する変更は負荷均衡化作業を反映する、請求項2に記載の方法。
  4. スーパーノード・クラスタ内の個々のデータ・ストリームは、前記スーパーノード・クラスタの対応するローカル相互接続手段により管理される、請求項1に記載の方法。
  5. 前記ローカル相互接続手段は、
    直接接続と、
    キャッシュ・コヒーレント対称マルチプロセッサ(SMP)ファブリックを介するメモリを通してと、
    スイッチと、
    のうちの少なくとも一つにより実装される、請求項4に記載の方法。
  6. 前記物理計算ノードはシングルプロセッサである、請求項1に記載の方法。
  7. 前記物理計算ノードはマルチプロセッサである、請求項1に記載の方法。
  8. 前記ストリーム計算グラフは、2分木トポロジーを用いて生成される、請求項1に記載の方法。
  9. 異なるスーパーノード・クラスタの間にあるデータ・ストリームに関する値が閾値に達しない場合には、当該データ・ストリームについては、光回路スイッチを使用することに代えて、パケット切り替えネットワークを使用するステップを更に含む、請求項1に記載の方法。
  10. ストリーム処理コンピュータ・アーキテクチャを実装するためのシステムであって、
    プロセッサのスーパーノード・クラスタを形成することであって、前記プロセッサのそれぞれは少なくとも1つの物理計算ノードを含むものである、前記スーパーノード・クラスタを形成することと、
    ローカル相互接続手段を介して前記スーパーノード・クラスタ内のプロセッサの各々を通信可能に結合することと、
    一つ又は複数の光外部リンクを介して、前記スーパーノード・クラスタを少なくとも1つの光回路スイッチに通信可能に結合することであって、前記光回路スイッチは、他のスーパーノード・クラスタからの1つ又は複数の光外部リンクを介して、それぞれ少なくとも1つの他の物理計算ノードを含むプロセッサの少なくとも1つの他のスーパーノード・クラスタに通信可能に結合される、前記結合することと、
    によって作成されるストリーム・コンピュータ処理システムと、
    カーネル及びデータ・ストリームを含むストリーム計算グラフであって、前記カーネルは、対応するカーネルへの入力である一つ又は複数のデータ・ストリームについての計算を実行するソフトウエア・コード要素を表す、前記ストリーム計算グラフと、
    を含み、
    前記ストリーム計算グラフは前記ストリーム・コンピュータ処理システムにマッピングされ、
    前記マッピングは、
    前記カーネルを前記スーパーノード・クラスタに、及び、各々の前記スーパーノード・クラスタのそれぞれの物理計算ノードに割り当てることと、
    前記それぞれのデータ・ストリームが、同じスーパーノード・クラスタ内の物理計算ノード間にあるとき、前記カーネル間のデータ・ストリーム・トラフィックを前記ローカル相互接続手段に割り当てることと、
    前記それぞれのデータ・ストリームが、異なるスーパーノード・クラスタ内の物理計算ノード間にあるとき、前記カーネル間のデータ・ストリーム・トラフィックを前記光外部リンクに割り当てることと、
    前記光外部リンクを介して、前記割り当てに対応するスーパーノード・クラスタ間の接続性をもたらすように前記光回路スイッチを構成することと、
    を含み、
    前記ストリーム・コンピュータ処理システム上の動作は、前記ストリーム計算グラフに従って実行される、
    前記システム。
  11. 前記光回路スイッチを構成することは、前記ストリーム計算グラフに対してなされた変更を反映するように、前記光回路スイッチの前記接続性を動的に切り替えることを含む、請求項10に記載のシステム。
  12. 前記ストリーム計算グラフに対する変更は負荷均衡化作業を反映する、請求項11に記載のシステム。
  13. スーパーノード・クラスタ内の個々のデータ・ストリームは、前記スーパーノード・クラスタの対応するローカル相互接続手段により管理される、請求項10に記載のシステム。
  14. 前記ローカル相互接続手段は、
    直接接続と、
    キャッシュ・コヒーレント対称マルチプロセッサ(SMP)ファブリックを介するメモリを通してと、
    スイッチと、
    のうちの少なくとも一つにより実装される、請求項13に記載のシステム。
  15. 前記物理計算ノードはシングルプロセッサである、請求項10に記載のシステム。
  16. 前記物理計算ノードはマルチプロセッサである、請求項10に記載のシステム。
  17. 前記ストリーム計算グラフは、2分木トポロジーを用いて生成される、請求項10に記載のシステム。
  18. パケット切り替えネットワークを更に含み、異なるスーパーノード・クラスタの間にあるデータ・ストリームに関する値が閾値に達しない場合には、当該データ・ストリームについては、光回路スイッチを使用することに代えて、パケット切り替えネットワークを使用するものである、請求項10に記載のシステム。
JP2011523393A 2008-08-18 2009-08-13 ストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステム Active JP5490120B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/193,125 2008-08-18
US12/193,125 US7856544B2 (en) 2008-08-18 2008-08-18 Stream processing in super node clusters of processors assigned with stream computation graph kernels and coupled by stream traffic optical links
PCT/EP2009/060483 WO2010020577A1 (en) 2008-08-18 2009-08-13 Method and system for implementing a stream processing computer architecture

Publications (2)

Publication Number Publication Date
JP2012500432A JP2012500432A (ja) 2012-01-05
JP5490120B2 true JP5490120B2 (ja) 2014-05-14

Family

ID=41078173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011523393A Active JP5490120B2 (ja) 2008-08-18 2009-08-13 ストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステム

Country Status (7)

Country Link
US (2) US7856544B2 (ja)
EP (1) EP2274685A1 (ja)
JP (1) JP5490120B2 (ja)
KR (1) KR101572295B1 (ja)
CN (1) CN102138138B (ja)
TW (1) TWI434186B (ja)
WO (1) WO2010020577A1 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943509B2 (en) * 2008-03-21 2015-01-27 International Business Machines Corporation Method, apparatus, and computer program product for scheduling work in a stream-oriented computer system with configurable networks
US9032407B2 (en) * 2009-05-25 2015-05-12 Panasonic Intellectual Property Corporation Of America Multiprocessor system, multiprocessor control method, and multiprocessor integrated circuit
US20110134127A1 (en) * 2009-12-03 2011-06-09 Ravishankar Gundlapalli Global Career Graph
CN102201992B (zh) * 2011-05-25 2013-09-25 上海理工大学 面向流处理器并行环境的数据流通信系统及其通信方法
CN102200906B (zh) * 2011-05-25 2013-12-25 上海理工大学 大规模并发数据流处理系统及其处理方法
US8959313B2 (en) 2011-07-26 2015-02-17 International Business Machines Corporation Using predictive determinism within a streaming environment
US8990452B2 (en) 2011-07-26 2015-03-24 International Business Machines Corporation Dynamic reduction of stream backpressure
US8560526B2 (en) 2011-07-26 2013-10-15 International Business Machines Corporation Management system for processing streaming data
US9148495B2 (en) 2011-07-26 2015-09-29 International Business Machines Corporation Dynamic runtime choosing of processing communication methods
CN102957622B (zh) * 2011-08-16 2015-05-27 阿里巴巴集团控股有限公司 一种数据处理的方法、装置及系统
US8891914B2 (en) 2011-10-28 2014-11-18 Neophotonics Corporation Scalable optical switches and switching modules
US8874751B2 (en) 2011-12-01 2014-10-28 International Business Machines Corporation Candidate set solver with user advice
US10554782B2 (en) 2011-12-01 2020-02-04 International Business Machines Corporation Agile hostpool allocator
US8898505B2 (en) 2011-12-01 2014-11-25 International Business Machines Corporation Dynamically configureable placement engine
US9405553B2 (en) 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
US9009007B2 (en) 2012-03-13 2015-04-14 International Business Machines Corporation Simulating stream computing systems
US8954698B2 (en) 2012-04-13 2015-02-10 International Business Machines Corporation Switching optically connected memory
US9146775B2 (en) 2012-04-26 2015-09-29 International Business Machines Corporation Operator graph changes in response to dynamic connections in stream computing applications
CN102882799B (zh) * 2012-09-13 2017-09-01 曙光信息产业(北京)有限公司 流量可控的集群部署配置系统与方法
US9930081B2 (en) 2012-11-13 2018-03-27 International Business Machines Corporation Streams optional execution paths depending upon data rates
CN103345458A (zh) * 2013-06-24 2013-10-09 北京工业大学 一种面向高性能计算的多fpga互联结构及逻辑划分方法
US9460049B2 (en) * 2013-07-18 2016-10-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic formation of symmetric multi-processor (SMP) domains
CN104750659B (zh) * 2013-12-26 2018-07-20 中国科学院电子学研究所 一种基于自动布线互连网络的粗粒度可重构阵列电路
US9886521B2 (en) * 2014-03-13 2018-02-06 International Business Machines Corporation Adaptive sampling schemes for clustering streaming graphs
US20160062756A1 (en) * 2014-08-26 2016-03-03 Vendita Technology Group, Inc. Hardware and software architecture for enabling optimizing technical capabilities in a database
CN104504143B (zh) * 2015-01-04 2017-12-29 华为技术有限公司 一种流图优化方法及其装置
US9967197B2 (en) * 2015-01-12 2018-05-08 Citrix Systems, Inc. Large scale bandwidth management of IP flows using a hierarchy of traffic shaping devices
US10509684B2 (en) 2015-04-06 2019-12-17 EMC IP Holding Company LLC Blockchain integration for scalable distributed computations
US10505863B1 (en) 2015-04-06 2019-12-10 EMC IP Holding Company LLC Multi-framework distributed computation
US10706970B1 (en) 2015-04-06 2020-07-07 EMC IP Holding Company LLC Distributed data analytics
US10860622B1 (en) 2015-04-06 2020-12-08 EMC IP Holding Company LLC Scalable recursive computation for pattern identification across distributed data processing nodes
US10515097B2 (en) * 2015-04-06 2019-12-24 EMC IP Holding Company LLC Analytics platform for scalable distributed computations
US10404787B1 (en) 2015-04-06 2019-09-03 EMC IP Holding Company LLC Scalable distributed data streaming computations across multiple data processing clusters
US10277668B1 (en) 2015-04-06 2019-04-30 EMC IP Holding Company LLC Beacon-based distributed data processing platform
US10541938B1 (en) 2015-04-06 2020-01-21 EMC IP Holding Company LLC Integration of distributed data processing platform with one or more distinct supporting platforms
US10366111B1 (en) * 2015-04-06 2019-07-30 EMC IP Holding Company LLC Scalable distributed computations utilizing multiple distinct computational frameworks
US10776404B2 (en) 2015-04-06 2020-09-15 EMC IP Holding Company LLC Scalable distributed computations utilizing multiple distinct computational frameworks
US10812341B1 (en) 2015-04-06 2020-10-20 EMC IP Holding Company LLC Scalable recursive computation across distributed data processing nodes
US10541936B1 (en) 2015-04-06 2020-01-21 EMC IP Holding Company LLC Method and system for distributed analysis
US10331380B1 (en) 2015-04-06 2019-06-25 EMC IP Holding Company LLC Scalable distributed in-memory computation utilizing batch mode extensions
US10511659B1 (en) 2015-04-06 2019-12-17 EMC IP Holding Company LLC Global benchmarking and statistical analysis at scale
US10348810B1 (en) * 2015-04-06 2019-07-09 EMC IP Holding Company LLC Scalable distributed computations utilizing multiple distinct clouds
US10528875B1 (en) 2015-04-06 2020-01-07 EMC IP Holding Company LLC Methods and apparatus implementing data model for disease monitoring, characterization and investigation
US10425350B1 (en) 2015-04-06 2019-09-24 EMC IP Holding Company LLC Distributed catalog service for data processing platform
US10791063B1 (en) 2015-04-06 2020-09-29 EMC IP Holding Company LLC Scalable edge computing using devices with limited resources
US10496926B2 (en) 2015-04-06 2019-12-03 EMC IP Holding Company LLC Analytics platform for scalable distributed computations
US11436045B2 (en) 2015-05-26 2022-09-06 Blaize, Inc. Reduction of a number of stages of a graph streaming processor
US10437637B1 (en) 2015-05-26 2019-10-08 Thin CI, Inc. Configurable scheduler for graph processing on multi-processor computing systems
US11150961B2 (en) 2015-05-26 2021-10-19 Blaize, Inc. Accelerated operation of a graph streaming processor
US11379262B2 (en) 2015-05-26 2022-07-05 Blaize, Inc. Cascading of graph streaming processors
US11416282B2 (en) 2015-05-26 2022-08-16 Blaize, Inc. Configurable scheduler in a graph streaming processing system
US10656861B1 (en) 2015-12-29 2020-05-19 EMC IP Holding Company LLC Scalable distributed in-memory computation
US10122788B2 (en) * 2016-03-29 2018-11-06 Amazon Technologies, Inc. Managed function execution for processing data streams in real time
US10178451B2 (en) * 2016-07-21 2019-01-08 Raytheon Company Optical data switching circuitry
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US10374968B1 (en) 2016-12-30 2019-08-06 EMC IP Holding Company LLC Data-driven automation mechanism for analytics workload distribution
US11461105B2 (en) 2017-04-07 2022-10-04 Intel Corporation Methods and apparatus for deep learning network execution pipeline on multi-processor platform
US10419469B1 (en) 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
US20220232024A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting deviations from typical user behavior
US12021888B1 (en) 2017-11-27 2024-06-25 Lacework, Inc. Cloud infrastructure entitlement management by a data platform
US11792284B1 (en) 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US11979422B1 (en) 2017-11-27 2024-05-07 Lacework, Inc. Elastic privileges in a secure access service edge
CN110213073B (zh) * 2018-04-20 2021-10-22 腾讯科技(深圳)有限公司 数据流向变更方法、电子设备、计算节点及存储介质
US11042416B2 (en) * 2019-03-06 2021-06-22 Google Llc Reconfigurable computing pods using optical networks
US11307860B1 (en) 2019-11-22 2022-04-19 Blaize, Inc. Iterating group sum of multiple accumulate operations
US10996960B1 (en) 2019-11-22 2021-05-04 Blaize, Inc. Iterating single instruction, multiple-data (SIMD) instructions
US11366664B1 (en) 2019-12-08 2022-06-21 Blaize, Inc. Single instruction multiple data (simd) execution with variable width registers
US11201955B1 (en) 2019-12-23 2021-12-14 Lacework Inc. Agent networking in a containerized environment
US11256759B1 (en) 2019-12-23 2022-02-22 Lacework Inc. Hierarchical graph analysis
US10873592B1 (en) 2019-12-23 2020-12-22 Lacework Inc. Kubernetes launch graph
US11188571B1 (en) 2019-12-23 2021-11-30 Lacework Inc. Pod communication graph
US11561840B2 (en) * 2020-01-30 2023-01-24 Alibaba Group Holding Limited Efficient inter-chip interconnect topology for distributed parallel deep learning
CN111415007B (zh) * 2020-03-26 2023-01-17 中科寒武纪科技股份有限公司 一种计算数据的方法、装置、板卡及计算机可读存储介质
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质
US11513845B2 (en) 2020-11-06 2022-11-29 Blaize, Inc. Configurable scheduler with pre-fetch and invalidate threads in a graph stream processing system
US11620248B2 (en) * 2021-03-31 2023-04-04 Advanced Micro Devices, Inc. Optical bridge interconnect unit for adjacent processors
US20230409643A1 (en) * 2022-06-17 2023-12-21 Raytheon Company Decentralized graph clustering using the schrodinger equation
CN115809685B (zh) * 2023-02-09 2023-07-25 鹏城实验室 一种npu集群网络结构和网络互连方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56127266A (en) * 1980-03-10 1981-10-05 Ibm Method of executing and controlling command stream
JPS62259164A (ja) * 1985-11-27 1987-11-11 テキサス インスツルメンツ インコ−ポレイテツド コンピユ−タ及び実時間音声レコグナイザ
US5317734A (en) * 1989-08-29 1994-05-31 North American Philips Corporation Method of synchronizing parallel processors employing channels and compiling method minimizing cross-processor data dependencies
FR2689711B1 (fr) 1992-04-03 1994-05-13 France Telecom Reseau de telecommunications.
US6631018B1 (en) * 1997-08-27 2003-10-07 Nortel Networks Limited WDM optical network with passive pass-through at each node
JPH1185616A (ja) * 1997-09-11 1999-03-30 Canon Inc 情報処理システム及び情報処理装置及びそれらの制御方法及び記憶媒体
US6175868B1 (en) * 1998-05-15 2001-01-16 Nortel Networks Limited Method and apparatus for automatically configuring a network switch
US6671254B1 (en) * 1998-12-11 2003-12-30 Oki Electric Industry Co., Ltd. Communication network and communication node used in such network
US6647208B1 (en) * 1999-03-18 2003-11-11 Massachusetts Institute Of Technology Hybrid electronic/optical switch system
US6748440B1 (en) * 1999-05-12 2004-06-08 Microsoft Corporation Flow of streaming data through multiple processing modules
US6792174B1 (en) * 1999-11-02 2004-09-14 Nortel Networks Limited Method and apparatus for signaling between an optical cross-connect switch and attached network equipment
CA2408798A1 (en) 2000-05-11 2001-11-15 Btg International Limited Optical transport networks
US20020131103A1 (en) * 2001-03-16 2002-09-19 Nicholas Bambos Method and system for reconfiguring a network element such as an optical network element
US6809734B2 (en) * 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7263096B2 (en) * 2001-12-21 2007-08-28 Lucent Technologies Inc. Apparatus, system and method for managing circuit and packet-switched calls on a network
US6970617B2 (en) * 2003-01-07 2005-11-29 Charles Mao Reconfigurable service ring and method for operation in optical networks
US8281297B2 (en) * 2003-02-05 2012-10-02 Arizona Board Of Regents Reconfigurable processing
US7340169B2 (en) * 2003-11-13 2008-03-04 Intel Corporation Dynamic route discovery for optical switched networks using peer routing
US7000048B2 (en) 2003-12-18 2006-02-14 Intel Corporation Apparatus and method for parallel processing of network data on a single processing thread
US7376295B2 (en) 2004-09-20 2008-05-20 Fujitsu Limited Opto-electronic processors with reconfigurable chip-to-chip optical interconnections
US7739218B2 (en) * 2005-08-16 2010-06-15 International Business Machines Corporation Systems and methods for building and implementing ontology-based information resources
US20070204020A1 (en) * 2006-02-24 2007-08-30 International Business Machines Corporation System and method of stream processing workflow composition using automatic planning
US7441224B2 (en) * 2006-03-09 2008-10-21 Motorola, Inc. Streaming kernel selection for reconfigurable processor
US7853949B2 (en) * 2006-03-13 2010-12-14 International Business Machines Corporation Method and apparatus for assigning fractional processing nodes to work in a stream-oriented computer system
US20100242042A1 (en) * 2006-03-13 2010-09-23 Nikhil Bansal Method and apparatus for scheduling work in a stream-oriented computer system
US7738129B2 (en) * 2006-03-13 2010-06-15 International Business Machines Corporation Method and apparatus for assigning candidate processing nodes in a stream-oriented computer system
US8194638B2 (en) * 2006-07-27 2012-06-05 International Business Machines Corporation Dual network types solution for computer interconnects
US7680502B2 (en) * 2006-07-28 2010-03-16 Mccown Steven H Radio frequency detection assembly and method for detecting radio frequencies
US9038041B2 (en) 2006-12-04 2015-05-19 Tibco Software, Inc. Stream processor with compiled programs
US7899861B2 (en) * 2007-04-02 2011-03-01 International Business Machines Corporation Method for declarative semantic expression of user intent to enable goal-driven stream processing
US8458720B2 (en) * 2007-08-17 2013-06-04 International Business Machines Corporation Methods and systems for assigning non-continual jobs to candidate processing nodes in a stream-oriented computer system
US7941387B2 (en) * 2007-11-05 2011-05-10 International Business Machines Corporation Method and system for predicting resource usage of reusable stream processing elements
US8943509B2 (en) * 2008-03-21 2015-01-27 International Business Machines Corporation Method, apparatus, and computer program product for scheduling work in a stream-oriented computer system with configurable networks
US8125984B2 (en) * 2008-03-21 2012-02-28 International Business Machines Corporation Method, system, and computer program product for implementing stream processing using a reconfigurable optical switch

Also Published As

Publication number Publication date
CN102138138B (zh) 2015-01-28
TWI434186B (zh) 2014-04-11
US8037284B2 (en) 2011-10-11
US20100042809A1 (en) 2010-02-18
KR20110063730A (ko) 2011-06-14
WO2010020577A1 (en) 2010-02-25
US7856544B2 (en) 2010-12-21
EP2274685A1 (en) 2011-01-19
US20110055519A1 (en) 2011-03-03
KR101572295B1 (ko) 2015-12-04
CN102138138A (zh) 2011-07-27
JP2012500432A (ja) 2012-01-05
TW201019133A (en) 2010-05-16

Similar Documents

Publication Publication Date Title
JP5490120B2 (ja) ストリーム処理コンピュータ・アーキテクチャを実装する方法及びシステム
Gu et al. A low-power fat tree-based optical network-on-chip for multiprocessor system-on-chip
KR100986006B1 (ko) 마이크로프로세서 서브시스템
JPH05323387A (ja) プログラム可能な光学的・クロスバー・スイッチ
JP7447241B2 (ja) 円環コンピュータネットワークへのリングの組み込み
Li et al. Scaling deep-learning inference with chiplet-based architecture and photonic interconnects
CN101808254A (zh) 一种基于分层图的静态选路与波长分配方法
Ben Ahmed et al. Hybrid silicon-photonic network-on-chip for future generations of high-performance many-core systems
Ye et al. 3D optical networks-on-chip (NoC) for multiprocessor systems-on-chip (MPSoC)
JPH05323408A (ja) コンパクトなプログラム可能な並列処理システム
Howard et al. The First Direct Mesh-to-Mesh Photonic Fabric
Al Faisal et al. HFBN: An energy efficient high performance hierarchical interconnection network for exascale supercomputer
JP6270329B2 (ja) 自由空間の光インターコネクトでの再構成が可能なマルチコア・ネットワーク
JP7344981B2 (ja) 環状コンピュータネットワークにおけるリングの組み込み
CN116303225A (zh) 一种数据流驱动的可重构处理器芯片及可重构处理器集群
Yin et al. Aries: Accelerating distributed training in chiplet-based systems via flexible interconnects
İmre Dual-mode routing approach for photonic network on chip platforms
CN113986813B (zh) 片上网络结构构建及使用的方法、系统、设备和存储介质
JPH05273628A (ja) コンパクトなプログラム可能な処理モジュール
Liu High-Performance and wavelength-reused optical network on chip (ONoC) architectures and communication schemes for manycore processor
Zhou et al. Topology Optimization of 3D Hybrid Opti-cal-Electronic Networks-on-Chip
Yuan et al. Intra-clustering: Accelerating on-chip communication for data parallel architectures
Glick Optical switching for next generation data centers
Yang Routing and Wavelength Assignment for Multicast Communication in Optical Network-on-Chip
Ben Abdallah et al. Communication Networks for Neuromorphic Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5490120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150