JP2007018268A - タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム - Google Patents
タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム Download PDFInfo
- Publication number
- JP2007018268A JP2007018268A JP2005199161A JP2005199161A JP2007018268A JP 2007018268 A JP2007018268 A JP 2007018268A JP 2005199161 A JP2005199161 A JP 2005199161A JP 2005199161 A JP2005199161 A JP 2005199161A JP 2007018268 A JP2007018268 A JP 2007018268A
- Authority
- JP
- Japan
- Prior art keywords
- task
- response time
- time ratio
- processor
- tasks
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims description 155
- 238000012545 processing Methods 0.000 claims description 88
- 230000008569 process Effects 0.000 claims description 54
- 230000004913 activation Effects 0.000 description 21
- 238000001994 activation Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 タスク実行におけるリアルタイム性を向上させる。
【解決手段】 マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、前記複数のタスク毎に予め設定されたタスク実行の優先度と、前記マルチプロセッサ個々の処理能力と、前記マルチプロセッサのうち所定時間内に行ったタスク実行に対する応答時間比率と、前記応答時間比率を所定回数分計測した結果から得られる最悪応答時間比率とに基づいて、前記複数のタスクに対する前記マルチプロセッサの割り当てを行うことにより、上記課題を解決する。
【選択図】 図6
【解決手段】 マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、前記複数のタスク毎に予め設定されたタスク実行の優先度と、前記マルチプロセッサ個々の処理能力と、前記マルチプロセッサのうち所定時間内に行ったタスク実行に対する応答時間比率と、前記応答時間比率を所定回数分計測した結果から得られる最悪応答時間比率とに基づいて、前記複数のタスクに対する前記マルチプロセッサの割り当てを行うことにより、上記課題を解決する。
【選択図】 図6
Description
本発明は、タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラムに係り、特にタスク実行におけるリアルタイム性を向上させるためのタスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラムに関する。
一般に、マルチプロセッサを用いて複数のタスクを実行させる場合には、それぞれのタスクをどのプロセッサに割り当てるかというスケジューリングが必要となる。図1は、マルチプロセッサシステムの概要構成の一例を示す図である。図1に示すように、マルチプロセッサシステム10においては、複数のプロセッサ11−1〜11−Nを有し、各プロセッサ11間は共有バス等のネットワーク12によってそれぞれが結合されている。また、ネットワーク12には、タスクスケジューリング装置13が接続されており、タスクスケジューリング装置13により、各プロセッサ11に対するタスクの割り当てを行っている。
また、図2は、従来のマルチプロセッサシステムのスケジューリング方式の一例を示す図である。例えば、図2に示すように複数のタスク(タスク0〜タスク5)がある場合のスケジューリング方式は、通常予めプロセッサ11−1〜11−N毎に担当させるタスクを静的に割り当て、各タスクは割り当てられた各プロセッサ上でのみ実行を許される。
なお、上述したようなスケジューリング方式では、タスク毎に実行許可時間が存在する。図3は、タスクの実行許可時間を説明するための一例の図である。図3に示すように、タスクの実行許可時間とは、タスクの実行時間ではなく、起動要求発生からタスクの実行締め切りまでの時間を示す。また、タスクの応答時間とは、タスクの起動要求発生からタスクの実行完了までの時間を示す。このように、プロセッサの処理能力等に合わせて静的に実行するタスクが割り当てられる。
なお、このようなスケジューリング方式を用いたマルチプロセッサシステムに関する技術として、プロセッサの負荷を指標とすることでプロセッサ毎のタスクの再割り当てを行うものがある(例えば、特許文献1参照。)。
特開2004-192400号公報
ところで、タスクによってはリアルタイム性が要求される場合がある。ここで、リアルタイム性とは、タスクの実行が実行許可時間以内に完了する性質を示す。このとき、プロセッサ毎に実行できるタスクが決められているため、あるプロセッサに処理時間の長いタスクが多く割り当てられる場合、リアルタイム性が確保できなくなるという問題がある。
また、特許文献1に示されているようなマルチプロセッサシステムのスケジューリング方式は、プロセッサの負荷を指標とすることでプロセッサ毎のタスクの再割り当てを行っており、プロセッサ毎に実行できるタスクの割り当てが動的に変更できる。しかしながら、特許文献1に示されているようなスケジューリング方式では、負荷の指標として計算処理速度と応答時間の短縮化については考慮されているもののリアルタイム性についての対応はされておらず、タスクの実行許可時間内にタスクの実行が完了されない状況が起こり得るという問題がある。
本発明は、上述した問題点に鑑みなされたものであり、タスク実行におけるリアルタイム性を向上させるためのタスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラムを提供することを特徴とする。
上述の目的を達成するために、本発明は、マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、前記複数のタスク毎に予め設定されたタスク実行の優先度と、前記マルチプロセッサ個々の処理能力と、前記マルチプロセッサのうち所定時間内に行ったタスク実行に対する応答時間比率と、前記応答時間比率を所定回数分計測した結果から得られる最悪応答時間比率とに基づいて、前記複数のタスクに対する前記マルチプロセッサの割り当てを行うことを特徴とする。
また、本発明は、マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測ステップと、前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測ステップにより得られる処理能力結果から各タスクに対する初期割り当て行う割り当てステップと、前記割り当てステップにより得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測する応答時間比率計測ステップと、前記応答時間比率を所定回数分計測して、計測した複数の応答時間比率から最悪応答時間比率を選出する最悪応答比率選出ステップと、各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行う再割り当てステップとを有することを特徴とする。
これにより、タスクの優先度と、プロセッサ毎の処理能力と、応答時間比率と、最悪応答時間比率とに基づいて、最適なプロセッサにタスクを実行させることができる。したがって、タスク実行におけるリアルタイム性を向上させることができる。
更に、前記再割り当てステップは、前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことが好ましい。これにより、予め各タスクの最悪応答時間比率の見積もりを行うことで、最適なプロセッサにタスクの割り当てを行うことができる。
更に、前記再割り当てステップは、前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することが好ましい。これにより、再割り当てを行う前にプロセッサに対して再割り当ての許可又は禁止を設定することができる。したがって、無駄なく迅速に再割り当てを行うことができる。
また、本発明は、マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング装置において、前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測手段と、前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測手段により得られる処理能力結果から各タスクに対する初期割り当て行うタスク割当手段と、前記タスク割当手段により得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測し、更に計測した前記応答時間比率を所定回数分計測して得られる複数の応答時間比率から最悪応答時間比率を選出する応答時間比率計測手段とを有し、前記タスク割当手段は、各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行うことを特徴とする。これにより、タスクの優先度と、プロセッサ毎の処理能力と、応答時間比率と、最悪応答時間比率とに基づいて、最適なプロセッサにタスクを実行させることができる。したがって、タスク実行におけるリアルタイム性を向上させることができる。
更に、前記タスク割当手段は、前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことが好ましい。これにより、予め各タスクの最悪応答時間比率の見積もりを行うことで、最適なプロセッサにタスクの割り当てを行うことができる。
更に、前記タスク割当手段は、前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することが好ましい。これにより、再割り当てを行う前にプロセッサに対して再割り当ての許可又は禁止を設定することができる。したがって、無駄なく迅速に再割り当てを行うことができる。
また、本発明は、マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリングをコンピュータに実行させるためのタスクスケジューリングプログラムにおいて、前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測処理と、前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測処理により得られる処理能力結果から各タスクに対する初期割り当て行う割り当て処理と、前記割り当て処理により得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測する応答時間比率計測処理と、前記応答時間比率を所定回数計測して、計測した複数の応答時間比率から最悪応答時間比率を選出する最悪応答比率選出処理と、各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行う再割り当て処理とをコンピュータに実行させる。これにより、タスクの優先度と、プロセッサ毎の処理能力と、応答時間比率と、最悪応答時間比率とに基づいて、最適なプロセッサにタスクを実行させることができる。したがって、タスク実行におけるリアルタイム性を向上させることができる。また、実行プログラムをコンピュータにインストールすることにより、容易にタスクスケジューリング処理を実現することができる。
更に、前記再割り当て処理は、前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことが好ましい。これにより、予め各タスクの最悪応答時間比率の見積もりを行うことで、最適なプロセッサにタスクの割り当てを行うことができる。
更に、前記再割り当て処理は、前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することを特徴とする。これにより、再割り当てを行う前にプロセッサに対して再割り当ての許可又は禁止を設定することができる。したがって、無駄なく迅速に再割り当てを行うことができる。
本発明によれば、タスク実行におけるリアルタイム性を向上させることができる。
以下に、本発明におけるタスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラムを好適に実施した形態について、図面を用いて説明する。なお、後述する本発明の実施形態において、マルチプロセッサシステムの概要構成は、上述した図1と同様の構成を用いる。
図4は、タスクスケジューリング装置の機能構成の一例を示す図である。図4に示すタスクスケジューリング装置20は、送受信手段21と、処理能力計測手段22と、タスク割当手段23と、応答時間比率計測手段24と、記憶手段25と、制御手段26とを有するよう構成されている。なお、タスクスケジューリング装置20は、図1に示すタスクスケジューリング装置13と同様の位置に設置される。
送受信手段21は、タスクスケジューリング装置20と各プロセッサ11−1〜11−N間との制御信号やデータ等の送受信をネットワーク12を介して行う。また、処理能力計測手段22は、システム起動時に各プロセッサの処理能力(パフォーマンス)を計測する。なお、処理能力を計測する際には、予め設定された処理を行って各プロセッサ11−1〜11−Nの処理能力が把握できるような計測用タスクを用いる。なお、計測用タスクは、予め記憶手段25に記憶されている。処理能力計測手段22は、この計測用タスクを送受信手段21からネットワーク12を介して各プロセッサ11−1〜11−Nに送信させる。また、各プロセッサ11で実行されることで得られる実行結果は、ネットワーク12を介して送受信手段21で受け取り記憶手段25に記憶される。なお、上述の制御は、制御手段26により行われる。
タスク割当手段23は、処理能力計測手段22により計測された各プロセッサ11−1〜11−Nの処理能力結果から実際に実行させる複数のタスクに予め設定された優先度(タスク優先度)に基づいてタスクの初期割り当てを行う。なお、この優先度は、任意に設定されていてもよく、また複数のタスクにおける順序や処理の複雑さ等に基づいて設定されていてもよい。また、タスク割当手段23は、初期割り当てが完了した後、制御手段26にマルチプロセッサシステムを実行状態に移行させる。なお、実際に実行させる複数のタスクは、予め記憶手段25に記憶されている。
また、タスク割当手段23は、予め設定されたタスクの実行許可時間内における実行時間の比率(実行時間比率)を算出し、その算出結果や後述する応答時間比率計測手段24により計測される各プロセッサに対する応答時間比率の計測結果等に基づいて、記憶手段25に記憶されているまだ実行されていないタスクの再割り当てを行う。なお、タスクの再割り当ては、タスクの優先度、プロセッサの処理能力、応答時間比率、及び最悪応答時間比率等を用いて、例えばタスクの実行が実行許可時間以内に完了し、最悪応答時間比率が各プロセッサ11−1〜11−Nに対して予め設定されている設定比率を超えないような予め設定された条件を満たすようにタスクの再割り当てを行う。つまり、各タスクの最悪応答時間比率及び各プロセッサ処理能力に基づいてプロセッサ毎のタスクの再割り当てを行う。更に、タスク割当手段23は、プロセッサ11−1〜11−N毎にタスクの再割り当ての許可又は禁止の制限を設定することもできる。なお、具体的なタスクの割り当て手法については後述する。
次に、応答時間比率計測手段24は、予め設定されたタスクの実行許可時間内における応答時間(タスクの起動要求発生からタスクの実行完了までの時間)の比率(応答時間比率)を計測する。また、応答時間比率計測手段24は、応答時間比率の計測を予め設定された所定の回数分繰り返し行い、計測した応答時間比率の中で最大のもの(最悪応答時間比率)を選出する。また、応答時間比率計測手段24は、最悪応答時間比率と、設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行うか否かを判断し、必要に応じてタスク割当手段23に再割り当ての指示を出力する。また、応答時間比率計測手段24は、計測結果等を記憶手段25に記憶させる。
記憶手段25は、上述した計測用タスクを記憶したり、タスク割当手段23により割り当てられた内容を記憶したり、応答時間比率計測手段24における計測結果等を記憶する。更に、記憶手段25は、マルチプロセッサシステムを終了する際、現時点で各タスクに対するプロセッサの割り当て先の情報を記憶する。これにより、今回のシステムの実行により設定された各タスクに対するプロセッサの割り当て先を次回のシステム再起動後に継続させることができる。これにより、再起動後に割り当て処理をやり直す必要がなく迅速にタスクの実行を行うことができる。
また、制御手段26は、各種演算やタスクスケジューリング装置20における各構成部とのデータの入出力や実行指示等の処理を行い、タスクスケジューリング装置20全体の制御を行う。具体的には、制御手段26は、例えばマルチプロセッサシステムを実行状態へ移行したり、タスク再割り当ての指示等を行う。
上述したタスクスケジューリング装置20を用いて、タスクの実行が実行許可時間以内に完了するように、プロセッサ毎のタスク割り当てを動的に変更するスケジューリング方式を実現することができる。これにより、マルチプロセッサシステムにおいてリアルタイム性を向上させることができる。
ここで、本発明におけるタスクスケジューリング装置20は、上述した専用の装置構成等を用いて、マルチプロセッサシステムにおけるタスクスケジューリング処理を行うこともできるが、各構成における処理をコンピュータに実行させることができる実行プログラムを生成し、例えば、汎用のパーソナルコンピュータ、サーバ等にそのプログラムをインストールすることにより、本発明におけるタスクスケジューリング処理を実現することができる。
<ハードウェア構成>
ここで、本発明におけるタスクスケジューリング処理が実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図5は、本発明におけるタスクスケジューリング処理が実現可能なハードウェア構成の一例を示す図である。
ここで、本発明におけるタスクスケジューリング処理が実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図5は、本発明におけるタスクスケジューリング処理が実現可能なハードウェア構成の一例を示す図である。
図5におけるコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、メモリ装置35と、各種制御を行うCPU(Central Processing Unit)36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置31は、コンピュータを使用するユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行等、各種操作信号を入力する。出力装置32は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ(モニタ)を有し、CPU36が有する制御プログラムによりタスクスケジューリングプログラムの実行経過や結果等を表示することができる。
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、CD−ROM等の記録媒体38等により提供することができる。プログラムを記録した記録媒体38は、ドライブ装置33にセット可能であり、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。
補助記憶装置34は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム、上述した計測用タスク等の複数のタスクや処理能力計測結果、応答時間比率計測結果等を蓄積し必要に応じて入出力を行うことができる。
CPU36は、OS(Operating System)等の制御プログラム、及びメモリ装置35により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、タスクスケジューリングプログラムにおける各処理を実現することができる。また、プログラムの実行中に必要な各種情報等は、補助記憶装置34から取得することができ、また格納することもできる。
ネットワーク接続装置37は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラムを他の端末等に提供することができる。また、ネットワーク接続装置37により各プロセッサと制御信号やデータの送受信を行うことができる。
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで本発明におけるタスクスケジューリング処理を実現することができる。また、プログラムをインストールすることにより、容易にタスクスケジューリング処理を実現することができる。
<タスクスケジューリング処理手順>
次に、本発明における実行プログラムにおけるタスクスケジューリング処理手順についてフローチャートを用いて説明する。図6は、本発明におけるタスクスケジューリング処理手順を示す一例のフローチャートである。
次に、本発明における実行プログラムにおけるタスクスケジューリング処理手順についてフローチャートを用いて説明する。図6は、本発明におけるタスクスケジューリング処理手順を示す一例のフローチャートである。
システムの起動時やプログラムの実行開始指示等により、タスクスケジューリング処理が実行されると、まず各タスクに対するプロセッサの割り当て先が設定(記憶)されているかを判断する(S01)。これは、後述するS12において、前回のシステムの実行により設定された各タスクに対するプロセッサの割り当て先を今回のシステム再起動後に有効にすることで、システムの起動毎に割り当て処理を行う必要がなく迅速にタスクの実行を行うための処理である。
ここで、各タスクに対するプロセッサの割り当て先が設定されていない場合(S01において、NO)、プロセッサの処理能力を計測する(S02)。このとき、上述したように予め計測用タスクを用意しておき、その計測用タスクを各プロセッサに用いることによりプロセッサ毎の処理能力(パフォーマンス)を計測する。次に、プロセッサ処理能力及び各タスクに与えられた優先度(タスク優先度)よりタスクの初期割り当てを行う(S03)。
次に、S03の処理が終了後、又はS01の処理において予めプロセッサの割り当て先が設定されている場合(S01において、YES)、マルチプロセッサシステムをタスク実行状態に移行させる(S04)。
次に、実行後から所定の周期になったかを判断し(S05)、所定周期になった場合(S05において、YES)、実行許可時間に対する各タスクの応答時間の比率(応答時間比率)を算出することで計測する(S06)。なお、S06の処理により計測された各タスクの応答時間比率は、記憶手段等により記憶される。また、S06の処理が終了後、応答時間比率の計測(算出)が所定回数を超えたかを判断する(S07)。
ここで、所定回数を超えている場合(S07において、YES)、つまり、応答時間比率の計測を所定回数分繰り返した後、応答時間比率の中で最大のもの(最悪応答時間比率)を選出する(S08)。また、S08の処理が終了後、タスクの再割り当ての必要があるかを判断し(S09)、タスクの再割り当ての必要がある場合(S09において、YES)、各タスクの最悪応答時間比率及び各プロセッサ処理能力に基づいてプロセッサ毎のタスクの再割り当てを行う(S10)。なお、S10の処理では、最悪応答時間比率が予め設定されている設定比率を超えているプロセッサがあれば、設定比率を超えていないプロセッサにタスクの再割り当てを行う。また、タスクの再割り当てを行う際、各タスクの最悪応答時間比率の見積もりを行い、再割り当て先のプロセッサ上でタスクが設定比率を超えないように割り当てを行う。また、S10の処理後は、S05に戻って上述した処理を繰り返し行う。
なお、S05の処理において所定周期に達していない場合(S05において、NO)、S07の処理において所定回数を超えていない場合(S07において、NO)、S09の処理においてタスクの再割り当ての必要がない場合(S09において、NO)、又はS10の処理が終了後、タスクスケジューリング処理を終了するか否かの判断を行い(S11)、処理を終了しない場合(S11において、NO)、S05に戻り上述した処理を繰り返し行う。
また、S11の処理において、処理を終了させる場合(S11において、YES)、現時点で各タスクに対するプロセッサの割り当て先を記憶して(S12)タスクスケジューリング処理を終了する。
上述したタスクスケジューリング処理により、タスクの優先度と、プロセッサ毎の処理能力と、応答時間比率と、最悪応答時間比率とに基づいて、最適なプロセッサにタスクを実行させることができる。したがって、タスク実行におけるリアルタイム性を向上させることができる。また、プロセッサの負荷分散が高精度に実現できる。また、プログラムをインストールすることにより、容易にタスクスケジューリング処理を実現することができる。
<タスクスケジューリング処理の具体例>
次に、タスクスケジューリング処理の具体例について図を用いて説明する。まず、システム起動時に各プロセッサの処理能力(パフォーマンス)を計測し、記憶媒体等の記憶手段等に記録しておく。次に、各タスクの優先度とプロセッサの処理能力とに基づいて、プロセッサ毎のタスクの割り当てを行う。ここで、図7は、プロセッサ及び処理能力の対応表と、タスクに対する設定内容の一例を示す図である。まず、図7(a)に示す対応表は、各プロセッサIDにおける処理能力を数値で表したものである。なお、プロセッサIDは、各プロセッサを識別するための情報であり、数値や桁数は特に限定されるものではなく、また文字等を用いたり、数値及び文字を組み合わせてもよい。また、処理能力の数値は、計測用タスクに対応する予め設定された処理能力を「1」としておき、その処理能力に対して何倍の処理能力があるかを示している。つまり、図7に示す処理能力の数値が高いほど処理能力も高いことになる。
次に、タスクスケジューリング処理の具体例について図を用いて説明する。まず、システム起動時に各プロセッサの処理能力(パフォーマンス)を計測し、記憶媒体等の記憶手段等に記録しておく。次に、各タスクの優先度とプロセッサの処理能力とに基づいて、プロセッサ毎のタスクの割り当てを行う。ここで、図7は、プロセッサ及び処理能力の対応表と、タスクに対する設定内容の一例を示す図である。まず、図7(a)に示す対応表は、各プロセッサIDにおける処理能力を数値で表したものである。なお、プロセッサIDは、各プロセッサを識別するための情報であり、数値や桁数は特に限定されるものではなく、また文字等を用いたり、数値及び文字を組み合わせてもよい。また、処理能力の数値は、計測用タスクに対応する予め設定された処理能力を「1」としておき、その処理能力に対して何倍の処理能力があるかを示している。つまり、図7に示す処理能力の数値が高いほど処理能力も高いことになる。
また、図7(b)に示すタスクに対する設定内容は、タスクID毎にタスク優先度及び起動周期が予め設定されている。ここで、タスクIDは、タスクを識別するための情報であり、数値や桁数は特に限定されるものではなく、例えば上述したように文字等を用いてもよい。また、図7(b)におけるタスク優先度は、数値が小さいほど優先度が高いものとして設定しているが、本発明においてこの限りではなく、例えば逆であってもよい。また、タスク優先度は数値に限定されず、例えば「高」、「中」、「低」等の文字やその組み合わせ等を用いてもよい。
更に、図7(b)に示す起動周期には、例えば、2〔ms〕や3〔ms〕等の時間情報が蓄積される。なお、周期的な実行を行わない単発的なタスクの場合には、非周期起動情報として、例えば「0」や「非」等の数値、文字等が設定される。
図7に示すように設定された各タスクの優先度と上述した各プロセッサの処理能力に基づいて、プロセッサ毎のタスクの割り当てを行う。なお、タスクの割り当ては、処理能力の高いプロセッサから順にタスクを1つずつ割り当てる。また、割り当てる順序としては、例えばタスクの優先度順等があるが、本発明においては特に限定されるものではない。
ここで、図8は、プロセッサ毎のタスクの割り当ての一例を示す図である。図8に示す例では、割り当ての様子をより明確に説明するために図8の上から優先順位の高いタスク及び優先順位の高いプロセッサを配列している。ここで、まず各タスクのプロセッサへの割り当ては優先順位の高いタスクから処理能力の高いプロセッサに順々に割り当てを行う。また、上述そして、全てのプロセッサに1つのタスクを割り当てた後、その後のタスク(優先度:最大−N−1)は、処理能力の最も高いプロセッサ11−1から割り当てられ、更にその後のタスクも順々に処理能力の高いプロセッサ順に割り当てられる。
ここで、優先度の同じタスクが複数存在するときは、起動周期の短いものから優先的に割り当てることとし、周期起動されないタスクは最低の優先度にする。また、全てのタスクの割り当てが完了後、タスクの割り当てを記憶媒体等の記憶手段に記録しておく。ここで、図9は、タスクIDとプロセッサとの割り当て対応表の一例を示す図である。図9に示すように割り当て完了後は、各タスクIDに対応する割り当て先のプロセッサIDが記憶される。なお、プロセッサID「0」はプロセッサ11−1のプロセッサIDに対応し、プロセッサID「1」以降もそれぞれプロセッサ11−2以降に対応している。
また、プロセッサIDは、プロセッサを識別できる情報であればよく、数値に限定されず例えば文字等であってもよい。なお、図9に示すようなプロセッサIDの割り当てについては、プロセッサが過負荷状態にならないように予めプロセッサの能力とタスクの負荷に応じてタスク数の上限を決めておく必要がある。
次に、上述したように設定したタスクを割り当てた後、マルチプロセッサシステムを実行状態にして各タスクを実行させる。また、所定時間における各タスクの応答時間比率を計測する。更に計測処理を所定回数分繰り返し行い、その都度記憶媒体等の記憶手段に蓄積しておく。ここで、図10は、応答時間比率の計測結果の一例を示す図である。図10に示すように、応答時間比率の計測により記録される内容は、タスクIDとそのタスクIDに対応する応答時間比率である。次に、上述の応答時間比率を複数回分記録し、記録された応答時間比率の中から最悪応答時間比率を選出して、予め設定されている各タスクの優先度と合わせて、記憶媒体内に蓄積しておく。
ここで、図11は、記憶する各タスクの最悪応答時間比率の結果の一例を示す図である。図11に示すように、記憶する内容は、各タスクIDに対するタスク優先度及び最悪応答時間比率である。次に、割り当てられた全てのタスクについて最悪応答時間比率が設定比率を超えるタスクの有無を確認する。ここで、設定比率を超えるタスク(オーバーランを含む)が割り当てられたプロセッサについてのみ、後述する再割り当て処理を行う。
ただし、この条件の下で割り当てられたタスクが1つしか存在しない場合はプロセッサ11−1〜11−N毎に予め設定されている再割り当て禁止フラグをONにする。これにより、タスク割当手段におけるタスクの再割り当てにおいて、割り当て対象のプロセッサから除かれることになる。つまり、再割り当てを行う前にプロセッサに対して再割り当ての許可又は禁止を設定することができ、無駄なく迅速に再割り当てを行うことができる。また、プロセッサの負荷の集中を防止することができる。
したがって、再割り当て禁止フラグがONとなっている場合と最悪応答時間比率が設定比率を超えない場合は、後述する再割り当て処理は行わずに所定時間の各タスクの応答時間比率を測定する処理へ戻り、上述した処理を繰り返し行う。なお、本発明では、禁止フラグに限定されるものではなく、例えば許可フラグを設けていれば、許可フラグをOFFにする等により対応を行うことができる。
なお、タスクの終了後、又は処理終了後には、システム再起動後に割り当てた内容を有効にするため、上述した図9に示す割り当て先のプロセッサIDを更新しておいてもよい。これにより、タスクを最適なプロセッサに割り当てることができる。
<タスクの再割り当て処理>
次に、上述したタスクの再割り当て処理について説明する。まず、上述した処理において選出したタスクの最悪応答時間比率が、設定比率を超えているプロセッサにおける最低優先度のタスクの実行時間を算出する。なお、算出手順としては、まず最低優先度タスク以外の全てのタスクについて最低優先度タスクの実行許可時間内における起動回数を算出する。この起動回数に基づいて最低優先度タスク以外のタスクの実行時間を算出する。また、算出した実行時間と、最低優先度タスクの実行許可時間、最低優先度タスクの最悪応答時間比率を用いて、最低優先度タスクの実行時間を算出する。
次に、上述したタスクの再割り当て処理について説明する。まず、上述した処理において選出したタスクの最悪応答時間比率が、設定比率を超えているプロセッサにおける最低優先度のタスクの実行時間を算出する。なお、算出手順としては、まず最低優先度タスク以外の全てのタスクについて最低優先度タスクの実行許可時間内における起動回数を算出する。この起動回数に基づいて最低優先度タスク以外のタスクの実行時間を算出する。また、算出した実行時間と、最低優先度タスクの実行許可時間、最低優先度タスクの最悪応答時間比率を用いて、最低優先度タスクの実行時間を算出する。
ここで、最低優先度タスクの実行時間を算出する方法について図を用いて説明する。図12は、最悪応答時間比率が設定比率を超えた場合のタスクの割り当ての一例を示す図である。図12に示す例では、ある1つのプロセッサ上に優先度の異なる3つのタスクが割り当てられている。割り当てられているタスクは、タスク0(起動周期=1ms,優先度=高)、タスク1(起動周期=2ms,優先度=中)、及びタスク2(起動周期=3ms,優先度=低)となっている。また、タスク毎の最悪応答時間比率は、タスク0の最悪応答時間比率=0.6、タスク1の最悪応答時間比率=0.45、タスク2の最悪応答時間比率=0.6であるとする。
タスク1の最悪応答時間比率Rwr1と起動周期C1よりタスク1の1周期当たりの最悪応答時間Twr1は、Twr1=Rwr1×C1=0.45×2=0.9msとなる。また、タスク0の起動周期C0とTwr1との関係は“C0>Twr1”となる。このため、タスク1の1周期当たりのタスク0の起動回数は1回となる。
次に、タスク0は最高優先度であるため、常に最悪応答時間で実行している。即ち実行時間=最悪応答時間と見なすことができる。ここで、タスク0の最悪応答時間比率Rwr0及び起動周期C0により、タスク1の最悪応答時間におけるタスク0の実行時間Te0は、Te0=Rwr0×(1×C0)=0.6×(1×1)=0.6msとなる。上述により、タスク1の1周期当たりの実行時間Te1は、Te1=Twr1−Te0=0.9−0.6=0.3msとなる。また、タスク1の1周期当たりの応答時間比率Re1は、Re1=Te1÷C1=0.3÷2=0.15となる。
次に、図12のタスク2における最悪応答時間比率Rwr2と起動周期C2により、タスク2の1周期当たりの最悪応答時間Twr2は、Twr2=Rwr2×C2=0.6×3=1.8msとなる。また、タスク0の起動周期C0とTwr2との関係は、“2×Co>Twr2”となるため、タスク2の1周期当たりのタスク0の起動回数は2回となる。また、タスク1の起動周期C1とTwr2との関係が、“C1>Twr2”となるため、タスク2の1周期当たりのタスク1の起動回数は1回となる。
また、タスク2の最悪応答時間におけるタスク0の実行時間Te0’は、Te0’=Rwr0×(2×C0)=0.6×(2×1)=1.2msとなる。また、タスク2の最悪応答時間におけるタスク1の実行時間Te1’は、Te1’=Re1×(1×C1)=0.15×(1×2)=0.3msとなる。
また、タスク2の1周期当たりの実行時間Te2’は、Te2’=Twr2−Te0’−Te1’=1.8−1.2−0.3=0.3msとなる。また、タスク2の1周期当たりの実行時間比率Re2’は、Re2’=Te2’÷C2=0.3÷3=0.1となる。
次に、上述にて割り当てられた全てのタスクについて最悪応答時間比率が、設定比率を超えていないプロセッサのうち、プロセッサの処理能力(パフォーマンス)が最も高いプロセッサを選出する。また、選出されたプロセッサにて割り当てられた全てのタスクの実行時間を算出する。手順としては、まず最低優先度タスク以外の全てのタスクについて最低優先度タスクの実行許可時間内における起動回数を算出する。また、算出した起動回数に基づいて最低優先度タスク以外のタスクの実行時間を算出する。
更に、割り当て先を変更するタスク(設定比率を超えているプロセッサに割り当てられたタスクのうち、最低優先度のタスク)について、新しい割り当て先プロセッサでの実行時間を算出する。また、上述にて得られた割り当て先を変えるタスクの1周期当たりの実行時間TeOLD、現在割り当てられているプロセッサの処理能力AOLD、新しい割り当て先プロセッサの処理能力ANEWとした場合、新しい割り当て先プロセッサでの実行時間TeNEWは、TeNEW=TeOLD×(ANEW÷AOLD)となり、実行時間比率RNEWは、起動周期CよりReNEW=TeNEW÷Cとなる。
これにより、算出された割り当て先を変更するタスクの新しい割り当て先プロセッサでの実行時間TeNEW及び起動周期と、現在プロセッサに割り当てられたタスク全ての実行時間比率及び起動周期とにより、新しくタスク割り当てを行った状態での各タスクの最悪応答時間比率の見積もりを行う。なお、新しくタスク割り当てを行った状態での各タスクの最悪応答時間比率の見積もり方法の詳細については後述する。
ここで、図13は、最悪応答時間比率の見積もりを行った後のタスク割り当ての様子を説明するための一例の図である。上述の見積もりを行った後、新しくタスク割り当てを行ったプロセッサのうち設定比率を超えるタスクが1つ以上存在した場合、図13(a)に示すように、現状のタスクの割り当てを中止し、次に処理能力が高いプロセッサを割り当てて処理を行う。つまり、図13(a)に示すタスク(優先度:最大−K(K>N))は、一端プロセッサ11−2に割り当てられたが、タスク(優先度:最大−K)がプロセッサ11−2の設定比率を超えるタスクであったため、次に処理能力が高いプロセッサ(図13(a)におけるプロセッサ11−3)にタスク(優先度:最大−K)を割り当てて処理を行わせる。
また、タスク(優先度:最大−K)が次に処理能力が高いプロセッサへの割り当てもできず、以降のプロセッサ11−Nまで割り当てができなかった場合は、図13(b)示すようにプロセッサ11−1に再割り当てを行い禁止フラグをONに変更して、タスク(優先度:最大−K)が終了するまで又は最悪応答時間比率(見積もり値)が設定比率内になるまで等の条件を設けて、他のタスクがプロセッサ11−1に割り当てられないようにする。また、上述したように所定時間の各タスクの応答時間比率の計測を行う。ここで、各タスクの最悪応答時間比率(見積もり値)が設定比率内であれば、再割り当てされた各タスクに対するプロセッサの割り当て先を記憶して所定時間の各タスクの応答時間比率の計測等、それ以降の処理を行う。
<最悪応答時間比率の見積もり方法>
ここで、新しくタスク割り当てを行った状態での、各タスクの最悪応答時間比率の見積もり方法について図を用いて説明する。図14は、最悪応答時間比率の見積もり例を説明するための図である。図14の例では、まず図14(a)に示す予め2つのタスク(タスクAとタスクB)が割り当てられていたプロセッサに、新しくタスクCが割り当てられた状態(図14(b))を表している。なお、図14に示す3つのタスクは、タスクA(起動周期CA=1ms,優先度=高)、タスクB(起動周期CB=4ms,優先度=低)、タスクC(起動周期Cc=3ms,優先度=中)となっている。また、タスク毎の実行時間比率は、タスクAの実行時間比率ReAが0.6、タスクBの実行時間比率ReBは0.1であるとする。更に、タスクCの実行時間比率ReCは0.15であるとする。
ここで、新しくタスク割り当てを行った状態での、各タスクの最悪応答時間比率の見積もり方法について図を用いて説明する。図14は、最悪応答時間比率の見積もり例を説明するための図である。図14の例では、まず図14(a)に示す予め2つのタスク(タスクAとタスクB)が割り当てられていたプロセッサに、新しくタスクCが割り当てられた状態(図14(b))を表している。なお、図14に示す3つのタスクは、タスクA(起動周期CA=1ms,優先度=高)、タスクB(起動周期CB=4ms,優先度=低)、タスクC(起動周期Cc=3ms,優先度=中)となっている。また、タスク毎の実行時間比率は、タスクAの実行時間比率ReAが0.6、タスクBの実行時間比率ReBは0.1であるとする。更に、タスクCの実行時間比率ReCは0.15であるとする。
タスクAは最高優先度であるため、タスクAの最悪応答時間比率RwrAは、RwrA’=ReA=0.6となる。次に、タスクAのみを実行させる場合のタスクAの1周期当たりの空き時間TfAを算出する。TfAは、TfA=(1−RwrA’)×CA=(1−0.6)×1=0.4msとなる。
次に、タスクAと、次に優先度の高いタスクCのみを実行させる場合を仮定する。この仮定では、TfAにおいてタスクCが常に実行可能であると見なせる。タスクCの1周期当たりの実行時間TeCは、TeC=ReC×Cc=0.15×3=0.45msと算出される。そのため、TeCにおけるTfAの割合RfAは、RfA=TfA÷TeC=0.4÷0.45=0.89となる。つまり、0.5<RfA<1となるため、タスクCが完了するにはタスクAの2周期分の時間があれば十分であることがわかる。
上述したタスクAとタスクCの優先度の関係より、タスクCの実行完了までの待ち時間はタスクAの実行時間×2となる。これにより、タスクCの最悪応答時間TwrCは、TwrC={(ReA×CA)×2}+TeC={(0.6×1)×2}+0.45=1.65となる。したがって、タスクCの最悪応答時間比率RwrCは、RwrC=TwrC÷Cc=1.65÷3=0.55となる。
最後に、タスクAとタスクCとに加えて、残された最低優先度のタスクBを実行させる状況を考える。上述より、タスクAの2周期分の時間(CA×2)において、タスクA(起動要求回数=2)、タスクC(起動要求回数=1)は、全て完了していて、かつ空き時間も存在する。このとき、空き時間TfACは、TfAC=2×CA−TwrC=2×1−1.65=0.35msとなる。また、タスクCはタスクAの2周期目の時間(CA×2)にて実行が完了している。そのため、タスクAの3周期目(CA×2以降の時間)における空き時間(TfA=0.4ms)は、全てタスクBの実行に割り当て可能と見なすことができる。更に、タスクBの1周期当たりのタスクBの実行時間TeBは、TeB=CB×ReB=4×0.1=0.4msとなる。
上述した内容から、TfAC<TeB<(TfAC+TfA)の関係が成立する。したがって、タスクBの最悪応答時間TwrB’は、TwrB’={(ReA×CA)×3}+TeC+TeB={(0.6×1)×3}+0.45+0.4=2.65となる。したがって、タスクBの最悪応答時間比率RwrB’は、RwrB’=TwrB’÷CB=2.65÷4=0.66となる。
ここで、図15は、タスクの再割り当ての一例を示す図である。図15に示すように、プロセッサ11−1に設定されていたタスク(優先度:最大−K)は、上述した算出等を行うことによりプロセッサ11−2に割り当てられる。上述したように、タスクの再割り当てを行うことにより、タスク実行におけるリアルタイム性を向上させることができる。
また、上述した割り当て結果は、システム再起動後のときにもこの割り当て内容を有効にするため記憶手段等に蓄積する。これによってタスクの再割り当てがなされる。
上述したように本発明によれば、タスク実行におけるリアルタイム性を向上させることができる。具体的には、マルチプロセッサを用いたタスク実行のスケジューリングにおいて、タスクの優先度とプロセッサの処理能力、応答時間比率、最悪応答時間比率を用いることにより、タスクの実行が実行許可時間以内に完了し、かつ最悪応答時間比率が設定比率を超えないようタスクの再割り当てを行うことができる。
なお、上述した本発明に係るタスクスケジューリング装置は、一般的な機械装置の制御システムに適用可能であり、また家電に組み込まれる小規模なシステムからサーバやスーパーコンピュータに代表される大規模な並列計算機まで幅広く適用することができる。更に、1つのCPUの中に演算コアが複数設けられているチップマルチプロセッサ上のリアルタイムシステム上にて運用をする場合においても本発明は有効である。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
10 マルチプロセッサシステム
11 プロセッサ
12 ネットワーク
13,21 タスクスケジューリング装置
22 処理能力計測手段
23 タスク割当手段
24 応答時間比率計測手段
25 記憶手段
26 制御手段
31 入力装置
32 出力装置
33 ドライブ装置
34 補助記憶装置
35 メモリ装置
36 CPU
37 ネットワーク接続装置
38 記録媒体
11 プロセッサ
12 ネットワーク
13,21 タスクスケジューリング装置
22 処理能力計測手段
23 タスク割当手段
24 応答時間比率計測手段
25 記憶手段
26 制御手段
31 入力装置
32 出力装置
33 ドライブ装置
34 補助記憶装置
35 メモリ装置
36 CPU
37 ネットワーク接続装置
38 記録媒体
Claims (10)
- マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、
前記複数のタスク毎に予め設定されたタスク実行の優先度と、前記マルチプロセッサ個々の処理能力と、前記マルチプロセッサのうち所定時間内に行ったタスク実行に対する応答時間比率と、前記応答時間比率を所定回数分計測した結果から得られる最悪応答時間比率とに基づいて、前記複数のタスクに対する前記マルチプロセッサの割り当てを行うことを特徴とするタスクスケジューリング方法。 - マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング方法において、
前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測ステップと、
前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測ステップにより得られる処理能力結果から各タスクに対する初期割り当て行う割り当てステップと、
前記割り当てステップにより得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測する応答時間比率計測ステップと、
前記応答時間比率を所定回数分計測して、計測した複数の応答時間比率から最悪応答時間比率を選出する最悪応答比率選出ステップと、
各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行う再割り当てステップとを有することを特徴とするタスクスケジューリング方法。 - 前記再割り当てステップは、
前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことを特徴とする請求項2に記載のタスクスケジューリング方法。 - 前記再割り当てステップは、
前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することを特徴とする請求項2又は3に記載のタスクスケジューリング方法。 - マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリング装置において、
前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測手段と、
前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測手段により得られる処理能力結果から各タスクに対する初期割り当て行うタスク割当手段と、
前記タスク割当手段により得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測し、更に計測した前記応答時間比率を所定回数分計測して得られる複数の応答時間比率から最悪応答時間比率を選出する応答時間比率計測手段とを有し、
前記タスク割当手段は、各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行うことを特徴とするタスクスケジューリング装置。 - 前記タスク割当手段は、
前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことを特徴とする請求項5に記載のタスクスケジューリング装置。 - 前記タスク割当手段は、
前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することを特徴とする請求項5又は6に記載のタスクスケジューリング装置。 - マルチプロセッサにより複数のタスクの割り当てを行うタスクスケジューリングをコンピュータに実行させるためのタスクスケジューリングプログラムにおいて、
前記マルチプロセッサを構成する複数のプロセッサの個々の処理能力を計測する処理能力計測処理と、
前記複数のタスク毎に予め設定されたタスク優先度と、前記処理能力計測処理により得られる処理能力結果から各タスクに対する初期割り当て行う割り当て処理と、
前記割り当て処理により得られるタスクの割り当て結果に基づいてタスクを実行し、所定時間におけるタスクの応答時間比率を計測する応答時間比率計測処理と、
前記応答時間比率を所定回数計測して、計測した複数の応答時間比率から最悪応答時間比率を選出する最悪応答比率選出処理と、
各タスクの前記最悪応答時間比率と設定比率とに基づいて、タスクに対するプロセッサの再割り当てを行う再割り当て処理とをコンピュータに実行させるためのタスクスケジューリングプログラム。 - 前記再割り当て処理は、
前記タスクの再割り当てを行う際、各タスクにおける最悪応答時間比率の見積もりを行い、最悪応答時間比率が最も低いプロセッサに前記タスクの再割り当てを行うことを特徴とする請求項8に記載のタスクスケジューリングプログラム。 - 前記再割り当て処理は、
前記複数のプロセッサ毎にタスクの再割り当ての許可又は禁止を設定することを特徴とする請求項8又は9に記載のタスクスケジューリングプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199161A JP2007018268A (ja) | 2005-07-07 | 2005-07-07 | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199161A JP2007018268A (ja) | 2005-07-07 | 2005-07-07 | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007018268A true JP2007018268A (ja) | 2007-01-25 |
Family
ID=37755390
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005199161A Pending JP2007018268A (ja) | 2005-07-07 | 2005-07-07 | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2007018268A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010064394A1 (ja) * | 2008-12-01 | 2010-06-10 | 日本電気株式会社 | データ処理システム、そのコンピュータプログラムおよびデータ処理方法 |
| WO2011102219A1 (ja) * | 2010-02-19 | 2011-08-25 | 日本電気株式会社 | リアルタイムシステム用マルチコア向けタスク配置最適化システム、その方法及びそのプログラム |
| JP5348315B2 (ja) * | 2010-03-19 | 2013-11-20 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
| JP5770721B2 (ja) * | 2010-05-24 | 2015-08-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 情報処理システム |
| KR20160125137A (ko) * | 2015-04-21 | 2016-10-31 | 삼성전자주식회사 | 애플리케이션 프로세서와 시스템 온 칩 |
| CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
| WO2018123456A1 (ja) * | 2016-12-27 | 2018-07-05 | 東芝三菱電機産業システム株式会社 | プログラマブルコントローラ、管理装置および制御システム |
| WO2020211358A1 (zh) * | 2019-04-15 | 2020-10-22 | 平安普惠企业管理有限公司 | 数据库调度方法、装置、计算机设备及存储介质 |
| CN111882152A (zh) * | 2020-06-18 | 2020-11-03 | 科大讯飞股份有限公司 | 任务分配方法以及相关装置 |
| US11640263B2 (en) * | 2020-10-07 | 2023-05-02 | SK Hynix Inc. | Memory system and operating method thereof |
-
2005
- 2005-07-07 JP JP2005199161A patent/JP2007018268A/ja active Pending
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010064394A1 (ja) * | 2008-12-01 | 2010-06-10 | 日本電気株式会社 | データ処理システム、そのコンピュータプログラムおよびデータ処理方法 |
| JPWO2010064394A1 (ja) * | 2008-12-01 | 2012-05-10 | 日本電気株式会社 | データ処理システム、そのコンピュータプログラムおよびデータ処理方法 |
| JP2014139845A (ja) * | 2008-12-01 | 2014-07-31 | Nec Corp | データ処理システム、そのコンピュータプログラムおよびデータ処理方法 |
| WO2011102219A1 (ja) * | 2010-02-19 | 2011-08-25 | 日本電気株式会社 | リアルタイムシステム用マルチコア向けタスク配置最適化システム、その方法及びそのプログラム |
| US8887165B2 (en) | 2010-02-19 | 2014-11-11 | Nec Corporation | Real time system task configuration optimization system for multi-core processors, and method and program |
| JP5348315B2 (ja) * | 2010-03-19 | 2013-11-20 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
| US9092273B2 (en) | 2010-03-19 | 2015-07-28 | Fujitsu Limited | Multicore processor system, computer product, and control method |
| JP5770721B2 (ja) * | 2010-05-24 | 2015-08-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 情報処理システム |
| KR20160125137A (ko) * | 2015-04-21 | 2016-10-31 | 삼성전자주식회사 | 애플리케이션 프로세서와 시스템 온 칩 |
| KR102247742B1 (ko) | 2015-04-21 | 2021-05-04 | 삼성전자주식회사 | 애플리케이션 프로세서와 시스템 온 칩 |
| WO2018123456A1 (ja) * | 2016-12-27 | 2018-07-05 | 東芝三菱電機産業システム株式会社 | プログラマブルコントローラ、管理装置および制御システム |
| JP2018106440A (ja) * | 2016-12-27 | 2018-07-05 | 東芝インフラシステムズ株式会社 | プログラマブルコントローラ、管理装置および制御システム |
| TWI664509B (zh) * | 2016-12-27 | 2019-07-01 | 日商東芝三菱電機產業系統股份有限公司 | 可程式控制器、管理裝置及控制系統 |
| KR20190087520A (ko) * | 2016-12-27 | 2019-07-24 | 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 | 프로그래머블 컨트롤러, 관리 장치 및 제어 시스템 |
| CN110114732A (zh) * | 2016-12-27 | 2019-08-09 | 东芝三菱电机产业系统株式会社 | 可编程控制器、管理装置和控制系统 |
| US10956238B2 (en) | 2016-12-27 | 2021-03-23 | Toshiba Mitsubishi-Electric Industrial Systems Corporation | Programmable controller, management device, and control system |
| KR102258542B1 (ko) * | 2016-12-27 | 2021-05-28 | 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 | 프로그래머블 컨트롤러, 관리 장치 및 제어 시스템 |
| CN110114732B (zh) * | 2016-12-27 | 2022-02-25 | 东芝三菱电机产业系统株式会社 | 可编程控制器、管理装置和控制系统 |
| CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
| WO2020211358A1 (zh) * | 2019-04-15 | 2020-10-22 | 平安普惠企业管理有限公司 | 数据库调度方法、装置、计算机设备及存储介质 |
| CN111882152A (zh) * | 2020-06-18 | 2020-11-03 | 科大讯飞股份有限公司 | 任务分配方法以及相关装置 |
| US11640263B2 (en) * | 2020-10-07 | 2023-05-02 | SK Hynix Inc. | Memory system and operating method thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101651871B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
| JP4308241B2 (ja) | ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム | |
| US9015724B2 (en) | Job dispatching with scheduler record updates containing characteristics combinations of job characteristics | |
| JP5402226B2 (ja) | 管理装置、情報処理システム、情報処理システムの制御プログラムおよび情報処理システムの制御方法 | |
| TW202246977A (zh) | 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品 | |
| KR101640848B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
| US8544005B2 (en) | Autonomic method, system and program product for managing processes | |
| WO2012066640A1 (ja) | 計算機システム、マイグレーション方法及び管理サーバ | |
| JP2006085712A (ja) | グリッド仮想システムの計算資源を割り当てるシステムおよび方法 | |
| KR20110075297A (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
| JP2007018268A (ja) | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム | |
| CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
| KR20140006351A (ko) | 예상 실행 시간 정보를 이용하여 작업을 분배하는 이종 멀티코어 프로세서 시스템의 작업 분배 방법 및 그 방법을 이용하는 이종 멀티코어 프로세서 시스템 | |
| JP6010975B2 (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
| JP5790758B2 (ja) | スケジューリング方法およびスケジューリングシステム | |
| CN107977275B (zh) | 基于消息队列的任务处理方法及相关设备 | |
| CN117827423A (zh) | Gpu共享方法、装置、电子设备及存储介质 | |
| JP2011253334A (ja) | 仮想計算機およびcpu割り当て方法 | |
| JP3893136B2 (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム | |
| KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
| JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
| CN114816777A (zh) | 命令处理装置、方法、电子设备以及计算机可读存储介质 | |
| JP6191361B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
| JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
| JP4211645B2 (ja) | 専用プロセッサの備わった計算機システム |