JPH09325892A - ジョブ並列実行制御方法 - Google Patents

ジョブ並列実行制御方法

Info

Publication number
JPH09325892A
JPH09325892A JP14396796A JP14396796A JPH09325892A JP H09325892 A JPH09325892 A JP H09325892A JP 14396796 A JP14396796 A JP 14396796A JP 14396796 A JP14396796 A JP 14396796A JP H09325892 A JPH09325892 A JP H09325892A
Authority
JP
Japan
Prior art keywords
job
execution
parallel
executed
jobs
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
JP14396796A
Other languages
English (en)
Inventor
Takahisa Yoshida
隆久 吉田
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 JP14396796A priority Critical patent/JPH09325892A/ja
Publication of JPH09325892A publication Critical patent/JPH09325892A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】従来利用可能な計算機資源が時々刻々変化する
ため、ジョブ実行開始直前まで並列実行可能かが分から
ず、並列実行不可能な場合、ジョブのパラメタを変更し
てジョブを再入力しなければならない。 【解決手段】あらかじめジョブのパラメタで、並列実行
用の指定と、並列実行不可能な場合の指定との、両方を
行ってジョブを入力する。その後、実行プロセッサが、
並列実行不可能な場合を仮定してジョブを取り出し、ジ
ョブ実行開始時、並列に実行すべき他ジョブが実行開始
状態になるまで待ち、他ジョブからの通知で並列に実行
できるか判断する。並列実行できないと判断した場合、
並列実行不可能な指定にしたがって、入出力情報を割り
当てジョブを実行する。並列実行できると判断した場
合、並列実行用の指定にしたがって、入出力情報を割り
当てジョブを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はジョブの実行制御方
法に関し、特に並列と非並列の両方の方法でジョブの実
行が可能な計算機システムにおいて、計算機資源に依存
してジョブの実行方法を動的に変更する方法に関する。
【0002】
【従来の技術】ジョブの実行方法には、複数のジョブを
同時に実行し、各ジョブが出力データを一時的なデータ
エリアに出力し、他のジョブがこれを即時に入力して使
用する並列実行と、1つのジョブを実行し、このジョブ
の全ての出力データを1度ファイルに出力し、次にこの
ファイル中の出力データを入力データとして利用する後
続ジョブを実行する非並列実行がある。
【0003】また、並列実行と非並列実行の両方の方法
で実行可能な計算機システムにおいては、実行させるジ
ョブに予め実行方法を指定させている。
【0004】ジョブの並列実行を行うか否かの情報と入
出力情報は、ジョブ制御文などのパラメタで指定する。
【0005】ジョブを並列実行し、出力データを即時に
他方のジョブが入力する場合、パラメタで、データの即
時入出力指定と、並列実行を行う指定の両方を行い、ジ
ョブを入力する。この場合、並列実行指定に従いジョブ
を実行させるが、他ジョブが実行できない要因がある
と、実行中のジョブは待ち続ける。例えば、実行プロセ
ッサが不足していると並列実行できなかった。
【0006】実行プロセッサが不足している状態であっ
てもジョブを実行できるようにするには、ジョブ制御文
などのパラメタのデータの指定を即時入出力からファイ
ルへの格納に変更し、実行方法を並列実行から非並列実
行に変更して指定し直す必要があった。また、データを
出力するジョブを先に実行するよう指定し直し、ジョブ
を再入力する必要があった。
【0007】並列実行と非並列実行の選択制御方法とし
ては、特開平3−220632号公報に示される技術が
知られている。これは、プログラムのコンパイル時に、
並列実行の命令るあいは非並列実行の命令を選択し、並
列実行の命令の実行時に資源が不足していた場合には、
この命令をスキップし、非並列実行の命令を先に実行す
るものである。
【0008】
【発明が解決しようとする課題】前記従来の方法では、
利用可能な計算機資源が時々刻々変化するため、ジョブ
実行開始直前まで並列実行可能かが分からず、並列実行
不可能な場合、ジョブのパラメタを変更してジョブを再
入力しなければならないので効率が悪いという問題があ
った。
【0009】また、ジョブを実行させるときに計算機資
源(例えば実行プロセッサ)が不足していると、十分な
資源が揃うまで待つことになる。ジョブに並列処理を指
定されている場合、非並列実行には十分な資源量であっ
ても並列実行するためには資源量が不十分ならば待ち状
態となっていたため、計算機資源が有効に利用されてい
なかった。
【0010】本発明の目的は、並列実行が指定されたジ
ョブの実行直前に計算機資源の不足などの並列実行不可
能な状況が発生した場合であっても、ジョブの実行方法
を動的に非並列実行に切り替えて実行することにより、
ジョブを確実に実行でき、計算機資源を有効に利用でき
る制御方法を提供することにある。
【0011】
【課題を解決するための手段】あらかじめ並列実行可能
な時のパラメタと共に並列実行不可能な時のパラメタを
同時に指定してジョブを入力する。その後、実行プロセ
ッサが、並列実行不可能な場合を仮定してジョブを取り
出し、ジョブ実行開始時、並列に実行すべき他ジョブが
実行開始状態になるまで待ち、他ジョブからの通知で並
列に実行できるか判断する。並列実行できないと判断し
た場合、並列実行不可能な指定にしたがって、入出力情
報を割り当てジョブを実行する。並列実行できると判断
した場合、並列実行用の指定にしたがって、入出力情報
を割り当てジョブを実行する。
【0012】
【発明の実施の形態】以下、図面を用いて本発明を説明
する。
【0013】図1は、本発明のシステム構成を示したも
のである。
【0014】中央処理装置101において本発明のジョ
ブ実行制御を行う。命令実行プロセッサ102、103
は、実行制御プログラム104にしたがってそれぞれジ
ョブを1つ取り出し、実行中ジョブ105、106を生
成する。主記憶装置108においてジョブが実行され
る。実行制御プログラム104は命令実行プロセッサ1
02、103にジョブを生成させる。データエリア10
7は、ジョブ並列実行時に実行中の各ジョブの出力デー
タを一時的に格納する。
【0015】磁気ディスク110には実行待ちジョブ1
が格納されている。ジョブ1は、データの入出力場所、
並列実行ジョブなどが指定されたパラメタ2を持ってい
る。
【0016】磁気ディスク111にはデータファイル3
が格納されている。データファイル3は、ジョブの非並
列実行時に実行中ジョブが出力したデータを貯える。
【0017】ジョブ文120は、ジョブの実行内容を記
述したものである。
【0018】図2は、命令実行プロセッサAと命令実行
プロセッサBを用いたジョブ実行の流れを示したもので
ある。
【0019】命令実行プロセッサAは、並列実行不可能
な状態としてジョブAを取り出し(ステップ201)、
ジョブBを命令実行プロセッサBが取り出せるようにジ
ョブBを並列実行可能な状態にして(ステップ20
2)、ジョブBの実行開始通知を待つ。
【0020】命令実行プロセッサBが使用可能な場合
は、命令実行プロセッサBがジョブBを取り出し(ステ
ップ302)、命令実行プロセッサAに実行開始を通知
する(ステップ303)。その後、ジョブA、ジョブB
に並列実行時の入出力情報が割りあてられ(ステップ2
04、304)実行中ジョブA105、実行中ジョブB
106が生成され、ジョブA、ジョブBが並列実行され
る(ステップ205、305)。このとき、データエリ
ア107を使用して、ジョブAからジョブBにデータを
渡すことができる。ジョブA、ジョブBが終了すると
(ステップ206、306)、全体の処理が終了する。
【0021】一方、命令実行プロセッサBが使用できな
い場合は、ジョブBを実行抑止状態に戻して(ステップ
207)、ジョブAの非並列実行の入出力情報を割り当
て、(ステップ208)、実行中ジョブA105を生成
しジョブAの非並列実行される(ステップ209)。こ
のときジョブAの出力情報がデータファイル3に出力さ
れる。その後、ジョブAが実行終了すると(ステップ2
10)、次のジョブBを取り出し(ステップ211)、
非並列実行時の入出力情報が割りあてられ(ステップ2
12)、実行中ジョブB106が生成され、ジョブB実
行される(ステップ213)。このときジョブBはデー
タファイル3からジョブAの出力情報を入力する。ジョ
ブBが実行終了すると(ステップ214)全体の処理が
終了する。
【0022】このようにして、ジョブ実行時の制御によ
って、命令実行プロセッサAと命令実行プロセッサBの
両方が使用できる場合にはデータエリアを用いて情報を
即時に入出力してジョブAとジョブBを並列実行でき、
命令実行プロセッサBが使用できない場合でもデータフ
ァイルを介して情報を入出力してジョブAとジョブBを
非並列実行することができる。
【0023】図3は、ジョブパラメタ2の詳細を示した
ものである。
【0024】ジョブA、ジョブBともに並列実行時と非
並列実行時の両方のパラメタを指定する必要がある。
【0025】ジョブAの並列実行時パラメタ11は、ジ
ョブAが並列実行可能時、ジョブBと並列実行し、入出
力情報としてデータエリア107を使用することを指定
している。
【0026】ジョブAの非並列実行時パラメタ12は、
並列実行不可能時にジョブBが後続ジョブで本ジョブは
実行可能となり、入出力情報としてデータファイル3を
使用することを指定している。
【0027】ジョブBの並列実行時パラメタ13は、ジ
ョブBが並列実行可能時、ジョブAと並列実行し、入出
力情報としてデータエリア107を使用することを指定
している。
【0028】ジョブBの非並列実行時パラメタ14は、
並列実行不可能時にジョブAが実行終了後に実行するた
め、初期値は実行抑止状態で、入出力情報としてデータ
ファイル3を使用することを指定している。
【0029】図4は、実行制御プログラム104の処理
のフローチャートである。以下、図1に示した実行環境
で図3のジョブパラメタを例にとって、ジョブAとジョ
ブBを実行する場合の実行制御プログラム104の動作
を説明する。
【0030】まず、実行制御プログラム104は、命令
実行プロセッサA102の元で動作する。命令実行プロ
セッサA102は、実行待ちジョブ1から非並列実行時
のパラメタに従い、実行可能なジョブAを取り出す(ス
テップ401)。
【0031】ジョブAに先行ジョブが存在するかをパラ
メタ12の情報により判断する(ステップ402)。ジ
ョブAの場合は先行ジョブが無いので何もしない。
【0032】非並列実行時のパラメタ12に示される後
続のジョブBの状態を実行抑止状態から実行可能状態に
変更し(ステップ404)、後続のジョブBからの実行
開始通知を待つ(ステップ405)。その結果、ジョブ
Bは、他の命令実行プロセッサで取り出し可能になる。
【0033】次に、実行制御プログラム104は、命令
実行プロセッサB103の元で動作する。実行制御プロ
グラム104は、命令実行プロセッサA102により実
行可能状態にされたジョブBを取り出す(ステップ40
1)。
【0034】ジョブBに先行ジョブが存在するかをパラ
メタ14の情報により判断する(ステップ402)。ジ
ョブAが先行ジョブなのでジョブAに対して実行開始通
知を行う(ステップ403)。
【0035】次に実行制御プログラム104は命令実行
プロセッサA102の元で動作する。
【0036】ジョブBからの実行開始通知が一定時間内
に届いたかを判断する(ステップ406)。
【0037】実行開始通知が届かなかった場合は、並列
実行不可能と判断してジョブBを実行抑止状態に戻す
(ステップ408)。この場合、命令実行プロセッサB
がジョブBを取り出し過程にあることを考慮して、命令
実行プロセッサBと同期をとって実行抑止状態に戻す。
次に非並列実行のパラメタ12にしたがってデータファ
イル3をデータ出力先として(ステップ409)、ジョ
ブAを実行する(ステップ410)。ジョブAの実行終
了後にジョブBも同様に実行する。
【0038】一方、ステップ406において実行開始通
知が届いた場合は、並列実行時のパラメタ11にしたが
って情報の入出力先にデータエリア107を割り当て
(ステップ407)、ジョブAを実行させる(ステップ
410)。
【0039】命令実行プロセッサBにおいては、ジョブ
Bに並列実行時のパラメタ13にしたがって情報の入出
力先にデータエリア107を割り当て(ステップ40
7)、ジョブBを実行させる(ステップ410)。
【0040】
【発明の効果】本発明により、時々刻々変化する計算機
の未使用資源に依存して、ジョブを並列実行できない場
合があっても、ジョブの実行を保証することができるよ
うなる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すシステム構成図であ
る。
【図2】ジョブ実行の流れを示す図である。
【図3】ジョブのパラメタの構成を示す図である。
【図4】実行制御プログラムの処理フローチャートであ
る。
【符号の説明】
1…実行待ちジョブ、 2…パラメタ、3…データファ
イル、101…中央処理装置、102、103…命令実
行プロセッサ、108…主記憶装置、 104…実行制
御プログラム、105、106…実行中ジョブ、
107…データエリア、110、111…磁気ディスク
装置、 120…ジョブ文。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のジョブを並列実行させる第1の制御
    手段と、複数のジョブを非並列で順次実行させる第2の
    制御手段との両手段を具備する計算機システムにおい
    て、 ジョブ実行開始時、並列実行可能な場合には前記第1の
    制御手段を選択し、並列実行不可能な場合、前記第2の
    制御手段を選択することを特徴とするジョブ並列実行制
    御方法。
JP14396796A 1996-06-06 1996-06-06 ジョブ並列実行制御方法 Pending JPH09325892A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14396796A JPH09325892A (ja) 1996-06-06 1996-06-06 ジョブ並列実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14396796A JPH09325892A (ja) 1996-06-06 1996-06-06 ジョブ並列実行制御方法

Publications (1)

Publication Number Publication Date
JPH09325892A true JPH09325892A (ja) 1997-12-16

Family

ID=15351229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14396796A Pending JPH09325892A (ja) 1996-06-06 1996-06-06 ジョブ並列実行制御方法

Country Status (1)

Country Link
JP (1) JPH09325892A (ja)

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JPH09325892A (ja) ジョブ並列実行制御方法
JP2002099435A (ja) マルチタスク制御方法および情報処理装置
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JPH05241890A (ja) データトレース方式
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JPH08314651A (ja) 印刷装置
JPH08272757A (ja) マルチプロセッサシステム及びプログラム起動方法
JPH02137054A (ja) 情報処理装置
JPH06236349A (ja) コマンドスクリプト解釈処理装置
JP2001134431A (ja) 関数の再入可能性判定方法
JPH04311225A (ja) マイクロプロセッサ命令実行方式
JPH11219362A (ja) データ処理装置及び方法、データベースシステム、記録媒体
JPS61208127A (ja) マイクロプログラム制御装置
JPH01185729A (ja) オーバレイ構造プログラム実行方式
JPH0378034A (ja) プログラム並行実行装置
JPH0581047A (ja) テストプログラム実行制御処理方式
JPH08115224A (ja) 画像処理装置
JPH05334098A (ja) 割込み制御方法及び割込み制御装置
JPH0740231B2 (ja) 非同期例外捕獲方式
JPS62219156A (ja) Tssセシヨンログ収集タスク生成/削除処理方式
JPH0594316A (ja) 情報処理装置
JPH05135117A (ja) 会話型システムのマンマシンインターフエース方式
JPH01200440A (ja) プログラムデバツグ方法
JPH09146778A (ja) マルチタスクオペレーティングシステムにおけるタイマ作成方法