JP2011002952A - 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 - Google Patents
演算処理装置、処理ユニット、演算処理システム及び演算処理方法 Download PDFInfo
- Publication number
- JP2011002952A JP2011002952A JP2009144535A JP2009144535A JP2011002952A JP 2011002952 A JP2011002952 A JP 2011002952A JP 2009144535 A JP2009144535 A JP 2009144535A JP 2009144535 A JP2009144535 A JP 2009144535A JP 2011002952 A JP2011002952 A JP 2011002952A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- image processing
- arithmetic
- processing
- data
- 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.)
- Abandoned
Links
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/5083—Techniques for rebalancing the load in a distributed system
Abstract
【課題】複数の処理ユニットによる並列処理において、トランザクション管理を実行しなくても済むようにする。
【解決手段】複数の画像処理ユニット10〜12が、直列にバス接続されてなる。各画像処理ユニット10〜12は、制限時間が設定される制限情報設定部32を有している。各画像処理ユニット10〜12は、CELL24によって複数の画像処理ユニット10〜12間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理としての画像処理を実行する。各画像処理ユニット10〜12は、制限時間に従って、各演算処理単位ごとのデータに対する画像処理を実行する。各画像処理ユニット10〜12は、画像処理された処理データをメモリ25に格納する。各画像処理ユニット10〜12は、複数の画像処理ユニット10〜12間の入力端子及び出力端子が連結されることにより、相互にバス接続されるようにする。
【選択図】図6
【解決手段】複数の画像処理ユニット10〜12が、直列にバス接続されてなる。各画像処理ユニット10〜12は、制限時間が設定される制限情報設定部32を有している。各画像処理ユニット10〜12は、CELL24によって複数の画像処理ユニット10〜12間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理としての画像処理を実行する。各画像処理ユニット10〜12は、制限時間に従って、各演算処理単位ごとのデータに対する画像処理を実行する。各画像処理ユニット10〜12は、画像処理された処理データをメモリ25に格納する。各画像処理ユニット10〜12は、複数の画像処理ユニット10〜12間の入力端子及び出力端子が連結されることにより、相互にバス接続されるようにする。
【選択図】図6
Description
本発明は演算処理装置、処理ユニット、演算処理システム及び演算処理方法に関し、例えば動画像を符号化する画像処理装置に適用して好適なものである。
従来、例えば動画などの画像処理や流体力学のシミュレーションなど、処理負荷の高い演算処理を短時間で達成するため、複数の処理ユニットを接続し、並列処理を実行させるようになされた演算処理システムが提案されている(例えば、特許文献1参照)。
この演算処理システムでは、一般的に、分散サーバSVが演算処理システム全体を統括制御することにより、並列処理が実行される。例えば図1に示すように、演算処理システムは、分散サーバSVを介して各処理ユニットNODE1〜3が接続されている。
そして演算処理システムでは、分散サーバSVが1つのプログラムPGが有する複数(図1では3つ)のタスクTask1〜3を、3つの処理ユニットNODE1〜3にそれぞれ割り振る。分散サーバは、処理ユニットNODE1〜3に対し、データDATA1〜3をそれぞれ供給する。
処理ユニットNODE1〜3は、データDATA1〜3に対し、割り当てられたタスクTask1〜3をそれぞれ実行し、生成した処理済データDATA1´〜3´を分散サーバSVに供給する。
分散サーバSVは、各処理ユニットNODE1〜3におけるTask1〜3の処理順序及び進行度合いなどに応じて、各処理ユニットNODE1〜3に対しデータDATA1〜3をそれぞれ供給するようになされている。
ところでかかる構成の演算処理システムでは、分散サーバSVが各処理ユニットNODE1〜3における処理の進行度合いやデータDATAの供給などのトランザクション管理を実行している。このトランザクション管理は煩雑であることから、分散サーバSVの処理負荷が大きくなってしまい、構成が複雑になるという問題があった。
本発明は以上の点を考慮してなされたもので、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を提案しようとするものである。
かかる課題を解決するため本発明の演算処理装置においては、複数の処理ユニットが、直列にバス接続されてなり、各処理ユニットは、各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、複数の処理ユニット間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、複数の処理ユニット間をバス接続する接続部とを設けるようにした。
これにより、演算処理装置は、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
また、本発明の処理ユニットは、各演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、プログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、演算部と同一のプログラムに従って演算処理を実行する他の処理ユニットと直列にバス接続する接続部とを設けるようにした。
これにより、処理ユニットは、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
さらに、本発明の演算処理システムは、直列にバス接続された複数の処理ユニット、及びサーバを有し、複数の処理ユニットは、各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、複数の処理ユニット間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、複数の処理ユニット間を接続する接続部とを設け、サーバは、複数の処理ユニットにおける始端の処理ユニットに対して演算処理単位ごとのデータを供給し、複数の処理ユニットにおける終端の処理ユニットから、演算部によって演算処理された処理データを受け取るようにした。
これにより、演算処理システムは、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
さらに、本発明の演算処理方法は、直列にバス接続された第1の処理ユニット及び第2の処理ユニットが実行し、第1の処理ユニットによって、演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される第1の制限情報設定ステップと、プログラム及び第1の制限情報設定ステップにおいて設定された制限情報に従って、処理すべき演算処理の量だけ各演算処理単位ごとのデータに対する演算処理を実行し、当該演算処理の終了部分を表す進行情報を生成する第1の演算ステップと、演算部によって演算処理された処理データを格納する第1の格納ステップと、が実行され、第2の処理ユニットによって、第1の制限情報設定部と同一の制限情報が設定される第2の制限情報設定ステップと、第1の演算ステップによって演算処理された処理データに対し、第1の演算部と同一のプログラム及び第2の制限情報設定ステップにおいて設定された制限情報に従って、第1の演算ステップによって生成された進行情報が表す終了部分以外について、各演算処理単位ごとのデータにおける演算処理を実行する第2の演算ステップと、第2の演算ステップにおいて演算処理された処理データを格納する第2の格納ステップとを設けるようにした。
これにより、演算処理方法は、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、第1及び第2の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
本発明によれば、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。かくして本発明は、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を実現できる。
以下、図面について、本発明の一実施の形態を詳述する。なお、説明は以下の順序で行う。
1.第1の実施の形態(同一プログラムを用いた並行処理)
2.第2の実施の形態(自動開始処理)
3.他の実施の形態
1.第1の実施の形態(同一プログラムを用いた並行処理)
2.第2の実施の形態(自動開始処理)
3.他の実施の形態
<1.第1の実施の形態>
[1−1.画像処理システムの構成]
図3において1は、全体として画像処理システムを示している。この画像処理システム1は、サーバ2と画像処理装置3とを有しており、サーバ2及び画像処理装置3は、入力ケーブル4及び出力ケーブル5によって接続されている。
[1−1.画像処理システムの構成]
図3において1は、全体として画像処理システムを示している。この画像処理システム1は、サーバ2と画像処理装置3とを有しており、サーバ2及び画像処理装置3は、入力ケーブル4及び出力ケーブル5によって接続されている。
この画像処理システム1は、例えば動画像データを符号化する符号化などの画像処理に使用されることが想定されている。サーバ2は、入力ケーブル4を介して画像データE11を画像処理装置3に供給する。画像処理装置3は、当該画像データE1に画像処理を施して結果データR1を生成し、出力ケーブル5を介して当該結果データR1をサーバ2に供給するようになされている。
図4に示すように、画像処理装置3は、3つの画像処理ユニット10〜12から構成されている。各画像処理ユニット10〜12は、入力端子21及び出力端子22を有しており、当該入力端子21及び出力端子22が相互に接続可能である。各画像処理ユニット10〜12は、隣接する画像処理ユニット間の入力端子21及び出力端子22が接続されることにより、相互に接続され、画像処理装置3を構成している。
また、隣接する画像処理ユニットが存在しない画像処理ユニット10の入力端子21及び画像処理ユニット12の出力端子22には、何も接続されていない。これにより、画像処理ユニット10及び12は、自身が画像処理装置3の端部に配置されていることを認識し得るようになされている。画像処理ユニット10及び12は、例えばイーサネット(登録商標)などにより入力ケーブル4及び出力ケーブル5と接続されることにより、サーバ2と接続している。
すなわち、画像処理システム1では、連続的に接続された画像処理ユニット10〜12の両端部にサーバ2が接続されており、サーバ2、画像処理ユニット10、11及び12がループを形成している。
図5に示すように、画像処理ユニット10〜12は、CELL24及びメモリ25を有している。CELL24及びメモリ25は、データの送受を制御するホストコントローラ26を介してバス29に接続されている。入力端子21及び出力端子22は、バス29に直接的に接続されている。
従って、画像処理ユニット10〜12は、入力端子21及び出力端子22を介してバス29を連結することにより、画像処理ユニット間において高速(例えば25[Gbps])でデータの転送を実行することができる。言い換えると、各画像処理ユニット10〜12は、連結されたバス29を介したホストコントローラ26の制御により、隣接する画像処理ユニットの内部のメモリ25を参照することが可能である。
図6に示すように、CELL24は、PPE(Power Processor Element)構成でなるプログラム制御部31と、8つのSPE(Synergistic Processor Element)41〜48と、制限情報設定部32とを有している。
メモリ25には、プログラムやデータを格納する領域が割り当てられている。PPEプログラム格納領域61は、プログラム制御部31が実行するPPEプログラムが格納される。プログラム制御部31は、PPEプログラム格納領域61からPPEプログラムを読み出し、RAMに展開することにより、CELL24を統括制御し、各種処理を実行する。
本実施の形態において、画像処理ユニット10〜12におけるプログラム制御部31は、同一プログラムを用いた同一プログラム並行処理(詳しくは後述する)を実行する。このため、画像処理ユニット10〜12におけるPPEプログラム格納領域61には、同一のプログラムが格納される。
SPEプログラム格納領域61は、SPE41〜48が実行するSPEプログラムが格納される。SPE41〜48は、SPU(Synergistic Processing Unit)、レジスタ52及びローカルストレージ53を有している。SPE41〜48は、SPEプログラム格納領域61からSPEプログラムを読み出し、ローカルストレージ53に展開することにより、各種処理を実行する。レジスタ52は、プログラムの進行度合いをカウントするプログラムカウントレジスタでなる。
本実施の形態において、画像処理ユニット10〜12におけるSPE41〜48は、同一プログラムを用いた同一プログラム並行処理(詳しくは後述する)を実行する。このため、画像処理ユニット10〜12におけるSPEプログラム格納領域62には、同一のプログラムが格納される。
入力データ格納領域63、中間データ格納領域64及び結果データ格納領域65は処理前、処理中及び処理後の画像データが格納される。画像処理ユニット10〜12は、供給される画像データ又は生成する画像データに応じた格納領域を有することになる。
画像処理ユニット10は、サーバ2から画像データE1が入力される。このため、画像処理ユニット10は、これらを格納するための入力データ格納領域63を有している。画像処理ユニット10は、画像処理が途中まで実行された中間データM1を生成する。この中間データM1は、画像処理ユニット11のメモリ25に書込まれる。
画像処理ユニット11は、中間データM1を格納するための中間データ格納領域64を有している。画像処理ユニット11は、中間データM1を読み出して中間データM2を生成する。この中間データM2は、画像処理ユニット12のメモリ25に書込まれる。画像処理ユニット12は、中間データM2を読み出して結果データR1を生成する。このため、画像処理ユニット12は、中間データM2を格納するための中間データ格納領域64及び結果データR1を格納するための結果データ格納領域65を有している。
レジスタ格納領域66は、前段の画像処理ユニットにおける進行情報を格納する領域である。この進行情報は、プログラムの進行度合いを表しており、前段の画像処理ユニットにおけるレジスタ52のカウンタデータがコピーされる。
ホストコントローラ26は、バス29を介してCELL24及びメモリ25間のデータの送受を制御する。さらにホストコントローラ26は、隣接する画像処理ユニットにおけるホストコントローラ26にアクセスし、隣接する隣接する画像処理ユニットにおけるメモリ25対するデータの送受を実行する。
このように、画像処理システム1は、複数の画像処理ユニット10〜12が高速なバス29を介して直列的に接続されることにより画像処理装置3を構成する。画像処理ユニット10〜12は、複数のSPE41〜48がプログラム制御部31を介して並列的に接続されてなるCELL24を有している。すなわち画像処理装置3は、複数のSPE41〜48を同時に使用して高速な演算処理を実行するだけでなく、さらに複数の画像処理ユニット10〜12を用いることにより、演算処理のさらなる高速化を実現している。
ところで、各CELL24は、従来の並行処理と同様に、タスクの割り当てによる並行処理を実現している。仮に、画像処理システム1は、同様にして画像処理ユニット10〜12にタスクを割り当てると、階層的にタスクを割り当てる必要が生じてしまい、プログラムの設計に多大なる制限を加えることになる。
そこで本発明の画像処理システム1は、各画像処理ユニット10〜12を直列に接続し、時分割で流れ作業的に演算処理を実行させる同一プログラム並行処理を実行するようになされている。
[1−2.同一プログラム並行処理]
次に、同一プログラム並行処理について説明する。なお、説明の便宜上、画像処理ユニット10〜12における各部を示すときには、符号の後に各画像処理ユニットを表す符号10〜12をハイフンと共に末尾に附する。例えば、各画像処理ユニット10〜12におけるプログラム制御部31は、プログラム制御部31−10、31−11及び31−12と表す。各画像処理ユニット10〜12において共通の処理については、かかる符号を付加しない。
次に、同一プログラム並行処理について説明する。なお、説明の便宜上、画像処理ユニット10〜12における各部を示すときには、符号の後に各画像処理ユニットを表す符号10〜12をハイフンと共に末尾に附する。例えば、各画像処理ユニット10〜12におけるプログラム制御部31は、プログラム制御部31−10、31−11及び31−12と表す。各画像処理ユニット10〜12において共通の処理については、かかる符号を付加しない。
[1−2−1.設定]
画像処理システム1のサーバ2は、操作部に対するユーザの操作に応じて、画像処理プログラムをインストールする旨の要求がなされると、当該画像処理プログラムをROMから読み出す。図7に示すように、サーバ2は、インストール要求信号S2及び画像処理プログラムPGを画像処理装置3に供給する。この結果、画像処理装置3の画像処理ユニット10には、インストール要求信号S2及び画像処理プログラムPGが供給される。
画像処理システム1のサーバ2は、操作部に対するユーザの操作に応じて、画像処理プログラムをインストールする旨の要求がなされると、当該画像処理プログラムをROMから読み出す。図7に示すように、サーバ2は、インストール要求信号S2及び画像処理プログラムPGを画像処理装置3に供給する。この結果、画像処理装置3の画像処理ユニット10には、インストール要求信号S2及び画像処理プログラムPGが供給される。
画像処理ユニット10は、画像処理プログラムPGをPPEプログラム格納領域61−10及びSPEプログラム格納領域62−10に記憶すると共に、インストール要求信号S2及び画像処理プログラムPGを画像処理ユニット11に供給する。
画像処理ユニット11は、画像処理プログラムPGをPPEプログラム格納領域61−11及びSPEプログラム格納領域62−11に記憶すると共に、インストール要求信号S2及び画像処理プログラムPGを画像処理ユニット12に供給する。
画像処理ユニット12は、画像処理プログラムPGをPPEプログラム格納領域61−12及びSPEプログラム格納領域62−12に記憶する。画像処理ユニット12のプログラム制御部31−12は、画像処理プログラムPGの記憶が終了すると、終了信号S2Rを生成し、これをサーバ2に供給する。
この結果、サーバ2は、画像処理装置3の全ての画像処理ユニット10〜12に対し、画像処理プログラムPGのインストールが終了したことを認識し得るようになされている。
また、サーバ2は、操作部に対するユーザの操作に応じて、制限時間を設定する旨を表す設定要求信号及び制限時間情報(図示せず)を画像処理装置3に対して供給する。
画像処理ユニット10のプログラム制御部31−10は、制限時間情報に基づいて制限情報設定部32−10に制限時間(例えば10[msec])を設定すると共に、設定要求信号及び制限時間情報を画像処理ユニット11に供給する。
画像処理ユニット11も同様に、制限時間情報に基づいて制限情報設定部32−11に制限時間を設定すると共に、設定要求信号及び制限時間情報を画像処理ユニット12に供給する。
画像処理ユニット12のプログラム制御部31−12は、制限時間情報に基づいて制限情報設定部32−12に制限時間を設定すると共に、制限時間の設定を終了すると、終了信号を生成し、これをサーバ2に供給するようになされている。
このように、画像処理装置3における画像処理ユニット10〜12は、同一の画像処理プログラムがインストールされると共に、同一の制限時間が設定されるようになされている。
[1−2−2.画像処理]
図8に示すように、画像処理システム1のサーバ2は、操作部に対するユーザの操作に応じて、画像処理を開始する旨の要求がなされると、画像データE1を画像処理ユニット10に供給する。画像処理ユニット10は、供給される画像データE1を入力データ格納領域63−10に記憶する。
図8に示すように、画像処理システム1のサーバ2は、操作部に対するユーザの操作に応じて、画像処理を開始する旨の要求がなされると、画像データE1を画像処理ユニット10に供給する。画像処理ユニット10は、供給される画像データE1を入力データ格納領域63−10に記憶する。
画像処理ユニット10のプログラム制御部31−10は、画像処理プログラムPGに従って画像処理を開始する。プログラム制御部31−10は、制限情報設定部32−10をリセットし、所定の演算処理単位(例えばフレーム画像単位、又は数フレーム単位など)ごとの画像データE1を読み出してSPE41〜48のローカルストレージ53に一時記憶する。プログラム制御部31−10は、SPE41〜48を用いて画像処理を実行する。このとき、各SPE41〜48のレジスタ52には、割り当てられたタスクに応じて処理が進行中のデータがそれぞれ記憶されている。
例えば、プログラム制御部31−10は、SPE41〜48のうち、7つのSPEに画像処理を担当させる場合に、演算処理単位でなる画像データE1を7分割して画像処理を実行する各SPEのローカルストレージ53に記憶させる。画像処理を実行する各SPEは、自身のローカルストレージ53に記憶された画像データE1に対してそれぞれ画像処理を実行する。すなわち、CELL24では、複数のSPEによるパイプライン処理が実行される。
プログラム制御部31−10は、制限時間が経過すると、画像処理を終了し、レジスタ52−10が示す処理の進行状況を表す進行情報を後段の画像処理ユニット11のレジスタ格納領域64−11に書込む。
また、画像処理ユニット10は、各SPE41〜48のレジスタ52−10に記憶されているデータを読み出し、後段の画像処理ユニット11のレジスタ格納領域66−11に記憶する。データ等をコピーするこれらの処理は、SPE41−10〜48−10のうち、画像処理を実行しないSPEによって実行される。
画像処理ユニット11のプログラム制御部31−11は、自身の中間データ格納領域64−11を監視し、中間データM1が記憶されていることを認識すると、制限情報設定部32−11をリセットし、画像処理を開始する。プログラム制御部31−11は、演算処理単位ごとに中間データM1を読み出し、レジスタ52−11に記憶させる。
プログラム制御部31−11は、さらにレジスタ格納領域64−11から進行情報を読み出し、画像処理ユニット10によって画像処理が実行された終端部分から画像処理を実行する。
プログラム制御部31−11は、制限時間が経過すると、画像処理を終了し、レジスタ52−11が示す処理の進行状況を表す進行情報を後段の画像処理ユニット12における中間データ格納領域64−12に書込む。画像処理ユニット11は、画像処理を実行するSPEのローカルストレージ53に記憶されたデータを中間データ格納領域64−12に記憶する。この結果、画像処理された中間データM1は、中間データM2として中間データ格納領域64−12に記憶される。データ等をコピーするこれらの処理は、SPE41−11〜48−11のうち、画像処理を実行しないSPEによって実行される。
画像処理ユニット12のプログラム制御部31−12は、自身の中間データ格納領域64−12を監視し、中間データM2が記憶されていることを認識すると、制限情報設定部32−12をリセットし、画像処理を開始する。プログラム制御部31−12は、演算処理単位ごとに中間データM2を読み出し、レジスタ52−12に記憶させる。
プログラム制御部31−12は、さらにレジスタ格納領域66−12から進行情報を読み出し、画像処理ユニット11によって画像処理が実行された終端部分から画像処理を実行する。
画像処理ユニット12は、画像処理を終了すると、レジスタ52−12から画像処理された中間データM2を読み出し、結果データR1として結果データ格納領域65−12に記憶する。さらに、画像処理ユニット12は、結果データR1を所定のビットレートで出力端子22−12から送出する。この結果、サーバ2には、画像処理が施された結果データR1が供給される。データ等をコピーしサーバ2へ送出するこれらの処理は、SPE41−12〜48−12のうち、画像処理を実行しないSPEによって実行される。
なお、画像処理ユニット10及び11は、後段の画像処理ユニットにおける中間データ格納領域64に対して中間データM1及びM2を書込み、後段の画像処理ユニットにおけるレジスタ格納領域64に対して進行情報を書込む。
すなわち、画像処理ユニット10は、画像処理が終了すると、ローカルストレージ53から読み出した中間データM1をホストコントローラ26−10に供給する。ホストコントローラ26は、中間データM1を後段のホストコントローラ26−11に供給する。ホストコントローラ26−11は、当該中間データM1を中間データ格納領域64−11に割り当てる。この結果、メモリ25−11における中間データ格納領域64−11に中間データM1が記憶される。進行情報についての処理も同様である。従って、画像処理ユニット11は、自身のメモリ25から中間データM1を読み出せば良い。
これに対して、仮に画像処理ユニット10が自身のメモリに中間データM1を記憶した場合、画像処理ユニット11は、メモリ25−10から中間データM1を読み出す必要がある。このとき、プログラム制御部31−11は、ホストコントローラ26−11を介してホストコントローラ26−10に読出要求を供給しなければならない。この場合、読出要求によりバス29が使用されるため、データの伝送速度が低下してしまう。
このように、画像処理ユニット10は、後段の画像処理ユニットにおける中間データ格納領域64及びレジスタ格納領域66−11に対して中間データM1及び進行情報を書込む。これにより、画像処理ユニット10及び11は、自身のメモリ25に記憶した中間データM1及びM2などを後段の画像処理ユニット10に読み出させる場合と比較して、データの伝送速度を大きくすることができる。
また、画像処理ユニット11も同様にして、後段の画像処理ユニット12における中間データ格納領域64−12に対して中間データM2を書込み、レジスタ格納領域64−12に対して進行情報を書込む。
かかる構成に加えて、本発明の画像処理ユニット10〜12は、制限時間が不適切であると認識した場合には、アラームを鳴らしてユーザに知らせるようになされている。
画像処理装置3の終端でない画像処理ユニット10及び11は、制限時間内に演算処理単位に対する画像処理を終了すると、制限時間が不適切であると認識し、アラームを鳴らす。
画像処理装置3の終端を構成する画像処理ユニット12のプログラム制御部31−12は、制限時間内に演算処理単位に対する画像処理を終了すると、制限情報設定部32−12を確認する。プログラム制御部31−12は、残り時間が残時間閾値を超えていた場合には、制限時間の設定が不適切であると認識し、アラームを鳴らす。なおこの残時間閾値は、例えば制限時間の割合として設定されている。
これにより、画像処理装置3は、いずれの画像処理ユニット10〜12で画像処理が終了したかをユーザに知らせることができ、適切な制限時間をユーザに設定させ得る。
一方、画像処理ユニット12のプログラム制御部31−12は、制限時間を経過したにも拘らず、演算処理単位に対する画像処理が終了していない場合に、アラームを鳴らす。このアラームは、制限時間が残時間閾値を超えていたときとは相違する音又はパターンが使用される。これにより、画像処理ユニット12は、制限時間が過大であるか過小であるかをユーザに知らせ得る。
このように、画像処理装置3は、各画像処理ユニット10〜12が制限時間だけ画像処理を実行することにより、トランザクション管理をすることなく複数の画像処理ユニット10〜12による同一プログラム並列処理を実行することができる。
各画像処理ユニット10〜12は、同一プログラムに従って画像処理を実行するため、画像処理プログラムにおいてタスクを分離する必要はなく、画像処理プログラムの設計の自由度を向上させ得る。
[1−3.処理手順]
次に、画像処理プログラムに従って実行される同一プログラム並行処理手順RT1について、図9のフローチャートを用いて説明する。
次に、画像処理プログラムに従って実行される同一プログラム並行処理手順RT1について、図9のフローチャートを用いて説明する。
各画像処理ユニット10〜12におけるプログラム制御部31は、同一プログラム並行処理手順RT1を開始すると、ステップSP1へ移る。プログラム制御部31は、参照すべき格納領域(入力データ格納領域63−10、並びに中間データ格納領域64−11及び64−12)に処理対象データ(画像データE1、並びに中間データM1及びM2)等が有るか否かについて判別する。
ここで否定結果が得られると、プログラム制御部31は、ステップSP1において、処理対象データ等が供給されるのを待ち受ける。これに対してステップSP1において肯定結果が得られると、プログラム制御部31は、次のステップSP2へ移る。
ステップSP2において、プログラム制御部31は、ローカルストレージ53に必要な処理対象データ等をコピーすると、次のステップSP3へ移る。
ステップSP3において、プログラム制御部31は、制限情報設定部32をリセットし、制限時間のカウントを開始すると、次にステップSP4へ移る。
ステップSP4において、プログラム制御部31は、処理対象データに対して画像処理を施すと、次のステップSP5へ移る。
ステップSP5において、プログラム制御部31は、制限時間が経過したか否かについて判別する。ここで否定結果が得られた場合、プログラム制御部31は、ステップSP34へ戻り、画像処理を継続する。
これに対してステップSP5において肯定結果が得られた場合、プログラム制御部31は、次のステップSP6へ移る。
ステップSP6において、プログラム制御部31は、メモリ25にコピーすべきデータ(処理対象データ、結果データR1及びレジスタ情報)をコピーすべきデータ格納領域(レジスタ格納領域66−11及び12、中間データ格納領域64−11及び12、結果データ格納領域65−12)にコピーすると、次のステップSP7へ移る。
ステップSP7において、プログラム制御部31は、全ての演算処理単位に対する画像処理を実行し終えたか否かについて判別する。ここで否定結果が得られた場合、プログラム制御部31は、ステップSP1へ戻り、次の演算処理単位に対する処理を実行する。
これに対してステップSP7において肯定結果が得られた場合、プログラム制御部31は、全ての演算処理単位に対する画像処理を実行し終えたため、終了ステップへ移って同一プログラム並行処理手順RT1を終了する。
なお、上述した一連の同一プログラム並行処理は、ハードウェアにより実行させることもでき、また、ソフトウェアにより実行させることも可能である。同一プログラム並行処理をソフトウェアによって実現する場合、CPU及びRAMに仮想的に画像処理装置3が形成される。そして、ROMに格納された画像処理プログラムをRAMに展開することにより、同一プログラム並行処理が実行される。
[1−4.動作及び効果]
以上の構成において、画像処理システム1の画像処理装置3は、複数の処理ユニットとしての画像処理ユニット10〜12が、直列にバス接続されてなる。各画像処理ユニット10〜12は、各複数の画像処理ユニット10〜12が演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報としての制限時間が設定される制限情報設定部32を有している。
以上の構成において、画像処理システム1の画像処理装置3は、複数の処理ユニットとしての画像処理ユニット10〜12が、直列にバス接続されてなる。各画像処理ユニット10〜12は、各複数の画像処理ユニット10〜12が演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報としての制限時間が設定される制限情報設定部32を有している。
各画像処理ユニット10〜12は、演算部としてのCELL24によって複数の画像処理ユニット10〜12間において同一のプログラムに従って演算処理単位ごとのデータ(画像データE1、若しくは中間データM1又はM2)に対する演算処理としての画像処理を実行する。
各画像処理ユニット10〜12は、制限情報設定部32において設定された制限時間に従って、各演算処理単位ごとのデータに対する画像処理を実行する。各画像処理ユニット10〜12は、画像処理された処理データ(中間データM1又はM2若しくは結果データR1)をメモリ25に格納する。各画像処理ユニット10〜12は、複数の画像処理ユニット10〜12間の入力端子21及び出力端子22が連結されることにより、相互にバス接続されている。
画像処理装置3は、画像処理ユニット10〜12間において同一プログラムに従って同一の画像処理を流れ作業的に制限時間ずつ実行することにより、結果データR1を生成することができる。このとき、画像処理装置3は、バス接続により画像処理ユニット10〜12間におけるデータの転送をスムーズに実行することができる。
すなわち、画像処理装置3は、実質的に演算処理単位ごとの画像データE1を3つに分割し、各画像処理ユニット10〜12に分担させて画像処理を実行している。しかし、画像処理装置3は、前段の画像処理ユニットにおける画像処理が終了してからその続きを後段の画像処理ユニットで実行するというように、画像処理ユニット10〜12における画像処理を時間的にずらして実行する。
これにより、画像処理装置3は、各画像処理ユニット10〜12に対し、自身の制限時間の管理のみを実行させることにより、画像処理を実行している。言い換えると、画像処理装置3では、制限時間によって画像処理を担当する領域が自動的に決定されるため、画像データE1を分割する処理を実行する制御部を必要としない。
また、各画像処理ユニット10〜12が相互にバス接続されているため、画像処理を施した中間データM1及びM2をメモリ25に格納しておくだけで、画像処理ユニット11及び12が必要なときに必要な中間データM1及びM2を取得できる。すなわち、画像処理装置3は、各画像処理ユニット10〜12間のデータのやりとりを管理する制御部を必要としない。
この結果、画像処理装置3は、トランザクション管理を実行する必要がなく、その構成を簡易にすることができる。
また、上述したように、一般的な従来の画像処理装置は、複数の処理ユニットNODE(図1)にタスクを割り当てる。図10に示すように、従来の画像処理装置は、各処理ユニット間において処理時間が相違した場合、最も処理時間を要する処理ユニットNODE2が律速となり、全体の処理時間を決定することになる。この場合、処理ユニットNODE1及びNODE3は、処理ユニットNODE2の処理が終了するのを待ち受けなければならず、処理ユニットNODE1及びNODE3の処理能力を活用しきれなかった。
画像処理装置3は、制限時間の管理の下に画像処理を実行するため、かかる問題が生じ得ず、画像処理ユニット10〜12の処理能力を最大限活用することができる。
また、画像処理装置3は、同一のプログラムに従って処理を実行するため、デバックが容易であると共に、タスクを分割することを考えてプログラムを設計する必要がないため、プログラムの設計の自由度を向上させ得る。
例えば、パイプライン処理を実行する従来の処理ユニットでは、予め画像データE1を複数に分割して処理を実行していた。このため、従来の処理ユニットでは、分割された領域ごとに分離して画像処理が実行されることになり、分割された領域間での参照ができなかった。従来の処理ユニットは、例えば画像を符号化する場合、分割された境界部分において隣接する画素を参照できないため、符号化効率の低下又は画質の低下を生じてしまっていた。
画像処理装置3は、各画像処理ユニット10〜12が、演算処理単位ごとの画像データE1のうちそれぞれ相違する領域に対して画像処理を実行するものの、前段の画像処理ユニットの画像処理が終了してから後段の画像処理ユニットがその続きを実行する。このため、画像処理装置3は、制限時間により分割された領域の境界部分であっても、隣接する画素を参照でき、かかる符号化効率の低下又は画質の低下を生じさせずに済む。
すなわち、画像処理装置3は、複数の画像処理ユニット10〜12によって画像処理を実行しているにも拘らず、1つの画像処理ユニットによる画像処理と同一の画像処理を実行することが可能となる。従って、画像処理装置3は、画像処理ユニットの演算能力を高める場合と比較して、簡易な構成により同等の性能を発揮することができる。
各画像処理ユニット10〜12は、入力端子21及び出力端子22に対する他の画像処理ユニットの接続の有無により、画像処理装置3の端部を構成するか否かを認識する。画像処理装置3の後端以外であると認識した画像処理ユニット10及び11は、制限情報設定部32に設定された制限時間に従って演算処理を実行した後、当該演算処理された中間データM1及びM2を後段の画像処理ユニット11及び12におけるメモリ25−11及び25−12に記憶させる。
画像処理ユニット10及び11は、プログラムに従った演算処理の進行度合いを表す進行情報を後段の画像処理ユニット11及び12におけるメモリ25−11及び25−12に記憶させる。
これにより、画像処理ユニット11及び12は、自身のメモリ25−11及び12に記憶された中間データM1及びM2を読み出せば良く、隣接する画像処理ユニット間を接続するバス29を使用せずに済む。このため、画像処理ユニット11及び12は、バス29の帯域を中間データM1及びM2の書込み時にのみ使用させることができ、バス29の伝送能力を最大限に活用することができる。
画像処理ユニット10〜12における演算部としてのCELL24は、複数の演算器としてのSPE41〜48と、複数のSPE41〜48に対してタスクを割り当てるプログラム制御部31とを有する。
ここで、画像処理装置3は、前段の画像処理ユニットが画像処理を終了しなければ後段の画像処理ユニットが画像処理を開始できず、終端の画像処理ユニットが画像処理を開始するまでに、画像処理ユニットの数−1×制限時間だけの待ち時間が発生することになる。仮に、画像処理装置3は、CELL24においても同一プログラム並行処理を実行すると、CELL24においても待ち時間を発生させることになる。
画像処理装置3は、CELL24において従来の手法であるパイプライン処理を実行することにより、かかる待ち時間が累積的に大きくなることを防止し、効率良く、かつ画質を低下させないというバランスを保つことができる。
また、画像処理装置3は、CELL24に汎用的なパイプライン処理を実行させることにより、汎用的に設計されたプログラムを用いて同一プログラム並行処理を実行させることができる。
画像処理ユニット11は、入力端子21及び出力端子22に画像処理ユニット10及び12が接続されていることにより、画像処理装置3の終端以外であると認識する。画像処理ユニット11は、制限情報としての制限時間情報が表す処理すべき演算処理の量(制限時間)を演算処理していないにも拘らず、演算処理単位ごとの中間データM1に対する画像処理を終了すると、警告としてアラームを鳴らす。
これにより、画像処理ユニット11は、設定されている制限時間が適切でないことをユーザに知らせることができる。また、画像処理ユニット11は、当該画像処理ユニット11において画像処理が終了してしまったことを知らせることができるため、適切な制限時間をユーザに予測させ易くできる。
画像処理ユニット12は、画像処理装置3の終端であると認識した場合、制限時間だけ画像処理したにも拘らず、演算処理単位ごとのデータに対する画像処理を終了しないと、警告としてアラームを鳴らす。
これにより、画像処理ユニット12は、設定されている制限時間が適切でないことをユーザに知らせることができる。
画像処理ユニット12は、制限時間内で演算処理単位ごとのデータに対する画像処理を終了すると、残りの制限時間が多い場合には、警告としてアラームを鳴らす。
これにより、画像処理ユニット12は、設定されている制限時間が適切でないことをユーザに知らせることができる。
以上の構成によれば、画像処理装置3では、第1の処理ユニットである画像処理ユニット10及び第2の処理ユニットとしての画像処理ユニット11が直列にバス接続されている。画像処理ユニット10は、制限時間が設定されている。画像処理ユニット10は、プログラム及び制限時間に従って、当該制限時間だけ各演算処理単位ごとの画像データE1に対する画像処理を実行し、当該画像処理の終了部分を表す進行情報を生成する。画像処理ユニット10は、画像処理された処理データである中間データM1を中間データ格納領域64に格納する。
画像処理ユニット11は、画像処理ユニット10と同一の制限時間を設定する。画像処理ユニット11は、中間データM1に対し、画像処理ユニット10と同一のプログラム及び制限時間に従って、進行情報が表す終了部分以外について(すなわち終端部分から)、各演算処理単位ごとのデータにおける画像処理を実行する。画像処理ユニット11は、画像処理された処理データである中間データM2を中間データ格納領域64に格納する。
これにより、画像処理装置3は、複数の画像処理ユニットによって画像処理を分担して実行できる。また、画像処理装置3は、前段の画像処理ユニット10の画像処理の後に後段の画像処理ユニット11が画像処理を実行するだけの処理により実行できるため、トランザクション管理を省略できる。かくして、本発明は、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を実現できる。
<2.第2の実施の形態>
[2−1.画像処理装置の構成]
図11〜図16に示す第2の実施の形態においては、図1〜図10に示す第1の実施の形態と対応する箇所に同一符号を附して示し、同一部分についての説明を省略する。第2の実施の形態では、制限時間が自動的に設定される点が、第1の実施の形態と異なっている。なお本実施の形態では、第1の実施の形態に相当する箇所に100を付加した符号を用いている。
[2−1.画像処理装置の構成]
図11〜図16に示す第2の実施の形態においては、図1〜図10に示す第1の実施の形態と対応する箇所に同一符号を附して示し、同一部分についての説明を省略する。第2の実施の形態では、制限時間が自動的に設定される点が、第1の実施の形態と異なっている。なお本実施の形態では、第1の実施の形態に相当する箇所に100を付加した符号を用いている。
実際上、画像処理システム1のサーバ2は、画像処理を開始する旨の要求がなされると、画像データE1を画像処理ユニット110に供給する。画像処理ユニット110は、供給される画像データE1を入力データ格納領域63−110に記憶しながら、接続台数の確認処理を実行する。
すなわち、図11に示すように、画像処理装置103の始端を構成する画像処理ユニット110のプログラム制御部131−110は、接続されている全ての画像処理ユニット111及び112に対し、識別番号IDを要求する要求信号SAを供給する。これに応じて、画像処理ユニット111及び112のプログラム制御部131−111及び131−112は、識別番号ID1及びID2をプログラム制御部131−110に供給する。
この結果、プログラム制御部131−110は、受け取った識別番号IDの数及び自身の「1」を加えた数を、画像処理装置103が有する画像処理ユニットの数として認識し得るようになされている。
次に、プログラム制御部131−110は、制限情報設定処理を実行する。
図12に示すように、プログラム制御部131−110は、供給される画像データE1に対して画像処理を実行し、演算処理単位当たりの画像処理に要する時間を算出する。このとき、プログラム制御部131−110は、例えば複数の演算処理単位に対して画像処理を実行し、平均時間を演算処理単位当たりに要する画像処理の時間とする。
プログラム制御部131−110は、演算処理単位当たりに要する画像処理の時間を、画像処理装置103が有する画像処理ユニットの数によって除算した値を、制限時間として算出する。図13に示すように、プログラム制御部131−110は、制限情報設定部32−110に対し、制限時間を設定すると共に、制限時間情報TM及び当該制限時間情報TMを設定する旨の要求信号S4をプログラム制御部131−111及び112にそれぞれ供給する。
プログラム制御部131−111及び112は、制限時間情報TMが表す制限時間を制限情報設定部32−111及び32−112にそれぞれ設定する。
この結果、画像処理ユニット110〜112には、画像処理に応じた最適な制限時間が自動的に設定されるようになされている。
[2−2.処理手順]
次に、画像処理プログラムに従って実行される自動開始処理手順RT2について、図14〜16のフローチャートを用いて説明する。
次に、画像処理プログラムに従って実行される自動開始処理手順RT2について、図14〜16のフローチャートを用いて説明する。
画像処理装置103は、自動開始処理手順RT2(図14)を開始すると、ステップSP11へ移り、サーバ2から画像データE1が供給されると、次のステップSP12へ移る。
ステップSP12において、画像処理装置103は、サブルーチンSRT11に移り、接続台数確認処理を実行すると、次のステップSP13へ移る。
ステップSP13において、画像処理装置103は、サブルーチンSRT12に移り、制限情報設定処理を実行すると、次のステップSP14へ移る。
ステップSP14において、画像処理装置103は、同一プログラム並行処理手順RT1(図9)を実行すると、終了ステップへ移って処理を終了する。
自動開始処理手順RT2のステップSP12において、画像処理装置103における画像処理ユニット110は、サブルーチンSRT11(図15)のステップSP21に移り、接続されている各画像処理ユニットに対して識別番号IDの供給を要求すると、次のステップSP22へ移る。
ステップSP22において、画像処理ユニット110は、所定の待受時間に亘って識別番号IDの供給を待ち受けると、次のステップSP23へ移る。
ステップSP23において、画像処理ユニット110は、供給された識別番号IDの数から、接続されている画像処理ユニットの数を認識すると、自動開始処理手順RT2(図14)のステップSP13へ戻る。
自動開始処理手順RT2のステップSP13において、画像処理装置103における画像処理ユニット110は、サブルーチンSRT12(図16)のステップSP31に移る。ステップSP31において、画像処理ユニット110は、画像データE1に対する画像処理を実行し、演算処理単位当たりの処理時間を計測すると、次のステップSP32へ移る。
ステップSP32において、画像処理ユニット110は、ステップSP31において計測した演算処理単位当たりの処理時間に基づいて制限時間を決定すると、次のステップSP33へ移る。
ステップSP33において、画像処理ユニット110は、制限時間を表す制限時間情報TMを生成し、接続されている各画像処理ユニット111〜112に供給すると、次のステップSP34へ移る。
ステップSP34において、画像処理ユニット110は、自身の制限情報設定部32に制限時間を設定すると、自動開始処理手順RT2(図14)のステップSP14へ戻る。
[2−3.動作及び効果]
以上の構成において、画像処理ユニット110は、接続部に対する他の処理ユニットの接続の有無により、画像処理装置103の端部を構成するか否かを認識し、画像処理装置103の始端であると認識する。画像処理ユニット110は、画像処理を開始する際、演算処理単位ごとの画像データE1を画像処理するのに要する処理時間を計測し、当該計測された処理時間に基づいて制限時間を算出する。そして、画像処理ユニット110は、接続されている他の画像処理ユニット111及び112に対して制限時間情報TMを供給する。
以上の構成において、画像処理ユニット110は、接続部に対する他の処理ユニットの接続の有無により、画像処理装置103の端部を構成するか否かを認識し、画像処理装置103の始端であると認識する。画像処理ユニット110は、画像処理を開始する際、演算処理単位ごとの画像データE1を画像処理するのに要する処理時間を計測し、当該計測された処理時間に基づいて制限時間を算出する。そして、画像処理ユニット110は、接続されている他の画像処理ユニット111及び112に対して制限時間情報TMを供給する。
これにより、画像処理ユニット110は、画像データE1及びプログラムの特性に応じた最適な制限時間を、ユーザになんら処理をさせることなく、制限情報設定部32に自動的に設定し得る。これにより、画像処理ユニット110は、画像処理装置103としての処理能力を最大限発揮し得ると共に、ユーザの使い勝手を向上させ得る。
画像処理ユニット110は、接続されている他の画像処理ユニット111及び112の数をカウントする。
これにより、画像処理ユニット110は、ユーザになんら処理をさせることなく、最適な制限時間を算出し得る。
以上の構成によれば、画像処理装置103は、1台の画像処理ユニット110によって画像データE1に対する画像処理に要する処理時間を計測し、制限時間を自動的に設定するようにした。
これにより、画像処理装置103は、ユーザの手を煩わせずに最適な制限時間を設定することができる。
<3.他の実施の形態>
なお上述した第1の実施の形態においては、3つの画像処理ユニット10〜12が直列に接続されるようにした場合について述べた。本発明はこれに限らず、接続される画像処理ユニットの数に制限はなく、2台、若しくは4台以上の画像処理ユニットが直列に接続されるようにしても良い。
なお上述した第1の実施の形態においては、3つの画像処理ユニット10〜12が直列に接続されるようにした場合について述べた。本発明はこれに限らず、接続される画像処理ユニットの数に制限はなく、2台、若しくは4台以上の画像処理ユニットが直列に接続されるようにしても良い。
また上述した実施の形態においては、画像処理装置3が画像データE1に対して画像処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば流体力学や宇宙工学の物理的シミュレーション及び将棋やチェスのプログラムを実行するなど、各種演算処理を実行するようにしても良い。
さらに上述した実施の形態においては、制限情報として制限時間が設定されるようにした場合について述べた。本発明はこれに限らず、例えばフレーム画像の数やデータ量などが設定されるようにしても良い。
さらに上述した実施の形態においては、演算処理単位として、フレーム画像を基準とするようにした場合について述べた。本発明はこれに限らず、演算処理単位に制限はなく、処理対象となるデータの種類に応じて適した単位が選択される。
さらに上述した実施の形態においては、画像処理ユニット10〜12は、画像処理した中間データM1及びM2、結果データR1を後段の画像処理ユニットのメモリ25に格納するようにした場合について述べた。本発明はこれに限らず、格納するメモリ25の場所に特に制限はない。例えば自身の処理ユニットのメモリ25に格納するようにしても良い。この場合、自身の画像処理ユニットではなく、中間データM1及びM2の格納されているメモリ25を有する画像処理ユニット(すなわち前段の画像処理ユニット)から中間データM1及びM2を読み出すようにする。
さらに上述した実施の形態においては、プログラムを予めインストールしてから画像処理を実行するようにした場合について述べた。本発明はこれに限らず、サーバ2が画像データE1と共にプログラムを供給し、画像処理と同時並行でプログラムがコピーされるようにしても良い。この場合、画像処理ユニット10及び11は、画像処理を開始する際に、中間データM1及びM2並びに進行情報と共に、後段の画像処理ユニット11及び12のメモリ25にプログラムをコピーして書込む。これにより、画像処理装置3は、ユーザになんら操作をさせる必要なく、画像処理を開始することができ、操作性を向上させ得る。
さらに上述した実施の形態においては、ホストコントローラ26がデータの送受を実行するようにした場合について述べた。本発明はこれに限らず、必ずしもホストコントローラ26は必要ではない。バス29の接続に制限はなく、例えばバス29がCELL24間を接続していても良い。この場合、CELL24の例えばプログラム制御部31がデータの送受を実行する。また、CELL24及びメモリ25がバス29に直接接続されていても良い。
さらに上述した実施の形態においては、後段の画像処理ユニット11及び12は、中間データM1及びM2において画像処理が終了した部分の終端から画像処理を開始するようにした場合について述べた。本発明はこれに限らず、画像処理を実行していない部分に対して画像処理を実行すればよく、その開始位置に制限はない。
さらに上述した実施の形態においては、入力端子21及び出力端子22に対する接続の有無により、画像処理装置3における端部か否かを認識するようにした場合について述べた。本発明はこれに限らず、例えばサーバ2からの情報の供給、又は入力ケーブル4及び出力ケーブル5の接続により始端であることを認識するようにしても良い。
さらに上述した実施の形態においては、画像処理ユニット10〜12において演算を実行するCELL24がパイプライン処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば本発明の同一プログラム並行処理や、相違するタスクを実行させる処理などを実行しても良い。また、本発明は、必ずしも演算部に並行処理を実行させる必要はない。
さらに上述した実施の形態においては、CELL24は、8つのSPE41〜48と、プログラム制御部31を有するようにした場合について述べた。本発明はこれに限らず、演算部としての構成に制限はない。例えば、演算部が単一のプロセッサにより構成されていても良い。
さらに上述した実施の形態においては、制限時間が適切でない場合には、アラームを鳴らすようにした場合について述べた。本発明はこれに限らず、必ずしもアラームを鳴らす必要はない。また、警告として、例えば警告ランプを点灯させたり、アナウンスをかけるようにしても良い。
さらに上述した実施の形態においては、残時間閾値が制限時間の割合として設定されているようにした場合について述べた。本発明はこれに限らず、実際の数値(例えば8[msec])として設定されていても良い。この残時間閾値は、ユーザにより任意に設定されるようにしても良い。
さらに上述した実施の形態においては、複数の演算処理単位に対して画像処理を実行し、処理に要する時間の平均値を画像処理ユニットの数で除算するようにした場合について述べた。本発明はこれに限らず、例えば1つの演算処理単位に対する処理に要する時間を用いても良い。また、不意の事態に備えて制限時間に若干の余裕を持たせるため、例えば処理に要する時間の平均値の1.1倍の値を画像処理ユニットの数で除算するようにしても良い。
さらに、上述した実施の形態においては、画像処理プログラム等をROM又はハードディスクドライブなどに予め格納するようにした場合について述べた。本発明はこれに限らず、メモリースティック(ソニー株式会社の登録商標)などの外部記憶媒体からフラッシュメモリなどにインストールするようにしても良い。また、画像処理プログラムなどをUSB(Universal Serial Bus)やEthernet(登録商標)(Institute of Electrical and Electronics Engineers)802.11a/b/gなどの無線LAN(Local Area Network)を介して外部から取得し、さらに、は地上ディジタルテレビジョン放送やBSディジタルテレビジョン放送により配信されるようにしても良い。
さらに上述した実施の形態においては、制限情報設定部としての制限情報設定部32と、メモリとしてのメモリ25と、接続部としての入力端子21及び出力端子22とを有する複数の処理ユニットとしての画像処理ユニット10〜12によって、演算処理装置としての画像処理装置3を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる制限情報設定部と、メモリと、接続部を有する複数の処理ユニットによって本発明の演算処理装置を構成するようにしても良い。
さらに上述した実施の形態においては、制限情報設定部としての制限情報設定部32と、メモリとしてのメモリ25と、接続部としての入力端子21及び出力端子22とを有する複数の処理ユニットとしての画像処理ユニット10〜12と、サーバとしてのサーバ2によって、演算処理システムとしての画像処理システム1を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる制限情報設定部と、メモリと、バスと、接続部を有する複数の処理ユニットとサーバとによって本発明の演算処理システムを構成するようにしても良い。
本発明は、例えばプロ用の画像編集装置や学術的に使用される高精度のシミュレーションに利用することができる。
1……画像処理システム、2……サーバ、3……画像処理装置、4……入力ケーブル、5……出力ケーブル、10、11、12……画像処理ユニット、24……CELL、25……メモリ、29……バス、31……プログラム制御部、32……タイマー、41〜48……SPE、51……SPU、52……レジスタ、53……ローカルストレージ、61……PPEプログラム格納領域、62……SPEプログラム格納領域、63……入力データ格納領域、64……中間データ格納領域、65……結果データ格納領域、E1……画像データ、M1、M2……中間データ、R1……結果データ、TM……制限時間情報。
Claims (13)
- 複数の処理ユニットが、
直列にバス接続されてなり、
上記各処理ユニットは、
各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
上記複数の処理ユニット間において同一のプログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記複数の処理ユニット間をバス接続する接続部と
を有する演算処理装置。 - 上記演算部は、
上記接続部に対する他の処理ユニットの接続の有無により、上記演算処理装置の端部を構成するか否かを認識し、
上記演算処理装置の後端以外であると認識した場合、
上記制限情報設定部によって設定された制限情報に従って上記演算処理を実行した後、当該演算処理された上記処理データを後段の処理ユニットにおける上記メモリに記憶させる
請求項1に記載の演算処理装置。 - 上記演算部は、
上記プログラムに従った上記演算処理の進行度合いを表す進行情報を上記後段の処理ユニットにおける上記メモリに記憶させる
請求項2に記載の演算処理装置。 - 上記演算部は、
複数の演算器と、
上記複数の演算器に対して複数のタスクを割り当てる制御部と
を有する請求項1に記載の演算処理装置。 - 上記複数の演算器は、
上記メモリに記憶された進行情報に基づいて処理を実行する
請求項4に記載の演算処理装置。 - 上記演算部は、
上記演算処理装置の終端以外であると認識した場合、
上記制限情報が表す上記処理すべき演算処理の量を演算処理していないにも拘らず、上記演算処理単位ごとのデータに対する演算処理を終了すると、警告を発する
請求項2に記載の演算処理装置。 - 上記演算部は、
上記演算処理装置の終端であると認識した場合、
上記制限情報が表す演算処理の量を演算処理したにも拘らず、上記演算処理単位ごとのデータに対する演算処理を終了しないと、警告を発する
請求項6に記載の演算処理装置。 - 上記演算部は、
上記制限情報が表す演算処理の量の範囲内で上記演算処理単位ごとのデータに対する演算処理を終了すると、残りの上記演算処理の量が多い場合には、警告を発する
請求項7に記載の演算処理装置。 - 上記演算部は、
上記接続部に対する他の処理ユニットの接続の有無により、上記演算処理装置の端部を構成するか否かを認識し、
上記演算処理装置の始端であると認識した場合、
上記演算処理を開始する際、上記演算処理単位ごとのデータを上記演算処理するのに要する処理時間を計測し、当該計測された処理時間に基づいて上記制限情報を算出し、
接続されている他の処理ユニットに対して上記制限情報を供給する
請求項1に記載の演算処理装置。 - 上記演算部は、
上記接続されている他の処理ユニットの数をカウントする
請求項8に記載の演算処理装置。 - 各演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
プログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記演算部と同一のプログラムに従って演算処理を実行する他の処理ユニットと直列にバス接続する接続部と
を有する処理ユニット。 - 直列にバス接続された複数の処理ユニット、及びサーバを有し、
上記複数の処理ユニットは、
各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
上記複数の処理ユニット間において同一のプログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記複数の処理ユニット間を接続する接続部と
を有し、
上記サーバは、
上記複数の処理ユニットにおける始端の処理ユニットに対して上記演算処理単位ごとのデータを供給し、
上記複数の処理ユニットにおける終端の処理ユニットから、上記演算部によって演算処理された上記処理データを受け取る
演算処理システム。 - 直列にバス接続された第1の処理ユニット及び第2の処理ユニットが実行し、
上記第1の処理ユニットによって、
演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される第1の制限情報設定ステップと、
プログラム及び上記第1の制限情報設定ステップにおいて設定された上記制限情報に従って、処理すべき演算処理の量だけ各演算処理単位ごとのデータに対する演算処理を実行し、当該演算処理の終了部分を表す進行情報を生成する第1の演算ステップと、
上記演算部によって演算処理された処理データを格納する第1の格納ステップと、
が実行され、
上記第2の処理ユニットによって、
上記第1の制限情報設定部と同一の上記制限情報が設定される第2の制限情報設定ステップと、
上記第1の演算ステップによって演算処理された上記処理データに対し、上記第1の演算部と同一のプログラム及び上記第2の制限情報設定ステップにおいて設定された上記制限情報に従って、上記第1の演算ステップによって生成された進行情報が表す上記終了部分以外について、各演算処理単位ごとのデータにおける演算処理を実行する第2の演算ステップと、
上記第2の演算ステップにおいて演算処理された処理データを格納する第2の格納ステップと
を有する演算処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009144535A JP2011002952A (ja) | 2009-06-17 | 2009-06-17 | 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 |
US12/787,013 US8601238B2 (en) | 2009-06-17 | 2010-05-25 | Arithmetic processing apparatus, arithmetic processing system, and arithmetic processing method which utilize limitation information to perform enhanced arithmetic processing |
CN201010202734XA CN101930421B (zh) | 2009-06-17 | 2010-06-10 | 运算处理装置及方法、处理单元、运算处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009144535A JP2011002952A (ja) | 2009-06-17 | 2009-06-17 | 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011002952A true JP2011002952A (ja) | 2011-01-06 |
Family
ID=43355300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009144535A Abandoned JP2011002952A (ja) | 2009-06-17 | 2009-06-17 | 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8601238B2 (ja) |
JP (1) | JP2011002952A (ja) |
CN (1) | CN101930421B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5840451B2 (ja) * | 2011-10-18 | 2016-01-06 | ルネサスエレクトロニクス株式会社 | メモリ制御装置 |
JP5051327B1 (ja) | 2012-03-22 | 2012-10-17 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245337A (en) * | 1991-05-29 | 1993-09-14 | Triada, Ltd. | Data compression with pipeline processors having separate memories |
US5590356A (en) * | 1994-08-23 | 1996-12-31 | Massachusetts Institute Of Technology | Mesh parallel computer architecture apparatus and associated methods |
US6119215A (en) * | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
US6513108B1 (en) * | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
JP4704659B2 (ja) | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
JP4280029B2 (ja) * | 2002-05-30 | 2009-06-17 | パナソニック株式会社 | ディジタル信号処理装置およびディジタル信号処理方法 |
US7237041B2 (en) * | 2002-12-02 | 2007-06-26 | Adc Telecommunications, Inc. | Systems and methods for automatic assignment of identification codes to devices |
CN101256668B (zh) * | 2008-03-12 | 2012-09-05 | 中兴通讯股份有限公司 | 一种计算均衡的多核进行视频滤波的方法 |
-
2009
- 2009-06-17 JP JP2009144535A patent/JP2011002952A/ja not_active Abandoned
-
2010
- 2010-05-25 US US12/787,013 patent/US8601238B2/en not_active Expired - Fee Related
- 2010-06-10 CN CN201010202734XA patent/CN101930421B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101930421B (zh) | 2012-11-07 |
CN101930421A (zh) | 2010-12-29 |
US20100325387A1 (en) | 2010-12-23 |
US8601238B2 (en) | 2013-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689436B2 (en) | Techniques to configure physical compute resources for workloads via circuit switching | |
CN115269717B (zh) | 存储设备、分布式存储系统以及数据处理方法 | |
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
US9092266B2 (en) | Scalable scheduling for distributed data processing | |
US8949529B2 (en) | Customizing function behavior based on cache and scheduling parameters of a memory argument | |
KR102074468B1 (ko) | 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법 | |
TW457437B (en) | Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system | |
CN104714846A (zh) | 资源处理方法、操作系统及设备 | |
TWI591485B (zh) | 用於減少多節點機箱系統之管理埠之電腦可讀取儲存裝置、系統及方法 | |
CN107729267B (zh) | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 | |
CN110750351B (zh) | 多核任务调度器、多核任务调度方法、装置及相关产品 | |
CN103793291A (zh) | 分布式数据复制方法和装置 | |
CN116302617B (zh) | 共享内存的方法、通信方法、嵌入式系统以及电子设备 | |
JP7379668B2 (ja) | 機械学習ワークロードのためのタスクスケジューリング | |
US8370842B2 (en) | Portioning and routing of work in a multiple processor system | |
JP2011002952A (ja) | 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 | |
KR20120134918A (ko) | 복수의 프로세서를 포함하는 전자 장치 | |
WO2008056489A1 (fr) | Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations | |
TWI479323B (zh) | 多核心處理單元之進階可編程中斷控制器識別符(apic id)指定技術 | |
CN116185599A (zh) | 异构服务器系统及其使用方法 | |
CN112560184B (zh) | 一种飞行器仿真模型并行计算系统及方法 | |
CN116360973A (zh) | 数据处理系统及其操作方法 | |
WO2021036421A1 (zh) | 多核架构的同步信号产生电路、芯片和同步方法及装置 | |
KR20220146835A (ko) | 컴퓨팅 자원 분할 운용 방법 및 장치 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120307 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20130415 |