JP2004528635A - ブロッキングタスクからバジェットを取り除くための方法およびシステム - Google Patents
ブロッキングタスクからバジェットを取り除くための方法およびシステム Download PDFInfo
- Publication number
- JP2004528635A JP2004528635A JP2002570074A JP2002570074A JP2004528635A JP 2004528635 A JP2004528635 A JP 2004528635A JP 2002570074 A JP2002570074 A JP 2002570074A JP 2002570074 A JP2002570074 A JP 2002570074A JP 2004528635 A JP2004528635 A JP 2004528635A
- Authority
- JP
- Japan
- Prior art keywords
- task
- period
- scheduling
- budget
- priority
- 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.)
- Withdrawn
Links
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
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- 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/461—Saving or restoring of program or task context
Abstract
本発明にしたがった方法は、基本的なリアルタイムのオペレーティングシステムにより実行されるコンテクストスイッチの間にブロッキングタスクを検出し、タスクがブロックされる期間の間にブロッキングタスクは実行されることはない。
Description
【0001】
本発明は、第1タスクをスケジューリングする方法であって、期間の間に第1タスクの実行を開始する第1段階と、その期間の間に第1タスクがブロックすることを検出する第2段階と、から構成される方法に関する。本発明は、更に、期間の間に第1タスクを実行するための実行手段と、第1タスクのブロッキング状態を検出するための検出手段と、から構成されるシステムに関する。
【0002】
上記のような方法の形態は、米国特許第6,108,683明細書において開示されている。この中では、ユーザレベルのプロセススケジューラをマルチメディア信号処理のために用いることが可能であるリアルタイムレベルのプロセススケジューラが開示されている。リアルタイムレベルのプロセススケジューラは、オペレーティングシステムによりサポートされる固定的な優先度のプロセススケジューラである。ユーザレベルのプロセススケジューラはCPUの時間をユーザのプロセスに同時に割り当て、ユーザレベルのプロセススケジューラは、ユーザプロセスとして優先度が低いかまたは同じであるブロッキング検出プロセスを提供する。ユーザプロセスが入力/出力の待機によりブロックされているとき、ユーザレベルのプロセススケジューラはCPUの時間をブロッキング検出プロセスに割り当てる。次いで、ブロッキング検出プロセスは、ブロッキングの発生を検出し、ユーザレベルのプロセススケジューラにこのブロッキングの発生を伝える。この発生を知らせることにより、ユーザレベルのプロセススケジューラは、ユーザプロセスが中断されたかまたは終了したこと、および他のユーザプロセスが実行されることが可能であることを認識する。したがって、ユーザプロセスの状態が準備状態またはユーザプロセスが実行可能であることを示す実行可能段階に変化したときに、ユーザレベルのプロセススケジューラは、検出された準備状態を伝えられることより知らされる。ユーザレベルのプロセススケジューラは、準備状態の検出を示すこの通知を受け取るとき、ユーザレベルのプロセススケジューラは、CPU時間をユーザプロセスに再び割り当てる。
【0003】
本発明の目的は、タスクのブロッキング状態を処理する上記のような方法であって、改善を行った方法を提供することである。この目的を達成するために、本発明にしたがった方法は、期間の間に第1タスクが実行を再開することを防止する第3段階からさらに構成されることを特徴とする。第1タスクがブロックすることが検出される期間の間に第1タスクが再開することを防止することにより、他のタスクはそれらの期限に間に合わなくなることを防止する。期限は、タスクが期間内にワーク量を実行しなければならない前のタイムスタンプを表している。タスクが期間内に期限に間に合わないとき、システムの全体的な性能は低下することとなる。タスクがブロッキングされる間に、他のタスクが進行することは防止され、結果的にこれら他のタスクの期限にはまた間に合わなくなることとなる。ブロッキングタスクが他のタスクに干渉して、他のタスクがそれらの期限に間に合わなくなることを防止するために、ブロッキングタスクは、ブロックされる期間の間に再開されることができないようにされる。
【0004】
本発明にしたがった方法の実施形態について請求項2に記載している。コンテクストスイッチの情報を用いることにより、リアルタイムのオペレーティングシステムによりスケジューリングされなければならない分離されたブロッキング検出タスクを提供すること、または、所定の間隔において各々のタスクにポーリングし、且つ各々のタスクがブロックされているかどうかを問い合わせるポーリングメカニズムを提供することは必要ではない。リアルタイムのオペレーティングシステムは、カレントに実行されているタスクが中断され、他のタスクが再開されるようにコンテクストスイッチを実行することが可能である。リアルタイムのオペレーティングシステムは、このコンテクストスイッチの間に実行されることが可能であるソフトウェアにリンクすることが可能であるインタフェースまたはフックを提供することが可能である。このリンクされたソフトウェアは、コンテクストスイッチの間に一時中断されたタスクおよび再開されたタスクに関する情報にアクセスすることが可能であり、一時中断されたタスクがブロックされたかどうかを検出するためにこの情報を用いることが可能である。
【0005】
本発明の方法にしたがった実施形態について請求項3に記載している。コンテクストスイッチの情報を用いることにより、タスクに追加のインタフェースまたは情報を追加することまたはシステムに専用のブロッキング検出タスクを追加することに代えて、タスクのブロッキングは、利用可能な情報から導かれること、および基礎となるリアルタイムのオペレーティングシステムのインタフェースを提供されることが可能である。たとえば、Rate Monotonic Scheduling(RMS)がスケジュールタスクに適用されるとき、一時中断されるタスクの優先度および再開されるタスクの優先度はコンテクストスイッチの間に用いられることが可能である。RMSにおいて、長い期間のタスクはより短い期間のタスクより低い優先度を有し、より高い優先度をもつタスクのスケジューリングはより低い優先度のタスクに比べて優先される。各々のタスクには、期間に対する期限に間に合うために期間の間にタスクが消費されることを可能とするリソースのバジェットが割り当てられる。期間の間に一時中断されたタスクが、再開されたタスクより高い優先度をもち、高い優先度のタスクが期間の間に割り当てられたバジェットを消費できないとき、一時中断されたタスクはブロックされる。
【0006】
本発明にしたがった方法の実施形態について請求項4に記載している。第1のブロッキングタスクから残りのバジェットを取り消すことにより、この第1のブロッキングタスクは、一時中断されている間と同じ期間の間に再開されることから免れる。それ故、この第1のブロッキングタスクは、他のタスクがそれらの期限に間に合わなくなるようにすることはない。これは、期間の間に再開されることをタスクが満たさなければならない条件からもたらされる。これらの条件の1つは、期間の間に消費するための残りのバジェットをもっていなければならないことである。タスクが、期間の間に消費する残りのバジェットをもっていないとき、基礎となるリアルタイムのオペレーティングシステムは、この期間の間に実行するために、タスクを再開しない。
【0007】
本発明の他の目的は、タスクのブロッキング状態を処理する上記のような方法であって、改善された方法を提供することである。この目的を達成するために、本発明にしたがった第1タスクをスケジューリングするためのシステムは、期間の間に第1タスクが実行を再開することを防止する第3段階からさらに構成されることを特徴とする。
【0008】
本発明にしたがったシステムの実施形態を請求項6に記載している。
【0009】
近年、連続的なマルチメディア信号処理は、専用の単一機能構成要素よりむしろプログラム可能な構成要素により益々実施されている。連続的なマルチメディア信号処理の特性の1つは、オーディオやビデオに必要とされているように、タイミングの制約の存在であって、また期限と呼ばれるものである。そのようなデータを適切に処理するために、システムはタイミングの制約を監視し、且つ処理するために十分なシステムリソースを保証しなければならない。リアルタイムのリソースは有限であるから、特定の処理セッションに対して十分なシステムリソースを確保することはできない。このことは、結果としてシステム性能の低下と有効なリソースの最適なレベルより低い利用の仕方をもたらすような、期限に間に合わないタスクにしてしまうこととなる。
【0010】
高性能なビデオシステムの内部において、タスクは、その実行が可能である所定の数の期間を有している。更に、全てのタスクの期間は同じ長さであり、且つ連続的であることが可能である。タスクが各々のタスクの期間の間に使用することが可能であるリソースの使用量は、期間使用量と呼ばれる。タスクの期間使用量は各々の期間について等しくすることが可能であり、またはそれらは期間毎に異なるようにすることが可能である。タスクはタイムスタンプを示す期限をもつことが可能であり、その期限の前に、タスクは期間内にワークの量を実行しなければならない。ここで、期限は期間の終わりのことをいう。タスクが期間内にその期限を迎えないとき、全体的なシステムの能力は低下することとなる。
【0011】
本発明にしたがった方法の実施形態は、pSOSと称せられる市販のリアルタイムオペレーティングシステムを利用している。VxWorksのような固定期間スケジューリングを支援する、他のリアルタイムオペレーティングシステムも使用することが可能である。そのリアルタイムオペレーティングシステムは、タスクの優先度に基づいて、異なるタスクをスケジューリングする。高い優先度のタスクは、低い優先度のタスクより優先される。タスクは、修正された優先度のスケジューリング技術であるRate Monotonic Scheduling(RMS)に基づいて、優先度を受け取る。2つのタスクが同じ期間を有するとき、より小さいバジェットをもつタスクがより高い優先度を得る。このようにして演算される優先度は、Rate Monotonic(RM)優先度と呼ばれる。タスクがある期間の間にそのバジェットを消費することを可能にするために、タスクの優先度はRM優先度に変換される。一旦、バジェットが使い尽くされると、そのタスクの優先度は、バックグラウンド優先度に設定される。バックグラウンド優先度は最も低い優先度である。タスクの優先度がRM優先度に設定されるとき、そのバジェットを有効にし、タスクの優先度がバックグラウンド優先度に設定されるとき、そのバジェットを無効にする。
【0012】
オペレーティングシステムは、バジェットを有効および無効にする。バジェットが有効であるとき、タスクは再開するかまたはシステムに入る。バジェットが無効であるとき、タスクは一時中断するかまたはシステムから出る。オペレーティングシステムによりコンテクストスイッチが実行される間に、タスクはシステムに入り、他方他のタスクは出る。オペレーティングシステムは、コンテクストスイッチの間に実行することが可能である、本発明にしたがった実施形態にリンクするためのインタフェースを備える。これにより、プログラマは、基本的なオペレーティングシステムの機能を拡張することができる。システムの性能を改善するために拡張された機能を用いることが可能である。
【0013】
図1は、連続的なメディアプロセッシングを実行するタスクがキューにより互いにリンクされる、パイプラインまたはストリーミングアーキテクチャの例を示している。タスク102は、その入力キューから入力データを取り出し、その入力データを処理し、そしてその結果得られる出力データを出力キュー108に入れる。タスク102の出力キューは、それに続くタスク104の入力キューとして機能する。入力キューと出力キューはキューを結合し、このことは、それらキューにおいては、タスクにより処理することができるデータを保持する容量が限定されたものであることを意味している。このパイプラインまたはストリーミングアーキテクチャにおいて、入力キューが空であるか、または出力キューが満杯であるとき、タスクはブロックすることが可能である。タスクの機能が速過ぎるとき、または先に進み過ぎてしまうとき、このことが起こってしまう。以下に説明する、本発明にしたがった方法の実施形態により、タスクのブロッキングは阻止される、たとえば、タスク102は、たとえば104のような非ブロッキングタスクの処理により介入される。
【0014】
図2は、タスクが期限に間に合わない例を示している。ここで、タスク202は、期間P202をもつ周期的なタスクであり、期間はT202=5であり、期間バジェットはB202=2であり、そしてタスク206は期間P202をもつ周期的なタスクであり、期間バジェットはB206=3である。タスク202は、その期間がタスク206の期間より短いので、高い優先度のタスクである。すなわち、次のように表される。
【0015】
T202<T206 ⇒ P202>P206
各々のタスクは、その開始において実行する準備ができ、それ故、期間の開始において実行が開始される。上記矢印は、期間の開始を意味し、Ti,jは期間jについてのタスクiの期間Tを表し、Bi,jは期間jについてのタスクiの期間バジェットBを表している。
【0016】
図2に示すように、タスク202は、ポイント210が第1期間T202,1の開始ポイントであるため、ポイント210において開始する。ポイント212において、タスク202は、そのバジェットB202,1を消費する。リアルタイムの処理システムpSOSはタスク202を一時中断し、ポイント212においてタスク206の実行を開始する。第2期間T202,2はポイント214において開始する。しかしながら、ポイント214からポイント216まで、タスク206はブロックされ、その間、タスクはそのバジェットを消費しない。タスク206の第2期間T202,2はポイント216において開始する。各々のタスクはその期間の開始において実行する準備ができ、タスク202はブロックされるため、タスク206はポイント216において実行を開始する。しかし、ポイント218において、タスク202はもはやブロックされず、そしてタスク202の優先度がタスク206の優先度より高いので、タスク202はポイント218においてタスク206より先んじる。しかしながら、図2から導き出されるように、この時点で、タスク206は、期間バジェットB206,2より小さい消費バジェットCB206,2を消費し終えてしまっている。すなわち、次のように表される。
【0017】
CB206,2=1およびB206,2=3 ⇒ CB206,2<B206,2
タスク206の残っているバジェットRB206,2は、次式のようになる。
【0018】
RB206,2=B206,2−B206,2=2
タスク202はその全部のバジェットB202,2を消費する。タスク202の次の期間T202,3はポイント220において開始し、そのポイントはタスク202の第3期間の開始ポイントであって、タスク202の期間はタスク206の期間より優先度が高いため、タスク202はポイント220において実行が開始する。タスク220がその全部のバジェットB202,3を消費したとき、タスク202は一時中断し、タスク206が開始してその残りのバジェットRB206,2を消費する。高い優先度のブロックされていたタスクを再開した結果として、低い優先度のタスクの期限に間に合わなくなってしまうことは、図3に示すような本発明にしたがった方法の実施形態の主な段階を実施することにより、回避される。
【0019】
図3は、本発明の方法にしたがった実施形態の主な段階を示している。ここで、タスクの期間は長さが等しく、期間は連続的であり且つ期間バジェットは等しい。この方法は、上記のような基本的なオペレーティングシステムpSOSにより実行されるコンテクストスイッチの間に、実行される。
【0020】
段階300において、システムを出るタスクの優先度は、システムに入ろうとしているタスクの優先度に対してチェックされる。システムを出るタスクの優先度がシステムに入るタスクの優先度と比べて等しいかまたは低い場合は、システムに入るタスクは実行することが可能であり、且つ本発明にしたがった方法は段階320においてチェックされる。システムを出るタスクの優先度が等しいか、またはゼロである場合は、そのタスクを出ることは、基本となるオペレーティングシステムにより再び実行することが可能ではない。システムに入るタスクを実行することが可能となり、且つ本発明にしたがった方法は、段階320において、pSOSを再び制御することとなる。システムを出ようとするタスクの残りのバジェットがゼロより大きいとき、システムを出ようとするタスクはブロックされる。このシステムを出ようとして且つブロックされたタスクの残りのバジェットは、次いで、ステップ304においてゼロに減少される。システムを出ようとするタスクの残りのバジェットがゼロに減少されることにより、基本となるオペレーティングシステムは、システムを出ようとするタスクのカレントの期間の間、システムを出ようとするタスクが再び動作することを選択することはない。残りのバジェットを減少させた後、システムに入るタスクは実行することが可能となり、且つ本発明にしたがった方法は、段階320において、再びpSOSを制御する。
【0021】
上記の本発明の方法にしたがった実施形態の手順は必須ではなく、当業者は、本発明において意図する主旨から逸脱することなく、スレッディングモデル、マルチプロセッサシステムまたは複数のプロセスを用いて、段階の順番を変えたり、または同時に複数の段階を実行したりすることが可能であることが容易に理解されるであろう。
【0022】
図4は、本発明にしたがったシステムの実施形態において最も重要な構成要素を模式的に示している。このシステム400は、たとえば、画像フレームを復号化するために、第1タスクを実行するためにコンピュータ読み取り可能符号が組み込まれたメモリ402から構成される。第2メモリ404は、第2タスクを実行するために、その中に組み込まれたコンピュータ読み取り可能符号を備え、たとえば、画像エンハンスメントを復号化されたフレームに適用する。リアルタイムのオペレーティングシステムの符号、たとえばpSOSは、第3メモリ406に組み込まれている。リアルタイムのオペレーティングシステムの符号は、優先度、割り当てられたバジェットおよび第1および第2タスクの期間から構成されるメモリ410にアクセスすることができる。ここで、第1タスクは、優先度P1、期間T1=5および期間バジェットB1=2をもつ周期的タスクであり、第2タスクは、優先度P2、期間T2=6および期間バジェットB2=3をもつ周期的タスクであって、上記と同様である。さらに、メモリ410は、第1タスクを実行するために第1メモリ402に組み込まれた符号の実行の開始からの経過時間から構成される。リアルタイムのオペレーティングシステムpSOSは、Rate Monotonic Schedulingに基づいてタスクのスケジューリングを行う。期間バジェットB1およびB2はCPU408のCPUサイクル量を表し、バジェットがリアルタイムのオペレーティングシステムpSOSにより有効になるとき、期間の間、タスクを用いることが可能である。リアルタイムのオペレーティングシステムpSOSは、コンテクストスイッチを実行するとき、コンテクストスイッチの情報でメモリ412を満たす。コンテクストスイッチにおいて、バジェットが有効でないタスクの優先度と残りのバジェット、およびバジェットが有効になるタスクの優先度と残りのバジェットはメモリ412に入る。メモリ414は、メモリ412からの情報を復号化し、バジェットが有効でないタスクの残りのバジェットをアップデートするために、組み込まれたコンピュータ読み取り可能符号をもっている。復号化された情報が、上記のように、有効でないバジェットをもつタスクがブロックされたことを示すとき、このブロッキングの状態はメモリ412の内容に追加される。有効でないバジェットをもつタスクの残りのバジェットは、次いで、ゼロに設定され、その優先度は、リアルタイムのオペレーティングシステムpSOSによりタスクのカレントの期間の間に、バックグラウンド優先度に設定される。このシステム400は、ソフトウェアを操作することが可能であるコンピュータまたは他の何れかの標準的アーキテクチャによって、アプリケーションとして操作することを意図されたソフトウェアにおいて実現される。デジタルテレビのセット416を操作するためにこのシステムを用いることが可能である。ソフトウェアはまた、本発明にしたがった方法を実行するために配置されたコンピュータプログラムプロダクトから構成される記憶装置420からアップデートされることが可能である。記憶装置は、システム400に接続されるCDリーダ418により読み取られる。
【0023】
図5は、本発明にしたがったシステムの実施形態から構成されるテレビセット510の最も重要な構成要素を、模式的に示している。ここで、アンテナ500はテレビ信号を受け取る。アンテナはまた、テレビ信号を受け取るために、たとえば衛星放送受信アンテナ、ケーブル、記憶装置、インターネット、イーサネット(登録商標)または他の何れかの装置とすることが可能である。レシーバ502は、その信号を受け取る。信号は、たとえばデジタル、アナログ、RGBまたはYUVとすることが可能である。レシーバ502に加えて、テレビセットは、プログラム可能な構成要素504、たとえばプログラム可能な集積回路を備える。このプログラム可能な集積回路は、本発明にしたがったシステム506を備える。テレビ画面508は、レシーバ502により受け取られ、プログラム可能な構成要素504、本発明にしたがったシステム506、およびテレビセットに通常備えられているがここでは図示しない他の構成要素により処理された画像を表示する。
【0024】
図6は、本発明にしたがったシステムの実施形態から構成されるセットトップボックスにおける重要な構成要素を、模式的に示している。ここで、アンテナ600はテレビ信号を受け取る。アンテナはまた、テレビ信号を受け取るために、たとえば衛星放送受信アンテナ、ケーブル、記憶装置、インターネット、イーサネット(登録商標)(登録商標)または他の何れかの装置とすることが可能である。セットトップボックス602は、その信号を受け取る。信号は、たとえばデジタル、アナログ、RGBまたはYUVとすることが可能である。セットトップボックスに含まれる通常の構成要素に加えて、セットトップボックスは、ここでは図示しないが、本発明にしたがったシステム604を備える。テレビセット606は、本発明にしたがったシステム604と共にセットトップボックス602により受け取られた信号から生成される出力信号を表示することが可能である。出力信号はまた、VCR、DVD−RWまたはハードディスクのような記憶装置に記憶されること、または、テレビセットに導かれることに代えてインターネットリンクに導くことが可能である。
【図面の簡単な説明】
【0025】
【図1】パイプラインまたはストリーミングアーキテクチャを示す図である。
【図2】タスクの間に合わない期限を示す図である。
【図3】本発明にしたがった方法の実施形態の主な段階を示す図である。
【図4】本発明にしたがったシステムの実施形態の主も重要な構成要素を模式的に示す図である。
【図5】本発明にしたがったシステムの実施形態を盛り込んだテレビセットを模式的に示す図である。
【図6】本発明にしたがったシステムの実施形態を盛り込んだセットトップボックスを模式的に示す図である。
本発明は、第1タスクをスケジューリングする方法であって、期間の間に第1タスクの実行を開始する第1段階と、その期間の間に第1タスクがブロックすることを検出する第2段階と、から構成される方法に関する。本発明は、更に、期間の間に第1タスクを実行するための実行手段と、第1タスクのブロッキング状態を検出するための検出手段と、から構成されるシステムに関する。
【0002】
上記のような方法の形態は、米国特許第6,108,683明細書において開示されている。この中では、ユーザレベルのプロセススケジューラをマルチメディア信号処理のために用いることが可能であるリアルタイムレベルのプロセススケジューラが開示されている。リアルタイムレベルのプロセススケジューラは、オペレーティングシステムによりサポートされる固定的な優先度のプロセススケジューラである。ユーザレベルのプロセススケジューラはCPUの時間をユーザのプロセスに同時に割り当て、ユーザレベルのプロセススケジューラは、ユーザプロセスとして優先度が低いかまたは同じであるブロッキング検出プロセスを提供する。ユーザプロセスが入力/出力の待機によりブロックされているとき、ユーザレベルのプロセススケジューラはCPUの時間をブロッキング検出プロセスに割り当てる。次いで、ブロッキング検出プロセスは、ブロッキングの発生を検出し、ユーザレベルのプロセススケジューラにこのブロッキングの発生を伝える。この発生を知らせることにより、ユーザレベルのプロセススケジューラは、ユーザプロセスが中断されたかまたは終了したこと、および他のユーザプロセスが実行されることが可能であることを認識する。したがって、ユーザプロセスの状態が準備状態またはユーザプロセスが実行可能であることを示す実行可能段階に変化したときに、ユーザレベルのプロセススケジューラは、検出された準備状態を伝えられることより知らされる。ユーザレベルのプロセススケジューラは、準備状態の検出を示すこの通知を受け取るとき、ユーザレベルのプロセススケジューラは、CPU時間をユーザプロセスに再び割り当てる。
【0003】
本発明の目的は、タスクのブロッキング状態を処理する上記のような方法であって、改善を行った方法を提供することである。この目的を達成するために、本発明にしたがった方法は、期間の間に第1タスクが実行を再開することを防止する第3段階からさらに構成されることを特徴とする。第1タスクがブロックすることが検出される期間の間に第1タスクが再開することを防止することにより、他のタスクはそれらの期限に間に合わなくなることを防止する。期限は、タスクが期間内にワーク量を実行しなければならない前のタイムスタンプを表している。タスクが期間内に期限に間に合わないとき、システムの全体的な性能は低下することとなる。タスクがブロッキングされる間に、他のタスクが進行することは防止され、結果的にこれら他のタスクの期限にはまた間に合わなくなることとなる。ブロッキングタスクが他のタスクに干渉して、他のタスクがそれらの期限に間に合わなくなることを防止するために、ブロッキングタスクは、ブロックされる期間の間に再開されることができないようにされる。
【0004】
本発明にしたがった方法の実施形態について請求項2に記載している。コンテクストスイッチの情報を用いることにより、リアルタイムのオペレーティングシステムによりスケジューリングされなければならない分離されたブロッキング検出タスクを提供すること、または、所定の間隔において各々のタスクにポーリングし、且つ各々のタスクがブロックされているかどうかを問い合わせるポーリングメカニズムを提供することは必要ではない。リアルタイムのオペレーティングシステムは、カレントに実行されているタスクが中断され、他のタスクが再開されるようにコンテクストスイッチを実行することが可能である。リアルタイムのオペレーティングシステムは、このコンテクストスイッチの間に実行されることが可能であるソフトウェアにリンクすることが可能であるインタフェースまたはフックを提供することが可能である。このリンクされたソフトウェアは、コンテクストスイッチの間に一時中断されたタスクおよび再開されたタスクに関する情報にアクセスすることが可能であり、一時中断されたタスクがブロックされたかどうかを検出するためにこの情報を用いることが可能である。
【0005】
本発明の方法にしたがった実施形態について請求項3に記載している。コンテクストスイッチの情報を用いることにより、タスクに追加のインタフェースまたは情報を追加することまたはシステムに専用のブロッキング検出タスクを追加することに代えて、タスクのブロッキングは、利用可能な情報から導かれること、および基礎となるリアルタイムのオペレーティングシステムのインタフェースを提供されることが可能である。たとえば、Rate Monotonic Scheduling(RMS)がスケジュールタスクに適用されるとき、一時中断されるタスクの優先度および再開されるタスクの優先度はコンテクストスイッチの間に用いられることが可能である。RMSにおいて、長い期間のタスクはより短い期間のタスクより低い優先度を有し、より高い優先度をもつタスクのスケジューリングはより低い優先度のタスクに比べて優先される。各々のタスクには、期間に対する期限に間に合うために期間の間にタスクが消費されることを可能とするリソースのバジェットが割り当てられる。期間の間に一時中断されたタスクが、再開されたタスクより高い優先度をもち、高い優先度のタスクが期間の間に割り当てられたバジェットを消費できないとき、一時中断されたタスクはブロックされる。
【0006】
本発明にしたがった方法の実施形態について請求項4に記載している。第1のブロッキングタスクから残りのバジェットを取り消すことにより、この第1のブロッキングタスクは、一時中断されている間と同じ期間の間に再開されることから免れる。それ故、この第1のブロッキングタスクは、他のタスクがそれらの期限に間に合わなくなるようにすることはない。これは、期間の間に再開されることをタスクが満たさなければならない条件からもたらされる。これらの条件の1つは、期間の間に消費するための残りのバジェットをもっていなければならないことである。タスクが、期間の間に消費する残りのバジェットをもっていないとき、基礎となるリアルタイムのオペレーティングシステムは、この期間の間に実行するために、タスクを再開しない。
【0007】
本発明の他の目的は、タスクのブロッキング状態を処理する上記のような方法であって、改善された方法を提供することである。この目的を達成するために、本発明にしたがった第1タスクをスケジューリングするためのシステムは、期間の間に第1タスクが実行を再開することを防止する第3段階からさらに構成されることを特徴とする。
【0008】
本発明にしたがったシステムの実施形態を請求項6に記載している。
【0009】
近年、連続的なマルチメディア信号処理は、専用の単一機能構成要素よりむしろプログラム可能な構成要素により益々実施されている。連続的なマルチメディア信号処理の特性の1つは、オーディオやビデオに必要とされているように、タイミングの制約の存在であって、また期限と呼ばれるものである。そのようなデータを適切に処理するために、システムはタイミングの制約を監視し、且つ処理するために十分なシステムリソースを保証しなければならない。リアルタイムのリソースは有限であるから、特定の処理セッションに対して十分なシステムリソースを確保することはできない。このことは、結果としてシステム性能の低下と有効なリソースの最適なレベルより低い利用の仕方をもたらすような、期限に間に合わないタスクにしてしまうこととなる。
【0010】
高性能なビデオシステムの内部において、タスクは、その実行が可能である所定の数の期間を有している。更に、全てのタスクの期間は同じ長さであり、且つ連続的であることが可能である。タスクが各々のタスクの期間の間に使用することが可能であるリソースの使用量は、期間使用量と呼ばれる。タスクの期間使用量は各々の期間について等しくすることが可能であり、またはそれらは期間毎に異なるようにすることが可能である。タスクはタイムスタンプを示す期限をもつことが可能であり、その期限の前に、タスクは期間内にワークの量を実行しなければならない。ここで、期限は期間の終わりのことをいう。タスクが期間内にその期限を迎えないとき、全体的なシステムの能力は低下することとなる。
【0011】
本発明にしたがった方法の実施形態は、pSOSと称せられる市販のリアルタイムオペレーティングシステムを利用している。VxWorksのような固定期間スケジューリングを支援する、他のリアルタイムオペレーティングシステムも使用することが可能である。そのリアルタイムオペレーティングシステムは、タスクの優先度に基づいて、異なるタスクをスケジューリングする。高い優先度のタスクは、低い優先度のタスクより優先される。タスクは、修正された優先度のスケジューリング技術であるRate Monotonic Scheduling(RMS)に基づいて、優先度を受け取る。2つのタスクが同じ期間を有するとき、より小さいバジェットをもつタスクがより高い優先度を得る。このようにして演算される優先度は、Rate Monotonic(RM)優先度と呼ばれる。タスクがある期間の間にそのバジェットを消費することを可能にするために、タスクの優先度はRM優先度に変換される。一旦、バジェットが使い尽くされると、そのタスクの優先度は、バックグラウンド優先度に設定される。バックグラウンド優先度は最も低い優先度である。タスクの優先度がRM優先度に設定されるとき、そのバジェットを有効にし、タスクの優先度がバックグラウンド優先度に設定されるとき、そのバジェットを無効にする。
【0012】
オペレーティングシステムは、バジェットを有効および無効にする。バジェットが有効であるとき、タスクは再開するかまたはシステムに入る。バジェットが無効であるとき、タスクは一時中断するかまたはシステムから出る。オペレーティングシステムによりコンテクストスイッチが実行される間に、タスクはシステムに入り、他方他のタスクは出る。オペレーティングシステムは、コンテクストスイッチの間に実行することが可能である、本発明にしたがった実施形態にリンクするためのインタフェースを備える。これにより、プログラマは、基本的なオペレーティングシステムの機能を拡張することができる。システムの性能を改善するために拡張された機能を用いることが可能である。
【0013】
図1は、連続的なメディアプロセッシングを実行するタスクがキューにより互いにリンクされる、パイプラインまたはストリーミングアーキテクチャの例を示している。タスク102は、その入力キューから入力データを取り出し、その入力データを処理し、そしてその結果得られる出力データを出力キュー108に入れる。タスク102の出力キューは、それに続くタスク104の入力キューとして機能する。入力キューと出力キューはキューを結合し、このことは、それらキューにおいては、タスクにより処理することができるデータを保持する容量が限定されたものであることを意味している。このパイプラインまたはストリーミングアーキテクチャにおいて、入力キューが空であるか、または出力キューが満杯であるとき、タスクはブロックすることが可能である。タスクの機能が速過ぎるとき、または先に進み過ぎてしまうとき、このことが起こってしまう。以下に説明する、本発明にしたがった方法の実施形態により、タスクのブロッキングは阻止される、たとえば、タスク102は、たとえば104のような非ブロッキングタスクの処理により介入される。
【0014】
図2は、タスクが期限に間に合わない例を示している。ここで、タスク202は、期間P202をもつ周期的なタスクであり、期間はT202=5であり、期間バジェットはB202=2であり、そしてタスク206は期間P202をもつ周期的なタスクであり、期間バジェットはB206=3である。タスク202は、その期間がタスク206の期間より短いので、高い優先度のタスクである。すなわち、次のように表される。
【0015】
T202<T206 ⇒ P202>P206
各々のタスクは、その開始において実行する準備ができ、それ故、期間の開始において実行が開始される。上記矢印は、期間の開始を意味し、Ti,jは期間jについてのタスクiの期間Tを表し、Bi,jは期間jについてのタスクiの期間バジェットBを表している。
【0016】
図2に示すように、タスク202は、ポイント210が第1期間T202,1の開始ポイントであるため、ポイント210において開始する。ポイント212において、タスク202は、そのバジェットB202,1を消費する。リアルタイムの処理システムpSOSはタスク202を一時中断し、ポイント212においてタスク206の実行を開始する。第2期間T202,2はポイント214において開始する。しかしながら、ポイント214からポイント216まで、タスク206はブロックされ、その間、タスクはそのバジェットを消費しない。タスク206の第2期間T202,2はポイント216において開始する。各々のタスクはその期間の開始において実行する準備ができ、タスク202はブロックされるため、タスク206はポイント216において実行を開始する。しかし、ポイント218において、タスク202はもはやブロックされず、そしてタスク202の優先度がタスク206の優先度より高いので、タスク202はポイント218においてタスク206より先んじる。しかしながら、図2から導き出されるように、この時点で、タスク206は、期間バジェットB206,2より小さい消費バジェットCB206,2を消費し終えてしまっている。すなわち、次のように表される。
【0017】
CB206,2=1およびB206,2=3 ⇒ CB206,2<B206,2
タスク206の残っているバジェットRB206,2は、次式のようになる。
【0018】
RB206,2=B206,2−B206,2=2
タスク202はその全部のバジェットB202,2を消費する。タスク202の次の期間T202,3はポイント220において開始し、そのポイントはタスク202の第3期間の開始ポイントであって、タスク202の期間はタスク206の期間より優先度が高いため、タスク202はポイント220において実行が開始する。タスク220がその全部のバジェットB202,3を消費したとき、タスク202は一時中断し、タスク206が開始してその残りのバジェットRB206,2を消費する。高い優先度のブロックされていたタスクを再開した結果として、低い優先度のタスクの期限に間に合わなくなってしまうことは、図3に示すような本発明にしたがった方法の実施形態の主な段階を実施することにより、回避される。
【0019】
図3は、本発明の方法にしたがった実施形態の主な段階を示している。ここで、タスクの期間は長さが等しく、期間は連続的であり且つ期間バジェットは等しい。この方法は、上記のような基本的なオペレーティングシステムpSOSにより実行されるコンテクストスイッチの間に、実行される。
【0020】
段階300において、システムを出るタスクの優先度は、システムに入ろうとしているタスクの優先度に対してチェックされる。システムを出るタスクの優先度がシステムに入るタスクの優先度と比べて等しいかまたは低い場合は、システムに入るタスクは実行することが可能であり、且つ本発明にしたがった方法は段階320においてチェックされる。システムを出るタスクの優先度が等しいか、またはゼロである場合は、そのタスクを出ることは、基本となるオペレーティングシステムにより再び実行することが可能ではない。システムに入るタスクを実行することが可能となり、且つ本発明にしたがった方法は、段階320において、pSOSを再び制御することとなる。システムを出ようとするタスクの残りのバジェットがゼロより大きいとき、システムを出ようとするタスクはブロックされる。このシステムを出ようとして且つブロックされたタスクの残りのバジェットは、次いで、ステップ304においてゼロに減少される。システムを出ようとするタスクの残りのバジェットがゼロに減少されることにより、基本となるオペレーティングシステムは、システムを出ようとするタスクのカレントの期間の間、システムを出ようとするタスクが再び動作することを選択することはない。残りのバジェットを減少させた後、システムに入るタスクは実行することが可能となり、且つ本発明にしたがった方法は、段階320において、再びpSOSを制御する。
【0021】
上記の本発明の方法にしたがった実施形態の手順は必須ではなく、当業者は、本発明において意図する主旨から逸脱することなく、スレッディングモデル、マルチプロセッサシステムまたは複数のプロセスを用いて、段階の順番を変えたり、または同時に複数の段階を実行したりすることが可能であることが容易に理解されるであろう。
【0022】
図4は、本発明にしたがったシステムの実施形態において最も重要な構成要素を模式的に示している。このシステム400は、たとえば、画像フレームを復号化するために、第1タスクを実行するためにコンピュータ読み取り可能符号が組み込まれたメモリ402から構成される。第2メモリ404は、第2タスクを実行するために、その中に組み込まれたコンピュータ読み取り可能符号を備え、たとえば、画像エンハンスメントを復号化されたフレームに適用する。リアルタイムのオペレーティングシステムの符号、たとえばpSOSは、第3メモリ406に組み込まれている。リアルタイムのオペレーティングシステムの符号は、優先度、割り当てられたバジェットおよび第1および第2タスクの期間から構成されるメモリ410にアクセスすることができる。ここで、第1タスクは、優先度P1、期間T1=5および期間バジェットB1=2をもつ周期的タスクであり、第2タスクは、優先度P2、期間T2=6および期間バジェットB2=3をもつ周期的タスクであって、上記と同様である。さらに、メモリ410は、第1タスクを実行するために第1メモリ402に組み込まれた符号の実行の開始からの経過時間から構成される。リアルタイムのオペレーティングシステムpSOSは、Rate Monotonic Schedulingに基づいてタスクのスケジューリングを行う。期間バジェットB1およびB2はCPU408のCPUサイクル量を表し、バジェットがリアルタイムのオペレーティングシステムpSOSにより有効になるとき、期間の間、タスクを用いることが可能である。リアルタイムのオペレーティングシステムpSOSは、コンテクストスイッチを実行するとき、コンテクストスイッチの情報でメモリ412を満たす。コンテクストスイッチにおいて、バジェットが有効でないタスクの優先度と残りのバジェット、およびバジェットが有効になるタスクの優先度と残りのバジェットはメモリ412に入る。メモリ414は、メモリ412からの情報を復号化し、バジェットが有効でないタスクの残りのバジェットをアップデートするために、組み込まれたコンピュータ読み取り可能符号をもっている。復号化された情報が、上記のように、有効でないバジェットをもつタスクがブロックされたことを示すとき、このブロッキングの状態はメモリ412の内容に追加される。有効でないバジェットをもつタスクの残りのバジェットは、次いで、ゼロに設定され、その優先度は、リアルタイムのオペレーティングシステムpSOSによりタスクのカレントの期間の間に、バックグラウンド優先度に設定される。このシステム400は、ソフトウェアを操作することが可能であるコンピュータまたは他の何れかの標準的アーキテクチャによって、アプリケーションとして操作することを意図されたソフトウェアにおいて実現される。デジタルテレビのセット416を操作するためにこのシステムを用いることが可能である。ソフトウェアはまた、本発明にしたがった方法を実行するために配置されたコンピュータプログラムプロダクトから構成される記憶装置420からアップデートされることが可能である。記憶装置は、システム400に接続されるCDリーダ418により読み取られる。
【0023】
図5は、本発明にしたがったシステムの実施形態から構成されるテレビセット510の最も重要な構成要素を、模式的に示している。ここで、アンテナ500はテレビ信号を受け取る。アンテナはまた、テレビ信号を受け取るために、たとえば衛星放送受信アンテナ、ケーブル、記憶装置、インターネット、イーサネット(登録商標)または他の何れかの装置とすることが可能である。レシーバ502は、その信号を受け取る。信号は、たとえばデジタル、アナログ、RGBまたはYUVとすることが可能である。レシーバ502に加えて、テレビセットは、プログラム可能な構成要素504、たとえばプログラム可能な集積回路を備える。このプログラム可能な集積回路は、本発明にしたがったシステム506を備える。テレビ画面508は、レシーバ502により受け取られ、プログラム可能な構成要素504、本発明にしたがったシステム506、およびテレビセットに通常備えられているがここでは図示しない他の構成要素により処理された画像を表示する。
【0024】
図6は、本発明にしたがったシステムの実施形態から構成されるセットトップボックスにおける重要な構成要素を、模式的に示している。ここで、アンテナ600はテレビ信号を受け取る。アンテナはまた、テレビ信号を受け取るために、たとえば衛星放送受信アンテナ、ケーブル、記憶装置、インターネット、イーサネット(登録商標)(登録商標)または他の何れかの装置とすることが可能である。セットトップボックス602は、その信号を受け取る。信号は、たとえばデジタル、アナログ、RGBまたはYUVとすることが可能である。セットトップボックスに含まれる通常の構成要素に加えて、セットトップボックスは、ここでは図示しないが、本発明にしたがったシステム604を備える。テレビセット606は、本発明にしたがったシステム604と共にセットトップボックス602により受け取られた信号から生成される出力信号を表示することが可能である。出力信号はまた、VCR、DVD−RWまたはハードディスクのような記憶装置に記憶されること、または、テレビセットに導かれることに代えてインターネットリンクに導くことが可能である。
【図面の簡単な説明】
【0025】
【図1】パイプラインまたはストリーミングアーキテクチャを示す図である。
【図2】タスクの間に合わない期限を示す図である。
【図3】本発明にしたがった方法の実施形態の主な段階を示す図である。
【図4】本発明にしたがったシステムの実施形態の主も重要な構成要素を模式的に示す図である。
【図5】本発明にしたがったシステムの実施形態を盛り込んだテレビセットを模式的に示す図である。
【図6】本発明にしたがったシステムの実施形態を盛り込んだセットトップボックスを模式的に示す図である。
Claims (10)
- 期間の間に第1タスクが実行することを開始する第1段階; 期間の間に第1タスクがブロックすることを検出する第2段階;並びに
期間の間に第1タスクが実行を再開することを防止する第3段階;
から構成されることを特徴とする第1タスクをスケジューリングするための方法。 - 請求項1に記載の第1タスクをスケジューリングするための方法であって、第2段階はコンテクストスイッチの情報に基づいている、ことを特徴とする第1タスクをスケジューリングするための方法。
- 請求項2に記載の第1タスクをスケジューリングするための方法であって、期間の間に第1タスクがブロックすることを決定する第2段階は:
第1タスクが一時中断し且つ第2タスクが実行を開始することを可能にすることを決定する第1サブ段階;
から構成され、コンテクストスイッチの情報は:
第1タスクの第1優先度より低い第2タスクの第2優先度;並びに
期間のために割り当てられたバジェットから期間の間に消費されたバジェットを減算したものに実質的に等しい第1タスクの残りのバジェット;
から構成される、ことを特徴とする第1タスクをスケジューリングするための方法。 - 請求項3に記載の第1タスクをスケジューリングするための方法であって、残りのバジェットは、期間の間に第1タスクから取り消される、ことを特徴とする第1タスクをスケジューリングするための方法。
- 第1タスクをスケジューリングするためのシステムであって:
期間の間に第1タスクを実行するための実行手段;
第1タスクのブロッキング状態を検出するための検出手段;並びに
期間の間に第1タスクが実行を再開することを防止するための防止手段
から構成されることを特徴とする第1タスクをスケジューリングするためのシステム。 - 請求項5に記載の第1タスクをスケジューリングするためのシステムであって、検出手段は:
一時中断される第1タスクの第1優先度;
第1タスクの第1優先度より低い、再開された第2タスクの第2優先度;並びに
期間のために割り当てられたバジェットから期間の間に消費されたバジェットを減算したものに実質的に等しい第1タスクの残りのバジェット;
から構成される、ことを特徴とする第1タスクをスケジューリングするためのシステム。 - 請求項1乃至4の何れか一項に記載の第1タスクをスケジューリングするための方法であって、この方法を実行するために配置されたコンピュータプログラムプロダクトから構成される、ことを特徴とする第1タスクをスケジューリングするための方法。
- 請求項7に記載の第1タスクをスケジューリングするための方法であって、記憶装置がコンピュータプログラムプロダクトから構成される、ことを特徴とする第1タスクをスケジューリングするための方法。
- 請求項5または6の何れか一項に記載の第1タスクをスケジューリングするためのシステムであって、テレビセットから構成される、ことを特徴とする第1タスクをスケジューリングするための方法。
- 請求項5または6の何れか一項に記載の第1タスクをスケジューリングするためのシステムであって、セットトップボックスから構成される、ことを特徴とする第1タスクをスケジューリングするための方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01200810 | 2001-03-05 | ||
PCT/IB2002/000331 WO2002071218A2 (en) | 2001-03-05 | 2002-01-30 | Method of and system for withdrawing budget from a blocking task |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004528635A true JP2004528635A (ja) | 2004-09-16 |
Family
ID=8179965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002570074A Withdrawn JP2004528635A (ja) | 2001-03-05 | 2002-01-30 | ブロッキングタスクからバジェットを取り除くための方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020124043A1 (ja) |
EP (1) | EP1377903A2 (ja) |
JP (1) | JP2004528635A (ja) |
KR (1) | KR20030015234A (ja) |
CN (1) | CN1228714C (ja) |
WO (1) | WO2002071218A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003345612A (ja) * | 2002-05-28 | 2003-12-05 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム |
CN1985269A (zh) * | 2004-03-31 | 2007-06-20 | 皇家飞利浦电子股份有限公司 | 受限预算使用技术中的转移预算的方法和系统 |
WO2006016283A2 (en) * | 2004-08-06 | 2006-02-16 | Koninklijke Philips Electronics N.V. | Task scheduling using context switch overhead table |
DE102007010127A1 (de) * | 2006-03-22 | 2007-10-04 | Mediatek Inc. | Verfahren zum Verbessern der Leistung der Dienste eines Multi-Task Systems und ein entsprechendes Multi-Task System |
US8621473B2 (en) * | 2011-08-01 | 2013-12-31 | Honeywell International Inc. | Constrained rate monotonic analysis and scheduling |
US9207977B2 (en) | 2012-02-06 | 2015-12-08 | Honeywell International Inc. | Systems and methods for task grouping on multi-processors |
CN103246552B (zh) * | 2012-02-14 | 2018-03-09 | 腾讯科技(深圳)有限公司 | 防止线程出现阻塞的方法和装置 |
US9612868B2 (en) | 2012-10-31 | 2017-04-04 | Honeywell International Inc. | Systems and methods generating inter-group and intra-group execution schedules for instruction entity allocation and scheduling on multi-processors |
CN104142858B (zh) * | 2013-11-29 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 阻塞任务调度方法及装置 |
US9342372B1 (en) | 2015-03-23 | 2016-05-17 | Bmc Software, Inc. | Dynamic workload capping |
US9680657B2 (en) * | 2015-08-31 | 2017-06-13 | Bmc Software, Inc. | Cost optimization in dynamic workload capping |
CN109558227B (zh) * | 2018-11-12 | 2023-03-31 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种基于任务执行预算的单调速率任务调度方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161226A (en) * | 1991-05-10 | 1992-11-03 | Jmi Software Consultants Inc. | Microprocessor inverse processor state usage |
JP2866241B2 (ja) * | 1992-01-30 | 1999-03-08 | 株式会社東芝 | コンピュータシステムおよびスケジューリング方法 |
US6021425A (en) * | 1992-04-03 | 2000-02-01 | International Business Machines Corporation | System and method for optimizing dispatch latency of tasks in a data processing system |
JPH0954699A (ja) * | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | 計算機のプロセススケジューラ |
US5838968A (en) * | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
US6385637B1 (en) * | 1997-08-21 | 2002-05-07 | Rockwell Science Center, Inc. | Periodic process timer |
US6385638B1 (en) * | 1997-09-04 | 2002-05-07 | Equator Technologies, Inc. | Processor resource distributor and method |
US5987492A (en) * | 1997-10-31 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for processor sharing |
US6061709A (en) * | 1998-07-31 | 2000-05-09 | Integrated Systems Design Center, Inc. | Integrated hardware and software task control executive |
US6757897B1 (en) * | 2000-02-29 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and methods for scheduling and performing tasks |
-
2002
- 2002-01-30 CN CNB028005112A patent/CN1228714C/zh not_active Expired - Fee Related
- 2002-01-30 JP JP2002570074A patent/JP2004528635A/ja not_active Withdrawn
- 2002-01-30 EP EP02716254A patent/EP1377903A2/en not_active Withdrawn
- 2002-01-30 WO PCT/IB2002/000331 patent/WO2002071218A2/en not_active Application Discontinuation
- 2002-01-30 KR KR1020027014833A patent/KR20030015234A/ko not_active Application Discontinuation
- 2002-02-28 US US10/086,048 patent/US20020124043A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2002071218A3 (en) | 2003-10-30 |
US20020124043A1 (en) | 2002-09-05 |
WO2002071218A2 (en) | 2002-09-12 |
EP1377903A2 (en) | 2004-01-07 |
CN1228714C (zh) | 2005-11-23 |
CN1478230A (zh) | 2004-02-25 |
KR20030015234A (ko) | 2003-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8161491B2 (en) | Soft real-time load balancer | |
JP5097251B2 (ja) | 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法 | |
US6349321B1 (en) | Data processing system and scheduling method | |
US7107590B2 (en) | Method of and system for determining a best-case response time of a periodic task | |
US6662297B1 (en) | Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism | |
US9170841B2 (en) | Multiprocessor system for comparing execution order of tasks to a failure pattern | |
JP2004164643A (ja) | データ処理システムにおける実行レベル設定 | |
JP2007058601A (ja) | タスク実行装置および方法 | |
JP2004528635A (ja) | ブロッキングタスクからバジェットを取り除くための方法およびシステム | |
US20060212869A1 (en) | Resource management method and apparatus | |
JP2003271399A (ja) | プロセッサ及びプログラム実行方法 | |
US20050278473A1 (en) | Method and apparatus for processing data in a processing unit being a thread in a multithreading environment | |
US20080295104A1 (en) | Realtime Processing Software Control Device and Method | |
JP2007511819A (ja) | 優先割り込み点を扱うための進んだ方法 | |
EP1402347A2 (en) | A method of and system for assessing progress of a task | |
JP2000056992A (ja) | タスクスケジューリングシステム、方法及び記録媒体 | |
JP2005157955A (ja) | 資源予約システムおよび資源予約方法および該方法を実行するためのプログラムが記録された記録媒体 | |
US8615165B2 (en) | Video-recording and replaying apparatus, I/O scheduling method, and program | |
JP2000020323A (ja) | スケジュ―リング装置及び方法並びに記録媒体 | |
US20070083863A1 (en) | Method and system for restrained budget use | |
JP2009104611A (ja) | プロセッサ | |
WO2001035209A2 (en) | Modified move to rear list system and methods for thread scheduling | |
JP3975795B2 (ja) | タスク管理装置、同方法およびプログラム | |
JP2005190238A (ja) | リアルタイム制御方式 | |
JP4238246B2 (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20060804 |