JPH08212084A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH08212084A
JPH08212084A JP7015975A JP1597595A JPH08212084A JP H08212084 A JPH08212084 A JP H08212084A JP 7015975 A JP7015975 A JP 7015975A JP 1597595 A JP1597595 A JP 1597595A JP H08212084 A JPH08212084 A JP H08212084A
Authority
JP
Japan
Prior art keywords
execution
task
time
program
program module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7015975A
Other languages
English (en)
Inventor
Hiroyuki Satake
弘之 佐竹
Yoshinori Endo
芳則 遠藤
Toshio Fujiwara
敏雄 藤原
Hiroshi Shojima
正嶋  博
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7015975A priority Critical patent/JPH08212084A/ja
Publication of JPH08212084A publication Critical patent/JPH08212084A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】リアルタイム性を有するタスク処理を行なう装
置を提供すること。 【構成】実行時間が異なるタスクを複数種類備えたタス
ク群と、与えられた指示内容に対応するタスク群内のタ
スクを選択する実行制御手段と、与えられたタスクの実
行を行なうプロセッサと、プロセッサによるタスクの実
行状況を判断し、新たなタスクに許容可能な実行可能時
間を実行制御手段に通知する実行管理手段とを備える。
実行制御手段は、実行可能時間が、与えられた指示内容
を実行するタスクとして、予め定められているタスク
の、実行時間以内であるときには、当該タスクをプロセ
ッサに与え、逆に、実行可能時間が、与えられた指示内
容を実行するタスクとして、予め定められているタスク
の、実行時間を越えるときには、当該タスクが存在する
タスク群内に備えられたタスクのいずれかを、予め定め
た規則に従って選択し、プロセッサに与える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】複数のタスクに対する処理を実行
する情報処理装置、特に、処理にリアルタイム性が要求
される処理を行ない、プロセッサの処理能力や負荷量の
変動に影響されない応答性を確保する情報処理装置に関
する。
【0002】
【従来の技術】実行する処理にリアルタイム性が要求さ
れる情報処理装置においては、通常「タスク」と称され
る実行単位によって、プログラムの実行が行なわれる。
そして、各タスクに対しては、その実行期限(デッドラ
イン)等の時間的な制約条件が課せられている。
【0003】例えば、10ミリ秒のサイクルで、予め配
置しているセンサーからの出力信号を受け取り、この出
力信号を用いて予め定めた処理を行なう情報処理装置を
想定した場合、この装置におけるタスクは、ある時点で
センサーからの出力信号を受信してから、次に、センサ
ーからの出力信号を受信するまでの間、即ち、10ミリ
秒の間に、出力信号を用いた前記処理を完了していなけ
ればならない。
【0004】このような時間的な制約条件は、個々のタ
スクに対して課されており、全てのタスクに課されてい
る時間的な制約条件を満たすように処理が実行されなけ
ればならない。
【0005】一般に、タスクに対する処理時間は、待ち
時間と実行時間を有して構成されており、タスクに対す
る処理が、定められた処理時間内に完了されるようにす
るには、待ち時間を調整する手法や、実行時間を短縮す
る手法等が提案されている。
【0006】前者、即ち、待ち時間を調整する手法とし
ては、例えば、タスクに付与する優先順位を操作するこ
とによって行なわれ、タスクの実行に係るスケジューリ
ングの問題として、一般に知られている。
【0007】タスクに付与される優先順位を高めれば、
より早く、タスクの実行を開始することが可能となり、
実行を開始するまでの待ち時間が短縮されることにな
る。しかしながら、このようなことを行なうことによっ
て、他のタスクの待ち時間が、相対的に増加することに
なり、その結果、時間的な制約条件が守れないタスクが
発生してしまう場合がある。これに対して、従来のスケ
ジューリング手法では、可能な限り多くのタスクについ
て、タスクに課された時間的な制約条件を満足させるよ
うに、各タスクに対する優先順位を決定、付与し、事前
に、スケジューリングが可能か否かの判定を行なう。こ
こで、計算機の負荷を考慮しながら、弾力的にスケジュ
ーリングを行なう場合、スケジュールが行なえないと判
定されたタスクを、いかに取り扱うかが問題となる。
【0008】そこで、後者、即ち、実行時間を短縮する
手法によって、時間的な制約条件を満足させるように処
理を完了させる手法が提案されている。
【0009】例えば、「アルゴリズム・フォ・スケジュ
ーリング・インプリサイズ・コンピューティング(IEEE
COMPUTER May.1991)」等の文献に記載しているよう
に、処理の途中の処理結果を利用することによって、タ
スクの実行時間を調整して、時間的な制約条件を満たす
ようにする手法が提案されている。
【0010】この手法によれば、1つのタスクについ
て、必ず時間的な制約条件を満たして実行しなければな
らない部分と、任意の時間に実行することが許容される
部分とに分割し、処理の途中結果を利用可能な手段を備
えている。そして、まず、必ず時間的な制約条件を満た
して実行しなければならない部分について、スケジュー
リングし、次に、情報処理装置の、その時点での負荷に
応じて、任意の時間に実行することが許容される部分
(任意部分)をスケジューリングする。
【0011】このような手法を採用することによって、
処理負荷が増加した場合や、情報処理装置の処理能力が
低い場合等には、任意部分を可能な限り実行し、たとえ
実行の途中であっても、その処理を終了させた後、その
処理の途中結果を格納しておく。もちろん、処理負荷が
少ない場合や、情報処理装置の処理能力に余裕がある場
合等には、任意部分は全て実行され、本来要求されてい
る最終的な処理結果が得られる。このように、任意部分
の実行時間を調整することによって、処理負荷の増減の
推移や、情報処理装置の処理能力の違いを吸収し、定め
られた制限時間内に、要求される処理に対する処理結果
を得ることができる。
【0012】
【発明が解決しようとする課題】ところで、上述したよ
うな従来技術においては、プログラムを、必ず実行する
部分(必須部分)と、任意に実行可能な部分(任意部
分)とに分割し、計算の途中結果を出力しながら、プロ
グラム全体の実行を行なっていく必要があった。
【0013】このため、プログラム中に、実行中の途中
結果を逐次保存するためのもモジュールを備える必要が
あり、また、プログラムを、必須部分と任意部分とに分
割することを考慮して作成する必要もあり、プログラム
作成上、考慮すべき事項が多数存在し、容易にプログラ
ム作成を行なうことができないという問題があった。
【0014】特に、必須部分と任意部分とを分割するこ
とが、作成上困難であるプログラムや、途中で処理の中
断が行なえないプログラムにおいては、従来技術の適用
が困難である。
【0015】本発明の目的は、必須部分と任意部分との
プログラム分割や、途中結果の逐次保存を考慮する必要
がなく、許容される実行時間内に実行可能なタスクを適
宜選択可能とし、プログラムに課せられた時間的制約問
題を解決する。
【0016】また、従来技術においては、プログラム実
行にかかる処理精度、および、応答の質(処理結果の
質)を調整するための、明確かつ使用容易である、有効
な手段は存在していなかった。したがって、前記処理精
度を調整し、プログラムに課せられた時間的制約問題を
解決する(一般に、処理精度を犠牲にすれば、プログラ
ム実行に要する時間は低減される)ことができなかっ
た。本発明にかかる装置は、処理精度を調整し、プログ
ラムに課せられた時間的制約問題を解決する機能も有す
る。
【0017】
【課題を解決するための手段】上記課題を解決するため
に、以下の手段が考えられる。
【0018】すなわち、与えられた指示に応じ、該指示
内容を実現するタスクの実行を行なう情報処理装置であ
って、実行時間が異なるタスクを複数種類備えたタスク
群と、与えられた指示内容を実行するために、該指示内
容に対応するタスク群内のタスクを選択する実行制御手
段と、与えられたタスクの実行を行なうプロセッサと、
プロセッサが実行しているタスクの実行状況を判断し、
新たなタスクに許容することが可能な実行可能時間を前
記実行制御手段に通知する実行管理手段とを備える。
【0019】そして、前記実行制御手段は、通知された
実行可能時間が、与えられた指示内容を実行するタスク
として、予め定められているタスクの、実行時間以内で
あるときには、当該タスクを前記プロセッサに与え、逆
に、通知された実行可能時間が、与えられた指示内容を
実行するタスクとして、予め定められているタスクの、
実行時間を越えるときには、当該タスクが存在するタス
ク群内に備えられたタスクのいずれかを、予め定めた規
則に従って、選択し、前記プロセッサに与える装置であ
る。
【0020】
【作用】タスク群には、実行時間が異なるタスクを複数
種類備えておく。タスク群を備えたモジュール部を、1
種類以上設けておくことも考えられる。
【0021】実行管理手段は、プロセッサが実行してい
るタスクの実行状況を判断し、新たなタスクに許容する
ことが可能な実行可能時間を実行制御手段に通知する。
【0022】実行制御手段は、通知された実行可能時間
に基づいて、与えられた指示内容を実行するために、該
指示内容に対応するタスク群内のタスクを選択する。
【0023】すなわち、実行制御手段は、通知された実
行可能時間が、与えられた指示内容を実行するタスクと
して、予め定められているタスクの、実行時間以内であ
るときには、当該タスクをプロセッサに与える。一方、
通知された実行可能時間が、与えられた指示内容を実行
するタスクとして、予め定められているタスクの、実行
時間を越えるときには、当該タスクが存在するタスク群
内に備えられたタスクのいずれかを、予め定めた規則に
従って、選択し、プロセッサに与える。
【0024】そして、プロセッサは、与えられたタスク
の実行を行なう。
【0025】このように、一度実行段階に移されたタス
クは、途中で強制的に終了されることがなく、最後まで
実行されることになる。従って、実行中の途中結果を逐
次保存しておく必要や、前記任意部分を抽出する必要も
なくなる。
【0026】
【実施例】以下、本発明にかかる実施例を図面を参照し
つつ説明する。
【0027】図1は、本発明にかかる情報処理装置の一
構成例を示す構成図である。
【0028】本実施例にかかる情報処理装置1は、記憶
装置2と、プロセッサ3と、外部装置との間でデータを
入出力する機能を有するI/O装置31を有して構成さ
れており、各構成要素は、インタフェースを表す線4に
よって接続されている。
【0029】I/O装置31には、入力装置36、出力
装置37が、それぞれ、接続線33、34によって接続
されている。ここで、入力装置36は、例えば、キーボ
ード、マウス、ボタン、スイッチ等によって実現され
る。
【0030】また、センサー35が、接続線32によっ
て、I/O装置31に接続されている。
【0031】このセンサー35は、ある物理量に対応す
る外部信号(例えば、温度等)を検出し、検出量に対応
した検出信号をI/O装置31に送る機能を有する。
【0032】本実施例において、出力装置37が、I/
O装置31から送られる信号に対応して、外部に対して
予め定めた動作を行なう動力装置である場合、外部信号
をセンサー35が検出し、I/O装置31を介して得ら
れた検出信号に対して、本情報処理装置1が、予め定め
た処理を行ない、この処理結果を出力して、出力装置3
7である動力装置に送信することによって、出力装置3
7が、外部に対し適切な動作を行なわせるシステムであ
る。
【0033】また、出力装置37が、CRT、液晶ディ
スプレイ等の表示端末装置である場合には、本情報処置
装置は、ユーザーに対し、情報処置装置が処理した情報
の提供するシステムとして機能する。
【0034】さらにまた、キーボード等で入力装置36
を構成し、CRT等で出力装置37を構成することによ
って、ユーザが、入力装置36、出力装置37を使用し
て、情報処理装置1中に設定すべき各種のプログラムの
設定操作や、プログラム実行に係わる種々のパラメータ
の登録操作や参照操作を行なうことができる。
【0035】記憶装置2内には、アプリケーションモジ
ュール5、実行制御モジュ−ル8、および、実行管理モ
ジュール6が常駐しており、これらのモジュールは、プ
ログラム間のインターフェイスを表す接続線4を介して
プロセッサ3に送られ、プロセッサ3によって実行され
る。
【0036】アプリケーションモジュール5は、各種情
報処理のための手続きやデータを含むモジュールであ
り、1個のメインモジュ-ル9と、複数のプログラムモ
ジュール10とを有して構成されている。
【0037】さらに、プログラムモジュール集合10を
構成する各プログラムモジュールは、複数の「要素プロ
グラム」を有して構成されている。
【0038】例えば、図1に示す通り、プログラムモジ
ュールA10-1は、同一カテゴリに属する、「Task_A1 (3
0)」、「Task_A2 (31)」、…、「Task_An (32)」の、n
個の要素プログラムを有して構成されており、各要素プ
ログラムは、実行に要する時間が異なる。したがって、
時間的制約条件を参照して、プログラムモジュールA10
-1から、最も適切な要素プログラムが選択される。同様
に、プログラムモジュール10-2、プログラムモジュール
10-23等も、同一の機能を有するが処理精度、処理時間
が異なる要素プログラムを複数有している。
【0039】なお、前記同一カテゴリに属するとは、同
一の機能を有することを意味し、例えば、円形状を描画
するという機能であれば、「Task_A1 (30)」、「Task_A
2 (31)」、…、「Task_An (32)」の、n個の各要素プロ
グラムは、その実行により円形状を描画する。もちろ
ん、円形状の描画精度、描画に要する時間は、要素プロ
グラム毎に異なっている。
【0040】あるいは、後に、図2(a)等を参照して
説明するが、地図を描くという同一の機能を有するが、
描く対象である地図の内容が異なる要素プログラムを複
数有してプログラムモジュールを構成する場合も考えら
れる。
【0041】この場合、例えば、ある要素プログラム
は、主要な道路のみを描画する処理を行ない、また他の
要素プログラムが、主要な道路の近傍に配置する主要な
建造物を描画する処理を行なうようにしておくような態
様が考えられる。
【0042】この場合、許容時間を参照して、可能な限
り各要素プログラムを実行し、完成した地図(例えば、
全ての要素プログラムが実行されたときに、地図の描画
が完成する)を描画するように、要素プログラムを実行
していく方法が考えられる。
【0043】なお、あるプログラムモジュールを実行す
ることは、当該プログラムモジュールを構成する、いづ
れかの要素プログラムを実行することになるため、プロ
グラムモジュールによる処理精度と、実行に必要な時間
は、要素プログラムの選択の仕方により異なるものとな
る。
【0044】図2(a)、(b)、(c)は、プログラ
ムモジュールの処理精度と、必要計算時間(処理時間)
との関係を説明する図面である。
【0045】図2(a)は、地図を描画する機能を有す
る、あるプログラムモジュ−ルについて、当該プログラ
ムモジュ−ルを構成する各要素プログラムと、その必要
計算時間との関係を示した説明図である。
【0046】本図を参照して分かるように、地図描画プ
ログラムモジュール200は、主要幹線道路および鉄道
を描画する要素プログラムHA202、県道および市道
を描画する要素プログラムHB203、および、建物、
公共施設等を描画する要素プログラムHC204とを有
して構成されており、各要素プログラムの名称と必要計
算時間とを対応付けて記載している。
【0047】図2(b)に示す地図Aは、地図描画プロ
グラムモジュール200の要素プログラムHA202の
みを実行させて得られた描画結果であり、描画に必要な
計算時間は、「30」である。一方、図2(c)に示す
地図Bは、地図描画プログラムモジュール200の要素
プログラムHA202を実行させ、さらに、要素プログ
ラムHB203および要素プログラムHC204を実行
させて描画させたものであり、描画に必要な計算時間
は、各要素モジュールの必要計算時間を合計した値、即
ち「75」となる。
【0048】このように、実行される要素プログラムの
数が増加すれば、地図の描画精度は向上されるが、それ
だけ計算時間も増加してしまうことになる。
【0049】また、図2(d)は、円を描画するプログ
ラムモジュール210において、円を描画する際の近似
点のとり方によって変わる、必要な計算時間を示した説
明図である。
【0050】図2(d)において、円を描画する際の近
似点のとり方は、処理精度設定値214によって定ま
る。ここで、処理精度設定値214は、円を描画する際
に、近似に用いる多角形の頂点の総数を表す。また、描
画に必要な計算時間215は、処理精度設定値214が
「8」の時に、必要な計算時間を「1」として、相対的
な数値で示している。このプログラムモジュ−ルは、そ
の引き数として処理精度設定値214を受け取り、その
値に応じた精度の円を描くものである。
【0051】例えば、処理精度設定値214を「8」と
すれば、図2(e)に示すように、8点からなる多角形
で近似した円が描画される。
【0052】一方、処理精度設定値214を「16」と
すれば、図2(f)に示すように、16点からなる多角
形で近似した円が描画される。しかしながら、処理精
度、すなわち、円として描画される精度が向上した分だ
け、描画処理量が増加するので、要素プログラムの実行
時間が相対的に増加する。
【0053】図2(d)に記載されている相対必要計算
時間215を参照すれば分かるように、同一半径の円を
描く場合、処理精度設定値214が「8」の場合に相対
必要計算時間212が「1」であることに比べて、処理
精度設定値214が「16」の場合には、円を描くのに
2倍の計算時間が必要となり、相対必要計算時間213
が「2」となる。
【0054】このように、時間的制約条件が設けられて
いる、即ち、円を描写する処理に時間的制限が課せられ
ている場合、図2(d)に記載してある、処理精度設定
値214と相対必要計算時間215の関係を考慮して円
を描画すれば、定められた制約時間内において描画可能
な最も精度の良い円を描けることになる。
【0055】以上のように、同様なカテゴリー内の複数
の要素プログラムを、一つのプログラムモジュールを構
成するようにグループ化し、各要素プログラムに対して
定められている必要計算時間を把握しておれば、プログ
ラムモジュール処理に必要な必要計算時間を、いづれか
の要素プログラムを選択することによって調整すること
が可能になる。もちろん、複数の要素プログラムを実行
する場合には、プログラムモジュール処理に必要な必要
計算時間の総計を、複数の要素プログラムの選択の仕方
によって調整することが可能になる。
【0056】したがって、時々刻々変化するプロセッサ
の負荷や、プロセッサ固有の処理能力を考慮して、適切
に、要素プログラムを選択すれば、定められた時間内
に、所望の処理を完了させることができる。プログラム
モジュールの総必要計算時間を処理精度設定値により調
整する場合と同様の効果が得られる。
【0057】なお、図1に示す記憶装置2に常駐する実
行制御モジュール8が、このプロセッサの負荷や、プロ
セッサ固有の処理能力を考慮して、適切に、要素プログ
ラム(または処理精度設定値)を選択する機能を有す
る。
【0058】実行制御モジュール8は、インタフェース
を表現する線7によって、アプリケーションモジュール
5と接続されており、アプリケーションモジュール5か
らのプログラムモジュール起動要求を受けとって、プロ
セッサの負荷やプロセッサ固有の処理能力を考慮して、
そのプログラムモジュールを構成する要素プログラム
を、少なくとも1個選択する。
【0059】また、実行制御モジュール8は、インタフ
ェースを表現する線11によって、実行管理モジュール
6と接続されており、実行管理モジュール6に対し、起
動要求されたプログラムモジュールに対するスケジュー
ル要求を発行することで、スケジュールに関する情報を
得て、現在のプロセッサの負荷状況等を考慮した実行可
能時間を把握することができる。
【0060】実行制御モジュール8は、この実行可能時
間を参照し、プロセッサの負荷やプロセッサ固有の処理
能力を考慮して、要素プログラムを選択することが可能
になる。
【0061】実行制御モジュール8は、実行制御部20
と、スケジュールテーブル21と、実行ルールテーブル
23と、実行情報テーブル24とを有して構成され、さ
らに、実行制御部20と、各テーブル21、23、24
とは、インタフェースを表現する線26によって接続さ
れる。
【0062】実行情報テーブル24には、各プログラム
モジュール毎に、課せられた時間的制約条件、および、
プログラムモジュールを構成する各要素プログラムにつ
いての情報が記録されている。
【0063】ここで、プログラムモジュールに課せれる
時間的制約条件について、図3(a)を参照して説明す
る。
【0064】図1において、アプリケーションモジュー
ル5が備える、メインモジュール9内、または、各プロ
グラムモジュール(10-1、10-2、…、10-3)内から、実
行制御モジュール8に対して、任意のプログラムモジュ
ールの起動を要求する起動要求が発行される。
【0065】このときの時刻を、図3(a)に示す時間
軸1における、起動要求時刻Trとする。
【0066】しかしながら、起動要求時刻Trは、実際に
プロセッサ3上で処理が開始される時刻とは異なる。
【0067】したがって、この時の時刻を、図3(a)
に示す時間軸1における、実行開始時刻Tsとし、実際に
処理が終了する時刻を、実行終了時刻Terとする。ま
た、プログラムモジュールの実行に、時間的な期限が課
されている場合、その時刻を図3(a)に示す時間軸1
における、完了期限時刻Teとする。
【0068】プログラムモジュールの実行に必要な時間
は、モジュールを構成する要素プログラムの必要計算時
間の合計値で表され、これを図3(a)に示す時間軸1
における、総必要計算時間Tcと称することにする。
【0069】一方、図3(a)に示す時間軸2におい
て、プログラムモジュールの実行終了時刻Terが、完了
期限時刻Teを超えてしまう場合、このプログラムモジュ
ールを、オーバランタスクと称し、この時の経過時間
を、オーバラン時間Toとする。
【0070】さて、前述のように、実行情報テーブル2
4には、プログラムモジュールに課せられた時間的制約
条件およびプログラムモジュールを構成する要素モジュ
ールに関する各種の情報が記録されているが、そのデー
タ構成の一例を図3(b)に示す。
【0071】図3(b)において、実行情報テーブル
は、プログラムモジュールを識別するための識別子24
0、本プログラムモジュールの実行開始時刻Ts241、
本プログラムモジュールの完了期限時刻Te242、本プ
ログラムモジュールの総必要計算時間Tc243、他プロ
グラムモジュールとの相対的優先順位を表す優先度Pr2
44、および、要素プログラム情報245が格納されて
いる。
【0072】さらに、要素プログラム情報245は、要
素モジュールに関する各種の情報であり、プログラムモ
ジュールを構成し、登録されている要素プログラムを識
別するための要素プログラム識別子246、各要素プロ
グラムの格納場所を示すアドレス情報247、および、
各要素プログラムの実行に必要な必要計算時間246の
情報を有して構成されている。
【0073】図3(b)に示された、各種データの初期
設定、参照、更新等は、図1に示した入力装置36およ
び出力装置37の、ユーザによる操作によって行なわれ
る。
【0074】図3(b)に示す実行情報テーブルは、図
2に示すような、一つのプログラムモジュールの処理
を、複数の要素プログラムの処理に分割し、個々の要素
プログラムの必要計算時間の合計値が、プログラムモジ
ュールの総必要計算時間Tcとなっている場合に使用す
るテーブルである。
【0075】一方、図2(d)等の例では、処理精度設
定値が、プログラムモジュールの総必要計算時間Tcを
決定していた。この場合の実行情報テーブルの例を図3
(c)に示す。
【0076】図3(c)は、図2(d)等における円描
画プログラムモジュールを扱った場合の実行情報テーブ
ル24のデータ構成を示したものである。
【0077】図3(c)に示したデータ構成は、アドレ
ス情報250が新たに加えられたこと、および、要素プ
ログラム情報245の代わりに処理精度情報251が設
定された点を除けば、図3(b)のテーブルと同じデー
タ構成を有する。
【0078】図3(c)中、アドレス情報250は、プ
ログラムモジュールのプログラムが格納されている格納
先を示す、また、処理精度情報251は、処理精度設定
値252と必要計算時間253との関係を示したデータ
テーブルである。この処理精度情報251に基づいて、
時間的制約条件を考慮して、最適な処理精度設定値が、
実行制御部20によって選択される。
【0079】なお、処理精度情報251の一例として、
レベル1からレベル8までの処理精度を設定しており、
例えば、レベル8からレベル1に向かって、処理精度が
厳しくなるように設定されている。
【0080】さて、スケジュールテーブル21は、その
記録データが、スケジュール要求時に実行管理モジュー
ル6に渡されるテーブルであり、スケジュールしようと
するプログラムモジュールの時間的制約条件をはじめ、
プログラムモジュールを構成する要素プログラムの情報
が格納されている。
【0081】この格納処理は、実行制御部20により、
該当するプログラムモジュールに対する実行情報テーブ
ルの内容に基づいて行なわれる。図4(c)に、スケジ
ュールテーブル21におけるデータ構成を示す。
【0082】図4(c)において、スケジュールテーブ
ルに格納されるデータであるスケジュールデータ275
は、スケジュールしようとするプログラムモジュールの
要素プログラムを特定するための要素プログラムテーブ
ル276、実行開始時刻Ts278、完了期限時刻Te27
9、総必要計算時間Tc280、優先度Pr281、およ
び、実行可能時間Runable_Time282の各情報を有して
構成されている。
【0083】さらに、要素プログラムテーブル276に
は、登録される要素プログラムの識別子274および要
素プログラムが格納されるアドレス277が、プログラ
ムモジュールを構成する、各要素プログラム毎に格納さ
れる。
【0084】実行ルールテーブル21は、アプリケーシ
ョンモジュール5中の各プログラムモジュールに対して
設けられており、プロセッサの負荷状況等に応じた、プ
ログラムモジュールからの、要素プログラムの選択方法
を記述したデーブルであり、後に説明する実行制御部2
0は、かかる記述を解釈し、解釈した選択方法にしたが
った動作を行なう。
【0085】図4(a)は、実行ルールテーブル21の
一例を示したものである。
【0086】図4(a)において、実行ルールテーブル
は、いづれのプログラムモジュールの実行規則を記した
ものかを示す識別子の格納部260と、プログラムモジ
ュールの実行規則の情報が格納されているルール部26
1とを有して構成される。
【0087】本実行規則は、例えば、「IF−THEN−EL
SE形式」のルール設定で表現され、図4に、本実行規則
を記述するために必要な記号を示す。以下、図4(b)
を参照して、各記号の意味を説明する。
【0088】図4(b)中、「IF(A)THEN (B) EL
SE (C)」(262)は、「Aが真、もしくは、Aの試みが
成功した場合はBを行ない」、「Aが偽、もしくは、A
の試みが失敗の場合はCを実行する」という規則を意味
する。
【0089】次に、「_SCHED」(263)は、プログラム
モジュールのスケジュール要求を、実行管理モジュール
6に対して発行することを意味する。
【0090】実行制御部20が、この規則にしたがって
処理を実行する場合、実行管理モジュール6には、スケ
ジュールテーブル21に設定された情報が渡される。ま
た、後に説明する実行管理モジュール6は、この要求に
対し、「スケジュール可能」であるならば「可能である
旨」を通知し、「スケジュール不可能」であるならば、
現在スケジュール可能である計算時間(この時間内であ
れば、新たな要素プログラムをスケジューリングするこ
とが可能である)を、スケジュールテーブル21中の実
行可能時間の欄282に格納する。
【0091】このスケジュール結果、すなわち、スケジ
ューリング成功、または、スケジューリング失敗したこ
とは、「IF−THEN−ELSEルール」に反映される。即
ち、スケジュール結果を用いて、「IF−THEN−ELSEル
ール」が適用される。
【0092】次に、「_CHNG(X,Y)」(264)は、引数
である「X」に、Ts、Te、Prのいずれかが設定されるこ
とにより、スケジュールテーブル21において、Xで示
す記号の値を「Y」なる値に変更することを意味する。
【0093】次に、「_DEL(Z)」(265)は、引数であ
る「Z」に、要素プログラム識別子を設定すると、スケ
ジュールテーブル21が備える、プログラム要素テーブ
ル276から、「Z」で示された要素プログラムを削除
し、総必要計算時間Tcを、スケジュールテーブル21の
総必要計算時間Tcから削除する要素プログラムの必要計
算時間を差し引いた値に変更することを意味する。
【0094】次に「_MSSG_ERROR」(266)は、図1の出
力装置37、または、プログラムモジュールの起動要求
を発行したプログラムモジュールに対して、スケジュー
ルが失敗したことを通知することを意味する。また、
「_START」(267)は、実行ルールの開始を意味し、「_
END(268)」は、実行ルールの終了を意味する。また、
記号Tc(269)、Te(270)、Runable_Time(27
2)は、それぞれ、スケジュールテーブル21中の必要
計算時間Tc280、完了期限時刻Te279、実行可能時
間Runable_Time282を意味する。
【0095】記号 Tee(271)は、図1に示すセンサー
35やアプリケーションモジュール5中の、あるモジュ
ールにより動的に設定された、プログラムモジュールの
完了期限時刻の値を意味する。
【0096】次に、図4(a)に示す実行ルールテーブ
ルが備えるルール部261の記述内容を、実行制御部2
0が、どのように解釈して、動作を行なうかについて説
明する。
【0097】図4(a)に示す実行ルールテーブルのル
ール部261において、1行目(1)の「_START」は、
ルールの始まりを意味し、実行制御部20は、ルールの
記述がここから始まることを把握する。
【0098】2行目(2)から、12行目(12)まで
は、「IF-THEN-ELSE」を用いた記述である。
【0099】実行制御部20は、まず、2行目(2)の
IF記号のカッコ内を解釈し、その結果、「真もしくは成
功」ならば、3行目(3)に示すTHEN以下の処理を行な
い、「偽もしくは失敗」ならば、4行目(4)から12
行目(12)にわたる、ELSE以下のルールに従った処理
を行なう。
【0100】そこで、実行制御部20は、2行目(2)
のIF記号のカッコ内の「_SCHED」記号にしたがって、実
行管理モジュール6に対し、スケジュール要求を発行す
る。そして、この結果、仮に、スケジュールが成功すれ
ば、3行目(3)THEN 以下の「_END」記号により、実
行規則にしたがった処理は終了する。逆に、失敗すれ
ば、実行制御部20は、4行目(4)のELSE 以下のル
ールに従った処理を行なう。
【0101】4行目(4)に記述された「ELSE 」以下
では、まず、実行制御部20は、「_DEL(TaskA1)」によ
り、スケジュールテーブル275中のプログラム要素テ
ーブル276から、TaskA1の要素プログラムを削除し、
スケジュールテーブル275の総必要計算時間Tc280
から、要素プログラムTaskA1の必要計算時間を削除す
る。
【0102】要素プログラムTaskA1の必要計算時間は、
プログラムモジュールA1の実行情報テーブルを参照す
ることによって得られる。
【0103】次に、5行目(5)からの、IF以下のルー
ルの解釈に移り、実行制御部20は、「Runable_Time」
がTcより大であるか否かを判定する。仮に、真であると
分かれば、6行目のTHEN 以下のルールにしたがった実
行を行なう。THEN以下では、「_SCHED」により、実行管
理モジュール6に対し、スケジュール要求を発行する。
【0104】次に、7行目(7)の「_END」により実行
制御部20は、実行規則にしたがった処理を終了する。
5行目(5)の判定が偽ならば、実行制御部20は、8
行目(8)のELSE以下のルールにしたがった処理を実行
する。
【0105】ELSE以下では、「_CHNG(Te, Tee)」によ
り、実行制御部20は、スケジュールテーブル275の
完了期限時刻Te279の値をTeeに変更する。
【0106】次に、9行目(9)で「_SCHED」により、
実行制御部20は、実行管理モジュール6に対し、スケ
ジュール要求を発行する。この要求に対して、スケジュ
ーリングが成功すれば、10行目(10)の「_END」によ
り、実行制御部20は、実行規則にしたがった処理を終
了する。
【0107】また、スケジューリングが失敗すれば、1
1行目(11)のELSE以下が実行される。
【0108】ELSE以下では、「_MSSGE_ERROR」により、
実行制御部20は、出力装置37またはプログラムモジ
ュールの起動要求を発行したプログラムモジュールに対
して、スケジューリングが失敗したことを通知する。次
に、12行目(12)の解釈に移り、実行制御部20
は、「_END」により、実行規則にしたがった処理を終了
する。
【0109】以上のように、実行ルールを設定し、これ
を実行制御部20により解釈し、解釈にしたがって動作
させることにより、その時々のスケジュール結果に基づ
き、プログラムモジュールのどの要素プログラムを削除
させ、処理精度を調整するかを、ユーザが設定できるこ
とになる。また、完了期限時刻Teが、動的に変更される
場合でも、これに対応して、登録された要素プログラム
を動的に削除することにより、変更された完了期限時刻
内に処理を完了させることが可能になる。
【0110】さらに、ユーザの意図したスケジュールが
失敗であると判断された時には、エラーメッセージを出
させ、どのプログラムモジュールの時間的制約条件が、
満足されないかを明確に通知させることができる。
【0111】このように、プログラム実行のスケジュー
ルに係わる種々の設定が、ユーザにより行なえるため、
システムの性能、応答性等、時間的制約条件から生じる
種々の問題を、実行ルールの記述の変更により対処可能
となる。
【0112】さらに、従来、プログラム中に記述してい
た、処理時間や処理精度等の性能に関する内容を、専用
のテーブルを使用して別個に格納しているので、例え
ば、タイミング制御等のハードウェアの性能に依存した
記述内容だけを切り離すこともでき、プログラムモジュ
ールの移植性が向上し、プログラムの再利用も容易とな
る。
【0113】次に、実行制御部20について説明する。
【0114】実行制御部20は、インタフェースを表す
線26を介して、スケジュールテーブル21、実行ルー
ルテーブル23および実行情報テーブル24と接続され
ている。
【0115】実行制御部20は、起動要求があったプロ
グラムモジュールに対し、当該プログラムモジュール
の、時間的制約条件および要素プログラムに関する情報
を実行情報テーブル24から読み出し、対応する実行ル
ールテーブル23にしたがい、スケジュールが行なえる
かの可能性を、実行管理モジュール6に問い合わせ、要
素プログラムの選択を行なう。
【0116】図9は、実行制御部20の動作を説明した
フローチャートである。
【0117】以下、本フローチャートを参照して実行制
御部20の動作を説明する。
【0118】まず、アプリケーションモジュール5内か
らのプログラムモジュールの起動要求を受けると、ステ
ップ301によって実行制御部20の処理がスタートす
る。
【0119】次に、ステップ302において、実行制御
部20は、起動要求のあったプログラムモジュールに対
する実行情報テーブルが、実行情報テーブル24中に存
在するか否かを、識別子240を探索キーとして検索す
る。
【0120】仮に、起動要求のあったプログラムモジュ
ールに対する実行情報テーブルが存在しなければ、ステ
ップ330により、実行制御部20による処理を終了す
る。一方、起動要求のあったプログラムモジュールに対
する実行情報テーブルが存在すれば、ステップ305に
進む。
【0121】ステップ305において、実行制御部20
は、ステップ302における処理によって見つけ出した
検索した実行情報テーブルが備える、要素プログラム情
報245を読み出し、登録されている全ての要素プログ
ラムについて、その要素プログラム識別子246、およ
び、そのアドレス情報247を、スケジュールテーブル
275が備える要素プログラムテーブル276に設定
し、要素プログラムの必要計算時間の合計値を算出し、
スケジュールテーブル275の総必要計算時間280
に、前記合計値を設定する処理を行なう。
【0122】次に、ステップ306において、実行制御
部20は、見つけ出した実行情報テーブルが備える情報
である、実行開始時刻241、完了期限時刻242、優
先度244を読み出し、読み出した各情報を、スケジュ
ールテーブル275の、実行開始時刻278、完了期限
時刻279、優先度281の欄に設定する処理を行な
う。これによって、スケジュールテーブル275の初期
設定が完了する。
【0123】次に、ステップ307において、実行制御
部20は、起動要求のあったプログラムモジュールに対
する実行ルールテーブルが、実行ルールテーブル24に
存在するか否かを、識別子240を検索キーとして検索
する。仮に、起動要求のあったプログラムモジュールに
対する実行ルールテーブルが存在しなければ、ステップ
330によって、実行制御部20は処理を終了し、起動
要求のあったプログラムモジュールに対する実行ルール
テーブルが存在すれば、ステップ308に進む。
【0124】ステップ308において、実行制御部20
は、実行ルールテーブルのルール部261をサーチし、
「_START記号」を見つけ出し、「_START記号」の次に記
述されている記号を読み出す。
【0125】次に、ステップ310において、仮にステ
ップ308によって読み出した記号が「_END記号」であ
るならば、ステップ330に進み処理を終了する。一
方、ステップ308によって読み出した記号が「_END記
号」でなければ、ステップ311において、その読み込
んだ記号が、「IF記号」であるか否かを調べる。
【0126】記号が「IF記号」であれば、ステップ31
2において、実行制御部20は、IF以下の括弧内の評価
式で示される処理を実行する。
【0127】本実施例で示す実施規則において、評価式
は、大小を比較した結果が「真」か「偽」か、あるい
は、「SCHED記号」に基づくスケジュールを行ない、ス
ケジュールが「成功」したか「失敗」したかを判断す
る、ことに限って説明するが、これ以外の評価を行なう
ための評価式を採用しても本発明が適用できることは言
うまでもない。
【0128】さて、ステップ313において、先の評価
結果が「真」または「成功」ならば、ステップ314に
進み、実行制御部20は、「THEN記号」の次に記述され
た記号を読み出し、ステップ310にブランチする。一
方、ステップ313において、先の評価結果が「偽」ま
たは「失敗」だと判断されれば、「ELSE記号」が記述さ
れた部分まで記述内容を読み飛ばし、「ELSE記号」の次
に記述されている記号を読み込み、ステップ310へ移
る。
【0129】ステップ310では、先と同様に、読み込
んだ記号が「_END記号」であるならば、ステップ330
に進み処理を終了し、一方、「_END記号」でなければ、
ステップ311において、その読み込んだ記号が「IF記
号」であるか否かを調べる。
【0130】次に、ステップ311において、その読み
込んだ記号が「IF記号」でなければ、ステップ321へ
進み、読み込んだ記号が「_SCHED記号」か否かについて
調べる。
【0131】そして、「_SCHED記号」ならば、ステップ
322において、実行制御部20は、実行管理モジュー
ル6へスケジュール要求を発行し、ステップ322−1
において、次に記述されている記号を読み込み、ステッ
プ310にブランチする。
【0132】一方、ステップ321において、読み込んだ
記号が「_SCHED記号」でなければ、ステップ323によ
って、読み込んだ記号が「_DEL記号」か否かを調べる。
【0133】そして、読み込んだ記号が「_DEL記号」で
あれば、ステップ324において、実行制御部20は、
括弧内で指定された要素プログラムを、スケジュールテ
ーブル21中のプログラム要素テーブル276から削除
し、スケジュールテーブル21の総必要計算時間Tcか
ら、削除する要素プログラムの必要計算時間を差し引い
た値を計算し、この計算値を総必要計算時間Tcとして変
更する。その後、ステップ324−1において、次に記
述されている記号を読み込み、ステップ310にブラン
チする。
【0134】また、ステップ323において、読み込ん
だ記号が「_DEL記号」でなければ、ステップ325によ
り、読み込んだ記号が「_CHNG記号」か否かを調べる。
【0135】読み込んだ記号が「_CHNG記号」であれ
ば、ステップ326において、図4(b)で説明したよ
うに、括弧内の「X」部分で指定された「Ts」、「T
e」、「Pr」のいずれかに相当するスケジュールテーブ
ル21の設定値を、括弧内の「Y」部分の値に更新す
る。
【0136】これにより、指定された時間的制約条件へ
の条件変更処理が行なえる。
【0137】その後、ステップ326−1において、次
に記述されている記号を読み込み、ステップ310にブ
ランチする。
【0138】さらに、ステップ325において、読み込
んだ記号が「_CHNG記号」でないと判断されれば、ステ
ップ327により、読み込んだ記号が「_MSSG_ERROR記
号」か否かを調べる。
【0139】そして、読み込んだ記号が「_MSSG_ERROR
記号」であれば、ステップ328において、実行制御部
20は、図1に示す出力装置37、または、プログラム
モジュールの起動要求を発行したプログラムモジュール
に対して、スケジュールが失敗したことを通知する。そ
の後、ステップ328−1において、次に記述されてい
る記号を読み込み、ステップ310へブランチする。
【0140】ここで、ステップ327において、読み込
んだ記号が「_MSSG_ERROR記号」でなければ、ステップ
329へ進み、実行制御部20は、ルール処理(実行ル
ールテーブルの記述内容にしたがった処理)に失敗した
ことを、図1に示す出力装置37、または、プログラム
モジュールの起動要求を発行したプログラムモジュール
に対して通知し、ステップ330によって処理を終了す
る。なお、ステップ310以降における処理は前述した
通りである。
【0141】このように、実行制御部20では、ルール
の記述内容に「_END記号」が現れるか、または、ルール
処理エラーメッセージが発行されるまで、実行規則にし
たがった処理が繰り返される。
【0142】このような処理により、実行要求されたプ
ログラムモジュールに対し、実行制御部20によって、
要素プログラムが適切に選択される。したがって、プロ
グラムモジュールの処理は、時間的制約によって、途中
で中止されることなく最後まで実行されることになる。
【0143】その結果、途中結果を逐次保存する処理を
行なう必要がなく、また、プログラムを必ず実行される
部分である必須部分と、任意に実行される部分である任
意部分とに分割する必要がない。
【0144】次に、図1に示す実行管理モジュール6に
ついて説明する。
【0145】実行管理モジュール6は、インターフェー
スを表す接続線11を介して、実行制御モジュール8か
らの、時間的制約条件を課されたプログラムモジュール
のスケジュール要求を受けつけて、この要求が現時点に
おけるプロセッサの負荷状況、処理能力等を考慮してス
ケジュール可能か否かを判定し、スケジュール可能であ
れば、可能である旨を、また、スケジュール不可能であ
れば、時間を示す値であって、当該時間内でればスケジ
ュールが可能である「実行可能時間」を通知する。
【0146】さらに、実行管理モジュール6は、スケジ
ュール可能となったプログラムモジュールの時間的制約
条件を記憶し、要求された時間的制約条件にしたがって
プログラムの実行も行なう。
【0147】図1に示すように、実行管理モジュール6
は、スケジュールリストデータ部52と、実行予定テー
ブル40と、ディスパッチャ42と、スケジューラ41
と、オーバラン情報テーブル50とを有して構成されて
いる。
【0148】まず、図5を参照して、実行予定テーブル
40の一例について説明する。
【0149】実行予定テーブル40には、スケジュール
可能と判定されたプログラムの実行に関する情報が記録
されている。
【0150】図5において、実行予定テーブル501
(図1では、「40」と記した)には、プログラムモジ
ュール(PM_A)の実行に関する情報510を始め、
スケジュール可能と判定されたプログラムモジュールの
実行情報が格納されている。
【0151】実行予定テーブル501に記録されるプロ
グラムモジュールの実行情報は、スケジュール可能と判
定されたプログラムモジュールの識別子の情報であるプ
ログラムモジュール識別子502と、そのプログラムモ
ジュールを構成する要素プログラムの情報である要素プ
ログラム情報503と、プログラムモジュールの実行開
始の時刻を示す情報である実行開始時刻Ts504と、プ
ログラムモジュールの実行完了のデッドラインを示す完
了期限時刻Te505と、プログラムモジュールの実行終
了の時刻を示す情報である実行終了時刻Ter506と、
総必要実行時間Tc507と、実行優先度Pr508と、プ
ログラム再実行に必要となるタスクコントロールブロッ
ク510とを有している。
【0152】また、実行開始時刻Ts504、完了期限時
刻Te505、実行終了時刻Ter506、総必要実行時間T
c507、および、実行優先度Pr508は、時間的制約
条件となっている。
【0153】また、ディスパッチャ42は、タスクコン
トロールブロック510に、プロセッサでの処理が中断
する際の中断位置を示し、中断解除後に処理の再開位置
を知るためのプログラムカウンタ値511と、処理が中
断された際の、プロセッサ内の各種レジスタの値(汎用
レジスタ値)512とを格納する。
【0154】また、実行予定テーブル510には、優先
度508の高い順に、スケジュール可能と判定されたプ
ログラムモジュールの実行情報が格納され、同一優先度
である場合には、プログラム実行の時間的制約条件であ
る、完了期限時刻505の早い順に、実行情報が格納さ
れていく。
【0155】図1において、実行予定テーブル40は、
インタフェースを表す線44を介して、ディスパッチャ
42と接続されており、ディスパッチャ42に対し、プ
ログラムモジュールの実行に関する情報を提供し、ディ
スパッチャ42は、提供された情報に基づいて、プログ
ラム実行を切り替えるタイミングを把握する。また、実
行予定テーブル40は、インタフェースを表す線43を
介して、現時点においてスケジュールが完了されている
プログラムモジュールの実行に関する情報を、スケジュ
ーラ41に提供する。
【0156】ディスパッチャ42は、前述のようにイン
タフェースを表す線44を介して実行予定テーブル40
と接続されており、実行予定テーブル40内の実行に関
する情報に基づいてプログラムモジュールが実行可能と
なるように、当該プログラムモジュールの実行に関する
情報(例えば、プログラムカウンタ値511、汎用レジ
スタ値512等)をプロセッサ3に割り当てる。
【0157】プログラムモジュールの実行は、実行予定
テーブル40の登録順に優先して行なわれ、一番初めに
登録されているプログラムモジュールが、最も優先性の
高い優先度を有している。
【0158】ディスパッチャ42により、実行予定テー
ブル40に登録されたプログラムモジュールは、その実
行開始時刻に、プロセッサ3に割り当てられるが、優先
度の高いプログラムモジュールの開始時刻になった時点
で、該優先度の高いプログラムモジュールの実行が行な
われるように、プロセッサ3の実行対象であるプログラ
ムモジュールが切り替えられる。
【0159】このような切り替え動作は、ディスパッチ
ャ42により、実行を中断するプログラムモジュールの
プログラムカウンタ値およびレジスタ値を、プロセッサ
3から実行予定テーブル40中のタスクコントロールブ
ロック(511、512)に記録し、さらに、実行を開
始するプログラムモジュールのタスクコントロールブロ
ック(511、512)の値を、プロセッサ3に与える
ことによって行なわれる。これにより、中断されたプロ
グラムは、そのタスクコントロールブロックを再びプロ
セッサ3に与えることによって、中断からの再開が可能
となる。
【0160】スケジューラ41は、時間的制約条件が課
されたプログラムの実行要求を受けつけ、この要求が、
現時点の負荷状況等を考慮して、スケジュール可能か否
かを判定し、スケジュール可能であれば、可能である旨
を、また、スケジュール不可能であれば、スケジュール
が可能な時間である実行可能時間を算出し、実行制御モ
ジュール8に通知する。
【0161】スケジューラ41は、インタフェースを表
す線53を介して、スケジュールリストデータ部52と
接続され、スケジュールが行なえるか否かの判定は、ス
ケジュールリストデータを作成しながら、行なわれてい
く。
【0162】また、スケジューラ41は、インタフェー
スを表す線43を介し、実行予定テーブル40に接続さ
れ、スケジュール可能となったプログラムは、接続線4
3を介して、実行予定テーブル40に登録される。
【0163】さて、ここで、まず、スケジュールリスト
データ部52について説明し、その後にスケジューラ4
1の行なう動作について説明する。
【0164】図6(c)に示すように、スケジュールリ
ストデータ部は、リスト型のデータ構造を有しており、
リスト中のノードデータ610および620は、実行さ
れる連続時間領域を示している。連続時間領域は、一つ
のプログラムの実行に関する場合もあれば、複数のプロ
グラムモジュールの実行時間が重なりあって構成される
場合もある。なお、図6(c)におけるスケジュールリ
ストデータは、図6(a)に示した実行予定テーブル内
の情報に基づいて、スケジューラ41によって作成され
たものである。
【0165】さて、図6(a)に示す実行予定テーブル
において、2つのプログラムモジュール(PM_A)と(PM
_C)に対する実行情報600、601が登録されてい
る。
【0166】この実行予定テーブルの記憶内容を参照す
れば、プログラムモジュール(PM_A)は、時刻Ts「1
0」に処理が開始され、時刻Te22までには処理が完了さ
れていなければならず、計算に必要な総必要計算時間Tc
は「10」で、実行優先度Prは「8」であることが分か
る。
【0167】ここで、実行終了時刻Ter603は、各種
のパラメータが初期設定された後にスケジューラ41に
よって計算され、記録されたもので、その値は「20」
となっている。
【0168】次に、プログラムモジュール(PM_C)は、
時刻Ts「30」に処理が開始され、時刻Te「46」まで
には処理が完了されていなければならず、計算に必要な
総必要計算時間Tcは、「10」で、実行優先度Prは
「9」であることが分かる。
【0169】同様に、実行終了時刻Ter603は、各種
のパラメータが初期設定された後にスケジューラ41に
よって計算され、記録されたもので、その値は「40」
となっている。また、プログラムモジュール(PM_A)の
方が優先度が高い(Prの値が小さなほど優先度は高い)
ので、先に登録されている。
【0170】スケジューラ41は、スケジュールリスト
データを作成するが、実行予定テーブルに登録されてい
る順番にしたがって、プログラムモジュールの実行情報
を読み出し、リスト型のデータを作成していく。この様
子を以下説明する。
【0171】まず、実行予定テーブルに最初に登録され
ているのは、プログラムモジュール(PM_A)の実行情報
600であるので、スケジュールリストデータ部に、図
6(b)に示すような、プログラムモジュール(PM_A)
に対するノードデータPM_A(610)を作成する。
【0172】ノードデータ(PM_A)610は、プログラ
ムモジュールPM_Aの実行開始時刻Tsを示す部分601
と、実行終了時刻Terを示す部分602および時間的に
後続するノードデータの所在を示す部分603とを有し
て構成される。
【0173】スケジューラ41の動作によって、ノード
データ(PM_A)610の、実行開始時刻を示す部分60
1にプログラムモジュール(PM_A)の実行開始時刻「1
0」が格納され、さらに、実行終了時刻を示す部分60
2にプログラムモジュール(PM_A)の実行終了時刻「2
0」が格納される。
【0174】以上のように、プログラムモジュールの実
行終了時刻は、そのプログラムモジュールの実行開始時
刻に、そのプログラムモジュールの総必要計算時間を加
えて求められ、一方、後続するノードデータは、まだ作
成されていないので、後続ノードデータ所在部分603
には「0」が格納される。
【0175】次に、スケジューラ41は、プログラムモ
ジュール(PM_C)の実行情報601を、実行予定テーブ
ルから読み出し、図6(c)に示すように、プログラム
モジュール(PM_C)に対するノードデータPM_C620を
作成する。そして、スケジューラ41の動作によりに、
ノードデータ(PM_C)620の実行開始時刻を示す部分
607に、プログラムモジュール(PM_C)の実行開始時
刻「30」が格納され、また、実行終了時刻を示す部分
608に、プログラムモジュール(PM_C)の実行終了時
刻「40」が格納される。
【0176】最後に、ノードデータ(PM_C)620の後
続ノードデータ所在部分609に「0」が格納され、先
に述べた、ノードデータ(PM_A)610の後続ノードデ
ータ所在部分603に、ノードデータ(PM_C)620の
所在場所が記録される。
【0177】以上で、図6(c)に示すように、2つの
ノードデータ(PM_A)610およびノードデータ(PM_
C)620がリンクされた(ポインタで接続されたよう
な)、リスト型のデータが作成される。
【0178】さてここで、例えば、実行制御モジュール
8から、プログラムモジュール(PM_B)のスケジュー
ル要求を、実行管理モジュール6が受けた場合、スケジ
ューラ41は、プログラムモジュール(PM_B)のスケ
ジュールが可能か否かについて検証する。
【0179】これは、始めに、スケジュールテーブル2
1に記録されたプログラムモジュール(PM_B)の実行
情報を、実行予定テーブル40に仮登録することから行
なう。
【0180】そこで、次に、実行予定テーブル40が、
図6(a)に示すように、2つのプログラムモジュール
(PM_A)と(PM_C)の実行情報600、601が登録さ
れている場合に、プログラムモジュール(PM_B)70
3のスケジュール要求を、スケジューラ41がどのよう
に処理していくのかについて、図7を参照して説明す
る。
【0181】まず、図7(e)には、プログラムモジュ
ール(PM_B)のみの実行情報を記載している。
【0182】プログラムモジュール(PM_B)の優先度
706は「8」とあり、完了期限時刻705は、「4
5」であり、実行予定テーブルには、優先度の高い順、
または、完了期限時刻の早い順に実行情報は登録される
ことから、プログラムモジュールPM_Bの実行情報は、
図7(a)に示すように、プログラムモジュール(PM_
A)とプログラムモジュール(PM_C)との間に仮登録
されることになる。
【0183】次に、図7(b)に示すように、まず、プ
ログラムモジュール(PM_A)のノードデータ710が
作成され、次に、プログラムモジュール(PM_B)のノ
ードデータ711が作成される。それぞれのプログラム
モジュールの実行終了時刻「20」および「43」は、
スケジューラ41によって算出され、実行終了時刻を表
す部分710−1、711−1、および、実行予定テー
ブル(図7(a)参照)に記録されている。そして、ポ
インタにより接続され、リストデータが作成される。
【0184】さらに、図7(c)に示すように、プログ
ラムモジュール(PM_C)のノードデータ722および
724が作成される。以下、これについて若干説明す
る。
【0185】まず、図7(a)に示す実行予定テーブル
中、プログラムモジュール(PM_C)の実行情報702
から、プログラムモジュールPM_Cの実行開始時刻Tsは
「30」であり、総必要計算時間Tcは「10」である。
【0186】図7(b)に示すリストデータを見て分か
るように、時刻「35」から時刻「43」は、既に、プログ
ラムモジュール(PM_B)のために割り当てられてい
る。したがって、プログラムモジュール(PM_C)を割
り当てることができる時間帯は、時刻「30」から時刻
「35」までと、時刻「43」から時刻「48」までで
あることが、プログラムモジュール(PM_C)の実行開
始時刻および総必要計算時間に基づいて算出できる。
【0187】したがって、プログラムモジュール(PM_
C)の実行終了時刻は「48」となる。この実行終了時
刻の値を、実行予定テーブルに記録する。
【0188】そして、2つに分けられたノードデータ7
22および724を、適当な配置になるように、他のノ
ードデータとリンクさせ、図7(c)に示すようなリス
トデータを作成する。
【0189】その後に、図7(d)に示すように、図7
(c)において、ノードデータ722、723および7
24は、連続した時間帯を表すので、一つのノードデー
タ732としてまとめる。
【0190】実行予定テーブルに存在する全てのプログ
ラムモジュールについて、ノードデータを作成し、リス
トデータを作成し終えると、実行予定テーブルに存在す
る各プログラムモジュールの完了期限時刻708と実行
終了時刻709とを見比べて、オーバランしたプログラ
ムモジュールが存在するか否かについて検証する。
【0191】仮に、オーバランしたプログラムモジュー
ルが存在すれば、逐次、実行管理モジュール6に存在す
るオーバラン情報テーブル50に、図7(f)に示すよ
うに、プログラムモジュール識別子751、オーバラン
時間753、優先度754の情報が記録される。ここ
で、オーバランしたプログラムモジュールが存在したこ
とで、要求のあったプログラムモジュールPM_Bのスケ
ジュールは、不可能であったことが判明される。
【0192】このとき、オーバランの最大時間を、オー
バラン情報テーブル50を参照して求め、プログラムモ
ジュールPM_Bの総必要計算時間から、この値を引いた
ものが、現プロセッサにおけるプログラムモジュールPM
_Bの実行可能時間となる。
【0193】なお、オーバラン情報テーブル50は、例
えば、図7(f)に示すようなデータ構造を有するテー
ブルあり、プログラムモジュール識別子751、オーバ
ラン時間753、優先度754とを有して構成され、オ
ーバランしたプログラムモジュールの実行情報が記録さ
れる。
【0194】次に、スケジューラ41の動作について説
明する。
【0195】図10は、スケジューラ41の動作を説明
したフローチャートである。
【0196】スケジューラ41は、実行管理モジュール
6内に設けられた一処理モジュールで、実行制御モジュ
ール8から、時間的制約条件が課されたプログラムモジ
ュールのスケジュール要求を受けると、現在のスケジュ
ール状況を考慮して、要求されたプログラムモジュール
について、時間的制約条件を満足させたスケジュールが
可能か否かを検証する機能を有する。
【0197】実行制御モジュール8からプログラム実行
管理モジュール6に対し、要素プログラムの実行要求が
発せられると、スケジューラ41が起動され、ステップ
401において処理が始まる(スタート)。
【0198】次に、ステップ403において、スケジュ
ーラ41は、スケジュール要求されたプログラムモジュ
ールの実行情報をスケジュールテーブル21から読み出
し、読み出した情報を実行予定テーブル40内に一時的
に仮登録する。
【0199】実行予定テーブルへの情報の登録は、プロ
グラムモジュールの優先度と終了期限時刻を考慮して登
録されることは前に述べた通りである。
【0200】次に、ステップ404において、スケジュ
ーラ41は、実行予定テーブル40の先頭から順次、プ
ログラムモジュールの実行情報を読み出し、スケジュー
ルリストデータを作成する。そしてさらに、個々のプロ
グラムモジュールに対し、それぞれの実行終了時刻を算
出し、実行予定テーブル40に記録する。
【0201】次に、ステップ405において、スケジュ
ーラ41は、個々のプログラムモジュールに対し、それ
ぞれの実行終了時刻が完了期限時刻を上回っていないか
否かについて調べる。
【0202】即ち、オーバランしたプログラムモジュー
ルが存在するか否かを判定する。仮に、オーバランした
プログラムモジュールが存在すれば、オーバラン情報テ
ーブル50に記憶しておく。
【0203】ステップ405において、オーバランした
プログラムモジュールが存在しないと判明すれば、スケ
ジュール要求のあったプログラムモジュールは、スケジ
ュール可能であると判定される。
【0204】そして、ステップ406において、スケジ
ューラ41は、スケジュール要求のあったプログラムモ
ジュールの実行情報を、実行予定テーブル40に正式に
登録し、スケジュール完了の回答を実行制御モジュール
8に対し通知する。そして、ステップ410において、
スケジューラ41の処理を終える(ストップ)。
【0205】一方、ステップ405において、オーバラ
ンしたプログラムモジュールが存在すれば、どれか一つ
以上のプログラムモジュールにおいて、その処理が完了
期限時刻内に実行できないことを示しているのであるか
ら、スケジュール不可能と判定される。
【0206】そこで、ステップ407において、仮にス
ケジュールモードフラグSMFが「1」でなければ、次の
ステップ408の処理を行なう。
【0207】ステップ408において、スケジューラ4
1は、ステップ403において行なわれた実行予定テー
ブルの仮登録を取り消し、オーバラン情報テーブル50
から、最大オーバラン時間を得て、スケジュール要求の
あったプログラムモジュールにおける総必要計算時間か
ら、最大オーバラン時間を減算した値を実行可能時間と
し、実行制御モジュール8に通知する。そして、ステッ
プ410において、スケジューラ41の動作は終了す
る。
【0208】さて、ステップ407において、スケジュ
ールモードフラグSMFが「1」の場合の動作説明を行
う。
【0209】スケジュールモードフラグSMFが「1」で
ある場合には、スケジューラ41が、自らプログラムモ
ジュールの要素プログラムを削除し、プログラムモジュ
ールの総必要計算時間を調整する。すなわち、ステップ
409において、スケジューラ41は、オーバラン情報
テーブル50から、オーバランしたプログラムモジュー
ルのうち、優先度が最も低いものを見つけ出し、実行予
定テーブル40から、このプログラムモジュールの実行
情報中の要素プログラム情報を参照して、最後に登録さ
れている要素プログラムを削除し、このプログラムモジ
ュールの総必要計算時間を、削除した要素プログラムの
必要計算時間を減算した値に更新する。
【0210】そして、再び、ステップ404に戻り、ス
ケジュール可能か否かの検証を行なう。ステップ409
の処理は、当該プログラムモジュールがスケジュール可
能になるまで行なわれる。この処理により、スケジュー
ル不可能な場合、逐次、実行制御モジュール8に実行可
能時間を通知し、実行ルールにしたがって再度スケジュ
ール要求を検証するのに要する処理オーバヘッドが削減
される。
【0211】スケジュールモードフラグSMFの設定は、
プログラムモジュールが実行中に行なうか、あるいは、
図1に示す入力装置36および出力装置37を使用して
ユーザによって設定される。
【0212】以上で、スケジューラの動作説明を終え
る。
【0213】次に、本発明にかかる情報処理装置全体の
動作説明を行なう。
【0214】なお、上記説明ででてきた構成要素に対し
て、説明の容易化のため、異なる符号を付している場合
がある。
【0215】図8は、本情報処理装置における動作を説
明したものである。
【0216】図8において、アプリケーションモジュー
ル801中のメインモジュール802、または、任意の
プログラムモジュール803から、特定のプログラムモ
ジュールの起動要求が、実行制御モジュール810に対
し発せられると、実行制御部811が起動される。
【0217】実行制御部811は、実行情報テーブル8
13を検索し、起動要求されたプログラムモジュールに
対応する実行情報テーブルを見つけ出し、起動要求モジ
ュールの実行情報を参照する。実行制御部811は、参
照した実行情報をスケジュールテーブル814に設定す
る。
【0218】次に、実行制御部811は、実行ルールテ
ーブル812を検索し、起動要求されたプログラムモジ
ュールに対応する実行ルールテーブルを見つけ出し、実
行ルールテーブルに記述されている実行規則にしたがっ
て、実行管理モジュール820に対し、プログラムモジ
ュールのスケジュール要求を発行する。スケジュール要
求時に、スケジュールテーブル814のデータが、実行
管理モジュール820に渡される。
【0219】実行管理モジュール820では、プログラ
ムモジュールのスケジュール要求を受けて、スケジュー
ラ821が起動される。スケジューラ821は、まず、
スケジュール要求された実行情報を、スケジュールテー
ブル814のデータに基づいて、実行予定テーブル82
2に一時的に仮設定する。
【0220】次に、実行予定テーブル822を参照して
スケジュールリストデータ823を作成し、オーバラン
したプログラムモジュールが存在するか否かを調べる。
この結果、仮に、オーバランしたプログラムモジュール
が存在しなければ、スケジュール要求のあったプログラ
ムモジュールは、「スケジュール可能」と判定され、ス
ケジューラ821は、実行予定テーブル822にスケジ
ュール要求を行なったプログラムモジュールを登録し、
スケジュール完了の旨の信号を、実行制御モジュール8
10内の実行制御部811に通知する。
【0221】一方、一つでも、オーバランしたプログラ
ムモジュールが存在する場合、スケジューラ821は、
その時のオーバランしたプログラムモジュール、およ
び、オーバラン時間の情報を、オーバラン情報テーブル
824に記録する。
【0222】また、スケジューラ821は、スケジュー
ル要求を行なったプログラムモジュールの実行予定テー
ブル822の仮登録を取り止め、スケジュールが失敗し
たことを、実行制御モジュール810内の実行制御部8
11に通知する。
【0223】このとき、スケジューラ821は、オーバ
ラン情報テーブル824から、オーバラン時間の最大値
を見つけ出し、この値を、スケジュール要求を行なった
プログラムモジュールの総必要時間から減算し、この減
算値を実行可能時間として実行制御部811に伝える。
【0224】実行制御部811は、スケジューラ821
からスケジュール結果の通知を受けとって、実行ルール
テーブル812に記述されている実行規則に従い、スケ
ジュール結果に基づいて、前記実行規則にしたがった処
理を終了するか、または、前記実行規則にしたがって、
スケジュールテーブル814の設定値を更新し、実行管
理モジュール820に対し、再度、プログラムモジュー
ルのスケジュール要求を行う。
【0225】そして、上記のスケジュール要求およびス
ケジュール結果の入手を、何度か行なった後、実行規則
にしたがった処理は終了する。
【0226】そして最後に、実行制御部811が、プロ
グラムモジュールの起動要求を行なったメインモジュー
ル802または任意プログラムモジュール803に対
し、プログラムモジュールの起動結果を返答する処理を
行なう。
【0227】以上のように本発明によれば、情報処理装
置がリアルタイム性を要求される処理を行ない、プロセ
ッサの処理能力や負荷量の変動に影響されない応答性を
確保する際に、プログラムを、必須部分と任意部分とに
分割することや、途中結果を逐次保存することが不要と
なるので、プログラムの作成が容易になる。特に、必須
部分と任意部分の分割が困難であるプログラムや、途中
で処理が中断できないプログラムにおいても、実行時間
を調整することによって、プログラム実行に関し、時間
的制約が課された場合においても、制約条件を満たしな
がらプログラム実行を行なうことが可能となる。
【0228】さらに、専用のテーブルを備え、プログラ
ム実行にかかる時間的な記述を、該テーブル内に行なう
ことによって、処理時間、処理精度等のプログラム実行
結果の性能にかかる問題に関する部分を、従来のプログ
ラムモジュールの記述部と別個に設けることができる。
【0229】この結果、タイミング制御等のハードウェ
アの性能に依存した、プログラムの記述部分のみを切り
離せるので、プログラムモジュールの移植性が向上さ
れ、プログラムの再利用も可能となる。
【0230】
【発明の効果】以上のように本発明によれば、プログラ
ムを、必須部分と任意部分とに分割することや、途中結
果を逐次保存することを不要とし、タスクの実行時間を
調整することによって、プログラム実行に関し、時間的
制約が課された場合においても、制約条件を満たしなが
らプログラム実行を行なうことが可能となる。
【0231】そして、処理にリアルタイム性が要求され
る処理を行ない、プロセッサの処理能力や負荷量の変動
に影響されない応答性を確保する情報処理装置を提供で
きる。
【図面の簡単な説明】
【図1】本発明に係る情報制御装置のブロック図であ
る。
【図2】要素プログラムの説明図である。
【図3】実行情報テーブル等の説明図である。
【図4】実行ルールテーブル、スケジュールテーブルの
説明図である。
【図5】実行予定テーブルの説明図である。
【図6】スケジュールリストデータの説明図である。
【図7】スケジューラの動作の説明図である。
【図8】本発明に係る情報制御装置の動作の説明図であ
る。
【図9】実行制御部の動作を説明するフローチャートで
ある。
【図10】スケジューラの動作を説明するフローチャー
トである。
【符号の説明】
1…情報処理装置、2…記憶装置、3…プロセッサ、2
1…スケジュールテーブル、23…実行ルールテーブ
ル、24…実行情報テーブル、40…実行予定テーブ
ル、41…スケジューラ、42…ディスパッチャ、52
…スケジュールリストデータ部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 正嶋 博 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】与えられた指示に応じ、該指示内容を実現
    するタスクの実行を行なう情報処理装置であって、 実行時間が異なるタスクを複数種類備えたタスク群と、
    与えられた指示内容を実行するために、該指示内容に対
    応するタスク群内のタスクを選択する実行制御手段と、
    与えられたタスクの実行を行なうプロセッサと、プロセ
    ッサが実行しているタスクの実行状況を判断し、新たな
    タスクに許容することが可能な実行可能時間を前記実行
    制御手段に通知する実行管理手段とを備え、 前記実行制御手段は、通知された実行可能時間が、与え
    られた指示内容を実行するタスクとして、予め定められ
    ているタスクの、実行時間以内であるときには、当該タ
    スクを前記プロセッサに与え、逆に、通知された実行可
    能時間が、与えられた指示内容を実行するタスクとし
    て、予め定められているタスクの、実行時間を越えると
    きには、当該タスクが存在するタスク群内に備えられた
    タスクのいずれかを、予め定めた規則に従って、選択
    し、前記プロセッサに与えることを特徴とする情報処理
    装置。
  2. 【請求項2】与えられた指示に応じ、該指示内容を実現
    するタスクの実行を行なう情報処理装置であって、 処理内容が異なるタスクを複数種類備えたタスク群と、
    与えられる実行可能時間を参照して、タスク群内の、実
    行可能なタスクを選択する実行制御手段と、与えられた
    タスクの実行を行なうプロセッサと、プロセッサが実行
    しているタスクの実行状況を判断し、新たなタスクに許
    容することが可能な実行可能時間を前記実行制御手段に
    通知する実行管理手段とを備え、 前記実行制御手段は、通知された実行可能時間に対応し
    て、予め定めた規則に従って、タスクを選択し、前記プ
    ロセッサに与えることを特徴とする情報処理装置。
  3. 【請求項3】請求項2において、さらに、前記予め定め
    た規則、および、各タスクとその実行時間との関係を定
    めたデータを、少なくとも格納する記憶部を設け、 前記予め定めた規則は、前記実行可能時間より小さな値
    の処理時間を有するタスクのうち、最も実行時間の長い
    タスクを選択することを特徴とする情報処理装置。
  4. 【請求項4】請求項1、2および3のいづれかにおい
    て、前記タスク群を備えたモジュール部を、少なくとも
    1以上備えたことを特徴とする情報処理装置。
  5. 【請求項5】請求項1において、前記実行管理手段は、
    プロセッサが行なっている各タスクごとに、タスクの実
    行を開始する時刻である実行開始時刻、タスクの実行に
    要する時間である実行時間、およびタスクの実行のデッ
    ドラインである実行期限を、少なくとも記憶するための
    実行管理情報記憶手段と、実行管理情報記憶手段の記憶
    内容を参照し、新たなタスクに許容できる時間である実
    行可能時間を算出するスケジューリング手段と、該手段
    が算出したデータを格納するスケジューリングデータ記
    憶手段と、前記実行制御手段に実行可能時間を通知する
    機能、および、前記実行管理情報記憶手段、スケジュー
    リングデータ記憶手段の記憶内容を参照して、プロセッ
    サに与える前記新たなタスクの実行開始時刻、実行時
    間、実行期限を前記実行管理情報記憶手段に記憶する機
    能を、少なくとも有する実行管理処理部とを備えたこと
    を特徴とする情報処理装置。
JP7015975A 1995-02-02 1995-02-02 情報処理装置 Pending JPH08212084A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7015975A JPH08212084A (ja) 1995-02-02 1995-02-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7015975A JPH08212084A (ja) 1995-02-02 1995-02-02 情報処理装置

Publications (1)

Publication Number Publication Date
JPH08212084A true JPH08212084A (ja) 1996-08-20

Family

ID=11903711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7015975A Pending JPH08212084A (ja) 1995-02-02 1995-02-02 情報処理装置

Country Status (1)

Country Link
JP (1) JPH08212084A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202244A (ja) * 2005-01-21 2006-08-03 Himax Optoelectronics Corp ソースデバイスに対するリクエストをスケジューリングする装置及び方法
WO2006126331A1 (ja) * 2005-05-27 2006-11-30 Sony Computer Entertainment Inc. 情報処理方法、情報処理装置、およびサーバ
JP2009173039A (ja) * 1999-08-10 2009-08-06 Xerox Corp 装置内のジョブを処理するために予定表を検出する装置
JP2010515155A (ja) * 2006-12-26 2010-05-06 クラスター リソーセス インク 異なるコンピュータリソースタイプにわたる予約の同時割当
JP2011003052A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp データ処理装置及び制御方法及びプログラム
JP2013210686A (ja) * 2012-03-30 2013-10-10 Nec Corp シミュレーションシステム及びシミュレーション実行制御方法
JP5540706B2 (ja) * 2007-12-18 2014-07-02 日本電気株式会社 データストリーム処理システム、方法及びプログラム
KR20150041406A (ko) * 2013-10-08 2015-04-16 한국전자통신연구원 스케줄링 정책 기반 코어 간 태스크 이주 관리 장치 및 방법
US9778959B2 (en) 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
WO2021117186A1 (ja) * 2019-12-12 2021-06-17 三菱電機株式会社 データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム
US11494235B2 (en) 2004-11-08 2022-11-08 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11496415B2 (en) 2005-04-07 2022-11-08 Iii Holdings 12, Llc On-demand access to compute resources
US11522952B2 (en) 2007-09-24 2022-12-06 The Research Foundation For The State University Of New York Automatic clustering for self-organizing grids
US11526304B2 (en) 2009-10-30 2022-12-13 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11630704B2 (en) 2004-08-20 2023-04-18 Iii Holdings 12, Llc System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information
US11650857B2 (en) 2006-03-16 2023-05-16 Iii Holdings 12, Llc System and method for managing a hybrid computer environment
US11652706B2 (en) 2004-06-18 2023-05-16 Iii Holdings 12, Llc System and method for providing dynamic provisioning within a compute environment
US11658916B2 (en) 2005-03-16 2023-05-23 Iii Holdings 12, Llc Simple integration of an on-demand compute environment
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11960937B2 (en) 2004-03-13 2024-04-16 Iii Holdings 12, Llc System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009173039A (ja) * 1999-08-10 2009-08-06 Xerox Corp 装置内のジョブを処理するために予定表を検出する装置
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US11960937B2 (en) 2004-03-13 2024-04-16 Iii Holdings 12, Llc System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter
US11467883B2 (en) 2004-03-13 2022-10-11 Iii Holdings 12, Llc Co-allocating a reservation spanning different compute resources types
US10733028B2 (en) 2004-03-13 2020-08-04 Iii Holdings 12, Llc Co-allocating a reservation spanning different compute resources types
US9785479B2 (en) 2004-03-13 2017-10-10 Iii Holdings 12, Llc Co-allocating a reservation spanning different compute resources types
US9778959B2 (en) 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
US11652706B2 (en) 2004-06-18 2023-05-16 Iii Holdings 12, Llc System and method for providing dynamic provisioning within a compute environment
US11630704B2 (en) 2004-08-20 2023-04-18 Iii Holdings 12, Llc System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information
US11656907B2 (en) 2004-11-08 2023-05-23 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11537434B2 (en) 2004-11-08 2022-12-27 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11886915B2 (en) 2004-11-08 2024-01-30 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11861404B2 (en) 2004-11-08 2024-01-02 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11762694B2 (en) 2004-11-08 2023-09-19 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11709709B2 (en) 2004-11-08 2023-07-25 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11537435B2 (en) 2004-11-08 2022-12-27 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11494235B2 (en) 2004-11-08 2022-11-08 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
JP2006202244A (ja) * 2005-01-21 2006-08-03 Himax Optoelectronics Corp ソースデバイスに対するリクエストをスケジューリングする装置及び方法
JP4723260B2 (ja) * 2005-01-21 2011-07-13 奇景光電股▲分▼有限公司 ソースデバイスに対するリクエストをスケジューリングする装置及び方法
US11658916B2 (en) 2005-03-16 2023-05-23 Iii Holdings 12, Llc Simple integration of an on-demand compute environment
US11522811B2 (en) 2005-04-07 2022-12-06 Iii Holdings 12, Llc On-demand access to compute resources
US11831564B2 (en) 2005-04-07 2023-11-28 Iii Holdings 12, Llc On-demand access to compute resources
US11496415B2 (en) 2005-04-07 2022-11-08 Iii Holdings 12, Llc On-demand access to compute resources
US11533274B2 (en) 2005-04-07 2022-12-20 Iii Holdings 12, Llc On-demand access to compute resources
US11765101B2 (en) 2005-04-07 2023-09-19 Iii Holdings 12, Llc On-demand access to compute resources
US8266621B2 (en) 2005-05-27 2012-09-11 Sony Computer Entertainment Inc. Information processing method, information processing apparatus, and server
WO2006126331A1 (ja) * 2005-05-27 2006-11-30 Sony Computer Entertainment Inc. 情報処理方法、情報処理装置、およびサーバ
US11650857B2 (en) 2006-03-16 2023-05-16 Iii Holdings 12, Llc System and method for managing a hybrid computer environment
JP2010515155A (ja) * 2006-12-26 2010-05-06 クラスター リソーセス インク 異なるコンピュータリソースタイプにわたる予約の同時割当
US11522952B2 (en) 2007-09-24 2022-12-06 The Research Foundation For The State University Of New York Automatic clustering for self-organizing grids
JP5540706B2 (ja) * 2007-12-18 2014-07-02 日本電気株式会社 データストリーム処理システム、方法及びプログラム
JP2011003052A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp データ処理装置及び制御方法及びプログラム
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11526304B2 (en) 2009-10-30 2022-12-13 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
JP2013210686A (ja) * 2012-03-30 2013-10-10 Nec Corp シミュレーションシステム及びシミュレーション実行制御方法
KR20150041406A (ko) * 2013-10-08 2015-04-16 한국전자통신연구원 스케줄링 정책 기반 코어 간 태스크 이주 관리 장치 및 방법
WO2021117186A1 (ja) * 2019-12-12 2021-06-17 三菱電機株式会社 データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム

Similar Documents

Publication Publication Date Title
JPH08212084A (ja) 情報処理装置
JP3037182B2 (ja) タスク管理方式
Lipari et al. Schedulability analysis of periodic and aperiodic tasks with resource constraints
JPH05274162A (ja) マルチメディア・コンピュータ・オペレーティング・システム及び方法
Cho et al. T–L plane-based real-time scheduling for homogeneous multiprocessors
US7082607B2 (en) Reduced-overhead context-saving in static priority scheduled operating systems
JP2002073354A (ja) タスク制御装置とタスク制御方法
JP2002099435A (ja) マルチタスク制御方法および情報処理装置
JPH01273136A (ja) オペレーティングシステムのファームウェア化方式
JPH02220152A (ja) メモリ割当て優先度の動的変更処理方式
Labrosse Operating systems
JPH09160790A (ja) タスクスケジュール装置及びタスクスケジュール方法
JP2903525B2 (ja) ジョブ管理方式
JP2006004092A (ja) コンピュータシステム
US7062720B2 (en) Method and system for processing wait window information
JPH06149615A (ja) イベント記録方式
JP2000047881A (ja) リアルタイムシステム
JPH06187171A (ja) 割込みにおけるスケジューリング方式
KR100321408B1 (ko) 처리기한에따른데이터처리순서에의한실시간다중처리시스템및그처리방법
JP3071210B2 (ja) タスク管理制御方式
JP2000242522A (ja) マルチタスクデバッグ装置及びその方法
JPH09319595A (ja) マルチタスク制御装置
JPH0424828A (ja) マルチタスク管理方式
CN116228085A (zh) 用于多舱派送机器人订单智能调度的方法和装置及计算机可读存储介质
JPH05241890A (ja) データトレース方式