JP2002259144A - タスク・スケジューリングを改良する方法とシステム - Google Patents

タスク・スケジューリングを改良する方法とシステム

Info

Publication number
JP2002259144A
JP2002259144A JP2002006022A JP2002006022A JP2002259144A JP 2002259144 A JP2002259144 A JP 2002259144A JP 2002006022 A JP2002006022 A JP 2002006022A JP 2002006022 A JP2002006022 A JP 2002006022A JP 2002259144 A JP2002259144 A JP 2002259144A
Authority
JP
Japan
Prior art keywords
task
cost
tasks
time
additional time
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
JP2002006022A
Other languages
English (en)
Other versions
JP3759040B2 (ja
Inventor
Gregory Bollella
グレゴリー・ボレラ
Peter F Haggar
ピーター・エフ・ハガー
James A Mickelson
ジェームズ・エイ・ミケルソン
David M Wendt
デイビッド・エム・ウエンド
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002259144A publication Critical patent/JP2002259144A/ja
Application granted granted Critical
Publication of JP3759040B2 publication Critical patent/JP3759040B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 リアルタイム・コンピュータ・システムにお
いて、タスク・スケジューリング手法を改良してシステ
ムを効率化する。 【解決手段】 タスクの実行時間を累積するようにする
と共に、各スケジュール可能なタスクについて追加の時
間(拡張コスト)の上限を計算する。各タスクは、所定
のコストを超過した後も、システム全体の動作に影響を
与えることなく、拡張コストの間実行し続けることがで
きる(すなわち、タスクが実行を続けても、次に呼び出
されたタスクが締切に間に合うのを保証することができ
る)。このように、タスクがより長く実行するのを可能
にすることにより、当該タスクが首尾よく終了する可能
性が増大するので、システム全体の効率が向上する。こ
の手法は、少なくとも1つのスケジュール可能なタスク
の実行中にスケジュール不能なエンティティ(例えばハ
ードウェア割込み)が発生した場合、システムにとって
有益である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にコンピュー
タ・システムに関し、特にタスクのスケジューリングを
通じてリアルタイム・システムの動作を改良する方法、
システム、コンピュータ・プログラム製品に関する。
【0002】
【従来の技術】リアルタイム・システムで実行されるタ
スクは、その実行特性(「リリース(release)特性」と
も呼ばれる)の観点から極めて予測可能である、という
傾向がある。特に、実行モデルの1つに、「周期的タス
ク・モデル」と呼ばれているタスク・モデルがある。こ
の周期的タスク・モデルにおけるタスクの実行パターン
は、タスクの周期とコストという2つの値の観点から予
測可能である。あるタスクの周期とは、当該タスクの自
然実行頻度の逆数で表わされる時間間隔のことである。
あるタスクのコストとは、これも時間間隔であるが、当
該タスクが1つの周期内で必要な作業を完了するのに要
する最大時間のことである。例えば、5日ごとに1回実
行するが、この5日間で2分間しか実行しないタスクを
考える。この場合、このタスクの周期は5日であり、そ
のコストは2分間である。同様に、上記と同じシステム
で、10ミリ秒ごとに1回実行し、コストが10マイク
ロ秒である別のタスクを考えることもできる。(第1番
目の周期を除く)各周期は、先行する周期の終わりで直
ちに開始する。意味的に正しい実行パターンは、次のよ
うなものである。すなわち、タスクのインスタンスは、
すべての周期の始めで実行可能状態になり、自分か呼ば
れている周期が終わる少し前に自分の作業を完了する必
要がある。タスクが呼び出されている周期の終わりは、
締切と呼ばれている。
【0003】上述した周期的タスク・モデルに従う1組
の周期的タスクの場合、すべてのタスクのすべての呼び
出しが締切に間に合うか否かを計算するのは容易であ
る。この判断(以下、実行可能性判断と呼ぶ)をなすの
に、次に示す方程式を用いることができる。
【数1】 ただし、CI はタスクIの実行コスト、TI はタスクI
の周期である(すべてのI=1・・・Nにわたって同一
の時間単位を用いる)。また、タスク間の優先順位は、
周知の単調比率優先順位割り当て(rate-monotonic pri
ority assignment: RMA)アルゴリズムに従って割り
当てる。(要するに、周期が短いタスクの場合、すべて
の締切が間に合うか否かをこのように判断するシステム
の実行可能性は、当技術分野では公知である)。
【0004】大部分のリアルタイム・システムでは、予
期される(スケジュール可能な)タスクの他に、実行可
能であるけれども、スケジューリング・プロセスまたは
上述した実行可能性判断プロセスにおいて考慮に入れる
ことのできない別のエンティティが存在する。ここで
は、これらのエンティティを「スケジュール不可エンテ
ィティ(non-schedulable entity: NSE)」と呼ぶ。
NSEは、実行時間を必要とすると共に、通常のシステ
ムの動作にとって一般に不可欠のものである。NSEの
一例として、ハードウェア割込みイベントがある。一般
に、ハードウェア割込みなどのNSEがいつ生じるのか
(あるいは生じるのか否か)を予測することはできな
い。したがって、実行可能性アルゴリズムとスケジュー
リング・アルゴリズムは、通常、NSEを無視する。
【0005】しかしながら、NSEが実行する時に必要
とする実行時間によって、タスクが締切を守れなくなる
可能性がある。たとえ実行可能性アルゴリズムが実行可
能であることを示したスケジュールに従ってタスクをデ
ィスパッチした場合であっても、そうである。この理由
は、システムはスケジュール済みのタスクに優先してあ
る種のNSE(例えばハードウェア割込み)を実行しう
るからである。実行可能性アルゴリズムはNSEを無視
するから、スケジューリング・プロセスは、スケジュー
ル済みのタスクの実行中に実行するすべてのNSEの実
行時間を、当該スケジュール済みのタスクに誤って割り
当ててしまいがちである。例えば、特定のタスクのコス
トが20ATU(arbitrary time unit:任意時間単位)
である場合、システムは、20ATUの実行時間後に当
該タスクが完了しているものと予期する。当該タスクが
上記の時間内に完了していない場合(このことは20A
TUの間にNSEが実行していた場合に成り立つ)、通
常、システムはエラー状態を生成し、当該タスクは失敗
する。
【0006】ここで、NSEの実行とスケジュール済み
のタスクの実行とを区別しうるリアルタイム・システム
がいくつか存在する、という点に留意する必要がある。
実例としては、Real−time MachとLin
ux/RTがある。しかし、これらのシステムは、通
常、実行可能性アルゴリズムにNSEを含めていない。
(様々な理論的理由から、実行可能性の計算でNSEを
無視することは、理由のある取り組みである。多くの場
合、NSEは、全実行時間のほんのわずかな部分を占め
るだけである。したがって、NSEは、システムの実行
可能性に大した影響を与えない。しかし、これには、N
SEは互いに無関係であることが知られており、それゆ
え、NSEには累積効果がない、ということが言える必
要がある。この仮定は、常に成り立つわけではない。ま
た、例えば、NSEが割込みを無効にすると、ディスパ
ッチャすなわちスケジューラは、プロセッサに十分な頻
度でアクセスできなくなるので、システムが影響を受け
ていないことを保証することができなくなる)。
【0007】後述するように、NSEの発生に起因して
タスクが予定の実行時間を超過した結果取り消される
と、深刻な非効率が生じる。システム全体の実行可能性
が保証される限り、タスクの取り消しを避け、完了する
までタスクを実行する可能性を増大させるのが望まし
い。
【0008】「マルチメディア・コンピュータのオペレ
ーティング・システムと方法」なる名称の米国特許第5
640563号には、リアルタイム・システムにおい
て、タスク・スケジューリング操作によって生じるプロ
セッサのオーバーヘッドを低減するために、開始時刻で
はなく、締切(すなわち必要な終了時刻)に従ってタス
クをスケジュールする手法が教示されている。しかし、
この特許には、NSEが存在する場合における実行を処
理する手法は教示されていない。
【0009】「プロジェクトを構成するタスクをスケジ
ュールするコンピュータ実現方法」なる名称の米国特許
第5408663号には、(プロジェクトの全所要時間
すなわちプロジェクトのコストを含む)タスクの所要時
間の効果が全体として不満足な場合におけるプロジェク
ト・スケジューリングを最適化する手法が教示されてい
る。この特許では、タスクに割り当ててプロジェクトの
用に供すべき資源を繰り返し調整して、プロジェクトの
所要時間を短縮できるか否かを調べる。しかし、この特
許にも、NSEが存在する場合における実行を処理する
手法は教示されていない。特に、タスクが所定の時間間
隔よりも長く実行を続けるのを可能にする手法が教示さ
れていない。
【0010】上述した点から、従来技術の問題点を解消
する改良されたタスク・スケジューリング手法が求めら
れている。
【0011】
【発明が解決しようとする課題】本発明の目的は、タス
ク・スケジュール用の改良された手法を提供することで
ある。
【0012】本発明の別の目的は、予定された実行時間
を超過したタスクの実行を取り消すのを避けることので
きる手法を提供することである。
【0013】本発明の別の目的は、システム全体が実行
可能性を維持していることを保証しながら上記手法を実
現することである。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、改良したタスク・スケジューリング手法
を実現する方法、システム、およびコンピュータ・プロ
グラム製品を提供する。上記手法は、各タスクが付随す
るコストおよび付随する締切を有する複数のタスクの実
行が可能であるか否かを計算することと、前記実行が可
能であると計算された場合、各タスクについて付随する
コストに追加の時間を付加して、各タスク用に改定され
たコストを算出することと、前記実行がもはや可能でな
いと計算されるまで、前記計算する手段および前記算出
する手段の操作を反復的に繰り返すこととを備えてい
る。この手法は、さらに、前記反復的に繰り返すことの
操作の後、前記改定されたコストをタスクの実行時間の
上限として使用することを備えることができる。
【0015】本発明の一側面では、前記追加の時間がタ
スクに付随するコストの一定割合である。本発明の別の
側面では、前記追加の時間が、一部のタスクについては
零であると共に、残りのすべてのタスクについてはタス
クに付随するコストの一定割合である。本発明のさらに
別の側面では、前記算出することの最初の試行では、追
加の時間がタスクに付随するコストの一定割合であり、
残りの試行では、追加の時間が各タスク用に改定された
コストの一定割合である。本発明のさらに別の側面で
は、前記算出することの最初の試行では、一部のタスク
については追加の時間が零であると共に、残りのすべて
のタスクについてはタスクに付随するコストの一定割合
であり、残りの試行では、追加の時間が各タスク用に改
定されたコストの一定割合である。
【0016】前記使用することは、さらに、実行時に、
タスク群のうちの特定のタスクがそれに付随するコスト
を超過しているか否かを判断することと、もしそうであ
る場合、(1)前記特定のタスクに付随する締切までの
残存時間、または、(2)前記特定のタスクの実行時間
の上限、のうちの最小のものに到達するまで、前記特定
のタスクが実行するのを許すこととを備えることができ
る。
【0017】
【発明の実施の形態】図1は、本発明を実現することの
できるコンピューティング装置を示す図である。コンピ
ューティング装置10には市販されている標準型のコン
ピューティング装置を用いるのが望ましい。コンピュー
ティング装置10は、CPU(central processing uni
t)12、メモリ14、長期間記憶装置16、そして(任
意事項として)ネットワーク伝送機能18を備えてい
る。メモリ14には主記憶装置および/または補助記憶
装置を用いることができる。(「Aおよび/またはB」
は「AおよびB、A、またはB」を表わす)。長期間記
憶装置16にはハード・ディスク駆動装置、ディスケッ
ト駆動装置、テープ駆動装置などのうちの少なくとも1
つを用いることができる。本発明を実現するコンピュー
タ・プログラムの命令はメモリ14(および/または長
期間記憶装置16)に格納するのが望ましい。
【0018】コンピューティング装置10には、サー
バ、メインフレーム、シングル・ユーザのワークステー
ションなど任意の型のコンピューティング装置を用いる
ことができる。本発明の通常の使用では、コンピューテ
ィング装置10上で、一連のリアルタイム・タスクが実
行されている。
【0019】本発明を使用する際に依拠するシステムの
中には、第1のコンピューティング装置10で実行され
ているアプリケーションが第2のコンピューティング装
置20で実行されているアプリケーションと情報を交換
するものがある。マシン相互間の伝送は、ネットワーク
40を使って行なわれる。(図1には図示してない)別
の構成では、交換される情報は、単一のマシン内で1つ
のプロセスから別のプロセスに伝送することができる、
あるいは、別の方法(例えば通信チャネルへの直接接続
など)でマシン相互間で伝送することができる。
【0020】コンピューティング装置10について述べ
たのと同様に、コンピューティング装置20には市販さ
れている標準のコンピューティング装置を用いるのが望
ましい。コンピューティング装置20も、CPU22、
メモリ24(これは主記憶装置および/または補助記憶
装置でありうる)、少なくとも1つの長期間記憶装置2
6、および、ネットワーク伝送機能28を備えている。
あるいは、コンピューティング装置20は、ROMメモ
リ24を使用してもよく、そして、長期間記憶装置26
を備えていなくてもよい。
【0021】ネットワーク40には、LAN(local ar
ea network)またはWAN(wide area network)を用い
ることができる。あるいは、他の任意の型のネットワー
キング構成を用いてもよい。適切な通信ハードウェアと
ソフトウェアの他に、このようなネットワーキング構成
も、当技術分野では公知である。
【0022】図2は、本発明を実現できるネットワーク
構成40の一例を示す図である。ネットワーク40は、
複数の個別ネットワーク、例えば無線ネットワーク42
やネットワーク44を含むことができる。各ネットワー
クは、図1に関して説明した型の個別のコンピューティ
ング装置を複数台備えることができる。さらに、当業者
が認識しうるように、少なくとも1つのLAN(図示せ
ず)を含めてもよい。この場合、LANは、ホスト・プ
ロセッサに接続されたインテリジェント・ワークステー
ションを複数台備えることができる。
【0023】さらに図2を参照する。ネットワーク4
2、44は、ゲートウェイ・コンピュータ46やアプリ
ケーション・サーバ47(これらはデータ・リポジトリ
48にアクセスしうる)として、メインフレーム・コン
ピュータやサーバを備えることができる。ゲートウェイ
・コンピュータ46は、各ネットワーク44への出入口
として機能する。ゲートウェイ・コンピュータ46は通
信リンク50aによって別のネットワーク42に接続さ
れているのが望ましい。ゲートウェイ・コンピュータ4
6は、通信リンク50b、50cを使って少なくとも1
つの有線装置または無線装置10にも接続されているの
が望ましい。ゲートウェイ・コンピュータ46は、イン
ターナショナル・ビジネス・マシーンズ・コーポレーシ
ョンから入手できるESA(Enterprise Systems Archt
ecture)/370コンピュータ、ESA/390コンピ
ュータなどを使って構築することができる。アプリケー
ションによっては、例えばAS(Application System)
/400などの中型コンピュータを使うこともできる。
(「ESA/370」、「ESA/390」、「AS/
400」はインターナショナル・ビジネス・マシーンズ
・コーポレーションの登録商標である)。
【0024】また、ゲートウェイ・コンピュータ46
は、記憶装置(例えばデータ・リポジトリ48)に接続
されていてもよい。さらに、ゲートウェイ・コンピュー
タ46は、少なくとも1つのコンピューティング装置1
0に直接にあるいは間接に接続されていてもよい。
【0025】当業者は、次の点を理解することができ
る。すなわち、ゲートウェイ・コンピュータ46は、ネ
ットワーク42から地理的に大変離れた場所に設置して
もよい。同様に、コンピューティング装置10は、ネッ
トワーク42、44から相当に離れた場所に置かれても
よい。例えば、ネットワーク42をカリフォルニア州に
設置し、ゲートウェイ・コンピュータ46をテキサス州
に設置し、少なくとも1つのコンピューティング装置1
0をニューヨーク州に設置することができる。コンピュ
ーティング装置10は、多数の等価な接続媒体、例えば
セルラー電話、無線周波数ネットワーク、サテライト・
ネットワークなどをまたいで、TCP/IP(Transmis
sion Control Protocol/Internet Protocol)などのネッ
トワーキング・プロトコルを使って無線ネットワーク4
2に接続することができる。無線ネットワーク42はネ
ットワーク接続50aを使ってゲートウェイ・コンピュ
ータ46に接続するのが望ましい。ネットワーク接続5
0aには、例えば、IP、X.25、フレーム・リレ
ー、ISDN(Integrated Services Digital Network:
サービス総合ディジタル網) 、PSTN(Public Switc
hedTelephone Network:公衆交換電話網) などの上のT
CPまたはUDP(User Datagram Protocol)などがあ
る。あるいは、コンピューティング装置10は、ディジ
タル接続50b、50cを使ってゲートウェイ・コンピ
ュータ46に直接に接続することができる。さらに、無
線ネットワーク42とネットワーク44は、図2に示し
たものと同様の仕方で、少なくとも1つの別のネットワ
ーク(図示せず)に接続することができる。
【0026】好適な実施形態では、本発明をコンピュー
タ・ソフトウェアで実現している。あるいは、本発明
は、ハードウェアで、またはソフトウェアとハードウェ
アの組み合わせで実現することもできる。ソフトウェア
で実現する実施形態では、図1に示すように、本発明を
実現するソフトウェア・プログラミング・コードは、通
常、CD−ROMやハード・ディスク駆動装置などある
種の長期間記憶装置16からCPU12が取り出して、
メモリ14にロードする。(あるいは、ソフトウェア・
プログラミング・コードの一部または全部を、ROMメ
モリ14から直接に取り出すこともできる)。ソフトウ
ェア・プログラミング・コードは、コンピューティング
装置と共に使用する様々な公知の媒体、例えばディスケ
ット、ハード・ディスク、CD−ROMなどの上に実現
することもできる。また、ソフトウェア・プログラミン
グ・コードは、このような媒体に載せて配付することが
できるし、あるいは、あるコンピューティング装置のメ
モリまたは記憶装置から、ある種のネットワークを介し
て、別のコンピューティング装置に、このような別のコ
ンピューティング装置によって配付することができる。
あるいは、ソフトウェア・プログラミング・コードは、
長期間記憶装置16から直接にアクセスすることもでき
る。メモリ中のソフトウェア・プログラミング・コード
を物理媒体上に実現る手法と方法、および/または、当
該ソフトウェア・プログラミング・コードをネットワー
クを介して配付する手法と方法は、周知であるので、こ
こではこれ以上説明しない。
【0027】ここで、ここでの説明はリアルタイム・シ
ステムの観点からのものであるが、これは説明目的のた
めであって限定を意図していない、という点に留意する
必要がある。
【0028】本発明は、システム全体が実行可能であり
続けていることを保証しながら、予定の実行時間(すな
わちコスト)を超過したタスクの実行を取り消すのを避
ける改良されたタスク・スケジューリング手法を提供す
るものである。特に、RMA割り当てアルゴリズムを使
う周期的タスクのシステムであって、使用率がN*(2
**(1/N)−1)以下のものにおいて、本発明は、
自分のコスト・パラメータよりも長く実行するタスクを
呼び出すのを可能にする手法を提供するものである。コ
スト・パラメータは周期当たりの当該タスクの最大理論
実行時間であり、決して超過してはならないものである
けれども、本発明では、NSEの存在下で効力を発揮す
る計算された拡張コストを用いている。
【0029】一例として、あるタスク「タスク1」の呼
び出しコストが10ATU(任意時間単位)であり、タ
スク1の周期が100ATUである、と仮定する。ま
た、タスク1の実行中に、少なくとも1つのNSEが合
計1ATUの間実行する、と仮定する。さらに、スケジ
ューラは、このNSE時間を別のものとして考慮せず
に、それをタスク1の実行に割り当てる、と仮定する。
この場合、スケジューラがタスク1用に10ATUを累
積した時に、タスク1は、実際には9ATUしか実行し
ていない。したがって、その作業は完了できない可能性
がある。従来技術によるシステムの多くは、タスク1が
そのコスト・パラメータに到達したということを認識で
きない。したがって、何もしない。これらのシステムで
は、タスク1は完了するまで実行し続ける。(これらの
システムは「撃ちてし止まん(run-to-block)」システ
ムと呼ばれている)。このような長時間実行タスクが検
査を受けずにすべて実行し続けると、システム全体の実
行可能性は、極めて危険な状態になる。本発明は、タス
ク1がそのコスト・パラメータに到達したことを認識で
きるようなシステムを指向している。ここでは、そのよ
うなシステムを「実行時間累積システム(execution ti
me accumulating system)」と呼ぶ。本発明の手法を使
うと、長時間実行タスクが実行し続けるのを許した場合
に他のタスクが締切を守れなくなるか否かに関し、実行
時間の決定を動的に行なうことが可能になる。さらに、
本発明の手法は、他のタスクがすべて時間通りに完了す
るのを保証しながら、特定の長時間実行タスクに与える
ことのできる余分の時間を決定する方法を提供する。
【0030】次に、図3と図4を参照して、本発明の好
適な実施形態を詳細に説明する。
【0031】図3に示す論理を使って、タスクが安全に
実行しうるために追加する時間の上限を計算する。ここ
では、この追加の時間を「拡張コスト(cost extensio
n)」と呼ぶ。拡張コストの上限は、システムの実行可
能性が保証されない値に到達するまで、漸増させながら
計算する。好適な実施形態では、タスクのコストの一定
割合を漸増的に加えることにより、各タスクごとに拡張
コストを計算する。好適な実施形態では、この一定割合
は、タスクのコスト・パラメータの1パーセントであ
る。
【0032】図3の論理は、ブロック300で、1から
N(Nはシステム内のスケジュール可能なタスクの数)
の拡張コスト値(図3ではEi と表記)を零に初期化す
ることにより開始する。各スケジュール可能なタスク
は、拡張コスト、周期、締切の各値を格納する状態変数
を備えているのが望ましい。本発明を使用する場合に
は、この状態変数にタスクの拡張コストに追加する値を
格納する。
【0033】ブロック310で、各タスクのコストをそ
の周期で除算したものを合計することにより、実行可能
性分析(FA)の計算を実行する。次いで、ブロック3
20で、この合計値と図中の式(従来のシステムで使用
している式と同じもの)とを比較して、すべてのタスク
のすべての呼び出しが締切に間に合うか否かを判断す
る。ブロック320の試験の結果がNoの場合、システ
ムは実行可能ではない。制御はブロック360に進む。
図3の論理の初回の試行からブロック360に到達した
場合、使用すべき拡張コストの値はすべて零である。し
たがって、システムは、従来技術の場合と同様に動作す
る。
【0034】ブロック320の試験の結果がYesの場
合(すなわちシステムが実行可能である場合)、プロセ
スはブロック330に進む。ブロック330では、各タ
スクのコストの一定割合を計算する。この一定割合が1
パーセントである場合、式(0.01)Ci は、この試
行で加算すべき追加の時間を定めている。この追加の時
間を、各タスクの前回計算した拡張コストEi に加算す
る。加算した結果を、各タスクのコスト・パラメータC
i に加算する。そして、その合計値を、各タスクの周期
i で除算する。このプロセスを1からNのスケジュー
ル可能なタスクの各々について繰り返して、システムの
新たな実行可能性分析(FA)値を定める。その後、ブ
ロック340で、得られた結果と図中に示す使用率の式
とを比較して、すべてのタスクのすべての呼び出しが締
切に間に合うか否かを判断する。この試験の結果がYe
sの場合、ブロック350で、1からNのスケジュール
可能なタスクの各々のコストについて、新たな漸増拡張
コストを生成する。次いで、制御はブロック330に戻
って実行可能性分析(FA)計算を繰り返す。ブロック
340の試験の結果がNoの場合(すなわち、拡張コス
トの現在の計算の後、システムがもはや実行可能でない
場合)、制御はブロック360に進む。制御がブロック
360に到達した場合、ブロック360に示すように、
各タスクの拡張コストの上限は、既に発見されており、
その値はEi に格納されている(ただし、各タスクは各
回の拡張コストの計算における一定割合として同一の値
を用いるものと仮定している)。以上で、図3のプロセ
スは完了する。
【0035】図3に示す論理の別の実施形態では、一定
割合の値として別の値を用いている。さらに別の実施形
態では、拡張コストは、一部のタスクに対してだけ計算
し、残りのタスクに対しては計算しない。例えば、長時
間実行タスクには拡張を許すが、短いタスクには許さな
い(これは、長時間実行タスクは完了しないとシステム
資源の観点から短いタスクよりも高くつく、という原理
に基づいている)。この場合、短いタスクの拡張コスト
は零である、と考えられる。さらに別の実施形態では、
漸増計算プロセスの間に一定割合として同一でない値を
用いている。このアプローチの一例として、長時間実行
タスクには短いタスクよりも大きな一定割合値を割り当
てる。例えば、長時間実行タスクには2パーセントを使
用し、短いタスクには1パーセントを使用する(この結
果、長時間実行タスクには短いタスクよりも大きな拡張
コストが割り当てられる)。あるいは、別の実施形態で
は、(ブロック330に示したように)タスクのコスト
に基づかずに、計算したての拡張コストに基づいて、各
試行において追加の時間を計算している。この結果、長
時間実行タスクは、幾何数列を使って拡張される。上述
したこれらの実施形態を取り扱うのに図3に示す論理を
どのように変更したらよいかは、当業者にとって明らか
である。
【0036】図4の論理は、実行時に、特定の周期にお
いて呼び出されている間にコスト・パラメータを超過し
たタスクが安全に実行し続けうるか否かを判断すると共
に、続けうる場合の継続期間を判断するのに使う。各タ
スクの拡張コストを知ることにより、スケジューラは、
他のタスクの実行に影響を与えることなく、この判断を
なすことができる。このように、リアルタイム・システ
ムは、NSEの存在下で、本発明の教示を使わない従来
技術の場合よりも長い時間間隔にわたって、通常の状態
(すなわち、すべてのタスクが締切を守ることのできる
状態)を維持することができる。したがって、たとえN
SEがあるタスクの実行時間の一部を消費したとして
も、当該タスクは完了するまで実行することができる。
拡張コストは、コスト・オーバーラン(超過)が生じて
いるのが検出されると配分される(したがって、タスク
の実行時間を累積しない、従来技術の「撃ちてし止ま
ん」システムには、本発明は無用であると思われる)。
次に、本発明の好適な実施形態を使用したときにコスト
・オーバーランを処理する仕方を、図4の論理を参照し
て説明する。
【0037】実行中のタスクに対してコスト・オーバー
ランが検出されると、制御はブロック400に至る。次
いで、ブロック410で、このタスクは拡張コスト値
(これは例えば図3の処理中に状態変数に格納される)
を有するか否かを検査する。Noの場合、タスクの実行
は拡張されず、制御をブロック480に進め従来技術の
場合と同様に通常のコスト・オーバーラン・ハンドラを
呼び出す。オーバーラン処理が完了すると、図4のこの
呼び出しは完了する。
【0038】ブロック410の検査の結果がYesの場
合、ブロック420で処理を継続する。ブロック420
では、拡張コスト(Ei )の最小値と、(図4中に
「D」で示す)締切までの残存時間とを計算する。次い
で、ブロック430で、拡張コストがDよりも小さいか
否かを検査する。Yesならば、ブロック440で、当
該タスクはその拡張コストの間実行し続けることを許さ
れる。図3を参照して説明したように、この拡張コスト
とは、当該タスクが他のスケジュール可能なタスクに影
響を与えることなく実行し続けうる時間の上限のことで
ある。当該タスクがこの追加の時間(拡張コスト)の間
実行し続けた後、制御はブロック460に進む。ブロッ
ク460では、当該タスクが未(いま)だに実行してい
るか否かを検査する。Yesの場合、当該タスクの締切
は守られなかったことを意味する(すなわち、当該タス
クがシステム中で他のタスクに影響を与えることなく実
行を完了する、ということを保証できない)。したがっ
て、ブロック470で締切ミス・ハンドラを呼び出す。
締切ミス・ハンドラが(本発明の一部を形成しない従来
技術の手法を使って)その処理を完了したら、コスト・
オーバーラン・ハンドラを呼び出す(ブロック48
0)。必要な場合には、コスト・オーバーラン処理に、
本発明に従う拡張コストを有するタスクが未だにコスト
をオーバーランしている状況を処理する論理を付加する
ことができる。例えば、拡張コスト内に完了できないよ
うなコスト超過タスクに関する統計をとることができ
る。以上で当該タスクに関する図4の処理は終了する。
【0039】ブロック460の検査の結果がNoなら
ば、当該タスクは拡張コストの間に実行を完了したこと
を意味する。好適な実施形態では、ブロック480でコ
スト・オーバーラン・ハンドラを呼び出す。以上で当該
タスクに関する図4の処理は終了する。
【0040】ブロック430に戻り、現在のタスクの締
切までの残存時間が当該タスクの拡張コスト以下の場
合、ブロック450で、当該タスクが締切に至るまで実
行し続けるのを許す。次いで、ブロック460で、当該
タスクが別のオーバーラン状況に遭遇しているか否かを
検査する(すなわち、当該タスクが締切に到達したのに
完了していないか否かを検査する)。Yesならば、ブ
ロック470について上述したように、締切ミス・ハン
ドラを呼び出す。この処理の後、ブロック480につい
て上述したように、コスト・オーバーラン・ハンドラを
呼び出す。また、ブロック460の検査の結果がNoの
場合(当該タスクが締切に間に合った場合)、ブロック
480でコスト・オーバーラン・ハンドラを呼び出す。
以上で図4の処理は終了する。
【0041】上述したように、本発明は、システム全体
の中で他のタスクに影響を与えることなく、実行時間累
積システムにおいてコスト見積もりをオーバーランした
タスクの実行時間を安全に拡張するための極めて効率的
な手法を提供するものである。この手法は、複雑なスケ
ジューラを使用している多数の環境において役立つもの
と思われる。上記環境には、例えばリアルタイム・シス
テムを実現するのにReal-Time Specification for Java
(商標)を使っているような環境がある。(「Java」は
サン・マイクロシステムズ社の商標である)。本発明を
使用すると、タスクの締切を有する実行環境において柔
軟性が増す。この結果、そのようなシステムを設計・管
理するのが容易になると共に、操作が効率的になる。
【0042】以上、本発明の好適な実施形態を説明した
が、この実施形態に対する変形と変更は、いったん本発
明の基本概念を学んだ当業者にとって容易に想到しうる
ものである。したがって、特許請求の範囲は、好適な実
施形態と、本発明の本旨と範囲の内にあるようなすべて
の変形および変更とを含むように解釈すべきである。
【0043】まとめとして以下の事項を開示する。 (1)タスク・スケジューリングを改良するコンピュー
タ・プログラム製品であって、前記コンピュータ・プロ
グラム製品は少なくとも1つのコンピュータ読み取り可
能な媒体に組み込まれており、各タスクが付随するコス
トおよび付随する締切を有する複数のタスクの実行が可
能であるか否かを計算するコンピュータ読み取り可能な
プログラム・コード手段と、前記実行が可能であると計
算された場合、各タスクについて付随するコストに追加
の時間を付加して、各タスク用に改定されたコストを算
出するコンピュータ読み取り可能なプログラム・コード
手段と、前記実行がもはや可能でないと計算されるま
で、前記計算するコンピュータ読み取り可能なプログラ
ム・コード手段、および前記算出するコンピュータ読み
取り可能なプログラム・コード手段の操作を反復的に繰
り返すコンピュータ読み取り可能なプログラム・コード
手段と、前記反復的に繰り返すコンピュータ読み取り可
能なプログラム・コード手段の操作の後、前記改定され
たコストをタスクの実行時間の上限として使用するコン
ピュータ読み取り可能なプログラム・コード手段とを備
えたコンピュータ・プログラム製品。 (2)前記追加の時間がタスクに付随するコストの一定
割合である、上記(1)に記載のコンピュータ・プログ
ラム製品。 (3)前記追加の時間が、一部のタスクについては零で
あると共に、残りのすべてのタスクについてはタスクに
付随するコストの一定割合である、上記(1)に記載の
コンピュータ・プログラム製品。 (4)前記算出するコンピュータ読み取り可能なプログ
ラム・コード手段の最初の試行では、追加の時間がタス
クに付随するコストの一定割合であり、残りの試行で
は、追加の時間が各タスク用に改定されたコストの一定
割合である、上記(1)に記載のコンピュータ・プログ
ラム製品。 (5)前記算出するコンピュータ読み取り可能なプログ
ラム・コード手段の最初の試行では、一部のタスクにつ
いては追加の時間が零であると共に、残りのすべてのタ
スクについてはタスクに付随するコストの一定割合であ
り、残りの試行では、追加の時間が各タスク用に改定さ
れたコストの一定割合である、上記(1)に記載のコン
ピュータ・プログラム製品。 (6)前記使用するコンピュータ読み取り可能なプログ
ラム・コード手段が、実行時に、タスク群のうちの特定
のタスクがそれに付随するコストを超過しているか否か
を判断するコンピュータ読み取り可能なプログラム・コ
ード手段と、もしそうである場合、(1)前記特定のタ
スクに付随する締切までの残存時間、または、(2)前
記特定のタスクの実行時間の上限、のうちの最小のもの
に到達するまで、前記特定のタスクが実行するのを許す
コンピュータ読み取り可能なプログラム・コード手段と
を備えている、上記(1)に記載のコンピュータ・プロ
グラム製品。 (7)タスク・スケジューリングを改良するシステムで
あって、各タスクが付随するコストおよび付随する締切
を有する複数のタスクの実行が可能であるか否かを計算
する手段と、前記実行が可能であると計算された場合、
各タスクについて付随するコストに追加の時間を付加し
て、各タスク用に改定されたコストを算出する手段と、
前記実行がもはや可能でないと計算されるまで、前記計
算する手段および前記算出する手段の操作を反復的に繰
り返す手段と備えたシステム。 (8)さらに、前記反復的に繰り返す手段の操作の後、
前記改定されたコストをタスクの実行時間の上限として
使用する手段を備えた、上記(7)に記載のシステム。 (9)前記追加の時間がタスクに付随するコストの一定
割合である、上記(7)に記載のシステム。 (10)前記追加の時間が、一部のタスクについては零
であると共に、残りのすべてのタスクについてはタスク
に付随するコストの一定割合である、上記(7)に記載
のシステム。 (11)前記算出する手段の最初の試行では、追加の時
間がタスクに付随するコストの一定割合であり、残りの
試行では、追加の時間が各タスク用に改定されたコスト
の一定割合である、上記(7)に記載のシステム。 (12)前記算出する手段の最初の試行では、一部のタ
スクについては追加の時間が零であると共に、残りのす
べてのタスクについてはタスクに付随するコストの一定
割合であり、残りの試行では、追加の時間が各タスク用
に改定されたコストの一定割合である、上記(7)に記
載のシステム。 (13)前記使用する手段が、実行時に、タスク群のう
ちの特定のタスクがそれに付随するコストを超過してい
るか否かを判断する手段と、もしそうである場合、
(1)前記特定のタスクに付随する締切までの残存時
間、または、(2)前記特定のタスクの実行時間の上
限、のうちの最小のものに到達するまで、前記特定のタ
スクが実行するのを許す手段とを備えている、上記
(7)に記載のシステム。 (14)タスク・スケジューリングを改良する方法であ
って、各タスクが付随するコストおよび付随する締切を
有する複数のタスクの実行が可能であるか否かを計算す
るステップと、前記実行が可能であると計算された場
合、各タスクについて付随するコストに追加の時間を付
加して、各タスク用に改定されたコストを算出するステ
ップと、前記実行がもはや可能でないと計算されるま
で、前記計算する手段および前記算出する手段の操作を
反復的に繰り返すステップと備えた方法。 (15)さらに、前記反復的に繰り返す手段の操作の
後、前記改定されたコストをタスクの実行時間の上限と
して使用するステップを備えた、上記(14)に記載の
方法。 (16)前記追加の時間がタスクに付随するコストの一
定割合である、上記(14)に記載の方法。 (17)前記追加の時間が、一部のタスクについては零
であると共に、残りのすべてのタスクについてはタスク
に付随するコストの一定割合である、上記(14)に記
載の方法。 (18)前記算出するステップの最初の試行では、追加
の時間がタスクに付随するコストの一定割合であり、残
りの試行では、追加の時間が各タスク用に改定されたコ
ストの一定割合である、上記(14)に記載の方法。 (19)前記算出するステップの最初の試行では、一部
のタスクについては追加の時間が零であると共に、残り
のすべてのタスクについてはタスクに付随するコストの
一定割合であり、残りの試行では、追加の時間が各タス
ク用に改定されたコストの一定割合である、上記(1
4)に記載の方法。 (20)前記使用するステップが、実行時に、タスク群
のうちの特定のタスクがそれに付随するコストを超過し
ているか否かを判断するステップと、もしそうである場
合、(1)前記特定のタスクに付随する締切までの残存
時間、または、(2)前記特定のタスクの実行時間の上
限、のうちの最小のものに到達するまで、前記特定のタ
スクが実行するのを許すステップとを備えている、上記
(14)に記載の方法。
【図面の簡単な説明】
【図1】 本発明を実現することのできるコンピューテ
ィング装置のブロック図である。
【図2】 本発明を実現することのできるネットワーク
化されたコンピューティング環境を示す図である。
【図3】 本発明の改良された実行可能性アルゴリズム
を実現するのに使用しうる論理の好適な実施形態のフロ
ーチャートを示す図である。
【図4】 本発明に従い実行時にタスクの実行をモニタ
するのに使用しうる論理の好適な実施形態のフローチャ
ートを示す図である。
【符号の説明】
10 コンピューティング装置 12 CPU 14 メモリ 16 長期間記憶装置 18 ネットワーク電送機能 20 コンピューティング装置 22 CPU 24 メモリ 26 長期間記憶装置 28 ネットワーク伝送機能 40 ネットワーク 42 無線ネットワーク 44 ネットワーク 46 ゲートウェイ・コンピュータ 47 アプリケーション・サーバ 48 データ・リポジトリ 50a、50b、50c 通信リンク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 グレゴリー・ボレラ アメリカ合衆国 ノース・カロライナ州 27705、ダーハム、ソルターラ ウエイ 100 (72)発明者 ピーター・エフ・ハガー アメリカ合衆国 ノース・カロライナ州 27606、ローリー、シストレトン レーン 5709 (72)発明者 ジェームズ・エイ・ミケルソン アメリカ合衆国 ノース・カロライナ州 27511、ケアリー、ドーシェスター パイ ンズ コート 111 (72)発明者 デイビッド・エム・ウエンド アメリカ合衆国 ノース・カロライナ州 27502、エイペックス、ウエイクハースト ドライブ 611 Fターム(参考) 5B098 GA04 GA08 GC05

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】タスク・スケジューリングを改良するコン
    ピュータ・プログラム製品であって、前記コンピュータ
    ・プログラム製品は少なくとも1つのコンピュータ読み
    取り可能な媒体に組み込まれており、 各タスクが付随するコストおよび付随する締切を有する
    複数のタスクの実行が可能であるか否かを計算するコン
    ピュータ読み取り可能なプログラム・コード手段と、 前記実行が可能であると計算された場合、各タスクにつ
    いて付随するコストに追加の時間を付加して、各タスク
    用に改定されたコストを算出するコンピュータ読み取り
    可能なプログラム・コード手段と、 前記実行がもはや可能でないと計算されるまで、前記計
    算するコンピュータ読み取り可能なプログラム・コード
    手段、および前記算出するコンピュータ読み取り可能な
    プログラム・コード手段の操作を反復的に繰り返すコン
    ピュータ読み取り可能なプログラム・コード手段と、 前記反復的に繰り返すコンピュータ読み取り可能なプロ
    グラム・コード手段の操作の後、前記改定されたコスト
    をタスクの実行時間の上限として使用するコンピュータ
    読み取り可能なプログラム・コード手段とを備えたコン
    ピュータ・プログラム製品。
  2. 【請求項2】前記追加の時間がタスクに付随するコスト
    の一定割合である、請求項1に記載のコンピュータ・プ
    ログラム製品。
  3. 【請求項3】前記追加の時間が、一部のタスクについて
    は零であると共に、残りのすべてのタスクについてはタ
    スクに付随するコストの一定割合である、請求項1に記
    載のコンピュータ・プログラム製品。
  4. 【請求項4】前記算出するコンピュータ読み取り可能な
    プログラム・コード手段の最初の試行では、追加の時間
    がタスクに付随するコストの一定割合であり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項1に記載のコンピュー
    タ・プログラム製品。
  5. 【請求項5】前記算出するコンピュータ読み取り可能な
    プログラム・コード手段の最初の試行では、一部のタス
    クについては追加の時間が零であると共に、残りのすべ
    てのタスクについてはタスクに付随するコストの一定割
    合であり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項1に記載のコンピュー
    タ・プログラム製品。
  6. 【請求項6】前記使用するコンピュータ読み取り可能な
    プログラム・コード手段が、 実行時に、タスク群のうちの特定のタスクがそれに付随
    するコストを超過しているか否かを判断するコンピュー
    タ読み取り可能なプログラム・コード手段と、 もしそうである場合、 (1)前記特定のタスクに付随する締切までの残存時
    間、または、(2)前記特定のタスクの実行時間の上
    限、のうちの最小のものに到達するまで、前記特定のタ
    スクが実行するのを許すコンピュータ読み取り可能なプ
    ログラム・コード手段とを備えている、請求項1に記載
    のコンピュータ・プログラム製品。
  7. 【請求項7】タスク・スケジューリングを改良するシス
    テムであって、 各タスクが付随するコストおよび付随する締切を有する
    複数のタスクの実行が可能であるか否かを計算する手段
    と、 前記実行が可能であると計算された場合、各タスクにつ
    いて付随するコストに追加の時間を付加して、各タスク
    用に改定されたコストを算出する手段と、 前記実行がもはや可能でないと計算されるまで、前記計
    算する手段および前記算出する手段の操作を反復的に繰
    り返す手段と備えたシステム。
  8. 【請求項8】 さらに、 前記反復的に繰り返す手段の操作の後、前記改定された
    コストをタスクの実行時間の上限として使用する手段を
    備えた、請求項7に記載のシステム。
  9. 【請求項9】前記追加の時間がタスクに付随するコスト
    の一定割合である、請求項7に記載のシステム。
  10. 【請求項10】前記追加の時間が、一部のタスクについ
    ては零であると共に、残りのすべてのタスクについては
    タスクに付随するコストの一定割合である、請求項7に
    記載のシステム。
  11. 【請求項11】前記算出する手段の最初の試行では、追
    加の時間がタスクに付随するコストの一定割合であり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項7に記載のシステム。
  12. 【請求項12】前記算出する手段の最初の試行では、一
    部のタスクについては追加の時間が零であると共に、残
    りのすべてのタスクについてはタスクに付随するコスト
    の一定割合であり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項7に記載のシステム。
  13. 【請求項13】前記使用する手段が、 実行時に、タスク群のうちの特定のタスクがそれに付随
    するコストを超過しているか否かを判断する手段と、 もしそうである場合、 (1)前記特定のタスクに付随する締切までの残存時
    間、または、(2)前記特定のタスクの実行時間の上
    限、のうちの最小のものに到達するまで、前記特定のタ
    スクが実行するのを許す手段とを備えている、請求項7
    に記載のシステム。
  14. 【請求項14】タスク・スケジューリングを改良する方
    法であって、 各タスクが付随するコストおよび付随する締切を有する
    複数のタスクの実行が可能であるか否かを計算するステ
    ップと、 前記実行が可能であると計算された場合、各タスクにつ
    いて付随するコストに追加の時間を付加して、各タスク
    用に改定されたコストを算出するステップと、 前記実行がもはや可能でないと計算されるまで、前記計
    算する手段および前記算出する手段の操作を反復的に繰
    り返すステップと備えた方法。
  15. 【請求項15】 さらに、 前記反復的に繰り返す手段の操作の後、前記改定された
    コストをタスクの実行時間の上限として使用するステッ
    プを備えた、請求項14に記載の方法。
  16. 【請求項16】前記追加の時間がタスクに付随するコス
    トの一定割合である、請求項14に記載の方法。
  17. 【請求項17】前記追加の時間が、一部のタスクについ
    ては零であると共に、残りのすべてのタスクについては
    タスクに付随するコストの一定割合である、請求項14
    に記載の方法。
  18. 【請求項18】前記算出するステップの最初の試行で
    は、追加の時間がタスクに付随するコストの一定割合で
    あり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項14に記載の方法。
  19. 【請求項19】前記算出するステップの最初の試行で
    は、一部のタスクについては追加の時間が零であると共
    に、残りのすべてのタスクについてはタスクに付随する
    コストの一定割合であり、 残りの試行では、追加の時間が各タスク用に改定された
    コストの一定割合である、請求項14に記載の方法。
  20. 【請求項20】前記使用するステップが、 実行時に、タスク群のうちの特定のタスクがそれに付随
    するコストを超過しているか否かを判断するステップ
    と、 もしそうである場合、 (1)前記特定のタスクに付随する締切までの残存時
    間、または、(2)前記特定のタスクの実行時間の上
    限、のうちの最小のものに到達するまで、前記特定のタ
    スクが実行するのを許すステップとを備えている、請求
    項14に記載の方法。
JP2002006022A 2001-02-13 2002-01-15 タスク・スケジューリングを改良する方法とシステム Expired - Fee Related JP3759040B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/782,780 US6957431B2 (en) 2001-02-13 2001-02-13 System for incrementally computing the maximum cost extension allowable for subsequent execution of each task using fixed percentage of the associated cost
US09/782780 2001-02-13

Publications (2)

Publication Number Publication Date
JP2002259144A true JP2002259144A (ja) 2002-09-13
JP3759040B2 JP3759040B2 (ja) 2006-03-22

Family

ID=25127161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002006022A Expired - Fee Related JP3759040B2 (ja) 2001-02-13 2002-01-15 タスク・スケジューリングを改良する方法とシステム

Country Status (2)

Country Link
US (1) US6957431B2 (ja)
JP (1) JP3759040B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472389B2 (en) * 2003-10-29 2008-12-30 Honeywell International Inc. Stochastically based thread budget overrun handling system and method
US7458077B2 (en) * 2004-03-31 2008-11-25 Intel Corporation System and method for dynamically adjusting a thread scheduling quantum value
US7941427B2 (en) * 2004-04-14 2011-05-10 International Business Machines Corporation Dynamically managing computer resources based on valuations of work items being processed
JP4410661B2 (ja) * 2004-11-09 2010-02-03 株式会社日立製作所 分散制御システム
JP2008527558A (ja) * 2005-01-13 2008-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タスクスケジューリングのデータ処理システム及び方法
US7613595B2 (en) * 2005-03-01 2009-11-03 The Math Works, Inc. Execution and real-time implementation of a temporary overrun scheduler
CA2538503C (en) * 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
US8387052B2 (en) * 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
US7921425B2 (en) * 2005-03-14 2011-04-05 Cisco Technology, Inc. Techniques for allocating computing resources to applications in an embedded system
US9361156B2 (en) 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US8245230B2 (en) * 2005-03-14 2012-08-14 Qnx Software Systems Limited Adaptive partitioning scheduler for multiprocessing system
US7630917B2 (en) * 2006-04-14 2009-12-08 At&T Intellectual Property Ii, L.P. Automatic learning for mapping spoken/text descriptions of products onto available products
WO2011102219A1 (ja) * 2010-02-19 2011-08-25 日本電気株式会社 リアルタイムシステム用マルチコア向けタスク配置最適化システム、その方法及びそのプログラム
US8930954B2 (en) * 2010-08-10 2015-01-06 International Business Machines Corporation Scheduling parallel data tasks
WO2012056609A1 (ja) * 2010-10-28 2012-05-03 日本電気株式会社 タスク配置最適化システム、タスク配置最適化方法、及びタスク配置最適化プログラムが格納された非一時的なコンピュータ可読媒体
WO2013094156A1 (ja) * 2011-12-19 2013-06-27 日本電気株式会社 タスク配置最適化システム、タスク配置最適化方法、及びタスク配置最適化プログラム
FR2990782B1 (fr) 2012-05-15 2015-06-26 Sagem Defense Securite Procede de gestion d'une execution de taches dans un systeme informatique
US9632830B1 (en) * 2015-08-06 2017-04-25 Rockwell Collins, Inc. Cache retention analysis system and method
CN106095562A (zh) * 2016-08-23 2016-11-09 北京云纵信息技术有限公司 任务调度管理的方法和装置
US10552215B1 (en) * 2017-08-05 2020-02-04 Jia Xu System and method of handling real-time process overruns on a multiprocessor
US11042404B2 (en) 2018-03-16 2021-06-22 Imam Abdulrahman Bin Faisal University Real-time feasibility systems and methods

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325525A (en) * 1991-04-04 1994-06-28 Hewlett-Packard Company Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems
US5640563A (en) 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
US5408663A (en) * 1993-11-05 1995-04-18 Adrem Technologies, Inc. Resource allocation methods
US6141412A (en) * 1994-06-01 2000-10-31 Davox Corporation Unscheduled event task processing system
EP0938714B2 (en) * 1996-11-22 2006-10-04 @Road, Ltd Resource allocation
US6335922B1 (en) * 1997-02-11 2002-01-01 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6117180A (en) * 1997-02-24 2000-09-12 Lucent Technologies Inc. Hardware-software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance
US6601035B1 (en) * 1997-07-10 2003-07-29 At&T Corp. Methods for dynamically predicting workflow completion times and workflow escalations
JPH11184717A (ja) 1997-12-22 1999-07-09 Toshiba Corp スケジューリング解析装置及び方法並びにスケジューリング解析用ソフトウェアを記録した記録媒体
US6430593B1 (en) * 1998-03-10 2002-08-06 Motorola Inc. Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
US6321133B1 (en) * 1998-12-04 2001-11-20 Impresse Corporation Method and apparatus for order promising
US6502062B1 (en) * 1999-06-21 2002-12-31 Lucent Technologies Inc. System and method for scheduling data delivery using flow and stretch algorithms
US6687257B1 (en) * 1999-08-12 2004-02-03 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
US6463457B1 (en) * 1999-08-26 2002-10-08 Parabon Computation, Inc. System and method for the establishment and the utilization of networked idle computational processing power
US6711129B1 (en) * 1999-10-26 2004-03-23 Avaya Technology Corp. Real-time admission control
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
US6965562B2 (en) * 2000-12-14 2005-11-15 Nokia Networks System and method for managing a network to sustain the quality of voice over internet protocol communications

Also Published As

Publication number Publication date
JP3759040B2 (ja) 2006-03-22
US6957431B2 (en) 2005-10-18
US20020138542A1 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
JP2002259144A (ja) タスク・スケジューリングを改良する方法とシステム
US10659316B1 (en) State machine controlled dynamic distributed computing
García et al. Optimized priority assignment for tasks and messages in distributed hard real-time systems
Palencia et al. Schedulability analysis for tasks with static and dynamic offsets
Audsley et al. Applying new scheduling theory to static priority pre-emptive scheduling
Gutiérrez et al. On the schedulability analysis for distributed hard real-time systems
Buttazzo et al. Limited preemptive scheduling for real-time systems. a survey
Gutiérrez et al. Best-case analysis for improving the worst-case schedulability test for distributed hard real-time systems
Chetto et al. Dynamic scheduling of real-time tasks under precedence constraints
US20150347186A1 (en) Method and system for scheduling repetitive tasks in o(1)
Rivas et al. Schedulability analysis and optimization of heterogeneous EDF and FP distributed real-time systems
CN105808346B (zh) 一种任务调度方法与装置
Naghibzadeh A modified version of rate-monotonic scheduling algorithm and its' efficiency assessment
Pop et al. Performance estimation for embedded systems with data and control dependencies
Rahni et al. Feasibility analysis of real-time transactions
CN112507347B (zh) 面向分布式密码破解框架的破解作业描述信息生成方法
Rivas et al. Optimized Deadline Assignment and Schedulability Analysis for Distributed Real-Time Systems with Local EDF Scheduling.
Gutiérrez García et al. Prioritizing remote procedure calls in Ada distributed systems
Lee et al. JMC: Jitter-Based Mixed-Criticality Scheduling for Distributed Real-Time Systems
Jonsson A robust adaptive metric for deadline assignment in heterogeneous distributed real-time systems
Medina et al. Modeling and schedulability analysis of hard real-time distributed systems based on Ada components
Marcos et al. Basic Environment for Real Time Systems Analysis using CAN bus
Sharifi et al. A mathematical approach to reduce the mean number of waiting tasks in wireless sensor actor networks
Di Natale et al. Schedulability analysis with UML
Rivas et al. Optimized deadline assignment for tasks and messages in distributed real-time systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050826

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050826

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051220

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090113

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140113

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees