JP5735448B2 - コンピュータ支援による計算グラフの並列化 - Google Patents
コンピュータ支援による計算グラフの並列化 Download PDFInfo
- Publication number
- JP5735448B2 JP5735448B2 JP2012083817A JP2012083817A JP5735448B2 JP 5735448 B2 JP5735448 B2 JP 5735448B2 JP 2012083817 A JP2012083817 A JP 2012083817A JP 2012083817 A JP2012083817 A JP 2012083817A JP 5735448 B2 JP5735448 B2 JP 5735448B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- sort
- key
- outputs
- value indicator
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 4
- 230000011664 signaling Effects 0.000 claims 3
- 238000011144 upstream manufacturing Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000012512 characterization method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 241001522296 Erithacus rubecula Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Image Generation (AREA)
- Devices For Executing Special Programs (AREA)
Description
本出願は、2003年6月25日出願の米国特許仮出願第60/482,391号の優先権を主張し、当該仮出願は引用により本明細書に組み込む。
複雑な計算は、多くの場合、計算の成分をグラフの頂点と関連付け、成分間のデータフローをグラフのリンク(枝、辺)に対応させ、有向グラフによってデータフローとして表すことが可能である。このようなグラフベースの計算を実施するシステムは、米国特許第5,966,072号「グラフとして表される計算の実行」に記載されている。
一態様では、本発明は、一般に、並列計算グラフを自動的に規定するための方法を特徴とする。第1計算グラフの仕様を受け入れる。グラフは、リンク要素により接続されるデータ処理要素を有し、各リンク要素は、上流データ処理要素および下流データ処理要素に関連付けられる。1つ以上のリンク要素のそれぞれに対して、リンク要素のデータ処理特性が、リンク要素と関連する上流および/または下流データ処理要素の特性に従って決定される。
図1A〜図1Cを参照すると、図1Aに示す直列計算グラフ100は、簡単な計算グラフの一例であり、状況によっては、図1B〜図1Cに示す並列計算グラフ101として実施できる。例えば、入力ファイル110からの各ワーク要素を他の全てのワーク要素と独立して処理できる場合、並列計算グラフ101は、直列計算グラフ100と同一の計算を実行することになる。注意すべきは、同一の計算を実行するとはいえ、直列グラフ100の場合に出力ファイル140が受け取るワーク要素の順序は、並列グラフ101の場合と同一であるとは限らない、ということである。この例では、出力ワーク要素の順序は、計算ネットワークの機能に対して重要ではない。
・ワーク要素を分岐する基準となる各ワーク要素内の1つ、または複数のキーにより規定されるハッシュ分岐要素;
・ワーク要素のキー値とは無関係にワーク要素を分割するラウンドロビン分岐要素、普通は異なる出力間を巡回する;および、
・各入力ワーク要素の複製が出力のそれぞれに送られる一斉伝達分岐要素。
・ワーク要素を入力から出力へ任意の順序で、例えば合流要素に到着した時間に従って通過させる任意の合流要素;および、
・キーに従って入力をソートしてから出力へ通過させるソート合流要素。
・分岐する場合、1つまたは複数の特定キーに基づいて入力を分岐しなければならないことを示すインジケータ;
・成分の各インスタンスが、全てのワーク要素の複製を入力で受け取らなければならないことを示すインジケータ;および、
・入力をソートしなければならないことを示すインジケータ、およびソート順序を定義する1つまたは複数のキー。
・フローがワーク要素の分岐サブセットだけを含むことを示すインジケータ、分岐する場合は、フローを分岐する基準となった1つまたは複数の特定キー;および、
・フローがソートされていることを示すインジケータ、およびソート順序を定義する1つまたは複数のキー。
・1入力および1出力を持ち、キーkey1の値の修正を示さない成分については、key1に従って分岐された入力は、key1に従って分岐されたままの出力を生じる;
・1入力および1出力を持ち、キーkey2の値の修正を示さない成分については、key1、続いてKey2に従ってソートされた入力は、key1だけに従ってソートされた出力を生じる;
・入力ワーク要素の順序変更を示す成分。ソートされた入力は、それ以上ソートされないことを示す出力を生じる。なぜなら、その成分はソート順序を乱しているかもしれないからである;および、
・キーkey1の値に従ってソートを明示的に実施する成分は、入力のソート順序とは無関連にkey1に従って出力がソートされることを示す。
(a)1つ以上の成分の入力から出力へのリンク特性をマッピングするステップ(ステップ320);
(b)上流成分の出力特性が既知である各成分間リンクに対して、下流の入力の既知の要件のいずれかに基づいて、成分間リンクの分岐要素、相互接続ネットワーク、および合流要素を含む、成分間リンクの特性を決定するステップ(ステップ330);
(c)ステップ(b)で処理された成分間リンクのそれぞれについて、成分間リンクの出力と関連付けられた下流成分の結果的に得られる入力フロー特性を決定するステップ(ステップ340);および、
(d)成分間リンクのネットワーク表現の成分を、並列グラフの対応する成分間に挿入するステップ(ステップ350)。
(P1)m=nで、かつ下流成分への入力フローを、いずれかの特定キーに基づいて分岐、またはソートする必要がなく、入力フローが各ワーク要素の複製を必要としない場合、上流および下流成分の対応するインスタンスは、図1Bの例に示すように、直接接続される。注意すべきは、これは、基本的に分岐および合流要素の退化した形式に相当する、ということである。
(P2)m≠nで、かつ下流成分への入力フローを、いずれかの特定キーに基づいて分岐する必要がなく、入力フローが各ワーク要素の複製を必要としない場合、成分間リンクの分岐要素は、ラウンドロビン分配を実行するよう定義する。
(P3)下流成分への入力フローが、上流成分の出力フローの分岐と異なる一組のキーに従ってワーク要素を分岐することを要求する場合、分岐要素は、要求されたキー値に従ってハッシュ分岐を実行する。
(P4)入力フローが各ワーク要素の複製を要求する場合、成分間リンクの分岐要素は、一斉伝達機能を実行するよう定義する。
(G1)下流成分の入力フローが、入力が特定組のキーに従ってソートされることを要求し、かつ上流成分の出力がこれらと同じキーに従ってソートされる場合、合流要素はソート合流を実行する。ソート合流では、合流要素は、入力のそれぞれのワーク要素がソートされると仮定し、ソートキーに従って次にどの入力を出力として選択するかを選択し、出力の正しいソート順序を達成する。
(G2)下流成分の入力フローが、入力が特定組のキー(key1、...、keyJ)に従ってソートされることを要求し、かつ上流成分の出力が一組のキー(key1、...、keyJ、...、keyK)に従ってソートされる場合、分岐要素は、ソート化合流を実行する。J=Kの場合、特別な場合(G1)に帰着する。
(G3)入力フローが、入力が特定組のキーに基づいてソートされることを要求し、かつ上流成分の出力が互換性のある組のキーに従ってソートされない場合、合流要素はソートを実行する。
Claims (27)
- プロセッサおよびデータ格納システムを含むコンピュータシステムにおける前記プロセッサによって実行される、計算グラフ内のソート順序に従ってソートされたソートデータを処理するための方法であって、
前記プロセッサによって実行される計算グラフにおける分岐要素が、前記ソートデータを受信するステップと、
前記プロセッサによって実行される計算グラフにおける前記分岐要素が、複数の出力に前記ソートデータを通過させるステップと、
前記プロセッサによって実行される計算グラフにおける前記分岐要素が、前記複数の出力の各々に、前記ソート順序に関するソート値インジケータを通過させるステップとを含み、
前記ソート値インジケータは前記複数の出力のうちの少なくとも1つが到達した前記ソート順序の値を示し、前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が下流コンポーネントに提供されないことを、前記下流コンポーネントに合図する、方法。 - 前記ソートデータを受信するステップは、並列化した計算グラフ内の第1コンポーネントの多数のインスタンスの各々からのワーク要素を受信するステップを含み、前記ワーク要素は第1キーに従ってソートされる、請求項1に記載の方法。
- 前記第1コンポーネントの下流に第2コンポーネントがあり、該第2コンポーネントはその入力が第2キーに従ってソートされ、かつ、前記第1キーに従って分岐されるよう要求する、請求項2に記載の方法。
- 前記第1コンポーネントと前記第2コンポーネントとの間のコンポーネント間リンクは、前記第1キーに従って分岐を行う前記分岐要素と、前記第2キーに従ってソートを行う少なくとも1つのソート合流要素とを含む、請求項3に記載の方法。
- 前記複数の出力は、前記第1コンポーネントと、前記第1コンポーネントの下流にある第2コンポーネントとの間のコンポーネント間リンクに含まれる、請求項2に記載の方法。
- 前記複数の出力の各々に前記ソート順序に関する前記ソート値インジケータを通過させるステップは、前記複数の出力の各々に前記ソート値インジケータを繰り返し送り、前記複数の出力のうちの少なくとも1つにおけるワーク要素が到達した前記ソート順序の値を示すことを含む、請求項5に記載の方法。
- 前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が前記コンポーネント間リンクを介して提供されないことを前記第2コンポーネントに合図する、請求項6に記載の方法。
- 前記ソート値インジケータは、処理されるワーク要素の数に従って繰り返し送られる、請求項6に記載の方法。
- 前記ソート値インジケータは、時間に従って繰り返し送られる、請求項6に記載の方法。
- コンピュータ可読媒体に格納された、計算グラフ内のソート順序に従ってソートされたソートデータを処理するためのコンピュータプログラムであって、
プロセッサおよびデータ格納システムを含むコンピュータシステムに、
前記プロセッサによって実行される計算グラフにおける分岐要素が、ソートデータを受信するステップと、
前記プロセッサによって実行される計算グラフにおける前記分岐要素が、複数の出力に前記ソートデータを通過させるステップと、
前記プロセッサによって実行される計算グラフにおける前記分岐要素が、前記複数の出力の各々に、前記ソート順序に関するソート値インジケータを通過させるステップとを実行させるための命令を含み、
前記ソート値インジケータは前記複数の出力の少なくとも1つが到達した前記ソート順序の値を示し、前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が下流コンポーネントに提供されないことを、前記下流コンポーネントに合図する、コンピュータプログラム。 - 前記ソートデータを受信するステップは、並列化した計算グラフ内の第1コンポーネントの多数のインスタンスの各々からのワーク要素を受信するステップを含み、前記ワーク要素は第1キーに従ってソートされる、請求項10に記載のコンピュータプログラム。
- 前記第1コンポーネントの下流に第2コンポーネントがあり、該第2コンポーネントはその入力が第2キーに従ってソートされ、かつ、前記第1キーに従って分岐されるよう要求する、請求項11に記載のコンピュータプログラム。
- 前記第1コンポーネントと前記第2コンポーネントとの間のコンポーネント間リンクは、前記第1キーに従って分岐を行う前記分岐要素と、前記第2キーに従ってソートを行う少なくとも1つのソート合流要素とを含む、請求項12に記載のコンピュータプログラム。
- 前記複数の出力は、前記第1コンポーネントと、前記第1コンポーネントの下流にある第2コンポーネントとの間のコンポーネント間リンクに含まれる、請求項11に記載のコンピュータプログラム。
- 前記複数の出力の各々に前記ソート順序に関する前記ソート値インジケータを通過させるステップは、前記複数の出力の各々に前記ソート値インジケータを繰り返し送り、前記複数の出力のうちの少なくとも1つにおけるワーク要素が到達した前記ソート順序の値を示すことを含む、請求項14に記載のコンピュータプログラム。
- 前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が前記コンポーネント間リンクを介して提供されないことを前記第2コンポーネントに合図する、請求項15に記載のコンピュータプログラム。
- 前記ソート値インジケータは、処理されるワーク要素の数に従って繰り返し送られる、請求項15に記載のコンピュータプログラム。
- 前記ソート値インジケータは、時間に従って繰り返し送られる、請求項15に記載のコンピュータプログラム。
- プロセッサおよびデータ格納システムを含む、計算グラフ内のソート順序に従ってソートされたソートデータを処理するためのコンピュータシステムであって、
前記ソートデータを受信する、前記計算グラフにおける分岐要素を含み、
前記分岐要素は、複数の出力に前記ソートデータを通過させ、
前記分岐要素は、前記複数の出力の各々に、前記ソート順序に関するソート値インジケータも通過させ、
前記ソート値インジケータは前記複数の出力の少なくとも1つが到達した前記ソート順序の値を示し、前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が下流コンポーネントに提供されないことを、前記下流コンポーネントに合図する、コンピュータシステム。 - 前記ソートデータを受信することは、並列化した計算グラフ内の第1コンポーネントの多数のインスタンスの各々からのワーク要素を受信することを含み、前記ワーク要素は第1キーに従ってソートされる、請求項19に記載のコンピュータシステム。
- 前記第1コンポーネントの下流に第2コンポーネントがあり、該第2コンポーネントはその入力が第2キーに従ってソートされ、かつ、前記第1キーに従って分岐されるよう要求する、請求項20に記載のコンピュータシステム。
- 前記第1コンポーネントと前記第2コンポーネントとの間のコンポーネント間リンクは、前記第1キーに従って分岐を行う前記分岐要素と、前記第2キーに従ってソートを行う少なくとも1つのソート合流要素とを含む、請求項21に記載のコンピュータシステム。
- 前記複数の出力は、前記第1コンポーネントと、前記第1コンポーネントの下流にある第2コンポーネントとの間のコンポーネント間リンクに含まれる、請求項20に記載のコンピュータシステム。
- 前記複数の出力の各々に前記ソート順序に関する前記ソート値インジケータを通過させることは、前記複数の出力の各々に前記ソート値インジケータを繰り返し送り、前記複数の出力のうちの少なくとも1つにおけるワーク要素が到達した前記ソート順序の値を示すことを含む、請求項23に記載のコンピュータシステム。
- 前記ソート値インジケータは、前記ソート順序でより早い値をもつワーク要素が前記コンポーネント間リンクを介して提供されないことを前記第2コンポーネントに合図する、請求項24に記載のコンピュータシステム。
- 前記ソート値インジケータは、処理されるワーク要素の数に従って繰り返し送られる、請求項24に記載のコンピュータシステム。
- 前記ソート値インジケータは、時間に従って繰り返し送られる、請求項24に記載のコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48239103P | 2003-06-25 | 2003-06-25 | |
US60/482,391 | 2003-06-25 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517764A Division JP5271494B2 (ja) | 2003-06-25 | 2004-06-22 | コンピュータ支援による計算グラフの並列化 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013269093A Division JP5863762B2 (ja) | 2003-06-25 | 2013-12-26 | コンピュータ支援による計算グラフの並列化 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012128887A JP2012128887A (ja) | 2012-07-05 |
JP5735448B2 true JP5735448B2 (ja) | 2015-06-17 |
Family
ID=33551983
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517764A Expired - Lifetime JP5271494B2 (ja) | 2003-06-25 | 2004-06-22 | コンピュータ支援による計算グラフの並列化 |
JP2012083817A Expired - Lifetime JP5735448B2 (ja) | 2003-06-25 | 2012-04-02 | コンピュータ支援による計算グラフの並列化 |
JP2013269093A Expired - Lifetime JP5863762B2 (ja) | 2003-06-25 | 2013-12-26 | コンピュータ支援による計算グラフの並列化 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517764A Expired - Lifetime JP5271494B2 (ja) | 2003-06-25 | 2004-06-22 | コンピュータ支援による計算グラフの並列化 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013269093A Expired - Lifetime JP5863762B2 (ja) | 2003-06-25 | 2013-12-26 | コンピュータ支援による計算グラフの並列化 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8059125B2 (ja) |
EP (1) | EP1636699A2 (ja) |
JP (3) | JP5271494B2 (ja) |
CN (2) | CN1842764B (ja) |
AU (2) | AU2004252918B2 (ja) |
CA (4) | CA2891145C (ja) |
WO (1) | WO2005001687A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014059914A (ja) * | 2003-06-25 | 2014-04-03 | Ab Initio Technology Llc | コンピュータ支援による計算グラフの並列化 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316359C (zh) * | 2005-06-09 | 2007-05-16 | 上海交通大学 | 用户指导的程序半自动并行化方法 |
US7716630B2 (en) * | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
AU2007286155B2 (en) * | 2006-08-10 | 2013-12-12 | Ab Initio Technology Llc. | Distributing services in graph-based computations |
US8201142B2 (en) * | 2006-09-29 | 2012-06-12 | Microsoft Corporation | Description language for structured graphs |
US7844959B2 (en) * | 2006-09-29 | 2010-11-30 | Microsoft Corporation | Runtime optimization of distributed execution graph |
US20080082644A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Distributed parallel computing |
US8074219B2 (en) | 2007-06-27 | 2011-12-06 | Microsoft Corporation | Order preservation in data parallel operations |
KR101635945B1 (ko) * | 2007-07-26 | 2016-07-04 | 아브 이니티오 테크놀로지 엘엘시 | 에러 핸들링이 가능한 그래프 기반의 트랜잭션 연산 처리 방법 및 시스템 |
US20100077384A1 (en) * | 2008-09-23 | 2010-03-25 | Microsoft Corporation | Parallel processing of an expression |
WO2010088523A1 (en) * | 2009-01-30 | 2010-08-05 | Ab Initio Technology Llc | Processing data using vector fields |
CN105843684B (zh) | 2009-02-13 | 2020-03-03 | 起元技术有限责任公司 | 管理任务执行 |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
CN107066241B (zh) | 2010-06-15 | 2021-03-09 | 起元技术有限责任公司 | 用于动态加载基于图的计算的系统和方法 |
US9430204B2 (en) | 2010-11-19 | 2016-08-30 | Microsoft Technology Licensing, Llc | Read-only communication operator |
US9507568B2 (en) * | 2010-12-09 | 2016-11-29 | Microsoft Technology Licensing, Llc | Nested communication operator |
US9395957B2 (en) | 2010-12-22 | 2016-07-19 | Microsoft Technology Licensing, Llc | Agile communication operator |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
US10180821B2 (en) * | 2013-12-05 | 2019-01-15 | Ab Initio Technology Llc | Managing interfaces for sub-graphs |
CA2959627C (en) * | 2014-09-02 | 2020-06-16 | Ab Initio Technology Llc | Executing graph-based program specifications |
CA2959389A1 (en) | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Compilation of graph-based program specifications with automated clustering of graph components based on the identification of particular data port connections |
CA3003822C (en) | 2014-09-02 | 2023-08-08 | Ab Initio Technology Llc | Specifying components in graph-based programs |
SG11201701563TA (en) * | 2014-09-02 | 2017-03-30 | Ab Initio Technology Llc | Managing invocation of tasks |
HUE046575T2 (hu) * | 2015-04-29 | 2020-03-30 | Framatome Sa | Eljárás kód ekvivalencia ellenõrzésére |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
WO2017027652A1 (en) | 2015-08-11 | 2017-02-16 | Ab Initio Technology Llc | Data processing graph compilation |
CN105068862B (zh) * | 2015-09-12 | 2018-10-23 | 中国电子科技集团公司第十研究所 | 统一划分数据链信息处理流程的方法 |
US10503562B2 (en) | 2015-12-17 | 2019-12-10 | Ab Initio Technology Llc | Processing data using dynamic partitioning |
US10671669B2 (en) | 2015-12-21 | 2020-06-02 | Ab Initio Technology Llc | Sub-graph interface generation |
KR102181640B1 (ko) | 2016-05-17 | 2020-11-23 | 아브 이니티오 테크놀로지 엘엘시 | 재구성가능한 분산 처리 |
KR102549994B1 (ko) * | 2017-03-29 | 2023-06-29 | 아브 이니티오 테크놀로지 엘엘시 | 가변 레벨 병렬화를 사용하여 데이터 처리 동작을 수행하기 위한 시스템 및 방법 |
US10817310B2 (en) | 2017-09-01 | 2020-10-27 | Ab Initio Technology Llc | Executing graph-based program specifications |
US11636485B2 (en) * | 2018-04-06 | 2023-04-25 | Fair Isaac Corporation | Efficient parallelized computation of global behavior profiles in real-time transaction scoring systems |
JP7013326B2 (ja) * | 2018-05-29 | 2022-01-31 | 株式会社日立製作所 | 情報処理システム、情報処理装置、および情報処理システムの制御方法 |
US12032631B2 (en) | 2018-05-30 | 2024-07-09 | Ab Initio Technology Llc | Systems and methods for dataflow graph optimization |
CN111177433B (zh) * | 2019-12-31 | 2021-07-20 | 北京百度网讯科技有限公司 | 用于并行处理信息的方法和装置 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117489A (en) * | 1987-04-22 | 1992-05-26 | Mitsubishi Denki Kabushiki Kaisha | Data-driven processor having an internal tag-generating system for generating a distinct tagged information and assembling with un-tagged information of an input/output data packet |
JPH01108638A (ja) * | 1987-10-21 | 1989-04-25 | Hitachi Ltd | 並列化コンパイル方式 |
JP2738692B2 (ja) * | 1988-01-29 | 1998-04-08 | 株式会社日立製作所 | 並列化コンパイル方法 |
US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
US4953106A (en) * | 1989-05-23 | 1990-08-28 | At&T Bell Laboratories | Technique for drawing directed graphs |
US5301284A (en) * | 1991-01-16 | 1994-04-05 | Walker-Estes Corporation | Mixed-resolution, N-dimensional object space method and apparatus |
US5347639A (en) * | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5313584A (en) * | 1991-11-25 | 1994-05-17 | Unisys Corporation | Multiple I/O processor system |
JPH05257709A (ja) * | 1992-03-16 | 1993-10-08 | Hitachi Ltd | 並列化判別方法およびそれを用いた並列化支援方法 |
US5394524A (en) | 1992-08-07 | 1995-02-28 | International Business Machines Corporation | Method and apparatus for processing two graphics data streams in parallel |
US5446915A (en) * | 1993-05-25 | 1995-08-29 | Intel Corporation | Parallel processing system virtual connection method and apparatus with protection and flow control |
US5475842A (en) * | 1993-08-11 | 1995-12-12 | Xerox Corporation | Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution |
US5440736A (en) * | 1993-11-24 | 1995-08-08 | Digital Equipment Corporation | Sorter for records having different amounts of data |
JP3442192B2 (ja) * | 1995-05-31 | 2003-09-02 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3560690B2 (ja) * | 1995-06-14 | 2004-09-02 | 富士通株式会社 | 並列プロセッサ装置 |
US6016150A (en) * | 1995-08-04 | 2000-01-18 | Microsoft Corporation | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers |
US6064393A (en) | 1995-08-04 | 2000-05-16 | Microsoft Corporation | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline |
US5682537A (en) * | 1995-08-31 | 1997-10-28 | Unisys Corporation | Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system |
US5813004A (en) * | 1995-09-25 | 1998-09-22 | International Business Machines Corporation | Partitioning and sorting logical units of data prior to reaching an end of the data file |
US5819021A (en) * | 1995-12-11 | 1998-10-06 | Ab Initio Software Corporation | Overpartitioning system and method for increasing checkpoints in component-based parallel applications |
US5909681A (en) * | 1996-03-25 | 1999-06-01 | Torrent Systems, Inc. | Computer system and computerized method for partitioning data for parallel processing |
US6311265B1 (en) | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US5799149A (en) * | 1996-06-17 | 1998-08-25 | International Business Machines Corporation | System partitioning for massively parallel processors |
US5870743A (en) * | 1996-06-24 | 1999-02-09 | Oracle Corporation | Method and apparatus for parallelizing operations that create a table |
US5966072A (en) * | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US6330008B1 (en) | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
US5999729A (en) * | 1997-03-06 | 1999-12-07 | Continuum Software, Inc. | System and method for developing computer programs for execution on parallel processing systems |
US6088716A (en) * | 1997-04-28 | 2000-07-11 | Ab Initio Software Corporation | Method for preventing buffer deadlock in dataflow computations |
US5956704A (en) * | 1997-06-05 | 1999-09-21 | Oracle Corporation | Method and apparatus for parallelizing operations that insert data into an existing data container |
US6266804B1 (en) * | 1997-12-23 | 2001-07-24 | Ab Initio Software Corporation | Method for analyzing capacity of parallel processing systems |
US6480876B2 (en) * | 1998-05-28 | 2002-11-12 | Compaq Information Technologies Group, L.P. | System for integrating task and data parallelism in dynamic applications |
US6205465B1 (en) * | 1998-07-22 | 2001-03-20 | Cisco Technology, Inc. | Component extensible parallel execution of multiple threads assembled from program components specified with partial inter-component sequence information |
US7047232B1 (en) * | 1999-01-13 | 2006-05-16 | Ab Initio Software Corporation | Parallelizing applications of script-driven tools |
JP2000242478A (ja) * | 1999-02-15 | 2000-09-08 | Internatl Business Mach Corp <Ibm> | 実行可能性判定装置およびその方法 |
US6311285B1 (en) * | 1999-04-27 | 2001-10-30 | Intel Corporation | Method and apparatus for source synchronous transfers at frequencies including an odd fraction of a core frequency |
US6978458B1 (en) * | 2000-11-17 | 2005-12-20 | Oracle International Corporation | Distributing data items to corresponding buckets for use in parallel operations |
US8059125B2 (en) | 2003-06-25 | 2011-11-15 | Ab Initio Technology Llc | Computer-aided parallelizing of computation graphs |
-
2004
- 2004-06-22 US US10/873,681 patent/US8059125B2/en active Active
- 2004-06-22 CA CA2891145A patent/CA2891145C/en not_active Expired - Lifetime
- 2004-06-22 AU AU2004252918A patent/AU2004252918B2/en not_active Expired
- 2004-06-22 EP EP04777236A patent/EP1636699A2/en not_active Ceased
- 2004-06-22 CA CA2891196A patent/CA2891196C/en not_active Expired - Lifetime
- 2004-06-22 CA CA2529925A patent/CA2529925C/en not_active Expired - Lifetime
- 2004-06-22 CN CN2004800243582A patent/CN1842764B/zh not_active Expired - Lifetime
- 2004-06-22 WO PCT/US2004/020834 patent/WO2005001687A2/en active Search and Examination
- 2004-06-22 CN CN2007101863164A patent/CN101165650B/zh not_active Expired - Lifetime
- 2004-06-22 CA CA2891143A patent/CA2891143C/en not_active Expired - Lifetime
- 2004-06-22 JP JP2006517764A patent/JP5271494B2/ja not_active Expired - Lifetime
-
2009
- 2009-11-20 AU AU2009238350A patent/AU2009238350B2/en not_active Expired
-
2011
- 2011-11-14 US US13/295,216 patent/US9569189B2/en not_active Expired - Lifetime
- 2011-11-14 US US13/295,206 patent/US8866817B2/en not_active Expired - Lifetime
-
2012
- 2012-04-02 JP JP2012083817A patent/JP5735448B2/ja not_active Expired - Lifetime
-
2013
- 2013-12-26 JP JP2013269093A patent/JP5863762B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014059914A (ja) * | 2003-06-25 | 2014-04-03 | Ab Initio Technology Llc | コンピュータ支援による計算グラフの並列化 |
Also Published As
Publication number | Publication date |
---|---|
US20050034112A1 (en) | 2005-02-10 |
CN101165650B (zh) | 2012-10-10 |
CA2891196A1 (en) | 2005-01-06 |
AU2004252918A1 (en) | 2005-01-06 |
CA2891143C (en) | 2019-02-12 |
JP2007529041A (ja) | 2007-10-18 |
WO2005001687A2 (en) | 2005-01-06 |
CA2891196C (en) | 2018-03-20 |
WO2005001687A3 (en) | 2005-07-21 |
CN101165650A (zh) | 2008-04-23 |
CA2529925C (en) | 2016-08-23 |
EP1636699A2 (en) | 2006-03-22 |
US8866817B2 (en) | 2014-10-21 |
CA2891143A1 (en) | 2005-01-06 |
AU2004252918B2 (en) | 2009-12-10 |
CN1842764A (zh) | 2006-10-04 |
US8059125B2 (en) | 2011-11-15 |
AU2009238350A1 (en) | 2009-12-17 |
US20120056892A1 (en) | 2012-03-08 |
JP5271494B2 (ja) | 2013-08-21 |
JP5863762B2 (ja) | 2016-02-17 |
CN1842764B (zh) | 2010-06-23 |
CA2891145A1 (en) | 2005-01-06 |
JP2012128887A (ja) | 2012-07-05 |
CA2891145C (en) | 2019-02-19 |
US20120056888A1 (en) | 2012-03-08 |
AU2009238350B2 (en) | 2011-08-25 |
US9569189B2 (en) | 2017-02-14 |
JP2014059914A (ja) | 2014-04-03 |
CA2529925A1 (en) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5735448B2 (ja) | コンピュータ支援による計算グラフの並列化 | |
JP2014059914A5 (ja) | ||
WO2005001687A9 (en) | Computer-aided parallelizing of computation graphs | |
JP6454706B2 (ja) | ソースコード変換 | |
CN106170762B (zh) | 管理包括子图的数据流图所用的接口 | |
CN115136113A (zh) | 用于生成计算图的编辑器 | |
EP3602297B1 (en) | Systems and methods for performing data processing operations using variable level parallelism | |
WO2022068124A1 (zh) | 一种可重构阵列处理器的指令调度系统及方法 | |
JP2010532528A (ja) | データ並列演算における順番保存 | |
US20080127059A1 (en) | Generating optimized simd code in the presence of data dependences | |
JP3549608B2 (ja) | 識別子による階層構造データの構造判定方法および装置 | |
EP1852777A2 (en) | Computer-aided parallelizing of computation graphs | |
Falk et al. | Integrated modeling using finite state machines and dataflow graphs | |
KR20230092635A (ko) | 양방향 인터페이스 조합기를 지원하는 하드웨어 기술 언어 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120427 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130716 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130719 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130816 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130902 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20141203 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150105 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5735448 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |