JPH07225692A - 並列実行ジョブのスケジュール制御方法 - Google Patents

並列実行ジョブのスケジュール制御方法

Info

Publication number
JPH07225692A
JPH07225692A JP1612094A JP1612094A JPH07225692A JP H07225692 A JPH07225692 A JP H07225692A JP 1612094 A JP1612094 A JP 1612094A JP 1612094 A JP1612094 A JP 1612094A JP H07225692 A JPH07225692 A JP H07225692A
Authority
JP
Japan
Prior art keywords
job
parallel execution
jobs
parallel
execution job
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
JP1612094A
Other languages
English (en)
Inventor
Isao Obara
勲 小原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1612094A priority Critical patent/JPH07225692A/ja
Publication of JPH07225692A publication Critical patent/JPH07225692A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 オペレータの負担を大きくすることなく、ま
た特別なジョブ投入手段を設けることなく、複数のジョ
ブを同期をとって同時に起動する。 【構成】 並列実行する複数のジョブ群の各ジョブの投
入毎に、各ジョブ制御文を解析し、該ジョブ制御文に記
述された並列実行すべきジョブに関する情報を取得し、
その情報で示されるジョブが全て投入されたことを契機
に当該ジョブ群のジョブを同時に起動させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、同時実行する複数のジ
ョブ間で連携して処理を行う実行形態を可能とする電子
計算機システムにおける並列実行ジョブのスケジュール
制御方法に関するものである。
【0002】
【従来の技術】従来、ジョブの実行順序を制御する方法
として、例えば特開平5−12037号公報に開示され
ているように、ジョブIDに対してジョブの終了状態を
表す動作結果コードと次に動作すべきジョブのジョブI
Dとパラメータとの組を複数組格納した制御情報テーブ
ルを設け、ジョブの実行終了時に、終了したジョブのジ
ョブIDと動作結果コードにより制御情報テーブルを検
索して次に起動すべきジョブIDとパラメータとを決定
し実行するようにした方法がある。
【0003】また、複数のバッチジョブを同時に実行し
て連携処理する方法として、出願人が開発したプログラ
ム「PREST」で実施されている方法がある。
【0004】
【発明が解決しようとする課題】しかしながら、特開平
5−12037号公報に開示されているジョブのスケジ
ュール制御方法は、並列に実行すべきジョブを対象とし
ていないため、並列実行ジョブのスケジュールには適用
することができない。
【0005】一方、プログラム「PREST」で実施さ
れている方法にあっては、バッチジョブが独立して動作
することを前提としているので、他のジョブと同期をと
って起動するといったスケジュールができないという問
題がある。
【0006】この場合、他のジョブと同期をとって起動
させるためには、オペレータ等の人手によってジョブの
投入時刻をスケジュールする必要があるため、特別なジ
ョブ投入手段が必要になったうえ、オペレータに対する
負担が多くなるという問題がある。特に、業務の追加や
変更があった場合は、一度決定したスケジュールを再調
整する必要があるので、オペレータに対する負担および
システムの運用にかかる各種の負担が増加するという問
題がある。
【0007】本発明の目的は、オペレータの負担を大き
くすることなく、また特別なジョブ投入手段を設けるこ
となく、複数のジョブを同期をとって同時に起動できる
並列実行ジョブのスケジュール制御方法を提供すること
である。
【0008】
【課題を解決するための手段】本発明のジョブスケジュ
ール制御方法は、基本的には、並列実行する複数のジョ
ブ群の各ジョブの投入毎に、各ジョブ制御文を解析し、
該ジョブ制御文に記述された並列実行すべきジョブに関
する情報を取得し、その情報で示されるジョブが全て投
入されたことを契機に当該ジョブ群のジョブを同時に起
動させることを特徴とする。
【0009】
【作用】上記手段によると、並列実行する複数のジョブ
群の各ジョブ制御文には、並列実行すべきジョブに関す
る実行クラスやグループ等の情報が記述されているの
で、そのジョブ制御文を解析し、並列実行すべきジョブ
の実行クラスやグループ等の情報を取得する。そのうえ
で、その情報で示されるジョブが全て投入されたことを
契機に、すなわち並列実行すべきジョブが全て揃った条
件で当該ジョブ群の複数のジョブを同時に起動させる。
【0010】これによって、オペレータに負担をかける
ことなく、また特別なジョブ投入手段を用いることな
く、ジョブ制御文の記述内容のみで並列実行すべき複数
のジョブの起動スケジュールを制御することができる。
【0011】
【実施例】以下、本発明のジョブスケジュール制御方法
について図示する一実施例に基づいて詳細に説明する。
【0012】図1は、本発明のジョブスケジュール制御
方法を実現するための処理構成の一実施例を示すブロッ
ク図であり、並列実行ジョブa1、a2を入力する並列
実行ジョブ入力部3と、入力された並列実行ジョブa
1、a2のジョブ制御文を解析し、並列実行ジョブ入力
部3に並列実行ジョブ制御情報テーブル5を作成させる
並列実行ジョブ解析部4と、並列実行ジョブa1と同時
実行すべき並列実行ジョブa2の投入を契機に並列実行
ジョブa1、a2を同時に起動する並列実行ジョブスケ
ジュール制御部6と、予め並列実行ジョブクラスの多重
度を設定しておく並列実行ジョブクラス多重度設定部7
と、並列実行ジョブクラスの最大多重度内でジョブの実
行を制御する並列実行ジョブクラス多重度制御部8と、
並列実行ジョブの終了を検知し、それを契機として新た
なスケジュール待ち並列実行ジョブのスケジュールを並
列実行ジョブスケジュール制御部6に要求する並列実行
ジョブの終了処理部9とで構成される。
【0013】ここで、並列実行ジョブa1,a2は、同
じ並列実行ジョブグループのジョブであるものとする。
また、他の並列実行ジョブグループについては図示を省
略している。
【0014】図2は、並列実行ジョブa1,a2のジョ
ブ制御文の一例を示す説明図であり、並列実行ジョブa
1,a2のジョブ制御文には、図2に示すように、同時
に並列実行する並列実行ジョブのジョブ名20、実行ク
ラス21、並列実行ジョブグループの識別子22および
同時実行が必要な並列実行ジョブ数23とから成るジョ
ブ識別番号24が記述されるようになっている。
【0015】図3は、並列実行ジョブ制御情報テーブル
5の一例を示すものであり、この並列実行ジョブ制御情
報テーブル5は、実行クラス毎にエレメントを持ち、そ
のクラスでの最大実行可能多重度31、現在実行中の多
重度数32、実行待ちとなっている並列実行ジョブグル
ープ管理テーブルへのポインタ33から成るヘッダ部3
0と、並列実行ジョブグループ管理テーブルa35,b
37および並列実行ジョブグループを構成するジョブエ
レメントx38,y39,z40から構成されている。
【0016】並列実行ジョブグループ管理テーブルa3
5,b37は、並列実行ジョブグループ識別子22毎に
作成され、図示のように、同一クラスの次の並列実行ジ
ョブグループ管理テーブルへのポインタ41、並列実行
ジョブグループ識別子42、並列実行ジョブ数43、投
入待ちジョブ数44、ジョブエレメントへのポインタ4
5とか構成されている。
【0017】この場合、並列実行ジョブグループ管理テ
ーブルa35,b37は、同一クラスにあってはポイン
タ41によって並列実行ジョブグループ管理テーブルキ
ューを構成する。
【0018】一方、ジョブエレメントx38,y39,
z40は、ジョブ入力時に作成され、図示のように、同
一グループの次のジョブエレメントへのポインタ46、
ジョブ名47、ジョブ識別番号48等から構成されてい
る。この場合、同一グループの次のジョブエレメントが
存在しないジョブエレメントのポインタ46には「Nu
ll」が設定される。
【0019】図3の例では、ジョブエレメントx38,
y39が同一グループに属しているが、このジョブエレ
メントx38,y39は、同一クラスの同一の並列実行
ジョブグループ識別子42を持つ並列実行ジョブグルー
プ管理テーブルa35からポイントされ、ジョブエレメ
ントキューを構成する。また、ジョブエレメントz40
は、1つのグループ内で単独のジョブで構成され、並列
実行ジョブグループ管理テーブルb37からポイントさ
れる。
【0020】図4および図5は、本実施例における処理
手順の一例を示すフローチャートである。以下、このフ
ローチャートに従って本実施例のスケジュール制御方法
について説明する。
【0021】まず、並列実行ジョブ入力部31は、並列
実行ジョブの入力待ち状態となっている(ステップ5
1)。この状態で実行クラスがXで、グループ識別子P
001の並列実行ジョブa1,a2のうちa1が入力さ
れると、並列実行ジョブ解析部4を呼び出す(ステップ
52)。
【0022】並列実行ジョブ解析部4は、入力された並
列実行ジョブa1のジョブ制御文を解析し、そのジョブ
名20、実行クラス21、並列実行ジョブグループ識別
子22、並列実行ジョブ数23を取得し、並列実行ジョ
ブ入力部32に応答する(ステップ53)。
【0023】並列実行ジョブ入力部33は、並列実行ジ
ョブ解析部4から得た実行クラス21と並列実行ジョブ
グループ識別子22が一致する並列実行ジョブグループ
管理テーブルが存在するか否かを判定するために、並列
実行ジョブ制御テーブル5の実行クラス21と一致する
並列実行ジョブクラスのレコードに設定された並列実行
ジョブグループ管理テーブルへのポインタ33に従って
並列実行ジョブグループ管理テーブルの作成領域を検索
する(ステップ54)。
【0024】この検索の結果、並列実行ジョブ解析部4
から得た実行クラス21と並列実行ジョブグループ識別
子22が一致する並列実行ジョブグループ管理テーブル
が見つかれば(ステップ55)、既に同一クラスで同一
グループの並列実行ジョブが投入済であることになるの
で、ステップ58に分岐する。この例の場合、ジョブa
2が入力された時にステップ58に分岐する。そして、
今回入力したジョブa2の管理を行うジョブエレメント
y39を作成し、該当する並列実行ジョブグループ管理
テーブル35のジョブエレメントキューにキューイング
する(ステップ58)。
【0025】次に、並列実行ジョブ入力部3は、該当す
る並列実行ジョブグループ管理テーブル35の投入待ち
ジョブ数を「−1」する(ステップ59)。
【0026】しかし、並列実行ジョブ解析部4から得た
実行クラス21と並列実行ジョブグループ識別子22が
一致する並列実行ジョブグループ管理テーブルが見つか
らなければ、この並列実行ジョブグループの最初のジョ
ブであることを意味するので、並列実行ジョブグループ
管理テーブルを新たに作成したうえで、並列実行ジョブ
制御情報テーブル5を更新する(ステップ56,5
7)。
【0027】例えば、図2のジョブ制御文で示される実
行クラス21が「X」、並列実行ジョブグループ識別子
22が「P001」、並列実行ジョブ数23が「3」の
ジョブグループのジョブa1が入力されたとき、そのジ
ョブa1が当該グループの最初のジョブであれば、並列
実行ジョブ入力部3は図3の並列実行ジョブグループ管
理テーブル35を作成し、その中の並列実行ジョブグル
ープ識別子42を「P001」、並列実行ジョブ数43
を「2」、投入待ちジョブ数を「2」に設定し、さらに
ジョブエレメントXへのポインタ45をジョブエレメン
トx38の先頭格納位置の値に設定する(ステップ5
6)。
【0028】この後、今回作成した管理テーブル35と
同一実行クラスの並列実行ジョブグループ管理テーブル
キューがあれば、その管理テーブルキューにキューイン
グする(ステップ57)。さらに、並列実行ジョブ制御
情報テーブル5の中に並列実行ジョブクラスXのレコー
ドを作成し、並列実行ジョブグループ管理テーブルポイ
ンタ33に並列実行ジョブグループ管理テーブルポイン
タ35の先頭格納位置の値を設定する。
【0029】この場合、最大多重度31は多重度設定部
7で設定されている多重度が設定される。また、現在の
多重度32には、ジョブクラスXの現在実行中の多重度
の値が設定されるが、この多重度32は該当するジョブ
の起動後に多重度制御部8によって順次「+1」され
る。
【0030】次に、並列実行ジョブ入力部3は、今回入
力したジョブa1の管理を行うジョブエレメントx38
を作成し、該当する並列実行ジョブグループ管理テーブ
ル35のジョブエレメントキューにキューイングする
(ステップ58)。
【0031】次に、並列実行ジョブ入力部3は、該当す
る並列実行ジョブグループ管理テーブル35の投入待ち
ジョブ数44を「−1」する(ステップ59)。
【0032】並列実行ジョブ入力部3は、以上の処理を
投入待ちジョブ数44が「0」になるまで繰り返す。
【0033】投入待ちジョブ数44が「0」になれば、
全ての同時実行すべきジョブa1,a2が入力されたこ
とを意味するので、並列実行ジョブスケジュール制御部
6に通知する。
【0034】並列実行ジョブスケジュール制御部61
は、待機状態となっているが(ステップ61)、ジョブ
の入力完了通知を受けた時および並列実行ジョブ終了処
理部9から並列実行ジョブの終了を通知されたときに動
作を開始する。
【0035】並列実行ジョブスケジュール制御部6は、
動作を開始したならば、まず、並列実行ジョブ多重度制
御部8を呼び出す(ステップ62)。
【0036】並列実行ジョブ多重度制御部8は、並列実
行ジョブ制御情報テーブル5を参照し、投入待ちジョブ
数44が「0」で、かつその並列実行ジョブグループの
並列実行ジョブ数43とそのクラスの現在多重度32と
の加算値が、そのクラスの最大多重度31以下となって
いる並列実行ジョブグループ管理テーブルを求め、並列
実行ジョブスケジュール制御部6に応答する(ステップ
81)。
【0037】例えば、図3の並列実行ジョブクラスXの
全てのジョブa1,a2の入力が完了したとき、このク
ラスXの最大多重度31が並列実行ジョブクラス多重度
設定部7によって「6」に設定され、並列実行ジョブ数
43とそのクラスの現在多重度32との加算値が「5」
となる場合は、図3の並列実行ジョブグループ管理テー
ブル35を並列実行ジョブスケジュール制御部6に応答
する。これは、並列実行ジョブグループ管理テーブル3
5で管理しているジョブa1,a2が同時に実行可能で
あることを意味する。
【0038】この場合、現在の多重度32が「5」にな
っていた時には、設定された最大多重度内で並列実行す
ることができないので、同一クラス内の他のグループの
ジョブが終了し、現在の多重度32が「4」以下になる
まで待機することになる。
【0039】並列実行ジョブスケジュール制御部6は、
並列実行ジョブ多重度制御部8から並列実行ジョブグル
ープ管理テーブル35で管理しているジョブが実行可能
であるとの通知を受けた場合、並列実行ジョブグループ
管理テーブル35のジョブエレメントキューからジョブ
a1,a2に関するジョブエレメントx38,y39を
取り出し、その並列実行ジョブグループの全てのジョブ
をスケジュールする(ステップ63,64)。
【0040】すなわち、並列実行ジョブグループ管理テ
ーブル35で管理している2つのジョブa1,a2を同
時に起動させる。
【0041】並列実行ジョブスケジュール制御部6は、
並列実行ジョブ多重度制御部8から並列実行が可能な並
列実行ジョブグループ管理テーブルの応答がなかった場
合、ステップ61に戻り、並列実行ジョブの入力完了ま
たは並列実行ジョブの終了を待つ。
【0042】一方、並列実行ジョブ終了処理部9は、並
列に実行されているジョブの終了通知を待っているが
(ステップ93)、例えば並列実行ジョブグループ管理
テーブル35で管理しているグループのジョブa1,a
2の終了通知を受けたならば、終了したジョブを管理し
ている並列実行ジョブ制御情報テーブル5のヘッダ部3
0の現在多重度を「−1」する(ステップ91)。
【0043】この後、並列実行ジョブ終了処理部9は、
並列実行ジョブの終了を並列実行ジョブスケジュール制
御部6に通知する。
【0044】このようにして、並列実行ジョブグループ
のジョブ入力の完了、および並列実行ジョブの終了を契
機として、並列実行ジョブグループのジョブスケジュー
ルが次々に行われる。
【0045】このように本実施例においては、並列実行
する各ジョブの投入毎に、各ジョブ制御文を解析し、該
ジョブ制御文に記述された並列実行すべきジョブに関す
る実行クラス、グループ識別子、並列実行ジョブ数の情
報を取得し、その情報で示されるジョブが全て投入され
たことを契機に当該ジョブ群のジョブを同時に起動させ
るので、オペレータの負担を大きくすることなく、また
特別なジョブ投入手段を設けることなく、ジョブ制御文
の記述内容のみによって複数のジョブを同期をとって同
時に起動することができる。
【0046】また、設定された最大多重度の範囲内で多
重実行させるようにしているので、電子計算機システム
が過負荷にならず、スループットを向上させることがで
きる。
【0047】さらに、ジョブグループ単位でスケジュー
ルしているので、同じジョブ名であってもグループ識別
子を異ならせることによって別々に取扱うことが可能に
なり、ジョブを投入する時の使い勝手が向上するという
効果がある。
【0048】
【発明の効果】以上説明したように本発明によれば、並
列実行する各ジョブの投入毎に、各ジョブ制御文を解析
し、ジョブ制御文に記述された並列実行すべきジョブが
全て投入されたことを契機に当該ジョブを同時に起動さ
せるので、オペレータの負担を大きくすることなく、ま
た特別なジョブ投入手段を設けることなく、ジョブ制御
文の記述内容のみによって複数のジョブを同期をとって
同時に起動することができる。特に、業務の追加や変更
があった場合、その業務を行うジョブのジョブ制御文を
操作するのみで良いから、業務の追記や変更が多い場合
にシステムの運用負担を軽減することができる。
【0049】また、設定された最大多重度の範囲内で多
重実行させることにより、電子計算機システムが過負荷
にならず、スループットを向上させることができる。
【0050】さらに、ジョブグループ単位でスケジュー
ルすることにより、同じジョブ名であってもグループ識
別子を異ならせることによって別々に取扱うことが可能
になり、ジョブを投入する時の使い勝手が向上するとい
う効果がある。
【図面の簡単な説明】
【図1】本発明のジョブスケジュール制御方法を実現す
るための処理構成の一実施例を示すブロック図である。
【図2】ジョブ制御文の指定方法の一例を示す説明図で
ある。
【図3】並列実行ジョブ制御情報テーブルの一例を示す
説明図である。
【図4】実施例の動作を示すフローチャートである。
【図5】実施例の動作を示すフローチャートである。
【符号の説明】
1…並列実行ジョブa、2…並列実行ジョブb、3…並
列実行ジョブ入力部、4…並列実行ジョブ解析部、5…
並列実行ジョブ制御情報テーブル、6…並列実行ジョブ
スケジュール制御部、7…並列実行ジョブクラス多重度
設定部、8…並列実行ジョブ多重度制御部、9…並列実
行ジョブ終了処理部、21…実行クラス、22…並列実
行ジョブグループ識別子、23…並列実行ジョブ数。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 並列実行する複数のジョブ群の実行順序
    を制御する並列実行ジョブのスケジュール制御方法にお
    いて、 並列実行する複数のジョブ群の各ジョブの投入毎に、各
    ジョブ制御文を解析し、該ジョブ制御文に記述された並
    列実行すべきジョブに関する情報を取得し、その情報で
    示されるジョブが全て投入されたことを契機に当該ジョ
    ブ群のジョブを同時に起動させることを特徴とする並列
    実行ジョブのスケジュール制御方法。
  2. 【請求項2】 並列実行するジョブ群の実行クラス毎に
    最大多重度を設定し、その設定された最大多重度内で複
    数の並列実行ジョブ群を起動することを特徴とする請求
    項1記載のジョブスケジュール制御方法。
  3. 【請求項3】 並列実行するジョブ群のグループ毎に、
    そのジョブ制御文中にグループ識別子を記述しておき、
    ジョブ制御文の解析によって並列実行すべきジョブ群の
    グループ識別子を取得し、そのグループ識別子のジョブ
    が全て投入されたことを契機に当該グループのジョブを
    同時に起動させることを特徴とする請求項1記載の並列
    実行ジョブのスケジュール制御方法。
JP1612094A 1994-02-10 1994-02-10 並列実行ジョブのスケジュール制御方法 Pending JPH07225692A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1612094A JPH07225692A (ja) 1994-02-10 1994-02-10 並列実行ジョブのスケジュール制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1612094A JPH07225692A (ja) 1994-02-10 1994-02-10 並列実行ジョブのスケジュール制御方法

Publications (1)

Publication Number Publication Date
JPH07225692A true JPH07225692A (ja) 1995-08-22

Family

ID=11907662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1612094A Pending JPH07225692A (ja) 1994-02-10 1994-02-10 並列実行ジョブのスケジュール制御方法

Country Status (1)

Country Link
JP (1) JPH07225692A (ja)

Similar Documents

Publication Publication Date Title
JPH10228385A (ja) リアルタイムos及びそのタスク管理方式
JPH08286932A (ja) ジョブの並列実行制御方法
JPH1196024A (ja) 業務ジョブ実行関連図表示方法
JPS59214964A (ja) 対話型スケジユ−リング方式
JPH07225692A (ja) 並列実行ジョブのスケジュール制御方法
JPH039436A (ja) 自動テスト設計・実行制御方式
JP2001282551A (ja) ジョブ処理装置および方法
JP3541651B2 (ja) ジョブの起動日設定装置
WO1998055909A2 (en) Agent and queue system for task delegation to heterogeneous processors
JP2000293215A (ja) 数値制御装置の加工プログラムの指令方法
JP2000148451A (ja) バッチジョブ負荷分散方法および負荷分散システム
JPH05282164A (ja) コンピュータ運用自動化装置
JPH0784967A (ja) プロセスパイプライン処理方式
JP2536081B2 (ja) 多重スケジュ―リング制御方式
JPH0581044A (ja) コンピユータ装置
JPH0844574A (ja) ジョブ運転管理装置
JPH06110710A (ja) バッチ処理制御システム
WO2024115986A1 (en) A system and a method for real-time task management and context switching
JPH02196359A (ja) データ処理システム
JPH03266161A (ja) 一連業務ジョブ繰返し実行方式
JPH03204035A (ja) ネットワークジョブステップ実行制御方式
JPH01188977A (ja) ジョブ実行制御方式
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JP2002196811A (ja) スケジューリング装置、スケジューリング方法及び記録媒体
JPH06242930A (ja) 問題解決装置