JPH0850551A - リアルタイムアプリケーションタスクスケジューリング及び処理システム - Google Patents

リアルタイムアプリケーションタスクスケジューリング及び処理システム

Info

Publication number
JPH0850551A
JPH0850551A JP33938494A JP33938494A JPH0850551A JP H0850551 A JPH0850551 A JP H0850551A JP 33938494 A JP33938494 A JP 33938494A JP 33938494 A JP33938494 A JP 33938494A JP H0850551 A JPH0850551 A JP H0850551A
Authority
JP
Japan
Prior art keywords
task
time
request
execution
requests
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.)
Granted
Application number
JP33938494A
Other languages
English (en)
Other versions
JP2823520B2 (ja
Inventor
E Ferguson Edward
イー.ファーガソン エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0850551A publication Critical patent/JPH0850551A/ja
Application granted granted Critical
Publication of JP2823520B2 publication Critical patent/JP2823520B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】実行タスクを“リアルタイム”でスケジューリ
ングする。 【構成】CPU21で実行するタスク15をその都度選
定するプリエンプティブのディスパッチャ19は、デー
タベース17に接続されて最早デッドラインでタスク1
5を実行に移す。アプリケーション14の実行時にアプ
リケーション14から要求を受理し、現在及び将来の両
方の開始時間に対して要求を受理するオンラインスケジ
ューラ11は、データベース17に接続されタスク要求
及び予め受理された全ての要求がディスパッチャ19の
実行時にそのデッドラインを満たすかどうかを各要求に
ついて確認し、ディスパッチャ19がタスク15をその
デッドラインのできるだけ近くで終止するべく配置する
かのように、CPU21の遅いビジー期間に基づいてデ
ータベース17内のタスク15をスケジュールする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はソフトウェアタスクの実
行のスケジューリングに関し特にリアルタイムシステム
用のオンラインタスクスケジューラに関する。
【0002】
【従来の技術】本発明は実行を特定の時間間隔内で発生
するよう制約しなければならないタスクを有する意味に
おいて“リアルタイム”であるシステムに対して設計さ
れる。例えば、ミサイルを制御するソフトウェアはセン
サーからの受信データの処理を周期的に実行しなければ
ならないタスク、センサーからのデータのあるクラスの
分析を要求に応じて実行しなければならないタスク、及
びミサイルの誘導面を起動するために周期的に実行しな
ければならないタスク、等の1つ以上のタスクを有する
ことができる。これらのタスクが適切な時間に実行され
ないと、ミサイルはその使命を果たすことができない。
【0003】リアルタイムシステム用のスケジューリン
グ技術は一般的にその都度実行すべきタスクを選定する
ディスパッチングコンポーネント及び所与のディスパッ
チングアルゴリズムを使用する時に1組のタスクの時相
制約を満たすことができるかどうかを確認するスケジュ
ーリングコンポーネントにより構成される。タスクディ
スパッチング機能はアプリケーションの実行時に実施し
なければならない。タスクスケジューリング機能はオフ
ライン(リアルタイムシステムが活性化する前)もしく
はオンライン(リアルタイムシステムの実行中)実施す
ることができる。
【0004】デスパッチャがいつアクティブタスクを変
えることができるかに応じてタスクディスパッチングは
プリエンプティブもしくは非プリエンプティブとされ
る。所与のタスクの実行をいつでも中断できて(プリエ
ンプティブとされる)実行することが望ましいより緊急
なタスクを活性化させる場合ディスパッチングはプリエ
ンプティブである。タスクデスパッチャが開始されたタ
スクの実行を中断させることがなく、ディスパッチング
の決定はプロセッサの遊休時にしか行われないことを意
味する場合、ディスパッチングは非プリエンプティブで
ある。ディスパッチングの決定を行う効率的な方法は優
先度と呼ばれる数値を各タスクへ割り当て次に優先度の
数値比較を使用してどのタスクを実行するかをは決定す
ることである。優先度割り当てはアプリケーションを実
行しても変化しなければスタティックでありタスクを実
行した時にその相対優先度が変化すればダイナミックで
ある。1つのダイナミック優先度割り当て(“最早デッ
ドライン”)は各タスクの優先度をそのタスクが実行を
完了しなければならないデッドラインとして設定してデ
スパッチャが常に実行するのが望ましくかつ最早デッド
ラインを有するタスクをプロセッサへ与えるようにする
ことである。この優先度割り当ては次のような最適性特
性を有するために重要である。1組のタスクが所与のデ
ィスパッチングポリシーを使用して全てのデッドライン
を満足させる場合には、最早デッドライン優先度割り当
てを使用してプリエンプティブにディスパッチされる時
にも全てのデッドラインが満足される。
【0005】最も新しいリアルタイムシステムではスケ
ジューラビリティはオフラインで分析されそれはこの種
の分析が(例えば、ソフトウェアエンジニアリングイン
スティチュートが唱導するレートモノトニックスケジュ
ーリング分析等の)成熟した理論的基礎を有しかつタス
クデッドラインを達成できなくしてしまうことがある長
ったらしいラン時間の計算を回避するためである。
【0006】オフラインスケジューラビリティ分析の欠
点は環境と相互作用する時に挙動が大幅に変動するよう
なアプリケーションには不向きであることである。例え
ば、アンチアーマー(anti−armor)ミサイル
内でのプロセッサリソースの配分はミサイルが発射さ
れ、目標を選定し、目標へ誘導する時に劇的に変化する
ことがある。
【0007】スケジューラビリティ分析をオンラインで
実施するとラン時間オーバーヘッドが増加することがあ
るが、リアルタイムデッドラインを守ることを補償する
能力を損なうことなくプロセッサの有効利用を遥かに高
める可能性を有している。プロセッサの利用度向上 オフラインスケジューリングは実行時に生じるスケジュ
ーリング要求の実際のシーケンスを予測することができ
ず、最悪の挙動を処理できることを保証しなければなら
ない。したがってオフラインスケジューリングを行うシ
ステムはプロセッサの利用度が必要以上に低くなること
がしばしばありそれは実際には起こり得ない悲観的仮定
に基づいているためである。オンラインスケジューリン
グでは、プロセッサの配分は要求の実際のシーケンスに
基づいている。リソース回収 スケジューリング要求を処理するリソースは通常最悪実
行時間に基づいて配分される。オンラインスケジューリ
ングの場合、付加要求を受理できるように未使用プロセ
ッサ時間の再配分を行ってプロセッサの有効利用を向上
することができる。より洗練されたアプリケーションアルゴリズム オンラインスケジューリングの場合、アプリケーション
はシステム状態に基づいて実行時間が大幅に変動するア
ルゴリズムを使用することができかつ現在その使命にと
って最も重要である問題の局面にそのリソースを集中さ
せることができる。オフラインでは予想できなかった刺
激の組み合わせにアプリケーションを適合させることが
できる。フォールトトレランス アプリケーションはコンポーネントの故障時にプロセッ
サ時間の再配分を行うツールを有している。
【0008】オンラインスケジューラビリティテストの
実用性はTechnical Report GIT−
CC−90/28,College of Compu
ting,Geogia Institute of
Technology,1990のKarsten S
chwan及びHongyi Zhouの論文“ハード
リアルタイムシステムの最適プリエンプティブスケジュ
ーリング:リアルタイムスレッドに向けて”に紹介され
ている。彼らは最早デッドライン優先度割り当てを使用
してタスクをプリエンプティブに実行するタスクディス
パッチャで使用するオンラインスケジューリングアルゴ
リズムを開発した。スケジューラはアプリケーションソ
フトウェアシステムから一連のタスク実行要求を受信し
次に各要求を受理すべき拒否すべきかを決定する。各要
求はタスクが有効に実行を開始できる最早時間、タスク
が有効に実行を完了できる最遅時間、及びタスクを実行
できる最大時間量により特徴づけられる。スケジューラ
はタスクディスパッチャの実行時にそうすることによっ
てそのタスクや予め受理された任意のタスクがデッドラ
インを逃すことがないことを保証できる場合しか要求を
受理しない。スケジューラ及びディスパッチャはデッド
ライン順(最早デッドラインが最初)タスク要求リスト
を含むデータ構造を介してスケジューラーが予め受理し
て実行すべくディスパッチャへ与えた要求を伝達する。
それらのアルゴリズムは予め受理された要求のリスト及
びこれらの要求の実行によりプロセッサがビジーとなる
期間の時間順リストの両方を使用してスケジューリング
決定を行う。要求が到来すると、ビジー期間リストを探
索することによりアルゴリズムが開始され要求が受理さ
れる場合に統合される最初及び最後の期間が探し出され
る。次にアルゴリズムは新しい要求を受理された全ての
要求のデッドライン順リストへ一時的に挿入し最早デッ
ドラインディスパッチングをシミュレートして新しい要
求及びその関連する統合されたビジー期間内の全ての要
求に対して全てのデッドラインが守られるかどうかを調
べる。それらのアルゴリズムの効率は統合されたビジー
期間が代表的には受理された要求の小部分しか含んでい
ないという事実から生じ、そのため代表的にはスケジュ
ーリング決定を行うのに要求の部分集合しか必要とされ
ない。
【0009】
【発明が解決しようとする課題】Swan及びZhou
アルゴリズムの欠点は2つの別々なデータベースを維持
しなければならないことである。デッドライン順要求を
含むデータベースはディスパッチャが必要とするため不
可欠である。最早タスク開始時間によりエントリを順序
づけなければならないためビジー期間に対する独立した
データベースが必要とされる。
【0010】ビジー期間に対するもう1つの方法はIE
EE Transaction on Softwar
e Engineering,15(10):1261
−1269,1989のHoussine Chett
o及びMaryline Chettoの論文“最早デ
ッドラインスケジューリングアルゴリズムのある結果”
及びProceedings of Second I
EEE Symposium onParallel
and Distributed processin
g,578−585,1990のMaryline S
illy,Houssine Chetto,及びNa
dia Elyounsiの論文“ハードリアルタイム
システムにおいて散発的タスクを保証する最適アルゴリ
ズム”に示唆されている。著者達は各要求の最早開始時
間は要求がなされる時間である特殊なケースについてオ
ンラインスケジューリングテストを展開した。彼らはプ
リエンプティブ最早デッドラインディスパッチングも使
用したが、彼らのスケジューラビリティテストでは各タ
スクがその最早開始時間にできるだけ近いのではなくそ
のデッドライン(最遅有効完了時間)にできるだけ近く
実行を完了した場合に生じることに基づいて計算された
ビジー期間が使用された。(すなわち、彼らのスケジュ
ーラビリティテストは彼らが実際に使用したものとは異
なるディスパッチングポリシーに基づいていた。それは
プリエンプティブ、最早デッドラインディスパッチング
が最適である(任意他のポリシーの場合に全てのデッド
ラインが守られる)ために受理される。)
【0011】Proceedings of the
13th Real−Time Systems Sy
mposium,第280−289頁、1992のWe
i−Kuan Shih及びJane W.S.Li
u,の論文“エラーを最小限に抑えるための不正確な計
算のオンラインスケジューリング”には別の目的で遅い
ビジー期間も使用されている。彼らは最早開始時間、最
遅完了時間、強制実行時間、及び最適実行時間を特徴と
するタスク要求を考慮している。彼らのアルゴリズムは
全タスクの強制部分ができるだけ遅く実行された場合に
(逆スケジューリングと呼ぶ)プロセッサがビジーとな
る期間を計算し次にこれらの期間を使用してプロセッサ
がタスクの強制部分を実行している必要がない時にどの
オプショナル部分を実行すべきかを選定する。彼らはタ
スクがデッドラインを逃すことなくどのタスクを受理し
てディスパッチングするかを決定するオンラインアルゴ
リズムを提供していない。彼らは全タスクの強制部分を
安全にディスパッチできるものと仮定し次に全タスクの
強制部分の他にどのオプショナル部分をディスパッチす
るかを選定するオンラインアルゴリズムを提供する。
【0012】
【課題を解決するための手段】本発明の一実施例により
“リアルタイム”であってプリエンプティブ実行を有す
るシステムのアプリケーションタスクの実行をスケジュ
ールする新しいシステム及び方法が開示される。このシ
ステムには実行を開始できる最早時間、実行を完了しな
ければならない最遅時間、及び実行に必要な最大時間を
特徴とするタスクを実行するCPUTが含まれている。
このシステムにはタスクを実行するレコードの1つのデ
ータベースが含まれておりこれらのレコードはタスクデ
ッドラインにより順序づけられる。このシステムにはデ
ータベースとCPUとの間に接続されてその都度CPU
で実行されるタスクを選定するディスパッチャが含まれ
ている。ディスパッチャはプリエンプティブであり最早
デッドラインでタスクを実行に移す。このシステムには
アプリケーションが実行されるとアプリケーションから
要求を受理し現在及び将来の開始時間の両方に対して要
求を受理するオンラインスケジューラが含まれている。
スケジューラはデータベースに接続されておりディスパ
ッチャが実行するときにタスク要求及び予め受理された
全ての要求がそのデッドラインを守るかを各要求につい
て決定する。スケジューラはプロセッサがビジーである
期間を使用してディスパッチャがタスクをそのデッドラ
インのできるだけ近くで終止するように配置するような
スケジューリング決定を行う。
【0013】
【実施例】本発明による図1のシステム10を参照して
アプリケーション14はいくつかのタスク15を含んで
いる。アプリケーション14が実行されるとスケジュー
ラ11に対してあるタスクを実行する要求がなされる。
アプリケーションはあるタスクの実行を要求する。スケ
ジューラ11に届く各要求に対して、スケジューラ11
は要求を実行する時間がCPU21に無いために要求を
拒否するかもしくは受理する。拒否する場合、スケジュ
ーラ11はエラー状態を返送する。受理する場合には、
要求を識別するトークンを返送し、このトークンを使用
してアプリケーションは要求をキャンセルすることがで
きる。タスク15が受理されると、スケジューラ11は
そのタスク15のパラメータをデータベース17へ入力
する。パラメータには最早開始時間、最遅完了時間、及
び最大実行時間が含まれる。ディスパッチャ19はその
データベースを監視して任意の時点においてCPU21
でどのタスク15を実行すべきかを決定する。スケジュ
ーラ11及びディスパッチャ19は並行作動しスケジュ
ーラはデータベース17に対して出し入れを行いディス
パッチャ19はそのデータベースを使用してCPU21
でタスクを実行する。スケジューラ11はこれらの決定
を行うための所与のアルゴリズムを含むソフトウェアプ
ログラムもしくは他の構造を含んでいる。スケジューラ
11はデータベース17を調べてスケジューラが予め受
理したもの全てを確認し新しい要求を受理できるかどう
かを調べる。Schwan等よりも優れている本発明の
重要な特徴の1つはスケジューリング決定を行うものと
タスクをディスパッチするものと2つの独立したデータ
構造を有することである。データベースだけを維持すれ
ばよいため本発明のほうが効率的である。アプリケーシ
ョンはタスク15の実行スケジュールを要求するための
3つの時相パラメータを指定しなければならず、それは
そのタスク15を実行開始することができる最早時間、
それまでに完了しなければならない最遅時間(デッドラ
イン)、及びタスクが消費する最大処理時間量である。
ディスパッチャ19が指定期間内に少なくとも要求され
た処理時間量をタスクに与えかつ予め受理された要求の
制約がなんら侵害されることがないことをスケジューラ
11が保証できる場合には、スケジューラ11は受理さ
れた要求を表すトークンをアプリケーションへ戻す。さ
もなくば、スケジューラ11はこの特定要求が予め受理
された全ての要求と両立しないことをアプリケーション
14に知らせ、この場合アプリケーションは替わりのア
クションをとることができる。アプリケーション14は
スケジューラ11から戻されたトークンを使用して要求
をキャンセル(非スケジュール)しそれに付された処理
時間を回収することができる。
【0014】各時点において、タスクディスパッチャ1
9は次のアルゴリズムを使用してどのタスクを実行すべ
きかをデータベース17から選定する。 − 2つのタスクの最遅完了時間が異なる場合、最遅完
了時間の早い方を最初に実行する。 − 2つのタスクの最遅完了時間がが同じで最早開始時
間が異なる場合、最早開始時間の早い方を最初に実行す
る。 − 2つのタスクの最遅完了時間が同じで最早開始時間
も同じである場合、先に要求を受理したタスクを最初に
実行する。 (最初の条件は最早デッドラインアルゴリズムと呼ばれ
るものを明示するものであり、他の条件はタスク選定を
決定的とするために付加される。)
【0015】このディスパッチングポリシーは下記の意
味において最適である、すなわち1組みの(独立した)
タスク要求をうまくスケジュールすることができる任意
のディスパッチングアルゴリズムがあれば、同じ要求を
このアルゴリズムでスケジュールすることができる(P
roceedings of the IFIP Co
ngress,807−813頁,1974のMich
ael L.Dertouzosの論文“制御ロボッ
ト:物理的プロセスの手順制御”)。同様に、このアル
ゴリズムが1組の要求をスケジュールできなければ、ど
のアルゴリズムもできない。したがってこれよりもプロ
セス利用度の高いディスパッチングアルゴリズムは無
い。
【0016】オンラインスケジューラ11により受理さ
れている各タスク15はタスクの時相パラメータを含む
データ構造及びスケジューラ11がスケジューラビリテ
ィを決定するのに必要なフィールドにより表される。タ
スク15は最遅完了時間に基づいてディスパッチされる
ため、タスク要求構造は(前記したルールに従って連結
が断たれている)最遅完了時間値を増大してタスクを順
序づける(順逆)リンケージフィールドを含んでいる。
スケジューラ11はもう1組のリンケージフィールドを
使用してタスク要求構造を分類し非常に特別なディスパ
ッチングポリシーを使用してプロセッサがビジーとなる
期間を決定する。(タスクは実際には最早デッドライン
ポリシーを使用してディスパッチされる。このポリシー
は最適であるため、スケジューラはオンライン計算をよ
り効率的に行う別のポリシーに基づいて自由にそのスケ
ジューラビリティ決定を行うことができる。)これらの
ビジー期間は有効にスケジュールすることができる期間
の終わりまで各タスクの実行が遅延されるものと仮定し
て計算される。例えば、下記のタスク及び時相パラメー
タを考える。
【表1】 タスクaのパラメータはコンパクトに“a/10/19
/3”と書くことができる。これらの要求に対するビジ
ー期間は16−22,23−25,及び26−30であ
る。関連するスケジューリングデータ構造は下記のよう
に示すことができる。
【数1】 ここでタスク要求構造は左から右の順とされ、ビジー期
間を含む要求は〈and〉ブラケット間に閉じ込めら
れ、ビジー期間の開始は関連する〈の前に現れ、ビジー
期間の終わりはその最終要求の最遅完了時間である。実
際のディスパッチング挙動は各単位時間に対して(存在
する場合に)どのタスクを実行しているかを表示するこ
とにより示される。
【数2】 (本例では実際の実行時間はスケジューラビリティの計
算に使用されるビジー期間とは極めて異なることを理解
されたい。)スケジューラがスケジューラビリティをテ
ストしながらタスク要求を一時的にリンクするのにしば
しば使用する第3組のリンケージフィールドがある。
【0017】(以下のプロセス記述ではビジー期間は双
方向リニアリストにリンクされているものとする。非常
に大きなタスクセットに対する性能を向上させるため
に、恐らくは二分木の変種のようなより効率的な構造が
実際上使用される。)
【0018】オンラインスケジューラ11は図2のフロ
ー図に示すプログラムステップを使用して所与のタスク
要求を受理できるかどうかを決定しそのタスク及び予め
受理された全ての要求の時相制約をディスパッチャ19
が満たすようにする。 1.ブロック201において要求に関連するビジー期間
を考える。その開始時間が現在時間もしくは候補要求の
最早開始時間以下であれば、満たすことができないため
その要求を拒否する。 2.ブロック202において候補要求のビジー期間が受
理された全要求に対するビジー期間リストのどこへ分類
されるかを確認する。(新しい要求は前の要求の後に実
行期間を有する傾向があるため全ビジー期間のリストを
末尾から先頭に向かって探索することが望ましい。) 3.ブロック203において要求のビジー期間が別のビ
ジー期間と重畳しない場合には、要求を受理する。重畳
する場合には、ブロック204へ行く。 4.ブロック204において要求が受理される場合に統
合すべきビジー期間が決定される。(候補期間はブロッ
ク202の期間と重畳するため、ビジー期間間のギャッ
プにおいて候補要求の実行時間を消費するするのに充分
前方までビジー期間リストを反復することにより影響を
受ける期間を見つけることができる。) 5.要求の最早開始時間(ブロック205)が統合され
たビジー期間の開始時間以下であれば、それを全要求リ
ストへ挿入しビジー期間リストを更新して統合を反映す
るようにした後で要求を受理する。(このテストが満た
されると、さらにテストを行うことなく要求を受理する
ことができそれは要求をスケジュールするのに必要な時
間が相互作用するビジー期間間のギャップを埋めて確認
されているためである。したがって予め受理されたタス
クのために作動することを保証される配分における遊休
時間を使用して新しい要求を実行するプロセッサの配分
が確認されている。最早デッドラインディスパッチング
ポリシーは最適であるため、要求をスケジュールする任
意の有効な方法を見つければ充分である。プロセッサが
重荷重されていないかもくしはタスク要求グループがお
なじ最早開始時間を有する傾向がある場合にはこのケー
スは非常に一般的であることを理解されたい。) 6.統合されたビジー期間内でタスク要求の最早デッド
ラインディスパッチングをシミュレートする(ブロック
206)。各タスクがその最遅完了時間もしくはそれ以
前に完了する場合には、候補要求を全要求リストへ挿入
しビジー期間リストを更新して統合を反映するようにし
た後で受理し、さもなくば要求を拒否する。図3を参照
して、このシミュレーションは下記のように効率的に実
施することができる。 (イ) ブロック301においてビジー期間の一時的リ
ストを初期化して空とする。このリストはタスク要求構
造内の第3組のリンケージフィールドを使用し要求開
始、非完了、時間に基づいている。 (ロ) ブロック302においてシミュレーション開始
時間が決定され、それは全ビジー期間リスト内の統合さ
れたビジー期間に先行するビジー期間の停止時間及び現
在時間の大きい方である。 (ハ) ブロック303においてスケジューラ11内の
カウンターが候補要求の最早開始時間と統合されたビジ
ー期間の開始時間との差へ初期化される。(このカウン
タは減分されて候補要求の最早開始時間の前にどれだけ
の実行がスケジュールされているかが追跡される。この
ような時間が充分であれば、候補要求に対する対応する
時間がその最早開始と最遅完了時間間の間隔内で自由と
されシミュレーションを早期に終止することができる。 (ニ) (候補要求を含む)統合されたビジー期間内で
要求をデッドライン順で反復する(ブロック305−3
09)。(これは要求を優先順と考える。)考慮される
各要求に対して、その最早開始時間とシミュレーション
開始時間の大きい方を使用する。 (1) ブロック303で初期化されたカウンタがゼロ
以下となると(ブロック305)、シミュレーションを
終止して要求を受理する。(カウンタがもはや正でなけ
れば、候補要求の最早開始時間の前に実行すべき充分な
要求が部分的シミュレーションによりスケジュール化さ
れておりシミュレーションの継続が保証されて候補要求
はその最早開始及び最遅完了時間間の間隔内で実行する
のに充分な自由時間が見つかる。 (2) 現在要求の開始ベースビジー期間が開始ベース
ビジー期間の一時的リストのどこへ分類されるかを確認
する(ブロック306)。(完了時間の大きい要求は代
表的に開始時間も大きいためビジー期間の一時的リスト
はその末尾から順方向に探索しなければならない。) (3) ブロック307に示すように非重畳をテストす
る。現在要求のビジー期間が他の期間と重畳しない場合
には、現在要求のヒジー期間をリストへ挿入する。現在
要求の優先順が候補要求よりも高い場合には、候補要求
の最早開始時間の前にスケジュールされる実行時間量
(存在する場合)だけカウンタを減分しブロック305
においてインターラクションを継続する。 (4) ビジー期間が重畳する場合には、リストを(大
きい開始時間に向かって)順方向に探索して統合しなけ
ればならない全ビジー期間を確認して(ブロック30
8)要求の全処理時間を消費するのに充分な遊休時間を
期間の間のギャップ内に見つける。 (5) 統合された期間の停止時間(ブロック309)
が現在要求の最遅完了時間以上である場合、現在要求の
優先順が候補要求よりも高ければカウンタを減分する。
カウンタは候補要求及びくり返しの最早開始時間の前に
スケジュールされるその実行時間(存在する場合)の量
だけ減分される。答えがノーであれば、終止して候補を
拒否し減分要求が達成されるようにする。 (ホ) 反復により候補要求に関連する(完了ベース)
ビジー期間内の各要求がうまく受理される場合には、シ
ミュレーションを終止して候補要求を受理する。(この
アルゴリズムは最早デッドラインディスパッチングをシ
ミュレートしそれは要求を優先順の最も高いものから最
も低いものへ反復して関連タスクを実行する時間を決定
するためである。所与の要求によりいくつかのビジー期
間が統合される場合には、関連するタスクはこのような
期間中にプリエンプティブとされる。)(ブロック20
3及び305の他に統合されたビジー期間に対して実行
をシミュレートすることを回避できる特殊ケーステスト
を見つけることもできる。)
【0019】スケジューリングアルゴリズムのアプリケ
ーションの例として、下記の5つの要求を考える。
【表2】 タスクaの要求は12−15のそのビジー期間がリスト
の最初にあるため即座に受理される。
【数3】 タスクbの要求もその22−25のビジー期間がaの期
間と重畳しないために受理される。
【数4】 タスクcのビジー期間は20−23でありタスクbのビ
ジー期間と重畳するため、すくなくとも1つの統合を実
施しなければならない。b及びcの期間を結合すると1
9の開始時間となり、それはaを含む期間の停止時間よ
りも大きく、そのためこれ以上の統合は必要ではない。
統合されたビジー期間の開始時間は19であり、それは
cの最早開始時間よりも大きいため、cはシミュレーシ
ョンなしで受理することができる。
【数5】 タスクdのビジー期間は18−24でありb及びcを含
むビジー期間と重畳するため、少なくとも1つの統合を
実施しなければならない。dをb及びcを含む期間と結
合すると13の開始時間となり、それはaを含むビジー
期間を2時間単位だけ重畳する。したがってaを加える
と10−25の1つのビジー期間が生じる。この開始時
間10はdの最早開始時間よりも断然小さいため、ブロ
ック203の単純なスケジューラビリティテストは適用
せずa,b,c及びdの実行は10から25へシミュレ
ートしなければならない。この場合bは時間26まで完
了せず、それはその最遅完了時間を越えるため、dは拒
否しなければならない。
【数6】 タスクeはdと同じ最早開始及び最遅完了時間を有する
が、実行時間は1単位少ない、この場合、統合されたビ
ジー期間は11から25となり
【数7】 シミュレーション開始時間は0となり、カウンタは3へ
初期化され、それは候補要求eの最早開始時間14と統
合ビジー期間の開始時間11との差である。タスクaは
シミュレートされる最初のタスクであり時間10から時
間12まで実行する。
【数8】 この実行の全てが候補要求(14)の最早開始時間の前
に生じるため、カウンタはゼロへ減分され、シミュレー
ションはうまく終止し、タスクeはブロック305のテ
ストによりスケジュール可能なように決定される。シミ
ュレーションが継続しておれば、これらのタスクに対す
る実際のタイム−ラインが計算される。
【数9】 スケジューリングアルゴリズムの第2の部分によりスケ
ジューラ(及びディスパッチャ)データベースからタス
ク要求が除去される。この部分はタスク終止時にディス
パッチャにより呼び出されかつアプリケーションソフト
ウェアが呼び出して実行要求をキャンセルすることがで
きる。タスクアンスケジューリングモジュールのキー要
求はタスクのためにとってあるが使用されない任意のリ
ソースを回収することである。例えば、タスク要求によ
り100mSの最大実行時間が指定されているがタスク
は実際上25mS後に完了した場合、残りの75mSは
他のタスク要求に配分できなければならない。タスク要
求をアンスケジュールすることは次のステップを含んで
いる。 1.除去すべきタスク要求構造を含むビジー期間を見つ
ける。 2.除去すべきタスク要求構造がそのビジー期間内の唯
一の要求であれば、全ビジー期間リストからビジー期間
を除去し、要求のデッドライン順リストから要求を除去
して戻る。 3.除去すべきタスク要求構造がそのビジー期間内の
(唯一ではない)最初の要求であれば、要求のデッドラ
イン順リストから要求を除去し、除去される要求のため
にとってある実行時間だけそのビジー期間の開始時間を
増分して戻る。 4.要求のデッドライン順リストから要求を除去する。 5.元のビジー期間内に残っている要求を次のような1
つ以上のビジー期間へ再区分する。 (イ) 元のビジー期間内の最終(デッドライン順)要
求から最初の要求へ反復し、ワーキング期間を最終要求
の最遅完了時間で停止するように初期化する。 (ロ) 現在の要求が反復における最終要求であるかも
しくは現在要求の最遅完了時間が(重畳のない)ワーキ
ング期間の開始時間よりも小さければ、ワーキング期間
をビジー期間リストへ加え、新しいワーキング期間を現
在要求の最遅完了時間で初期化し、反復を継続する。 (ハ) ワーキング期間の開始時間を現在要求の実行時
間だけ減少して反復を継続する。アンスケジューリング
の例として、次の5つの要求を考える。
【表3】 スケジューラはこれらのタスク要求を受理して下記のス
テップでビジー期間リストを作り上げる。
【数10】 ディスパッチャは次のようにタスクを実行する。
【数11】 タスクaが時間12で完了すると、ディスパッチャはア
ンスケジュールアルゴリズムを使用して要求及びビジー
期間リストからaを除去する。aはこの期間内の最初の
タスクであるため、そのビジー期間の開始時間を2だけ
増分して除去することができる。
【数12】 タスクdはその最早開始時間に到達した唯一のタスクで
あるため次に実行するタスクである。タスクdが時間1
4において完了すると、アンスケジュールアルゴリズム
は残りのタスクc,e及びbを反復することにより17
−23の新しいビジー期間を計算する。
【数13】 ディスパッチャは時間14からタスクeが時間15で開
始されるまでプロセッサをアイドルのままとする。eが
時間17で完了すると、アンスケジュールアルゴリズム
がタスクc及びbを反復して18−20と21−23の
2つのビジー期間をみつける。
【数14】 ディスパッチャは時間17においてタスクcを開始しク
スクbの最早開始時間が時間18に達するときにそれを
プリエンプトする。bが時間20において完了すると、
そのビジー期間における唯一のタスクとなり、期間を単
に削除してcを含むビジー期間を残すことができる。
【数15】 cが時間21において完了すると、そのビジー期間にお
ける唯一のタスクとなり、期間を削除して空リストを残
す。スケジューリングアルゴリズムが非使用実行時間を
回復して新しい要求に利用できるようにすることを示す
ために、下記のタスクセットを考える。
【表4】 タスクdの要求が時間13に到達する場合、ビジー期間
リストは2つの期間を含んでいる。
【数16】 dが受理されておれば、統合されたビジー期間は9−2
5である。この期間にわたってタスクa,b,c及びd
の実行をシミュレートすればbが時間26までに完了し
ないためdは受理できないことが判る。
【数17】 タスクaが実際上確保された5時間単位ではなく2時間
単位だけ実行される場合には、dの要求が時間13に到
達する時にビジー期間リストは17−25の1つの期間
を含んでいる。
【数18】 dの3つの実行単位を加えると14−25の期間とな
り、dの最早開始時間は14で統合されたビジー期間の
開始時間に等しいため即座に受理することができる。し
たがってaが早期に完了する場合の実際のタスク実行パ
ターンは次のようになる。
【数19】
【0020】他の実施例 本発明及びその利点について詳細に説明してきたが、特
許請求の範囲に明記された発明の精神及び範囲を逸脱す
ることなくさまざまな変更、置換及び修正が可能である
ことを理解されたい。
【0021】以上の説明に関して更に以下の項を開示す
る。 (1) リアルタイムアプリケーションタスクスケジュ
ーリング及び処理システムであって、該システムは、前
記タスクを実行するCPUであって、前記タスクが有効
に実行を開始できる最早時間、実行を完了すべき最遅時
間、及び実行に必要な最大時間を特徴とする前記CPU
と、前記タスクを実行する要求レコードの1つのデータ
ベースであって、前記レコードがタスクデッドライン時
間順とされている前記1つのデータベースと、前記CP
U及び前記データベース間に接続され前記CPUでどの
タスクを実行するかをその都度選定するデスパッチャで
あって、前記デスパッチャはプリエンプティブであり最
早デッドラインによりタスクを実行に移す前記デスパッ
チャと、前記アプリケーションの実行時に前記アプリケ
ーションタスクからの要求を受理するオンラインスケジ
ューラであって、前記オンラインスケジューラは現在及
び将来の開始時間について要求を受理し、前記オンライ
ンスケジューラは前記データベースに接続され前記アプ
リケーションからのタスク実行要求に応答して各要求に
対して前記タスク要求及び予め受理された全てのタスク
要求が前記デスパッチャの実行時にそれらのデッドライ
ンを満たすかどうかを決定する前記オンラインスケジュ
ーラと、を含み、前記スケジューラは前記デスパッチャ
がタスクをそれらのデッドラインのできるだけ近くで終
止するように配置するかのように前記CPUの遅いビジ
ー期間に基づいて前記データベース内のタスクをスケジ
ュールする、リアルタイムシステム。
【0022】(2).第1項記載のシステムであって、
前記スケジューラは最早開始時間が要求が受理される場
合に生成される統合されたビジー期間の開始時間もしく
はそれ以前である場合は常にタスク要求を受理する、リ
アルタイムシステム。 (3).第1項記載のシステムであって、前記スケジュ
ーラは要求に関連する統合されたビジー期間内のタスク
の最早デッドラインディスパッチングをシミュレートす
る間に、統合されたビジー期間の開始時間と候補要求の
最早開始時間との間の期間がデッドライン順の候補要求
の前に生じるタスク要求の実行により埋められる時は常
にタスク要求を受理する、リアルタイムシステム。
【0023】(4)実行タスクを“リアルタイム”でス
ケジューリングするシステムが開示される。システムは
タスクを実行するCPUを含んでいる。これらのタスク
は実行を開始できる最早時間、実行を完了しなければな
らない最遅時間、及び実行に要する最大時間を特徴とし
ている。システムはタスクを実行するレコードの1つの
データベースを含みこれらのレコードは上昇順とされて
いる。システムはCPUで実行するタスクをその都度選
定するプリエンプティブディスパッチャを含んでいる。
ディスパッチャはデータベースに接続されて最早デッド
ラインでタスクを実行に移す。システムはアプリケーシ
ョンの実行時にアプリケーションから要求を受理し現在
及び将来の両方の開始時間に対して要求を受理するオン
ラインスケジューラを含んでいる。スケジューラはデー
タベースに接続されタスク要求及び予め受理された全て
の要求がディスパッチャの実行時にそのデッドラインを
満たすかどうかを各要求について確認する。スケジュー
ラはディスパッチャがタスクをそのデッドラインの出来
るだけ近くで終止するように配置するかのようにCPU
の遅いビジー期間に基づいてデータベース内のタスクを
スケジュールする。
【図面の簡単な説明】
【図1】本発明を利用するシステムに従った機能的ブロ
ック図。
【図2】本発明による図1のスケジューラのフロー図。
【図3】図2のシミュレーションプロセスのフロー図。
【符号の説明】
10 リアルタイムアプリケーションタスクスケジュ
ーリング処理システム 11 スケジューラ 14 アプリケーション 15 タスク 17 データベース 19 ディスパッチャ 21 CPU
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年3月8日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 リアルタイムアプリケーションタスク
スケジューリング及び処理システム
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はソフトウェアタスクの実
行のスケジューリングに関し特にリアルタイムシステム
用のオンラインタスクスケジューラに関する。
【0002】
【従来の技術】本発明は実行を特定の時間間隔内で発生
するよう制約しなければならないタスクを有する意味に
おいて“リアルタイム”であるシステムに対して設計さ
れる。例えば、ミサイルを制御するソフトウェアはセン
サーからの受信データの処理を周期的に実行しなければ
ならないタスク、センサーからのデータのあるクラスの
分析を要求に応じて実行しなければならないタスク、及
びミサイルの誘導面を起動するために周期的に実行しな
ければならないタスク、等の1つ以上のタスクを有する
ことができる。これらのタスクが適切な時間に実行され
ないと、ミサイルはその使命を果たすことができない。
【0003】リアルタイムシステム用のスケジューリン
グ技術は一般的にその都度実行すべきタスクを選定する
ディスパッチングコンポーネント及び所与のディスパッ
チングアルゴリズムを使用する時に1組のタスクの時相
制約を満たすことができるかどうかを確認するスケジュ
ーリングコンポーネントにより構成される。タスクディ
スパッチング機能はアプリケーションの実行時に実施し
なければならない。タスクスケジューリング機能はオフ
ライン(リアルタイムシステムが活性化する前)もしく
はオンライン(リアルタイムシステムの実行中)実施す
ることができる。
【0004】デスパッチャがいつアクティブタスクを変
えることができるかに応じてタスクディスパッチングは
プリエンプティブもしくは非プリエンプティブとされ
る。所与のタスクの実行をいつでも中断できて(プリエ
ンプティブとされる)実行することが望ましいより緊急
なタスクを活性化させる場合ディスパッチングはプリエ
ンプティブである。タスクデスパッチャが開始されたタ
スクの実行を中断させることがなく、ディスパッチング
の決定はプロセッサの遊休時にしか行われないことを意
味する場合、ディスパッチングは非プリエンプティブで
ある。ディスパッチングの決定を行う効率的な方法は優
先度と呼ばれる数値を各タスクへ割り当て次に優先度の
数値比較を使用してどのタスクを実行するかをは決定す
ることである。優先度割り当てはアプリケーションを実
行しても変化しなければスタティックでありタスクを実
行した時にその相対優先度が変化すればダイナミックで
ある。1つのダイナミック優先度割り当て(“最早デッ
ドライン”)は各タスクの優先度をそのタスクが実行を
完了しなければならないデッドラインとして設定してデ
スパッチャが常に実行するのが望ましくかつ最早デッド
ラインを有するタスクをプロセッサへ与えるようにする
ことである。この優先度割り当ては次のような最適性特
性を有するために重要である。1組のタスクが所与のデ
ィスパッチングポリシーを使用して全てのデッドライン
を満足させる場合には、最早デッドライン優先度割り当
てを使用してプリエンプティブにディスパッチされる時
にも全てのデッドラインが満足される。
【0005】最も新しいリアルタイムシステムではスケ
ジューラビリティはオフラインで分析されそれはこの種
の分析が(例えば、ソフトウェアエンジニアリングイン
スティチュートが唱導するレートモノトニックスケジュ
ーリング分析等の)成熟した理論的基礎を有しかつタス
クデッドラインを達成できなくしてしまうことがある長
ったらしいラン時間の計算を回避するためである。
【0006】オフラインスケジューラビリティ分析の欠
点は環境と相互作用する時に挙動が大幅に変動するよう
なアプリケーションには不向きであることである。例え
ば、アンチアーマー(anti−armor)ミサイル
内でのプロセッサリソースの配分はミサイルが発射さ
れ、目標を選定し、目標へ誘導する時に劇的に変化する
ことがある。
【0007】スケジューラビリティ分析をオンラインで
実施するとラン時間オーバーヘッドが増加することがあ
るが、リアルタイムデッドラインを守ることを補償する
能力を損なうことなくプロセッサの有効利用を遥かに高
める可能性を有している。プロセッサの利用度向上 オフラインスケジューリングは実行時に生じるスケジュ
ーリング要求の実際のシーケンスを予測することができ
ず、最悪の挙動を処理できることを保証しなければなら
ない。したがってオフラインスケジューリングを行うシ
ステムはプロセッサの利用度が必要以上に低くなること
がしばしばありそれは実際には起こり得ない悲観的仮定
に基づいているためである。オンラインスケジューリン
グでは、プロセッサの配分は要求の実際のシーケンスに
基づいている。リソース回収 スケジューリング要求を処理するリソースは通常最悪実
行時間に基づいて配分される。オンラインスケジューリ
ングの場合、付加要求を受理できるように未使用プロセ
ッサ時間の再配分を行ってプロセッサの有効利用を向上
することができる。より洗練されたアプリケーションアルゴリズム オンラインスケジューリングの場合、アプリケーション
はシステム状態に基づいて実行時間が大幅に変動するア
ルゴリズムを使用することができかつ現在その使命にと
って最も重要である問題の局面にそのリソースを集中さ
せることができる。オフラインでは予想できなかった刺
激の組み合わせにアプリケーションを適合させることが
できる。フォールトトレランス アプリケーションはコンポーネントの故障時にプロセッ
サ時間の再配分を行うツールを有している。
【0008】オンラインスケジューラビリティテストの
実用性はTechnical Report GIT−
CC−90/28,College of Compu
ting,Geogia Institute of
Technology,1990のKarsten S
chwan及びHongyi Zhouの論文“ハード
リアルタイムシステムの最適プリエンプティブスケジュ
ーリング:リアルタイムスレッドに向けて”に紹介され
ている。彼らは最早デッドライン優先度割り当てを使用
してタスクをプリエンプティブに実行するタスクディス
パッチャで使用するオンラインスケジューリングアルゴ
リズムを開発した。スケジューラはアプリケーションソ
フトウェアシステムから一連のタスク実行要求を受信し
次に各要求を受理すべき拒否すべきかを決定する。各要
求はタスクが有効に実行を開始できる最早時間、タスク
が有効に実行を完了できる最遅時間、及びタスクを実行
できる最大時間量により特徴づけられる。スケジューラ
はタスクディスパッチャの実行時にそうすることによっ
てそのタスクや予め受理された任意のタスクがデッドラ
インを逃すことがないことを保証できる場合しか要求を
受理しない。スケジューラ及びディスパッチャはデッド
ライン順(最早デッドラインが最初)タスク要求リスト
を含むデータ構造を介してスケジューラが予め受理して
実行すべくディスパッチャへ与えた要求を伝達する。そ
れらのアルゴリズムは予め受理された要求のリスト及び
これらの要求の実行によりプロセッサがビジーとなる期
間の時間順リストの両方を使用してスケジューリング決
定を行う。要求が到来すると、ビジー期間リストを探索
することによりアルゴリズムが開始され要求が受理され
る場合に統合される最初及び最後の期間が探し出され
る。次にアルゴリズムは新しい要求を受理された全ての
要求のデッドライン順リストへ一時的に挿入し最早デッ
ドラインディスパッチングをシミュレートして新しい要
求及びその関連する統合されたビジー期間内の全ての要
求に対して全てのデッドラインが守られるかどうかを調
べる。それらのアルゴリズムの効率は統合されたビジー
期間が代表的には受理された要求の小部分しか含んでい
ないという事実から生じ、そのため代表的にはスケジュ
ーリング決定を行うのに要求の部分集合しか必要とされ
ない。
【0009】
【発明が解決しようとする課題】Swan及びZhou
アルゴリズムの欠点は2つの別々なデータベースを維持
しなければならないことである。デッドライン順要求を
含むデータベースはディスパッチャが必要とするため不
可欠である。最早タスク開始時間によりエントリを順序
づけなければならないためビジー期間に対する独立した
データベースが必要とされる。
【0010】ビジー期間に対するもう1つの方法はIE
EE Transaction on Softwar
e Engineering,15(10):1261
−1269,1989のHoussine Chett
o及びMaryline Chettoの論文“最早デ
ッドラインスケジューリングアルゴリズムのある結果”
及びProceedings of Second I
EEE Symposium onParallel
and Distributed processin
g,578−585,1990のMaryline S
illy,HoussineChetto,及びNad
ia Elyounsiの論文“ハードリアルタイムシ
ステムにおいて散発的タスクを保証する最適アルゴリズ
ム”に示唆されている。著者達は各要求の最早開始時間
は要求がなされる時間である特殊なケースについてオン
ラインスケジューリングテストを展開した。彼らはプリ
エンプティブ最早デッドラインディスパッチングも使用
したが、彼らのスケジューラビリティテストでは各タス
クがその最早開始時間にできるだけ近いのではなくその
デッドライン(最遅有効完了時間)にできるだけ近く実
行を完了した場合に生じることに基づいて計算されたビ
ジー期間が使用された。(すなわち、彼らのスケジュー
ラビリティテストは彼らが実際に使用したものとは異な
るディスパッチングポリシーに基づいていた。それはプ
リエンプティブ、最早デッドラインディスパッチングが
最適である(任意他のポリシーの場合に全てのデッドラ
インが守られる)ために受理される。)
【0011】Proceedings of the
13th Real−Time Systems Sy
mposium,第280−289頁、1992のWe
i−Kuan Shih及びJane W.S.Li
u,の論文“エラーを最小限に抑えるための不正確な計
算のオンラインスケジューリング”には別の目的で遅い
ビジー期間も使用されている。彼らは最早開始時間、最
遅完了時間、強制実行時間、及び最適実行時間を特徴と
するタスク要求を考慮している。彼らのアルゴリズムは
全タスクの強制部分ができるだけ遅く実行された場合に
(逆スケジューリングと呼ぶ)プロセッサがビジーとな
る期間を計算し次にこれらの期間を使用してプロセッサ
がタスクの強制部分を実行している必要がない時にどの
オプショナル部分を実行すべきかを選定する。彼らはタ
スクがデッドラインを逃すことなくどのタスクを受理し
てディスパッチングするかを決定するオンラインアルゴ
リズムを提供していない。彼らは全タスクの強制部分を
安全にディスパッチできるものと仮定し次に全タスクの
強制部分の他にどのオプショナル部分をディスパッチす
るかを選定するオンラインアルゴリズムを提供する。
【0012】
【課題を解決するための手段】本発明の一実施例により
“リアルタイム”であってプリエンプティブ実行を有す
るシステムのアプリケーションタスクの実行をスケジュ
ールする新しいシステム及び方法が開示される。このシ
ステムには実行を開始できる最早時間、実行を完了しな
ければならない最遅時間、及び実行に必要な最大時間を
特徴とするタスクを実行するCPUTが含まれている。
このシステムにはタスクを実行するレコードの1つのデ
ータベースが含まれておりこれらのレコードはタスクデ
ッドラインにより順序づけられる。このシステムにはデ
ータベースとCPUとの間に接続されてその都度CPU
で実行されるタスクを選定するディスパッチャが含まれ
ている。ディスパッチャはプリエンプティブであり最早
デッドラインでタスクを実行に移す。このシステムには
アプリケーションが実行されるとアプリケーションから
要求を受理し現在及び将来の開始時間の両方に対して要
求を受理するオンラインスケジューラが含まれている。
スケジューラはデータベースに接続されておりディスパ
ッチャが実行するときにタスク要求及び予め受理された
全ての要求がそのデッドラインを守るかを各要求につい
て決定する。スケジューラはプロセッサがビジーである
期間を使用してディスパッチャがタスクをそのデッドラ
インのできるだけ近くで終止するように配置するような
スケジューリング決定を行う。
【0013】
【実施例】本発明による図1のシステム10を参照して
アプリケーション14はいくつかのタスク15を含んで
いる。アプリケーション14が実行されるとスケジュー
ラ11に対してあるタスクを実行する要求がなされる。
アプリケーションはあるタスクの実行を要求する。スケ
ジューラ11に届く各要求に対して、スケジューラ11
は要求を実行する時間がCPU21に無いために要求を
拒否するかもしくは受理する。拒否する場合、スケジュ
ーラ11はエラー状態を返送する。受理する場合には、
要求を識別するトークンを返送し、このトークンを使用
してアプリケーションは要求をキャンセルすることがで
きる。タスク15が受理されると、スケジューラ11は
そのタスク15のパラメータをデータベース17へ入力
する。パラメータには最早開始時間、最遅完了時間、及
び最大実行時間が含まれる。ディスパッチャ19はその
データベースを監視して任意の時点においてCPU21
でどのタスク15を実行すべきかを決定する。スケジュ
ーラ11及びディスパッチャ19は並行作動しスケジュ
ーラはデータベース17に対して出し入れを行いディス
パッチャ19はそのデータベースを使用してCPU21
でタスクを実行する。スケジューラ11はこれらの決定
を行うための所与のアルゴリズムを含むソフトウェアプ
ログラムもしくは他の構造を含んでいる。スケジューラ
11はデータベース17を調べてスケジューラが予め受
理したもの全てを確認し新しい要求を受理できるかどう
かを調べる。Schwan等よりも優れている本発明の
重要な特徴の1つはスケジューリング決定を行うものと
タスクをディスパッチするものと2つの独立したデータ
構造を有することである。データベースだけを維持すれ
ばよいため本発明のほうが効率的である。アプリケーシ
ョンはタスク15の実行スケジュールを要求するための
3つの時相パラメータを指定しなければならず、それは
そのタスク15を実行開始することができる最早時間、
それまでに完了しなければならない最遅時間(デッドラ
イン)、及びタスクが消費する最大処理時間量である。
ディスパッチャ19が指定期間内に少なくとも要求され
た処理時間量をタスクに与えかつ予め受理された要求の
制約がなんら侵害されることがないことをスケジューラ
11が保証できる場合には、スケジューラ11は受理さ
れた要求を表すトークンをアプリケーションへ戻す。さ
もなくば、スケジューラ11はこの特定要求が予め受理
された全ての要求と両立しないことをアプリケーション
14に知らせ、この場合アプリケーションは替わりのア
クションをとることができる。アプリケーション14は
スケジューラ11から戻されたトークンを使用して要求
をキャンセル(非スケジュール)しそれに付された処理
時間を回収することができる。
【0014】各時点において、タスクディスパッチャ1
9は次のアルゴリズムを使用してどのタスクを実行すべ
きかをデータベース17から選定する。 − 2つのタスクの最遅完了時間が異なる場合、最遅完
了時間の早い方を最初に実行する。 − 2つのタスクの最遅完了時間がが同じで最早開始時
間が異なる場合、最早開始時間の早い方を最初に実行す
る。 − 2つのタスクの最遅完了時間が同じで最早開始時間
も同じである場合、先に要求を受理したタスクを最初に
実行する。(最初の条件は最早デッドラインアルゴリズ
ムと呼ばれるものを明示するものであり、他の条件はタ
スク選定を決定的とするために付加される。)
【0015】このディスパッチングポリシーは下記の意
味において最適である、すなわち1組みの(独立した)
タスク要求をうまくスケジュールすることができる任意
のディスパッチングアルゴリズムがあれば、同じ要求を
このアルゴリズムでスケジュールすることができる(P
roceedings of the IFIP Co
ngress,807−813頁,1974のMich
ael L.Dertouzozの論文“制御ロボッ
ト:物理的プロセスの手順制御”)。同様に、このアル
ゴリズムが1組の要求をスケジュールできなければ、ど
のアルゴリズムもできない。したがってこれよりもプロ
セス利用度の高いディスパッチングアルゴリズムは無
い。
【0016】オンラインスケジューラ11により受理さ
れている各タスク15はタスクの時相パラメータを含む
データ構造及びスケジューラ11がスケジューラビリテ
ィを決定するのに必要なフィールドにより表される。タ
スク15は最遅完了時間に基づいてディスパッチされる
ため、タスク要求構造は(前記したルールに従って連結
が断たれている)最遅完了時間値を増大してタスクを順
序づける(順逆)リンケージフィールドを含んでいる。
スケジューラ11はもう1組のリンケージフィールドを
使用してタスク要求構造を分類し非常に特別なディスパ
ッチングポリシーを使用してプロセッサがビジーとなる
期間を決定する。(タスクは実際には最早デッドライン
ポリシーを使用してディスパッチされる。このポリシー
は最適であるため、スケジューラはオンライン計算をよ
り効率的に行う別のポリシーに基づいて自由にそのスケ
ジューラビリティ決定を行うことができる。)これらの
ビジー期間は有効にスケジュールすることができる期間
の終わりまで各タスクの実行が遅延されるものと仮定し
て計算される。例えば、下記のタスク及び時相パラメー
タを考える。
【表1】 タスクaのパラメータはコンパクトに“a/10/19
/3”と書くことができる。これらの要求に対するビジ
ー期間は16−22,23−25,及び26−30であ
る。関連するスケジューリングデータ構造は下記のよう
に示すことができる。
【数1】 ここでタスク要求構造は左から右の順とされ、ビジー期
間を含む要求は〈and〉ブラケット間に閉じ込めら
れ、ビジー期間の開始は関連する〈の前に現れ、ビジー
期間の終わりはその最終要求の最遅完了時間である。実
際のディスパッチング挙動は各単位時間に対して(存在
する場合に)どのタスクを実行しているかを表示するこ
とにより示される。
【数2】 (本例では実際の実行時間はスケジューラビリティの計
算に使用されるビジー期間とは極めて異なることを理解
されたい。)スケジューラがスケジューラビリティをテ
ストしながらタスク要求を一時的にリンクするのにしば
しば使用する第3組のリンケージフィールドがある。
【0017】(以下のプロセス記述ではビジー期間は双
方向リニアリストにリンクされているものとする。非常
に大きなタスクセットに対する性能を向上させるため
に、恐らくは二分木の変種のようなより効率的な構造が
実際上使用される。)
【0018】オンラインスケジューラ11は図2のフロ
ー図に示すプログラムステップを使用して所与のタスク
要求を受理できるかどうかを決定しそのタスク及び予め
受理された全ての要求の時相制約をディスパッチャ19
が満たすようにする。 1.ブロック201において要求に関連するビジー期間
を考える。その開始時間が現在時間もしくは候補要求の
最早開始時間以下であれば、満たすことができないため
その要求を拒否する。 2.ブロック202において候補要求のビジー期間が受
理された全要求に対するビジー期間リストのどこへ分類
されるかを確認する。(新しい要求は前の要求の後に実
行期間を有する傾向があるため全ビジー期間のリストを
末尾から先頭に向かって探索することが望ましい。) 3.ブロック203において要求のビジー期間が別のビ
ジー期間と重畳しない場合には、要求を受理する。重畳
する場合には、ブロック204へ行く。 4.ブロック204において要求が受理される場合に統
合すべきビジー期間が決定される。(候補期間はブロッ
ク202の期間と重畳するため、ビジー期間間のギャッ
プにおいて候補要求の実行時間を消費するするのに充分
前方までビジー期間リストを反復することにより影響を
受ける期間を見つけることができる。) 5.要求の最早開始時間(ブロック205)が統合され
たビジー期間の開始時間以下であれば、それを全要求リ
ストへ挿入しビジー期間リストを更新して統合を反映す
るようにした後で要求を受理する。(このテストが満た
されると、さらにテストを行うことなく要求を受理する
ことができそれは要求をスケジュールするのに必要な時
間が相互作用するビジー期間間のギャップを埋めて確認
されているためである。したがって予め受理されたタス
クのために作動することを保証される配分における遊休
時間を使用して新しい要求を実行するプロセッサの配分
が確認されている。最早デッドラインディスパッチング
ポリシーは最適であるため、要求をスケジュールする任
意の有効な方法を見つければ充分である。プロセッサが
重荷重されていないかもくしはタスク要求グループがお
なじ最早開始時間を有する傾向がある場合にはこのケー
スは非常に一般的であることを理解されたい。) 6.統合されたビジー期間内でタスク要求の最早デッド
ラインディスパッチングをシミュレートする(ブロック
206)。各タスクがその最遅完了時間もしくはそれ以
前に完了する場合には、候補要求を全要求リストへ挿入
しビジー期間リストを更新して統合を反映するようにし
た後で受理し、さもなくば要求を拒否する。図3を参照
して、このシミュレーションは下記のように効率的に実
施することができる。 (イ) ブロック301においてビジー期間の一時的リ
ストを初期化して空とする。このリストはタスク要求構
造内の第3組のリンケージフィールドを使用し要求開
始、非完了、時間に基づいている。 (ロ) ブロック302においてシミュレーション開始
時間が決定され、それは全ビジー期間リスト内の統合さ
れたビジー期間に先行するビジー期間の停止時間及び現
在時間の大きい方である。 (ハ) ブロック303においてスケジューラ11内の
カウンターが候補要求の最早開始時間と統合されたビジ
ー期間の開始時間との差へ初期化される。(このカウン
タは減分されて候補要求の最早開始時間の前にどれだけ
の実行がスケジュールされているかが追跡される。この
ような時間が充分であれば、候補要求に対する対応する
時間がその最早開始と最遅完了時間間の間隔内で自由と
されシミュレーションを早期に終止することができる。 (ニ) (候補要求を含む)統合されたビジー期間内で
要求をデッドライン順で反復する(ブロック305−3
09)。(これは要求を優先順と考える。)考慮される
各要求に対して、その最早開始時間とシミュレーション
開始時間の大きい方を使用する (1) ブロック303で初期化されたカウンタがゼロ
以下となると(ブロック305)、シミュレーションを
終止して要求を受理する。(カウンタがもはや正でなけ
れば、候補要求の最早開始時間の前に実行すべき充分な
要求が部分的シミュレーションによりスケジュール化さ
れておりシミュレーションの継続が保証されて候補要求
はその最早開始及び最遅完了時間間の間隔内で実行する
のに充分な自由時間が見つかる。 (2) 現在要求の開始ベースビジー期間が開始ベー
スビジー期間の一時的リストのどこへ分類されるかを確
認する(ブロック306)。(完了時間の大きい要求は
代表的に開始時間も大きいためビジー期間の一時的リス
トはその末尾から順方向に探索しなければならない。) (3) ブロック307に示すように非重畳をテストす
る。現在要求のビジー期間が他の期間と重畳しない場合
には、現在要求のビジー期間をリストへ挿入する。現在
要求の優先順が候補要求よりも高い場合には、候補要求
の最早開始時間の前にスケジュールされる実行時間量
(存在する場合)だけカウンタを減分しブロック305
においてインターラクションを継続する。 (4) ビジー期間が重畳する場合には、リストを(大
きい開始時間に向かって)順方向に探索して統合しなけ
ればならない全ビジー期間を確認して(ブロック30
8)要求の全処理時間を消費するのに充分な遊休時間を
期間の間のギャップ内に見つける。 (5) 統合された期間の停止時間(ブロック309)
が現在要求の最遅完了時間以上である場合、現在要求の
優先順が候補要求よりも高ければカウンタを減分する。
カウンタは候補要求及びくり返しの最早開始時間の前に
スケジュールされるその実行時間(存在する場合)の量
だけ減分される。答えがノーであれば、終止して候補を
拒否し減分要求が達成されるようにする。 (ホ) 反復により候補要求に関連する(完了ベース)
ビジー期間内の各要求がうまく受理される場合には、シ
ミュレーションを終止して候補要求を受理する。(この
アルゴリズムは最早デッドラインディスパッチングをシ
ミュレートしそれは要求を優先順の最も高いものから最
も低いものへ反復して関連タスクを実行する時間を決定
するためである。所与の要求によりいくつかのビジー期
間が統合される場合には、関連するタスクはこのような
期間中にプリエンプティブとされる。)(ブロック20
3及び305の他に統合されたビジー期間に対して実行
をシミュレートすることを回避できる特殊ケーステスト
を見つけることもできる。)
【0019】スケジューリングアルゴリズムのアプリケ
ーションの例として、下記の5つの要求を考える。
【表2】 タスクaの要求は12−15のそのビジー期間がリスト
の最初にあるため即座に受理される。
【数3】 タスクbの要求もその22−25のビジー期間がaの期
間と重畳しないために受理される。
【数4】 タスクcのビジー期間は20−23でありタスクbのビ
ジー期間と重畳するため、すくなくとも1つの統合を実
施しなければならない。b及びcの期間を結合すると1
9の開始時間となり、それはaを含む期間の停止時間よ
りも大きく、そのためこれ以上の統合は必要ではない。
統合されたビジー期間の開始時間は19であり、それは
cの最早開始時間よりも大きいため、cはシミュレーシ
ョンなしで受理することができる。
【数5】 タスクdのビジー期間は18−24でありb及びcを含
むビジー期間と重畳するため、少なくとも1つの統合を
実施しなければならない。dをb及びcを含む期間と結
合すると13の開始時間となり、それはaを含むビジー
期間を2時間単位だけ重畳する。したがってaを加える
と10−25の1つのビジー期間が生じる。この開始時
間10はdの最早開始時間よりも断然小さいため、ブロ
ック203の単純なスケジューラビリティテストは適用
せずa,b,c及びdの実行は10から25へシミュレ
ートしなければならない。この場合bは時間26まで完
了せず、それはその最遅完了時間を越えるため、dは拒
否しなければならない。
【数6】 タスクeはdと同じ最早開始及び最遅完了時間を有する
が、実行時間は1単位少ない。この場合、統合されたビ
ジー期間は11から25となり
【数7】 シミュレーション開始時間は0となり、カウンタは3へ
初期化され、それは候補要求eの最早開始時間14と統
合ビジー期間の開始時間11との差である。タスクaは
シミュレートされる最初のタスクであり時間10から時
間12まで実行する。
【数8】 この実行の全てが候補要求(14)の最早開始時間の前
に生じるため、カウンタはゼロへ減分され、シミュレー
ションはうまく終止し、タスクeはブロック305のテ
ストによりスケジュール可能なように決定される。シミ
ュレーションが継続しておれば、これらのタスクに対す
る実際のタイム−ラインが計算される。
【数9】 スケジューリングアルゴリズムの第2の部分によりスケ
ジューラ(及びディスパッチャ)データベースからタス
ク要求が除去される。この部分はタスク終止時にディス
パッチャにより呼び出されかつアプリケーションソフト
ウェアが呼び出して実行要求をキャンセルすることがで
きる。タスクアンスケジューリングモジュールのキー要
求はタスクのためにとってあるが使用されない任意のリ
ソースを回収することである。例えば、タスク要求によ
り100mSの最大実行時間が指定されているがタスク
は実際上25mS後に完了した場合、残りの75mSは
他のタスク要求に配分できなければならない。タスク要
求をアンスケジュールすることは次のステップを含んで
いる。 1.除去すべきタスク要求構造を含むビジー期間を見つ
ける。 2.除去すべきタスク要求構造がそのビジー期間内の唯
一の要求であれば、全ビジー期間リストからビジー期間
を除去し、要求のデッドライン順リストから要求を除去
して戻る。 3.除去すべきタスク要求構造がそのビジー期間内の
(唯一ではない)最初の要求であれば、要求のデッドラ
イン順リストから要求を除去し、除去される要求のため
にとってある実行時間だけそのビジー期間の開始時間を
増分して戻る。 4.要求のデッドライン順リストから要求を除去する。 5.元のビジー期間内に残っている要求を次のような1
つ以上のビジー期間へ再区分する。 (イ) 元のビジー期間内の最終(デッドライン順)要
求から最初の要求へ反復し、ワーキング期間を最終要求
の最遅完了時間で停止するように初期化する。 (ロ) 現在の要求が反復における最終要求であるかも
しくは現在要求の最遅完了時間が(重畳のない)ワーキ
ング期間の開始時間よりも小さければ、ワーキング期間
をビジー期間リストへ加え、新しいワーキング期間を現
在要求の最遅完了時間で初期化し、反復を継続する。 (ハ) ワーキング期間の開始時間を現在要求の実行時
間だけ減少して反復を継続する。アンスケジューリング
の例として、次の5つの要求を考える。
【表3】 スケジューラはこれらのタスク要求を受理して下記のス
テップでビジー期間リストを作り上げる。
【数10】 ディスパッチャは次のようにタスクを実行する。
【数11】 タスクaが時間12で完了すると、ディスパッチャはア
ンスケジュールアルゴリズムを使用して要求及びビジー
期間リストからaを除去する。aはこの期間内の最初の
タスクであるため、そのビジー期間の開始時間を2だけ
増分して除去することができる。
【数12】 タスクdはその最早開始時間に到達した唯一のタスクで
あるため次に実行するタスクである。タスクdが時間1
4において完了すると、アンスケジュールアルゴリズム
は残りのタスクc,e及びbを反復することにより17
−23の新しいビジー期間を計算する。
【数13】 ディスパッチャは時間14からタスクeが時間15で開
始されるまでプロセッサをアイドルのままとする。eが
時間17で完了すると、アンスケジュールアルゴリズム
がタスクc及びbを反復して18−20と21−23の
2つのビジー期間をみつける。
【数14】 ディスパッチャは時間17においてタスクcを開始しタ
スクbの最早開始時間が時間18に達するときにそれを
プリエンプトする。bが時間20において完了すると、
そのビジー期間における唯一のタスクとなり、期間を単
に削除してcを含むビジー期間を残すことができる。
【数15】 cが時間21において完了すると、そのビジー期間にお
ける唯一のタスクとなり、期間を削除して空リストを残
す。スケジューリングアルゴリズムが非使用実行時間を
回復して新しい要求に利用できるようにすることを示す
ために、下記のタスクセットを考える。
【表4】 タスクdの要求が時間13に到達する場合、ビジー期間
リストは2つの期間を含んでいる。
【数16】 dが受理されておれば、統合されたビジー期間は9−2
5である。この期間にわたってタスクa,b,c及びd
の実行をシミュレートすればbが時間26までに完了し
ないためdは受理できないことが判る。
【数17】 タスクaが実際上確保された5時間単位ではなく2時間
単位だけ実行される場合には、dの要求が時間13に到
達する時にビジー期間リストは17−25の1つの期間
を含んでいる。
【数18】 dの3つの実行単位を加えると14−25の期間とな
り、dの最早開始時間は14で統合されたビジー期間の
開始時間に等しいため即座に受理することができる。し
たがってaが早期に完了する場合の実際のタスク実行パ
ターンは次のようになる。
【数19】
【0020】他の実施例 本発明及びその利点について詳細に説明してきたが、特
許請求の範囲に明記された発明の精神及び範囲を逸脱す
ることなくさまさまな変更、置換及び修正が可能である
ことを理解されたい。
【0021】以上の説明に関して更に以下の項を開示す
る。 (1) リアルタイムアプリケーションタスクスケジュ
ーリング及び処理システムであって、該システムは、前
記タスクを実行するCPUであって、前記タスクが有効
に実行を開始できる最早時間、実行を完了すべき最遅時
間、及び実行に必要な最大時間を特徴とする前記CPU
と、前記タスクを実行する要求レコードの1つのデータ
ベースであって、前記レコードがタスクデッドライン時
間順とされている前記1つのデータベースと、前記CP
U及び前記データベース間に接続され前記CPUでどの
タスクを実行するかをその都度選定するデスパッチャで
あって、前記デスパッチャはプリエンプティブであり最
早デッドラインによりタスクを実行に移す前記デスパッ
チャと、前記アプリケーションの実行時に前記アプリケ
ーションタスクからの要求を受理するオンラインスケジ
ューラであって、前記オンラインスケジューラは現在及
び将来の開始時間について要求を受理し、前記オンライ
ンスケジューラは前記データベースに接続され前記アプ
リケーションからのタスク実行要求に応答して各要求に
対して前記タスク要求及び予め受理された全てのタスク
要求が前記デスパッチャの実行時にそれらのデッドライ
ンを満たすかどうかを決定する前記オンラインスケジュ
ーラと、を含み、前記スケジューラは前記デスパッチャ
がタスクをそれらのデッドラインのできるだけ近くで終
止するように配置するかのように前記CPUの遅いビジ
ー期間に基づいて前記データベース内のタスクをスケジ
ュールする、リアルタイムシステム。
【0022】(2).第1項記載のシステムであって、
前記スケジューラは最早開始時間が要求が受理される場
合に生成される統合されたビジー期間の開始時間もしく
はそれ以前である場合は常にタスク要求を受理する、リ
アルタイムシステム。 (3).第1項記載のシステムであって、前記スケジュ
ーラは要求に関連する統合されたビジー期間内のタスク
の最早デッドラインディスパッチングをシミュレートす
る間に、統合されたビジー期間の開始時間と候補要求の
最早開始時間との間の期間がデッドライン順の候補要求
の前に生じるタスク要求の実行により埋められる時は常
にタスク要求を受理する、リアルタイムシステム。
【0023】(4) 実行タスクを“リアルタイム”で
スケジューリングするシステムが開示される。システム
はタスクを実行するCPUを含んでいる。これらのタス
クは実行を開始できる最早時間、実行を完了しなければ
ならない最遅時間、及び実行に要する最大時間を特徴と
している。システムはタスクを実行するレコードの1つ
のデータベースを含みこれらのレコードは上昇順とされ
ている。システムはCPUで実行するタスクをその都度
選定するプリエンプティブディスパッチャを含んでい
る。ディスパッチャはデータベースに接続されて最早デ
ッドラインでタスクを実行に移す。システムはアプリケ
ーションの実行時にアプリケーションから要求を受理し
現在及び将来の両方の開始時間に対して要求を受理する
オンラインスケジューラを含んでいる。スケジューラは
データベースに接続されタスク要求及び予め受理された
全ての要求がディスパッチャの実行時にそのデッドライ
ンを満たすかどうかを各要求について確認する。スケジ
ューラはディスパッチャがタスクをそのデッドラインの
出来るだけ近くで終止するように配置するかのようにC
PUの遅いビジー期間に基づいてデータベース内のタス
クをスケジュールする。
【図面の簡単な説明】
【図1】本発明を利用するシステムに従った機能的ブロ
ック図。
【図2】本発明による図1のスケジューラのフロー図。
【図3】図2のシミュレーションプロセスのフロー図。
【符号の説明】 10 リアルタイムアプリケーションタスクスケジュー
リング処理システム 11 スケジューラ 14 アプリケーション 15 タスク 17 データベース 19 ディスパッチャ 21 CPU

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 リアルタイムアプリケーションタスクス
    ケジューリング及び処理システムであって、該システム
    は、前記タスクを実行するCPUであって、前記タスク
    が有効に実行を開始できる最早時間、実行を完了すべき
    最遅時間、実行に必要な最大時間を特徴とする前記CP
    Uと、前記タスクを実行する要求レコードの1つのデー
    タベースであって、前記レコードがタスクデッドライン
    時間順とされている前記1つのデータベースと、前記C
    PU及び前記データベース間に接続され前記CPUでど
    のタスクを実行するかをその都度選定するデスパッチャ
    であって、前記デスパッチャはプリエンプティブであり
    最早デッドラインによりタスクを実行に移す前記デスパ
    ッチャと、前記アプリケーションの実行時に前記アプリ
    ケーションタスクからの要求を受理するオンラインスケ
    ジューラであって、前記オンラインスケジューラは現在
    及び将来の開始時間について要求を受理し、前記オンラ
    インスケジューラは前記データベースに接続され前記ア
    プリケーションからのタスク実行要求に応答して各要求
    に対して前記タスク要求及び予め受理された全てのタス
    ク要求が前記デスパッチャの実行時にそれらのデッドラ
    インを満たすかどうかを決定する前記オンラインスケジ
    ューラとを含み、前記スケジューラは前記デスパッチャ
    がタスクをそれらのデッドラインのできるだけ近くで終
    止するように配置するかのように前記CPUの遅いビジ
    ー期間に基づいて前記データベース内のタスクをスケジ
    ュールする、リアルタイムシステム。
JP6339384A 1993-12-17 1994-12-16 リアルタイムアプリケーションタスクスケジューリング及び処理システム Expired - Fee Related JP2823520B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16968593A 1993-12-17 1993-12-17
US169685 1993-12-17

Publications (2)

Publication Number Publication Date
JPH0850551A true JPH0850551A (ja) 1996-02-20
JP2823520B2 JP2823520B2 (ja) 1998-11-11

Family

ID=22616742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6339384A Expired - Fee Related JP2823520B2 (ja) 1993-12-17 1994-12-16 リアルタイムアプリケーションタスクスケジューリング及び処理システム

Country Status (1)

Country Link
JP (1) JP2823520B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
JP2010506270A (ja) * 2006-09-29 2010-02-25 クゥアルコム・インコーポレイテッド 無線機器におけるリソース管理のための方法及び装置
WO2014076741A1 (en) * 2012-11-16 2014-05-22 Nec Corporation Resource management system, resource management method and program
JP2014146243A (ja) * 2013-01-30 2014-08-14 Fujitsu Semiconductor Ltd タイミング調整装置、処理装置、及びタイミング調整方法
JP2017503251A (ja) * 2013-12-18 2017-01-26 クロノ−セイフ リアルタイムタスクシーケンス計画を構成し、実行するための方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501853B2 (en) 2020-07-20 2022-11-15 Recursion Pharmaceuticals, Inc. Preemptible-based scaffold hopping

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284437A (ja) * 1986-05-31 1987-12-10 Nec Corp タスク管理方式
JPS6368934A (ja) * 1986-09-10 1988-03-28 Nec Corp タスクスケジユ−ル方式
JPH0378033A (ja) * 1989-08-22 1991-04-03 Nec Corp ジョブ実行時間予測表示方式
JPH0449466A (ja) * 1990-06-19 1992-02-18 Mitsubishi Heavy Ind Ltd 計画制約解消システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284437A (ja) * 1986-05-31 1987-12-10 Nec Corp タスク管理方式
JPS6368934A (ja) * 1986-09-10 1988-03-28 Nec Corp タスクスケジユ−ル方式
JPH0378033A (ja) * 1989-08-22 1991-04-03 Nec Corp ジョブ実行時間予測表示方式
JPH0449466A (ja) * 1990-06-19 1992-02-18 Mitsubishi Heavy Ind Ltd 計画制約解消システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
JP2010506270A (ja) * 2006-09-29 2010-02-25 クゥアルコム・インコーポレイテッド 無線機器におけるリソース管理のための方法及び装置
US8954045B2 (en) 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
WO2014076741A1 (en) * 2012-11-16 2014-05-22 Nec Corporation Resource management system, resource management method and program
CN104781788A (zh) * 2012-11-16 2015-07-15 日本电气株式会社 资源管理系统、资源管理方法和程序
JP2016501392A (ja) * 2012-11-16 2016-01-18 日本電気株式会社 リソース管理システム、リソース管理方法、およびプログラム
JP2014146243A (ja) * 2013-01-30 2014-08-14 Fujitsu Semiconductor Ltd タイミング調整装置、処理装置、及びタイミング調整方法
JP2017503251A (ja) * 2013-12-18 2017-01-26 クロノ−セイフ リアルタイムタスクシーケンス計画を構成し、実行するための方法

Also Published As

Publication number Publication date
JP2823520B2 (ja) 1998-11-11

Similar Documents

Publication Publication Date Title
Van Tilborg et al. Foundations of real-time computing: Scheduling and resource management
Fohler Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems
Cho et al. An optimal real-time scheduling algorithm for multiprocessors
Baruah Optimal utilization bounds for the fixed-priority scheduling of periodic task systems on identical multiprocessors
US6223201B1 (en) Data processing system and method of task management within a self-managing application
Mohammadi et al. Scheduling algorithms for real-time systems
Kao et al. Subtask deadline assignment for complex distributed soft real-time tasks
Singh An algorithm to reduce the time complexity of earliest deadline first scheduling algorithm in real-time system
Tang et al. Combining hard periodic and soft aperiodic real-time task scheduling on heterogeneous compute resources
Shen et al. Resource reclaiming in real time
Henn Feasible processor allocation in a hard-real-time environment
Panahi et al. The design of middleware support for real-time SOA
Marau et al. Performing flexible control on low-cost microcontrollers using a minimal real-time kernel
JPH0850551A (ja) リアルタイムアプリケーションタスクスケジューリング及び処理システム
Kuo et al. An open real-time environment for parallel and distributed systems
Zouaoui et al. CPU scheduling algorithms: Case & comparative study
Hu et al. Adaptive real-time scheduling of dynamic multiple-criticality applications on heterogeneous distributed computing systems
Kong et al. Guaranteed scheduling for (m, k)-firm deadline-constrained real-time tasks on multiprocessors
Salmani et al. A fuzzy-based multi-criteria scheduler for uniform multiprocessor real-time systems
Marchand et al. Dynamic scheduling of periodic skippable tasks in an overloaded real-time system
Khemaissia et al. New Reconfigurable Middleware for Feasible Adaptive RT-Linux.
Upadhye et al. Cloud resource allocation as non-preemptive approach
Panahi et al. The design and implementation of service reservations in Real-Time SOA
Springer et al. Fuzzy logic based adaptive hierarchical scheduling for periodic real-time tasks
Badgujar et al. Cloud resource allocation as preemptive scheduling approach

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070904

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100904

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110904

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110904

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 15

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees