(57)【要約】【課題】要求されたデッドラインまでに処理を完了するようにタスクを実行できる技術を提供する。【解決手段】汎用プロセッサと専用プロセッサから構成される情報処理装置において、実行要求されたタスクを専用プロセッサで実行できる場合には、専用プロセッサで実行してデッドラインを保証できるかスケジューリング可能性を判定する。専用プロセッサで実行できない場合や、専用プロセッサではデッドラインを守れない場合には、汎用プロセッサで実行してデッドラインを保証できるかスケジューリング可能性を判定する。このように、専用プロセッサに優先的にタスクを割り当てることで、演算資源を有効活用しつつリアルタイム処理が可能となる。また、専用プロセッサが動的に再構成可能な半導体デバイスであることが好ましく、この場合柔軟に様々な処理に対応することが可能となる。【選択図】図４
2007219937.tif 000002
【特許請求の範囲】
【請求項１】
汎用的な処理を行う第１のプロセッサと、
特定の処理を行う第２のプロセッサと、
を有する情報処理装置におけるタスク管理システムであって、
デッドラインが定められたタスクの実行要求を受け付ける実行要求受付手段と、
前記タスクを前記第２のプロセッサで実行できるかを判定する実行可能判定手段と、
前記タスクを前記第２のプロセッサで実行可能なときには、前記タスクを前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証可能かを判定し、デッドライン保証可能な場合には該タスクをタスク管理テーブルに前記第２のプロセッサで実行するタスクとして登録し、前記タスクを前記第２のプロセッサで実行不可能なときには、前記タスクを前記第１のプロセッサで実行させた場合に該タスクのデッドラインを保証可能かを判定し、デッドライン保証可能な場合には該タスクを前記タスク管理テーブルに前記第１のプロセッサで実行するタスクとして登録するスケジュール可能性判定手段と、
前記タスク管理テーブルに基づいて、該タスク管理テーブルに登録されているタスクを前記第１のプロセッサまたは前記第２のプロセッサに実行させるタスク実行手段と、
を備えることを特徴とするタスク管理システム。
【請求項２】
前記タスクは周期的に実行されるタスクであり、
前記実行要求には、実行周期、前記第１のプロセッサおよび前記第２のプロセッサでそれぞれ実行した場合の１周期あたりの所要実行時間、および各周期におけるデッドラインが含まれ、
前記スケジュール可能性判定手段は、前記実行周期、前記所要実行時間、および前記デッドラインを用いて、デッドラインモノトニック法によって、前記第１のプロセッサまたは前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証できるか否かを判定する
ことを特徴とする請求項１記載のタスク管理システム。
【請求項３】
前記第２のプロセッサは、ソフトウェアにより内部の回路構成を動的に再構成可能なプロセッサである
ことを特徴とする請求項２記載のタスク管理システム。
【請求項４】
汎用的な処理を行う第１のプロセッサと、
特定の処理を行う第２のプロセッサと、
を有する情報処理装置におけるタスク管理方法であって、
前記情報処理装置が、
デッドラインが定められたタスクの実行要求を受け付け、
前記タスクを前記第２のプロセッサで実行可能かを判定し、
前記タスクが前記第２のプロセッサで実行可能な場合には、前記タスクを前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定し、デッドライン保証可能な場合には該タスクを前記第２のプロセッサで実行するタスクとしてタスク管理テーブルに登録し、
前記タスクが前記第２のプロセッサ実行不可能な場合には、前記タスクを前記第１のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定し、デッドライン保証可能な場合には該タスクを前記第１のプロセッサで実行するタスクとして前記タスク管理テーブルに登録し、
前記タスク管理テーブルに基づいて、該タスク管理テーブルに登録されているタスクを前記第１のプロセッサまたは前記第２のプロセッサに実行させる
ことを特徴とするタスク管理方法。
【請求項５】
汎用的な処理を行う第１のプロセッサと、
特定の処理を行う第２のプロセッサと、
を有する情報処理装置におけるタスク管理プログラムであって、
前記情報処理装置に対して、
デッドラインが定められたタスクの実行要求を受け付けさせ、
前記タスクを前記第２のプロセッサで実行可能かを判定させ、
前記タスクが前記第２のプロセッサで実行可能な場合には、前記タスクを前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定させ、デッドライン保証可能な場合には該タスクを前記第２のプロセッサで実行するタスクとしてタスク管理テーブルに登録させ、
前記タスクが前記第２のプロセッサ実行不可能な場合には、前記タスクを前記第１のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定させ、デッドライン保証可能な場合には該タスクを前記第１のプロセッサで実行するタスクとして前記タスク管理テーブルに登録させ、
前記タスク管理テーブルに基づいて、該タスク管理テーブルに登録されているタスクを前記第１のプロセッサまたは前記第２のプロセッサに実行させる
ことを特徴とするタスク管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置におけるタスク管理技術に関し、特にタスクのデッドラインを保証する技術に関する。
【背景技術】
【０００２】
数値演算や論理演算を行う半導体デバイス（ロジックＩＣともいう）には、メモリに格納されたプログラムコードを読み込み、このコードを解釈して実行することで汎用的な処理を行える汎用プロセッサ（マイクロ・コンピュータ）と、処理のロジックは配線回路によって定められており特定の機能を実行する専用プロセッサとがある。汎用プロセッサを用いることで柔軟な処理を行えるが、ロジックをハードに埋め込んだ専用プロセッサを用いることで高速な処理が実現できる。したがって、汎用プロセッサと専用プロセッサを組み合わせたコンピュータシステム（情報処理装置）では、特定の処理については専用プロセッサに実行させることで処理速度を向上させることができる。
【０００３】
特許文献１には、１つのＣＰＵ（中央演算処理装置）に複数のＤＳＰ（Digital Signal
Processor）やＰＬＤ（Programmable Logic Device）を接続し、これらＤＳＰやＰＬＤ
間での負荷を検知し負荷の分散を図ることで、処理能力を向上させる技術が記載されている。
【０００４】
ところで、処理ロジックが配線回路に埋め込まれる専用プロセッサにおいて、チップ内の配線回路を動的に切り替える技術が研究されている。このような配線回路を動的に再構成可能なプロセッサは、処理のロジックが配線回路に埋め込まれているため処理速度が速く、かつ、ロジックの再構成により柔軟な処理に対応できるという利点を併せ持つ。
【特許文献１】特開２００２−２４４８７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術は、コンピュータの演算資源を有効活用することで、処理速度を向上させようとするものである。コンピュータシステムに対して、このような高速処理を求める要求がある一方、実行する処理が所定の時間内に完了することを求める要求がある。本明細書中では、所定の時間内に実行を完了する（デッドラインを保証する、ともいう）必要のある処理をリアルタイム処理といい、所定の時間内に処理の完了を保証するシステムをリアルタイムシステムという。
【０００６】
リアルタイム処理の例としては、自動車のエアバッグを作動させる処理が挙げられる。エアバッグの始動は衝突を検知してから所定の時間内に行われなければ意味がない。また、車両や航空機などのブレーキを作動する処理もリアルタイム処理である。このように制御系の処理ではデッドライン保証が重要となることが多い。また制御系の処理に限らず、例えば、画像処理や音声処理もデッドライン保証が重要である。例えば、毎秒３０フレームの画像を再生する場合には、１フレームあたりの画像処理を１／３０秒以内に終了させなければ良好な画像再生が行えない。
【０００７】
本発明の目的は、要求されたデッドラインまでに処理を完了するようにタスクを実行できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明では以下のような構成をとる。本発明は、汎用的な処
理を行うプロセッサ（第１のプロセッサ）と、特定の処理を行うプロセッサ（第２のプロセッサ）とを有するコンピュータ（情報処理装置）におけるタスク管理システムである。
【０００９】
汎用的な処理を行うプロセッサ（以下、「汎用プロセッサ」という）は、ＣＰＵ（Central Processing Unit：中央演算処理装置）あるいはＭＰＵ（Micro Processing Unit）とも呼ばれる半導体デバイスが該当する。汎用プロセッサは、メモリに記憶されたプログラムを読み込み、プログラムの指示にしたがってデータの入力・加工・出力を行う。このように、汎用プロセッサでは、プログラムを変更することで任意の処理を行うことができる。
【００１０】
特定の処理を行うプロセッサ（以下、「専用プロセッサ」という）では、処理の内容が内部の配線回路によって定められている。専用プロセッサには、ＡＳＩＣ（Application Specific Integrated Circuit）が該当するが、ＡＳＩＣだけでなくＦＰＧＡ（Field Programmable Gate Array）やＣＰＬＤ（Complex Programmable Logic Device)などのＰＬＤ（Programmable Logic Device）も含まれる。このように、配線回路を動的に再構成する
ことで種々の処理を行えるプロセッサ（動的再構成可能プロセッサ）も、本明細書にいう専用プロセッサに含まれる。なお、汎用プロセッサと専用プロセッサは異なるチップ上に実装されても良く、同一のチップ上に実装されても良い。
【００１１】
本発明にかかるタスク管理システムは、実行要求受付手段と実行可能判定手段と、スケジュール可能性判定手段と、タスク実行手段とを含む。
【００１２】
実行要求受付手段は、タスクの実行要求を受け付ける。各タスクは実行要求があってから所定の時間内に完了させる必要がある。この所定の時間のことをデッドラインという。実行要求受付手段は、タスクをデッドラインまでに完了できる場合にはタスクの実行要求を受け付け、デッドラインまでに完了できない場合には実行要求を拒否する。
【００１３】
実行可能判定手段は、実行要求受付手段の受け付けたタスクが専用プロセッサ上で実行できるか否かを判定する。専用プロセッサは配線回路によって行える処理が定まっているため、要求されたタスクが専用プロセッサ上で実行できる場合とできない場合とがある。なお、専用プロセッサが動的に再構成可能な場合には、現在実行可能な処理を提供機能管理テーブルに格納しておき、このテーブルを参照することで専用プロセッサ上で実行できるか否かを判定することができる。
【００１４】
スケジュール可能性判定手段は、タスクをデッドラインまでに完了させることができるか否かを判定する。タスクが専用プロセッサで実行可能である場合には、専用プロセッサでこのタスクを実行するときにデッドライン保証可能であるかを判定する。デッドライン保証可能であると判定した場合には、タスク管理テーブルに専用プロセッサで実行すべきタスクとしてこのタスクを登録する。このタスクが専用プロセッサで実行不可能である場合には、汎用プロセッサでこのタスクを実行するときにデッドライン保証可能であるかを判定する。デッドライン保証可能であると判定した場合には、タスク管理テーブルに汎用プロセッサで実行すべきタスクとしてこのタスクを登録する。なお、専用プロセッサで実行可能なタスクを専用プロセッサで実行するとデッドラインを保証できない場合、汎用プロセッサで実行してデッドラインの保証が可能かを判定することも好ましい。専用プロセッサの方が高速な処理が可能であるが、専用プロセッサに処理が集中した場合には、専用プロセッサではデッドラインを守れなくても汎用プロセッサを用いるとデッドラインを守れる場合もあり得る。
【００１５】
スケジュール可能性の判定は、例えば、デッドラインモノトニック（Deadline Monotonic）法や、レートモノトニック（Rate Monotonic）法、ＥＤＦ（Earliest Deadline Firs
t）法などのアルゴリズムを用いて判定することができる。デッドラインモノトニック法
では、周期的なタスクを、実行周期、１周期あたりの所要実行時間、各周期におけるデッドラインの３つのパラメータを用いてデッドラインを保証できるか（スケジュールできるか）を判定する。したがって、タスクの実行要求には、これらの情報が付与されることが好ましい。なお、タスクの実行に要する時間は、汎用プロセッサと専用プロセッサを用いた場合で異なるので、それぞれの場合についての所要実行時間が必要である。ただし、専用プロセッサで実行できないことが明らかなタスクについては、汎用プロセッサで実行した場合の所要実行時間のみあれば良い。
【００１６】
タスク実行手段は、タスク管理テーブルを参照して、汎用プロセッサに実行させるタスクとして登録されているタスクは汎用プロセッサに実行させ、専用プロセッサに実行させるタスクとして登録されているタスクは専用プロセッサに実行させる。
【００１７】
このような構成をとることによって、本発明にかかるタスク管理システムは、実行を要求されたタスクを専用プロセッサに優先的に割り当てつつ、デッドラインを保証することが可能となる。汎用プロセッサよりも高速な処理が可能な専用プロセッサに優先的にタスクを割り当てることで、高速に処理を行うことができる。また、専用プロセッサが利用できない場合（専用プロセッサの機能ではタスクを実行できない場合と専用プロセッサに過剰な負荷がかかっている場合を含む）に、汎用プロセッサでデッドライン保証可能かを判定するため、情報処理装置の演算資源を有効に活用することができ、デッドラインの保証と効率的な処理とを実現することができる。
【００１８】
なお、本発明は、上記処理の少なくとも一部を含むタスク管理方法、または、上記処理の少なくとも一部を含むタスク管理プログラムとして捉えることができる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【００１９】
例えば、本発明の一態様としてのタスク管理方法は、汎用的な処理を行う第１のプロセッサと、特定の処理を行う第２のプロセッサと、を有する情報処理装置におけるタスク管理方法であって、前記情報処理装置が、デッドラインが定められたタスクの実行要求を受け付け、前記タスクを前記第２のプロセッサで実行可能かを判定し、前記タスクが前記第２のプロセッサで実行可能な場合には、前記タスクを前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定し、デッドライン保証可能な場合には該タスクを前記第２のプロセッサで実行するタスクとしてタスク管理テーブルに登録し、前記タスクが前記第２のプロセッサ実行不可能な場合には、前記タスクを前記第１のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定し、デッドライン保証可能な場合には該タスクを前記第１のプロセッサで実行するタスクとして前記タスク管理テーブルに登録し、前記タスク管理テーブルに基づいて、該タスク管理テーブルに登録されているタスクを前記第１のプロセッサまたは前記第２のプロセッサに実行させることを特徴とする。
【００２０】
また、本発明の一態様としてのタスク管理プログラムは、汎用的な処理を行う第１のプロセッサと、特定の処理を行う第２のプロセッサと、を有する情報処理装置におけるタスク管理プログラムであって、前記情報処理装置に対して、デッドラインが定められたタスクの実行要求を受け付けさせ、前記タスクを前記第２のプロセッサで実行可能かを判定させ、前記タスクが前記第２のプロセッサで実行可能な場合には、前記タスクを前記第２のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定させ、デッドライン保証可能な場合には該タスクを前記第２のプロセッサで実行するタスクとしてタスク管理テーブルに登録させ、前記タスクが前記第２のプロセッサ実行不可能な場合には、前記タスクを前記第１のプロセッサで実行させた場合に該タスクのデッドラインを保証可能か判定させ、デッドライン保証可能な場合には該タスクを前記第１のプロセッサで実行す
るタスクとして前記タスク管理テーブルに登録させ、前記タスク管理テーブルに基づいて、該タスク管理テーブルに登録されているタスクを前記第１のプロセッサまたは前記第２のプロセッサに実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、情報処理装置において要求されたデッドラインまでにタスクの処理を完了することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【００２３】
＜システム概要＞
本実施形態にかかるタスク管理システムを実行するコンピュータシステムは、動画の再生を行う。動画の再生では画像の描画が周期的に行われ（例えば１秒に３０フレーム）１回の描画は所定の時間内（デッドライン）までに完了する必要がある。すなわち、本システムはリアルタイムシステムである。また本コンピュータシステムは、プロセッサとしてＣＰＵとＰＬＤを有するマルチプロセッサシステムである。ＰＬＤは、内部の配線回路を動的に再構成することによって、実行する処理を変更することが可能である。ＰＬＤでは、配線回路を動的に再構成することでＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＭＪＰＥＧなどの複数の方式（コーデック）に対応したデコード処理を行うことができる。
【００２４】
図１は、本実施形態にかかるタスク管理システムを実行するコンピュータシステムのハードウェア構成を示す図である。本コンピュータシステム１は、汎用的な処理を行うＣＰＵ１１、配線回路によって定められた処理を行うＰＬＤ１２、ＲＡＭやＲＯＭなどからなるメモリ１３、キーボードやマウスからなる入力装置１４、ディスプレイやスピーカーからなる出力装置１５、通信制御部１６などがバス等を介して接続されることによって構成される。
【００２５】
ＣＰＵ１１は、メモリ１３に格納されたＯＳ（Operating System）やアプリケーションソフトなどを実行する。また、ＣＰＵ１１は、ＰＬＤ１２の配線回路を再構成する処理を行う。
【００２６】
ＰＬＤ１２は、前述したように配線回路の構成によってあらかじめ定められた特定の処理をするプロセッサである。ＰＬＤ１２は、ＣＰＵ１１から処理の実行を受け付け、処理結果をメモリを介してＣＰＵ１１に返す。また、ＰＬＤ１２は、ＣＰＵ１１からの信号によって配線回路を動的に再構成され、配線回路に応じて異なる処理を行うことが可能である。
【００２７】
本コンピュータシステム１は、通信制御部１６を介して他の情報処理装置と情報のやりとりを行う。例えば、本コンピュータシステム１は、動画配信サーバ２から動画をストリーミング受信し、出力装置１６上に再生する処理を行う。
【００２８】
＜機能構成＞
図２は、本実施形態にかかるタスク管理システムの機能ブロックを示す図である。タスク受付部２１は、ＯＳやアプリケーションプログラムからタスクの実行要求を受け付ける。実行を要求されるタスクは周期的に繰り返し実行されるタスクであり、各周期において処理を完了すべき時間であるデッドラインが定められている。タスク受付部２１は、実行要求されたタスクのデッドラインを守ることができる場合にはタスクの登録要求を受け付ける。
【００２９】
実行可能判定部２２は、タスク受付部２１に登録要求されたタスクをＰＬＤ１２で実行可能か否かを判断する。前述したようにＰＬＤ１２が行える処理はＰＬＤ１２の配線回路の構成によって定まっているが、ＰＬＤ１２の配線回路の構成はＰＬＤ構成制御部２３によって動的に書き換えられる。ＰＬＤ構成制御部２３は、配線回路の書き換えの際に、ＰＬＤ１２が実行できる機能をＰＬＤ機能管理テーブル２４に格納する。したがって、実行可能判定部２２は、ＰＬＤ機能管理テーブル２４を参照することで、要求されたタスクをＰＬＤ１２で実行可能か否かを判断することができる。
【００３０】
スケジュール可能性判定部２５は、登録を要求されたタスクのデッドラインを保証して実行可能かを判定する。このとき、タスクをＰＬＤ１２で実行可能であれば、タスクをＰＬＤ１２で実行させたときにデッドライン保証可能であるか否かを判定する。タスクをＰＬＤ１２で実行不可能な場合、またはＰＬＤ１２で実行可能であってもデッドライン保証できない場合には、スケジュール可能性判定部２５は、タスクをＣＰＵ１１で実行させたときにデッドライン保証可能であるか否かを判定する。スケジュール可能性判定処理の詳細については後述する。
【００３１】
タスク管理テーブル２６には、スケジュール可能性判定部２５によってデッドラインを保証することができると判断されたタスクが登録される。図３は、タスク管理テーブル２６のデータ構造を示す図である。タスク管理テーブル２６には、実行するタスクを一意に識別するタスクＩＤ２６１、タスクを実行するプロセッサ（ＣＰＵ１１またはＰＬＤ１２）２６２、タスクの実行周期２６３、各周期におけるデッドライン２６４、タスクを実行する優先度２６５などが登録される。
【００３２】
タスク実行部２７は、タスク管理テーブル２６に登録されているタスクをＰＬＤ１２またはＣＰＵ１１に実行させる。
【００３３】
なお、本実施形態においては、タスク受付部２１、実行可能判定部２２、ＰＬＤ構成制御部２３、スケジュール可能性判定部２５、およびタスク実行部２７は、ＣＰＵ１１がプログラムを実行することによってその機能が実現される。また、ＰＬＤ機能管理テーブル２４およびタスク管理テーブル２６はメモリ１３に保持される。
【００３４】
＜動作例＞
以下に、図４のフローチャートを用いて本実施形態にかかるタスク管理システムの動作例を説明する。
【００３５】
まず、タスク受付部２１がタスクの実行要求を受け付ける（ステップＳ０１）。タスクの実行要求には、タスクの実行周期、各タスクにおけるデッドライン、このタスクをＰＬＤ１２およびＣＰＵ１１で実行する場合にそれぞれ必要な処理時間が情報として格納されている。次に、実行可能判定部２２が、要求されたタスクがＰＬＤ１２で実行可能か否かを判定する（ステップＳ０２）。この際、ＰＬＤ１２が実行できる機能はＰＬＤ機能管理テーブル２４に格納されているので、これを参照してＰＬＤ１２で実行可能か否かを判定する。
【００３６】
要求されたタスクをＰＬＤ１２が実行可能な場合（Ｓ０２−ＹＥＳ）には、スケジュール可能性判定部２５が、このタスクをＰＬＤ１２で実行した場合にデッドラインを守ることができるか否かを判定する（ステップＳ０３）。本実施形態においては、デッドラインモノトニック法を用いてスケジュール可能性判定を行う。デッドラインモノトニック法では、各タスクの実行周期、１周期あたりの実行時間、およびデッドラインを用いる。これらの情報に基づいて、スケジュール可能性の必要十分条件を判定する判定式が知られているが、十分条件を用いて判定しても良い。
【００３７】
スケジュール可能性の十分条件を表す判定式としては、例えば、以下の判定式を用いることができる。
【数１】
2007219937.tif 000003
なお、Ｔｉ、Ｃｉ、Ｄｉは、各タスクｉの周期、実行時間、デッドラインである。また、タスクｉは、ｉ＝１のタスクが最も優先度が高く、ｉが大きくなるにしたがって優先度が小さくなる。タスクのリリースからデッドラインまでの時間が短いタスクほど、優先度が高くされる。
また、
【数２】
2007219937.tif 000004
は、ｘ以上の最小整数を示す。
【００３８】
この他の判定式については、例えば、以下の文献などに記載されている。
Audsley, Burns, Richardson, Wellings, "Hard Real-Time Scheduling: The Deadline-Monotonic Approach", Proceedings of the 8th IEEE Workshop on Real-Time Operating Systems and Software, 1991
【００３９】
このような判定式にしたがってスケジュール可能性の判定を行い、すでにタスク管理テーブル２６に登録されたタスクと要求されたタスクの全てについてデッドラインを守ることができる場合には、要求されたタスクを実行するタスクとしてタスク管理テーブル２６に登録する（ステップＳ０４）。この際、要求されたタスクはＰＬＤ１２が実行するものとして登録される。
【００４０】
要求されたタスクが、ＰＬＤ１２で実行できない場合（Ｓ０２−ＮＯ）やＰＬＤ１２で実行した場合にデッドラインを保証できない場合（Ｓ０３−ＮＯ）には、スケジュール可能性判定部２５は、要求されたタスクをＣＰＵ１１で実行してデッドラインを保証できるか否かを判定する（ステップＳ０５）。スケジュール可能性判定部２５は、上述したデッドラインモノトニック法を利用してＣＰＵ１１を用いてデッドラインを守りつつタスクを実行できるか否かを判定する。
【００４１】
ＣＰＵ１１でデッドラインを保証できる場合には、要求されたタスクをＣＰＵ１１で実行するタスクとしてタスク管理テーブル２６に登録する（ステップＳ０６）。ＣＰＵ１１で実行してもデッドラインを保証できない場合には、タスク受付部２１は、タスクの要求元に対してデッドラインを保証して実行することができないことを通知する（ステップＳ０７）。
【００４２】
タスク実行部２７は、所定のタイミングでタスク管理テーブル２６を参照して、ＰＬＤ１２とＣＰＵ１１のそれぞれについて優先度の最も高いタスクを、ＰＬＤ１２およびＣＰＵ１１に実行させる。
【００４３】
＜実施形態の効果＞
本実施形態にかかるタスク管理システムでは、実行を要求されたタスクのデッドラインを保証して実行することができる。その際、ＰＬＤ１２で実行可能な処理については優先的にＰＬＤ１２に実行させることで、高速な処理を行うことができる。また、ＰＬＤ１２はその配線回路を動的に変更可能であるため、様々な処理に柔軟に対応することができる。さらに、ＰＬＤ１２を用いてデッドラインを保証できない場合には、ＣＰＵ１１を用いたスケジューリングを行うため、ＰＬＤ１２のみを用いて処理する場合よりも多くの処理を実行することが可能である。
【００４４】
＜変形例＞
本実施形態においては、デッドラインの保証が可能であるかの判定にデッドラインモノトニック法を用いたが、レートモノトニック法やＥＤＦ法などその他のアルゴリズムを用いて判定を行っても良い。また、デッドラインモノトニック法は周期的に実行されるタスクを対象にスケジューリングを行うものであるが、非周期（散発的：sporadic）タスクに拡張したアルゴリズムを用いることも可能である。
【００４５】
また、本実施形態においては、ＣＰＵとＰＬＤをそれぞれ１個ずつ用いる構成を示したが、ＣＰＵおよびＰＬＤはそれぞれ複数個であっても構わない。また、ＰＬＤの代わりにＦＰＧＡやリコンフィグラブルチップなど動的に配線回路を再構成可能な半導体デバイスであればどのようなものを用いても構わない。
【００４６】
また、本タスク管理システムを実行するコンピュータシステムはパーソナルコンピュータのような装置に限られず、携帯電話やＰＤＡ（Personal Digital Assistant）やＥＣＵ（Electronic Control Unit）などどのようなコンピュータであっても良い。さらに、本
タスク管理システムが扱うタスクは、動画再生のみに限られず、音声再生などの各種マルチメディア処理や、自動車の電子部品を制御する制御系処理などどのような処理であっても構わない。
【図面の簡単な説明】
【００４７】
【図１】本実施形態にかかるタスク管理システムを実行するコンピュータシステムのハードウェア構成を示す図である。
【図２】本実施形態にかかるタスク管理システムの機能ブロックを示す図である。
【図３】本実施形態におけるタスク管理テーブルのデータ構造を示す図である。
【図４】本実施形態におけるスケジューリング判定処理のフローチャートである。
【符号の説明】
【００４８】
１        情報処理装置
２        動画配信サーバ
１１      ＣＰＵ
１２      ＰＬＤ
１３      メモリ
１４      入力装置
１５      出力装置
２１      タスク受付部
２２      実行可能判定部
２３      ＰＬＤ構成制御部
２４      ＰＬＤ機能管理テーブル
２５      スケジュール可能性判定部
２６      タスク管理テーブル
２７      タスク実行部
【図１】
2007219937.tif 000005
【図２】
2007219937.tif 000006
【図３】
2007219937.tif 000007
【図４】
2007219937.tif 000008