JP6047747B2 - 制御タイプの実行モードとデータフロータイプの実行モードとの組み合わせによりタスクを並列に実行可能な複数の処理ユニットを有するシステム - Google Patents
制御タイプの実行モードとデータフロータイプの実行モードとの組み合わせによりタスクを並列に実行可能な複数の処理ユニットを有するシステム Download PDFInfo
- Publication number
- JP6047747B2 JP6047747B2 JP2010537453A JP2010537453A JP6047747B2 JP 6047747 B2 JP6047747 B2 JP 6047747B2 JP 2010537453 A JP2010537453 A JP 2010537453A JP 2010537453 A JP2010537453 A JP 2010537453A JP 6047747 B2 JP6047747 B2 JP 6047747B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- data
- cluster
- memory
- manager
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 161
- 230000015654 memory Effects 0.000 claims description 279
- 238000004891 communication Methods 0.000 claims description 123
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 44
- 230000007246 mechanism Effects 0.000 description 36
- 238000007726 management method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000011068 loading method Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 6
- 230000006399 behavior Effects 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 6
- 239000010703 silicon Substances 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000001788 irregular Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013213 extrapolation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- SYJGKVOENHZYMQ-UHFFFAOYSA-N Penoxsulam Chemical compound N1=C2C(OC)=CN=C(OC)N2N=C1NS(=O)(=O)C1=C(OCC(F)F)C=CC=C1C(F)(F)F SYJGKVOENHZYMQ-UHFFFAOYSA-N 0.000 description 1
- 241000271897 Viperidae Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- SNICXCGAKADSCV-UHFFFAOYSA-N nicotine Chemical compound CN1CCCC1C1=CC=CN=C1 SNICXCGAKADSCV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000002062 proliferating effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Description
for (x=0; x< XM; x++)
for (y=0; y< YM; y++)
{u= Fx(x);
v= Fy(y);
dest[x][y]= src[u][v];}
● 消費Fx及びFyに対する4つの実行タスク。これらは最も高価な計算である。
● 適宜、中央メモリから及び隣接するクラスタからロードされるマクロブロックの制限値の評価を担当する処理。
● マクロブロックをロードするためのDMA処理。
● 計算/予測されたマクロブロックに基づいてロードされたブロックで、モーフィングを実行するループの主処理。
● クラスタのローカルメモリに現在ロードされているマクロブロックを隣接クラスタに信号で知らせるDMA処理。
● 中央メモリ内で返還されたデータを出力するDMA処理。
● データ項目はクラスタのローカルメモリ内に存在する。操作されるには、データ項目が、その処理に割り当てられたPEによってアクセスされる必要がある。PE変換テーブルの状態に応じて2つのケースが発生し得る。
○ PEのローカル変換テーブルがすでに更新されている:PEはそのテーブルへのアクセス方法を把握しているので、データ項目を操作することにより、それに割り当てられた処理を実行することができる。
○ PEのローカル変換テーブルが更新されていない:PEはデータ項目へのアクセス方法を把握していないので、PEのローカル変換テーブルの更新内容を返送するメモリマネージャに情報項目が送信される。図9は、ts及びts(の2つの時点の間でのPE1の一時停止時間に相当する期間をタイムチャートによって表す。この時間はその変換テーブルを更新するのに必要である。
● データ項目がクラスタのローカルメモリ内に存在しない。ただし、最初に、ローカル変換テーブルが更新されていない場合に、これは前の場合と同じように発生する:PEはメモリマネージャに要求を送信する。次いで、2つの予備の場合が区別され得る。
○ データ項目は、タスクマネージャによってタスクの構築に提供されるデータに従って、クラスタ上で予想されるデータの一部を形成する。PE上で実行するタスクが無効になり、スタンバイ状態でタスクT1からのデータを待機していることを示すデータ項目が、メモリマネージャによってタスクマネージャにディスパッチされる。図10は、T3の実行の一時停止の最小時間に対応するtsとts’との間の期間をタイムチャートによって表す。
○ データ項目が、エンベロープ予測タスクT7によってクラスタで予想されるデータの一部を形成しない:無効なメモリアクセスの場合、メモリマネージャによってタスクマネージャに例外がアップロードされる。タスクマネージャはこのイベントでタスクT1’を起動し、欠測データ項目とその周辺をロードする。タスクT1’は図示していない。
● タスクごとに、タスクの起動に必要な最低限の依存関係のリストと、クォータのオーバーフロー又はデータを待機するスタンバイ状態等、実行を条件付けするイベントと、操作対象の仮想メモリ空間の記述子(オプション)とを含むタスクのリスト。
● 次のタスクを割り当てるためにタスクマネージャによって使用可能な仮想PEのリスト。必ずしもPEを物理的に識別しなくてもPEの可用性との関連でPEの割り当ての物理的な識別がPEの管理手段によって管理されるので、このリストは仮想的なリストと呼ばれる。
● すべての前提条件を満足する、実行準備の整ったタスクのリスト。
● 実行準備の整ったタスクを、クラスタ上で利用可能な対応するPEと調和させるスケジューラ。最適なスケジューリングポリシーは、一般にはアプリケーションの分野によって決まる。例えば、クリティカルなタイムリアルスケジューリングは、有利には、最も期限が迫っているタスクを優先的にスケジュールするEDF(「最迫期限優先」)スケジューリングアルゴリズムに基づいたスケジューリングポリシーを使用する。制約が緩いマルチメディアシステムの場合は、コストのあまりかからないリニアタイムスケジューリングを調整するのが適切であると考えられる。このため、スケジューラはプログラム可能、再設定可能、又は少なくともパラメータ化可能であることが好ましい。
● まず、種々のタスクが起動される:要求されたデータをタスクT1がまだ受信していない場合は、クラスタのレベル及びタスクT2〜T6のレベルの変換テーブルに、予測ブロックのデータは与えられない。それでも予測ブロック内でメモリアクセスが発生しない場合、メモリマネージャはタスクによって要求されたデータがまだ利用できない旨をタスクマネージャに知らせるだけである。タスクマネージャは、存在するスケジューリングポリシー及びタスクに従って、タスクをスタンバイ状態に保持することを選択するか、タスクを交換して他より緊急なものに対応して切り替えることができる。
○ 要求されたアドレスが、タスクはアクセス可能であると推測される範囲の外にある場合、タスクマネージャに例外がアップロードされる。これがソース画像へのアクセスを伴う場合、例外手順ではローディング予測エラーを管理する必要がある。他のケースでは、実際にエラーを伴うと、そのように処理される。タスクマネージャレベルでこれを管理する方法は、そのプログラム可能であるレベルによって決まる。これはタスクマネージャの例外プログラムとしてプログラムされ得るか、単に例外ローディングタスクT1’を起動する信号として処理され得る。
● 時間T1でデータブロックが生成されるたびに、メモリマネージャにその旨が通知される。図11において時点t3付近のタイムチャートによって詳細に示すように、メモリマネージャは以下の処理を行う。
○ 通信に応答してブロック1の割り当てを解除する。これについては図11の時点t3で「メモリ1−ブロック1」の「Com.Buf.」によって示す。
○ 通信に対して新しいブロック2を再度割り当てることで、通信チャネルに関する1つの損失を補償する。これについては図11に「メモリ1−ブロック2」によって示す。
□ この再割り当てが失敗した場合、タスクマネージャに例外信号がアップロードされ、通信がエラー状態にあることを信号で伝える。
○ 消費タスクT2〜T6にブロックを割り当てながら、タスクごとにこのデータ項目のメモリクォータを超過していないことを確認する。このメモリクォータを超過している場合、ネットワーク伝送チャネルを無効にするためにタスクマネージャに信号がディスパッチされる。超過していない場合、メモリマネージャは実施形態を選択する際、以下のことが可能である。
□ タスクマネージャに系統的に警告を出して、タスクT2〜T6についてローカル変換テーブルを更新する。
□ タスクによって要求された全てのアドレスがアドレス変換テーブルに反映されるのを待って、対応するタスクの再起動が可能である旨をタスクマネージャに信号で伝える。この実施形態は最も効果的であり、これが可能な限り好ましい。
○ メモリマネージャはまた、タスクT7のためにT2の一部でデータ生成信号を受信し、T1によってロードされたデータのブロックに対して使用終了信号を受信する。したがって、タスクT2〜T6がすべて、所与のブロックについて使用終了信号をディスパッチした場合、この信号をディスパッチしたタスクのラベルと、これらのデータを使用するタスクのラベルのリストの内容との比較により、メモリマネージャは、他のデータによって再使用されるよう、対応するクラスタのローカルメモリ空間を部分的に解放することができる。
○ データがT1によって生成されるタスクT2〜T6の場合と同様に、変換されたブロックの極値の生成と並行してタスクT7をアクティブにすることができる。
● 目的の画像の生成と並行して、タスクT8はNoCを介してDRAMにデータを転送し、これによって再使用可能になったローカル結果のブロックを解放する。
● オプションとして、データを早期にロードするためのメカニズムである当技術分野で公知の「プリフェッチ」フェーズにてロードされた余剰なデータは、後続のクラスタに転送することができ、これによって後続のクラスタは、必要とするデータの一部を取得するのにDRAMを通過しなくても済むようになる。
● クラスタ1:
○ タスクTDMAI1C1:MPEG−2ストリームのクラスタ1へのDMAインポート。
○ タスクT1C1:可変長のデコーダ。
○ タスクT2C1:マクロブロックのデータのリシェーピング。
○ タスクT3C1:量子化。
○ タスクT4C1:モーションベクタデコーダ。
○ タスクTDMAO1C1:クロミナンスモーションベクタのDMAエクスポート。
○ タスクTDMAO2C1:輝度モーションベクタのDMAエクスポート。
○ タスクTDMAO3C1:量子化されたマクロブロックのDMAエクスポート。
● クラスタ2:
○ タスクTDMAI1C2:クロミナンスモーションベクタのDMAインポート。
○ タスクTDMAI2C2:量子化されたマクロブロックのDMAインポート。
○ タスクTDMAI3C2:リファレンスクロミナンスマクロブロックのDMAインポート。
○ タスクT1C2:逆離散コサイン変換。
○ タスクT2C2:飽和。
○ タスクT3C2:モーション補正、赤色クロミナンス。
○ タスクT4C2:モーション補正、青色クロミナンス。
○ タスクTDMAO1C2:赤色クロミナンスのDMAエクスポート。
○ タスクTDMAO2C2:青色クロミナンスのDMAエクスポート。
● クラスタ3:
○ タスクTDMAI1C3:赤色クロミナンスのマクロブロックのDMAインポート。
○ タスクTDMAI2C3:青色クロミナンスのマクロブロックのDMAインポート。
○ タスクTDMAI3C3:輝度モーションベクタのDMAインポート。
○ タスクTDMAI4C3:リファレンス輝度のマクロブロックのDMAインポート。
○ タスクT1C3:赤色オーバーサンプリング。
○ タスクT2C3:青色オーバーサンプリング。
○ タスクT3C3:輝度モーション補正。
○ タスクT4C3:カラースペースの凝集及び変換。
○ タスクTDMAO1C3:デコード済みビデオストリームのDMAエクスポート。
● TDMAI1C1がストリームをその到着と並行してクラスタのローカルメモリにロードする。
● T1C1は事前パケットの数に関してクォータを有し、これにより、事前フレームの数が十分であると(おそらく通信レイテンシーに応じて3〜5フレーム)直ちに転送を停止できる。管理手段で可変サイズのブロックによる割当が許容されている場合、クォータを細かくディメンショニングできる。そうでない場合は、クォータは固定サイズのブロックの倍数である必要がある。
● 同様に、T2C1とT4C1はマクロブロックの数及び飽和前のデコードされていないベクタの数についてクォータを有する。この階層に達した場合、タスクマネージャはプロデューサタスク、即ちT1C1を無効にする。自動的にブロック解除されない状況の場合、既に無効になっているタスクT1C1はTDMA1C1によって提供される入力データも消費しないため、通信は無効となる。クォータが正しく評価された時点から、クォータを制御するための前述のメカニズムにより、処理オペレーションの実現の重荷になることなく、暗黙的な方法でデータストリームの規制を実行できる。クォータが正しくディメンショニングされなかった場合、クォータの過負荷が原因で、メモリ割当又は通信の明示的なエラーを招く。この場合、パフォーマンスの低下のアンダーロードは容易に明らかである。コンパイル時にクォータを設定するだけで、通常の動作下でシステム自体が自身のロードバランシングを行うことは当然のことと思われる。
● これを当然のこととみなすと、アプリケーションの振る舞い自体は何ら問題を提起するものではない。タスクのデータの準備が整わない限り、そのタスクはスタンバイ状態に置かれるか、又はシステムに他のアプリケーションが含まれる場合及びスケジューリングポリシーで許容される場合は、スイッチングされる。1つ又は複数の消費タスクが遅過ぎて処理できない場合を除き、データが整うと同時に、処理オペレーションを実行し、出力データを生成できる。1つ又は複数の消費タスクが遅過ぎて処理できない場合、モーフィングアプリケーションで説明するように、消費タスクのメモリクォータの違反により、タスクマネージャによりプロデューサタスクは一時停止される。
● 到着時にいくらかのメモリが存在する限り、通信チャネルを定義するDMAタスクに注目することで、クラスタ間のデータの受け渡しが行われることは明白である。このチャネルは処理オペレーション間の通信のルーティングに関連するもので、チップ上のアプリケーションの処理オペレーションのマッピング/ルーティングに起因する。このため、通信はオリジンクラスタのローカルメモリに格納されたソースデータを伴う。また、DMA送信タスクも通信は伴う。更に、ルーティングによりその通信用に帯域幅が確保されているNoCのチャネルも伴う。最後に、メモリマネージャによって動的に確保されているデスティネーションクラスタ上のDMA受信タスク及びそれに関係するメモリを伴う。これら4つの要素の結合により、静的にバインドされ、決定的である時間及びレイテンシーで通信を確立できる。このプロパティは、たとえMPEG−2のデコーディングには当てはまらなくても、数多くのアプリケーションのケースにとって重要である。
● 所与のコンシューマに対するクォータ超過でデータプロデューサを無効にするための機能により、チェーンの途中でNoCを経由するデータの転送があった場合等、タスク依存チェーンを選択的に、必要とする以内で無効にできる。再開も自動で行われ、あらゆることがコンパイルチェーンによるメモリクォータの制御に依存する。図14のタイムチャートの例に示すように、このディメンショニングに不具合がある場合に問題を検出するための例外メカニズムが実現される。
○ T1C3による赤色クロミナンスのオーバーサンプリングが時点tqでクォータ超過であると仮定する。これはかなり長い操作であり、更に、特にビデオ処理チェーンの最後で、かなりの量のメモリを要求する可能性がある処理がこのクラスタにロードされる。メモリマネージャがタスクマネージャに通知し、タスクマネージャがDMA転送タスクTDMAI1C3を無効にするような状況を考案し得る。DMA転送処理を伴うため、クラスタ2のタスクマネージャにメッセージがディスパッチされ、異常が通知される。対応するNoC通信を図14に示し、これらは通信100、101及び102である。
○ クラスタ2のタスクマネージャがDMA送信タスクTDMAO1C2を無効にする。
○ 無効が継続する場合、タスクTDMAO1C2は時点tq’でクォータ超過に進む。この場合、メモリマネージャがタスクマネージャに通知し、タスクマネージャはプロデューサタスクT3C2を無効にする。このレベルでは、赤色クロミナンスを処理するためのローカルチェーンだけが影響を受け、その他は名目上動作を続行する。
○ 無効がまだ緩和しないとみなされた場合、T3C2は時点tq"でクォータ超過に進むこともでき、これは2つの非排他的なシナリオを通して行われ得る:
□ モーションベクタのクォータ超過:メモリマネージャはクォータ超過の発生源をタスクマネージャに示し、タスクマネージャはDMA入力タスクTDMAI2C2を無効にする。クラスタ1のタスクマネージャにTDMAO1C1を無効にするためのメッセージが伝達され、これによってT4C1を無効にし得る。
□ 赤色クロミナンスに対するデコード済みブロックのクォータ超過:メモリマネージャはクォータ超過の発生をタスクマネージャに通知し、タスクマネージャはプロデューサタスクT2C2を無効にする。このため、最小依存チェーン、即ちサイクルが削除される逆依存グラフから推定された依存ツリーで構築されたチェーンを無効にするためのメカニズムが設計される。
○ タスクT1C3が時点trでクォータ超過でなくなると直ちに、メモリマネージャはタスクマネージャに通知し、タスクマネージャはタスクTDMAI1C3を再度有効にする。タスクマネージャはクラスタ2のタスクマネージャにメッセージをディスパッチし、クラスタ2のタスクマネージャはTDMAO2C2を再度有効にする。クォータ超過の消滅と並行して、ローカルメモリマネージャはタスクマネージャに通知し、タスクマネージャは無効が発生したのと同じ状況下でタスクを再度有効にする。このため、「パイプライン」の平衡は、単純なルール及びメモリクォータの正しいディメンショニングの想定だけで、当然出現するプロパティである。
○ クォータが十分にディメンショニングされていない場合、メモリマネージャはこれを簡単に検出できる:欠陥のある状況が発生するまで、入力側で各データ項目に提供されている動的割当が名目上行われる。欠陥のある状況が発生すると、メモリマネージャは行われている要求に対してメモリの割当を試行するものの、どこか別の場所にあまりに多くのメモリが割り当てられているために、それを満たすことができない。このため、メモリマネージャはタスクマネージャに例外をアップロードしなければならなくなる。このタイプの例外の処理はアプリケーションの分野に大きく依存するため、本特許出願では指定しない。例えば、ディメンショニングプログラム等のプログラムの異常を検出するために使用できる。しかし、ノンクリティカルなアプリケーションに対して所与のメモリクォータを自動的にオンライン調節するためにも使用できる。
● アプリケーションの残りの実行では特別な問題を提起せず、2つの例示アプリケーションで既に説明した内容に基づき簡単に推定できるはずである。
Claims (23)
- タスクを並列に実行することによって所与のアプリケーションを実行するシステムであって、
− 各々が1つ以上のメモリブロックを含むローカルメモリを備えた複数のクラスタに編成される処理ユニットと、
− 前記アプリケーションのタスクのセットが該アプリケーションの実行ごとに同じクラスタで処理されるように、前記クラスタの1つに前記アプリケーションのタスクの1セットを静的に割り当てる手段と
を具備し、
前記各クラスタは、前記クラスタに割り当てられたタスクのセットが前記アプリケーションの実行ごとに異なる処理ユニットで処理されるように、前記クラスタの処理ユニットに前記クラスタに割り当てられたタスクのセットの各タスクを動的に割り当てるとともに該タスクに前記ローカルメモリのメモリブロックを動的に割り当てるクラスタマネージャをさらに備え、
前記クラスタマネージャは、
− 前記クラスタの前記処理ユニット上でタスクの実行を管理するタスクマネージャと、
− 前記ローカルメモリの1つ以上のメモリブロックに含まれるデータの前記クラスタに割り当てられたタスクへの割り当てを管理するメモリマネージャと
を具備し、
前記タスクマネージャと前記メモリマネージャが同時に連携して動作し、
クラスタに割り当てられたタスクが別のクラスタで生成されたデータを消費する必要がある場合、前記データが生成された前記クラスタ内でデータ送信タスクが実行され、前記データ送信タスクは、前記データが消費される前記クラスタ内で実行されるデータ受信タスクに前記データを送信し、
前記データ送信タスクと前記データ受信タスクとの間の通信に専用のメモリ空間が、関係する前記2つのクラスタのうちのいずれかのクラスタの前記ローカルメモリ内で予約される
ことを特徴とするシステム。 - 各クラスタが備える前記ローカルメモリが、前記クラスタに専用となることを特徴とする請求項1に記載のシステム。
- 前記処理ユニットのクラスタはチップに配置され、該クラスタがチップ上のネットワークを介して互いに通信することを特徴とする請求項1に記載のシステム。
- 中央メモリを備えることを特徴とする請求項1に記載のシステム。
- 各クラスタにタスクを静的に割り当てるためのリンクをコンパイル及び編集するための手段を有することを特徴とする請求項1に記載のシステム。
- 前記データ送信タスクと前記データ受信タスクとの前記通信に専用の前記メモリ空間を飽和させないように前記送信タスクが一時的に中断されることを特徴とする請求項1に記載のシステム。
- 前記データ送信タスクのスループットがコンパイル中に決定され、前記データ受信タスク用の空間を該空間の飽和の可能性がないよう前記ローカルメモリ内に割り当てることを特徴とする請求項1に記載のシステム。
- 前記データ送信タスクが、前記データが生成される前記クラスタに静的に割り当てられ、前記データ受信タスクが、前記データが消費される前記クラスタに静的に割り当てられることを特徴とする請求項1に記載のシステム。
- 前記データ送信タスクと前記データ受信タスクが、各クラスタ内の前記ローカルメモリとデータを直接やりとりする専用の実行手段によって実行されることを特徴とする請求項1に記載のシステム。
- 前記データが消費される前記クラスタは、前記通信に専用の前記メモリ空間の使用可能な量に応じて前記データを生成する前記クラスタにクレジットを送出するように構成され、
前記データを生成する前記クラスタは、前記データが消費される前記クラスタから受けた前記クレジットに応じて前記データ送信タスクのスループットを調整するように構成される
ことを特徴とする請求項7に記載のシステム。 - 前記データ受信タスクを実行する前記クラスタ用の前記クラスタマネージャは、前記データ送信タスクと前記データ受信タスクとの間の前記通信に専用の前記メモリ空間が所与の割り当て量を超えて使用されると、前記データ送信タスクを実行する前記クラスタ用の前記クラスタマネージャに割り込み信号を送出し、前記メモリ空間が割り当て量以内で使用されるようになると再開信号を送出するように構成されることを特徴とする請求項1に記載のシステム。
- 前記ローカルメモリの割り当てられたメモリブロックは、固定サイズであることを特徴とする請求項1に記載のシステム。
- 前記ローカルメモリの割り当てられたメモリブロックは、可変サイズであり、ローカルメモリによって形成されたアドレス空間の連続性の維持のためにデフラグメンテーション機能が用いられることを特徴とする請求項1に記載のシステム。
- 前記タスクマネージャは、
割り当て可能なタスクを提供する実行の前提条件を満足するタスクを前記タスクのセットから選択するためのモジュールと、
スケジューリングポリシーに従って、前記割り当て可能なタスクを処理可能な処理ユニットに割り当てるためのスケジューリングモジュールと
を有することを特徴とする請求項1に記載のシステム。 - タスクを選択するための前記モジュールが、並列マルチタスクタイプの実行モードとデータフロータイプの実行モードにおいて同一時に実行の前提条件を満足する前記割り振り可能なタスクを判別することを特徴とする請求項14に記載のシステム。
- 前記実行の前提条件が、処理オペレーションの優先順位、又はデータの可用性、又は生成された前記データを格納するためのメモリ空間の可用性、又は前記クラスタのローカルイベント又はクラスタの外部イベントを含むことを特徴とする請求項14に記載のシステム。
- 前記データ送信タスクはいくつかのクラスタにデータを同時に送信することが可能であり、これによりいくつかの消費タスクに同じデータが同時に提供されることを特徴とする請求項1に記載のシステム。
- 同一のクラスタ内でいくつかのデータ送信タスクが同時に実行可能であり、これによりいくつかの消費タスクに様々なデータが同時に提供されることを特徴とする請求項1に記載のシステム。
- 前記タスクマネージャを過負荷にしないために、DMAタイプの送信タスク及び受信タスクを管理するマネージャをさらに具備することを特徴とする請求項1に記載のシステム。
- 少なくとも1つの入力/出力インターフェイスを有することを特徴とする請求項1に記載のシステム。
- 前記システムが、処理ユニット上で並列にタスクを実行することにより、モーフィングアプリケーションを実行可能であることを特徴とする請求項1に記載のシステム。
- 前記システムが、処理ユニット上で並列にタスクを実行することにより、ハフ変換を実施するアプリケーションを実行可能であることを特徴とする請求項1に記載のシステム。
- 前記システムが、パイプラインモードでタスクを実行することにより、MPEG復号アプリケーションを実行可能であることを特徴とする請求項1に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0708740A FR2925187B1 (fr) | 2007-12-14 | 2007-12-14 | Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees |
FR07/08740 | 2007-12-14 | ||
PCT/EP2008/067345 WO2009077429A1 (fr) | 2007-12-14 | 2008-12-11 | Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele, en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011507085A JP2011507085A (ja) | 2011-03-03 |
JP6047747B2 true JP6047747B2 (ja) | 2016-12-21 |
Family
ID=39683663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010537453A Active JP6047747B2 (ja) | 2007-12-14 | 2008-12-11 | 制御タイプの実行モードとデータフロータイプの実行モードとの組み合わせによりタスクを並列に実行可能な複数の処理ユニットを有するシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9164807B2 (ja) |
EP (1) | EP2232368B1 (ja) |
JP (1) | JP6047747B2 (ja) |
FR (1) | FR2925187B1 (ja) |
WO (1) | WO2009077429A1 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100817022B1 (ko) * | 2006-11-15 | 2008-03-26 | 한국전자통신연구원 | 스타-메쉬 혼합형 구조를 갖는 온칩 네트워크 기반의동영상 디코더 |
EP2282264A1 (en) * | 2009-07-24 | 2011-02-09 | ProximusDA GmbH | Scheduling and communication in computing systems |
JP5452125B2 (ja) * | 2009-08-11 | 2014-03-26 | クラリオン株式会社 | データ処理装置及びデータ処理方法 |
US10678744B2 (en) * | 2010-05-03 | 2020-06-09 | Wind River Systems, Inc. | Method and system for lockless interprocessor communication |
WO2011148583A1 (ja) * | 2010-05-27 | 2011-12-01 | パナソニック株式会社 | バス制御装置およびバス制御装置に指示を出力する制御装置 |
US8984519B2 (en) * | 2010-11-17 | 2015-03-17 | Nec Laboratories America, Inc. | Scheduler and resource manager for coprocessor-based heterogeneous clusters |
US9552206B2 (en) * | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
US9069893B2 (en) * | 2011-03-23 | 2015-06-30 | International Business Machines Corporation | Automatic verification of determinism for parallel programs |
US9628535B2 (en) * | 2011-04-15 | 2017-04-18 | International Business Machines Corporation | Data streaming infrastructure for remote execution in a constrained environment |
JP5744673B2 (ja) * | 2011-08-10 | 2015-07-08 | キヤノン株式会社 | 情報処理システム、情報処理方法、及びプログラム |
US8627036B2 (en) | 2011-09-12 | 2014-01-07 | Microsoft Corporation | Memory management techniques |
US8897355B2 (en) * | 2011-11-30 | 2014-11-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Cache prefetch during motion estimation |
FR2989797B1 (fr) | 2012-04-24 | 2014-12-26 | Kalray | Reduction de la consommation electrique d'une matrice de processeurs |
US9037669B2 (en) * | 2012-08-09 | 2015-05-19 | International Business Machines Corporation | Remote processing and memory utilization |
US10152450B2 (en) | 2012-08-09 | 2018-12-11 | International Business Machines Corporation | Remote processing and memory utilization |
US9465620B2 (en) * | 2012-12-20 | 2016-10-11 | Intel Corporation | Scalable compute fabric |
US8982878B1 (en) * | 2013-02-15 | 2015-03-17 | Sprint Communications Company L.P. | Centralized circuit switch provisioning system |
CN105144009B (zh) * | 2013-04-29 | 2018-11-20 | 依视路国际公司 | 用于制造眼镜片的计算系统 |
EP2881820A1 (en) * | 2013-12-05 | 2015-06-10 | Blue Yonder GmbH | Data processing device and method for characterizing behavior of equipment under observation |
US10169051B2 (en) | 2013-12-05 | 2019-01-01 | Blue Yonder GmbH | Data processing device, processor core array and method for characterizing behavior of equipment under observation |
US9646081B1 (en) * | 2014-06-30 | 2017-05-09 | Open Text Corporation | System and method to present a summarized task view in a case management system |
US10210020B2 (en) * | 2016-06-29 | 2019-02-19 | International Business Machines Corporation | Scheduling requests in an execution environment |
CN106547707B (zh) * | 2016-09-21 | 2019-03-05 | 西安邮电大学 | 阵列处理器中簇内存储并行访问局部优先交换电路 |
US10922089B2 (en) * | 2016-09-22 | 2021-02-16 | Groupon, Inc. | Mobile service applications |
US10084805B2 (en) * | 2017-02-20 | 2018-09-25 | Sas Institute Inc. | Computer system to identify anomalies based on computer-generated results |
US11373266B2 (en) * | 2017-05-05 | 2022-06-28 | Intel Corporation | Data parallelism and halo exchange for distributed machine learning |
KR102334511B1 (ko) * | 2017-05-29 | 2021-12-03 | 바르셀로나 수퍼컴퓨팅 센터 - 센트로 나쇼날 드 수퍼컴퓨타숑 | 작업 의존성 관리 |
CN111149166B (zh) | 2017-07-30 | 2024-01-09 | 纽罗布拉德有限公司 | 基于存储器的分布式处理器架构 |
US10419574B2 (en) | 2017-08-23 | 2019-09-17 | Micron Technology, Inc. | Memory device with a multi-mode communication mechanism |
US11270201B2 (en) | 2017-12-29 | 2022-03-08 | Intel Corporation | Communication optimizations for distributed machine learning |
US10936525B2 (en) * | 2019-05-10 | 2021-03-02 | Achronix Semiconductor Corporation | Flexible routing of network data within a programmable integrated circuit |
US10707875B1 (en) * | 2019-05-10 | 2020-07-07 | Achronix Semiconductor Corporation | Reconfigurable programmable integrated circuit with on-chip network |
US10970248B2 (en) * | 2019-05-10 | 2021-04-06 | Achronix Semiconductor Corporation | Processing of ethernet packets at a programmable integrated circuit |
CN112465129B (zh) * | 2019-09-09 | 2024-01-09 | 上海登临科技有限公司 | 片内异构人工智能处理器 |
CN111163172B (zh) * | 2019-12-31 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 消息处理系统、方法、电子设备及存储介质 |
WO2021134521A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
EP4111323A4 (en) * | 2020-02-27 | 2024-03-13 | Achronix Semiconductor Corporation | ETHERNET PACKET PROCESSING IN A PROGRAMMABLE INTEGRATED CIRCUIT |
US11874740B2 (en) * | 2021-12-21 | 2024-01-16 | Dell Products L.P. | Techniques for avoiding and reducing data unavailability |
US11956306B1 (en) * | 2022-03-30 | 2024-04-09 | Nvidia Corporation | Multicast-reduction assisted by network devices |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3540837B2 (ja) * | 1994-05-17 | 2004-07-07 | 富士通株式会社 | コンパイル処理装置 |
JPH08129492A (ja) * | 1994-11-01 | 1996-05-21 | Nippon Telegr & Teleph Corp <Ntt> | 資源排他チェックシステム及び資源排他チェック方法 |
JPH08235141A (ja) * | 1995-02-28 | 1996-09-13 | Kofu Nippon Denki Kk | 情報処理システム |
JPH10161955A (ja) * | 1996-11-27 | 1998-06-19 | Hitachi Ltd | ネットワーク通信方法 |
FR2792087B1 (fr) * | 1999-04-07 | 2001-06-15 | Bull Sa | Procede d'amelioration des performances d'un systeme multiprocesseur comprenant une file d'attente de travaux et architecture de systeme pour la mise en oeuvre du procede |
US6467075B1 (en) * | 2000-03-24 | 2002-10-15 | Nec Corporation | Resolution of dynamic memory allocation/deallocation and pointers |
US6513100B1 (en) * | 2000-10-30 | 2003-01-28 | Microsoft Corporation | System and method for fast referencing a reference counted item |
JP2003108693A (ja) * | 2001-09-27 | 2003-04-11 | Hitachi Ltd | サービス提供システム |
US7609767B2 (en) * | 2002-05-03 | 2009-10-27 | Microsoft Corporation | Signaling for fading compensation |
JP2004110318A (ja) * | 2002-09-18 | 2004-04-08 | Nec Corp | 階層的分散処理システムおよび階層的分散処理方法 |
US7676788B1 (en) * | 2003-03-25 | 2010-03-09 | Electric Cloud, Inc. | Architecture and method for executing program builds |
JP4111974B2 (ja) * | 2003-07-18 | 2008-07-02 | 富士通株式会社 | 送信主導型フロー制御装置 |
US7353362B2 (en) * | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
JP4093483B2 (ja) * | 2003-12-26 | 2008-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 解析システム、解析方法、解析プログラム、及び記録媒体 |
JP4088611B2 (ja) * | 2004-01-30 | 2008-05-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シングル・チップ・プロトコル・コンバーター |
JP3944176B2 (ja) * | 2004-02-20 | 2007-07-11 | 株式会社東芝 | 探索要求送信装置およびプログラム |
US8028292B2 (en) * | 2004-02-20 | 2011-09-27 | Sony Computer Entertainment Inc. | Processor task migration over a network in a multi-processor system |
US9178784B2 (en) * | 2004-04-15 | 2015-11-03 | Raytheon Company | System and method for cluster management based on HPC architecture |
CA2593247A1 (en) * | 2005-01-10 | 2006-11-16 | Quartics, Inc. | Integrated architecture for the unified processing of visual media |
FR2883117B1 (fr) * | 2005-03-08 | 2007-04-27 | Commissariat Energie Atomique | Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone. |
US7406212B2 (en) * | 2005-06-02 | 2008-07-29 | Motorola, Inc. | Method and system for parallel processing of Hough transform computations |
JP4773835B2 (ja) * | 2006-02-03 | 2011-09-14 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 処理制御装置およびその方法 |
JP4394650B2 (ja) * | 2006-02-14 | 2010-01-06 | エヌイーシーコンピュータテクノ株式会社 | クレジットに基づいたフロー制御方法およびシステム |
US20080052712A1 (en) * | 2006-08-23 | 2008-02-28 | International Business Machines Corporation | Method and system for selecting optimal clusters for batch job submissions |
US8205208B2 (en) * | 2007-07-24 | 2012-06-19 | Internaitonal Business Machines Corporation | Scheduling grid jobs using dynamic grid scheduling policy |
-
2007
- 2007-12-14 FR FR0708740A patent/FR2925187B1/fr not_active Expired - Fee Related
-
2008
- 2008-12-11 EP EP08862902.7A patent/EP2232368B1/fr active Active
- 2008-12-11 JP JP2010537453A patent/JP6047747B2/ja active Active
- 2008-12-11 US US12/747,715 patent/US9164807B2/en active Active
- 2008-12-11 WO PCT/EP2008/067345 patent/WO2009077429A1/fr active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2009077429A1 (fr) | 2009-06-25 |
EP2232368B1 (fr) | 2019-07-17 |
FR2925187B1 (fr) | 2011-04-08 |
EP2232368A1 (fr) | 2010-09-29 |
US9164807B2 (en) | 2015-10-20 |
FR2925187A1 (fr) | 2009-06-19 |
JP2011507085A (ja) | 2011-03-03 |
US20110093854A1 (en) | 2011-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6047747B2 (ja) | 制御タイプの実行モードとデータフロータイプの実行モードとの組み合わせによりタスクを並列に実行可能な複数の処理ユニットを有するシステム | |
US11567780B2 (en) | Apparatus, systems, and methods for providing computational imaging pipeline | |
CN112465129B (zh) | 片内异构人工智能处理器 | |
JP5366552B2 (ja) | 集中特化したマルチタスク及びマルチフロー処理をリアルタイム実行する手法及びシステム | |
AU2019392179B2 (en) | Accelerating dataflow signal processing applications across heterogeneous CPU/GPU systems | |
US11782870B2 (en) | Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution | |
US20210092069A1 (en) | Accelerating multi-node performance of machine learning workloads | |
US20070150895A1 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
JP2021529488A (ja) | ゲートウェイ上のホストプロキシ | |
TWI221250B (en) | Multi-processor system | |
CN101013415A (zh) | 用于多处理器阵列的线程感知分布式软件系统 | |
JP2008152470A (ja) | データ処理システム及び半導体集積回路 | |
JP2021528789A (ja) | ストリーミングエンジン | |
US20230385103A1 (en) | Intelligent data conversion in dataflow and data parallel computing systems | |
US20220067872A1 (en) | Graphics processing unit including delegator and operating method thereof | |
CN117311910B (zh) | 一种高性能虚拟密码机运行方法 | |
Schor et al. | Reliable and Efficient Execution of Multiple Streaming Applications on Intel’s SCC Processor | |
Schor | Programming Framework for Reliable and Efficient Embedded Many-Core Systems | |
Jahn | Resource Allocation for Software Pipelines in Many-core Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130418 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20130528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131008 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140207 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140508 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140131 Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140401 Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140303 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150209 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20150501 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160824 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6047747 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 |