JP2011081539A - 並列化処理方法、システム、及びプログラム - Google Patents
並列化処理方法、システム、及びプログラム Download PDFInfo
- Publication number
- JP2011081539A JP2011081539A JP2009232369A JP2009232369A JP2011081539A JP 2011081539 A JP2011081539 A JP 2011081539A JP 2009232369 A JP2009232369 A JP 2009232369A JP 2009232369 A JP2009232369 A JP 2009232369A JP 2011081539 A JP2011081539 A JP 2011081539A
- Authority
- JP
- Japan
- Prior art keywords
- parallelized
- cluster
- graph
- processors
- parallelization
- 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
- 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
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】実行すべき処理を、複数の制御ブロックと、その制御ブロックをつなぐエッジで記述し、前記エッジのうち、予測性が高いエッジを選び、強連結クラスタを識別し、各強連結クラスタと、該強連結クラスタの間の孤立した非強連結クラスタのノード毎に、プロセッサ数と、そのコストと、対応クラスタをエントリとしてもつ並列化テーブル1102〜1116からなるグラフを作成してシリーズパラレルグラフに変換し、シリアルパス毎に、および、並列セクション毎にマージして、統合された並列化テーブルを形成する。その統合された並列化テーブルのプロセッサ数とコストの値に応じて、最良のエントリを選択し、そのエントリのクラスタに基づき、各プロセッサに割り当てるための実行可能コードを生成する。
【選択図】図11
Description
・集合
|X|は、集合Xに含まれている要素の数をあらわす。
¬Xは、集合Xの補集合をあらわす。
X−Y = X∩¬Y
X[i]は、集合Xのi番目の要素である。
MAX(X)は、集合Xに記録された最大値である。
FIRST(X)は、集合Xの最初の要素である。
SECOND(X)は、集合Xの最初の要素である。
グラフGは、<V,E>であらわす。
Vは、グラフGのノードの集合である。
Eは、グラフGの頂点(ノード)を結ぶエッジの集合である。
PARENT(v)は、グラフGにおけるノードv(∈V)の親ノードの集合である。
CHILD(v)は、グラフGにおけるノードv(∈V)の子ノードの集合である。
SIBLING(v)は、{c:c!=v, c∈CHILD(p),p∈PARENT(v)}で定義される。
エッジe = (u,v),(u∈V,v∈V)について、
SRC(e) := u
DEST(e) := v
クラスタとは、ブロックの集合を意味する。SCCもブロックの集合であり、クラスタの一種である。
WORKLOAD(C)とは、クラスタCのワークロードのことである。クラスタCのワークロードとは、クラスタCにおける全てのブロックのワークロードを足し合わせることによって計算される。
START(C)は、クラスタCを含むクラスタの集合に対して、静的なスケジューリングが実行された際に、クラスタCの開始時刻を表す。
END(C)は、クラスタCを含むクラスタの集合に対して、静的なスケジューリングが実行された際に、クラスタCの終了時刻を表す。
Tは、下記のようなエントリIの集合である。
I := <プロセッサの数, スケジュール長, クラスタの集合>
ENTRY(T,i)とは、並列化テーブルTにおいて、最初の要素がiであるエントリである。
LENGTH(T,i)とは、並列化テーブルTにおいて、最初の要素がiであるエントリの第2の要素である。そのようなエントリがないなら、∞を返す。
CLUSTERS(T,i)とは、並列化テーブルTにおいて、プロセッサのフィールドがiであるエントリに記録されているクラスタの集合である。
シリーズパラレル入れ子ツリーGsp-treeは、<Vsp-tree,Esp-tree>で表される、バイナリ・ツリーである。
Vsp-treeは、Gsp-treeのノードの集合を表し、各ノードはエッジと記号の組(f,s)となる。ここで、f∈Ept-sp(ここで、Ept-spは、あるグラフのエッジを要素とする集合)であり、s∈{"L","S","P"}である。
"L"は、葉(leaf)、"S"は直列(series)、"P"は並列(parallel)という種別をあらわす記号である。
Esp-treeは、ツリーGsp-treeのエッジ(u,v)の集合である。
EDGE(n)(n∈Vsp-tree)は、nの最初の要素である。
SIGN(n)(n∈Vsp-tree)は、nの2番目の要素である。
LEFT(n)(n∈Vsp-tree)は、ツリーGsp-treeにおけるノードnの左の子ノードである。
RIGHT(n)(n∈Vsp-tree)は、ツリーGsp-treeにおけるノードnの右の子ノードである。
Gpred := <Vpred,Epred>とあらわす。すると、Vpred = Vであるが、Epred = E - 予測可能なエッジの集合となる。
このように検出されたSCCを以って、SCCのグラフを、
GSCC := <VSCC,ESCC>とあらわす。
ここで、VSCCは、このアルゴリズムによって作成されたSCCの集合であり、
ESCCは、VSCCにおいてSCCを接続するエッジの集合である。
さらにまたここでは、ノードがループを構成するSCC(すなわち、二つ以上のブロックを含むSCC)の集合であるVloopも作成される。
このように統合されたグラフを、Garea := <Varea,Earea>とあらわす。
ここで、Vareaは、このアルゴリズムによって統合されて新たにできた非SCCクラスタと、このアルゴリズムで変化の無かったSCCクラスタの集合であり、
Eareaは、Vareaの要素間を接続するエッジの集合である。
さらにまたここでは、新しく作成された非SCCクラスタの集合である、Vnon-loopも作成される。
ここで、Vptは、このアルゴリズムによって作成された並列化テーブルの集合であり、
Eptは、Vptの要素間を接続するエッジの集合である。
図14の例では、集合Rfinal = { C'''1, C''2, C'3, C4} である。
示されているステップ1502において、以下の処理が行われる。
SCCアルゴリズムを Gpredに適用する。このSCCアルゴリズムとしては、例えば、R. Tarjan, “Depth-first search and linear graph algorithms” SIAM Journal on Computing, pp. 146-160, 1972に記載されている。
Vscc = そのアルゴリズムによって得られたSCCの集合
Escc = { (C, C’) : C∈Vscc , C’∈Vscc , C!=C’,
∃(u, v) ∈Epred, u∈C, v∈C’}
Gscc = <Vscc , Escc>
Vloop = {C : C∈Vscc , |C| > 1}
H = {C : C ∈ {Vloop ∪{C’: C’ ∈Vscc - Vloop , |PARENT(C’)| = 0}} }
S = スタック, T = SCCと新しいクラスタの間の空の写像.
Varea = 新しいクラスタの空集合
ここで¬Vloopは、VSCCを全体集合としたときのVloopの補集合である。
SからCを取り出す
(C, Cnew) をTに入れる
F = CHILD(C)
|{(Cchild, C’) ∈T : C’ ∈Varea }| = 0かどうか判断され、もしそうなら、ステップ1628で、CchildをSに入れた後、ステップ1620に戻る。
Clear_path_and_assign(Cchild,T)という関数を呼び出し、ステップ1620に戻る。
Clear_path_and_assign(Cchild,T)の詳細は、後で詳しく説明する。
Tにおけるすべての要素 (C, Cnew) について, Cの全てのブロックをCnewに入れる
Varea = { Varea - {C’ : C’ ∈Varea , |C’| = 0} } ∪Vloop
Earea = {(C, C’) : C ∈Varea , C’ ∈Varea , C!=C’ , ∃(u, v) ∈Epred , u∈C, v∈C’}
Garea = <Varea, Earea>
Vnon-loop = Varea - Vloop
という処理を行って、終わる。
S1 = スタック
Cchild を S1に入れる。
Tから第一要素がCchildである要素 (Cchild, Cprev_new) を見つける。
新しい 空クラスタCnewを作成する。
CnewにVareaを入れる。
CをS1から取り出す。
Tから第一要素がCである要素 (C, X)を除く,ただし、X∈Varea
(C, Cnew)をTに加える。
F1 = CHILD(C)
i = 1
VloopからクラスタCを得る。
L = { (u, v) : u∈C, v∈C, (u, v) ∈Epred }
Gtmp = <C, L>
Tc = 0エントリの新しい並列化テーブル
ここで、Gtmp = <C, L>とは、Cに含まれるブロックをノードとし、Lに含まれるエッジをエッジとするグラフをGtmpとすることを表している。
ここで、検出されたバックエッジの集合は、Bとおく。
そして、Gc = <C,L-B>
そうして、結果のクラスタの集合(i個のクラスタ)をRとおき、Gcの結果のスケジュール長をtとおく。
ここで、スケジュール長とは、上記のスケジューリングの結果、処理の開始から終了までに要する時間である。
またこのとき、上記のスケジューリングの結果、最も最初に実行されるブロックの処理の開始時刻を0とし、各クラスタの開始時刻と終了時刻を、それぞれ、そのクラスタが対応するプロセッサ上で最初にブロックの処理が実行される時刻と、最後のブロックの処理が終了する時刻として記録し、参照可能な状態にしておく。
Vnon-loopにおける各クラスタ毎に並列化テーブルを計算する処理をより詳細に説明する。この処理は、図5の並列化テーブル処理モジュール514が実行する。
Vpt := Vpt-loop ∪ Vpt-non-loopによって、2つのクラスタの合弁が得られる。
Ept := { (T, T’) : T ∈Vpt, T’∈Vpt, T!=T’,∃(u, v) ∈Epred,
u∈FIRST(CLUSTERS(T,1)) , v∈FIRST(CLUSTERS(T’,1)) }
なお、CLUSTERS(T,1)は、常に1つのクラスタを返す。なぜなら、二番目の引数が示すように、利用可能なプロセッサの数が1だからである。
また、同一の終点の対をもつエッジが、1つに統合される。
Gpt を、直接−並列グラフ Gpt-sp = <Vpt-sp, Ept-sp> に変換する処理が行われる。これは例えば、Arturo Gonzalez Escribano, Valentin Cardenoso Payo, and Arjan J.C. van Gemund, “Conversion from NSP to SP graphs”, Tech. Rep. TRDINFO -01-97, Universidad de Valladolid, Valladolid (Spain), 1997に記述されているような方法で、行われる。
Vpt-sp = Vpt∪Vdummy
ここで、Vdummyは、このアルゴリズムによって追加されるダミー・ノードの集合である。各ダミー・ノードは、並列化テーブル{(i,0,φ):i=1,...,m}であり、mは、ターゲット・システムにおける利用可能なプロセッサの数である。
また、下記によって、Ept-spがえられる。
Ept-sp = Ept∪Edummy
ここで、Edummyは、Vpt-spの要素を接続する、このアルゴリズムによって追加されたダミー・エッジである。
Gsp-tree := get_series_parallel_nested_tree(Gpt-sp)
なお、get_series_parallel_nested_tree()という関数については、後で詳細に説明する。
次に、下記の式によって、Tunifiedを得る。
Tunified := get_table(nroot)
なお、get_table()という関数については、後で詳細に説明する。
∧ |{e=(T, T'') : e∈Ecpy}|=1 }によって、集合を更新する。
Gsp-tree := <Vsp-tree, Esp-tree>として、処理を終る。
まず、ScandからTを取得し、
f := (T’, T ), f’ := (T, T'') とし、
ここで (T’, T)∈Ecpy , (T, T'')∈Ecpy
新しいエッジ f’’ = (T’, T'')を作成し、
nsnew = (f'',“S”)
nsnewを、Vsp-treeに入れる。
lsl = LENGTH(Tl,i)
lsr = LENGTH(Tr,j)
ls = MAX(lsl,lsr)
Rl = CLUSTERS(Tl,i)
Rr = CLUSTERS(Tr,j)
Rnew = Rl ∪ Rr
Rl = CLUSTERS(Tl,i)
Rr = CLUSTERS(Tr,j)
(Rnew,ls) = merge_clusters_in_shared(Rl,Rr,i)
なお、merge_clusters_in_shared()の処理の詳細については、後で説明する。
さらに、
T1 = series_merge(Tl,Tr)
T2 = series_merge(Tr,Tl)
とセットされる。series_mergeについては、図24で説明済みである。
l1 = LENGTH(T1,i)
l2 = LENGTH(T2,i)
R = CLUSTERS(T1,i)とされ、(i,l1,R)がTnewに記録される。
また、Rr中のクラスタを、その終了時間で昇順にソートする。
次に、END(Rl[x]) - START(Rr[x]) が最大となるように、1からiの中から、インデックスxを選ぶ。
さらに、以下の計算を行なう。
w = MAX({ v = END(Rl[u])+gap[u]+WORKLOAD(Rr[u]) :
gap[u] = END(Rl[x])-START(Rr[x])+START(Rr[u])-END(Rl[u]), u=1,…,i})
R := {Ru: Ru:=Rl[u]∪Rr[u], u = 1,…,i}
404a、404b、404c、404n・・・ CPU
406 メイン・メモリ
408 バス
410 キーボード
412 マウス
414 ディスプレイ
416 ハードティスク・ドライブ
418 ブリッジ
502 シミュレーション・モデリング・ツール
504 ソース・コード
506 解析モジュール
504 ソースコード
508 グラフ表現
510 クラスタリング・モジュール
512 変形モジュール
514 並列化テーブル処理モジュール
516 並列化テーブル
518 コード生成モジュール
520 コンパイラ
522 実行環境
802 エッジ
902 クラスタ
1102 並列化テーブル
1110 並列化テーブル
1202 並列化テーブルのグラフ
Claims (7)
- コンピュータの処理によって、マルチプロセッサ・システムで、個々のプロセッサに割当てて並列実行させるためのコードを生成する方法であって、
実行すべき処理を、複数の制御ブロックと、その制御ブロックをつなくエッジで記述するステップと、
強連結クラスタを識別するステップと、
各強連結クラスタと、該強連結クラスタの間の孤立した非強連結クラスタのノード毎に、プロセッサ数と、そのコストと、対応クラスタをエントリとしてもつ並列化テーブルを作成するステップと、
並列化テーブルからなるグラフを作成するステップと、
該並列化テーブルからなるグラフをシリーズパラレルグラフに変換するステップと、
シリアルパス毎に、前記並列化テーブルをマージするステップと、
並列セクション毎に、前記並列化テーブルをマージするステップとを有する、
コード生成方法。 - 前記マージされた並列化テーブルのエントリのプロセッサ数とコストに基づき、利用可能なプロセッサの数の範囲でコスト的に最良のエントリを選ぶステップと、
該最良のエントリのクラスタに基づき、個々のプロセッサに割り当てるための実行可能コードを生成するステップをさらに有する、請求項1に記載のコード生成方法。 - コンピュータの処理によって、マルチプロセッサ・システムで、個々のプロセッサに割当てて並列実行させるためのコードを生成するシステムであって、
実行すべき処理を、複数の制御ブロックと、その制御ブロックをつなくエッジで記述する手段と、
強連結クラスタを識別する手段と、
各強連結クラスタと、該強連結クラスタの間の孤立した非強連結クラスタのノード毎に、プロセッサ数と、そのコストと、対応クラスタをエントリとしてもつ並列化テーブルを作成する手段と、
並列化テーブルからなるグラフを作成するステップと、
該並列化テーブルからなるグラフをシリーズパラレルグラフに変換するステップと、
シリアルパス毎に、前記並列化テーブルをマージする手段と、
並列セクション毎に、前記並列化テーブルをマージする手段とを有する、
コード生成システム。 - 前記マージされた並列化テーブルのエントリのプロセッサ数とコストに基づき、利用可能なプロセッサの数の範囲でコスト的に最良のエントリを選ぶ手段と、
該最良のエントリのクラスタに基づき、個々のプロセッサに割り当てるための実行可能コードを生成する手段をさらに有する、請求項3に記載のコード生成システム。 - マルチプロセッサをもち、請求項4に記載の実行可能コードを生成する手段によって生成されたコードを個々のプロセッサに割り当て実行させるための実行環境を提供するコンピュータ・システム。
- コンピュータの処理によって、マルチプロセッサ・システムで、個々のプロセッサに割当てて並列実行させるためのコードを生成するプログラムであって、
前記コンピュータをして、
強連結クラスタを識別するステップと、
各強連結クラスタと、該強連結クラスタの間の孤立した非強連結クラスタのノード毎に、プロセッサ数と、そのコストと、対応クラスタをエントリとしてもつ並列化テーブルを作成するステップと、
並列化テーブルからなるグラフを作成するステップと、
該並列化テーブルからなるグラフをシリーズパラレルグラフに変換するステップと、
シリアルパス毎に、前記並列化テーブルをマージするステップと、
並列セクション毎に、前記並列化テーブルをマージするステップとを実行させる、
コード生成プログラム。 - 前記マージされた並列化テーブルのエントリのプロセッサ数とコストに基づき、利用可能なプロセッサの数の範囲でコスト的に最良のエントリを選ぶステップと、
該最良のエントリのクラスタに基づき、個々のプロセッサに割り当てるための実行可能コードを生成するステップをさらに有する、請求項6に記載のコード生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232369A JP4931978B2 (ja) | 2009-10-06 | 2009-10-06 | 並列化処理方法、システム、及びプログラム |
US12/898,851 US20110083125A1 (en) | 2009-10-06 | 2010-10-06 | Parallelization processing method, system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232369A JP4931978B2 (ja) | 2009-10-06 | 2009-10-06 | 並列化処理方法、システム、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011081539A true JP2011081539A (ja) | 2011-04-21 |
JP4931978B2 JP4931978B2 (ja) | 2012-05-16 |
Family
ID=43824139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009232369A Expired - Fee Related JP4931978B2 (ja) | 2009-10-06 | 2009-10-06 | 並列化処理方法、システム、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110083125A1 (ja) |
JP (1) | JP4931978B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020580A (ja) * | 2011-07-14 | 2013-01-31 | Internatl Business Mach Corp <Ibm> | 並列化方法、システム、及びプログラム |
WO2013046363A1 (ja) | 2011-09-28 | 2013-04-04 | トヨタ自動車株式会社 | エンジン制御装置 |
JP2013134670A (ja) * | 2011-12-27 | 2013-07-08 | Toshiba Corp | 情報処理装置及び情報処理方法 |
JP2019526853A (ja) * | 2016-07-29 | 2019-09-19 | アー・ファウ・エル・リスト・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 直接フィードスルーループを有する信号フローに基づいたコンピュータプログラム。 |
WO2022052973A1 (zh) * | 2020-09-10 | 2022-03-17 | 阿里巴巴集团控股有限公司 | 一种模型处理方法、装置、设备及计算机可读存储介质 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161048B2 (en) * | 2009-04-24 | 2012-04-17 | At&T Intellectual Property I, L.P. | Database analysis using clusters |
JP5059174B2 (ja) * | 2010-08-10 | 2012-10-24 | 株式会社東芝 | プログラム変換装置、およびそのプログラム |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9508181B2 (en) * | 2011-08-31 | 2016-11-29 | Adobe Systems Incorporated | Ordering and rendering buffers for complex scenes with cyclic dependency |
US9003383B2 (en) * | 2011-09-15 | 2015-04-07 | You Know Solutions, LLC | Analytic engine to parallelize serial code |
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10033766B2 (en) | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
US10089099B2 (en) | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048052A (ja) * | 2005-08-10 | 2007-02-22 | Internatl Business Mach Corp <Ibm> | コンパイラ、制御方法、およびコンパイラ・プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2288614C (en) * | 1999-11-08 | 2004-05-11 | Robert J. Blainey | Loop allocation for optimizing compilers |
JP3664473B2 (ja) * | 2000-10-04 | 2005-06-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの最適化方法及びこれを用いたコンパイラ |
US7793276B2 (en) * | 2003-11-14 | 2010-09-07 | Intel Corporation | Apparatus and method for automatically parallelizing network applications through pipelining transformation |
US20100070958A1 (en) * | 2007-01-25 | 2010-03-18 | Nec Corporation | Program parallelizing method and program parallelizing apparatus |
US8752008B2 (en) * | 2009-09-02 | 2014-06-10 | Advanced Micro Devices, Inc. | Lightweight service based dynamic binary rewriter framework |
-
2009
- 2009-10-06 JP JP2009232369A patent/JP4931978B2/ja not_active Expired - Fee Related
-
2010
- 2010-10-06 US US12/898,851 patent/US20110083125A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048052A (ja) * | 2005-08-10 | 2007-02-22 | Internatl Business Mach Corp <Ibm> | コンパイラ、制御方法、およびコンパイラ・プログラム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020580A (ja) * | 2011-07-14 | 2013-01-31 | Internatl Business Mach Corp <Ibm> | 並列化方法、システム、及びプログラム |
WO2013046363A1 (ja) | 2011-09-28 | 2013-04-04 | トヨタ自動車株式会社 | エンジン制御装置 |
JP5668864B2 (ja) * | 2011-09-28 | 2015-02-12 | トヨタ自動車株式会社 | エンジン制御装置 |
US9624774B2 (en) | 2011-09-28 | 2017-04-18 | Toyota Jidosha Kabushiki Kaisha | Engine control apparatus |
JP2013134670A (ja) * | 2011-12-27 | 2013-07-08 | Toshiba Corp | 情報処理装置及び情報処理方法 |
JP2019526853A (ja) * | 2016-07-29 | 2019-09-19 | アー・ファウ・エル・リスト・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 直接フィードスルーループを有する信号フローに基づいたコンピュータプログラム。 |
JP7127015B2 (ja) | 2016-07-29 | 2022-08-29 | アー・ファウ・エル・リスト・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 直接フィードスルーループを有する信号フローに基づいたコンピュータプログラム。 |
US11720722B2 (en) | 2016-07-29 | 2023-08-08 | Avl List Gmbh | Signal flow-based computer program with direct feedthrough loops |
WO2022052973A1 (zh) * | 2020-09-10 | 2022-03-17 | 阿里巴巴集团控股有限公司 | 一种模型处理方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20110083125A1 (en) | 2011-04-07 |
JP4931978B2 (ja) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4931978B2 (ja) | 並列化処理方法、システム、及びプログラム | |
Chandrasekaran et al. | OpenACC for programmers: concepts and strategies | |
JP5209059B2 (ja) | ソース・コード処理方法、システム、及びプログラム | |
JP4886838B2 (ja) | 並列化方法、システム、及びプログラム | |
US8438553B2 (en) | Paralleling processing method, system and program | |
Perchat et al. | Component based framework to create mobile cross-platform applications | |
JP6021342B2 (ja) | 並列化方法、システム、及びプログラム | |
Rodrigues et al. | An MDE approach for automatic code generation from UML/MARTE to OpenCL | |
Ziogas et al. | Productivity, portability, performance: Data-centric Python | |
JP5479942B2 (ja) | 並列化方法、システム、及びプログラム | |
JP6004818B2 (ja) | 並列化方法、システム、及びプログラム | |
CN105700933A (zh) | 可重构处理器的高级语言的并行化和循环优化方法及系统 | |
Castrillon et al. | Dataflow Models of computation for programming heterogeneous multicores | |
JP5775386B2 (ja) | 並列化方法、システム、及びプログラム | |
Gebremedhin | Parmodelica: Extending the algorithmic subset ofmodelica with explicit parallel languageconstructs for multi-core simulation | |
Harrison et al. | Tools for multiple-CPU environments | |
Basthikodi et al. | Classifying a program code for parallel computing against hpcc | |
Clucas et al. | CAPP: A C++ aspect-oriented based framework for parallel programming with OpenCL | |
WO2011090032A1 (ja) | 並列処理プログラム生成方法、並列処理プログラム生成プログラム、及び並列処理プログラム生成装置 | |
US11556357B1 (en) | Systems, media, and methods for identifying loops of or implementing loops for a unit of computation | |
US8990791B2 (en) | Intraprocedural privatization for shared array references within partitioned global address space (PGAS) languages | |
Athrij | Vectorizing Memory Access on HammerBlade Architecture | |
KHALILI MAYBODI | A Data-Flow Threads Co-processor for MPSoC FPGA Clusters | |
Wu et al. | Task Mapping and Scheduling on RISC-V MIMD Processor With Vector Accelerator Using Model-Based Parallelization | |
Ziogas | A Data-Centric Optimization Workflow for the Python Language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
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: 20120124 |
|
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: 20120214 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150224 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |