JPH08286932A - ジョブの並列実行制御方法 - Google Patents
ジョブの並列実行制御方法Info
- Publication number
- JPH08286932A JPH08286932A JP7085091A JP8509195A JPH08286932A JP H08286932 A JPH08286932 A JP H08286932A JP 7085091 A JP7085091 A JP 7085091A JP 8509195 A JP8509195 A JP 8509195A JP H08286932 A JPH08286932 A JP H08286932A
- Authority
- JP
- Japan
- Prior art keywords
- job
- execution
- executed
- steps
- parallel
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Abstract
(57)【要約】
【目的】一つのジョブを実行中に当該ジョブを別空間で
再実行させ同一ジョブの同一ステップの並列実行の手段
を提供し、さらに、任意のステップの実行をスキップさ
せることにより同一ジョブの別ステップ間の並列実行を
実現し、ジョブおよびステップの実行経過時間の短縮を
図る。 【構成】ジョブ実行管理部400は、ジョブ登録処理部
410にて登録されたジョブに対し並列実行可能かどう
かをジョブ制御言語解釈部420にて解釈し、並列実行
可能なジョブであれば、ジョブ登録処理部410に対し
て当該ジョブの再登録を依頼する。さらにジョブ制御言
語解釈部420にて、登録されたジョブの各ステップの
実行をスキップさせるかどうかを解釈し、スキップさせ
る場合は、ステップ実行制御部430にて、当該ステッ
プの実行をスキップさせる。
再実行させ同一ジョブの同一ステップの並列実行の手段
を提供し、さらに、任意のステップの実行をスキップさ
せることにより同一ジョブの別ステップ間の並列実行を
実現し、ジョブおよびステップの実行経過時間の短縮を
図る。 【構成】ジョブ実行管理部400は、ジョブ登録処理部
410にて登録されたジョブに対し並列実行可能かどう
かをジョブ制御言語解釈部420にて解釈し、並列実行
可能なジョブであれば、ジョブ登録処理部410に対し
て当該ジョブの再登録を依頼する。さらにジョブ制御言
語解釈部420にて、登録されたジョブの各ステップの
実行をスキップさせるかどうかを解釈し、スキップさせ
る場合は、ステップ実行制御部430にて、当該ステッ
プの実行をスキップさせる。
Description
【0001】
【産業上の利用分野】本発明は、計算機システムに係
り、特に並列実行可能なステップを有するジョブの実行
に好適なジョブの並列実行制御方法に関する。
り、特に並列実行可能なステップを有するジョブの実行
に好適なジョブの並列実行制御方法に関する。
【0002】
【従来の技術】従来の技術では、ジョブの再実行に関し
ては、例えば、特開昭63−211033号公報に記載
のように、ステップの異常終了時等に当該ステップから
ジョブを再開始させることができるようになっていた。
このジョブの再実行は、異常終了したジョブを再登録
し、再実行させた上で、どのステップまで実行が終了し
ていたかを示す情報を元に、そのステップの先行ステッ
プまで実行をスキップさせ、当該ステップから実行させ
るというものであった。
ては、例えば、特開昭63−211033号公報に記載
のように、ステップの異常終了時等に当該ステップから
ジョブを再開始させることができるようになっていた。
このジョブの再実行は、異常終了したジョブを再登録
し、再実行させた上で、どのステップまで実行が終了し
ていたかを示す情報を元に、そのステップの先行ステッ
プまで実行をスキップさせ、当該ステップから実行させ
るというものであった。
【0003】また、ステップの並列実行に関しては、例
えば、特開平6−202881号公報に記載のように、
複数ステップから構成されるジョブに対し、ジョブ制御
言語のステップの実行要求に同一ジョブ内の他ステップ
との並列実行が可能であるかを指定可能として、複数の
ステップの同時実行が可能となっていた。
えば、特開平6−202881号公報に記載のように、
複数ステップから構成されるジョブに対し、ジョブ制御
言語のステップの実行要求に同一ジョブ内の他ステップ
との並列実行が可能であるかを指定可能として、複数の
ステップの同時実行が可能となっていた。
【0004】
【発明が解決しようとする課題】上記従来技術は、ジョ
ブの再実行技術に関しては、ジョブの異常終了時のリカ
バリのための機能であり、ジョブの実行経過時間の短縮
について配慮されておらず、同一ジョブを同時に並列に
実行させることができないという課題があった。
ブの再実行技術に関しては、ジョブの異常終了時のリカ
バリのための機能であり、ジョブの実行経過時間の短縮
について配慮されておらず、同一ジョブを同時に並列に
実行させることができないという課題があった。
【0005】また、ステップの並列実行に関しては、同
一ジョブ内の他ステップとの並列実行を行えるようにし
たのみであり、同一ステップを複数同時に実行させる点
について配慮されておらず、一つのステップの実行経過
時間を短縮することができないという課題があった。
一ジョブ内の他ステップとの並列実行を行えるようにし
たのみであり、同一ステップを複数同時に実行させる点
について配慮されておらず、一つのステップの実行経過
時間を短縮することができないという課題があった。
【0006】本発明の第一の目的は、一つのジョブを複
数個同時に並列実行することにより、同一ジョブの同一
ステップを複数個同時に並列実行させ、当該ステップの
実行経過時間を短縮するジョブの並列実行制御方法を提
供することにある。一般に、同一ステップを複数個同時
に実行させてステップの実行経過時間を短縮するために
は、当該ステップに対して与える入力データを分割する
ことができ、かつ、その入力データの処理順序に前後関
係が無い場合に有効なものとなる。
数個同時に並列実行することにより、同一ジョブの同一
ステップを複数個同時に並列実行させ、当該ステップの
実行経過時間を短縮するジョブの並列実行制御方法を提
供することにある。一般に、同一ステップを複数個同時
に実行させてステップの実行経過時間を短縮するために
は、当該ステップに対して与える入力データを分割する
ことができ、かつ、その入力データの処理順序に前後関
係が無い場合に有効なものとなる。
【0007】本発明の第二の目的は、複数ステップから
構成されるジョブの任意のステップと同一ジョブ内の他
ステップとを並列実行することにより、ジョブの実行経
過時間を短縮するジョブの並列実行制御方法を提供する
ことにある。
構成されるジョブの任意のステップと同一ジョブ内の他
ステップとを並列実行することにより、ジョブの実行経
過時間を短縮するジョブの並列実行制御方法を提供する
ことにある。
【0008】
【課題を解決するための手段】上記第一の目的は、上記
従来技術のジョブの再実行機能を応用し、ジョブ異常終
了時ではなく、ジョブ実行中に同一ジョブの再登録、再
実行を行い、ジョブを同時に実行させることにより、同
一ジョブの同一ステップの並列実行を行うことで達成さ
れる。
従来技術のジョブの再実行機能を応用し、ジョブ異常終
了時ではなく、ジョブ実行中に同一ジョブの再登録、再
実行を行い、ジョブを同時に実行させることにより、同
一ジョブの同一ステップの並列実行を行うことで達成さ
れる。
【0009】上記第二の目的は、上記第一の手段によ
り、同一ジョブを同時に並列実行させると共に、第一の
ジョブで任意のステップを実行させずにスキップするこ
とにより次のステップを実行させ、並列に実行している
第二のジョブでは第一のジョブでスキップされたステッ
プの方を実行させることにより、同一ジョブの別ステッ
プの並列実行を行うことで達成される。
り、同一ジョブを同時に並列実行させると共に、第一の
ジョブで任意のステップを実行させずにスキップするこ
とにより次のステップを実行させ、並列に実行している
第二のジョブでは第一のジョブでスキップされたステッ
プの方を実行させることにより、同一ジョブの別ステッ
プの並列実行を行うことで達成される。
【0010】
【作用】ジョブ制御言語翻訳部においてジョブ制御言語
を解析し、ジョブを複数回実行させるかどうか、およ
び、各ステップの実行をスキップさせるかどうかを決定
する。
を解析し、ジョブを複数回実行させるかどうか、およ
び、各ステップの実行をスキップさせるかどうかを決定
する。
【0011】ジョブ実行管理部のジョブ登録処理部にお
いてジョブを登録し、さらに当該ジョブを複数回実行さ
せる指定のあるジョブであれば、再度、ジョブ登録処理
部で当該ジョブを登録する。
いてジョブを登録し、さらに当該ジョブを複数回実行さ
せる指定のあるジョブであれば、再度、ジョブ登録処理
部で当該ジョブを登録する。
【0012】ステップ実行管理部では、各ステップに実
行をスキップさせる指定がある場合は、当該ステップを
実行させずに次のステップの実行をさせる。
行をスキップさせる指定がある場合は、当該ステップを
実行させずに次のステップの実行をさせる。
【0013】
【実施例】以下に、本発明の一実施例を図面によって詳
細に説明する。
細に説明する。
【0014】図1は本発明の実施例の構成図ある。
【0015】100は計算機システム、200は外部記
憶装置を示す。外部記憶装置200の中にはジョブ制御
文が格納されている。このジョブ制御文が計算機システ
ム100に読み込まれると、ジョブ制御言語翻訳部30
0にて翻訳され、その結果をもとにジョブ実行管理部4
00によりジョブとして実行される。
憶装置を示す。外部記憶装置200の中にはジョブ制御
文が格納されている。このジョブ制御文が計算機システ
ム100に読み込まれると、ジョブ制御言語翻訳部30
0にて翻訳され、その結果をもとにジョブ実行管理部4
00によりジョブとして実行される。
【0016】図2は本発明におけるジョブ制御言語の記
述形式例を示している。
述形式例を示している。
【0017】201はジョブをn個並列実行するための
ジョブ制御言語の記述形式例である。ジョブ全体の属性
を記述するJOB文に、「SUBJOB=n」と指定す
ることにより、当該ジョブをn個並列実行させることを
指示することができる。
ジョブ制御言語の記述形式例である。ジョブ全体の属性
を記述するJOB文に、「SUBJOB=n」と指定す
ることにより、当該ジョブをn個並列実行させることを
指示することができる。
【0018】202はステップを実行させずにスキップ
させるためのジョブ制御言語の記述形式例である。ジョ
ブの中のステップの実行を指示するEXEC文に、「S
KIP=YES」と指定することにより、当該ステップ
の実行をスキップさせることを指示することができる。
させるためのジョブ制御言語の記述形式例である。ジョ
ブの中のステップの実行を指示するEXEC文に、「S
KIP=YES」と指定することにより、当該ステップ
の実行をスキップさせることを指示することができる。
【0019】201と202により、本発明での基本部
分が実現できるが、さらに、ジョブ制御言語の指定を簡
略化するために、203と204の指定でも機能を使え
るようにする。
分が実現できるが、さらに、ジョブ制御言語の指定を簡
略化するために、203と204の指定でも機能を使え
るようにする。
【0020】203は、ステップをn個並列実行するた
めのジョブ制御言語の記述形式例である。ステップの実
行を指示するEXEC文に、「SUBJOB=n」と指
定することにより、当該ステップのみをn個並列実行さ
せることを指示することができる。この指定があるとき
には、ジョブをn個並列実行させると共に、当該ステッ
プ以外のステップは第一のジョブのみで一回だけ実行さ
れるようにし、並列実行された第二、第三のジョブで
は、当該ステップ以外のステップはスキップすることで
機能が実現される。
めのジョブ制御言語の記述形式例である。ステップの実
行を指示するEXEC文に、「SUBJOB=n」と指
定することにより、当該ステップのみをn個並列実行さ
せることを指示することができる。この指定があるとき
には、ジョブをn個並列実行させると共に、当該ステッ
プ以外のステップは第一のジョブのみで一回だけ実行さ
れるようにし、並列実行された第二、第三のジョブで
は、当該ステップ以外のステップはスキップすることで
機能が実現される。
【0021】204は、ステップを他のステップと並列
実行させるためのジョブ制御言語の記述形式例である。
ステップの実行を指示するEXEC文に、「SUBJO
B=YES」と指定することにより、当該ステップを別
ジョブとして別空間で実行させ、当該空間では、当該ス
テップとは別のステップを実行させることを指示するこ
とができる。これにより、当該ステップと他のステップ
の間での並列実行が実現される。この指定があるときに
は、当該ジョブを2個並列実行させると共に、当該ジョ
ブでの当該ステップはスキップさせ、逆に並列実行され
た第二のジョブの方では、当該ステップ以外のステップ
をスキップすることで機能が実現される。 図3と図4
は、それぞれジョブ実行管理テーブル510とステップ
管理テーブル520のデータ構成例を示す図である。
実行させるためのジョブ制御言語の記述形式例である。
ステップの実行を指示するEXEC文に、「SUBJO
B=YES」と指定することにより、当該ステップを別
ジョブとして別空間で実行させ、当該空間では、当該ス
テップとは別のステップを実行させることを指示するこ
とができる。これにより、当該ステップと他のステップ
の間での並列実行が実現される。この指定があるときに
は、当該ジョブを2個並列実行させると共に、当該ジョ
ブでの当該ステップはスキップさせ、逆に並列実行され
た第二のジョブの方では、当該ステップ以外のステップ
をスキップすることで機能が実現される。 図3と図4
は、それぞれジョブ実行管理テーブル510とステップ
管理テーブル520のデータ構成例を示す図である。
【0022】ジョブ実行管理テーブル510は各ジョブ
毎に一つ存在し、当該ジョブの並列実行の回数を管理し
ている。ステップ管理テーブル520は当該ジョブの各
ステップがまとめて一つのテーブルで管理されるが、当
該ジョブが並列実行される場合は、各実行空間毎に一つ
ずつのステップ管理テーブルが必要となる。
毎に一つ存在し、当該ジョブの並列実行の回数を管理し
ている。ステップ管理テーブル520は当該ジョブの各
ステップがまとめて一つのテーブルで管理されるが、当
該ジョブが並列実行される場合は、各実行空間毎に一つ
ずつのステップ管理テーブルが必要となる。
【0023】ジョブ実行管理テーブル510とステップ
管理テーブル520により、各ジョブがいくつの空間で
並列実行されるべきか、および、それぞれの空間ではど
のステップを実行すべきかが管理される。
管理テーブル520により、各ジョブがいくつの空間で
並列実行されるべきか、および、それぞれの空間ではど
のステップを実行すべきかが管理される。
【0024】図5、図6、図7は、ジョブ制御言語翻訳
部300の動作手順例を示すフローチャートである。
部300の動作手順例を示すフローチャートである。
【0025】ジョブ制御言語翻訳部300では、上記2
03や204のような記述のジョブ制御言語を翻訳し、
ジョブ実行管理テーブル510およびステップ管理テー
ブル520を設定する。
03や204のような記述のジョブ制御言語を翻訳し、
ジョブ実行管理テーブル510およびステップ管理テー
ブル520を設定する。
【0026】図8はジョブ実行管理部400にてジョブ
を実行させるときに使用するジョブ実行待ち行列550
のデータ構成例を示す図である。このジョブ実行待ち行
列550には、ジョブ実行待ち行列エレメント560が
待ち行列としてキューイングされている。
を実行させるときに使用するジョブ実行待ち行列550
のデータ構成例を示す図である。このジョブ実行待ち行
列550には、ジョブ実行待ち行列エレメント560が
待ち行列としてキューイングされている。
【0027】図9、図10、図11はジョブ実行管理部
400におけるジョブ・ステップ実行時の実行手順を示
すフローチャートである。
400におけるジョブ・ステップ実行時の実行手順を示
すフローチャートである。
【0028】ジョブ実行管理部400は、計算機システ
ム100において、ジョブを実行するアドレス空間毎に
一つずつ存在する。各空間のジョブ実行管理部400に
おいて、それぞれ一つのジョブを実行することができ
る。
ム100において、ジョブを実行するアドレス空間毎に
一つずつ存在する。各空間のジョブ実行管理部400に
おいて、それぞれ一つのジョブを実行することができ
る。
【0029】図9は、ジョブ実行管理部400における
ジョブ登録処理部410の実行手順を示している。ジョ
ブ登録処理部410は、ジョブ実行待ち行列550を参
照し、当該アドレス空間において実行すべきジョブをサ
ーチする(411)。このとき、実行待ちのジョブをサ
ーチする(413)だけでなく、再登録による実行待ち
のジョブもサーチするようにする(412)。そして、
実行すべきジョブを見い出したら、当該ジョブのジョブ
実行待ち行列エレメント560の実行状態フラグ563
に、実行中を示す「2」を設定しておく(415)。
ジョブ登録処理部410の実行手順を示している。ジョ
ブ登録処理部410は、ジョブ実行待ち行列550を参
照し、当該アドレス空間において実行すべきジョブをサ
ーチする(411)。このとき、実行待ちのジョブをサ
ーチする(413)だけでなく、再登録による実行待ち
のジョブもサーチするようにする(412)。そして、
実行すべきジョブを見い出したら、当該ジョブのジョブ
実行待ち行列エレメント560の実行状態フラグ563
に、実行中を示す「2」を設定しておく(415)。
【0030】このように、ジョブ実行管理部400は、
実行状態フラグ563が「3」または「1」のジョブの
みを取り出し、実行中を示す「2」となっているジョブ
は取り出さないため、当該ジョブを取り出した後、
「2」を設定しておくことにより、通常は、当該ジョブ
が別空間のジョブ実行管理部400において実行されな
いようになっている。
実行状態フラグ563が「3」または「1」のジョブの
みを取り出し、実行中を示す「2」となっているジョブ
は取り出さないため、当該ジョブを取り出した後、
「2」を設定しておくことにより、通常は、当該ジョブ
が別空間のジョブ実行管理部400において実行されな
いようになっている。
【0031】さらに、ジョブ登録処理部410では、当
該ジョブを並列に実行した回数を管理するため、当該ジ
ョブを並列に実行した回数513に1を加算しておくよ
うにする(416)。
該ジョブを並列に実行した回数を管理するため、当該ジ
ョブを並列に実行した回数513に1を加算しておくよ
うにする(416)。
【0032】図10は、ジョブ実行管理部400におけ
るジョブ制御言語解釈部420の実行手順を示してい
る。ジョブ制御言語解釈部420は、ジョブ登録処理部
410において選択したジョブの実行に必要な各種の制
御ブロック等を作成する処理を行っている(421)。
るジョブ制御言語解釈部420の実行手順を示してい
る。ジョブ制御言語解釈部420は、ジョブ登録処理部
410において選択したジョブの実行に必要な各種の制
御ブロック等を作成する処理を行っている(421)。
【0033】さらに、このとき、当該ジョブのジョブ実
行管理テーブル510を参照し(422)、416にて
設定した当該ジョブを並列に実行した回数513とジョ
ブの並列実行回数のジョブ制御言語指定値512を比較
して(423)、当該ジョブを再実行すべきかどうかを
判定し(424)、再実行すべきジョブであれば、当該
ジョブのジョブ実行待ち行列エレメント560の実行状
態フラグ563を、実行中を示す「2」から、再登録に
よる実行待ちを示す「3」に書き換えておく(42
5)。これにより、別空間のジョブ実行管理部400が
当該ジョブを選択し、再実行することになる。
行管理テーブル510を参照し(422)、416にて
設定した当該ジョブを並列に実行した回数513とジョ
ブの並列実行回数のジョブ制御言語指定値512を比較
して(423)、当該ジョブを再実行すべきかどうかを
判定し(424)、再実行すべきジョブであれば、当該
ジョブのジョブ実行待ち行列エレメント560の実行状
態フラグ563を、実行中を示す「2」から、再登録に
よる実行待ちを示す「3」に書き換えておく(42
5)。これにより、別空間のジョブ実行管理部400が
当該ジョブを選択し、再実行することになる。
【0034】図11は、ジョブ実行管理部400におけ
るステップ実行制御部430とステップ実行処理440
とステップ終了受付部450の動作手順例を示すフロー
チャートである。
るステップ実行制御部430とステップ実行処理440
とステップ終了受付部450の動作手順例を示すフロー
チャートである。
【0035】このステップの実行処理においては、実行
に必要な装置の割当てを行い(430)、実行すべきプ
ログラムをロードして実行し(440)、実行終了後、
装置の割当てを解除する(450)という一連の動作
を、各ステップに対して行っている。このとき、当該ス
テップのステップ管理テーブル520を参照し(43
1)、SKIP指定のあるステップについては、ステッ
プの実行処理440を行わないようにする(432)。
に必要な装置の割当てを行い(430)、実行すべきプ
ログラムをロードして実行し(440)、実行終了後、
装置の割当てを解除する(450)という一連の動作
を、各ステップに対して行っている。このとき、当該ス
テップのステップ管理テーブル520を参照し(43
1)、SKIP指定のあるステップについては、ステッ
プの実行処理440を行わないようにする(432)。
【0036】図12は、ジョブの並列実行を行う場合の
ジョブ制御言語の指定例を示している。ここでは、21
0のジョブJOB1でデータを生成し、211のジョブ
JOB2でJOB1で生成したデータをソートし、21
2のジョブJOB3でJOB2でソートしたデータを集
計するような業務を示している。このような例におい
て、データの構造によっては、データを分割し別々にソ
ートすることが可能な場合もある。
ジョブ制御言語の指定例を示している。ここでは、21
0のジョブJOB1でデータを生成し、211のジョブ
JOB2でJOB1で生成したデータをソートし、21
2のジョブJOB3でJOB2でソートしたデータを集
計するような業務を示している。このような例におい
て、データの構造によっては、データを分割し別々にソ
ートすることが可能な場合もある。
【0037】このように、一つのジョブを複数個並列に
実行させることが可能である場合、図12のようにJO
B2のJOB文にSUBJOB=nと指定し、JOB2
を複数個並列に実行させてJOB2の実行経過時間の短
縮を図ることができる。SUBJOB=3と指定した場
合の各ジョブの実行動作順序を図13に示す。
実行させることが可能である場合、図12のようにJO
B2のJOB文にSUBJOB=nと指定し、JOB2
を複数個並列に実行させてJOB2の実行経過時間の短
縮を図ることができる。SUBJOB=3と指定した場
合の各ジョブの実行動作順序を図13に示す。
【0038】図14は、ジョブ内の任意のステップの並
列実行を行う場合のジョブ制御言語の指定例を示してお
り、図12の三つのジョブを一つのジョブにまとめた場
合の構成例を示している。220のJOB4は、STE
P1、STEP2、STEP3から構成される。
列実行を行う場合のジョブ制御言語の指定例を示してお
り、図12の三つのジョブを一つのジョブにまとめた場
合の構成例を示している。220のJOB4は、STE
P1、STEP2、STEP3から構成される。
【0039】このときにも、図12と同様に一つのステ
ップを複数個並列に実行することが可能な場合がある。
そのような場合、STEP2のEXEC文にSUBJO
B=nと指定し、STEP2を複数個並列に実行させて
ジョブの実行経過時間の短縮を図ることができる。
ップを複数個並列に実行することが可能な場合がある。
そのような場合、STEP2のEXEC文にSUBJO
B=nと指定し、STEP2を複数個並列に実行させて
ジョブの実行経過時間の短縮を図ることができる。
【0040】SUBJOB=3と指定した場合の各ステ
ップの実行動作順序を図15に示す。この例のように、
ステップの実行を示すEXEC文にSUBJOB=nの
指定がある場合には、当該ジョブをn個並列に実行さ
せ、さらに、第二、第三の空間で実行されるジョブにお
いては、当該ステップ以外のSTEP1、STEP3の
実行をスキップすることにより、機能を実現する。
ップの実行動作順序を図15に示す。この例のように、
ステップの実行を示すEXEC文にSUBJOB=nの
指定がある場合には、当該ジョブをn個並列に実行さ
せ、さらに、第二、第三の空間で実行されるジョブにお
いては、当該ステップ以外のSTEP1、STEP3の
実行をスキップすることにより、機能を実現する。
【0041】図16は、ジョブ内の任意のステップと同
一ジョブ内の他のステップとの並列実行を行う場合のジ
ョブ制御言語の指定例を示している。230のJOB5
は、STEP4、STEP5、STEP6の三つのステ
ップから構成され、STEP4とSTEP5の間には順
序関係がない場合の例を示している。
一ジョブ内の他のステップとの並列実行を行う場合のジ
ョブ制御言語の指定例を示している。230のJOB5
は、STEP4、STEP5、STEP6の三つのステ
ップから構成され、STEP4とSTEP5の間には順
序関係がない場合の例を示している。
【0042】この例では、STEP4とSTEP5を並
列に実行させ、ジョブの実行経過時間の短縮を図ること
ができる。このような場合には、STEP4のEXEC
文にSUBJOB=YESと指定する。STEP4にS
UBJOB=YESと指定した場合の各ステップの実行
動作順序を図17に示す。
列に実行させ、ジョブの実行経過時間の短縮を図ること
ができる。このような場合には、STEP4のEXEC
文にSUBJOB=YESと指定する。STEP4にS
UBJOB=YESと指定した場合の各ステップの実行
動作順序を図17に示す。
【0043】STEP4にSUBJOB=YESの指定
がある場合、ジョブ実行管理部400は、JOB5を二
個別々の空間で実行させ、第一の空間ではSTEP4を
実行させずにスキップして次のSTEP5、続いてST
EP6を実行し、第二の空間ではSTEP4のみを実行
して、STEP5、STEP6は実行をスキップさせ
る。このように制御することにより、結果として、ST
EP4とSTEP5が同時に並列に実行されることにな
る。分かりやすくするため、この場合の各ステップの実
質的な実行動作順序を図18に示す。
がある場合、ジョブ実行管理部400は、JOB5を二
個別々の空間で実行させ、第一の空間ではSTEP4を
実行させずにスキップして次のSTEP5、続いてST
EP6を実行し、第二の空間ではSTEP4のみを実行
して、STEP5、STEP6は実行をスキップさせ
る。このように制御することにより、結果として、ST
EP4とSTEP5が同時に並列に実行されることにな
る。分かりやすくするため、この場合の各ステップの実
質的な実行動作順序を図18に示す。
【0044】
【発明の効果】以上説明したように、本発明によれば、
ジョブおよびステップを並列実行させることで、ジョブ
およびステップの実行経過時間の短縮を図ることができ
るという効果が得られる。
ジョブおよびステップを並列実行させることで、ジョブ
およびステップの実行経過時間の短縮を図ることができ
るという効果が得られる。
【図1】本発明の実施例を示す構成図である。
【図2】本発明のジョブ制御言語の記述形式例を示す図
である。
である。
【図3】ジョブ実行管理部400にて実行を管理する各
ジョブのジョブ実行管理テーブル510のデータ構成例
を示す図である。
ジョブのジョブ実行管理テーブル510のデータ構成例
を示す図である。
【図4】ジョブ実行管理部400にて実行を管理する各
ジョブの、各実行空間毎のステップの実行を管理するス
テップ管理テーブル520のデータ構成例を示す図であ
る。
ジョブの、各実行空間毎のステップの実行を管理するス
テップ管理テーブル520のデータ構成例を示す図であ
る。
【図5】ジョブ制御言語翻訳部300の動作手順例を示
すフローチャートである。
すフローチャートである。
【図6】JOB文解析処理310の動作手順例を示すフ
ローチャートである。
ローチャートである。
【図7】EXEC文解析処理320の動作手順例を示す
フローチャートである。
フローチャートである。
【図8】ジョブ実行管理部400にて実行すべきジョブ
を選択するときに参照するジョブ実行待ち行列550の
データ構成例を示す図である。
を選択するときに参照するジョブ実行待ち行列550の
データ構成例を示す図である。
【図9】ジョブ登録処理部410の動作手順例を示すフ
ローチャートである。
ローチャートである。
【図10】ジョブ制御言語解釈部420の動作手順例を
示すフローチャートである。
示すフローチャートである。
【図11】ステップ実行制御部430とステップ実行処
理440とステップ終了受付部450の動作手順例を示
すフローチャートである。
理440とステップ終了受付部450の動作手順例を示
すフローチャートである。
【図12】ジョブの並列実行を行う場合のジョブ制御言
語の指定例を示す図である。
語の指定例を示す図である。
【図13】並列実行を行った場合のジョブの実行順序を
示す図である。
示す図である。
【図14】同一ジョブ内のステップの並列実行を行う場
合のジョブ制御言語の指定例を示す図である。
合のジョブ制御言語の指定例を示す図である。
【図15】ステップの並列実行を行った場合の各ステッ
プの実行順序を示す図である。
プの実行順序を示す図である。
【図16】ジョブの任意のステップと同一ジョブ内の他
のステップとの並列実行を行う場合のジョブ制御言語の
指定例を示す図である。
のステップとの並列実行を行う場合のジョブ制御言語の
指定例を示す図である。
【図17】任意のステップと他のステップとの並列実行
を行った場合の各ステップの実行順序を示す図である。
を行った場合の各ステップの実行順序を示す図である。
【図18】任意のステップと他のステップとの並列実行
を行った場合の各ステップの実質的な実行順序を示す図
である。
を行った場合の各ステップの実質的な実行順序を示す図
である。
100:計算機システム 200:ジョブ制御言語を格納する外部記憶装置 201:ジョブをn個並列実行するためのジョブ制御言
語 202:ステップを実行させずにスキップさせるための
ジョブ制御言語 203:ステップをn個並列実行するためのジョブ制御
言語 204:ステップを他のステップと並列実行させるため
のジョブ制御言語 300:ジョブ制御言語翻訳部 400:ジョブ実行管理部 410:ジョブ登録処理部 420:ジョブ制御言語解釈 430:ステップ実行制御部 440:ステップ実行処理 450:ステップ終了受付部 460:ジョブ終了処理部 510:ジョブ実行管理テーブル 520:ステップ管理テーブル 550:ジョブ実行待ち行列 560:ジョブ実行待ち行列エレメント
語 202:ステップを実行させずにスキップさせるための
ジョブ制御言語 203:ステップをn個並列実行するためのジョブ制御
言語 204:ステップを他のステップと並列実行させるため
のジョブ制御言語 300:ジョブ制御言語翻訳部 400:ジョブ実行管理部 410:ジョブ登録処理部 420:ジョブ制御言語解釈 430:ステップ実行制御部 440:ステップ実行処理 450:ステップ終了受付部 460:ジョブ終了処理部 510:ジョブ実行管理テーブル 520:ステップ管理テーブル 550:ジョブ実行待ち行列 560:ジョブ実行待ち行列エレメント
Claims (4)
- 【請求項1】実行するプログラムと当該プログラムが使
用する資源をジョブ制御言語を用いて指定したジョブを
入力し、当該ジョブを個々の仮想アドレス空間において
スケジュールすることで複数のジョブを多重実行する計
算機システムにおいて、 ある一つのジョブが実行中に当該ジョブが別空間におい
て同時実行可能なことを指定したジョブ制御文を解析す
る手順と、当該ジョブを実行中に別空間において当該ジ
ョブを再スケジュールし同時並列実行する手順を有する
ことを特徴とするジョブの並列実行制御方法。 - 【請求項2】請求項1の計算機システムにおいて、 複数のステップから構成されるジョブにおいて、任意の
ステップを実行させないことを指定したジョブ制御文を
解析する手順と、当該ステップを実行させずに次のステ
ップを実行する手順を有することを特徴とするジョブの
並列実行制御システム。 - 【請求項3】請求項1または請求項2の計算機システム
において、 任意のステップが複数個並列実行可能であることを指定
したジョブ制御文を解析する手順と、当該ステップに指
定された数だけ当該ジョブを再スケジュールすることを
判断し、当該ステップ以外のステップは第一のジョブの
みで実行し、再実行させた第二、第三のジョブにおいて
は当該ステップ以外のステップは実行させないステップ
として判断するジョブ制御文を解析する手順を有するこ
とを特徴とするジョブの並列実行制御方法。 - 【請求項4】請求項1または請求項2の計算機システム
において、 複数ステップから構成されるジョブにおいて、任意のス
テップが同一ジョブ内の他のステップと並列実行可能で
あることを指定したジョブ制御文を解析する手順と、当
該ジョブを再スケジュールすることを判断し、当該ステ
ップは第一のジョブでは実行させないステップとして判
断し、再実行させた第二のジョブにおいては当該ステッ
プ以外のステップの方を実行させないステップとして判
断するジョブ制御文を解析する手順を有することを特徴
とするジョブの並列実行制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7085091A JPH08286932A (ja) | 1995-04-11 | 1995-04-11 | ジョブの並列実行制御方法 |
US08/630,077 US5958071A (en) | 1995-04-11 | 1996-04-09 | Method and system for controlling parallel execution of jobs |
US09/382,355 US6334137B1 (en) | 1995-04-11 | 1999-08-24 | Method and system for controlling parallel execution of jobs |
US09/852,662 US6636884B2 (en) | 1995-04-11 | 2001-05-11 | Method and system for controlling parallel execution of jobs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7085091A JPH08286932A (ja) | 1995-04-11 | 1995-04-11 | ジョブの並列実行制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08286932A true JPH08286932A (ja) | 1996-11-01 |
Family
ID=13848940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7085091A Pending JPH08286932A (ja) | 1995-04-11 | 1995-04-11 | ジョブの並列実行制御方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US5958071A (ja) |
JP (1) | JPH08286932A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148451A (ja) * | 1998-11-18 | 2000-05-30 | Nec Corp | バッチジョブ負荷分散方法および負荷分散システム |
JP2011253337A (ja) * | 2010-06-02 | 2011-12-15 | Canon Inc | クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム |
WO2014182967A1 (en) * | 2013-05-08 | 2014-11-13 | Nmetric, Llc | Bus stop systems and methods of scheduling |
US10204387B2 (en) | 2013-05-08 | 2019-02-12 | Nmetric, Llc | Sequentially configuring manufacturing equipment to reduce reconfiguration times |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286932A (ja) * | 1995-04-11 | 1996-11-01 | Hitachi Ltd | ジョブの並列実行制御方法 |
DE69811790T2 (de) * | 1997-08-01 | 2003-11-20 | Ibm | Ableitung von Prozessmodellen aus Rechnungsprüfvorgängen für Systeme zur Verwaltung von Arbeitsflüssen |
JPH11134235A (ja) * | 1997-10-31 | 1999-05-21 | Hitachi Ltd | 外部記憶装置故障時の回復支援方法 |
US7213064B2 (en) * | 2000-11-18 | 2007-05-01 | In2M Corporation | Methods and systems for job-based accounting |
CA2365730A1 (en) * | 2001-12-20 | 2003-06-20 | Platform Computing (Barbados) Inc. | Method and device to assist in the execution of tasks of parallel jobs |
DE10333886A1 (de) * | 2003-07-22 | 2005-02-24 | Siemens Ag | Verfahren zur schichtorientierten und kopierfreien Bearbeitung von Daten |
DE10333888B3 (de) * | 2003-07-22 | 2005-04-07 | Siemens Ag | Verfahren zum Steuern eines Datenaustauschs |
JP2005092542A (ja) * | 2003-09-18 | 2005-04-07 | Hitachi Ltd | ジョブネット構成ファイルの生成装置および生成方法 |
US7926058B2 (en) * | 2007-02-06 | 2011-04-12 | Mba Sciences, Inc. | Resource tracking method and apparatus |
JP5251002B2 (ja) * | 2007-05-25 | 2013-07-31 | 富士通株式会社 | 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム |
JP5619179B2 (ja) * | 2010-11-10 | 2014-11-05 | 株式会社日立製作所 | 計算機システム、ジョブ実行管理方法、及びプログラム |
WO2015132904A1 (ja) * | 2014-03-05 | 2015-09-11 | 株式会社日立製作所 | 情報処理方法及び情報処理システム |
US9477519B2 (en) | 2014-09-18 | 2016-10-25 | Robert D. Pedersen | Distributed activity control systems and methods |
US10346262B2 (en) * | 2015-09-18 | 2019-07-09 | Mitsubishi Electric Corporation | Job management apparatus, job management method and computer readable medium to generate and execute a retry job when an error occurs during a job step |
US9913116B2 (en) | 2016-02-24 | 2018-03-06 | Robert D. Pedersen | Multicast expert system information dissemination system and method |
US9919648B1 (en) | 2016-09-27 | 2018-03-20 | Robert D. Pedersen | Motor vehicle artificial intelligence expert system dangerous driving warning and control system and method |
US10288439B2 (en) | 2017-02-22 | 2019-05-14 | Robert D. Pedersen | Systems and methods using artificial intelligence for routing electric vehicles |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3662401A (en) * | 1970-09-23 | 1972-05-09 | Collins Radio Co | Method of program execution |
US4319321A (en) * | 1979-05-11 | 1982-03-09 | The Boeing Company | Transition machine--a general purpose computer |
JPS57757A (en) * | 1980-06-04 | 1982-01-05 | Hitachi Ltd | Job execution schedule system |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
US4466061A (en) * | 1982-06-08 | 1984-08-14 | Burroughs Corporation | Concurrent processing elements for using dependency free code |
JPS59105167A (ja) | 1982-12-07 | 1984-06-18 | Fujitsu Ltd | ジヨブ・ステツプ分散処理マルチプロセツサ |
JPS60118966A (ja) | 1983-11-30 | 1985-06-26 | Fujitsu Ltd | ジヨブ分散処理方式 |
US5113523A (en) * | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
JPH0769847B2 (ja) * | 1987-02-26 | 1995-07-31 | 富士通株式会社 | リラン時のジョブ制御方法 |
US4918595A (en) * | 1987-07-31 | 1990-04-17 | International Business Machines Corp. | Subsystem input service for dynamically scheduling work for a computer system |
JPH02110033A (ja) | 1988-10-20 | 1990-04-23 | Ricoh Co Ltd | 画像形成装置 |
JPH03188528A (ja) * | 1989-09-27 | 1991-08-16 | Hitachi Ltd | ジョブ実行管理方法およびシステム |
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
JP2829078B2 (ja) * | 1990-02-05 | 1998-11-25 | 株式会社日立製作所 | プロセス分散方法 |
DE69023499T2 (de) * | 1990-09-03 | 1996-06-20 | Ibm | Rechner mit erweitertem virtuellem Speicher. |
US5412784A (en) * | 1991-07-15 | 1995-05-02 | International Business Machines Corporation | Apparatus for parallelizing serial instruction sequences and creating entry points into parallelized instruction sequences at places other than beginning of particular parallelized instruction sequence |
RO105026B1 (en) * | 1991-10-10 | 1993-09-01 | Ion Minca | Network structure for parallel processing of calcullation programs |
JP3268338B2 (ja) * | 1992-04-22 | 2002-03-25 | 株式会社日立製作所 | 計算機システム |
JPH0659906A (ja) * | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
JP2551312B2 (ja) * | 1992-12-28 | 1996-11-06 | 日本電気株式会社 | ジョブステップ並列実行方式 |
JP2550864B2 (ja) * | 1993-05-31 | 1996-11-06 | 日本電気株式会社 | ジョブ実行における分散型制御方法及びその装置 |
US5692193A (en) * | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
JPH08286932A (ja) * | 1995-04-11 | 1996-11-01 | Hitachi Ltd | ジョブの並列実行制御方法 |
JPH10211033A (ja) | 1997-01-29 | 1998-08-11 | Okamura Corp | パネル付き机 |
-
1995
- 1995-04-11 JP JP7085091A patent/JPH08286932A/ja active Pending
-
1996
- 1996-04-09 US US08/630,077 patent/US5958071A/en not_active Expired - Fee Related
-
1999
- 1999-08-24 US US09/382,355 patent/US6334137B1/en not_active Expired - Fee Related
-
2001
- 2001-05-11 US US09/852,662 patent/US6636884B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148451A (ja) * | 1998-11-18 | 2000-05-30 | Nec Corp | バッチジョブ負荷分散方法および負荷分散システム |
JP2011253337A (ja) * | 2010-06-02 | 2011-12-15 | Canon Inc | クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム |
WO2014182967A1 (en) * | 2013-05-08 | 2014-11-13 | Nmetric, Llc | Bus stop systems and methods of scheduling |
US10204387B2 (en) | 2013-05-08 | 2019-02-12 | Nmetric, Llc | Sequentially configuring manufacturing equipment to reduce reconfiguration times |
Also Published As
Publication number | Publication date |
---|---|
US6334137B1 (en) | 2001-12-25 |
US20010056458A1 (en) | 2001-12-27 |
US5958071A (en) | 1999-09-28 |
US6636884B2 (en) | 2003-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08286932A (ja) | ジョブの並列実行制御方法 | |
US11379272B2 (en) | Autoscaling using file access or cache usage for cluster machines | |
US4435758A (en) | Method for conditional branch execution in SIMD vector processors | |
DE19506435C2 (de) | Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten | |
EP0565705B1 (en) | Out of order job processing method and apparatus | |
JPS6275739A (ja) | タスク割当て方法 | |
US5872990A (en) | Reordering of memory reference operations and conflict resolution via rollback in a multiprocessing environment | |
US20150127926A1 (en) | Instruction scheduling approach to improve processor performance | |
JPH11305998A (ja) | 計算機システム | |
JPH05242051A (ja) | タスクスケジューリング方式 | |
JP3559581B2 (ja) | ジョブ実行制御方法 | |
KR101269024B1 (ko) | 로봇 소프트웨어 컴포넌트 작업 실행 조정 장치 및 방법 | |
JPS59206947A (ja) | マイクロプログラム制御装置 | |
JP2591818B2 (ja) | 補助機能の選択制御方法 | |
JP3931883B2 (ja) | ジョブスケジューリング方法、計算機システムおよびジョブスケジューリングプログラム | |
CN112486421A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
JPH07129452A (ja) | 排他制御方式 | |
CN117785398A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
JPS6220032A (ja) | 情報処理装置 | |
JPH0581044A (ja) | コンピユータ装置 | |
JP2001290653A (ja) | 資源割付装置 | |
JPH04128936A (ja) | プログラム実行環境切換え方式 | |
JPS63175946A (ja) | プログラムテスト装置 | |
JPH05120012A (ja) | 例外処理装置 | |
JPH06266568A (ja) | ジョブスケジュール装置 |