JP2001022601A - ジョブ実行制御方法及び並列計算機システム - Google Patents

ジョブ実行制御方法及び並列計算機システム

Info

Publication number
JP2001022601A
JP2001022601A JP11198003A JP19800399A JP2001022601A JP 2001022601 A JP2001022601 A JP 2001022601A JP 11198003 A JP11198003 A JP 11198003A JP 19800399 A JP19800399 A JP 19800399A JP 2001022601 A JP2001022601 A JP 2001022601A
Authority
JP
Japan
Prior art keywords
job
nodes
jobs
target
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11198003A
Other languages
English (en)
Inventor
Tomoharu Ishizaki
知晴 石▲崎▼
Kazuya Higuchi
和也 樋口
Toshiaki Sunago
俊明 砂子
Hiroshi Mitsunaga
洋 光永
Hiroyuki Sakuraba
博之 桜庭
Hitoshi Kihara
均 木原
Keiko Kanemitsu
敬子 兼光
Takashi Kurata
剛史 倉田
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP11198003A priority Critical patent/JP2001022601A/ja
Publication of JP2001022601A publication Critical patent/JP2001022601A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ジョブが要求する計算ノード数の確保に失敗
した場合に、待ちキューの先頭のジョブを優先的にスケ
ジュールすることを可能にしたジョブ実行制御方法。 【解決手段】 待ちキューの先頭のジョブが空きノード
数を確保できずに待ち状態となっている場合、先頭のジ
ョブがジョブの実行を要求してから実際に要求するノー
ド数を確保できるまでの最長待ち時間や実行中のジョブ
に対するノード使用効率、後続ジョブの追い越しや、実
行中ジョブのユーザ要求による実行の中止や異常終了に
おけるジョブスケジュールのユーザの不満度を考慮し、
実行中のジョブの一時的な停止または一時的な中断を行
うことにより待ちキューの先頭のジョブを優先スケジュ
ールする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の算機に対す
るジョブ実行制御方法及び並列計算機システムに係り、
特に、複数の実行待ちジョブのうち、先頭に実行要求が
発行されたジョブに対して優先的にスケジュールを行う
複数の計算機に対するジョブ実行制御方法及び並列計算
機システムに関する。
【0002】
【従来の技術】従来技術による複数の計算機に対するジ
ョブ実行制御方法は、複数の計算機である複数のノード
を不特定のユーザがいかに効率よく利用することができ
るかを目的としてジョブの実行制御を行うようにされて
いる。この種の従来技術として、例えば、特開平5−2
86404号公報等に記載された技術が知られている。
【0003】この従来技術は、複数の実行待ちジョブの
うち最先に実行要求が発行されたジョブ(以下、最先の
ジョブという)に関して、そのジョブが要求するノード
数が、空きノード数の総数以下か否かを判別し、最先の
ジョブが要求しているノード数が確保できる状態になる
までの現在の時刻から終了予定経過時間を現在実行中の
ジョブから算出することにより判断し、最先のジョブを
待ち状態とし、後続のジョブを優先的に追い越して先に
起動させるか、最先のジョブの終了を待ってから後続の
ジョブを起動させるかを判別し、ノードの利用効率を向
上させるようにするというものである。
【0004】
【発明が解決しようとする課題】前述した従来技術は、
ノードの利用効率の向上を目的としており、空きノード
数をいかに効率よく利用させるかという点において最適
な方法の1つである。
【0005】しかし、前述の従来技術は、実行待ちキュ
ーの先頭のジョブ(以下、先頭のジョブという)がノー
ド数確保に失敗した場合に長時間スケジュールされない
場合があるという問題点を有している。
【0006】また、前述の従来技術は、先頭のジョブを
投入(以下、サブミット)した後に、後続のジョブが先
頭のジョブを追い越してスケジュールされることによる
ユーザの不満度や実行中のジョブがユーザ要求により実
行を中止させた場合や異常終了した後も先頭のジョブが
待ち状態のままスケジュールされないことに対する不満
について配慮されておらず、先頭のジョブが空きノード
数を確保できず待ち状態となった場合に、先頭のジョブ
を優先的に実行することができなくなるという問題点を
有している。
【0007】本発明の目的は、前述した従来技術の問題
点を解決し、先頭のジョブが空きノード数を確保できず
待ち状態となった場合、先頭のジョブがジョブ実行を要
求してから実際に要求ノード数を確保できるまでの最長
待ち時間や実行中のジョブに対するノード使用効率、後
続ジョブの追い越しによる先頭のジョブの不満、実行中
のジョブのユーザ要求による実行の中止や異常終了が発
生した場合のジョブスケジュールに対する先頭のジョブ
の不満を考慮し、ジョブの沈み込みを防止して、先頭の
ジョブを優先的にスケジュールすることを可能にした複
数の計算機に対するジョブ実行制御方法及び並列計算機
システムを提供することにある。
【0008】
【課題を解決するための手段】本発明によれば前記目的
は、計算機であるノードの複数と、該複数のノード相互
間で共有するメモリとにより構成され、ノード相互間を
ネットワークで結合したシステムにおけるジョブ実行制
御方法において、実行待ちの先頭のジョブが要求するノ
ード数を確保するため、現在実行中の複数のジョブの中
で実行中のジョブが確保しているノード数の総和が、先
頭のジョブの要求ノード数を満たすジョブ群を対象ジョ
ブとして登録し、前記対象ジョブのノード数の総和と前
記先頭のジョブの要求ノード数にシステムがジョブ稼動
状況により予め定めた重みを乗じた値とを比較し、前記
先頭のジョブの要求ノード数にシステムがジョブ稼動状
況により予め定めた重みを乗じた値が、前記対象ジョブ
のノード数の総和より大きい場合、前記対象ジョブを一
時的に停止または一時的に中断して、前記先頭のジョブ
を優先的にスケジュールすることにより達成される。
【0009】また、前記目的は、実行待ちの先頭のジョ
ブが要求するノード数を確保するため、現在実行中の複
数のジョブの中で実行中のジョブが確保しているノード
数の総和が、先頭のジョブの要求ノード数を満たすジョ
ブ群を対象ジョブとして登録し、先頭のジョブが後続の
ジョブに追い越されたジョブ本数とシステムがジョブ稼
動状況により予め定めた追い越しジョブ本数とを比較
し、先頭のジョブが後続のジョブに追い越された本数
が、前記予め定めたシステム追い越しジョブ本数を越え
たとき、前記対象ジョブを一時的に停止または一時的に
中断して、前記先頭のジョブを優先的にスケジュールす
ることにより達成される。
【0010】また、前記目的は、実行待ちの先頭のジョ
ブが要求するノード数を確保するため、現在実行中の複
数のジョブの中で実行中のジョブが確保しているノード
数の総和が、先頭のジョブの要求ノード数を満たすジョ
ブ群を対象ジョブとして登録し、前記先頭のジョブが必
要とするノード数を最後に解放する最後のジョブが、終
了予定時刻よりも早く終了した場合、最後のジョブの実
際のジョブ経過時間とユーザ指定の終了予定経過時間と
の割合とシステムがジョブ稼動状況により予め定めたジ
ョブ終了経過時間の割合とを比較し、システムがジョブ
稼動状況により予め定めたジョブ終了経過時間の割合
が、最後のジョブの実際のジョブ経過時間とユーザ指定
の終了予定経過時間との割合より大きい場合、前記対象
ジョブを一時的に停止または一時的に中断して、前記先
頭のジョブを優先的にスケジュールすることにより達成
される。
【0011】さらに、前記目的は、前述の方法を実施す
る手段を備えて並列計算機システムにを構成することに
より達成される。
【0012】前述した構成を備える本発明によれば、先
頭のジョブが要求ノード数を確保できず待ち状態になっ
た場合、先頭のジョブが初めて要求ノード数を確保しよ
うとした時刻から、先頭のジョブが実行可能状態になる
までに必要とするノード数を最後に解放するジョブ、す
なわち言いかえれば、現在実行待ちキューに繋がってい
る先頭のジョブがキューイングされた時点の終了予定の
ジョブ(以下、最後のジョブ)の現在時刻から終了予定
時刻までの最長ジョブ待ち時間及び先頭のジョブが後続
のジョブに追い越されるジョブ本数、最後のジョブが終
了予定時刻より早く終了したり、ユーザ要求によるジョ
ブの中止やジョブ資源超過などによるシステム側からの
ジョブの中止により、先頭のジョブが実行開始予定時刻
より早く実行可能状態になりえる場合の各々の条件をシ
ステムで動的に判別し、先頭のジョブを優先的にスケジ
ュールし、即時実行するか即時実行せず従来の実行開始
予定時刻まで待たせるかを決定し、実行中のジョブの一
時的な停止または一時的な中断により先頭のジョブを実
行させることができる。
【0013】一時的な停止は、ジョブフリーズ機能等に
より、実行中のジョブが所有する全システム資源の解放
を行うことにより実行される。ジョブフリーズ機能と
は、ジョブフリーズ要求があった対象ジョブに対して、
ジョブ実行情報を外部記憶装置に格納し、ジョブのリス
タート要求があった場合、外部記憶装置へ格納した情報
を元に、ジョブの状態をリスタート前の状態へ回復し対
象ジョブ実行を再開する機能である。
【0014】また、一時的な中断機能は、実行中のジョ
ブからCPU資源のみを解放する機能であり、実行ジョ
ブキューから当該ジョブを一時的に切り離すことであ
り、ノード内のメモリ資源の解放は行わず、十分に大き
なメモリ資源を搭載している計算機システムにおいて有
効である。
【0015】
【発明の実施の形態】以下、本発明によるジョブ実行制
御方法及び並列計算機システムの一実施形態を図面によ
り詳細に説明する。
【0016】図1〜図3は本発明の実施形態によりジョ
ブのスケジューリングを行う処理動作を説明するフロー
チャート、図4は本発明が適用される計算機システムの
構成を示すブロック図、図5、図6は本発明の実施形態
によるジョブのスケジュールの具体例について説明する
図、図7は図4におけるジョブ管理テーブル及び先頭ジ
ョブ管理テーブルの構成を示す図、図8は図4における
ジョブ実行制御管理テーブルの構成を示す図である。図
4、図7、図8において、401は並列計算機システ
ム、402はノード、403はネットワーク、404は
スーパバイザリノード、405は外部記憶装置、406
はオペレーティングシステム(OS)、407はジョブ
スケジューラ、706はジョブ管理テーブル、740は
先頭ジョブ管理テーブル、800はジョブ実行制御管理
テーブルである。
【0017】まず、図4、図7、図8を参照して本発明
が適用される並列計算機システムの構成及びジョブ管理
テーブル706、先頭ジョブ管理テーブル740、ジョ
ブ実行制御管理テーブル800の構成について説明す
る。
【0018】本発明が適用される並列計算機システム4
01は、プロセッサ(CPU)を持ち計算を行うための
複数個(n個)のノード402がネットワーク403に
より相互に結合され、また、全てのノード402により
共用される外部記憶装置405が幾つかのノードに接続
されて構成されている。n個のノードのうち1つがスー
パバイザリノード404と呼ばれ、このノード404内
で、OS406とジョブスケジューラ407とが動作し
ている。ジョブが投入(以下、サブミットという)され
ると、ジョブスケジューラ407は、ジョブを外部記憶
装置405に入力し、ジョブの実行待ちキューにキュー
イングする。
【0019】ジョブスケジューラ407は、ジョブを実
行するタイミングとジョブを実行するノードとを決定す
る処理を行う。また、ジョブのサブミットが行われる
と、ジョブ管理テーブル706へ、ジョブのサブミット
情報が登録される。スケジュールされるジョブは、ジョ
ブ管理テーブル706、先頭ジョブ管理テーブル74
0、ジョブ実行制御管理テーブル800等により決定さ
れる。これらの管理テーブル706、740、800の
それぞれは、ユーザによるジョブのサブミットや実行中
のジョブの終了、追い越しジョブの発生等を契機に作成
・更新される。
【0020】ジョブのサブミットは、ジョブ実行制御言
語あるいはコマンドにより行われる。以下に説明する本
発明の実施形態においては、各ジョブのサブミット時
に、各ジョブの実行に必要な要求ノード数、そのジョブ
がジョブ実行を開始してから、そのジョブが実行に必要
な最大の実行要求時間(以下、終了予定経過時間とい
う)を指定するものとする。終了予定経過時間とは、ジ
ョブが実行を開始してからの実行可能な時間を示してお
り、そのジョブは、終了予定経過時間を過ぎて実行する
ことができない。この時間指定を超えるジョブがある場
合、そのジョブの実行は打ち切られる。
【0021】ジョブがサブミットされると、そのジョブ
は実行待ち状態となり、計算機システム上に要求ノード
数が確保されるとジョブの実行が開始される。複数のノ
ードを不特定多数のユーザが使用する計算機システムに
ジョブをサブミットした場合、サブミットされたジョブ
が即座に実行されずに、ジョブの実行が待たされる場合
がある。このような場合、センタ運用上の都合やジョブ
形態などを考慮し、優先的に実行待ちジョブをスケジュ
ールすることが必要となる。このような実行待ちジョブ
の優先的なスケジュールは、実行中のジョブを一時的に
停止または中断させ、実行待ちのジョブキューの先頭の
ジョブを優先的に実行させることにより実現することが
できる。
【0022】ジョブ管理テーブル706は、図7(A)
に示すように、それぞれのジョブ名701を登録順に管
理している。登録されている最後のジョブJob_n 705
における添字nは、計算機システム全体で登録されてい
るジョブ本数を示している。それぞれのジョブには、実
行要求ノード数Node_n 702、ジョブ終了予定経過時
間Stop_etime_n 703、ジョブ各種情報Info_n 70
4が登録されており、そのジョブを実行するために必要
な情報が登録されている。
【0023】要求ノード数702は、そのジョブが必要
とするノード数を示しており、そのノード数を確保でき
た段階でジョブの実行が開始される。ジョブ終了予定経
過時間703はジョブの実行が開始されてからジョブ終
了までに経過する予定の時間であり、指定された時間、
ジョブが実行されることを保証している。ジョブ終了予
定経過時間703を越えて実行要求のあるジョブに対し
ては、ジョブの打ち切り処理が行われ、ジョブの実行が
中断される。ジョブ各種情報704は、ジョブの資源管
理値、ジョブ開始時間、ジョブID等の情報が格納され
ている。
【0024】先頭ジョブ管理テーブル740は、図7
(B)に示すように、実行待ちキューの先頭にキューイ
ングされているジョブ(以下、先頭のジョブという)を
Head_job 710として管理している。この管理テーブ
ル740において、要求ノード数N711は、先頭のジ
ョブ710がジョブ実行に必要なノード数を示してい
る。実行待ちジョブの先頭のジョブになった段階で、こ
のジョブは、計算機システムの空きノード数が確保され
れば即座に実行されるが、確保されない場合、ジョブ実
行待ちとなる。終了予定経過時間Sch_etime712は、
先頭のジョブ710が実行されてからそのジョブが終了
するために必要なユーザから要求された実行時間を示し
ている。追い越されたジョブ本数Jnum713は、先頭の
ジョブ710が実行に必要なノード数711を確保でき
ずに実行待ちとなった場合に、そのジョブを後続のジョ
ブが追い越して実行することができ、この追い越した後
続のジョブの本数を示している。
【0025】先頭のジョブ710は、先頭のジョブ71
0が要求する要求ノード数N711とシステムで管理し
ている後述の計算機システムの空きノード数EN802
との比較で、先頭のジョブ710が要求する要求ノード
数N711の方が大きい場合に待ち状態とされる。この
ような場合、先頭のジョブ710に後続している待ちジ
ョブのうち、ジョブ管理テーブル706の要求ノード数
Node_n 702、終了予定経過時間Stop_etime_n 70
3の情報より、現在時刻T801から先頭のジョブ71
0が要求ノード数N711を確保できる予定の時刻を求
め、その時間内でジョブの実行、終了が可能な後続のジ
ョブをノードの有効利用の観点から優先スケジュール
し、そのジョブに先頭のジョブ710を追い越すことを
許可する。
【0026】従って、追い越されたジョブ本数Jnum 7
13は、先頭のジョブ710を後続のジョブが追い越し
たジョブの本数を示している。
【0027】一時停止・中断対象ジョブ群714は、先
頭のジョブ710が要求ノード数N711を確保して実
行可能となるために、実行中のジョブの一時的な停止ま
たは一時的な中断を行う対象ジョブ群を格納した対象ジ
ョブ群のテーブル720をポイントしている。対象ジョ
ブ群のテーブル720は、現在実行中のジョブの中で先
頭のジョブ710の要求ノード数N711を確保するた
めに、一時停止・一時中断の対象となるジョブ群を格納
したテーブルである。
【0028】前述のテーブル720に格納される後述の
各種のデータにおける添字iは対象ジョブ群のジョブ本
数を示している。テーブル720は、ジョブ名715、
要求ノード数716、終了予定経過時間717、終了予
定時刻718、開始時刻726、追越しフラグ725を
1組としたジョブ対応の情報を格納している。そして、
要求ノード数716は、そのジョブが確保中のノード数
を示し、終了予定経過時間717は、そのジョブの終了
予定経過時間を示し、終了予定時刻718は、そのジョ
ブが実行を開始した時刻に終了予定経過時間717を加
算した値であり、終了予定時刻718を示している。
【0029】通常、先頭のジョブ710は、テーブル7
20に登録されている対象ジョブ群のジョブが全て終了
した段階で実行される。
【0030】テーブル720におけるジョブの並びは、
終了予定時刻718をキーにソートされており、終了時
刻の早い順に並べられている。従って、ジョブ名j_i 7
21のジョブは、対象ジョブ群の中で最後に終了する予
定のジョブ(以下、最後のジョブ)であり、ジョブ名j_
i 721のジョブが終了する段階では、ジョブ名j_17
23のジョブからジョブ名j_i-1 722のジョブは全て
終了している。
【0031】開始時刻726は、そのジョブが実行を開
始した時刻を示しており、追い越しフラグ725は、テ
ーブル720に登録されている対象ジョブ群のうち、先
頭ジョブ710よりも後にサブミットされたジョブ(以
下、後続ジョブ)の場合ON、先頭のジョブ710より
以前にサブミットされたジョブに対してOFFが設定さ
れる。
【0032】ジョブ実行制御管理テーブル800は、図
8に示すように、現在時刻T801、ジョブのノード利
用状況を示す計算機システムの空きノード数EN80
2、最も近い過去において一時的な停止または一時的な
中断処理が実施された時刻である前回の一時停止・中断
時間FT803、ジョブ稼動情報等を示す環境パラメー
タ804を格納している。
【0033】ジョブ稼動情報等を示す環境パラメータ8
04は、多数の情報を持つ。そして、これらの情報は、
環境パラメータ804からポイントされるものであり、
その計算機システムの管理者が動的に決定する事項であ
り、システムのジョブ運用状況により逐次更新されてい
くものである。ジョブの運用形態は、計算機システムに
おいて様々であり、年・月・日毎の稼動状況や平日の昼
間・深夜、休日などにより計算機稼動状況が変化するも
のである。
【0034】従って、環境パラメタ804からポイント
される各種情報は、ある期間の稼動状況を計測しセンタ
ポリシに沿ってシステム管理者によって決定され、また
は、それに準ずる稼動状況計測プログラムなどにより動
的に決定される。これらの情報としては、図8にも示し
ているように、以下に説明するようなものがある。
【0035】ジョブ動作保証時間TM810は、先頭の
ジョブ710が優先スケジュールの対象となった場合、
現在時刻Tより対象ジョブ群テーブル720に登録され
ている対象ジョブ群に対して、一時的な停止または一時
的な中断を猶予する時間である。この時間内で対象ジョ
ブ群が終了可能であれば、対象ジョブ群の一時的な停止
または一時的な中断を行わず、先頭のジョブ710を、
対象ジョブ群が終了するまで待たせてから実行させる値
である。
【0036】システム追い越しジョブ本数SN811
は、先頭のジョブ710が要求する要求ノード数N71
1を確保できずに待ち状態となっている状態で、後続の
ジョブが先頭のジョブ710を追い越すことを許可する
ジョブ本数である。システム追い越しジョブ本数SN8
11を越えた段階で、前述の対象ジョブ群の一時的な停
止または一時的な中断処理を行う。
【0037】ジョブ実行待ち時間TW812は、最後の
ジョブ721がユーザにより外部的な操作により実行を
中止された場合やジョブの資源超過によりシステムから
ジョブの実行を中断された場合、あるいは、ユーザが指
定した終了予定経過時間717をあまりに早く終了して
しまったジョブに対する先頭のジョブ710の待ち時間
を比較する値である。
【0038】通常、ジョブの終了予定経過時間は、ユー
ザ指定により設定されるためユーザ自身にも経験と知識
が必要となりジョブの特性を考慮した値を指定しなけれ
ばならない。しかし、一概に全ユーザがこのような条件
を理解してジョブをサブミットしているわけではなく、
見積もった終了予定経過時間703を大幅に大きく設定
することが考えられる。このためジョブ実行待ち時間T
W812を設けることにより、最後のジョブj_i 721
が終了予定時刻sto_i 719よりも早く終了してしまっ
た場合などに対処する。
【0039】一時停止・中断保証間隔時間FTM813
は、最も近い過去におけるジョブの一時的な停止または
一時的な中断を実施した時刻から次回の一時的な停止ま
たは一時的な中断処理要求を行うまでの時間間隔を保証
する最少値であり、この間隔値を保証することにより連
続的に一時的な停止または一時的な中断処理が実施され
ず、結果的に実行中のジョブに対する沈み込みの防止を
行う。
【0040】ジョブの重み係数α814は、テーブル7
20に格納されている対象ジョブ群と先頭のジョブ71
0との重み付けを行う値であり、先頭のジョブ710の
要求ノード数N711に乗ずる値である。
【0041】ジョブ終了経過時間の割合β815は、ジ
ョブの終了に伴い、そのジョブに指定された終了予定経
過時間と実際にジョブ開始時刻から経過した経過時間と
の割合を比較する値であり、この割合β815を越えた
場合、テーブル720に格納されている対象ジョブ群が
全て終了するまで先頭のジョブ710を待ち状態とし、
β以下の場合、対象ジョブ群に対して一時的な停止また
は一時的な中断を実施する。
【0042】次に、図5、図6を参照して、本発明の実
施形態によるジョブ実行制御に基づくジョブのスケジュ
ールの具体例について説明する。
【0043】まず、図5(A)により実行を開始したジ
ョブの表現方法を説明する。ジョブの表現を定量的にと
らえ、実行を開始したジョブは、ジョブ終了予定経過時
間501を横軸に、確保した要求ノード数502を縦軸
に表現される。ジョブ終了予定経過時間501が大きい
ほど経過時間501の軸が左右に拡張され、要求ノード
数502が多いほど要求ノード数502の軸が上下に拡
張される。
【0044】複数の実行を開始したジョブを、前述の形
式で表現すると、図5(C)、図6(A)、図6(B)
に示すように表現される。図5(B)は、図5(C)、
図6(A)、図6(B)に示すような表現で実行される
複数のジョブのそれぞれのジョブのジョブ終了予定経過
時間510及び要求ノード数511を示している。な
お、図5(C)、図6(A)、図6(B)に示す例は、
計算機システムに搭載されているノード数は8台として
表現している。
【0045】図5(C)に示す例を参照して、先頭のジ
ョブ710が初めて要求ノード数N711を確保しよう
とした時間から、先頭のジョブが実行可能状態になるま
でに、最後のジョブ721の終了予定時刻719までの
最長ジョブ待ち時間について、先頭のジョブ710を優
先スケジュールするか否かについて説明をする。ここ
で、サブミットされるジョブは、図5(B)に示すJob1
からJob6までであるとする。
【0046】まず、全てのノードが空きの状態であると
する。この場合、Job1からJob5までのジョブが要求する
ノード数511のノード確保が可能であるため、これら
のジョブが順次スケジュールされていくが、Job6が先頭
のジョブ710になったとき、計算機システムの空きノ
ード数EN802がJob6の要求ノード数512を確保す
ることができないため、Job6は、待ち状態となる。
【0047】ここで、Job6が要求するノード数512を
確保するために最後のジョブ(この場合、Job5)がノー
ドを解放した時点でノードの確保ができ実行されること
となるが、Job5の終了予定経過時間513が長く、実際
に確保されているノード数514が少ない場合等に、Jo
b3の実行が終了した時点(図5(C)のa点)からJob5
のジョブが終了するまでの待ち時間が、かなり大きな時
間となる場合がある。
【0048】このような場合、Job6のジョブ属性を見る
と要求ノード数512が多く、終了予定経過時間515
が短い場合などには、先にJob6を実行させた方が、ノー
ドの利用効率がよくなることになる。ここで、実行中ジ
ョブの一時的な停止または一時的な中断によりJob6を優
先スケジュールすることができる。
【0049】Job6が要求ノード数512を確保できるた
めには、Job2、Job3、Job4、Job5の終了を待たなくては
ならない。従って、対象ジョブ群(テーブル720に格
納される)は、Job2、Job3、Job4、Job5ということにな
る。また、一時的な停止または一時的な中断を実行する
か否かの判断は、実行中の各ジョブの要求ノード数51
1の総和を求め、この値と先頭のジョブ710が要求す
るノード数711にジョブ重み係数α814を乗じた値
とを比較し、先頭のジョブ710のノード利用効率のほ
うが有効と判断した場合、対象ジョブ群の現在時刻から
それぞれのジョブの残終了予定経過時間の総和を求め、
対象ジョブ群のジョブについて、1ジョブ当たりの平均
残経過時間を求め、この1ジョブ当たりの平均残経過時
間と先頭のジョブ710の終了予定経過時間712とを
比較することにより行われる。
【0050】図5(C)に示すaの時点531は、前述
の判断の結果、対象ジョブ群のジョブの一時的な停止ま
たは一時的な中断を実行し、先頭のジョブ710を優先
的に実行する箇所を示している。この場合、JOb5が一時
的な停止または一時的な中断の対象となる。対象ジョブ
群の一時的な停止または一時的な中断を行わない場合、
図5(C)に示すbの時点532でJOb6が実行される予
定である。
【0051】前述した図5(C)に示すようなスケジュ
ーリングを行う場合の処理フローが図1に示されてお
り、以下、図1に示すフローを説明する。
【0052】図1に示すフローによる処理は、ユーザに
よるジョブのサブミットや実行中のジョブが終了したこ
とを契機に起動されるが、この処理を開始する直前に先
頭ジョブ管理テーブル740は作成・更新されている。
【0053】(1)ジョブのサブミットやジョブの終了
が発生し、処理が開始されると、先頭のジョブ710が
存在するか否かを判定する。先頭ジョブ710が存在し
ない場合、何もせずに処理を終了する(ステップ10
1)。
【0054】(2)ステップ101で、先頭のジョブ7
10が存在した場合、計算機システムの空きノード数E
N802を取得し、先頭のジョブ710が要求ノード数
N711を確保可能か否かを判定し、要求ノード数N7
11の確保が可能な場合、ノードの確保を行い、ジョブ
の実行を開始する(ステップ102、103、11
4)。
【0055】(3)ステップ103の判定で、計算機シ
ステムの空きノード数EN802よりも要求ノード数N
711が大きい場合、先頭のジョブ710が必要とする
要求ノード数N711を最後に解放するジョブ721の
終了予定時刻sto_i 719から現在時刻T801を引い
た残りの時間 sto_i−Tを求める(ステップ104)。
【0056】(4)ジョブ動作保証時間TM810を取
得して、残りの時間 sto_i−Tとジョブ動作保証時間T
M810とを比較し、sto_i−T がジョブ動作保証時間
TM810以下の場合、何もせずに処理を終了する(ス
テップ105、106)。
【0057】(5)ステップ106の比較で、sto_i−
T がジョブ動作保証時間TM810より大きな場合、
現在実行中の対象ジョブ群の確保している総ノード数Σ
n_i を取得し、総ノード数Σn_i と先頭のジョブ710
が要求するノード数N711にジョブ重み係数α814
を乗じた値N*αとを比較する。Σn_i がN*α以上で
ある場合、何もせずに処理を終了する(ステップ10
7、108)。
【0058】(6)ステップ108の比較で、Σn_i よ
りN*αのほうが大きい場合、対象ジョブ群の現在時刻
T801と終了予定時刻718とからそれぞれの対象ジ
ョブの1ジョブ当たりの残りの平均残経過時間Σ(sto_i
−T)/iをwk1として求め、wk1と先頭のジョブ
710の終了予定経過時間 Sch_etime712とを比較す
る。平均残経過時間wk1が、先頭のジョブ710の終
了予定経過時間 Sch_etime712以下の場合、何もせず
に処理を終了する(ステップ109、110)。
【0059】(7)ステップ110の比較で、平均残経
過時間wk1のほうが先頭のジョブ710の終了予定経
過時間 Sch_etime712より大きい場合、前回の一時停
止・中断時間FT803と一時停止・中断保証間隔時間
FTM813とを取得する。そして、現在時刻T801
と前回の一時停止・中断時間FT803との差T−FT
を求め、この差とFTMとを比較し、差T−FTがFT
Mより小さい場合、何もせずに処理を終了する(ステッ
プ111、112)。
【0060】(8)ステップ112の比較で、差T−F
TがFTM以上の場合、対象ジョブ群に対してジョブの
一時的な停止または一時的な中断処理を実施する。これ
により、対象ジョブ群の一時的な停止または一時的な中
断をすることにより、先頭のジョブ710が要求するノ
ード数N711を確保することができ、先頭のジョブ7
10の実行が可能な状態となる(ステップ113、11
4)。
【0061】前述した処理の後、先頭のジョブ710が
実行され、それが終了すると、一時的な停止または一時
的な中断を行ったジョブの回復処理が行われる。
【0062】前述したように、本発明の実施形態によれ
ば、先頭のジョブ710がノードの確保を行うことがで
きず、実行待ち状態になった場合にも、現在使用されて
いるノードの使用状況及びそれぞれの実行中ジョブの残
りの終了予定経過時間を考慮し、より有効なノード利用
を実現することが可能である。
【0063】また、前述した処理によれば、先頭のジョ
ブ710がサブミットされた順番による影響を少なくで
き、ノードを確保するまでの最長待ち時間及びそのとき
使用されているノードの稼動状況、ジョブの特性を考慮
し優先スケジュールするか否かを動的に行うことがで
き、ユーザの不満を解消することが可能である。
【0064】次に、図6(A)を参照して、先頭のジョ
ブ710が後続のジョブに追い越された場合、追い越さ
れたジョブ本数Jnum713によって優先スケジュールす
るか否かを決定するスケジュール方法について説明す
る。ここで説明する例では、サブミットされるジョブ
は、図5(B)のJob1からJob6、Job8、Job10からJob15
までであるとする。
【0065】まず、Job1からJob5までのジョブが要求す
るノード数511のノード確保が可能であるため、これ
らのジョブが順次スケジュールされていくが、Job6が先
頭のジョブ710になったときには、計算機システムの
空きノード数EN802がJob6の要求ノード数512を
確保できないため、Job6が待ち状態とされる。ここで、
Job6が要求する要求ノード数512を確保するために最
後のジョブ(この場合、Job5)がノードを解放した時点
(図6(A)に示すg点)でノードの確保ができ、Job6
の実行が可能となるが、その間に後続のジョブに対して
実行可能なジョブがないかを判別する。
【0066】図6(A)に示すaの時点では、Job8、Jo
b10からJob15までのジョブがJob6と同様に要求ノード数
511の確保ができずに待ち状態となる。次に、Job4が
終了すると(図6(A)に示すbの時点)、ノード5、
ノード6、ノード7の3台のノードが空き状態となる
が、Job6の要求ノード数512には満たないので、Job6
は、再び待ち状態となる。
【0067】ここで後続のジョブに対して実行可能なジ
ョブがないかを判別する。この場合、後続のJob8におい
ては要求ノード数523が確保でき、かつ、最後のジョ
ブJob5の終了予定時刻内にJob8の終了予定経過時間52
2が収まるため、Job8は、Job6を追い越してが実行され
る。このとき、先頭のジョブ710の追い越されたジョ
ブ本数Jnum713は+1される。
【0068】一方、Job10 に関しては、要求ノード数5
18は、現段階では1台の空きノード(ノード7)があ
り要求ノード数518を満たしているが、終了予定経過
時間519が長いため、Job5の終了予定時刻内に収まら
ず、Job10 はスケジュールされない。また、後続のJob1
1 は、Job8と同様、要求ノード数521及び終了予定経
過時間520がJob5の終了予定時刻内に収まるので実行
される。この結果、先頭のジョブ710の追い越された
ジョブ本数Jnum713は+1される。
【0069】次に、Job11の実行が終了すると(図6
(A)に示すcの時点)、Job12がJob6を追い越して実
行され、Job2、Job3の実行が終了すると(図6(A)に
示すd、eの時点)、Job13、Job14、Job15がJob6を追
い越して実行される。この時点で先頭のジョブ710の
追い越されたジョブ本数713Jnumは6となり、合計6
本のジョブに追い越されたことになる。
【0070】このような場合、Job6が後続のジョブに追
い越されることにより、Job6を実行したいユーザの不満
度が増加していく。本発明は、このようなことを回避す
るため、追い越しの本数を制限し、追い越したジョブが
終了した時点で、実行中ジョブの一時的な停止または一
時的な中断処理によりJob6を優先スケジュールすること
ができる。ここでの一時的な停止または一時的な中断を
実行するか否かの判断は、Job6を追い越していった後続
ジョブの本数とシステム全体で許可するシステム追い越
しジョブ本数SN811とを用いて行われる。
【0071】図6(A)に示すfの時点は、一時的な停
止または一時的な中断を実行して先頭のジョブ710で
あるJob6を601として示すように優先スケジュールす
ることを示している。対象ジョブ群の一時的な停止また
は一時的な中断をしない場合、Job6は、602として示
すように、図6(A)に示すgの時点で実行される予定
である。
【0072】前述した図6(A)に示すようなスケジュ
ーリングを行う場合の処理フローが図2に示されてお
り、以下、図2に示すフローを説明する。
【0073】図2に示すフローによる処理の起動のタイ
ミングは、先頭のジョブ710が後続のジョブに追い越
された場合であるが、この処理を開始する直前に先頭ジ
ョブ管理テーブル740は作成・更新されている。
【0074】(1)先頭のジョブ710が後続のジョブ
に追い越されると、計算機システムのシステム追い越し
ジョブ本数SN811を取得し、先頭のジョブ710が
追い越されたジョブ本数Jnum713とSN811とを比
較する。この結果、Jnum713がSN811以下の場
合、何もせず処理を終了する(ステップ201、20
2)。
【0075】(2)ステップ202での比較で、Jnum7
13がSN811を越えた場合、最後のジョブ721の
終了予定時刻 sto_i719と現在時刻Tとの差 sto_i−
Tを計測し、次に、ジョブ動作保証時間TM810を取
得して、 sto_i−TとTM810とを比較する。この結
果、 sto_i−TがTM810以下の場合、何もせずに処
理を終了する(ステップ203〜205)。
【0076】(3)ステップ205での比較で、 sto_i
−TがTM810より大きい場合、テーブル720内の
対象ジョブ群の中で追い越しフラグ725がONで、か
つ、終了予定時刻718が最後のジョブ(最後の追い越
しジョブ)の終了予定時刻 sto_g(この場合、g番目と
仮定する)を取得し、最後のジョブの終了予定時刻 sto
_i719と sto_gとの差sto_i−sto_gを計測する。この
差sto_i−sto_gとジョブ動作保証時間TM810との比
較を行い、差sto_i−sto_gがTM810以下の場合、何
もせずに処理を終了する(ステップ206、207)。
【0077】(4)ステップ207での比較で、差sto_
i−sto_gがTM810より大きい場合、最後の追い越し
ジョブsto_gの終了を待ち、最後の追い越しジョブsto_g
が終了したら、前回の一時停止・中断処理の開始時間F
T803、一時停止・中断保証間隔時間FTM813を
取得する(ステップ208、209)。
【0078】(5)次に、現在時刻T801と前回の一
時停止・中断時間FT803との差T−FTを求め、T
−FTとステップ209で取得したFTM813とを比
較し、T−FTがFTM813より小さい場合、何もせ
ずに処理を終了する(ステップ210)。
【0079】(6)ステップ210での比較で、T−F
TがFTM813以上の場合、対象ジョブ群に対してジ
ョブの一時的な停止または一時的な中断処理を実施す
る。これにより先頭のジョブ710が要求するノード数
N711を確保することができ、先頭のジョブ710の
実行が可能となる(ステップ211、212)。
【0080】前述の処理の後、先頭のジョブが終了する
と、一時的な停止または一時的な中断を実行した対象ジ
ョブ群の回復処理が行われる。
【0081】本発明の実施形態による前述の処理によれ
ば、先頭のジョブ710が要求ノード数N711を確保
できず実行待ちになった場合、後続のジョブがシステム
の許可するシステム追い越しジョブ本数SN811を越
えて実行された場合に、先頭のジョブ710の優先スケ
ジュールを実行するので、先頭のジョブ710が後続の
ジョブに次々と追い越されていくことによる不満を解消
することができる。
【0082】次に、図6(B)を参照して、最後のジョ
ブ721が終了予定時刻719より早く終了した場合の
スケジュール方法について説明する。この方法は、ユー
ザからの要求によるジョブの実行中止やジョブ属性によ
る資源超過によりジョブの実行が中断された場合等で最
後のジョブ721が予定より早く終了した場合、本来な
らば先頭のジョブ710が最後のジョブ721の終了予
定時刻719よりも早く動作可能になったはずだが、後
続のジョブの優先スケジュールによりそれができなかっ
た場合に、先頭のジョブ710を優先スケジュールする
か否かについて判断してスケジュールする方法である。
ここで説明する例では、サブミットされるジョブは、図
5(B)のJob1からJob9までであるとする。
【0083】まず、ジョブのスケジュールが開始される
と、Job1からJob5までのジョブが要求するノード数51
1のノード確保が可能であるため、順次スケジュールさ
れていく。Job6が先頭のジョブ710になったとき、計
算機システムの空きノード数EN802がJob6の要求ノ
ード数512を確保できないため、Job6は待ち状態とさ
れる。ここでJob6が要求するノード数512を確保する
ために最後のジョブ(この場合、Job5)がノードを解放
した時点でノードを確保することができ、Job6が実行さ
れることとなるが、その間、後続のジョブに対して実行
可能なジョブがないか判別する。
【0084】図6(B)に示すaの時点では、Job7から
Job9までの後続のジョブはJob6と同様に、要求ノード数
511の確保ができず待ち状態となる。次に、Job4が終
了する図6(B)に示すbの時点では、ノード5、ノー
ド6、ノード7と3台のノードが空き状態となるが、Jo
b6の要求ノード数512には足りないので、Job6は再び
待ち状態となる。しかし、Job7、Job8においては要求ノ
ード数516、523を確保することができ、かつ、最
後のジョブJob5の終了予定時刻内にJob7、Job8の終了予
定経過時間517、522が収まるため、Job7、Job8
は、Job6を追い越して優先してスケジュールされる。
【0085】この例では、前述の状態から図6(B)に
示すcの時点になったとき、最後のジョブのJob5が予定
より早く終了してしまい、最後のジョブ721の終了予
定時刻719よりも早く終了してしまった。
【0086】Job5が予定より早く終了した原因は、ジョ
ブサブミット時に指定した終了予定経過時間703の指
定ミスやユーザ要求により実行を中止された場合やジョ
ブの資源超過によるシステムからの削除要求などが考え
られる。しかし、Job7、Job8は、Job5が終了した図6
(B)に示すcの時点で、既にジョブの実行が開始され
ている。従って、この場合、Job7が最後のジョブとなっ
ている。
【0087】しかし、後続ジョブの追い越しが発生しな
ければ、Job5が終了した図6(B)に示すcの時点でJo
b3がJob6に対する最後のジョブとなり、Job3の終了時に
Job6がスケジュールできたはずであるが、後続のジョブ
Job7、Job8が追い越して実行されたためJob7が最後のジ
ョブとなってしまった。これにより待たされることにな
るJob6のユーザの不満度が増加してしまうことになる。
【0088】このように当初最後のジョブ721として
実行されていたジョブが終了予定時刻719よりも早く
終了した場合について、当初の最後のジョブ721であ
るJob5の実行開始時刻と終了時刻とを計測することによ
り、Job5が実際に経過した時間(以下、実経過時間)を
求め、ユーザの指定による終了予定経過時間515との
割合を計測し、先頭のジョブ710であるjob6を予定し
ていた実行開始時刻よりも早くスケジュールして、先頭
のジョブ710の不満度を下げることが考えられる。
【0089】このため、実行中のジョブの一時的な停止
または一時的な中断によりJob6を優先スケジュールす
る。実行中のジョブの一時的な停止または一時的な中断
は、図6(B)に示すdの時点で行われ、この時点で、
611として示すように、Job6が実行される。しかし、
一時的な停止または一時的な中断が実行されない場合、
図6(B)に示すeの時点で、612として示すよう
に、Job6が実行される。
【0090】図6(B)に示す例では、図6(B)に示
すcの時点で、Job5が終了予定経過時間724よりも早
く終了してしまい、この時点で、Job2、Job3のジョブが
終了していないのでJob6を優先スケジュールすることは
せず、Job6よりも前にスケジュールされたJob2、Job3の
終了を待って、図6(B)に示すdの時点で対象ジョブ
群に対して一時的な停止または一時的な中断を実行す
る。
【0091】ここでの一時的な停止または一時的な中断
を実行するか否かの判断は、最後のジョブ721の開始
時刻727と現在時刻Tとから最後のジョブ721がス
ケジュールされてから実際に経過した実経過時間T−st
a_i を求め、さらに、実経過時間T−sta_i/終了予定
経過時間sch_et_i 724の割合を求め、この割合を、
システムが設けるジョブ終了経過時間割合β815と比
較し、その結果に基づいて行われる。図6(B)に示す
dの時点は、対象ジョブ群の中で追い越しフラグ725
がOFFで、かつ、終了予定時刻718が最後のジョブ
が終了したことによる先頭のジョブ710の優先スケジ
ュールを、611として示すように行うことを示してい
る。対象ジョブ群の一時的な停止または一時的な中断を
行わない場合、図6(B)に示すeの時点で、先頭のジ
ョブ710が612として示すように実行される予定で
ある。
【0092】前述した図6(B)に示すようなスケジュ
ーリングを行う場合の処理フローが図2に示されてお
り、以下、図2に示すフローを説明する。
【0093】図3に示すフローによる処理の起動のタイ
ミングは、最後ジョブ721が終了した場合に起動され
るが、この処理が開始された直後には、先頭ジョブ管理
テーブル740の更新は行われていないものとする。そ
して、この処理の終了後に、先頭ジョブ管理テーブル7
40の更新が行われる。
【0094】(1)まず、先頭のジョブ710が存在す
るか否かを判定し、先頭のジョブ710が存在しない場
合、何もせずに処理を終了する(ステップ301)。
【0095】(2)ステップ301の判定で、先頭のジ
ョブ710が存在した場合、計算機システムの空きノー
ド数EN802を求め、先頭のジョブ710が要求ノー
ド数N711を確保可能か否かを判定する。この判定
で、ノードの確保が可能な場合、先頭のジョブ710の
要求ノード数N711の確保を行う(ステップ302、
303、316)。
【0096】(3)ステップ303での判定で、計算機
の空きノード数EN802よりも要求ノード数N711
が大きい場合、最後のジョブ721の終了予定経過時間
sto_i719と現在時刻T801との差 sto_i−Tを求
め、次に、ジョブ実行待ち時間TW812を取得する
(ステップ304、305)。
【0097】(4)差 sto_i−Tとジョブ実行待ち時間
TW812を比較し、差 sto_i−Tがジョブ実行待ち時
間TW812より小さい場合、何もせずに処理を終了す
る(ステップ306)。
【0098】(5)ステップ306での比較で、差 sto
_i−TがTW812以上の場合、最後のジョブ721の
終了した時刻、すなわち、この処理が開始された現在時
刻T801と開始時刻727との差分である実経過時間
T−sta_i を求め、実経過時間T−sta_i /終了予定経
過時間sch_et_i724の割合wk3を求める(ステップ
307、308)。
【0099】(6)次に、システムにおけるジョブ終了
経過時間の割合β815を取得し、wk3とβ815と
を比較する。この比較で、β815がwk3より小さい
場合、何もせずに処理を終了する(ステップ309、3
10)。
【0100】(7)ステップ310での比較で、β81
5がwk3以上の場合、対象ジョブ群に追い越しフラグ
725がOFFのジョブが存在するか否か判定する。こ
の判定の結果、追い越しフラグ725がOFFのジョブ
が存在する場合、対象ジョブ群の追い越しフラグ725
がOFFの全てのジョブの終了を待ち、また、追い越し
フラグ725がOFFのジョブが存在しない場合、直ち
に、前回の一時停止・中断処理の開始時間FT803、
一時停止・中断保証間隔時間FTM813を取得する
(ステップ311〜313)。
【0101】(8)次に、現在時刻T801とFT80
3との差T−FTを求め、差T−FTとFTM813と
を比較し、T−FTがFTM813より小さい場合、何
もせずに処理を終了する(ステップ314)。
【0102】(9)ステップ314での比較で、T−F
TがFTM以上の場合、対象ジョブ群に対してジョブの
一時的な停止または一時的な中断処理を実施し、先頭の
ジョブ710が要求するノード数711を確保する。こ
れにより、先頭のジョブ710の実行が可能となる(ス
テップ315、316)。
【0103】前述の処理で、先頭のジョブ710の実行
が終了すると、一時的な停止または一時的な中断が実施
された対象ジョブ群の回復処理が行われ、ジョブが再開
される。
【0104】前述したように、最後のジョブ721が指
定された終了予定経過時間724通りに終了しない場合
が生じることは多々考えられる。前述した本発明の実施
形態による処理によれば、その間に後続のジョブの追い
越しの発生により、追い越されることがなければ早い時
点でジョブが実行できたはずの先頭のジョブ710の優
先スケジュールを行うことが可能となり、先頭のジョブ
が待たされることによるユーザの不満を解消することが
できる。
【0105】前述した本発明の実施形態によれば、先頭
のジョブが初めて要求ノード数を確保しようとした時間
から、先頭のジョブが実行可能状態になるまでに必要と
するノードの確保のために、最後に解放するジョブの終
了予定時刻までの最長ジョブ待ち時間、先頭のジョブが
後続のジョブに追い越される本数、及び、最後のジョブ
が処理中断、削除要求により、終了予定時刻より早く終
了し、先頭のジョブが実行予定開始時刻より早く実行可
能状態になり得る場合のそれぞれを動的に判別し、その
判別結果により先頭のジョブを優先スケジュールするか
否かを決定し、実行中のジョブの一時的な停止または一
時的な中断を用いて先頭のジョブを優先スケジュールす
ることができるのでユーザの不満を解消することができ
る。
【0106】
【発明の効果】以上説明したように本発明によれば、先
頭のジョブが空きノード数を確保できず待ち状態となっ
た場合、先頭のジョブがジョブ実行を要求してから実際
に要求ノード数を確保できるまでの最長待ち時間や実行
中のジョブに対するノード使用効率、後続ジョブの追い
越しによる先頭のジョブの不満、実行中のジョブのユー
ザ要求による実行の中止や異常終了が発生した場合のジ
ョブスケジュールに対する先頭のジョブの不満を考慮
し、ジョブの沈み込みを防止して、先頭のジョブを優先
的にスケジュールすることができる。
【図面の簡単な説明】
【図1】本発明の実施形態によりジョブのスケジューリ
ングを行う処理動作を説明するフローチャートである
(例1)。
【図2】本発明の実施形態によりジョブのスケジューリ
ングを行う処理動作を説明するフローチャートである
(例2)。
【図3】本発明の実施形態によりジョブのスケジューリ
ングを行う処理動作を説明するフローチャートである
(例3)。
【図4】本発明が適用される計算機システムの構成を示
すブロック図である。
【図5】本発明の実施形態によるジョブのスケジュール
の具体例について説明する図である。
【図6】本発明の実施形態によるジョブのスケジュール
の他の具体例について説明する図である。
【図7】図4におけるジョブ管理テーブル及び先頭ジョ
ブ管理テーブルの構成を示す図である。
【図8】図4におけるジョブ実行制御管理テーブルの構
成を示す図である。
【符号の説明】
401 並列計算機システム 402 ノード 403 ネットワーク 404 スーパバイザリノード 405 外部記憶装置 406 オペレーティングシステム(OS) 407 ジョブスケジューラ 706 ジョブ管理テーブル 740 先頭ジョブ管理テーブル 800 ジョブ実行制御管理テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 樋口 和也 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 砂子 俊明 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 光永 洋 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 桜庭 博之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 木原 均 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 兼光 敬子 神奈川県横浜市中区尾上町六丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 倉田 剛史 神奈川県横浜市中区尾上町六丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B045 GG02 5B098 AA10 GA03 GC04

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合したシステムにおけるジ
    ョブ実行制御方法において、実行待ちの先頭のジョブが
    要求するノード数を確保するため、現在実行中の複数の
    ジョブの中で実行中のジョブが確保しているノード数の
    総和が、先頭のジョブの要求ノード数を満たすジョブ群
    を対象ジョブとして登録し、前記対象ジョブのノード数
    の総和と前記先頭のジョブの要求ノード数にシステムが
    ジョブ稼動状況により予め定めた重みを乗じた値とを比
    較し、前記先頭のジョブの要求ノード数にシステムがジ
    ョブ稼動状況により予め定めた重みを乗じた値が、前記
    対象ジョブのノード数の総和より大きい場合、前記対象
    ジョブを一時的に停止または一時的に中断して、前記先
    頭のジョブを優先的にスケジュールすることを特徴とす
    るジョブ実行制御方法。
  2. 【請求項2】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合したシステムにおけるジ
    ョブ実行制御方法において、実行待ちの先頭のジョブが
    要求するノード数を確保するため、現在実行中の複数の
    ジョブの中で実行中のジョブが確保しているノード数の
    総和が、先頭のジョブの要求ノード数を満たすジョブ群
    を対象ジョブとして登録し、先頭のジョブが後続のジョ
    ブに追い越されたジョブ本数とシステムがジョブ稼動状
    況により予め定めた追い越しジョブ本数とを比較し、先
    頭のジョブが後続のジョブに追い越された本数が、前記
    予め定めたシステム追い越しジョブ本数を越えたとき、
    前記対象ジョブを一時的に停止または一時的に中断し
    て、前記先頭のジョブを優先的にスケジュールすること
    を特徴とするジョブ実行制御方法。
  3. 【請求項3】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合したシステムにおけるジ
    ョブ実行制御方法において、実行待ちの先頭のジョブが
    要求するノード数を確保するため、現在実行中の複数の
    ジョブの中で実行中のジョブが確保しているノード数の
    総和が、先頭のジョブの要求ノード数を満たすジョブ群
    を対象ジョブとして登録し、前記先頭のジョブが必要と
    するノード数を最後に解放する最後のジョブが、終了予
    定時刻よりも早く終了した場合、最後のジョブの実際の
    ジョブ経過時間とユーザ指定の終了予定経過時間との割
    合とシステムがジョブ稼動状況により予め定めたジョブ
    終了経過時間の割合とを比較し、システムがジョブ稼動
    状況により予め定めたジョブ終了経過時間の割合が、最
    後のジョブの実際のジョブ経過時間とユーザ指定の終了
    予定経過時間との割合より大きい場合、前記対象ジョブ
    を一時的に停止または一時的に中断して、前記先頭のジ
    ョブを優先的にスケジュールすることを特徴とするジョ
    ブ実行制御方法。
  4. 【請求項4】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合した並列計算機システム
    において、実行待ちの先頭のジョブが要求するノード数
    を確保するため、現在実行中の複数のジョブの中で実行
    中のジョブが確保しているノード数の総和が、先頭のジ
    ョブの要求ノード数を満たすジョブ群を対象ジョブとし
    て登録する手段と、前記対象ジョブのノード数の総和と
    前記先頭のジョブの要求ノード数にシステムがジョブ稼
    動状況により予め定めた重みを乗じた値とを比較し、前
    記先頭のジョブの要求ノード数にシステムがジョブ稼動
    状況により予め定めた重みを乗じた値が、前記対象ジョ
    ブのノード数の総和より大きい場合、前記対象ジョブを
    一時的に停止または一時的に中断して、前記先頭のジョ
    ブを優先的にスケジュールする手段とを備えたことを特
    徴とする並列計算機システム。
  5. 【請求項5】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合した並列計算機システム
    において、実行待ちの先頭のジョブが要求するノード数
    を確保するため、現在実行中の複数のジョブの中で実行
    中のジョブが確保しているノード数の総和が、先頭のジ
    ョブの要求ノード数を満たすジョブ群を対象ジョブとし
    て登録する手段と、先頭のジョブが後続のジョブに追い
    越されたジョブ本数とシステムがジョブ稼動状況により
    予め定めた追い越しジョブ本数とを比較し、先頭のジョ
    ブが後続のジョブに追い越された本数が、前記予め定め
    たシステム追い越しジョブ本数を越えたとき、前記対象
    ジョブを一時的に停止または一時的に中断して、前記先
    頭のジョブを優先的にスケジュールする手段とを備えた
    ことを特徴とする並列計算機システム。
  6. 【請求項6】 計算機であるノードの複数と、該複数の
    ノード相互間で共有するメモリとにより構成され、ノー
    ド相互間をネットワークで結合した並列計算機システム
    において、実行待ちの先頭のジョブが要求するノード数
    を確保するため、現在実行中の複数のジョブの中で実行
    中のジョブが確保しているノード数の総和が、先頭のジ
    ョブの要求ノード数を満たすジョブ群を対象ジョブとし
    て登録する手段と、前記先頭のジョブが必要とするノー
    ド数を最後に解放する最後のジョブが、終了予定時刻よ
    りも早く終了した場合、最後のジョブの実際のジョブ経
    過時間とユーザ指定の終了予定経過時間との割合とシス
    テムがジョブ稼動状況により予め定めたジョブ終了経過
    時間の割合とを比較し、システムがジョブ稼動状況によ
    り予め定めたジョブ終了経過時間の割合が、最後のジョ
    ブの実際のジョブ経過時間とユーザ指定の終了予定経過
    時間との割合より大きい場合、前記対象ジョブを一時的
    に停止または一時的に中断して、前記先頭のジョブを優
    先的にスケジュールする手段とを備えたことを特徴とす
    る並列計算機システム。
JP11198003A 1999-07-12 1999-07-12 ジョブ実行制御方法及び並列計算機システム Pending JP2001022601A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11198003A JP2001022601A (ja) 1999-07-12 1999-07-12 ジョブ実行制御方法及び並列計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11198003A JP2001022601A (ja) 1999-07-12 1999-07-12 ジョブ実行制御方法及び並列計算機システム

Publications (1)

Publication Number Publication Date
JP2001022601A true JP2001022601A (ja) 2001-01-26

Family

ID=16383903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11198003A Pending JP2001022601A (ja) 1999-07-12 1999-07-12 ジョブ実行制御方法及び並列計算機システム

Country Status (1)

Country Link
JP (1) JP2001022601A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
JP2009075956A (ja) * 2007-09-21 2009-04-09 Fujitsu Ltd ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
WO2010082244A1 (ja) * 2009-01-16 2010-07-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
JP2012215933A (ja) * 2011-03-31 2012-11-08 Nec Corp ジョブ管理システム及びジョブ管理方法
JP2013041529A (ja) * 2011-08-19 2013-02-28 Fujitsu Ltd プログラム、ジョブスケジューリング方法、および情報処理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
JP2008243216A (ja) * 2002-01-10 2008-10-09 Massively Parallel Technologies Inc 並列処理システム及び方法
JP4698700B2 (ja) * 2002-01-10 2011-06-08 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
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
JP2012215933A (ja) * 2011-03-31 2012-11-08 Nec Corp ジョブ管理システム及びジョブ管理方法
JP2013041529A (ja) * 2011-08-19 2013-02-28 Fujitsu Ltd プログラム、ジョブスケジューリング方法、および情報処理装置

Similar Documents

Publication Publication Date Title
US11010193B2 (en) Efficient queue management for cluster scheduling
Ghazalie et al. Aperiodic servers in a deadline scheduling environment
JP3922070B2 (ja) 分散制御方法及び装置
US8185908B2 (en) Dynamic scheduling in a distributed environment
US8332862B2 (en) Scheduling ready tasks by generating network flow graph using information receive from root task having affinities between ready task and computers for execution
US5999963A (en) Move-to-rear list scheduling
JPH07141305A (ja) 並列計算機の実行制御方法
US7076781B2 (en) Resource reservation for large-scale job scheduling
JP3951949B2 (ja) 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US20060150187A1 (en) Decoupling a central processing unit from its tasks
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
JP2007529079A (ja) 自己調節スレッド化モデルによるアプリケーションサーバのためのシステム及び方法
JP4912927B2 (ja) タスク割当装置、及びタスク割当方法
Hu et al. On-the-fly fast overrun budgeting for mixed-criticality systems
JPH0816410A (ja) スケジュール制御装置とその方法
Zhou et al. Energy-efficient speculative execution using advanced reservation for heterogeneous clusters
JP2001022601A (ja) ジョブ実行制御方法及び並列計算機システム
JPH0628323A (ja) プロセス実行制御方法
Andrews et al. Survey on job schedulers in hadoop cluster
JP5299869B2 (ja) コンピュータマイクロジョブ
JP2005149312A (ja) タスク管理システム
Bunt Scheduling techniques for operating systems
JP2015090688A (ja) MapReduceジョブ管理システム、MapReduceジョブ管理方法
WO2016122596A1 (en) Checkpoint-based scheduling in cluster
WO2022185527A1 (ja) スケジューリング装置、スケジューリング方法、および、スケジューリングプログラム