JPH09114684A - ジョブ振り分け方法 - Google Patents

ジョブ振り分け方法

Info

Publication number
JPH09114684A
JPH09114684A JP26677895A JP26677895A JPH09114684A JP H09114684 A JPH09114684 A JP H09114684A JP 26677895 A JP26677895 A JP 26677895A JP 26677895 A JP26677895 A JP 26677895A JP H09114684 A JPH09114684 A JP H09114684A
Authority
JP
Japan
Prior art keywords
job
computer
load
jobs
executed
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
JP26677895A
Other languages
English (en)
Inventor
Masahiro Kiyoi
雅広 清井
Takayasu Yamakawa
隆康 山川
Toshiyuki Kinoshita
俊之 木下
Masayuki Inoue
政幸 井上
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 JP26677895A priority Critical patent/JPH09114684A/ja
Publication of JPH09114684A publication Critical patent/JPH09114684A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 ジョブ間の連携を考慮したジョブの振り分け
を行い、クラスタ型計算機システムにおける効果的な負
荷分散を実現する。 【解決手段】 ジョブ振り分け制御部は、ジョブ情報格
納ファイルから新規に実行するジョブの情報を取得し、
当該ジョブがジョブ間連携機能を指定している場合、更
に負荷記録テーブルより各計算機の負荷の値を取得し、
チェックテーブルよりジョブ間連携機能を実行中のジョ
ブの情報を取得し、しきい値テーブルよりあらかじめ定
められたしきい値を取得し、これらの情報を元にジョブ
実行部22もしくは32のいずれか一方に対し当該ジョ
ブの実行を依頼する。依頼を受けたジョブ実行部22も
しくは32は、ジョブ情報格納ファイルから当該ジョブ
の情報を取得し、自計算機内で実行する。負荷情報取得
部21および31は、一定間隔ごとに自計算機の負荷情
報を負荷記録テーブルに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一つ以上の計算機
が制御計算機もしくは共用記憶装置に接続され、全体と
して一つの計算機として処理を行うクラスタ型計算機シ
ステムにおける、ジョブを実行する計算機を決定する方
法に関する。
【0002】
【従来の技術】従来のLCMP(疎結合計算機システ
ム)では、利用者から実行要求のあったジョブを、シス
テムを構成するいずれかの計算機に振り分けて実行す
る。その際、ジョブを実行する計算機を決定する方法と
しては、負荷分散方法を用いる場合が一般的である。従
来の負荷分散方法では、各CPU(中央演算処理装置)
の利用状況を監視し、負荷の最も小さい計算機で新規の
ジョブを実行させる。ただし、利用者がジョブをどの計
算機で実行するか、あらかじめ指定できることもあり、
この場合には負荷に関係なく指定された計算機でジョブ
が実行される。
【0003】また近年、大型計算機の分野で、クラスタ
型計算機システムと呼ばれる技術が注目されている。ク
ラスタ型計算機システムとは、複数の計算機が制御計算
機もしくは共用記憶装置に接続され、これを介して計算
機間のデータ共用、データ排他制御などを行い、全体と
してあたかも単一の計算機のように処理を実行するシス
テムである。クラスタ型計算機システムにおいても、ジ
ョブ実行の振り分け方法としては、上で示した負荷分散
方法が用いられることが一般的である。
【0004】一方、ジョブ間でデータを受け渡す必要が
あるとき、処理を高速化する機能のひとつに、ジョブ間
データ転送パイプパイン機能(または単にパイプライン
機能)と呼ばれる機能がある。ジョブ間でデータを受け
渡す必要がある場合、従来は先のジョブがデータを生成
し、ファイルとして外部記憶装置に格納し、全データの
生成が終了した時点で次のジョブがデータの読み込みを
開始する方法が一般的に利用されていた。これに対し前
述のパイプライン機能は、ファイルの構成要素であるレ
コード単位でのジョブ間受け渡しを保証し、これによっ
てデータを要求しているジョブの処理開始が、全データ
生成まで待たされることを防止する。すなわち、受け渡
し処理を行うジョブを平行に実行でき、受け渡し処理全
体の処理時間を短縮する。また、データは外部記憶装置
ではなく、主記憶上に用意したバッファ領域を介して転
送する。容量の少ない主記憶を有効に利用するため、受
け渡しの完了したデータは順次バッファ領域から消去
し、その領域は新しいデータの格納に再利用する。よっ
て、本機能はデータの書き込み順序と読み込み順序が一
致していることが適用の条件となるが、外部記憶装置へ
の入出力処理と比べて高速な主記憶上でのデータ転送を
利用することにより、処理時間の短縮を図る。
【0005】
【発明が解決しようとする課題】複数計算機から成るク
ラスタ型計算機システムを単一計算機と同じように運用
するためには、従来は単一の計算機上でのみ実現可能で
あった機能を、複数計算機上でも実現させる必要があ
る。そうした機能のひとつに、前述のジョブ間データ転
送パイプライン機能に代表される複数ジョブ間の連携機
能がある。パイプライン機能では、ジョブ間でファイル
を受け渡すために、主記憶上に用意したバッファ領域を
利用する。しかし、LCMPやクラスタ型計算機システ
ムにおいては、各計算機が主記憶を共有しておらず、そ
のため異なる計算機上で実行されるジョブ間では、本方
法をそのまま適用することが不可能である。更に、パイ
プライン機能ではレコード単位でのデータ受け渡しを保
証するために、適用するジョブ間での待ち合わせを必要
とする。しかし、ジョブの待ち合わせを実現するために
利用する命令(ジョブ実行待ち命令や待ち解除命令)
は、同一計算機上で実行されているジョブに対してのみ
有効である。
【0006】そこで従来のLCMPでは、上で示したよ
うな同一計算機上のジョブ間でのみ適用可能な機能は、
負荷分散の結果として別計算機に振り分けられたジョブ
間では適用不可能とされた。この状況を防ぐためには、
連携を必要とするジョブ群を、あらかじめ同一の計算機
上で実行するよう指定しておく方法が採られる。
【0007】一方、クラスタ型計算機システムは、1シ
ステムイメージ(あたかも単一の計算機と同様の機能を
果たす使用形態)での運用が前提とされる。そのため、
ジョブ実行の計算機をあらかじめ指定しなくても、単一
計算機と同様の機能を実現しなければならない。よって
クラスタ型計算機システムにおいては、同一計算機上の
ジョブ間に適用するデータ転送パイプライン機能の実現
方法の他、別計算機上のジョブ間データ転送パイプライ
ン機能を実現する方法を用意する必要がある。
【0008】別計算機上のジョブ間データ転送パインラ
イン機能を実現するためには、主記憶上にバッファ領域
を用意するだけではなく、各計算機間の連絡手段を利用
しなければならない。例えば、それぞれの計算機に接続
されている制御計算機、または共用磁気ディスク装置を
経由してデータを受け渡す。この場合、主記憶上のデー
タ転送だけで実現できる同一計算機内のジョブ間データ
転送パイプライン機能と比較して、処理性能は劣化す
る。また、同一計算機内のジョブ間データ転送パイプラ
イン機能と比べ、CPUなどの資源も多く使用し、負荷
が増大する。
【0009】このように、複数計算機から構成されなが
らも1システムイメージでの運用が要求されるクラスタ
型計算機システムでは、複数のジョブ間での連携機能を
実現する際、適用対象となるジョブ群が同一の計算機上
で実行されるか、別の計算機上で実行されるかにより性
能が異なる場合がある。従来と同じ基準で負荷分散を目
的にしたジョブ振り分けを適用したとき、別計算機上の
ジョブ間の連携処理が多発することも考えられ、これに
よりシステム性能を悪化させる。よって、ジョブ間の連
携を考慮し、別計算機上のジョブ間連携を必要最小限に
抑えたジョブの振り分け方法が必要とされている。
【0010】
【課題を解決するための手段】前記課題を解決するため
の代表的な手段は、次のとおりである。本発明のクラス
タ型計算機システム上でのジョブ振り分け方法は、各計
算機間でのデータの共用、データの排他制御などをつか
さどる制御計算機のCPU(中央演算処理装置)内に、
ジョブを実行する計算機を決定するジョブ振り分け制御
部を有し、また、同制御計算機の主記憶内に、各計算機
の最新の負荷状況を記録する負荷記録テーブルと、他の
ジョブとの連携を必要とする機能を実行中のジョブの実
行状況を記録するチェックテーブルと、ジョブの実行を
各計算機に振り分ける基準となるしきい値を格納したし
きい値テーブルとを有する。
【0011】各計算機内の負荷情報取得部は、制御計算
機内の負荷記録テーブルに、自計算機の負荷状況を一定
間隔ごとに記録するステップを有する。前記ジョブ振り
分け制御部は、当該負荷記録テーブルを参照することに
より、各計算機の負荷状況を取得するステップを有す
る。
【0012】外部記憶装置内のジョブ情報格納ファイル
は、ジョブ間データ転送パイプライン機能など、複数の
ジョブ間で連携を必要する機能の指定の有無を示す情報
を有する。前記ジョブ振り分け制御部は、当該指定の有
無を取得するステップを有する。
【0013】前記ジョブ振り分け制御部は、新規ジョブ
がジョブ間の連携機能を実行するとの情報を取得した場
合、更に制御計算機内のチェックテーブルを参照し、ジ
ョブ間連携機能を実行中のジョブが、既にいずれかの計
算機上に存在するか否かを判定するステップを有する。
該当するジョブが存在しない場合には、先に取得した各
計算機の負荷状況を元に、負荷が最小の計算機に対して
新規ジョブの投入を依頼するステップと、当該ジョブの
情報および当該ジョブの実行を依頼した計算機の計算機
名称を記録したチェックテーブルを作成するステップと
を有する。
【0014】また、既にジョブ間連携機能を実行中のジ
ョブが存在する場合には、前記しきい値テーブルを参照
し、ジョブの振り分け基準となるしきい値を取得するス
テップと、当該しきい値を用いて、新規ジョブの実行計
算機を決定するステップと、ジョブ実行先に決定された
計算機に対し新規ジョブの投入を依頼するステップと、
当該ジョブの情報を記録したチェックテーブルを作成す
るか、もしくは当該ジョブの相手先ジョブの情報を記録
したチェックテーブルを消去するステップとを有する。
【0015】複数のジョブ間での連携を必要とする機能
が存在する場合で、特に当該機能が、同一計算機上での
ジョブ間と比べ別計算機上でのジョブ間に適用すると性
能が悪化する特徴を持つとき、以下の特徴を持つように
ジョブ実行の計算機を決定する。すなわち、利用者があ
らかじめジョブを実行する計算機を指定しなくとも、計
算機の負荷が一定の基準を満たす範囲で、連携を必要と
するジョブ群を同一計算機上で実行し、また、他にジョ
ブ間での連携を行うジョブが存在する場合には、それと
は別の計算機上で新たなるジョブ間連携処理を実行す
る。その結果、単純に負荷最小の計算機に新規ジョブを
振り分ける方法と比べ、計算機間をまたがったジョブ間
の連携処理が減少し、効果的な負荷分散が可能となる。
【0016】
【発明の実施の形態】以下、本発明の実施例を図を用い
て詳細に説明する。図1は、本発明の原理図である。図
1で、1は制御計算機である。制御計算機1は、クラス
タ型計算機システムに属する各計算機に接続され、シス
テム間にまたがるデータの共用や排他制御などシステム
全体をつかさどる処理を行う。2、3は、それぞれクラ
スタ型計算機システムシステムに属する第1の計算機、
第2の計算機である。利用者から実行を要求されたジョ
ブは、制御計算機1を介して、第1の計算機2もしくは
第2の計算機3にて実行される。4は外部記憶装置であ
り、計算機と外部記憶装置とを結ぶ接線5によって、制
御計算機1および第1の計算機2、第2の計算機3と接
続されている。また、制御計算機1は、制御計算機と計
算機とを結ぶ接線6によって、第1の計算機2および第
2の計算機3とそれぞれ接続されている。
【0017】11は、制御計算機1に設けられたジョブ
振り分け制御部であり、利用者から実行要求されたジョ
ブを、いずれかのジョブに振り分ける役割を持つ。12
は負荷記録テーブルであり、計算機1内の負荷情報取得
部21および計算機2内の負荷情報取得部31により、
一定間隔ごとにそれぞれの計算機の負荷状況が記録され
る。13はチェックテーブルであり、前記ジョブ振り分
け制御部11により、ジョブ間の連携を必要とする機能
を利用するジョブの実行状況が記録される。
【0018】21および31は、それぞれ第1の計算機
2、第2の計算機3の負荷情報取得部である。前記した
ように、負荷情報取得部21及び1は、負荷記録テーブ
ル12に、それぞれの計算機の一定間隔ごとの負荷状況
を記録する。22および32は、それぞれ第1の計算機
2、第2の計算機3のジョブ実行部である。ジョブ実行
部22および32は、前記したジョブ振り分け制御部1
1からのジョブ実行依頼を受け取り、該当するジョブの
情報を外部記憶装置4内のジョブ情報格納ファイル41
から取得し、それぞれ自計算機内で実行する。
【0019】図2は、図1で示した計算機システムにお
ける、各計算機でのジョブ実行例である。図2におい
て、23および33は、それぞれ第1の計算機2、第2
の計算機3の同一計算機上ジョブ間データ転送パイプラ
イン機能実行部である。同一計算機上ジョブ間データ転
送パイプライン機能実行部23および33は、自計算機
内で実行中のジョブ間で、パイプライン機能を利用した
連携を行う際、ジョブ間データ受け渡し処理の制御を行
う部分である。また、24および34は、それぞれ第1
の計算機2、第2の計算機3の別計算機上ジョブ間デー
タ転送パイプライン機能実行部である。別計算機上ジョ
ブ間データ転送パイプライン機能実行部24および34
は、自計算機内で実行中のジョブと他計算機内で実行中
のジョブとの間で、パイプライン機能を利用した連携を
行う際、該当する計算機内の別計算機上ジョブ間データ
転送パイプライン機能実行部と連携を取りながら、ジョ
ブ間のデータ受け渡し処理の制御を行う部分である。
【0020】25、26、27、35、36、37は、
それぞれ第1の計算機2もしくは第2の計算機3で実行
中のジョブであり、いずれもパイプライン機能によるジ
ョブ間の連携を行っている。ここで、第1のジョブ25
と第2のジョブ26、第3のジョブ35と第4のジョブ
36、第5のジョブ27と第6のジョブ37が、それぞ
れパイプライン機能により連携を取っている。第1のジ
ョブ25と第2のジョブ26は、いずれも第1の計算機
2上で実行されている。よって、両ジョブ間のデータ受
け渡しに際しては、第1の計算機2内の同一計算機上ジ
ョブ間データ転送パイプライン機能実行部23に対して
実行を依頼する。同様に、第3のジョブ35と第4のジ
ョブ36も同じ計算機上で実行されており、第2の計算
機3内の同一計算機上ジョブ間データ転送パイプライン
機能実行部33に実行を依頼して、データの受け渡しを
行う。一方、第5のジョブ27と第6のジョブ37は、
別の計算機上で実行されている。そのため、データの受
け渡しに際し、それぞれの計算機内の別計算機上ジョブ
間データ転送パイプライン機能実行部24および34に
対して実行を依頼する。依頼を受けた別計算機上ジョブ
間データ転送パイプライン機能実行部24および34
は、制御計算機1を介して連携を取りながら、計算機間
をまたがるパイプライン処理を実行する。
【0021】図3は、制御計算機1内にある負荷記録テ
ーブル12の構成図である。負荷記録テーブル12は、
一つ以上の計算機識別子1201と計算機の負荷120
2の組み合わせから構成される。当該組み合わせの数
は、クラスタ型計算機システムに属する計算機の数に一
致する。計算機識別子1201には、計算機を特定する
ための番号もしくはシステム内でユニークな名称を格納
し、それに対する計算機の負荷1202には、対応する
計算機の一定間隔ごとの負荷の値を格納する。
【0022】図4は、チェックテーブル13の構成図で
ある。チェックテーブル13は、連携識別子1301
と、連携要求ジョブ名1302と、連携要求ジョブ実行
計算機識別子1303と、連携種別1304とから構成
される。連携識別子1301には、連携を要求するジョ
ブが、連携相手ジョブを認識するための情報を格納す
る。ジョブ間データ転送パイプライン機能では、ファイ
ル名の一致によって相手ジョブとの連携を成立させる。
よってパイプライン機能の場合、連携識別子1301に
は、パイプライン機能適用対象のファイル名称を格納す
る。連携要求ジョブ名1302には、連携相手ジョブを
要求しているジョブ名を格納し、連携要求ジョブ実行計
算機識別子1303には、前記連携相手を要求している
ジョブが実行されている計算機の識別子を格納する。連
携種別1304には、連携の種類を格納する。ジョブ間
データ転送パイプライン機能の場合、そのことを示す情
報として例えば文字列「PIPELINE」を格納す
る。
【0023】チェックテーブル13は、ジョブ間での連
携を要求するジョブが投入されるごとに、ジョブ振り分
け制御部11がひとつ作成、もしくはひとつ消去する。
チェックテーブル13の数は、その時点における、ジョ
ブ間連携を要求し、かつ連携の相手ジョブを待っている
ジョブの個数を示している。チェックテーブル13の作
成、消去の条件に関しては、図6にて詳しく説明する。
【0024】図5は、しきい値テーブル14の構成図で
ある。しきい値テーブル14は、ジョブ間連携機能を実
行するジョブの実行先計算機を決定する基準として、ジ
ョブ振り分け制御部11が利用する。しきい値テーブル
14は、一つ以上の連携種別1401としきい値140
2の組み合わせから構成される。当該組み合わせの数
は、少なくとも、本発明によるジョブ振り分け方法を利
用するジョブ間連携機能の数だけ存在する。ただし、ひ
とつの連携機能に対し、複数の振り分け基準を設定する
場合には、その分だけ本しきい値テーブル1401およ
び1402の組み合わせが増加する。なお、ひとつの連
携機能に複数の振り分け基準が存在する場合、それぞれ
に対応するしきい値は、異なる連携種別によって区別し
ても良いし、同一の連携種別とし、格納順序によって区
別しても良い。
【0025】図6は、ジョブ振り分け制御部11の処理
フローチャートである。本実施例におけるジョブ振り分
け制御部11は、パイプライン機能実行ジョブを実行す
る計算機を決定するに際し、ふたつの基準を定め、それ
ぞれ異なるしきい値を利用する。
【0026】第1のしきい値は、既に連携相手のジョブ
がいずれかの計算機で実行中のとき、それと同一の計算
機に新規ジョブを投入するか否かを決定する基準であ
る。相手ジョブを実行している計算機の負荷と最小負荷
の差が、第1のしきい値以下であるならば、負荷が最小
ではなくとも、連携相手ジョブを実行中の計算機に新規
ジョブを投入する。その結果、単純に負荷が最小の計算
機に新規ジョブを振り分ける方法と比べ、別計算機上の
ジョブ間パイプライン処理の数を減らすことができる。
【0027】次に、第2のしきい値について説明する。
第2のしきい値は、連携する相手ジョブがまだ実行され
ていない新規ジョブを実行する計算機を決定するための
基準である。連携相手ジョブを待つジョブが特定の計算
機に集中すれば、更にこの計算機にジョブ投入が集中さ
れ、その結果特定計算機の負荷が増大したり、もしくは
別計算機間でのパイプライン機能実行が増大する。この
状況を防ぐため、仮に負荷が最小の計算機でも、既に連
携相手を待つジョブを実行中であれば、別の計算機で新
規ジョブを実行することも考える。その際、新規ジョブ
の実行計算機を決定する基準は、連携相手を待つジョブ
を実行しておらず、かつ負荷最小値との差が第2のしき
い値よりも小さい負荷を持つ計算機であり、該当する計
算機の中で最小の負荷を持つ計算機に新規ジョブを投入
する。
【0028】以下、上記のしきい値を用いたジョブ振り
分け制御部11の処理を、順を追って説明する。
【0029】まず、新たに実行すべき新規ジョブの情報
を、ジョブ情報格納ファイル41から取得し、当該情報
を元に、当該ジョブがジョブ間パイプライン機能の実行
を要求しているか否かを判定(ステップ601)する。
ジョブ情報格納ファイル41に格納されている情報は、
例えば後に図9や図13で示すようなジョブ制御文の形
式をしている。この例では、「DEVICE=PIPE
LINE」なる記述がパイプライン機能の実行要求を意
味しており、この指定があったジョブは、同一のファイ
ル名を指定し、かつ「DEVICE=PIPELIN
E」と指定しているジョブとの間でパイプライン機能に
よる連携処理を行う。
【0030】ステップ601で、当該ジョブがパイプラ
イン機能の実行を要求していなければ、続けて負荷記録
テーブル12を参照し、負荷が最小の計算機に対して当
該ジョブの実行を依頼(ステップ602)し、当該ジョ
ブの振り分け処理を完了する。ステップ601で、当該
ジョブがパイプライン機能の実行を要求していると判定
した場合は、以下の処理を行う。
【0031】まず、既にパイプライン機能を実行中で、
連携相手を待っているジョブがシステム内に存在してい
るか否かを判定(603ステップ)する。本判定は、制
御計算機1の主記憶内に、チェックテーブル13が存在
するか否か調べることにより実現できる。本判定を満足
すれば、続けて、当該ジョブとのパイプライン機能によ
る連携を要求しているジョブが、既に存在しているか否
かを判定(ステップ604)する。本判定は、連結種別
1304が「PIPELINE」であり、かつ、連結識
別子1301が当該ジョブが指定しているファイル名と
一致するチェックテーブル13が存在するか否かを調べ
ることにより実現できる。
【0032】ステップ604の判定で、当該ジョブとの
連携を要求しているジョブが存在すると判定された場合
は、以下で示すように、一定の条件のもとで当該ジョブ
を連携相手ジョブと同一の計算機で実行することによ
り、別計算機上のジョブ間の連携が多発することを抑え
る。
【0033】まず、負荷記録テーブル12を参照して各
計算機の負荷を取得し、またしきい値テーブルを参照し
て第1のしきい値を取得する。ここで、前記したチェッ
クテーブル13内の連結要求ジョブ実行計算機識別子1
303が示す計算機の負荷と、負荷の最小値との差が、
第1のしきい値よりも小さいか否かを判定(ステップ6
05)する。ステップ605の条件を満たす場合、前記
チェックテーブル13内の連結要求ジョブ実行計算機識
別子1303が示す計算機、すなわち連携相手ジョブを
実行中の計算機に対して、当該ジョブの実行を依頼(ス
テップ606)し、検索に利用したチェックテーブル1
3を、制御計算機1の主記憶内から消去(ステップ60
7)する。
【0034】ステップ605の条件を満たさなかった場
合には、負荷最小の計算機に対して、当該ジョブの実行
を依頼(ステップ608)したのち、検索に利用したチ
ェックテーブル13を消去(ステップ607)する。
【0035】次に、ステップ604の判定において、当
該ジョブとの連携を要求しているジョブが存在しないと
判定された場合の処理について説明する。この場合、連
携を行うジョブが特定の計算機に集中することをできる
だけ防ぐために、当該ジョブとは無関係の連携ジョブの
実行状況も調べて、当該ジョブの実行先計算機を決定す
る。
【0036】まず、自計算機の負荷の値と最小負荷の値
との差が、第2のしきい値以内であり、かつ、連携相手
を待っているジョブが自計算機内に存在していない計算
機が存在するか否かを判定(ステップ609)する。本
判定では、はじめに負荷記録テーブル12を参照して最
小負荷を求め、当該最小負荷との差が第2のしきい値以
内である負荷1202に対する計算機識別子1201を
記録する。更に、記録された計算機識別子1201のい
ずれかと一致する内容を、連携要求ジョブ実行計算機識
別子1303に格納しているチェックテーブル13が存
在するか否かを判定することにより実現できる。
【0037】ステップ609の条件を満たす計算機が存
在する場合、条件を満たす計算機の中で負荷が最小の計
算機に対して、当該ジョブの実行を依頼(ステップ61
0)し、更に、当該ジョブの情報を格納したチェックテ
ーブル13を、制御計算機1の主記憶内に作成(ステッ
プ612)する。
【0038】ステップ609の条件を満たす計算機が存
在しなかった場合は、負荷が最小の計算機に対して当該
ジョブの実行を依頼(ステップ611)し、更に、当該
ジョブの情報を格納したチェックテーブル13を、制御
計算機1の主記憶内に作成(ステップ612)する。
【0039】ステップ603の判定において、現在パイ
プライン機能を実行中で、かつ連携相手のジョブを待っ
ているジョブが存在しないと判定された場合は、負荷最
小の計算機に対して当該ジョブの実行を依頼(ステップ
611)したのち、当該ジョブの情報を格納したチェッ
クテーブル13を、制御計算機1の主記憶内に作成(ス
テップ612)する。
【0040】以下、具体的な例を元にして、本実施例に
おけるジョブ振り分けの状況を説明する。図7および図
8は、それぞれチェックテーブル13としきい値テーブ
ル14の例である。ここで、第1の計算機2の計算機識
別子が「SYS01」、第2の計算機識別子が「SYS
02」であるとする。このとき、図7のチェックテーブ
ル13は、第2の計算機3で、パイプライン機能連携の
相手を待っているジョブ「JOB1」を実行中であり、
当該パイプライン機能対象のファイル名が「FILE.
PIPE.X」であることを示している。また図8のし
きい値テーブル14は、パイプライン機能実行ジョブの
振り分けに利用する第1のしきい値、第2のしきい値
が、それぞれ30%、40%であることを示している。
なお、本しきい値テーブル14の例では、パイプライン
機能における二つのしきい値に対応する連携種別を、そ
れぞれ「PIPELINE(1)」「PIPELINE
(2)」と表わし区別する。
【0041】図9は、新規に実行を依頼されたジョブ
(JOB2)のジョブ制御文の例である。ここで、「D
EVICE=PIPELINE」との指定があり、か
つ、適用対象ファイル名が「FILE.PIPE.X」
であるため、当該ジョブは、既に第2の計算機3で実行
中のジョブ(JOB1)とパイプライン機能を実行する
ことが認識できる。
【0042】図10は、図7から図9で示す状況におけ
る、負荷記録テーブル12の例である。本例では、第2
の計算機3が最小の負荷を持つ。よって条件に従い、J
OB2は第2の計算機3で実行される。その結果、本例
ではパイプライン機能を実行するJOB1とJOB2と
は、同一の計算機上で実行される。
【0043】図11は、図7から図9で示す状況におけ
る、負荷記録テーブル12の別の例である。本例では、
第1の計算機2が最小の負荷を持つ。しかし、既にJO
B1を実行中の第2の計算機3との負荷の差は20%で
あり、この値は第1のしきい値である30%よりも小さ
い。よって、本例でもJOB2は第2の計算機3で実行
される。このように本例では、必ずしも最小負荷の計算
機に新規ジョブが投入されるわけではなく、パイプライ
ン機能の連携を行うJOB1とJOB2を同一の計算機
上で実行できる。
【0044】図12は、図7から図9で示す状況におけ
る、負荷記録テーブル12の更に別の例である。本例で
も、第1の計算機2が最小の負荷を持つ。また、既にJ
OB1を実行中の第2の計算機3との負荷の差は40%
であり、第1のしきい値よりも大きい。よって本例で
は、JOB2は負荷最小の第1の計算機2で実行され
る。連携相手ジョブ実行中の計算機の負荷が一定の基準
よりも大きい場合には、このように新規ジョブをそれと
は別の計算機で実行する。その結果、別計算機上のジョ
ブ間パイプライン処理を必要とするが、これにより特定
の計算機の負荷のみを極端に増加させることを防止す
る。
【0045】図13は、新規に実行を依頼されたジョブ
(JOB3)のジョブ制御文の別の例である。図9と同
様、ここで「DEVICE=PIPELINE」との指
定があるが、適用対象ファイル名は「FILE.PIP
E.Y」であり、図7のチェックテーブル13内連携識
別子1301の内容とは異なる。すなわち、当該ジョブ
制御文で指定されるJOB3は、既に第2の計算機3で
実行中のJOB1とパイプライン機能を実行する相手ジ
ョブではない。
【0046】図14は、図7、図8、図13で示す状況
のもとでの、負荷記録テーブル12の例である。本例で
は、第1の計算機2が最小の負荷を持つ。よって条件に
従い、JOB3は第1の計算機2で実行される。すなわ
ち、互いに異なるパイプライン機能を実行するJOB1
とJOB3は、別の計算機上で実行される。
【0047】図15は、図7、図8、図13で示す状況
のもとでの、負荷記録テーブル12の別の例である。本
例では、第2の計算機3が最小の負荷を持つ。しかし第
2の計算機3は、既にパイプライン機能を実行するJO
B1を実行中である。そこで、そのような連携対象ジョ
ブを実行していない第2の計算機3との負荷の差を調べ
ると、当該負荷の差は20%であり、第2のしきい値の
40%よりも小さい。よって、本例ではJOB3は第1
の計算機2で実行する。このように、一定の条件のもと
で、互いに関係しないパイプライン機能を実行するジョ
ブ群を別の計算機に振り分けることにより、負荷の分散
を図る。
【0048】図16は、図7、図8、図13で示す状況
のもとでの、負荷記録テーブル12の更に別の例であ
る。本例でも、第2の計算機3が最小の負荷を持つ。ま
た、パイプライン機能適用ジョブの存在しない第1の計
算機2との負荷の差は50%であり、第2のしきい値よ
りも大きい。よって本例では、JOB3は負荷が最小で
ある第2の計算機3で実行される。この場合、複数のパ
イプライン処理が第2のの計算機3内で実行されること
になるが、既に負荷の高い第1の計算機2に対して不用
意にジョブを振り分けることはなく、極端な負荷格差が
生じることを防止する。
【0049】
【発明の効果】本発明によれば、クラスタ型計算機シス
テムにおいて、同一計算機上でのジョブ間に適用する場
合と別計算機上でのジョブ間に適用する場合とで性能が
異なるジョブ間連携機能が存在する際、当該性能差を考
慮したジョブの振り分けを行うことにより、効果的な負
荷分散を実現できる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明を利用した計算機システムにおけるジョ
ブ実行例である。
【図3】制御計算機内の負荷記録テーブルの構成図であ
る。
【図4】制御計算機内のチェックテーブルの構成図であ
る。
【図5】制御計算機内のしきい値テーブルの構成図であ
る。
【図6】ジョブ振り分け制御部の処理フローチャートで
ある。
【図7】本発明におけるチェックテーブルの具体例であ
る。
【図8】本発明におけるしきい値テーブルの具体例であ
る。
【図9】本発明におけるジョブ制御文の具体例である。
【図10】本発明における負荷記録テーブルの具体例で
ある。
【図11】本発明における負荷記録テーブルの別の具体
例である。
【図12】本発明における負荷記録テーブルの別の具体
例である。
【図13】本発明におけるジョブ制御文の別の具体例で
ある。
【図14】本発明における負荷記録テーブルの別の具体
例である。
【図15】本発明における負荷記録テーブルの別の具体
例である。
【図16】本発明における負荷記録テーブルの別の具体
例である。
【符号の説明】
1 … 制御計算機 2 … 第1の計算機 3 … 第2の計算機 4 … 外部記憶装置 5 … 外部記憶装置と計算機を結ぶ接線 6 … 制御計算機と計算機を結ぶ接線 11 … ジョブ振り分け制御部 12 … 負荷記録テーブル 13 … チェックテーブル 14 … しきい値テーブル 21 … 第1の計算機の負荷情報取得部 22 … 第1の計算機のジョブ実行部 31 … 第2の計算機の負荷情報取得部 32 … 第2の計算機のジョブ実行部 41 … ジョブ情報格納ファイル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 井上 政幸 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】一つの制御計算機に一つ以上の計算機が結
    合され、利用者から依頼されたジョブはいずれか一つの
    計算機上で実行され、前記実行を依頼されたジョブが他
    のジョブと連携する方法を有し、かつ、連携を行うジョ
    ブの双方が同一の計算機上で実行されるときと連携を行
    うジョブが別の計算機上で実行されるときとで、連携を
    実現するための方法が異なる計算機システムにおいて、 すべての計算機の負荷状況を一定間隔ごとに取得するス
    テップと、 他のジョブとの連携を必要とするジョブの実行に際し、
    既に実行中である連携を必要とするジョブの状態と、各
    計算機の負荷とに応じて決定される基準に従い、当該ジ
    ョブを実行する計算機を決定するステップと、 上記ステップの決定に従い、ジョブの実行を所定の計算
    機に対して依頼するステップとを有することを特徴とす
    るクラスタ型計算機システムのジョブ振り分け方法。
  2. 【請求項2】請求項1記載のクラスタ型計算機システム
    のジョブ振り分け方法において、 複数のジョブ間の連携方法として、ファイルの構成要素
    であるレコード単位でのデータの受け渡し方法を有する
    ことを特徴とするクラスタ型計算機システムのジョブ振
    り分け方法。
  3. 【請求項3】請求項1および請求項2記載のクラスタ型
    計算機システムのジョブ振り分け方法において、 他のジョブと連携を行うジョブを実行する計算機を決定
    する際、当該ジョブと連携を行う相手のジョブが既に実
    行中であるか否かを判定するステップと、 該当するジョブが存在するとき、該当するジョブを実行
    している計算機の負荷の値と、システム内の全計算機の
    中で最小の負荷の値との差を、あからじめ定めたしきい
    値と比較するステップと、 前記の比較の結果、二つの負荷の差がしきい値よりも小
    さい値を持つ場合、当該ジョブの連携相手のジョブを実
    行中の計算機を、当該ジョブを実行する計算機として決
    定するステップと、 前記の比較の結果、二つの負荷の差がしきい値以上の値
    を持つ場合、システム内の全計算機の中で最小の負荷を
    示している計算機を、当該ジョブを実行する計算機とし
    て決定するステップとを有することを特徴とするクラス
    タ型計算機システムのジョブ振り分け方法。
  4. 【請求項4】請求項1および請求項2記載のクラスタ型
    計算機システムのジョブ振り分け方法において、 他のジョブと連携を行うジョブを実行する計算機を決定
    する際、当該ジョブと連携を行う相手のジョブが既に実
    行中であるか否かを判定するステップと、 該当するジョブが存在しないとき、当該ジョブ以外のジ
    ョブとの連携を要求しているが、連携相手のジョブの実
    行が開始されていないジョブが実行中であるか否かを判
    定するステップと、 該当するジョブが存在するとき、該当するジョブを実行
    中のすべての計算機に対する負荷の中の最小値と、シス
    テム内の全計算機の中で最小の負荷の値との差を、あか
    らじめ定めたしきい値と比較するステップと、 前記の比較の結果、二つの負荷の差がしきい値よりも小
    さい値を持つ場合、当該ジョブ以外のジョブとの連携を
    要求しているが、連携相手のジョブの実行が開始されて
    いないジョブを実行中のすべての計算機の中で、最小の
    負荷を示している計算機を、当該ジョブを実行する計算
    機として決定するステップと、 前記の比較の結果、二つの負荷の差がしきい値以上の値
    を持つ場合、システム内の全計算機の中で最小の負荷を
    示している計算機を、当該ジョブを実行する計算機とし
    て決定するステップとを有することを特徴とするクラス
    タ型計算機システムのジョブ振り分け方法。
JP26677895A 1995-10-16 1995-10-16 ジョブ振り分け方法 Pending JPH09114684A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26677895A JPH09114684A (ja) 1995-10-16 1995-10-16 ジョブ振り分け方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26677895A JPH09114684A (ja) 1995-10-16 1995-10-16 ジョブ振り分け方法

Publications (1)

Publication Number Publication Date
JPH09114684A true JPH09114684A (ja) 1997-05-02

Family

ID=17435570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26677895A Pending JPH09114684A (ja) 1995-10-16 1995-10-16 ジョブ振り分け方法

Country Status (1)

Country Link
JP (1) JPH09114684A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042940A (ja) * 2007-08-07 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JP2009054044A (ja) * 2007-08-28 2009-03-12 Canon Inc ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム
JPWO2013038566A1 (ja) * 2011-09-16 2015-03-23 富士通株式会社 コンピュータシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042940A (ja) * 2007-08-07 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JP2009054044A (ja) * 2007-08-28 2009-03-12 Canon Inc ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム
JPWO2013038566A1 (ja) * 2011-09-16 2015-03-23 富士通株式会社 コンピュータシステム

Similar Documents

Publication Publication Date Title
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US7349970B2 (en) Workload management of stateful program entities
US7765189B2 (en) Data migration apparatus, method, and program for data stored in a distributed manner
JP4586019B2 (ja) 非故障ノードによる並列な回復
US20090300017A1 (en) Transaction Parallel Control Method, and Database Managemet System
US4849877A (en) Virtual execution of programs on a multiprocessor system
JP2007501458A (ja) データの所有権の動的な再割当
JP2006202338A (ja) データ処理の方法及び装置
JPH09244940A (ja) 分散計算機資源の管理方法
US6006278A (en) Method and system for importing remote functions to a network computer
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
JP2005056077A (ja) データベース制御方法
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JPH09114684A (ja) ジョブ振り分け方法
US11593308B2 (en) Managing data hidden by userspace filesystem
US20040186899A1 (en) Disk subsystem, computer system, storage managing method and program
US5062046A (en) Multiple processor system having a correspondence table for transferring processing control between instruction processors
CN110019057B (zh) 请求处理方法及装置
JP2005107632A (ja) Eaiサーバおよびeaiサーバのプログラム
JPH06348666A (ja) 計算機システムにおけるプログラム実行負荷分散方法
JPH0844670A (ja) ファイル管理方法およびそれを用いた計算機システムならびにその計算機システムの運用方法
JPH02113350A (ja) ファイル処理装置
CN111274320B (zh) 分布式存储系统的控制方法、装置及分布式存储系统