JPH06202884A - マルチプログラム実行管理方法 - Google Patents
マルチプログラム実行管理方法Info
- Publication number
- JPH06202884A JPH06202884A JP90593A JP90593A JPH06202884A JP H06202884 A JPH06202884 A JP H06202884A JP 90593 A JP90593 A JP 90593A JP 90593 A JP90593 A JP 90593A JP H06202884 A JPH06202884 A JP H06202884A
- Authority
- JP
- Japan
- Prior art keywords
- program
- cpu
- time
- execution
- running
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】 実行されるプログラムにその性質や数に特定
の制限が設けられていない汎用の計算機システムで時分
割方式でCPUの占有権を各プログラムに与え、各プロ
グラムの実行の実時間を短縮する。 【構成】 複数のプログラムを同時実行する際、現在走
行している各プログラムが現在までにCPUを占有した
時間であるCPU消費量と、実行に要するCPU占有時
間に相当する要求CPU時間と、一定時間内にCPUを
占有して走行したプログラムの平均走行数と、ユーザが
設定した負荷要因値とによりスケジューリング優先度を
計算する。該スケジューリング優先度に従って、各走行
プログラム記憶し、実行する。また、各プログラム毎に
実行に要したCPU占有時間の最大値と平均値を実行デ
ータとして保持し、プログラムを新たに実行する際、前
記実行データを要求CPU時間としてスケジューリング
プログラム2に転送する。
の制限が設けられていない汎用の計算機システムで時分
割方式でCPUの占有権を各プログラムに与え、各プロ
グラムの実行の実時間を短縮する。 【構成】 複数のプログラムを同時実行する際、現在走
行している各プログラムが現在までにCPUを占有した
時間であるCPU消費量と、実行に要するCPU占有時
間に相当する要求CPU時間と、一定時間内にCPUを
占有して走行したプログラムの平均走行数と、ユーザが
設定した負荷要因値とによりスケジューリング優先度を
計算する。該スケジューリング優先度に従って、各走行
プログラム記憶し、実行する。また、各プログラム毎に
実行に要したCPU占有時間の最大値と平均値を実行デ
ータとして保持し、プログラムを新たに実行する際、前
記実行データを要求CPU時間としてスケジューリング
プログラム2に転送する。
Description
【0001】
【産業上の利用分野】この発明は、計算機における複数
のプログラムの実行管理に関し、特に時分割方式でCP
Uの占有権を各プログラムに与え、複数のプログラムの
同時実行を可能とするマルチプログラム実行管理方法の
改良に関する。
のプログラムの実行管理に関し、特に時分割方式でCP
Uの占有権を各プログラムに与え、複数のプログラムの
同時実行を可能とするマルチプログラム実行管理方法の
改良に関する。
【0002】
【従来の技術】 従来のプログラム・スケジューリング方法は、優先
権があるプログラムと無いプログラムが事前に判明して
いる場合、実行するプログラムに与えるCPUの占有時
間を変化させていた。すなわち、優先権のあるプログラ
ムは、処理目標時間内に処理が完了するようにCPUの
占有権を与える。一方優先権の無いプログラムは、処理
許容時間内に処理が完了するようにCPUの占有権を調
整していた。これにより、複数のプログラムを同時に実
行しながら、且つ、実行プログラムに優先順位を与えて
いた(特開平3 125228)。
権があるプログラムと無いプログラムが事前に判明して
いる場合、実行するプログラムに与えるCPUの占有時
間を変化させていた。すなわち、優先権のあるプログラ
ムは、処理目標時間内に処理が完了するようにCPUの
占有権を与える。一方優先権の無いプログラムは、処理
許容時間内に処理が完了するようにCPUの占有権を調
整していた。これにより、複数のプログラムを同時に実
行しながら、且つ、実行プログラムに優先順位を与えて
いた(特開平3 125228)。
【0003】また、別のプログラム・スケジューリン
グ方法として、実行中のプログラムの処理において、該
プログラムがCPUを占有したCPU消費量とユーザが
設定した負荷要因値をパラメータとしてスケジューリン
グ優先度を計算する。このスケジューリング優先度によ
り各実行中のプログラムに順序をつける。この順序に従
って、各プログラムを実行していた。
グ方法として、実行中のプログラムの処理において、該
プログラムがCPUを占有したCPU消費量とユーザが
設定した負荷要因値をパラメータとしてスケジューリン
グ優先度を計算する。このスケジューリング優先度によ
り各実行中のプログラムに順序をつける。この順序に従
って、各プログラムを実行していた。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
のプログラム・スケジューリング方法においては、実
行されるプログラムの優先権の有無が予め判明している
必要がある。このため、実行されるプログラムにその性
質や数に特定の制限を設けない汎用の計算機システムに
適用できない欠点があった。
のプログラム・スケジューリング方法においては、実
行されるプログラムの優先権の有無が予め判明している
必要がある。このため、実行されるプログラムにその性
質や数に特定の制限を設けない汎用の計算機システムに
適用できない欠点があった。
【0005】また一方、のプログラム・スケジューリ
ング方法では、そのプログラムが過去において、CPU
を占有した時間がパラメータとなって該プログラムの優
先度を決定する。このため、より最近により多くの時間
CPUを占有したプログラムの優先度は、低くなる。よ
って、処理の終了が近づいたプログラムであっても過去
のCPUの占有時間の影響が残っている間、実行されな
い場合がある。このため、各プログラムの実行の実時間
(処理の開始から終了までの時間)が長くなる欠点があ
った。
ング方法では、そのプログラムが過去において、CPU
を占有した時間がパラメータとなって該プログラムの優
先度を決定する。このため、より最近により多くの時間
CPUを占有したプログラムの優先度は、低くなる。よ
って、処理の終了が近づいたプログラムであっても過去
のCPUの占有時間の影響が残っている間、実行されな
い場合がある。このため、各プログラムの実行の実時間
(処理の開始から終了までの時間)が長くなる欠点があ
った。
【0006】この発明の目的は、実行されるプログラム
にその性質や数に特定の制限が設けられていない汎用の
計算機システムで時分割方式でCPUの占有権を各プロ
グラムに与え、各プログラムの実行の実時間を短縮する
プログラム・スケジューリング方法を提供することにあ
る。
にその性質や数に特定の制限が設けられていない汎用の
計算機システムで時分割方式でCPUの占有権を各プロ
グラムに与え、各プログラムの実行の実時間を短縮する
プログラム・スケジューリング方法を提供することにあ
る。
【0007】
【課題を解決するための手段】この発明のマルチプログ
ラム実行管理方法は、複数のプログラムを同時実行する
際に、現在走行している各プログラムの実行の開始から
現在までにCPUを占有した時間であるCPU消費量
と、各プログラムの実行に要するCPU占有時間に相当
する要求CPU時間と、一定時間内にCPUを占有して
走行したプログラムの平均走行数と、ユーザが設定した
負荷要因値とにより各走行プログラムのスケジューリン
グ優先度を計算し、該スケジューリング優先度に従って
各走行プログラムに順序をつけ、各プログラムをこの順
序に従って記憶し、この記憶された順序に従って各走行
プログラムの実行を行うことを特徴とする。
ラム実行管理方法は、複数のプログラムを同時実行する
際に、現在走行している各プログラムの実行の開始から
現在までにCPUを占有した時間であるCPU消費量
と、各プログラムの実行に要するCPU占有時間に相当
する要求CPU時間と、一定時間内にCPUを占有して
走行したプログラムの平均走行数と、ユーザが設定した
負荷要因値とにより各走行プログラムのスケジューリン
グ優先度を計算し、該スケジューリング優先度に従って
各走行プログラムに順序をつけ、各プログラムをこの順
序に従って記憶し、この記憶された順序に従って各走行
プログラムの実行を行うことを特徴とする。
【0008】また、各走行プログラム毎に実行に要した
CPU占有時間の最大値と平均値を実行データとして保
持し、プログラムを新たに実行する際、該プログラムの
前記実行データを前記要求CPU時間としてスケジュー
リングすることを特徴とする。
CPU占有時間の最大値と平均値を実行データとして保
持し、プログラムを新たに実行する際、該プログラムの
前記実行データを前記要求CPU時間としてスケジュー
リングすることを特徴とする。
【0009】
【作用】この発明のプログラム・スケジューリング方法
においては、現在走行している各プログラムの実行の開
始から現在までにCPUを占有した時間であるCPU消
費量と、各プログラムの実行に要するCPU占有時間に
相当する要求CPU時間と、一定時間内にCPUを占有
して走行したプログラムの平均走行数と、ユーザが設定
した負荷要因値とにより各走行プログラムのスケジュー
リング優先度を計算する。そして、このスケジューリン
グ優先度に従って各走行中プログラムに順序を付ける。
この順序で記憶し、この記憶された順序に従って各走行
中プログラムにCPUを占有させて処理を行う。
においては、現在走行している各プログラムの実行の開
始から現在までにCPUを占有した時間であるCPU消
費量と、各プログラムの実行に要するCPU占有時間に
相当する要求CPU時間と、一定時間内にCPUを占有
して走行したプログラムの平均走行数と、ユーザが設定
した負荷要因値とにより各走行プログラムのスケジュー
リング優先度を計算する。そして、このスケジューリン
グ優先度に従って各走行中プログラムに順序を付ける。
この順序で記憶し、この記憶された順序に従って各走行
中プログラムにCPUを占有させて処理を行う。
【0010】さらに、各走行プログラム毎に実行に要し
たCPU占有時間の最大値と平均値を実行データとして
保持する。プログラムを新たに実行する際、該プログラ
ムの前記実行データを前記要求CPU時間としてスケジ
ューリング優先度を計算する。そして、処理が完了する
と、その処理に要したCPU占有時間を加えて、実行デ
ータを更新して保持する。
たCPU占有時間の最大値と平均値を実行データとして
保持する。プログラムを新たに実行する際、該プログラ
ムの前記実行データを前記要求CPU時間としてスケジ
ューリング優先度を計算する。そして、処理が完了する
と、その処理に要したCPU占有時間を加えて、実行デ
ータを更新して保持する。
【0011】
【実施例】この発明の実施例では、UNIXシステムを
使用し、この発明のスケジューリング機能を備えたマル
チプログラム管理方法を説明する。
使用し、この発明のスケジューリング機能を備えたマル
チプログラム管理方法を説明する。
【0012】UNIXシステムは、パーソナルコンピュ
ータ、エンジニアリングワークステーション、ミニコン
ピュータ、スーパーコンピュータ等のあらゆるレベルの
計算機をサポートするオペレーティングシステム(O
S)として幅広く利用されているものである。
ータ、エンジニアリングワークステーション、ミニコン
ピュータ、スーパーコンピュータ等のあらゆるレベルの
計算機をサポートするオペレーティングシステム(O
S)として幅広く利用されているものである。
【0013】図1は、この発明の実施例であるスケジュ
ーリング機能を備えたマルチプログラム実行管理方法の
概念を示す図である。図1を参照しながら、この発明の
実施例を説明する。
ーリング機能を備えたマルチプログラム実行管理方法の
概念を示す図である。図1を参照しながら、この発明の
実施例を説明する。
【0014】スケジューリング優先度計算プログラム1
は、走行可能なプログラムのスケジューリング優先度を
算出する。スケジューリングプログラム2は、前記スケ
ジューリング優先度計算プログラム1により算出された
前記スケジューリング優先度により走行可能プログラム
待ち行列に各プログラムを割り振る。プログラム実行統
計情報記憶部3は、実行可能なプログラムごとに過去の
実行時データとして、これまでの実行回数、これまでの
実行においてCPUを占有した時間の平均値である平均
CPU時間、これまでの実行においてCPUを占有した
時間の最大値である最大CPU時間を記憶するととも
に、プログラムを新たに実行する場合、前記平均CPU
時間と最大CPU時間を前記スケジューリングプログラ
ム2に転送する。走行可能プログラム待ち行列記憶部4
は、前記スケジューリングプログラム2が各プログラム
を割り振った行列と、各走行プログラムごとに計算され
たスケジューリング優先度等の情報を記憶する。この、
記憶される情報の種類等については、後述する。
は、走行可能なプログラムのスケジューリング優先度を
算出する。スケジューリングプログラム2は、前記スケ
ジューリング優先度計算プログラム1により算出された
前記スケジューリング優先度により走行可能プログラム
待ち行列に各プログラムを割り振る。プログラム実行統
計情報記憶部3は、実行可能なプログラムごとに過去の
実行時データとして、これまでの実行回数、これまでの
実行においてCPUを占有した時間の平均値である平均
CPU時間、これまでの実行においてCPUを占有した
時間の最大値である最大CPU時間を記憶するととも
に、プログラムを新たに実行する場合、前記平均CPU
時間と最大CPU時間を前記スケジューリングプログラ
ム2に転送する。走行可能プログラム待ち行列記憶部4
は、前記スケジューリングプログラム2が各プログラム
を割り振った行列と、各走行プログラムごとに計算され
たスケジューリング優先度等の情報を記憶する。この、
記憶される情報の種類等については、後述する。
【0015】複数の走行プログラムの同時実行を行うた
めに、スケジューリング優先度計算プログラム1は、最
初に走行可能プログラムの要求CPU残量の総和(all
d) を求める。
めに、スケジューリング優先度計算プログラム1は、最
初に走行可能プログラムの要求CPU残量の総和(all
d) を求める。
【0016】 all d=rest d(1)+rest d(2)+・・・・ +rest d(n-1)+rest d(n) … (1) rest d(i) は、各走行プログラムの要求CPU残量(過
去の実行時にCPUを占有した平均時間または、最大時
間と今回の走行中にCPUを占有した時間の差)であ
る。
去の実行時にCPUを占有した平均時間または、最大時
間と今回の走行中にCPUを占有した時間の差)であ
る。
【0017】次に、最近のCPU利用の評価値(p cpu)
と最近のCPU利用要求の評価値(p demand) を計算す
る際の減衰フィルタ(filter)を計算する。
と最近のCPU利用要求の評価値(p demand) を計算す
る際の減衰フィルタ(filter)を計算する。
【0018】 filter=(2*load)/(2*load+1) … (2) loadは、単位時間あたりにCPUを占有して走行したプ
ログラム数の平均である。
ログラム数の平均である。
【0019】そして、各走行プログラムに対し、新たに
最近のCPU利用の評価値(p cpu)と最近のCPU利用
要求の評価値(p demand) を計算する。
最近のCPU利用の評価値(p cpu)と最近のCPU利用
要求の評価値(p demand) を計算する。
【0020】 p cpu(i)=filter*(t(i)+p cpu(i)) … (3) p demand(i)=k*filter*((all d-rest d(i))/all d+p demand(i)) … (4) t(i)は、前回スケジューリング優先度を計算して、今回
スケジューリング優先度を計算しなおす迄に各プログラ
ムがCPUを占有した時間である最近のCPU消費量。
k は、負の値の重み付け定数で、システムの使用環境に
合わせて設定されている。
スケジューリング優先度を計算しなおす迄に各プログラ
ムがCPUを占有した時間である最近のCPU消費量。
k は、負の値の重み付け定数で、システムの使用環境に
合わせて設定されている。
【0021】上記(1)(2)(3)(4)式の結果を用いて、各走
行プログラムのスケジューリング優先度(p usrpri(i))
を算出する。ここで算出されるスケジューリング優先度
は、値が大きい程、プログラムの優先度は、低くなる。
行プログラムのスケジューリング優先度(p usrpri(i))
を算出する。ここで算出されるスケジューリング優先度
は、値が大きい程、プログラムの優先度は、低くなる。
【0022】 p usrpri(i)=PUSER+p cpu(i)+p demand(i)+p nice(i) … (5) PUSER は、優先度に最低値を与えるものでユーザプログ
ラムがシステムプログラムより優先度が高くなることを
防止している。また、p nice(i) は、ユーザが設定する
負荷要因値である。
ラムがシステムプログラムより優先度が高くなることを
防止している。また、p nice(i) は、ユーザが設定する
負荷要因値である。
【0023】この式により算出された走行プログラムの
スケジューリング優先度は、0〜127の値をとり、1
27以上の値となる場合には、127となる。また、PU
SERよりも小さい値を取る場合には、PUSER と同じ値に
なる。
スケジューリング優先度は、0〜127の値をとり、1
27以上の値となる場合には、127となる。また、PU
SERよりも小さい値を取る場合には、PUSER と同じ値に
なる。
【0024】スケジューリング優先度計算プログラム1
において、上記式(1) 〜(5) により算出された各走行プ
ログラムのスケジューリング優先度は、スケジューリン
グ手段2に渡される。この各走行プログラムのスケジュ
ーリング優先度よりスケジューリング手段2において、
各走行可能プログラム待ち行列のどの列に置くかを決定
する。図2は、走行可能プログラム待ち行列の概念図で
ある。UNIXシステムにおいては、この走行可能プロ
グラム待ち行列の列は32列ある。上記算出されたスケ
ジューリング優先度の値を4で割って、その値が、走行
可能プログラム待ち行列の対応する列に各プログラムを
割り振る。
において、上記式(1) 〜(5) により算出された各走行プ
ログラムのスケジューリング優先度は、スケジューリン
グ手段2に渡される。この各走行プログラムのスケジュ
ーリング優先度よりスケジューリング手段2において、
各走行可能プログラム待ち行列のどの列に置くかを決定
する。図2は、走行可能プログラム待ち行列の概念図で
ある。UNIXシステムにおいては、この走行可能プロ
グラム待ち行列の列は32列ある。上記算出されたスケ
ジューリング優先度の値を4で割って、その値が、走行
可能プログラム待ち行列の対応する列に各プログラムを
割り振る。
【0025】走行可能プログラム待ち行列記憶部3は、
前記スケジューリング手段2で割り振られた各プログラ
ムを行列として記憶するとともに各プログラムに対応す
る最近のスケジューリング優先度(p usrpri(i) )、最
近のCPU利用の評価値(pcpu(i))、最近のCPU利
用要求の評価値(p demand(i) )、負荷要因値(p nice
(i) )、最近のCPU消費量(t(i))、総CPU消費量
(used(i) )、拡張要求CPU量(ext d(i))、要求C
PU残量(rest d(i) )を保持する。ここで“最近の
“と表現されているのは、上記(1) 〜(5) 式によりスケ
ジューリング優先度が新しく計算されるまでの値を示
す。
前記スケジューリング手段2で割り振られた各プログラ
ムを行列として記憶するとともに各プログラムに対応す
る最近のスケジューリング優先度(p usrpri(i) )、最
近のCPU利用の評価値(pcpu(i))、最近のCPU利
用要求の評価値(p demand(i) )、負荷要因値(p nice
(i) )、最近のCPU消費量(t(i))、総CPU消費量
(used(i) )、拡張要求CPU量(ext d(i))、要求C
PU残量(rest d(i) )を保持する。ここで“最近の
“と表現されているのは、上記(1) 〜(5) 式によりスケ
ジューリング優先度が新しく計算されるまでの値を示
す。
【0026】そして、スケジューリングプログラム2
は、走行可能プログラム待ち行列の優先度の高い列から
走行可能プログラム待ち行列を走査し、最初に出会った
空でない走行可能プログラム待ち行列に記憶されている
プログラムを選択する。この選択されたプログラムにC
PUの占有権を渡す。該プログラムは、許されたCPU
の占有時間、CPUを占有して実行される。しかしなが
ら、スケジューリング優先度を計算しなおす時間が経過
すると、該プログラムの実行は、中断される。そして、
再度スケジューリング優先度を計算する。該プログラム
のCPUの占有時間が経過し、まだ、スケジューリング
優先度を計算しなおす時間が経過していない場合、さら
に走行可能プログラム待ち行列を走査して次に優先度の
高いプログラムの実行を行う。一方、走行可能プログラ
ム待ち行列の列に複数のプログラムが登録されている場
合、その列の最初の行に登録されているプログラムを選
択する。上記同様にこのプログラムを実行する。実行
後、このプログラムは、登録されている列の最後尾に移
動し、つぎに、先頭に来たプログラムの処理を行う。ス
ケジューリング優先度を計算しなおす時間を使い切るま
で、各プログラムの実行を行う。スケジューリング優先
度を計算しなおす時間になると、走行中プログラムの実
行を中断し、再度スケジューリング優先度の計算を行
う。その後、上記動作を繰り返し行う。
は、走行可能プログラム待ち行列の優先度の高い列から
走行可能プログラム待ち行列を走査し、最初に出会った
空でない走行可能プログラム待ち行列に記憶されている
プログラムを選択する。この選択されたプログラムにC
PUの占有権を渡す。該プログラムは、許されたCPU
の占有時間、CPUを占有して実行される。しかしなが
ら、スケジューリング優先度を計算しなおす時間が経過
すると、該プログラムの実行は、中断される。そして、
再度スケジューリング優先度を計算する。該プログラム
のCPUの占有時間が経過し、まだ、スケジューリング
優先度を計算しなおす時間が経過していない場合、さら
に走行可能プログラム待ち行列を走査して次に優先度の
高いプログラムの実行を行う。一方、走行可能プログラ
ム待ち行列の列に複数のプログラムが登録されている場
合、その列の最初の行に登録されているプログラムを選
択する。上記同様にこのプログラムを実行する。実行
後、このプログラムは、登録されている列の最後尾に移
動し、つぎに、先頭に来たプログラムの処理を行う。ス
ケジューリング優先度を計算しなおす時間を使い切るま
で、各プログラムの実行を行う。スケジューリング優先
度を計算しなおす時間になると、走行中プログラムの実
行を中断し、再度スケジューリング優先度の計算を行
う。その後、上記動作を繰り返し行う。
【0027】また、新しいプログラムを走行するとき、
スケジューリングプログラム2は、そのプログラムの起
動コマンド名をプログラム実行統計情報記憶部3に渡
す。プログラム実行統計情報記憶部3は、この起動コマ
ンド名を受けたことによりスケジューリングプログラム
2へ、該プログラムの平均CPU時間、最大CPU時間
を転送する。スケジューリングプログラム2は、この平
均CPU時間を要求CPU残量としてセットする。ま
た、最大CPU時間と平均CPU時間の差を拡張要求C
PU量としてセットする。これは、プログラムが走行中
に要求CPUの残量が0となった場合、要求CPU残量
にセットされる。
スケジューリングプログラム2は、そのプログラムの起
動コマンド名をプログラム実行統計情報記憶部3に渡
す。プログラム実行統計情報記憶部3は、この起動コマ
ンド名を受けたことによりスケジューリングプログラム
2へ、該プログラムの平均CPU時間、最大CPU時間
を転送する。スケジューリングプログラム2は、この平
均CPU時間を要求CPU残量としてセットする。ま
た、最大CPU時間と平均CPU時間の差を拡張要求C
PU量としてセットする。これは、プログラムが走行中
に要求CPUの残量が0となった場合、要求CPU残量
にセットされる。
【0028】プログラムの実行が終了すると、スケジュ
ーリングプログラム2は、実行に要したCPUの占有時
間をプログラム実行統計記憶部3に転送する。プログラ
ム実行統計記憶部3は、これにより過去の実行データと
なる、平均CPU時間、最大CPU時間、実行回数のデ
ータを更新する。
ーリングプログラム2は、実行に要したCPUの占有時
間をプログラム実行統計記憶部3に転送する。プログラ
ム実行統計記憶部3は、これにより過去の実行データと
なる、平均CPU時間、最大CPU時間、実行回数のデ
ータを更新する。
【0029】この発明の実施例に基づいて動作確認のシ
ミュレーションを下記の条件で行った。
ミュレーションを下記の条件で行った。
【0030】プログラムの実行に許される1回のCP
Uの占有時間は、10ms。
Uの占有時間は、10ms。
【0031】スケジューリング優先度を計算しなおす
時間は、1s 。
時間は、1s 。
【0032】プログラムは、5つで、各走行プログラ
ムとも3つのコマンドから構成されている。
ムとも3つのコマンドから構成されている。
【0033】各プログラムのコマンドの要求CPU量
は、下記に示す。
は、下記に示す。
【0034】 プログラム1 − 200s・500s・100s プログラム2 − 200s・400s・100s プログラム3 − 200s・600s・100s プログラム4 − 200s・500s・100s プログラム5 − 200s・400s・100s 各プログラムの処理開始時刻は、順に0、100、2
00、300、400sである。
00、300、400sである。
【0035】(4) 式の負の重み付け定数であるk は、
−0.8とした。
−0.8とした。
【0036】1分間の走行プログラム数から1秒間の
平均走行プログラム数を算出して、平均走行プログラム
数(load) とした。
平均走行プログラム数を算出して、平均走行プログラム
数(load) とした。
【0037】ユーザが設定する負荷要因値であるp ni
ce=0。
ce=0。
【0038】図3は、シミュレーション結果を示す図で
ある。図3(A)は、本発明の実施例によるシミュレー
ション結果である。図3(B)は、比較のために従来の
スケジューリング方法(従来例の、式(5) の右辺第3
項であるp demand(i) を外した)によるシミュレーショ
ン結果である。
ある。図3(A)は、本発明の実施例によるシミュレー
ション結果である。図3(B)は、比較のために従来の
スケジューリング方法(従来例の、式(5) の右辺第3
項であるp demand(i) を外した)によるシミュレーショ
ン結果である。
【0039】図3(A)の比較の項は、各処理の実時間
と処理全体の実時間を従来例のによるシミュレーショ
ンとの増減を比較して100分率で表示したものであ
る。
と処理全体の実時間を従来例のによるシミュレーショ
ンとの増減を比較して100分率で表示したものであ
る。
【0040】この発明の実施例であるシミュレーション
において、5つのプログラム中3つのプログラム2・4
・5が実時間の短縮が図られている。また、全体でも
3.3%の実時間の短縮が図れた。更に、プログラム2
においては、10.5%もの大幅な実時間の短縮が図ら
れている。
において、5つのプログラム中3つのプログラム2・4
・5が実時間の短縮が図られている。また、全体でも
3.3%の実時間の短縮が図れた。更に、プログラム2
においては、10.5%もの大幅な実時間の短縮が図ら
れている。
【0041】
【発明の効果】以上のように、この発明によれば、最近
のCPU利用要求の評価値をスケジューリング優先度の
計算に反映させることにより、実行の終了が近づいたプ
ログラムの優先度が上がる。これにより、各実行可能プ
ログラムの実行の実時間の短縮が図れる。
のCPU利用要求の評価値をスケジューリング優先度の
計算に反映させることにより、実行の終了が近づいたプ
ログラムの優先度が上がる。これにより、各実行可能プ
ログラムの実行の実時間の短縮が図れる。
【図1】この発明の実施例であるマルチプログラム実行
管理方法の概念を示す図である。
管理方法の概念を示す図である。
【図2】同実施例である走行可能プログラム待ち行列記
憶部の概念を示す図である。
憶部の概念を示す図である。
【図3】同実施例に基づくシミュレーション結果を示す
図である。
図である。
1−スケジューリング優先度計算プログラム 2−スケジューリングプログラム 3−プログラム実行統計情報記憶部 4−走行可能プログラム待ち行列記憶部
Claims (2)
- 【請求項1】 複数のプログラムを同時実行する際に、
現在走行している各プログラムの実行の開始から現在ま
でにCPUを占有した時間であるCPU消費量と、各プ
ログラムの実行に要するCPU占有時間に相当する要求
CPU時間と、一定時間内にCPUを占有して走行した
プログラムの平均走行数と、ユーザが設定した負荷要因
値とにより各走行プログラムのスケジューリング優先度
を計算し、該スケジューリング優先度に従って各走行プ
ログラムに順序をつけ、各プログラムをこの順序に従っ
て記憶し、この記憶された順序に従って各走行プログラ
ムの実行を行うことを特徴とするマルチプログラム実行
管理方法。 - 【請求項2】 各走行プログラム毎に実行に要したCP
U占有時間の最大値と平均値を実行データとして保持
し、プログラムを新たに実行する際、該プログラムの前
記実行データを前記要求CPU時間としてスケジューリ
ング優先度を計算することを特徴とする請求項1記載の
マルチプログラム実行管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP90593A JPH06202884A (ja) | 1993-01-07 | 1993-01-07 | マルチプログラム実行管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP90593A JPH06202884A (ja) | 1993-01-07 | 1993-01-07 | マルチプログラム実行管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06202884A true JPH06202884A (ja) | 1994-07-22 |
Family
ID=11486699
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP90593A Pending JPH06202884A (ja) | 1993-01-07 | 1993-01-07 | マルチプログラム実行管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06202884A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11232058A (ja) * | 1998-02-09 | 1999-08-27 | Fuji Xerox Co Ltd | 機器情報管理装置 |
| JP2008107875A (ja) * | 2006-10-23 | 2008-05-08 | Nec Corp | ジョブ制御装置及びジョブ制御プログラム |
| JP2010198184A (ja) * | 2009-02-24 | 2010-09-09 | Nec Corp | ジョブ管理システム、その方法及びそのプログラム |
-
1993
- 1993-01-07 JP JP90593A patent/JPH06202884A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11232058A (ja) * | 1998-02-09 | 1999-08-27 | Fuji Xerox Co Ltd | 機器情報管理装置 |
| JP2008107875A (ja) * | 2006-10-23 | 2008-05-08 | Nec Corp | ジョブ制御装置及びジョブ制御プログラム |
| JP2010198184A (ja) * | 2009-02-24 | 2010-09-09 | Nec Corp | ジョブ管理システム、その方法及びそのプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6560628B1 (en) | Apparatus, method, and recording medium for scheduling execution using time slot data | |
| JP2940450B2 (ja) | クラスタ型コンピュータのジョブスケジュール方法及び装置 | |
| US5898870A (en) | Load balancing for a parallel computer system by employing resource utilization target values and states | |
| US5903757A (en) | Monitoring and handling of exception conditions in computer system | |
| JPS58203558A (ja) | 計算機・記憶装置へのフアイル割り当て方式 | |
| CN113467933B (zh) | 分布式文件系统线程池优化方法、系统、终端及存储介质 | |
| US20030037091A1 (en) | Task scheduling device | |
| US6473780B1 (en) | Scheduling of direct memory access | |
| US7533206B2 (en) | Resource management device | |
| CN116881299B (zh) | 一种查询任务执行方法、装置、计算机设备及存储介质 | |
| CN116932201A (zh) | 一种面向深度学习训练任务的多资源共享调度方法 | |
| US20050066093A1 (en) | Real-time processor system and control method | |
| JPH06202884A (ja) | マルチプログラム実行管理方法 | |
| CN112650566B (zh) | 定时任务处理方法、装置、计算机设备和存储介质 | |
| US20080127194A1 (en) | Job allocation program and job allocation method | |
| JP2002099435A (ja) | マルチタスク制御方法および情報処理装置 | |
| JP3876818B2 (ja) | マルチプロセッサ計算機及びプログラム | |
| JP7355456B2 (ja) | Cpuリソース管理装置 | |
| CN119045977B (zh) | 一种任务调度方法及装置 | |
| JPH04326434A (ja) | ジョブ実行予測精度向上制御方法 | |
| JPS6368934A (ja) | タスクスケジユ−ル方式 | |
| JP2001142723A (ja) | 資源配分方法、計算機システム及び記録媒体 | |
| JP6729430B2 (ja) | 電子制御装置 | |
| JP2890569B2 (ja) | プロセス制御装置 | |
| US20230367633A1 (en) | Gpu and gpu method |