JPH07175762A - 分散処理システムにおけるジョブスケジューリング方法 - Google Patents

分散処理システムにおけるジョブスケジューリング方法

Info

Publication number
JPH07175762A
JPH07175762A JP31772793A JP31772793A JPH07175762A JP H07175762 A JPH07175762 A JP H07175762A JP 31772793 A JP31772793 A JP 31772793A JP 31772793 A JP31772793 A JP 31772793A JP H07175762 A JPH07175762 A JP H07175762A
Authority
JP
Japan
Prior art keywords
job
machine
file
scheduling method
stored
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
JP31772793A
Other languages
English (en)
Inventor
Takao Maeda
多可雄 前田
Toshiaki Arai
利明 新井
Taro Inoue
太郎 井上
Masaaki Oya
雅章 大矢
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 JP31772793A priority Critical patent/JPH07175762A/ja
Publication of JPH07175762A publication Critical patent/JPH07175762A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】ジョブを実行するマシンを選択するときに、そ
のジョブを比較的高速に実行できるマシンの選択を実現
する。 【構成】ジョブとしては、一連の処理を記憶したファイ
ルまたはコマンドラインと、その処理を実行できるコン
ピュータ名と、そのジョブがアクセスするファイル名
と、そのジョブの起動条件を指定させる。各ジョブがア
クセスをしたファイルとそのジョブを実行したコンピュ
ータの対応を記憶する手段102を設ける。 【効果】ジョブの定義で指定したファイルが他のジョブ
等によりキャッシングされたマシンを選択できるため、
高速なジョブの実行が可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央処理装置と永続的
な記憶装置(いわゆる補助記憶装置)を含むような複数
のコンピュータシステムをネットワークに接続すること
によって構成した分散処理システムに関係し、特に、プ
ログラムを実行するコンピュータシステム上にそのプロ
グラムがアクセスをする永続的な記憶装置があるとは限
らないテム(ファイルサーバを含むシステム)における
プログラムとコンピュータのスケジューリング方法に関
係する。
【0002】
【従来の技術】従来のコンピュータシステムにおいて、
他のマシン上のプログラムを起動する方法としてはリモ
ートシェルrshがある。これはネットワーク上のマシン
名と、その上で実行するコマンドラインを指定し、指定
されたマシン上で指定されたコマンドを実行するための
仕掛けである。リモートシェルについては、例えば、W.
Richard Stevens”UNIXネットワークプログラミング”
トッパン1992.7.30発行の14.3節にその記述がある。
【0003】
【発明が解決しようとする課題】上記従来技術では、実
行しようとするコマンド全体が、単なる文字列として扱
われている。このため、複数のマシンで実行が可能であ
っても、どのマシンで行えば最も高速に実行できるかと
行った処理を考えることは不可能であった。また、CP
Uパワーに余裕があるときでも、実際の起動がなされる
までなにもすることはできなかった。
【0004】そこで、複数のマシンで実行が可能である
場合にどのマシンで行えば最も高速に実行できるかを選
択できるための情報をコマンドに付加すること、CPU
パワーに余裕があるときでも、実際の起動がなされるま
で、そのコマンドを高速に実行するための前処理を行う
ための情報をコマンドに付加することが課題である。
【0005】
【課題を解決するための手段】処理実行の単位をジョブ
と呼ぶ。ジョブとしては、一連の処理を記憶したファイ
ルまたはコマンドラインと、その処理を実行できるコン
ピュータ名と、そのジョブがアクセスするファイル名
と、そのジョブの起動条件を指定させる。起動条件とし
ては他のジョブの終了又は時刻の指定とする。
【0006】上記課題を解決するためにジョブ定義する
上記の情報を記憶する記憶手段を設ける。次に、各ジョ
ブがアクセスをしたファイルと、そのジョブを実行した
コンピュータの対応を記憶する手段を設ける。
【0007】
【作用】第1の課題を解決するために設けた手段は次の
ように動作させることにより上記目的を達成することが
出来る。即ち、上記手段に記憶したジョブを起動する場
合には実行するマシンを選択する際そのマシンとアクセ
スファイルのと組み合わせを表として記憶しておく。こ
の表に記憶されたマシン上においてジョブが実行され、
そのジョブがやはり表に記憶されたファイルをアクセス
する。これにより、ファイルの内容は一度はそのマシン
内のバッファキャッシュに蓄えられる。このため、マシ
ン、ファイルという組み合わせにおいて、記憶されたマ
シンに記憶されたファイルが存在する可能性が期待でき
る。そこで、ジョブ起動条件が成立した場合には、その
時点までに出来た表を見て、そのジョブが、アクセスフ
ァイルとして宣言をしたものが過去のジョブ起動時にア
クセスされる旨の宣言があるかどうかを調べ、宣言がな
されていればそのジョブを実行したマシン上でのジョブ
の実行を行うように対象になったマシンに指示をする。
【0008】また、第2の課題を解決するために、マシ
ンの選択の手順をジョブの起動条件成立前に行う。例え
ば、起動要求時刻がわかっていればその時刻から一定時
間前とか、nこの起動条件がある場合にはn−1この起
動条件成立時などに行う。この場合に対象になったマシ
ンへの指示には、まだ起動条件が成立していない旨が記
述されているとする。対象マシンでこの指示が到着する
と、ファイル等の資源の先読みを行い、起動条件の成立
を待つ。起動条件が成立をすると、マシンスケジュール
をしていたマシンからジョブ実行の対象となっているマ
シンへ起動条件が成立した旨の指示が送られ、対象とな
ったマシンではジョブの起動を行う。
【0009】
【実施例】第1の実施例を図1〜図11を参照して説明
する。
【0010】図1は本発明による分散システムを表わし
ている。ジョブのスケジューリング用コンピュータ10
0、ファイルサーバ120及びジョブ実行コンピュータ
(群)110がネットワーク130を介して互いに接続
されている。コンピュータ100の補助記憶装置103
にはジョブ情報を記述したJCB(ジョブコントロール
ブロック)が記憶されている。補助記憶装置102に
は、アクセスされたファイルと、アクセスを実行したコ
ンピュータとの関係を記憶したFMB(ファイル−マシ
ンブロック)が記憶されている。JCB、FMBの内容
については後述する。また、コンピュータ100にはデ
ィスプレイ装置104があり、ここからジョブスケジュ
ールマネジャ101に対しジョブの投入の指示がなされ
るとする。コンピュータ100のソフトウェアであるジ
ョブスケジュールマネジャは101は、ディスプレイ装
置104からのジョブ投入の受付、および他の実行マシ
ン110にあるソフトウェアであるジョブスケジュール
エージェント114と通信をしながら、ジョブの実行、
終了の管理を行う。コンピュータ120はファイルサー
バである。ファイルを記憶したディスク121をソフト
ウェア122が管理している。110は本システムにお
いて管理されるジョブを実行するコンピュータ(群)で
ある。コンピュータ(群)110には、ファイルサーバ
122と通信をするファイールサービスクライアント1
12と、ジョブスケジュールマネジャ101と通信をす
るジョブスケジュールエージェント114がある。ファ
イルサービスクライアント112は、自マシン内からの
ファイルサービス要求をうけて、必要ならファイルサー
バ122と通信し、ファイルを要求元に提供する機能を
有している。また、ファイルサービスクライアント11
2はバッファキャッシュ111を管理しており、キャッ
シュの一貫性制御は公知の技術により実現出来ていると
する。バッファキャッシュ111の管理においては、フ
ァイルの空読み機能を有しているとする。ファイルの空
読みとは、ファイルサーバ122からバッファキャッシ
ュ111への転送のみを行い、以後ファイルサービスク
ライアント112によって管理されるようにする機構で
ある。
【0011】ジョブの投入要求はディスプレイ装置10
4を介してコンピュータ110内のジョブスケジュール
マネジャ101に対して行われる。その際指定されるの
は、ジョブ実行時のコマンドライン、実行可能コンピュ
ータ名、アクセスをするファイル名、及びジョブを起動
するための条件の4つである。ジョブスケジュールマネ
ジャは、この情報から図2に示すようなJCB(ジョブ
コントロールブロック)200をジョブ毎に生成し、図
3に示すようなジョブ登録ブロック300に登録する。
ジョブ投入時には、ジョブの識別子としての番号を要求
元に返し、その番号によって以後ジョブを識別する。こ
の識別の番号とジョブ登録ブロックでの順番を同じにし
ておく。
【0012】次に、JCB200の各ポインタ(201
〜205)が指す領域について説明する。コマンドライ
ン領域211は登録要求時に指定されたコマンドライン
をそのまま格納しておく。マシン名領域212は指定さ
れた実行可能マシン名列を記憶しておくとする。この際
ワイルドカード指定等は登録時に展開しておく。例え
ば、実行可能マシンがkawasaki1、 kawasaki2、 kawasa
ki3の3マシンである場合に、kawasaki[1-3]とか、kawa
saki*といった指定が可能で、このような指定があった
ときは、登録処理の一環として、マシン名領域212
に、kawasaki1、kawasaki2、kawasaki3を格納する。後
述する処理実行のためにマシン名とカウンタの領域を組
にして記憶しておくものとする。カウンタは、そこのマ
シンにて対象となっているジョブを実行することの好ま
しさを表わす量となる。このカウンタの値が高いほど、
そのマシンのバッファキャッシュにこれから実行しよう
とするジョブがアクセスするファイルが入っている可能
性が高いことを意味している。図4にマシン名領域21
2の例を示す。この例では対象となっているジョブを実
行可能なのはk、awasaki1、 kawasaki2、 kawasaki3の
3マシンであり、kawasaki2の好ましさが3、kawasaki
1、 kawasaki3の好ましさが1となることを表わしてい
る。
【0013】アクセスファイル領域213には、ジョブ
登録要求時にアクセスを宣言したファイルの名前を記憶
しておく。起動条件管理領域214にはこのジョブが起
動するための条件を記述する。本実施例では、簡単のた
め、起動条件として対象となるジョブの起動前に終了し
ておくべきジョブを指定するものとする。即ち、起動条
件として指定されたジョブの全てが終了した後に対象と
なるジョブを起動させるものとする。起動条件領域21
4には、指定されたジョブとそれに対応するフラグを設
けておく。図5に起動条件領域214の例を示す。フラ
グの初期にはOFFで、そのジョブが終了したときには
ONとし、全てのフラグがONとなったときにジョブが
起動されるものとする。図5の例ではjobA、job
B、jobCの3つのジョブが起動条件とされる場合に
おいて、jobBのみが終了していることを示してい
る。終了事象通知先ジョブ管理領域215は、このジョ
ブを起動するための条件とするジョブを記憶しておく。
終了事象通知先ジョブ管理領域215は、他のジョブが
生成され、その生成されたジョブの起動のための条件と
して現在対象となっているジョブが指定されているとき
に、ここに生成されたジョブの識別子を記憶する。現在
対象となっているジョブの終了処理において、生成され
たジョブを知るために用いられる。
【0014】次に、FMBについて説明する。FMBは
ジョブによってアクセスされたファイルと、そのジョブ
を実行したマシンの名前の管理テーブルである。図6に
FMBの例を示す。図6は、fileAをアクセスすると、
アクセスファイル領域213で宣言したジョブが、kawa
saki2に於て実行されたことがあることを意味してい
る。
【0015】次に、ジョブスケジュールエージェント1
14、ジョブスケジュールマネジャ101の処理の流れ
を図7〜10により説明する。
【0016】図7はジョブスケジュールエージェント1
14の流れ図である。ジョブスケジュールエージェント
114に対する処理要求には、ジョブスケジュールマネ
ジャ101からのネットワーク経由で送られるジョブの
起動要求、及び、各ジョブからの終了通知の2種類があ
る。まず処理要求を受信し(ステップ701)、それが
終了要求か起動要求かを判定する(ステップ702)。
起動要求ならばその内容をキューイングし(ステップ7
03)、終了通知ならばその旨をマネジャ101へ通知
をする(ステップ704)。その後、キューサーチをし
(ステップ705)、割り込み箇所(ジョブ)へジャン
プして処理を終える(ステップ706)。
【0017】図8はジョブスケジュールマネジャ101
の流れ図である。ジョブスケジュールマネジャ101の
処理では、まず、ジョブスケジュールエージェント11
4からのネットワーク経由で送られるジョブの終了通
知、及び、表示装置104を介して行われるジョブの投
入(登録)要求等の処理要求を受信する(ステップ80
1)。次に、受信した処理要求がジョブの終了通知であ
るか、ジョブの登録要求であるか調べ(ステップ80
2)、ジョブの登録要求であれば、JCBを生成し、そ
のアドレスをジョブ登録テーブルに登録する(ステップ
803)。そして、ジョブ起動条件で指定されたジョブ
の終了事象通知先ジョブの管理領域215に、今回登録
されたジョブの識別子を記憶する(ステップ804)。
一方、終了通知の場合には、通常の終了処理を行ない
(ステップ805)、そのジョブのJCBが指す終了事
象通知先ジョブの管理領域215を読み、そこに記憶し
てある各ジョブ毎にジョブの起動条件チェック(図9)
をコールする(ステップ807)。
【0018】ジョブ起動条件のチェックの処理の流れを
図9により説明する。指定されたジョブのJCBが指す
起動条件管理領域214には、そのジョブが起動するた
めに終了しておくジョブが記憶されており、そこに今回
終了したジョブの識別子があるので(登録時の処理参
照)、それに対応する状態フラグをONにする(ステッ
プ901)。その後、指定ジョブの実行ができるか否か
判定する(ステップ902)。指定されたジョブが起動
できるか否かは、起動条件管理領域214に記憶されて
いる各ジョブに対する状態フラグが全てONになってい
るか否かにより判定することができる。この判定の後、
起動が不可能の場合には呼び出し箇所へ戻る。起動可能
の場合には実行マシンをアクセスファイル領域213の
中から選択する(ステップ903)。この選択の手順に
ついては後述する。実行するマシンの選択ができると、
FMB600を更新する(ステップ904)。ここで
は、アクセスファイルの中に、これから実行するジョブ
がアクセスファイル領域213でアクセスを宣言したフ
ァイルがあれば、それに対応するマシン名を今回選択を
したマシン名で更新する。アクセスを宣言したファイル
がなければ新しい領域をFMB600に追加する。最後
に、選択されたマシンのジョブスケジュールエージェン
ト114に対し、ジョブの起動を要求して、リターンす
る(ステップ905)。
【0019】次に、マシンの選択方法について図10に
より説明する。JCBが指すアクセスファイル領域21
3を読み(ステップ1001)、アクセスファイル領域
213からファイルを求める(ステップ1002)。次
に、ステップ1002で求めたファイルが、FMB60
0に登録されているか調べる(ステップ1003)。登
録されていなければ、そのままステップ1007に進
む。ファイルがFMB600にあれば、対応して登録さ
れているマシンを求める(ステップ1004)。続い
て、求められたマシンが実行可能マシンか否か判定し
(ステップ1005)、求めたマシンが実行可能マシン
でない場合にはステップ1007に進む。求めたマシン
が実行可能マシンの場合には、マシン名領域212のそ
のマシンに対応するカウンタをインクリメントする(ス
テップ1006)。ステップ1007では、アクセスフ
ァイル領域213に登録されている各ファイルについて
以上の処理を行なったか調べ(ステップ1008)、残
りのファイルがあれば、次のファイルを求め(ステップ
1008)、ステップ1003以降の処理を繰り返す。
全てのファイルについてステップ1003以降の処理を
行なっていれば、マシン名領域212を参照して、カウ
ンタ値が最大となっているマシン名を求め、それをリタ
ーン値としてリターンする。
【0020】このカウンタの値が先に述べた好ましさの
量である。この値が高いということはそのマシンのバッ
ファキャッシュにこれから実行しようとするジョブがア
クセスするファイルが入っている可能性が高いことを意
味している。
【0021】以上の処理を各ファイルについて行い、そ
の後、図4のカウンタの中の最大のカウンタ値となった
マシン名を求め、そのマシンをリターン値として返す。
【0022】次に、具体例に即してこれまで述べた処理
の流れを説明する。図11に、JCBの具体例を示す。
以下に説明する例では、ジョブAがファイルAを生成
し、それを入力としてジョブBが動作するものとする。
また、全体のマシンとしてはkawasaki1、kawasaki2、ka
wasaki3、yokohama1、yokohama2の5台があるとする。
【0023】ジョブAは既に生成され、kawasaki1マシ
ン上で“collect fileA”というコマンドを実行してい
るとする。またジョブAのアクセスファイルとして“fi
le A”が指定され、ジョブAの起動処理時には、FMB
600は図6に示す状態であるとする。以下、ジョブB
の登録以降について記述する。ジョブBの登録時のパラ
メータとして次ぎのものを考える。
【0024】コマンドライン:sort fileA fileB 実行マシン:kawasaki* アクセスファイル:fileA 起動条件:jobA これらをパラメータとしてジョブBを登録すると、図8
のステップ803,804が実行され、ジョブBのJC
Bは図11に示す状態になる。またジョブAの終了事象
通知先ジョブの領域215にジョブBの識別子が記憶さ
れる(図11のジョブAのJCB参照)。このジョブA
が終了すると、実行しているkawaski1マシンにおいてジ
ョブスケジュールエージェント114に対し終了の通知
がなされる。そこで、図7のステップ704,705,
706が実行されて、ジョブスケジュールマネジャ10
1へ終了通知がなされ、次に実行をするジョブを探し、
そこへジャンプする。ジョブスケジュールマネジャ10
1は終了通知をうけると、図8のステップ805以降の
処理を行う。通常の意味の終了処理終了後、ジョブAの
JCBが指す終了事象通知先ジョブ管理領域215を読
む。そこにはジョブBが記されており、ジョブBについ
てジョブ起動条件チェック処理(図9)をコールする。
ジョブBのJCBが指す起動条件管理領域214にはジ
ョブAが記憶されており、それをONにする。ジョブB
の起動条件はジョブAだけであり、実行マシンを選択す
る。また、FMB600には(fileA、kawasaki1)だけ
があるので、図10の処理により、kawasaki1が選ば
れ、ジョブスケジュールエージェント114へコマンド
“sort fileA fileB”が送られる。
【0025】以上、本実施例によればジョブBの実行可
能なマシンkawasaki1、kawasaki2、kawasaki3の中か
ら、ジョブBの実行で必要となるファイルAをキャッシ
ングしているであろうkawasaki1を選択できる。
【0026】第2の実施例を図12から図15を用いて
説明する。本実施例では、第1の実施例と同様にジョブ
を定義するが、ジョブを実行するマシンを選択するタイ
ミング、及び、ジョブスケジューリングマネジャと、ジ
ョブスケジュールエージェントの間の通信の回数が第1
の実施例とは相異なる。
【0027】本実施例においても、システム構成は第1
の実施例と同じであり、第1の実施例と同じ方法でジョ
ブを定義し、実行を依頼する。また、これに対するジョ
ブスケジュールマネジャの処理も第1の実施例と同様で
ある。ただし、本実施例では、JCBの構成が第1の実
施例とは異なっている。本実施例のJCBでは、図12
に示すように、第1の実施例で用いたJCBに比べ、実
行マシン領域1206が追加されている。また、ジョブ
の終了通知をジョブスケジュールマネジャが処理する場
合の処理は、図8の流れに従うが、ステップ807でコ
ールされるジョブ起動条件チェック処理が異なている。
【0028】本実施例におけるジョブ起動条件チェック
の流れ図を図13に示す。図13において、図9に用い
たと同一の参照符号が付されたステップでは、図9にお
いて対応する処理と同様の処理が行なわれる。本実施例
では、起動条件管理領域214のフラグをONにした
後、対象となっているマシンが待っているジョブが2以
上、1、または0のいずれかを判定する(ステップ13
01,1302)。待っているジョブが2以上の場合に
は何もせずにリターンし、待っているジョブが1になる
と実行マシンの選択を行い(ステップ903)、その結
果をJCBの実行マシン名領域1200に記憶する(ス
テップ1303)。その後、FMB600を更新して
(ステップ904)、選択されたマシンに対し、アクセ
スファイル領域213に記憶してあるアクセスファイル
名称をパラメータとして、プレロード要求を発行する
(ステップ1304)。ステップ1302の判定におい
て、待っているジョブが0の場合には、実行マシンの選
択があった否か(JCBの実行マシン名領域1200に
マシン名が登録されているか否か)を判定し(ステップ
1304)、選択されていなければ、実行マシンを選択
して(ステップ903)、実行マシンに対してジョブの
実行を要求する(ステップ905)。なお、ステップ9
03で実行される実行マシンの選択は、第1の実施例と
同様に、図10に示す流れ図に従って実行される。
【0029】次に、本実施例におけるスケジュールエー
ジェント114の処理の流れを図14に示す。スケジュ
ールエージェント114は、まず、処理要求を受信し、
その処理要求の内容を解析する(ステップ1401)。
本実施例での処理要求としては、通常の終了処理、プレ
ロード要求処理、ジョブ起動処理の3種類がある。ステ
ップ1402において、受信した処理要求が終了処理か
否か判定し、終了要求の場合には、ステップ704〜7
06で、通常の終了処理を行なった後、キューをサーチ
して次ぎのジョブを探し、そのジョブへジャンプする。
ステップ1402の判定の結果、要求された処理が終了
処理でない場合には、その要求がプレロード要求か否か
判定する(ステップ1403)。プレロード要求の場合
には、対象となるファイルをファイルサーバ120から
読込み、バッファキャッシュ111に蓄えるようにキャ
ッシュサービスのクライアント処理112に要求を発行
する(ステップ1404)。次に、受信した処理要求
が、起動要求か否か判定し(ステップ1405)、起動
要求であれば、その旨をキューイングしてステップ70
5に進む。
【0030】次に、具体例に即して第2の実施例の処理
の流れを説明する(図15参照)。この例ではジョブE
は、ジョブC、ジョブDの終了後に起動するものとす
る。また、ジョブCはファイルCを入力とし、ジョブD
はファイルDを入力とする。マシンとしてはkawasaki
1,kawasaki2,kawasaki3,yokohama1,yokohama2の5
台があるとする。
【0031】ジョブC、ジョブDは既に生成されてい
て、kawasaki1,kawasaki2マシン上で“sql fileC”、
“sql fileD”というコマンドを実行しており、ジョブ
Cのアクセスファイルとして“file C”、ジョブDのア
クセスファイルとして“file D”が指定されているとす
る。以下、ジョブEの登録以降について記述する。ジョ
ブBの登録時のパラメータとして次ぎのものを考える。
【0032】コマンドライン:print fileE 実行マシン:kawasaki* アクセスファイル:fileE 起動条件:jobC,jobD これらをパラメータとしてジョブEを登録すると、図8
のステップ803,804が実行され、ジョブEのJC
Bは図15に示すようになる。また,ジョブC,Dの終
了事象通知先ジョブ領域215にジョブEの識別子が記
憶され、ジョブC,DのJCBが図15に示すようにな
る。ジョブCが終了し、その後にジョブDが終了するも
のとして、まず、ジョブCが終了すると、ジョブCを実
行しているkawaski1マシン上のジョブスケジュールエー
ジェント114に対し終了の通知がなされる。これによ
り、ジョブスケジュールエージェント114は、ジョブ
スケジュールマネジャ101へ終了通知を発行し、次に
実行するジョブを探してそこへジャンプする(図7参
照)。ジョブスケジュールマネジャ101は終了通知を
うけると、通常の意味の終了処理を実行し、その後、ジ
ョブAのJCBが指す終了事象通知ジョブ管理領域21
5を読む。終了事象通知ジョブ管理領域215にはジョ
ブEが記されており、ジョブEについてジョブ起動条件
チェックをコールする(図8参照)。ジョブEのJCB
が指す起動条件領域214には、ジョブC、ジョブDが
記憶されており、ジョブCに対応するフラグをONにす
る。ジョブEの起動条件はジョブC,Dであり、後はジ
ョブDを待つだけである。このため、ジョブ起動条件チ
ェック処理では実行マシンの選択及びそのマシンへのプ
レロード要求を行うことになる(図13参照)。この際
選択された実行マシンをジョブEのJCBに記憶する。
【0033】さらに、ジョブDが終了するとジョブCの
場合と同様に、ジョブDを実行しているkawaski2マシン
上のジョブスケジュールエージェント114に対し終了
の通知がなされる。これにより、ジョブスケジュールエ
ージェント114は、ジョブスケジュールマネジャ10
1へ終了通知を発行し、次に実行をするジョブを探して
そこへジャンプする。ジョブスケジュールマネジャ10
1は終了通知をうけると、通常の意味の終了処理を実行
し、ジョブAのJCBが指す終了事象通知ジョブ管理領
域215を読む。終了事象通知ジョブ管理領域215に
はジョブEが記されており、ジョブEについてジョブ起
動条件チェックをコールする。ジョブEのJCBが指す
起動条件領域214には、ジョブC、ジョブDが記憶さ
れており、ジョブDに対応するフラグをONにする。こ
れにより、ジョブEの起動条件が成立し、JCBに記憶
した実行マシンのジョブスケジュールエージェント11
4へコマンド“print fileE”が送られる。
【0034】以上説明したように、本実施例によればジ
ョブEの起動開始以前にプレロード処理でが起動される
ため、実際にジョブEが動作を開始する際のバッファキ
ャッシュのミス率は低くなる。
【0035】また、以上説明した第2の実施例の変形と
して、コンピュータ100内にタイマを設け、ジョブの
定義として起動する時刻が指定されている場合を考え
る。この場合、ジョブスケジュールマネジャ101は、
アクセスファイルのプレロードに要する時間をファイル
サイズ転送性能から求める。起動予定時刻と、その時刻
からプレロードに要する時間を差し引いた時刻の2つの
時刻をタイマに設定し(タイマ割り込みの予約)、最初
のタイマ割り込み発生時にジョブスケジュールエージェ
ントへプレロード要求し、2回目の割り込みの時にジョ
ブの起動を指示するようにする。このようにすること
で、実行マシンとして選択されたマシンのCPUパワー
に余裕があれば、ジョブ起動前までにバッファキャッシ
ュへのアクセスが完了するため、キャッシュのミスをな
くすことが可能になる。
【0036】
【発明の効果】以上説明したように、本発明によれば、
ジョブを起動する際、複数のマシンでそのジョブの実行
が可能である場合に、そのジョブがアクセスをする資源
をキャッシングしているマシンを選択できるようにな
る。また、ジョブを起動する前に資源を実行するマシン
に転送することができ、これによりCPUに余裕がある
場合には必要なファイルをキャッシングすることがで
き、対象となったジョブを高速に実行できるようにな
る。
【図面の簡単な説明】
【図1】分散処理システムの構成図。
【図2】ジョブコントロールブロックの構造図。
【図3】ジョブ登録ブロックの構造図。
【図4】マシン名領域の構造図。
【図5】起動条件管理領域の構造図。
【図6】ファイルマシンブロックの構造図。
【図7】ジョブスケジュールエージェントが実行する処
理の流れ図。
【図8】ジョブスケジュールマネジャが実行する処理の
流れ図。
【図9】起動チェック処理の流れ図。
【図10】実行マシン撰択処理の流れ図。
【図11】JCBの具体例を示す構造図。
【図12】第2の実施例におけるジョブコントロールブ
ロックの構造図。
【図13】第2の実施例におけるジョブ起動条件チェッ
ク処理の流れ図。
【図14】第2の実施れにおいてジョブスケジュールエ
ージェントが実行する処理の流れ図。
【図15】JCBの具体例を示す構造図。
【符号の説明】
100:ジョブのスケジューリングマシン、101:ジ
ョブのスケジューリングをするマネジャプログラム、1
02、103:補助記憶装置、110:ジョブを実行す
るマシン(群)、114:ジョブのスケジューリングを
するエージェントプログラム、120:ファイルサー
バ、200:ジョブコントロールブロック、600:フ
ァイルマシンブロック。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大矢 雅章 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ファイルサーバと、複数のコンピュータを
    含む分散処理システムにおいて、一連の処理手順、上記
    手順を実行する環境、上記手順が使用する資源、及び上
    記手順を起動する条件とを含むジョブ情報をジョブ毎に
    記憶する第1の手段と、上記分散処理システムの構成を
    記憶する第2の手段とを備え、ジョブの実行環境決定毎
    に、決定した環境と上記第1の記憶手段に記憶した使用
    する資源の組み合わせを上記第2の手段に記憶するステ
    ップと、上記第1の記憶手段に記憶したジョブの起動条
    件成立時に、上記第1の記憶手段に記憶した実行環境の
    中から実行環境を選択するステップと、上記選択ステッ
    プにおいて上記第2の記憶手段に記憶した環境と資源の
    組み合わせと、上記第1の記憶手段に記憶してある資源
    との照合をするステップとを有することを特徴とするジ
    ョブスケジューリング方法。
  2. 【請求項2】請求項1記載のジョブスケジューリング方
    法において、実行環境を選択するステップを上記第1の
    記憶手段に記憶したジョブの起動条件成立以前に行な
    い、対象となるジョブが使用する資源を、選択された実
    行環境に対し通知するステップと、通知された実行環境
    に於て、通知された資源の準備を行なうステップとを有
    することを特徴とするジョブスケジューリング方法。
  3. 【請求項3】請求項1または請求項2記載のジョブスケ
    ジューリング方法において、指定する環境として単数又
    は複数の実行可能なコンピュータを指定することを特徴
    とするジョブスケジューリング方法。
  4. 【請求項4】請求項1または請求項2記載のジョブスケ
    ジューリング方法において、指定する資源として、ファ
    イルサーバが提供するファイルの名前を指定することを
    特徴とするジョブスケジューリング方法。
  5. 【請求項5】請求項1または請求項2記載のジョブスケ
    ジューリング方法において、指定する起動条件として、
    複数又は単数のジョブの終了を指定することを特徴とす
    るジョブスケジューリング方法。
  6. 【請求項6】請求項1または請求項2記載のジョブスケ
    ジューリング方法において、指定する起動条件として、
    起動する時刻又を指定することを特徴とするジョブスケ
    ジューリング方法。
JP31772793A 1993-12-17 1993-12-17 分散処理システムにおけるジョブスケジューリング方法 Pending JPH07175762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31772793A JPH07175762A (ja) 1993-12-17 1993-12-17 分散処理システムにおけるジョブスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31772793A JPH07175762A (ja) 1993-12-17 1993-12-17 分散処理システムにおけるジョブスケジューリング方法

Publications (1)

Publication Number Publication Date
JPH07175762A true JPH07175762A (ja) 1995-07-14

Family

ID=18091368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31772793A Pending JPH07175762A (ja) 1993-12-17 1993-12-17 分散処理システムにおけるジョブスケジューリング方法

Country Status (1)

Country Link
JP (1) JPH07175762A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265359A (ja) * 1998-03-17 1999-09-28 Fujitsu Ltd 分散処理システム及び分散処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265359A (ja) * 1998-03-17 1999-09-28 Fujitsu Ltd 分散処理システム及び分散処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
US9959313B2 (en) Database management system and method capable of dynamically issuing inputs/outputs and executing operations in parallel
US7051330B1 (en) Generic application server and method of operation therefor
US5574903A (en) Method and apparatus for handling request regarding information stored in a file system
JP3980675B2 (ja) ネットワーク独立型ファイル・シャドウイング
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US6189007B1 (en) Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
US6862595B1 (en) Method and apparatus for implementing a shared message queue using a list structure
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
JPH1074159A (ja) 計算機システムの制御方法
US6973650B1 (en) Method of pipelined processing of program data
EP0747813A2 (en) Customer information control system and method with temporary storage queuing functions in a loosely coupled parallel processing environment
US5355488A (en) Method for adaptively building a library of program threads
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
EP1031083B1 (en) Apparatus and method of accessing random access memory
EP0043391A1 (en) Virtual memory terminal
JPH07175762A (ja) 分散処理システムにおけるジョブスケジューリング方法
JP3110185B2 (ja) 計算機システム
JP2001282551A (ja) ジョブ処理装置および方法
JP2001005614A (ja) ディスク装置およびサーバ装置
CN111026564A (zh) 命名服务的处理方法和系统
JP2999516B2 (ja) 端末装置のための文字出力制御方法および装置
CN111949687B (zh) 基于共享内存和多进程的分布式数据库架构及其实现方法
EP3923136A1 (en) Hardware-accelerated computing system
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP3209560B2 (ja) マイクロプロセッサ・システムの割込管理方法