JPH0816410A - スケジュール制御装置とその方法 - Google Patents
スケジュール制御装置とその方法Info
- Publication number
- JPH0816410A JPH0816410A JP6148322A JP14832294A JPH0816410A JP H0816410 A JPH0816410 A JP H0816410A JP 6148322 A JP6148322 A JP 6148322A JP 14832294 A JP14832294 A JP 14832294A JP H0816410 A JPH0816410 A JP H0816410A
- Authority
- JP
- Japan
- Prior art keywords
- job
- waiting
- execution
- priority
- processing elements
- 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
Links
Abstract
セッサ要素を用いたジョブの実行、システム資源要求量
に応じたジョブ優先度の設定、設定された優先度に応じ
た適切なジョブの実行、緊急ジョブの優先処理等を可能
にする。 【構成】 複数のジョブキューにより実行待ちジョブお
よび実行中ジョブを管理し、各ジョブのシステム資源要
求量、待ち時間等に応じて所属キューおよびキュー内優
先度を設定する。所属キューおよびキュー内優先度は動
的に見直され、これらに従ってジョブのスケジューリン
グが行われる。実行中の非優先実行ジョブはスワップア
ウトの対象となり、スワップアウトされたプロセッサ要
素は実行待ちの優先実行ジョブを起動するために割り当
てられる。
Description
理システムにおけるスケジュール制御装置とその方法に
関する。
大に伴い処理を高速化するために、しばしば並列処理能
力を持つ計算機システムが用いられている。特に、膨大
な計算量を必要とする科学技術計算等の分野において
は、このような並列計算機システムの資源をできる限り
有効に利用することが望まれる。
足する処理能力やメモリ量をプロセッサ要素(PE)の
台数で補うことができるため、要求するPE台数が異な
る種々の大きさのジョブがシステムに投入される。従来
の並列計算機では、これらの複数のジョブを処理するた
めに、同時に実行可能なジョブの規模とジョブ数を定義
し、投入されたジョブをその規模によりクラス分けし、
クラス毎に決められたPEを用いて順次処理している。
けるジョブスケジューリング方式を示している。図32
では、システムに設置されている複数のPEは、小規模
ジョブ用2個、中規模ジョブ用1個、大規模ジョブ用1
個の4つのクラスに分割される。到着したジョブはその
規模に応じてクラス分けされ、各クラスに対応する1台
以上のPEにより実行される。
ら次に実行すべきジョブを決定し、実行を開始するため
に必要な手続きを取るための、ジョブの起動のアルゴリ
ズムを組み込むだけで比較的簡単にジョブをスケジュー
リングできる。また、クラス毎にジョブをスケジューリ
ングするため、各ジョブの実行順序が明確である。
にある限り、常時指定された本数(クラスの数)のジョ
ブが実行される。したがって、各ジョブがクラス毎に割
り当てられた制限台数のPEを全て使用していれば、未
割り当てのPEは発生しない。
ジョブスケジューリング方式には以下のような問題点が
ある。
ョブを実行するクラス、および実行すべきジョブがまだ
到着していないクラスでは未使用のPEが発生するが、
後続のジョブや後に到着するジョブに対するPEの割り
当てを確実に行うためには未使用のPEを他のクラスの
ジョブに割り当てることができない。したがって、実行
中のジョブが終了するまで、あるいはジョブが到着する
まで未使用のPEを休ませることになり、PEの有効利
用が図れない。
するジョブが到着していない場合、このクラスのPEは
全て休止状態となるが、これらに小規模ショブや中規模
ショブを実行させると、次に到着した大規模ジョブを直
ちに実行できない恐れがある。そこで大規模ジョブのク
ラスには他のクラスのジョブを投入せずに、PEを休止
させることになる。
えないため、各クラスのジョブを実行するPEが固定化
され、ジョブスケジュールをシステム資源要求量に応じ
た優先度で柔軟に制御することが不可能である。
を同時に使用するような規模のジョブを実行するために
は、一時的に運用方式の異なる時間帯を設けて他のクラ
スの実行を停止する必要があり、時間帯により実行でき
るジョブのクラスが制限されることになる。また、決め
られた運用時間帯内で終了できなかったジョブの処置方
法を決めなければならず、運用方法が複雑となる。
で利用可能なPE台数の変動が予定されている場合、実
行待ちジョブの中から次に実行すべきジョブを決定する
だけでジョブを起動させる方式では、ジョブの実行中に
PE台数が不足する恐れがある。したがって、システム
停止やPE台数の変更を予定通り行えない。
ブの使用PE台数を限定せずに任意台数のPEの割り当
てを可能とし、全てのジョブを要求PE台数に応じた優
先度で処理する方法が考えられる。しかし、ジョブの優
先度を固定すると、優先度の高いジョブがある限り優先
度の低いジョブは起動されず、また大規模なジョブの場
合は優先度を高くしても処理できない可能性がある。し
たがって、一般にジョブの起動アルゴリズムだけではジ
ョブ処理時間の統一的管理を行うことは極めて難しい。
鑑みてなされたものであり、並列処理システムの資源を
有効かつ柔軟に活用するスケジュール制御装置とその方
法を提供することを目的とする。
いて、任意の数のプロセッサ要素を用いたジョブの実
行、システム資源要求量に応じたジョブ優先度の設定、
設定された優先度に応じた適切なジョブの実行、緊急ジ
ョブの優先処理等を可能にすることを目的とする。
素が並列に処理を行う並列処理システムにおけるスケジ
ュール制御装置とその方法である。並列処理システムと
して、例えば複数ジョブの同時実行が可能な並列計算機
システムを対象とする。
原理図である。本発明のスケジュール制御装置は、スケ
ジュール制御手段1、優先度制御手段2、優先度変更手
段3、割り当て制御手段4、割り当て判定手段5、起動
予定設定手段6、実行中断手段7、実行再開手段8、お
よびプレステージ制御手段9を備える。
複数の実行待ちジョブキューを有し、優先レベルおよび
キュー内優先度に応じて実行待ちジョブキュー内の実行
待ちジョブの起動順位を管理する。このとき、実行待ち
ジョブの所属する実行待ちジョブキューおよびそのキュ
ー内優先度を、実行待ちジョブの要求する処理要素数等
の資源量と実行待ちジョブが発生してからの待ち時間と
実行待ちジョブの実行時間のうち、少なくとも1つを用
いて決定する。また、時間の経過に伴い実行待ちジョブ
の起動順位を動的に見直し、待ち時間が長い実行待ちジ
ョブほど起動順位を早める。
異なる複数の実行中ジョブキューを有し、優先レベルお
よびキュー内優先度に応じて実行中ジョブキュー内の実
行中ジョブの優先順位を管理し、時間の経過に伴い優先
順位を動的に見直す。
ジョブの重要度に応じて、その実行待ちジョブの所属す
る実行待ちジョブキューおよびそのキュー内優先度を変
更する。また、指定された実行中ジョブの重要度に応じ
て、その実行中ジョブの所属する実行中ジョブキューお
よびそのキュー内優先度を変更する。
ョブキューのうち、所定優先レベル以上の実行待ちジョ
ブキュー内の実行待ちジョブに優先的に処理要素を割り
当てる。このとき、必要があれば実行中断手段7により
中断された実行中のジョブが使用していた処理要素を、
上記所定優先レベル以上の実行待ちジョブキュー内の実
行待ちジョブに割り当てる。また、優先度制御手段2が
管理する起動順位に従って、可能な限り多くの実行待ち
ジョブに未使用の処理要素を割り当てる。
の数が実行待ちジョブキュー内の実行待ちジョブを実行
するために必要な処理要素の数以上か否かを判定する。
また、優先度の高い未実行処理(未実行ジョブ)の開始
時刻までに実行を終了する予定の新規処理に対しては、
処理要素の割り当てが可能と判定し、上記開始時刻まで
に終了しない予定の新規処理に対しては、処理要素の割
り当てが不可能と判定する。使用可能な処理要素の数が
変動することが予定されているときには、変動後の使用
可能な処理要素の数と、未実行処理を実行するために必
要な処理要素の数を基にして、未実行処理への処理要素
の割り当てが可能か否かを判定する。このとき、並列処
理システムにおいて使用中および使用可能である処理要
素をあわせた利用可能な処理要素の数と、並列処理シス
テムにおいて使用中の処理要素の数とを基にして、上記
使用可能な処理要素の数を求める。
ステム内で同時に中断される処理要素の最大数と、1つ
の実行待ちジョブを起動するために中断される処理要素
の最大数と、必要な処理要素数または実行時間のうち少
なくとも1つを用いて指定される規模以下のジョブが使
用中の処理要素の数とを基にして、中断可能処理要素数
を決める。
するために使用可能な処理要素の数が、未実行処理のた
めに必要な処理要素の数以上となる時刻を求めて、上記
開始時刻とし、割り当て判定手段5に伝える。使用可能
な処理要素の数が変動することが予定されているとき
は、変動後の使用可能な処理要素の数が未実行処理のた
めに必要な処理要素の数以上となるように上記開始時刻
を設定する。
が所定優先レベル以上の実行待ちジョブキュー内の実行
待ちジョブを実行するために必要な処理要素の数に満た
ない、かつ、所定優先レベル以上の実行待ちジョブキュ
ー内の実行待ちジョブを起動するために必要な処理要素
の数が、未使用の処理要素の数と中断可能処理要素数の
合計以内であると割り当て判定手段5が判定したとき、
実行中のジョブを中断する。このとき、複数の実行中ジ
ョブキューのうち、所定優先レベルに満たない実行中ジ
ョブキュー内の実行中のジョブを中断する。
中断された実行中のジョブが、上記所定優先レベル以上
の実行中ジョブキューに属するとき、実行待ちジョブキ
ュー内の実行待ちジョブより優先的に処理要素を割り当
てて、その中断された実行中のジョブを再開する。
ブの所属する実行待ちジョブキューおよびそのキュー内
優先度とプレステージ容量とに応じて決められる順序に
従って、その実行待ちジョブが使用するデータを予め転
送速度の速い媒体に転送する。
段2と割り当て制御手段4を用いて、並列処理システム
におけるジョブの実行のスケジューリングを行う。この
とき、割り当て判定手段5の判定結果を用いて運用予定
に従ったスケジューリングを行う。
例えば図2の並列計算機システム27であり、処理要素
はプロセッサ要素(PE)30−1等に対応する。ま
た、スケジュール制御手段1、割り当て制御手段4、割
り当て判定手段5、起動予定設定手段6、実行中断手段
7、実行再開手段8、およびプレステージ制御手段9
は、それぞれ図7のスケジュール制御プログラム41、
ジョブ起動処理プログラム43、PEの割り当て判定プ
ログラム45、起動予定時刻算出プログラム48、スワ
ップアウト処理プログラム46、スワップイン処理プロ
グラム42、およびプレステージ処理プログラム44を
実行するコントロール・プロセッサ28またはフロント
エンド・プロセッサ22により実現される。さらに、優
先度制御手段2と優先度変更手段3は、キュー情報制御
プログラム47を実行するコントロール・プロセッサ2
8またはフロントエンド・プロセッサ22に相当する。
実行待ちジョブキューおよび実行中ジョブキューによ
り、実行待ちジョブの起動順位および実行中ジョブの優
先順位を管理する。これによりジョブが統一的に管理さ
れ、ジョブの起動順位や優先順位の動的な見直しが可能
になる。また、優先度変更手段3によるジョブの順位の
変更も容易に行うことができる。
要求資源量と実行時間を用いて決定すれば、発生したジ
ョブの規模に応じて順位を指定することができる。ジョ
ブの起動順位や優先順位をその待ち時間を用いて決定す
れば、待ち時間に応じた順位の指定が可能になり、例え
ば待ち時間の長いジョブを優先的に起動させることがで
きる。
よび実行中ジョブの所属するジョブキューおよびそのキ
ュー内優先度を変更できるので、システム管理者等によ
り指定されるジョブの重要度や緊急度に応じて、ジョブ
の順位をフレキシブルに変えられる。
行待ちジョブに未使用の処理要素を割り当てるので、処
理要素の有効利用が図られる。ジョブの使用する処理要
素の数を限定しないため、後続ジョブの規模とは無関係
に処理要素を割り当てることができる。また、実行中断
手段7により実行中のジョブを中断してでも、所定優先
レベル以上の実行待ちジョブキュー内の実行待ちジョブ
に必要な数の処理要素を割り当てるので、所定優先レベ
ル以上のジョブは優先的に起動される。
数とジョブの実行に必要な処理要素の数を比較し、その
ジョブに処理要素の割り当てが可能か否かを判定する。
優先度の高い未実行処理の開始時刻までに実行を終了す
る予定の新規処理に対しては、処理要素の割り当てが可
能と判定するので、その新規処理を行うことにより未使
用の処理要素が有効に利用される。使用可能な処理要素
の数が変動する場合には、変動後の使用可能な処理要素
の数と必要な処理要素の数を基にして、未実行処理への
処理要素の割り当てが可能か否かを判定するので、その
未実行処理の起動により処理要素数の変更予定が妨害さ
れることを防ぐことができる。
理要素の最大数と1つの実行待ちジョブを起動するため
に中断される処理要素の最大数とを設け、中断可能処理
要素数を制限すれば、頻繁な処理の中断によるシステム
オーバヘッドの増加を防ぐことができる。また、指定規
模以下のジョブが使用中の処理要素の数を中断可能処理
要素数に設定すれば、大規模ジョブが使用中の処理要素
を中断対象から外すことが可能になり、大規模ジョブの
中断によるシステムオーバヘッドの増加および処理要素
の利用率の大幅低下が防がれる。
があった場合でも使用可能な処理要素の数が必要な処理
要素の数以上となるように未実行処理の開始時刻を設定
するので、上記開始時刻に起動された未実行処理がシス
テム停止や処理要素数の削減等の運用予定を妨げること
はない。
たない実行中ジョブキュー内の実行中のジョブを中断す
れば、実行待ちのジョブを起動する際に不足する処理要
素を補うことができる。また、所定優先レベル以上の実
行中ジョブキュー内の実行中のジョブは中断されない
で、終了するまで優先的に実行される。
先度の見直し等により所定優先レベル以上の実行中ジョ
ブキューに属するようになったとき、実行再開手段8が
実行待ちジョブより優先的に処理要素を割り当てるの
で、その中断されたジョブが早く再開される。
ジョブの起動順位に応じてデータのプレステージ順位が
決められるので、動的に変化する起動順位に従ったプレ
ステージ処理が可能になる。また、所定のプレステージ
容量に収まるデータについてのみプレステージ順位を決
めればよい。
御手段2が管理するジョブの起動順位および優先順位、
割り当て制御手段4による処理要素の割り当て、および
割り当て判定手段5の判定結果等が並列処理システムに
おけるジョブスケジューリングに反映される。
ついて説明する。図2は、本発明の実施例のスケジュー
ル制御装置を備える情報処理装置の構成図である。図2
の情報処理装置は、フロントエンド・プロセッサ(FE
P)22、並列計算機システム27、および高速システ
ム記憶ユニット(SSU)31を有する。
ットワーク29に接続されたn個のプロセッサ要素(P
E)30−1〜30−nと、これらを制御するコントロ
ール・プロセッサ(CP)28を備える。コントロール
・プロセッサ28は、運用スケジュールテーブル21に
より決められた並列計算機システム27の運用予定にし
たがって、PE30−1〜30−nに自動運転を行わせ
る自動化プログラム23−2と、PE30−1〜30−
nに実行させるジョブのスケジューリングを行うスケジ
ューラ24−2を格納し、これらを実行する。
のオン・オフ制御やシステム故障時の対処等の処理を行
い、スケジューラ24−2は、管理テーブルを用いたジ
ョブの管理、管理テーブルの更新、ジョブの起動等の処
理を行う。
ぞれ自動化プログラム23−2、スケジューラ24−2
と連携して処理を行う自動化プログラム23−1、スケ
ジューラ24−1を格納し、これらを実行することによ
り並列計算機システム27の運用をサポートしている。
スケジューラ24−1は、基本的にはスケジューラ24
−2と同じ機能を持つが、PE30−1〜30−nの台
数は意識しないで処理を行う。
PE30−1〜30−nが実行する個々のジョブを記述
したユーザプログラム25を格納し、それらのジョブが
処理するデータを格納した磁気ディスク26を備える。
ユーザプログラム25は、フロントエンド・プロセッサ
22によりコンパイルおよびリンクが行われた後に、コ
ントロール・プロセッサ28に送られ、PE30−1等
により実行される。このような構成を採ることにより並
列計算機システム27の負担が軽減され、並列計算機シ
ステム27の運用効率が高められる。
フロントエンド・プロセッサ22により、対応するジョ
ブを実行する前に予めプレステージされて高速システム
記憶ユニット31に格納される。プレステージを行うこ
とにより、ジョブ実行時のデータ転送に伴う待ち時間を
短縮し、システムの処理能力を高めることができる。
0−1等の電源をオン・オフする日時やシステム停止
(SYSTEM STOP )の日時などの運用予定を記述したテー
ブルで、システム管理者によりフロントエンド・プロセ
ッサ22およびコントロール・プロセッサ28に入力さ
れる。図2では、例えば4月28日の午前9時にPG1
(Power Control Group 1)とPG2に属するPEの電
源を入れる(オンする)ことが予定されている。PG1
等は、PE30−1〜30−nのうちの1つ以上のPE
から成る電源の制御単位を表す。
1、24−2は、以下に説明する動的優先度制御方式、
PE割り当て方式、割り当て可否判定方式、長時間待ち
ジョブの優先割り当て方式、スワップアウト制御方式、
起動予定時刻設定方式、プレステージ制御方式、優先度
変更方式の8つの方式を採用することによりジョブスケ
ジューリングを行い、PEの有効利用を図る。
優先度制御方式を説明する図である。図3の○印は各ジ
ョブキューに繋がれているジョブを表す。ジョブの優先
度は、所属するキューの優先度が高いジョブほど高く、
同一キューのジョブ間ではキュー内優先度の高いジョブ
ほど高い。ジョブの投入時には指定された関数を使用し
て実行待ちジョブ管理キュー内の所属キューおよびキュ
ー内優先度を決定し、その後のスケジュール契機にはジ
ョブの所属キューおよびキュー内優先度を見直して、キ
ュー毎に優先度の高い順にジョブを管理する。
行中ジョブ管理キューは、それぞれ最優先ジョブキュ
ー、優先ジョブキュー、非優先ジョブキューの3本のキ
ューから成る。到着した優先ジョブは実行待ちジョブ管
理キューの最優先ジョブキューまたは優先ジョブキュー
に繋がれ、優先度の低い一般ジョブは非優先ジョブキュ
ーに繋がれる。実行待ちジョブ管理キューの各ジョブキ
ューの先頭に達したジョブは、その時点での優先度に応
じて例えば優先度のより高いジョブキューの最後尾に繋
がれ、実行が開始されたジョブは、その優先度に応じて
実行中ジョブ管理キューのいずれかのジョブキューに繋
がれる。
ー情報制御プログラム47により行われる。本実施例で
は、実行待ちジョブ管理キューおよび実行中ジョブ管理
キューの最優先ジョブキュー、優先ジョブキュー、非優
先ジョブキュー内のジョブの優先度PR1、PR2、P
R3を、それぞれ次式(1)、(2)、(3)により設
定する。 PR1=−〔 sqrt (使用PE台数)×ジョブ実行時間(秒)〕×3.0 +待ち時間(秒) ……(1) PR2=−〔 sqrt (使用PE台数)×ジョブ実行時間(秒)〕×3.0 +待ち時間(秒) ……(2) PR3=−〔 sqrt (使用PE台数)×ジョブ実行時間(秒)〕×0.25 +待ち時間(秒) ……(3) (1)、(2)、(3)式において、使用PE台数は該
当するジョブの実行に必要なPE台数であり、ジョブ実
行時間はジョブの開始から終了までに要する時間であ
り、待ち時間はジョブが到着してから待たされた時間で
ある。また、PR1等の値が大きいジョブ程、そのジョ
ブキュー内での優先度が高いものとする。
て、実行待ちジョブ管理キューおよび実行中ジョブ管理
キューに繋がれたジョブの優先度を見直す処理のフロー
チャートである。これらの式が示すように、待ち時間が
長いジョブほど優先度が上がるため、適当な契機に優先
度を見直してジョブを繋ぐキューを変更する必要があ
る。図4の処理もキュー情報制御プログラム47により
行われる。
PE台数とジョブ実行時間から(3)式によりPR3を
計算し(ステップS1)、PR3<0の場合には(ステ
ップS2、YES)、非優先ジョブキューへ繋ぎ(ステ
ップS7)、以後PR3をそのジョブの優先度として付
加する(ステップS6)。
O)、さらに(2)式によりPR2を計算し(ステップ
S3)、PR2<0であれば(ステップS4、YE
S)、優先ジョブキューへ繋ぐ(ステップS8)。そし
てPR2をそのジョブの優先度として付加する(ステッ
プS6)。
テップS4、NO)、最優先ジョブキューへ繋ぎ(ステ
ップS5)、(1)式よりPR1を計算して、以後PR
1をそのジョブの優先度として付加する(ステップS
6)。
優先度を決めると、使用するPE台数が少ないジョブ
程、また、実行時間の短いジョブ程優先される。これら
の式の右辺第1項で使用PE台数の平方根を取っている
のは、使用PE台数の1次の項を用いた場合よりも大規
模ジョブの優先度を高くするためである。もちろん、こ
こで平方根を取る代わりに1次の項を用いてもよい。
が、待ち時間に使用PE台数やジョブ実行時間の関数に
より決定した係数を掛けることにより、使用PE台数が
少ないジョブや実行時間の短いジョブの待ち時間に対す
る優先度の変化を大きく設定することもできる。
図4の優先度見直し処理のアルゴリズムは、本発明にお
ける動的優先度制御の一例に過ぎず、他の関数やアルゴ
リズムによりジョブの優先度を見直す構成も可能であ
る。ジョブの優先度を決める関数は、システム管理者に
より任意に決められる。
キューおよび実行中ジョブ管理キューを示している。図
5のジョブ管理キューは、キュー優先度の高い順にキュ
ー1からキューNまでのN本のキューより成る。キュー
の本数N、およびジョブの所属キューとキュー内優先度
を決定するための関数は、図3の場合と同様にして予め
定義される。各○印内の数字は、各ジョブのシステム内
の相対優先順位を表しており、キュー1の先頭ジョブか
ら順に優先度が高くなっていることがわかる。
算機システム27に割り当て可能な空きPEがある場合
には、システム内の優先度の高いジョブから順に要求さ
れる台数のPEの割り当てが可能か否かを判定し、可能
と判定した場合にはそのジョブを起動するために必要な
処理を行う。ここで、PEの割り当てが不可能なジョブ
があっても、割り当て可能な空きPEがある限り、後続
のすべてのジョブに対し同様の割り当て処理を行うこと
により、PEの有効利用を図る。
定方式では、システムの停止や利用可能PE台数の変動
等が予定されている場合には、ジョブ開始時点だけでな
くジョブ終了に至るまでの間要求されたPEの割り当て
が可能か否かを判定する。
間待たされたジョブはより優先度の高いキューに繋がれ
ることから、一定の優先度のキューに達したジョブに対
して優先的にPEを割り当てる方式を採用する。これが
長時間待ちジョブの優先割り当て方式である。
図である。図6の実行待ちジョブ管理キュー、実行中ジ
ョブ管理キューは、それぞれキュー1からキューNまで
のN本のキューより成り、キューn1が予め優先実行下
限キューに指定されている。優先実行下限キュー以上の
優先度のキューに達したジョブは優先実行ジョブと呼ば
れ、優先実行下限キューに達していないジョブは非優先
実行ジョブと呼ばれる。本実施例では、実行中の優先実
行ジョブ、実行待ちの優先実行ジョブ、実行中の非優先
実行ジョブ、実行待ちの非優先実行ジョブの順に、PE
を優先的に割り当てる。
度が高いため、スワップアウトの対象とはしない。ここ
で、スワップアウトとは、実行中のジョブが使用してい
るPEの一部または全部を奪って、他のジョブに割り当
てることを意味する。1台でもPEをスワップアウトさ
れたジョブの処理は中断され、その後スワップインが行
われたときに再開される。スワップインとは、スワップ
アウトされていたジョブに再び必要な台数のPEが割り
当てられることを意味する。
ー1からキューn1までのジョブがスワップアウト対象
外ジョブである。これに対して、図3では最優先ジョブ
キューが優先実行下限キューに指定されており、最優先
ジョブキューに属するジョブのみがスワップアウト対象
外ジョブとなっている。実行中ジョブ管理キューの非優
先実行ジョブはスワップアウトの対象になるので、スワ
ップアウト対象ジョブとも呼ばれる。
ブのうち、最優先キューであるキュー1の先頭ジョブは
起動優先ジョブと定義し、その起動時には必要があれば
実行中の非優先実行ジョブのスワップアウトを可能とす
る。それでも起動できない場合には起動優先ジョブを最
短時間で起動させるために、起動を遅らせる可能性のあ
る他の実行待ちジョブの起動を全て抑止する。
データの退避・復元のためのオーバヘッドを伴うため、
スワップアウトが頻繁に行われるとシステム効率の低下
要因となる。また、使用PEのうち1台でもスワップア
ウトされたジョブはその分ジョブ終了時刻が遅れること
になる。ジョブの使用PEのうち、スワップアウトされ
なかったPEが処理を続行したとしても、ジョブ終了時
刻を早めることにはならない。一般に並列計算機システ
ムでは、1つのジョブを処理する各PEの処理時間がほ
ぼ同じになるように予め調整しているため、1台のPE
の処理が遅れると、その終了時刻がジョブの終了時刻と
なるからである。したがって、システム効率の低下の度
合いはスワップアウトジョブの規模に比例する。
スワップアウト可能なPE台数とスワップアウト可能な
ジョブの規模に一定の制限を設け、その範囲内でスワッ
プアウトを実行する。これにより、スワップアウトに起
因するシステム効率の低下を回避させる。
の要求PE台数に満たない場合、他のジョブの起動をす
べて抑止すれば最短時間で起動が可能になる。この場
合、空きPE台数が起動優先ジョブの要求PE台数に達
するまでの間休止しているPEが生じるので、PEの使
用効率が大幅に低下する恐れがある。しかし、起動優先
ジョブの起動予定時刻までに実行の終了するジョブを起
動しても、起動優先ジョブの起動の妨げとはならない。
では、起動優先ジョブの起動が不可能な場合には、その
起動予定時刻までの時間を起動ジョブの最大実行時間と
して設定し、最大実行時間内に終了するジョブを起動さ
せることにする。つまり、起動優先ジョブの起動予定時
刻までの時間が、起動優先ジョブ以外のジョブの起動開
始条件となる。これにより、起動優先ジョブの優先実行
に起因するシステム使用効率の低下を回避させる。
て、実行待ちジョブの使用データを、磁気ディスク26
のような保存媒体より転送速度の速いSSU31のよう
な媒体に転送しておけば、データの入力待ちによるジョ
ブ実行開始の遅れを最短にすることができる。しかし、
プレステージ容量の極度の増大はシステムオーバヘッド
およびジョブの入出力時間の増大につながる可能性があ
る。
では、ジョブの優先度からその時点でのプレステージ優
先度を決定し、プレステージ優先度の高いジョブから順
に必要なデータを所定のプレステージ容量の範囲内でプ
レステージする。
めシステム管理者により登録されている特定利用者のジ
ョブ投入時の緊急度の指定や、運用者用コマンド等によ
るジョブ投入後のキュー変更の指定を行い、キュー情報
制御プログラム47により緊急度の高いジョブの優先度
を上げてこれを優先的に処理する。図7は、本実施例の
スケジューラ24−1、24−2のプログラム構成を示
している。図7において、スケジュール制御プログラム
41はジョブスケジューリングの全体的な制御を行い、
スワップイン処理プログラム42、ジョブ起動処理プロ
グラム43、プレステージ処理プログラム44、および
キュー情報制御プログラム47を必要に応じて呼び出
す。スワップイン処理プログラム42はスワップインに
必要な処理を行う。
ワップイン処理プログラム42およびジョブ起動処理プ
ログラム43により呼び出され、スワップアウト処理プ
ログラム46、起動予定時刻算出プログラム48、およ
び運用予定情報収集プログラム50を必要に応じて呼び
出す。PEの情報収集プログラム49は、スワップイン
処理プログラム42およびジョブ起動処理プログラム4
3により呼び出される。また、プレステージ処理プログ
ラム44は、キュー情報制御プログラム47を必要に応
じて呼び出す。これらの各プログラムが行う処理につい
ては、図13から図18に示すフローチャートを参照し
ながら後に詳しく説明する。
各種管理テーブルのデータ構造を示す図である。図8か
ら図12までの各テーブルは、コントロール・プロセッ
サ28あるいはフロントエンド・プロセッサ22内の不
図示のメモリ等に格納される。
ブ情報テーブルの一例を示している。図8のジョブ情報
テーブルには、ジョブの名称、その受付時刻、要求PE
台数、要求ジョブ時間、スワップイン時刻、実行開始時
刻、スワップアウトPE台数等の管理情報が格納され
る。受付時刻とは、発生したジョブが到着して実行待ち
ジョブ管理キューに加えられた時刻であり、スワップイ
ン時刻とは、そのジョブに対してスワップインが行われ
た時刻であり、実行開始時刻とは、そのジョブの実行が
開始された時刻である。要求PE台数、要求ジョブ時間
は、それぞれそのジョブが要求している使用PE台数、
実行時間であり、優先度の算定に用いられる。スワップ
アウトPE台数は、そのジョブからスワップアウトされ
たPEの数である。
の一例を示している。図9のジョブ終了予定時刻管理テ
ーブルには、各ジョブのジョブ情報テーブルの格納位置
を指すポインタjj と、そのジョブの終了予定時刻と一
つ前に終了するジョブの終了予定時刻との差jtj が組
にして格納される。ただし、jt1 はj1 に対応するジ
ョブの終了予定時刻と現在時刻との差である。ここで、
各ジョブの終了予定時刻は現在時刻を0として計算され
る。
よび実行中ジョブ管理テーブルの一例を示している。図
10の実行待ちジョブ管理テーブル、または実行中ジョ
ブ管理テーブルには、各ジョブのジョブ情報テーブルの
格納位置を指すポインタjkと、そのジョブの優先度と
一つ前のジョブの優先度との差pk が組にして格納され
る。ただし、p1 はj1 に対応するジョブの優先度であ
る。ここで、各ジョブの優先度は、例えば(1)、
(2)、(3)式により計算される。
示している。図11の運用予定管理テーブルには、シス
テム全体の利用可能PE台数の変化量ΔPEm と、その
変化が起こる時刻と一つ前の変化時刻との差stm が組
にして格納される。ただし、st1 はΔPE1 の変化が
起こる時刻と現在時刻との差である。
固定されている場合のプレステージ中ジョブ情報テーブ
ルの一例を示している。図12のプレステージ中ジョブ
情報テーブルには、現在、その使用予定のデータがSS
U31にプレステージされているジョブのジョブ情報テ
ーブルの格納位置を指すポインタj1 〜jn が格納され
る。
生時刻の差を用いているのは、時間の経過とともに現在
時刻を起点とした事象の発生時刻はだんだん小さくなる
が、一つ前の事象の発生時刻との差は変化しないためで
ある。これにより、時間が経過しても時刻に関する格納
データを全て更新する必要がなくなる。例えば図9のジ
ョブ終了予定時刻管理テーブルの場合、先頭のjt1 の
みから経過した時間を減算すればよく、他の時間jt2
等は更新しなくてもよい。図10の実行待ちジョブ管理
テーブルおよび実行中ジョブ管理テーブルにおいても、
同様の理由により一つ前のジョブの優先度との差を用い
ている。ジョブの優先度は、待ち時間の項があるため時
間の経過分だけ一様に大きくなるが、この経過分は2つ
のジョブの優先度の差を取ればキャンセルされる。
ら図12の管理テーブルを用いて行われる。図13は、
スケジュール制御プログラム41によるスケジュール制
御処理のフローチャートである。ジョブのスケジューリ
ングは、ジョブの到着、ジョブの実行終了、ジョブのキ
ャンセル、ジョブ優先度の変更等の事象の発生をスケジ
ュール契機として行う必要があるため、これらの各事象
の発生時にスケジュール制御プログラム41が呼び出さ
れる。
ョブの待ち時間により変化するため、処理が開始される
と対象となるジョブの起動処理に先立ちキュー情報制御
プログラム47を呼び出して、実行待ちジョブ管理キュ
ーおよび実行中ジョブ管理キューに登録されているジョ
ブの所属キューおよびキュー内優先度を見直す。そし
て、必要に応じてそれらのジョブ管理キューを更新する
(ステップS11)。
12)、その結果に対応した処理を行う。ジョブ到着事
象の場合には(ステップS12、A)、一般ジョブ、緊
急ジョブ毎に指定されるジョブ優先度決定関数に従っ
て、到着ジョブの所属キューとそのキュー内優先度を決
定し、そのジョブを実行待ちジョブ管理キューに繋ぐ
(ステップS13)。
(ステップS12、B)、終了したジョブの情報を実行
中ジョブ管理キューから削除する(ステップS14)。
ジョブのキャンセル事象の場合には(ステップS12、
C)、対象ジョブのキャンセル処理を行った後に(ステ
ップS15)、実行待ちジョブであれば実行待ちジョブ
管理キューから、実行中ジョブであれば実行中ジョブ管
理キューから削除する(ステップS16)。ジョブ優先
度の変更事象であれば(ステップS12、D)、対象ジ
ョブの管理キューまたはキュー内順位を変更する(ステ
ップS17)。
処理プログラム42を呼び出して、スワップアウト対象
外ジョブに指定されているジョブのスワップイン処理を
行う(ステップS18)。この処理は、非優先実行ジョ
ブとして実行中に一旦スワップアウトされ、そのまま優
先実行下限キューに到着してスワップアウト対象外ジョ
ブとなったジョブのために行われる。次に、ジョブ起動
処理プログラム43を呼び出し、実行待ちジョブ管理キ
ューの優先実行ジョブの起動処理を行う(ステップS1
9)。
によりスワップアウト対象ジョブ、すなわち実行中ジョ
ブ管理キューの非優先実行ジョブのスワップイン処理を
行い(ステップS20)、ジョブ起動処理プログラム4
3により実行待ちジョブ管理キューの非優先実行ジョブ
の起動処理を行う(ステップS21)。
を呼び出し、プレステージの見直し処理を行う(ステッ
プS22)。プレステージの見直し処理では、まず実行
待ちジョブのうち優先順位のより高いジョブのデータか
ら順に、可能な範囲でプレステージすべきデータを決定
する。次に、決定されたデータを現在プレステージされ
ているデータと比較し、必要に応じてプレステージされ
ているデータを取消したり、新しいデータのプレステー
ジ処理を行う。ステップS11の処理でジョブの優先順
位が入れ替われば、プレステージされたデータの順序も
同様に入れ替える必要があるからである。一般にジョブ
によってプレステージされるべきデータの大きさは異な
るため、SSU31に格納できるだけのデータを順にプ
レステージする。
序は、本実施例によりPEを割り当てられるジョブの優
先順位に対応している。次に図14から図18までを参
照しながら、図13のステップS18〜S21の各処理
の手順を説明する。
2による図13のステップS18、S20のスワップイ
ン処理のフローチャートである。図14において処理が
開始されると、まず指定された属性を持つジョブキュー
において、スワップアウトされているジョブのうち最も
優先度の高いものを対象ジョブ(target)に指定する
(ステップS31)。例えばステップS18の場合は実
行中の優先実行ジョブについて、ステップS20の場合
は実行中の非優先実行ジョブについて、ステップS31
の処理を行う。
出し、並列計算機システム27の各PEの状態を問い合
わせる(ステップS32)。PEの状態とは、その電源
がオンかオフか、電源がオンの場合にはさらにそれが他
のジョブに割り当て中か否か等、そのPEを対象ジョブ
に割り当て可能かどうかを意味する。ここで割り当て可
能なPEの台数を調べ(ステップS33)、割り当て可
能な空きPEがあれば、対象ジョブからスワップアウト
された台数のPEの割り当て(スワップイン)が可能か
否かを判定する(ステップS34)。スワップアウトさ
れたPEの台数は、対象ジョブのジョブ情報テーブルに
格納されている。
場合には、空きPEを対象ジョブに割り当て、スワップ
イン処理を行う(ステップS35)。スワップイン処理
を行った場合には、再度PEの状態を問い合わせ(ステ
ップS36)、優先順位の高いジョブから順に次の対象
ジョブに指定して(ステップS37)、ステップS33
以降の処理を繰り返す。そして、指定された属性を持つ
ジョブキュー内に次の該当ジョブがなくなると、処理を
終了する。
い場合はスワップイン処理を終了し、ステップS34で
対象ジョブのスワップインができない場合はステップS
37以降の処理を行う。
による図13のステップS19、S21のジョブの起動
処理のフローチャートである。図15において処理が開
始されると、まず指定された属性の実行待ち状態のジョ
ブキューにおいて最も優先度の高いものを対象ジョブ
(target)に指定する(ステップS41)。例えばステ
ップS19の場合は実行待ちの優先実行ジョブについ
て、ステップS21の場合は実行待ちの非優先実行ジョ
ブについて、ステップS41の処理を行う。
出し、スワップイン処理の場合と同様に並列計算機シス
テム27の各PEの状態を問い合わせる(ステップS4
2)。そして割り当て可能なPEの台数を調べ(ステッ
プS43)、割り当て可能な空きPEがあれば、PEの
割り当て判定プログラム45を呼び出し、対象ジョブに
対してPEの割り当てが可能か否かを判定する(ステッ
プS44)。
場合には、空きPEを対象ジョブに割り当てその起動処
理を行い(ステップS45)、対象ジョブを実行待ちジ
ョブ管理キューから実行中ジョブ管理キューへ移動させ
る(ステップS46)。そして、再度PEの状態を問い
合わせ(ステップS47)、優先順位の高いジョブから
順に次の対象ジョブに指定して(ステップS48)、ス
テップS43以降の処理を繰り返す。指定された属性を
持つジョブキュー内に次の該当ジョブがなくなると、処
理を終了する。
い場合はジョブの起動処理を終了し、ステップS44で
対象ジョブに必要数のPEを割り当てられない場合はス
テップS48以降の処理を行う。
優先ジョブへのPEの割り当ての可否を判定する処理の
フローチャートである。図16の判定処理は、PEの割
り当て判定プログラム45により行われる。起動優先ジ
ョブの場合には、次の2つの条件のうちいずれかを満た
した時に起動可能と判定する。
であり、ジョブの実行が運用予定の実行を妨害しない。
条件2:要求PE台数が空きPE台数+スワップアウト
可能PE台数以下であり、ジョブの実行が運用予定の実
行を妨害しない。
は、判定時点でスワップアウト可能なPE台数であり、
次のa)〜c)のうちの最小値である。 a)システム全体のスワップアウト可能な最大PE台数
−現在スワップアウト中の全PE台数 b)1つのジョブの起動時に許される最大スワップアウ
トPE台数 c)スワップアウト対象ジョブのうち、指定される規模
以下のジョブが使用中のPE台数 システム全体のスワップアウト可能な最大PE台数、お
よび1つのジョブの起動時に許される最大スワップアウ
トPE台数は、予めシステム管理者により決められる。
このようにスワップイン可能PE台数を制限しておけ
ば、スワップアウトの頻発によるシステム運用効率の低
下を効果的に防ぐことができる。条件2を満たした場合
には、空きPEだけでは不足するPEの台数をスワップ
アウトにより割り当て可能となるPEで補う。
ブの実行が利用可能PE台数の増減等の運用予定を妨害
するか否かを判定するために、予め運用予定の問い合わ
せを行う(ステップS51)。そして、その時点でのシ
ステム全体の空きPE台数をfree、起動優先ジョブの要
求PE台数をRPE、起動優先ジョブの予定実行時間
(要求ジョブ時間)をTIME、スワップアウト可能P
E台数をSMAX、非起動優先ジョブの起動時に許され
る最大実行時間をmaxtime とおく(ステップS52)。
システム全体の空きPE台数は、図15のステップS4
3の割り当て可能PE台数に等しい。起動優先ジョブの
要求PE台数と予定実行時間(要求ジョブ時間)は、そ
のジョブ情報テーブルに格納されている。非起動優先ジ
ョブは、実行待ちジョブのうちの起動優先ジョブ以外の
ジョブのことで、起動優先ジョブが起動不可と判定され
た時に起動の対象となる。
S53)、freeがRPE以上の時は(ステップS53、
YES)、運用予定情報収集プログラム50を呼び出し
て、起動優先ジョブの起動が運用予定を妨げるかどうか
を調べる(ステップS54)。具体的には、現時点で起
動優先ジョブを起動した場合に、その実行終了時刻まで
にシステム全体で利用可能なPE台数が削減される予定
があるか否かを調べる。例えばあるグループのPEの電
源をオフにする等の利用可能PE台数の削減が予定され
ているのに、それまでに終了しないジョブを起動する
と、PEの削減が予定通り行えなくなり、システムの運
用予定を妨害することになる。
は、図11の運用予定管理テーブルから利用可能PE台
数の変更が発生する時刻に関する情報(stm 等)と、
その変更台数の情報(ΔPEm 等)を収集する。図11
の運用予定管理テーブルにおいて、ΔPEm 等が正の場
合は利用可能PE台数の増加数を表し、負の場合は利用
可能PE台数の削減数を表す。
起動優先ジョブにPEの割り当てが可能である(起動可
能)と判定し、maxtime を無限大に設定して(ステップ
S56)、処理を終了する。maxtime が無限大というこ
とは、次に起動される非起動優先ジョブの実行時間に制
限が課されないということである。
とが分かると、起動予定時刻算出プログラム48を呼び
出し、運用予定を妨害せずに起動優先ジョブを起動でき
る起動予定時刻(現在時刻から起動予定時刻までの時
間)を算出して、それをstartとおく(ステップS5
7)。起動予定時刻を求める時には、他の全てのジョブ
の起動を抑止して計算する。そして、起動優先ジョブに
PEの割り当てが不可能である(起動不可)と判定し、
start の値をmaxtime に設定して(ステップS58)、
処理を終了する。
たない場合は(ステップS53、NO)、sout=RPE
−freeとおき(ステップS59)、soutとSMAXの値
を比較する(ステップS60)。soutがSMAX以下で
あれば(ステップS60、YES)、ステップS54と
同様に運用予定情報収集プログラム50を呼び出して、
起動優先ジョブの起動が運用予定を妨げるかどうかを調
べる(ステップS61)。
ウト処理プログラム46を呼び出して、soutの数のPE
を実行中の非優先実行ジョブからスワップアウトする
(ステップS62)。そして、起動優先ジョブにPEの
割り当てが可能である(起動可能)と判定し、maxtime
を無限大に設定して(ステップS63)、処理を終了す
る。
時、およびステップS61で運用予定が妨害される場合
は、ステップS57以降の処理を行う。ステップS57
で算出されステップS58で設定されるmaxtime は、起
動優先ジョブが起動されないと考えられる時間であり、
換言すれば、起動優先ジョブの起動を阻害しないで他の
ジョブに許される最大ジョブ時間である。この値を非起
動優先ジョブを起動する条件として用い、起動優先ジョ
ブの起動に伴うPE利用率の低下を軽減する。
動優先ジョブへのPEの割り当ての可否を判定する処理
のフローチャートである。図17の判定処理は、起動優
先ジョブを除く全ての実行待ちジョブの起動時に、PE
の割り当て判定プログラム45により行われる。非起動
優先ジョブの場合には、次の3つの条件をすべて満たし
た場合に起動可能と判定する。
きPE台数以下である。 条件4:ジョブの実行時間が非起動優先ジョブの起動条
件となる最大実行時間以下である。
妨害しない。本実施例では、起動優先ジョブの起動時に
限ってスワップアウトを許す構成を採用しているので、
非起動優先ジョブの場合には、条件2のようなスワップ
アウト可能PE台数を計算に入れた起動条件が課されな
い。非起動優先ジョブのためのスワップアウトを抑止す
ることにより、スワップアウトに起因する効率の低下を
抑えている。
ブの実行が運用予定を妨害するか否かを判定するため
に、予め運用予定の問い合わせを行う(ステップS7
1)。そして、その時点でのシステム全体の空きPE台
数をfree、非起動優先ジョブの要求PE台数をRPE、
非起動優先ジョブの予定実行時間をTIME、非起動優
先ジョブの起動時に許される最大実行時間をmaxtime と
おく(ステップS72)。
われた後に、次に優先度の高い非起動優先ジョブについ
て図17の処理が行われた場合は、maxtime は図16の
ステップS56、S58、S63のいずれかで既に設定
されている。それ以外の場合は、起動された非起動優先
ジョブの予定実行時間をmaxtime から減じてmaxtimeを
更新する。ただし、maxtime が無限大に設定されていた
場合は、非起動優先ジョブの予定実行時間を減じてもそ
の設定は変わらない。
S73)、freeがRPE以上の時は(ステップS73、
YES)、続いてmaxtime とTIMEの値を比較する
(ステップS74)。maxtime がTIME以上であれば
(ステップS74、YES)、図16のステップS54
と同様に運用予定情報収集プログラム50を呼び出し
て、起動優先ジョブの起動が運用予定を妨げるかどうか
を調べる(ステップS75)。
ジョブにPEの割り当てが可能である(起動可能)と判
定し(ステップS76)、処理を終了する。運用予定が
妨害される場合には、非起動優先ジョブにPEの割り当
てが不可能である(起動不可)と判定し(ステップS7
7)、処理を終了する。
時、およびステップS74でmaxtime がTIMEに満た
ない時は、ステップS77の処理を行う。図18は、図
16のステップS57で起動予定時刻算出プログラム4
8により行われる起動予定時刻算出処理のフローチャー
トである。図18のステップS82からS88までの処
理は、仮に設定された起動予定時刻において起動ジョブ
の要求PE台数が空きPE台数以下かどうかを確認する
空き確認処理である。また、ステップS91からS99
までの処理は、仮に設定された起動予定時刻にジョブを
起動したと想定する場合の、ジョブ終了予定時刻に至る
まで、つまり起動ジョブの実行中と想定される間におけ
る空き確認処理である。これらの2つの空き確認処理に
おいて、常に要求PE台数が空きPE台数以下となった
時、設定された仮の起動予定時刻を処理結果のstart と
して出力する。
予定管理テーブルから次の運用変更までの時間を読み出
してstime とおき、ジョブ終了予定時刻管理テーブルか
ら次のジョブ終了予定までの時間を読み出してjtime と
おく(ステップS81)。また、現在の空きPE台数を
free、起動優先ジョブの要求PE台数をRPE、現在時
刻を0とした起動予定時刻をstart とおく(ステップS
81)。start は最初は0に設定される。
プS82)、stime がjtime より小さい時は(ステップ
S82、YES)、start にstime を加算し、jtime か
らstime を減算する(ステップS83)。そして、時刻
start に予定されている利用可能PE台数の変化ΔPE
を運用予定管理テーブルから読み出してfreeに加算し
(ステップS84)、運用予定管理テーブル中の次の運
用変更までの時間をstime とする(ステップS85)。
ステップS84で、運用変更の内容がシステムの縮退や
停止である場合にはΔPE<0であり、システムの拡張
である場合にはΔPE>0である。そして、RPEがfr
eeより大きい間はステップS82以降の処理を繰り返
す。
は(ステップS82、NO)、start にjtime を加算
し、stime からjtime を減算する(ステップS86)。
そして、時刻start に終了する予定のジョブの使用PE
台数αを、ジョブ終了予定時刻管理テーブルからポイン
タにより指されるジョブ情報テーブルから読み出してfr
eeに加算し(ステップS87)、ジョブ終了予定時刻管
理テーブル中の次のジョブ終了予定までの時間をjtime
とする(ステップS88)。そして、RPEがfreeより
大きい間はステップS82以降の処理を繰り返す。
管理テーブルを参照して、時刻start 以降に利用可能P
E台数が変動するか否かを調べる(ステップS89)。
利用可能PE台数の変動がない場合は(ステップS8
9、type1)、start を起動優先ジョブの起動予定時刻
として(ステップS90)、処理を終了する。この場合
には、ジョブの起動後に利用可能PE台数が削減される
恐れがないため、ステップS91以降のジョブの実行中
における空き確認処理を行う必要がない。
がある場合は(ステップS89、type2)、起動優先ジ
ョブの実行時間をジョブ情報テーブルから読み出してel
apsとおき(ステップS91)、stime とjtime の値を
比較する(ステップS92)。stime がjtime より小さ
い時は(ステップS92、YES)、続いてelaps とst
ime の値を比較し(ステップS93)、elaps がstime
以下であれば(ステップS93、NO)、start を起動
優先ジョブの起動予定時刻として(ステップS90)、
処理を終了する。
い時は(ステップS93、YES)、時刻start から時
間stime 後に予定されている利用可能PE台数の変化Δ
PEを運用予定管理テーブルから読み出してfreeに加算
し(ステップS94)、運用予定管理テーブル中の次の
運用変更までの時間をstime に加算する(ステップS9
5)。そして、RPEとfreeの値を比較し(ステップS
99)、RPEがfree以下であれば(ステップS99、
YES)、ステップS92以降の処理を繰り返す。
は(ステップS92、NO)、続いてelaps とjtime の
値を比較し(ステップS96)、elaps がjtime 以下で
あれば(ステップS96、NO)、start を起動優先ジ
ョブの起動予定時刻として(ステップS90)、処理を
終了する。
い時は(ステップS96、YES)、時刻start から時
間jtime 後に終了する予定のジョブの使用PE台数α
を、ジョブ終了予定時刻管理テーブルからポインタによ
り指されるジョブ情報テーブルから読み出してfreeに加
算し(ステップS97)、ジョブ終了予定時刻管理テー
ブル中の次のジョブ終了予定までの時間をjtime に加算
する(ステップS98)。そして、RPEとfreeの値を
比較し(ステップS99)、RPEがfree以下であれば
(ステップS99、YES)、ステップS92以降の処
理を繰り返す。
時は(ステップS99、NO)、起動されたジョブの実
行中に利用可能PE台数が削減される予定があるので、
start を設定し直すためにステップS82以降の処理を
繰り返す。したがって、利用可能PE台数の変動が予定
されている場合は、ステップS93でstime がelaps以
上になるか(ステップS93、NO)、またはステップ
S96でjtime がelaps 以上になった時に(ステップS
96、NO)、起動予定時刻が決定される。
過時間、使用PEのCPU時間の最大値、使用PEの平
均CPU時間、および使用PEの総CPU時間のいずれ
かをジョブ実行時間として処理を行う。
用いて、起動予定時刻算出処理をさらに詳しく説明す
る。図19は、利用可能なPE台数が変動しない場合の
起動優先ジョブの起動予定時刻の算出例を説明する図で
ある。新たにジョブを起動しない場合には、空きPE台
数freeは実行中ジョブの終了に伴い増加する。現在時刻
をt0=0、現在の空きPE台数をf0、i番目に終了
するジョブの終了時刻をti、その使用PE台数(図1
8のα)をPEi(i=1,2,3,4,5)とする
と、時刻tiにおける空きPE台数fiは、fi=f0
+PE1+PE2+・・・ +PEiとなる(ステップS8
7)。したがって、起動優先ジョブの要求PE台数RP
Eがf1<RPE≦f2の関係を満たしたとすると、他
の全てのジョブの起動を抑止した場合の起動優先ジョブ
の起動予定時刻は時刻t2となる(ステップS90)。
ーブルは図22に示されている。図22のジョブ終了予
定時刻管理テーブルには、前事象との発生時刻の差とし
て、t1、t2−t1、t3−t2、t4−t3、t5
−t4が順に格納されている。またそれらに対応して、
それぞれのジョブのジョブ情報テーブルの先頭アドレス
を指すポインタが格納されている。ステップS87で加
算される使用PE台数PEiとしては、ジョブ終了予定
時刻管理テーブルの各ポインタを用いて検索される各ジ
ョブ情報テーブル内の要求PE台数を用いる。
場合の起動優先ジョブの起動予定時刻の算出例を説明す
る図である。新たにジョブを起動しない場合には、空き
PE台数freeは実行中ジョブの終了と利用可能PE台数
の変動により変化する。現在時刻をt0=0、現在の空
きPE台数をf0、i番目の空きPE台数の変化事象の
発生時刻をti、そのPE台数の変化(図18のΔPE
またはα)をPEi(i=1,2,3,4,5,6,
7,8)とすると、時刻tiにおける空きPE台数fi
は、fi=f0+PE1+PE2+・・・ +PEiとなる
(ステップS84、S87、S94、S97)。ただ
し、PE1<0、PE4<0である。また、起動優先ジ
ョブの要求PE台数RPEはf1<RPE<f0の関係
を満たしており、起動優先ジョブの実行時間elaps は時
間t1より長い。
f0=freeが成り立つので、ステップS82からS88
までの処理を行わずに直ちにステップS89へ進む。と
ころが、時刻t0=0で起動優先ジョブを起動した場合
には、時刻t1での利用可能PE台数の削減は行えない
ことになる(ステップS93、YES、ステップS9
9、NO)。したがって、システムの停止や利用PE台
数の部分的削減を運用予定通りに行うためには、ジョブ
実行中の空きPE台数fiが常にRPE以上になるよう
に、start を設定し直さなければならない。そこでステ
ップS82以降の処理を繰り返し、最終的に時刻t6を
起動予定時刻に設定して(ステップS90)処理を終了
する。時刻t6にジョブを起動すれば、その実行中であ
る時刻t7においても空きPE台数f7がRPEより大
きいので(ステップS99、YES)、運用予定が妨害
されることはない。
場合の起動予定時刻の他の算出例を説明する図である。
図21の起動優先ジョブの要求PE台数RPEは10、
ジョブ実行時間elaps は180である。現在時刻を0と
すると、空きPE台数freeが14となる時刻50におい
て起動優先ジョブの起動が可能になるが、この場合終了
予定の時刻230より前に、時刻180でPE台数が削
減されてfreeが8になるため、時刻50で起動優先ジョ
ブを起動することはできない。図21の場合には、実行
中にPE台数が削減されないように、時刻280が起動
予定時刻に指定される。
終了予定時刻管理テーブルとジョブ情報テーブルのデー
タの関係を示している。ジョブ終了予定時刻管理テーブ
ルには、i番目のジョブの終了予定時刻とその一つ前の
ジョブの終了予定時刻との差jt(i)が終了予定順に
格納されており、i番目のジョブのジョブ情報テーブル
には他のデータとともにその使用PE台数jp(i)が
格納されている。ただし、jt(1)=20は時刻0か
ら1番目のジョブの終了予定時刻までの時間であり、1
番目のジョブの終了予定時刻に等しい。jt(9)は無
限大で、実行中のジョブがないことを表す。
定管理テーブルを示している。図24の運用予定管理テ
ーブルには、i番目の利用可能PE台数の変更時刻とそ
の一つ前の利用可能PE台数の変更時刻との差st
(i)が格納されており、それに対応してi番目の利用
可能PE台数の変化sp(i)が格納されている。ただ
し、st(1)=180は時刻0から1番目の変更時刻
までの時間であり、1番目の変更時刻に等しい。sp
(1)=−20、sp(2)=−30はともに負であ
り、利用可能PE台数が削減されることを示している。
sp(3)は無限大で、以後の利用可能PE台数の変動
がないことを表す。
おける図18の起動予定時刻算出処理の過程で、変数R
PE、elaps 、start 、free、stime 、jtime が変化す
る様子を示している。以下、図18のフローに従って起
動予定時刻算出処理を説明する。
に、まずRPE=10、start =0、free=4、stime
=st(1)=180、jtime =jt(1)=20とお
く(ステップS81)。ここで、RPE>free、stime
>jtime なので(ステップS82、NO)、start =st
art +jtime =20、stime =stime −jtime =160
となり(ステップS86)、free=free+jp(1)=
8となる(ステップS87)。次にjtime =jt(2)
=30とおき(ステップS88)、RPE>freeなので
ステップS82に戻る。
2、NO)、start =start +jtime =50、stime =
stime −jtime =130となり(ステップS86)、fr
ee=free+jp(2)=14となる(ステップS8
7)。次にjtime =jt(3)=50とおき(ステップ
S88)、RPE<freeなのでステップS89に進む。
れているので(ステップS89、type2)、elaps =1
80とおく(ステップS91)。次に、stime >jtime
、elaps >jtime なので(ステップS92、NO、ス
テップS96、YES)、free=free+jp(3)=1
8となり(ステップS97)、jtime =jtime +jt
(4)=80となる(ステップS98)。そして、RP
E<freeなので(ステップS99、YES)、ステップ
S92に戻る。
ime なので(ステップS92、NO、ステップS96、
YES)、free=free+jp(4)=22となり(ステ
ップS97)、jtime =jtime +jt(5)=100と
なる(ステップS98)。そして、RPE<freeなので
(ステップS99、YES)、ステップS92に戻る。
s >jtime なので(ステップS92、NO、ステップS
96、YES)、free=free+jp(5)=28となり
(ステップS97)、jtime =jtime +jt(6)=2
30となる(ステップS98)。そして、RPE<free
なので(ステップS99、YES)、ステップS92に
戻る。
ップS92、YES)、ステップS93に進み、elaps
>stime なので(ステップS93、YES)、free=fr
ee+sp(1)=8となり(ステップS94)、stime
=stime +st(2)=1930となる(ステップS9
5)。ステップS94でfreeが大幅に減少してRPE>
freeとなったので(ステップS99、NO)、start を
設定し直すためにステップS82に戻る。図26に示す
ように、次にstime >jtime なので(ステップS82、
NO)、start =start +jtime =280、stime =st
ime −jtime =1700となり(ステップS86)、fr
ee=free+jp(6)=12となる(ステップS8
7)。次にjtime =jt(7)=90とおき(ステップ
S88)、RPE<freeなのでステップS89に進む。
れているので(ステップS89、type2)、elaps =1
80とおく(ステップS91)。次に、stime >jtime
、elaps >jtime なので(ステップS92、NO、ス
テップS96、YES)、free=free+jp(7)=2
0となり(ステップS97)、jtime =jtime +jt
(8)=130となる(ステップS98)。そして、R
PE<freeなので(ステップS99、YES)、ステッ
プS92に戻る。
なので(ステップS92、NO、ステップS96、YE
S)、free=free+jp(8)=30となり(ステップ
S97)、jtime =jtime +jt(9)=∞(無限大)
となる(ステップS98)。そして、RPE<freeなの
で(ステップS99、YES)、ステップS92に戻
る。
プS92、YES)、ステップS93に進み、elaps <
stime なので(ステップS93、NO)、起動予定時刻
をstart =280に設定し(ステップS90)、処理を
終了する。
いて計算流体力学(CFD)における科学技術計算を行
った場合のシミュレーション実験の結果を、図27から
図31までを参照しながら説明する。ここでは、流体と
して特に空気を扱う計算空気力学におけるシミュレーシ
ョンを行った。
グラムでは、一般に格子点毎に計算項目や必要なデータ
が決まっているため、使用するメモリ量やCPU時間は
格子点の数に依存する。
ムでは、格子点10万点当たりの計算に3600秒程度
のCPU時間を必要とし、1格子点当たりのデータ量が
200MB(メガバイト)から400MBの範囲のジョ
ブが多い。また、処理の並列化に伴うメモリオーバヘッ
ド率は1.2から2.0の程度である。ここで、並列化
に伴うメモリオーバヘッド率とは、並列化していないプ
ログラムが使用するメモリ量(基本メモリ量)に対する
並列化したプログラムが使用するメモリ量(実メモリ
量)の割合を意味する。CFDプログラムのこれらの特
徴を考慮し、ジョブの基本メモリ量、1格子点当たりの
データ量、メモリオーバヘッド率によりジョブのワーク
ロードを定義した。
リ量の確率密度分布を示している。基本メモリ量xに対
する確率密度p(x)として、シミュレーションでは8
0MB〜30000MBの範囲におけるTYPE1〜3
の3種類のβ分布(ベータ分布)を用いた。タイプ(T
YPE)1、2、3のβ分布の平均基本メモリ量は、そ
れぞれ1840MB、2800MB、6064MBであ
る。
当たりのデータ量の確率密度分布を示している。1格子
点当たりのデータ量yに対する確率密度p(y)とし
て、シミュレーションでは200MB〜400MBの範
囲におけるTYPE1および2の2種類のβ分布を用い
た。タイプ1、2のβ分布の1格子点当たりのデータ量
の平均値は、それぞれ333.3MB、266.6MB
である。
ーバヘッド率の確率密度分布を示している。メモリオー
バヘッド率zに対する確率密度p(z)として、シミュ
レーションでは1.2〜2.0の範囲におけるタイプ1
および2の2種類のβ分布を用いた。タイプ1、2のβ
分布のメモリオーバヘッド率の平均値は、それぞれ1.
734、1.466である。
リ量は基本メモリ量にメモリオーバヘッド率を乗算する
ことにより得られ、実メモリ量を1PE当たりのメモリ
量(主記憶量)で割ればジョブの要求PE台数が決めら
れる。シミュレーションでは、基本メモリ量の上限を3
0GB(ギガバイト)、1PE当たりの主記憶量を25
0MB、システム全体のPE総数を140とした。30
GBの基本メモリ量は120台のPEによるジョブに相
当するが、メモリオーバヘッド率を乗じると実メモリ量
はさらに大きくなり、その要求PE台数が140を越え
ることもあり得る。しかし、図27が示すように、基本
メモリ量が30GBのジョブが発生する確率はかなり小
さい。
データ量で割ればジョブの計算格子点数が得られ、これ
に計算格子点10万点当たり3600秒のCPU時間を
乗算して得られる時間を、そのジョブが要求するCPU
時間とした。
力負荷の割合を負荷率と定義した。例えば負荷率が1.
0のときは入力負荷が処理能力と同等であることを意味
するが、必ずしも実行待ちのジョブがないことを意味す
るわけではない。処理能力を100%生かせずに、空き
PEが発生するようなスケジューリングが行われると、
実行待ちのジョブが増えていくことになる。
デバッグジョブ発生率と定義した。ここでデバッグジョ
ブとは、プログラムが正常に動くことを確認するため
に、実際の実行時間の5%程度の間だけそのプログラム
を実行させるようなジョブを指す。デバッグジョブの使
用メモリ量は、プログラムを100%実行させるジョブ
の場合と変わらないので、その要求PE台数も変わらな
い。しかし、実行時間が短いのでその要求CPU時間は
短くなる。
によるシミュレーション結果を示している。図30およ
び図31において、1/1/1等はジョブの発生に用い
た確率密度分布の種類を表し、基本メモリ量のタイプ/
1格子点当たりのデータ量のタイプ/メモリオーバヘッ
ド率のタイプを意味する。例えば基本メモリ量の確率密
度分布がタイプ3、1格子点当たりのデータ量の確率密
度分布がタイプ2、メモリオーバヘッド率の確率密度分
布がタイプ1であるようなジョブを発生させた場合は、
3/2/1と表記される。3/*/*は、3/1/1、
3/1/2、3/2/1、3/2/2の分布を用いた結
果の平均をとることを意味する。1/*/*、2/*/
*についても同様である。
全体の平均使用PE台数の変化を示す図である。一般に
は、負荷率が高くなるにつれて実行待ちの優先実行ジョ
ブが多くなり、起動優先ジョブを処理しても次のジョブ
が起動優先ジョブとなるため、起動優先ジョブが常にあ
る状態が続く。その結果、起動優先ジョブの起動のため
に他のジョブの起動を抑止したり、スワップアウトを行
ったりすることが多くなる。したがってシステムの利用
効率が低下し、PEの平均使用台数が減少する傾向にあ
る。しかしながら、本発明のスケジュール制御装置によ
るシミュレーションでは、図30が示すように、負荷率
が1以上になってもPEの平均使用台数はほとんど減少
せず、PEが有効に利用されていることが分かる。
るほど、すなわち要求PE台数や要求CPU時間が大き
なジョブであるほど起動されにくく、システム効率の低
下の度合いは大きくなる。例えばジョブの要求PEが常
に1台の場合は直ちに起動され、空きPEはなくなる
が、要求PE台数が増加するにつれて起動時刻が遅れる
可能性が高くなるため、空きPEが増加する。また、起
動優先ジョブの起動のための他のジョブの起動抑止、ス
ワップアウトによるシステム効率の低下の度合いは、ジ
ョブの規模に比例して大きくなる。
比較的小さく、負荷率が1以上のときの平均使用PE台
数はシステムの総PE台数である140に近い。これに
対して、3/2/2の場合はジョブの規模が比較的大き
く、負荷率が1以上になっても平均使用PE台数は13
0に満たない。1/1/1の場合はデバッグジョブ発生
率を0.8として、ジョブの平均CPU時間をさらに短
くしており、これがシステム効率の向上につながってい
る。3/2/2の場合はデバッグジョブ発生率が0であ
り、発生したジョブは全て実際に必要な実行時間の間P
Eを使用するので、デバッグジョブが発生する場合より
ジョブの平均CPU時間は長くなる。
における起動予定時刻設定方式の効果を示す図である。
図31(a)、(b)は、それぞれ負荷率を1.0、
2.0としてシミュレーションを行った場合のシステム
全体の平均使用PE台数を示している。「設定なし」
は、本発明のスケジューリング方式のうち起動予定時刻
設定方式を採用しなかった場合、すなわち、起動優先ジ
ョブが起動されるまで他の全てのジョブの起動を抑止し
た場合の結果である。「設定あり」は、起動予定時刻設
定方式を採用して、起動優先ジョブの起動予定時刻まで
に終わる他のジョブの起動を許した場合の結果である。
2/*/*、3/*/*のそれぞれの場合において、
「設定なし」の結果より「設定あり」の結果の方がPE
の平均使用台数が大きくなることが分かる。これらの結
果は、並列計算機システムのジョブスケジューリングに
おける本発明の起動予定時刻設定方式の顕著な効果を示
している。
のうち、最も優先度の高い起動優先ジョブの起動時に限
ってスワップアウトを許しているが、本発明はこの構成
に限られず、非起動優先ジョブであっても実行待ちの優
先実行ジョブであれば、全てその起動時にスワップアウ
トを許す構成とすることも可能である。具体的には、起
動優先ジョブの起動予定時刻が設定されたとき、条件
3、4、5を満たした場合だけでなく条件2、4を満た
した場合にも、次に優先度の高い優先実行ジョブを起動
させるようにすればよい。
たPE台数の範囲内で、任意台数のPEによるジョブの
実行が可能である。各ジョブが使用するPEを予め限定
せずに柔軟に割り当てるので、従来のように後続ジョブ
に割り当てるPEを確保するために、PEを休止させる
ことがない。また、利用可能な空きPEがあれば、全て
の実行待ちジョブに対し起動可能か否かを調べるため、
PEの利用率が向上する。
度はシステム資源要求量の関数の形で自由に定義できる
ため、到着順処理、特定規模のジョブの優先処理だけで
なく、システム資源要求量に応じた柔軟な優先度の設定
が可能である。
げることができるため、要求PE台数の多いジョブであ
っても一定時間内で実行されることが期待できる。ジョ
ブの実行時間や終了時刻をテーブルに格納し、次のジョ
ブの起動時に参照することにより、時間に関する情報が
統一的に管理される。特に、優先実行ジョブの起動予定
時刻を設定し、その時刻までに終了する予定の他のジョ
ブを先に起動することにより、システム資源利用率の大
幅な低下が防止される。
規模ジョブをスワップアウトの対象から外し、スワップ
アウトPEの総数を制限することにより、スワップアウ
トに起因するシステムオーバヘッドの増加とPE利用率
の低下が軽減される。
たPEの割り当てを行うことにより、システム運用スケ
ジュールを予定通りに遂行することが可能となる。さら
に、システム管理者によるジョブの所属キューやキュー
内優先度の変更により、ジョブの緊急度および重要度を
反映した優先処理が可能となる。
ある。
ートである。
る。
度を示す図である。
る。
造を示す図である。
ルのデータ構造を示す図である。
および実行中ジョブ管理テーブルのデータ構造を示す図
である。
タ構造を示す図である。
ーブルのデータ構造を示す図である。
ートである。
ートである。
ートである。
判定処理のフローチャート(その1)である。
判定処理のフローチャート(その2)である。
チャートである。
図(その1)である。
図(その2)である。
図(その3)である。
ブルの一例を示す図である。
ブルとジョブ情報テーブルのデータの対応関係を示す図
である。
を示す図である。
変数値の変化を示す図(その1)である。
変数値の変化を示す図(その2)である。
布を示す図である。
ータ量の分布を示す図である。
ド率の分布を示す図である。
る。
る。
Claims (28)
- 【請求項1】 複数の処理要素が並列に処理を行う並列
処理システムにおいて、 優先レベルの異なる複数の実行待ちジョブキューを有
し、該優先レベルおよびキュー内優先度に応じて該実行
待ちジョブキュー内の実行待ちジョブの起動順位を管理
する優先度制御手段(2)と、 前記複数の実行待ちジョブキューのうち、所定優先レベ
ル以上の前記実行待ちジョブキュー内の実行待ちジョブ
に優先的に前記処理要素を割り当てる割り当て制御手段
(4)と、 前記優先度制御手段(2)と割り当て制御手段(4)を
用いて、前記並列処理システムにおけるジョブの実行の
スケジューリングを行うスケジュール制御手段(1)
と、 を備えることを特徴とするスケジュール制御装置。 - 【請求項2】 前記割り当て制御手段(4)は、前記起
動順位に従って可能な限り多くの前記実行待ちジョブに
未使用の前記処理要素を割り当てることを特徴とする請
求項1記載のスケジュール制御装置。 - 【請求項3】 指定された前記実行待ちジョブの重要度
に応じて、該実行待ちジョブの所属する実行待ちジョブ
キューおよびそのキュー内優先度を変更する優先度変更
手段(3)をさらに備えることを特徴とする請求項1記
載のスケジュール制御装置。 - 【請求項4】 前記実行待ちジョブの所属する前記実行
待ちジョブキューおよびそのキュー内優先度とプレステ
ージ容量とに応じて決められる順序に従って、該実行待
ちジョブが使用するデータを予め転送速度の速い媒体に
転送するプレステージ制御手段(9)をさらに備えるこ
とを特徴とする請求項1記載のスケジュール制御装置。 - 【請求項5】 前記優先度制御手段(2)は、前記実行
待ちジョブの所属する実行待ちジョブキューおよびその
キュー内優先度を、該実行待ちジョブの要求する資源量
と該実行待ちジョブが発生してからの待ち時間と該実行
待ちジョブの実行時間のうち、少なくとも1つを用いて
決定することを特徴とする請求項1記載のスケジュール
制御装置。 - 【請求項6】 前記実行待ちジョブの要求する資源量
は、該実行待ちジョブを実行するために必要な処理要素
の数であることを特徴とする請求項5記載のスケジュー
ル制御装置。 - 【請求項7】 前記優先度制御手段(2)は、時間の経
過に伴い前記実行待ちジョブの起動順位を動的に見直
し、前記待ち時間が長い実行待ちジョブほど前記起動順
位を早めることを特徴とする請求項5記載のスケジュー
ル制御装置。 - 【請求項8】 未使用の前記処理要素の数が前記実行待
ちジョブキュー内の実行待ちジョブを実行するために必
要な前記処理要素の数以上か否かを判定する割り当て判
定手段(5)と、 前記割り当て判定手段(5)が、前記未使用の処理要素
の数は前記所定優先レベル以上の実行待ちジョブキュー
内の実行待ちジョブを実行するために必要な処理要素の
数に満たないと判定したとき、実行中のジョブを中断す
る実行中断手段(7)とをさらに備え、 前記割り当て制御手段(4)は、中断された前記実行中
のジョブが使用していた前記処理要素を、前記所定優先
レベル以上の実行待ちジョブキュー内の実行待ちジョブ
に割り当てることを特徴とする請求項1記載のスケジュ
ール制御装置。 - 【請求項9】 前記割り当て判定手段(5)が、前記所
定優先レベル以上の実行待ちジョブキュー内の実行待ち
ジョブを起動するために必要な前記処理要素の数が、前
記未使用の処理要素の数と中断可能処理要素数の合計以
内であると判定したとき、前記実行中断手段(7)は前
記実行中のジョブを中断することを特徴とする請求項8
記載のスケジュール制御装置。 - 【請求項10】 前記割り当て判定手段(5)は、前記
並列処理システム内で同時に中断される処理要素の最大
数と、1つの実行待ちジョブを起動するために中断され
る処理要素の最大数と、必要な処理要素数または実行時
間のうち少なくとも1つを用いて指定される規模以下の
ジョブが使用中の処理要素の数とを基にして、前記中断
可能処理要素数を決めることを特徴とする請求項9記載
のスケジュール制御装置。 - 【請求項11】 前記優先度制御手段(2)は、優先レ
ベルの異なる複数の実行中ジョブキューを有し、該優先
レベルおよびキュー内優先度に応じて該実行中ジョブキ
ュー内の実行中ジョブの優先順位を管理し、時間の経過
に伴い該優先順位を動的に見直すことを特徴とする請求
項1記載のスケジュール制御装置。 - 【請求項12】 指定された前記実行中ジョブの重要度
に応じて、該実行中ジョブの所属する実行中ジョブキュ
ーおよびそのキュー内優先度を変更する優先度変更手段
(3)をさらに備えることを特徴とする請求項11記載
のスケジュール制御装置。 - 【請求項13】 未使用の前記処理要素の数が前記実行
待ちジョブキュー内の実行待ちジョブを実行するために
必要な前記処理要素の数以上か否かを判定する割り当て
判定手段(5)と、 前記割り当て判定手段(5)が、前記未使用の処理要素
の数は前記所定優先レベル以上の実行待ちジョブキュー
内の実行待ちジョブを実行するために必要な処理要素の
数に満たないと判定したとき、前記複数の実行中ジョブ
キューのうち、所定優先レベルに満たない前記実行中ジ
ョブキュー内の実行中のジョブを中断する実行中断手段
(7)とをさらに備え、 前記割り当て制御手段(4)は、中断された前記実行中
のジョブが使用していた前記処理要素を、前記所定優先
レベル以上の実行待ちジョブキュー内の実行待ちジョブ
に割り当てることを特徴とする請求項11記載のスケジ
ュール制御装置。 - 【請求項14】 中断された前記実行中のジョブが、前
記所定優先レベル以上の前記実行中ジョブキューに属す
るとき、前記実行待ちジョブキュー内の実行待ちジョブ
より優先的に前記処理要素を割り当てて、中断された該
実行中のジョブを再開する実行再開手段(8)をさらに
備えることを特徴とする請求項13記載のスケジュール
制御装置。 - 【請求項15】 複数の処理要素が並列に処理を行う並
列処理システムにおいて、 優先度の高い未実行処理の開始時刻までに実行を終了す
る予定の新規処理に対しては、前記処理要素の割り当て
が可能と判定し、該開始時刻までに終了しない予定の新
規処理に対しては、前記処理要素の割り当てが不可能と
判定する割り当て判定手段(5)と、 前記割り当て判定手段(5)の判定結果を用いて、前記
並列処理システムにおける処理の実行のスケジューリン
グを行うスケジュール制御手段(1)と、 を備えることを特徴とするスケジュール制御装置。 - 【請求項16】 前記未実行処理を実行するために使用
可能な前記処理要素の数が、前記未実行処理のために必
要な処理要素の数以上となる時刻を求めて、前記開始時
刻とする起動予定設定手段(6)をさらに備えることを
特徴とする請求項17記載のスケジュール制御装置。 - 【請求項17】 前記使用可能な処理要素の数が変動す
ることが予定されているとき、前記起動予定設定手段
(6)は、変動後の使用可能な前記処理要素の数が前記
未実行処理のために必要な処理要素の数以上となるよう
に前記開始時刻を設定することを特徴とする請求項16
記載のスケジュール制御装置。 - 【請求項18】 前記使用可能な処理要素の数は、前記
並列処理システム全体の停止または前記並列処理システ
ムにおける一部の前記処理要素の停止により変動するこ
とを特徴とする請求項17記載のスケジュール制御装
置。 - 【請求項19】 複数の処理要素が並列に処理を行う並
列処理システムにおいて、 使用可能な前記処理要素の数が変動することが予定され
ているとき、変動後の前記使用可能な処理要素の数と、
未実行処理を実行するために必要な前記処理要素の数を
基にして、該未実行処理への前記処理要素の割り当てが
可能か否かを判定する割り当て判定手段(5)と、 前記割り当て判定手段(5)の判定結果を用いて、前記
並列処理システムにおける処理の実行のスケジューリン
グを、運用予定に従って行うスケジュール制御手段
(1)と、 を備えることを特徴とするスケジュール制御装置。 - 【請求項20】 前記割り当て判定手段(5)は、前記
並列処理システムにおいて使用中および使用可能である
前記処理要素を含めた利用可能な前記処理要素の数と、
前記並列処理システムにおいて使用中の前記処理要素の
数とを基にして、前記使用可能な処理要素の数を求める
ことを特徴とする請求項19記載のスケジュール制御装
置。 - 【請求項21】 複数の処理要素により並列に処理され
るジョブのスケジューリングにおいて、 発生した実行待ちジョブの起動順位を優先レベルの異な
る複数の実行待ちジョブキューおよびキュー内優先度に
より管理し、 時間の経過とともに前記実行待ちジョブの属する前記実
行待ちジョブキューおよびそのキュー内優先度を見直し
て、発生してからの待ち時間が長いジョブほど前記起動
順位を高く設定し、 前記起動順位に従って起動された実行中ジョブの優先順
位を優先レベルの異なる複数の実行中ジョブキューおよ
びキュー内優先度により管理し、 所定優先レベル以上の前記実行中ジョブキュー内の実行
中ジョブ、所定優先レベル以上の前記実行待ちジョブキ
ュー内の実行待ちジョブ、所定優先レベルに満たない前
記実行中ジョブキュー内の実行中ジョブ、所定優先レベ
ルに満たない前記実行待ちジョブキュー内の実行待ちジ
ョブの順に優先的に前記処理要素を割り当てることを特
徴とするスケジュール制御方法。 - 【請求項22】 前記実行待ちジョブの所属する前記実
行待ちジョブキューおよびそのキュー内優先度とプレス
テージ容量とに応じてプレステージ順位を決定し、 前記プレステージ順位に従って、該実行待ちジョブが使
用するデータを予め転送速度の速い媒体に転送すること
を特徴とする請求項21記載のスケジュール制御方法。 - 【請求項23】 複数の処理要素により並列に処理され
るジョブのスケジューリングにおいて、 前記処理要素の運用予定を問い合わせ、 使用可能な前記処理要素の数が実行待ちジョブを実行す
るために必要な前記処理要素の数以上であり、かつ、前
記運用予定が妨げられない場合に、前記実行待ちジョブ
を直ちに起動し、 前記実行待ちジョブの起動により前記運用予定が妨げら
れる場合は、前記実行待ちジョブを直ちに起動せずに、
前記運用予定が妨げられないような起動予定時刻を設定
し、該起動予定時刻までに終了する予定の他の実行待ち
ジョブを起動することを特徴とするスケジュール制御方
法。 - 【請求項24】 複数の処理要素により並列に処理され
るジョブのスケジューリングにおいて、 前記処理要素の運用予定を問い合わせ、 使用可能な前記処理要素の数が実行待ちジョブを実行す
るために必要な前記処理要素の数に満たないとき、前記
必要な処理要素の数と前記使用可能な処理要素の数の差
が中断可能処理要素数以下であるか否かを調べ、 前記処理要素の数の差が中断可能処理要素数以下であ
り、かつ、前記運用予定が妨げられない場合に、前記処
理要素の数の差に相当する使用中の前記処理要素の処理
を中断し、 中断された前記処理要素を前記実行待ちジョブに割り当
てて、前記実行待ちジョブを起動し、 前記実行待ちジョブの起動により前記運用予定が妨げら
れる場合は、前記使用中の処理要素の処理を中断せず
に、前記運用予定が妨げられないような起動予定時刻を
設定し、該起動予定時刻までに終了する予定の他の実行
待ちジョブを起動することを特徴とするスケジュール制
御方法。 - 【請求項25】 前記実行待ちジョブの仮の起動時刻を
設定し、 前記仮の起動時刻から前記実行待ちジョブの実行時間以
内の間において予定されている全体で利用可能な前記処
理要素の数の変化を調べ、 前記処理要素の数の変化により変更される使用可能な前
記処理要素の数を求め、 変更された前記使用可能な処理要素の数が前記実行待ち
ジョブを実行するために必要な前記処理要素の数以上の
場合に、前記仮の起動時刻を前記起動予定時刻として設
定し、 変更された前記使用可能な処理要素の数が前記実行待ち
ジョブを実行するために必要な前記処理要素の数に満た
ない場合は、前記仮の起動時刻を設定し直して前記利用
可能な前記処理要素の数の変化を調べる処理以降を繰り
返し、 前記起動予定時刻から前記実行待ちジョブの実行時間以
内の間において、常に前記使用可能な処理要素の数が前
記実行待ちジョブを実行するために必要な前記処理要素
の数以上となるように、前記起動予定時刻を設定するこ
とを特徴とする請求項23または24記載のスケジュー
ル制御方法。 - 【請求項26】 前記実行待ちジョブの起動順位を優先
レベルの異なる複数の実行待ちジョブキューおよびキュ
ー内優先度により管理し、 時間の経過とともに前記実行待ちジョブの属する前記実
行待ちジョブキューおよびそのキュー内優先度を見直し
て、発生してからの待ち時間が長いジョブほど前記起動
順位を高く設定し、 前記起動順位に従って起動された実行中ジョブの優先順
位を優先レベルの異なる複数の実行中ジョブキューおよ
びキュー内優先度により管理し、 所定優先レベル以上の前記実行中ジョブキュー内の実行
中ジョブ、所定優先レベル以上の前記実行待ちジョブキ
ュー内の実行待ちジョブ、所定優先レベルに満たない前
記実行中ジョブキュー内の実行中ジョブ、所定優先レベ
ルに満たない前記実行待ちジョブキュー内の実行待ちジ
ョブの順に優先的に前記処理要素を割り当てることを特
徴とする請求項25記載のスケジュール制御方法。 - 【請求項27】 指定された前記実行待ちジョブまたは
実行中ジョブの重要度に応じて、該実行待ちジョブの所
属する実行待ちジョブキューおよびそのキュー内優先
度、または該実行中ジョブの所属する実行中ジョブキュ
ーおよびそのキュー内優先度を変更することを特徴とす
る請求項26記載のスケジュール制御方法。 - 【請求項28】 前記実行待ちジョブの所属する実行待
ちジョブキューおよびそのキュー内優先度とプレステー
ジ容量とに応じて決められる順序に従って、該実行待ち
ジョブが使用するデータを予め転送速度の速い媒体に転
送することを特徴とする請求項26記載のスケジュール
制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14832294A JP3215264B2 (ja) | 1994-06-29 | 1994-06-29 | スケジュール制御装置とその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14832294A JP3215264B2 (ja) | 1994-06-29 | 1994-06-29 | スケジュール制御装置とその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0816410A true JPH0816410A (ja) | 1996-01-19 |
JP3215264B2 JP3215264B2 (ja) | 2001-10-02 |
Family
ID=15450199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14832294A Expired - Lifetime JP3215264B2 (ja) | 1994-06-29 | 1994-06-29 | スケジュール制御装置とその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3215264B2 (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1015836A (ja) * | 1996-07-05 | 1998-01-20 | Seiko Epson Corp | ロボット用コントローラ及びその制御方法 |
JP2007044825A (ja) * | 2005-08-10 | 2007-02-22 | Toshiba Corp | 行動管理装置、行動管理方法および行動管理プログラム |
JP2007172030A (ja) * | 2005-12-19 | 2007-07-05 | Nec Electronics Corp | 割り込み制御装置及び割り込み制御方法 |
JP2009075956A (ja) * | 2007-09-21 | 2009-04-09 | Fujitsu Ltd | ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム |
WO2010082244A1 (ja) * | 2009-01-16 | 2010-07-22 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
JP2011097174A (ja) * | 2009-10-27 | 2011-05-12 | Honda Motor Co Ltd | サービス処理ステム及びサービス処理方法 |
US8407709B2 (en) | 2005-04-28 | 2013-03-26 | Fujitsu Limited | Method and apparatus for batch scheduling, and computer product |
JP2013175060A (ja) * | 2012-02-24 | 2013-09-05 | Ricoh Co Ltd | 情報処理装置、ファイル処理方法、プログラム |
CN104052926A (zh) * | 2013-03-14 | 2014-09-17 | Juki株式会社 | 图像处理装置以及图像处理方法 |
JP2015535975A (ja) * | 2012-09-12 | 2015-12-17 | セールスフォース ドット コム インコーポレイティッド | オンデマンドサービス環境におけるメッセージキューのためのオークションに基づくリソース共有 |
US10171574B2 (en) | 2014-10-16 | 2019-01-01 | Fujitsu Limited | Computer system, processing method, and computer-readable recording medium having job processing program |
JP2020197886A (ja) * | 2019-06-03 | 2020-12-10 | 日立オートモティブシステムズ株式会社 | 制御装置および制御方法 |
WO2021101012A1 (ko) * | 2019-11-19 | 2021-05-27 | 주식회사 엘지에너지솔루션 | 배터리 관리 시스템 및 그 제어방법 |
US11036549B2 (en) | 2017-06-29 | 2021-06-15 | Fujitsu Limited | Parallel processing apparatus, and method of maintaining parallel processing apparatus |
CN113795998A (zh) * | 2019-06-18 | 2021-12-14 | 株式会社Lg新能源 | 电池管理系统和电池管理方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014054079A1 (en) | 2012-10-05 | 2014-04-10 | Hitachi, Ltd. | Job management system and job control method |
CN108462654B (zh) * | 2016-12-12 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 增强型gjb289a总线通信管理和调度方法 |
KR102031853B1 (ko) * | 2018-07-18 | 2019-10-15 | 국방과학연구소 | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 |
-
1994
- 1994-06-29 JP JP14832294A patent/JP3215264B2/ja not_active Expired - Lifetime
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1015836A (ja) * | 1996-07-05 | 1998-01-20 | Seiko Epson Corp | ロボット用コントローラ及びその制御方法 |
US8407709B2 (en) | 2005-04-28 | 2013-03-26 | Fujitsu Limited | Method and apparatus for batch scheduling, and computer product |
JP2007044825A (ja) * | 2005-08-10 | 2007-02-22 | Toshiba Corp | 行動管理装置、行動管理方法および行動管理プログラム |
JP2007172030A (ja) * | 2005-12-19 | 2007-07-05 | Nec Electronics Corp | 割り込み制御装置及び割り込み制御方法 |
JP2009075956A (ja) * | 2007-09-21 | 2009-04-09 | Fujitsu Ltd | ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム |
WO2010082244A1 (ja) * | 2009-01-16 | 2010-07-22 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
JP2010165259A (ja) * | 2009-01-16 | 2010-07-29 | Sony Computer Entertainment Inc | 情報処理装置および情報処理方法 |
US8793695B2 (en) | 2009-01-16 | 2014-07-29 | Sony Corporation | Information processing device and information processing method |
JP2011097174A (ja) * | 2009-10-27 | 2011-05-12 | Honda Motor Co Ltd | サービス処理ステム及びサービス処理方法 |
JP2013175060A (ja) * | 2012-02-24 | 2013-09-05 | Ricoh Co Ltd | 情報処理装置、ファイル処理方法、プログラム |
JP2019040613A (ja) * | 2012-09-12 | 2019-03-14 | セールスフォース ドット コム インコーポレイティッド | オークションに基づきリソース共有するデータベースシステム及び方法 |
JP2015535975A (ja) * | 2012-09-12 | 2015-12-17 | セールスフォース ドット コム インコーポレイティッド | オンデマンドサービス環境におけるメッセージキューのためのオークションに基づくリソース共有 |
JP2014178801A (ja) * | 2013-03-14 | 2014-09-25 | Juki Corp | 画像処理装置及び画像処理方法 |
CN104052926B (zh) * | 2013-03-14 | 2018-12-11 | Juki株式会社 | 图像处理装置以及图像处理方法 |
CN104052926A (zh) * | 2013-03-14 | 2014-09-17 | Juki株式会社 | 图像处理装置以及图像处理方法 |
US10171574B2 (en) | 2014-10-16 | 2019-01-01 | Fujitsu Limited | Computer system, processing method, and computer-readable recording medium having job processing program |
US11036549B2 (en) | 2017-06-29 | 2021-06-15 | Fujitsu Limited | Parallel processing apparatus, and method of maintaining parallel processing apparatus |
JP2020197886A (ja) * | 2019-06-03 | 2020-12-10 | 日立オートモティブシステムズ株式会社 | 制御装置および制御方法 |
CN113795998A (zh) * | 2019-06-18 | 2021-12-14 | 株式会社Lg新能源 | 电池管理系统和电池管理方法 |
CN113795998B (zh) * | 2019-06-18 | 2024-03-29 | 株式会社Lg新能源 | 电池管理系统和电池管理方法 |
WO2021101012A1 (ko) * | 2019-11-19 | 2021-05-27 | 주식회사 엘지에너지솔루션 | 배터리 관리 시스템 및 그 제어방법 |
JP2022532516A (ja) * | 2019-11-19 | 2022-07-15 | エルジー エナジー ソリューション リミテッド | バッテリ管理システムおよびその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3215264B2 (ja) | 2001-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3215264B2 (ja) | スケジュール制御装置とその方法 | |
US7958508B2 (en) | Method of power-aware job management and computer system | |
JP5684629B2 (ja) | ジョブ管理システム及びジョブ管理方法 | |
US7650601B2 (en) | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment | |
US7739685B2 (en) | Decoupling a central processing unit from its tasks | |
CN101727357B (zh) | 用于分配计算中心中资源的方法和装置 | |
US8458712B2 (en) | System and method for multi-level preemption scheduling in high performance processing | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
JPH07141305A (ja) | 並列計算機の実行制御方法 | |
WO2011148563A1 (ja) | 情報処理システム | |
EP2562644B1 (en) | Systems and methods for bounding processing times on multiple processing units | |
CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
JP4912927B2 (ja) | タスク割当装置、及びタスク割当方法 | |
CN112799837A (zh) | 一种容器动态平衡调度方法 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN111597044A (zh) | 任务调度方法、装置、存储介质及电子设备 | |
CN116610422A (zh) | 一种任务调度方法、装置和系统 | |
JP2015148909A (ja) | 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム | |
CN115858169A (zh) | 一种作业资源分配方法、装置、电子设备及存储介质 | |
CN115629854A (zh) | 分布式任务调度方法、系统、电子设备和存储介质 | |
CA2316643C (en) | Fair assignment of processing resources to queued requests | |
JPH0850551A (ja) | リアルタイムアプリケーションタスクスケジューリング及び処理システム | |
JP5867215B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
EP1630671A1 (en) | Framework for pluggable schedulers | |
US20230418667A1 (en) | Computing device for handling tasks in a multi-core processor, and method for operating computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010717 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080727 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090727 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term |