JP3501385B2 - ジョブ実行順序決定方法 - Google Patents

ジョブ実行順序決定方法

Info

Publication number
JP3501385B2
JP3501385B2 JP08796695A JP8796695A JP3501385B2 JP 3501385 B2 JP3501385 B2 JP 3501385B2 JP 08796695 A JP08796695 A JP 08796695A JP 8796695 A JP8796695 A JP 8796695A JP 3501385 B2 JP3501385 B2 JP 3501385B2
Authority
JP
Japan
Prior art keywords
job
execution order
jobs
information
execution
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.)
Expired - Fee Related
Application number
JP08796695A
Other languages
English (en)
Other versions
JPH08286958A (ja
Inventor
友理 本堂
弘文 長須賀
正 山岸
俊治 田中
俊之 木下
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 JP08796695A priority Critical patent/JP3501385B2/ja
Priority to US08/630,579 priority patent/US5881283A/en
Publication of JPH08286958A publication Critical patent/JPH08286958A/ja
Priority to US09/249,765 priority patent/US6889243B1/en
Application granted granted Critical
Publication of JP3501385B2 publication Critical patent/JP3501385B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のジョブが並行し
て動作することが可能な計算機システムにおけるジョブ
実行順序決定方法に関し、特に、構成の異なる計算機シ
ステムに移行する際に有効なジョブ実行順序決定方法に
関する。
【0002】
【従来の技術】従来、大規模なバンキングシステムにお
けるオンライン処理や流通業における商品管理をするた
めのオンライン処理では、顧客サービスの向上を図るた
めに、数多くの業務が実施されている。オンライン処理
には、その業務で取り扱ったデータを集計するための一
括データ処理(バッチ処理)が付随している。オンライ
ン処理量の増加やオンラインサービスの種類の多様化に
伴い、バッチ処理量は増大し、その処理内容も複雑化し
つつある。一般に、オンライン処理を行うジョブをオン
ラインジョブ、バッチ処理を行うジョブをバッチジョブ
と呼ぶ。これらの増大化しつつある業務に対処するため
に、複数のCPUを用意した計算機システムの構築を行
い、そのシステムでバッチ業務を実施する傾向にある。
この複数CPUを有するシステム構築手法として、複数
台のCPUを一つの主記憶装置を共有して一つのオペレ
ーティングシステム(OS)で動作するシステム(密結
合マルチプロセサシステム)がある。もう一つのシステ
ム構築手法として、独立したCPUおよび主記憶装置を
持つ複数個の計算機を、チャネル間結合装置などで結合
させたシステム(疎結合マルチプロセサシステム)があ
る。
【0003】上述した両方の構築手法によるシステムに
おいては、短時間でバッチ処理が完了するように効率の
よいジョブスケジュールを編成する必要がある。特に、
疎結合マルチプロセサシステムでは、複数の独立したO
Sが動作するため、OS間で相互に連携をとりながら業
務を遂行する必要がある。そこで、バッチ処理を効率よ
く実施させる従来の手法として、特開平5−17380
7号公報や特開平6−68052号公報に開示されたも
のがある。この2件は、疎結合マルチプロセッサシステ
ム上で、負荷が均等化されるように動的に資源の利用率
を測定し、スケジューリングを行うジョブ分散方式に関
するものである。すなわち、上記特開平5−17380
7号公報に記載されたものは、一定時間毎にシステムの
資源負荷量を測定する資源負荷測定手段を設け、そこで
の測定結果に応じてジョブ実行多重度を動的に変更させ
るものである。また、上記特開平6−68052号公報
に記載されたものは、一定時間間隔でプロセッサの使用
率を測定するプロセッサ使用率監視部を設け、最も負荷
の低いプロセッサにジョブを自動的に割り当てる機能に
関するものである。
【0004】
【発明が解決しようとする課題】近年、業務の多様化や
データ量の増加に伴い、バッチ処理が複雑化しているこ
とは前述の通りである。ジョブの処理時間を短縮するた
めの方法として、計算機のCPU性能を上げるかまたは
ジョブ全体を高多重化する手段が考えられる。しかしな
がら、前者の単一CPU性能を上げるには現在の技術で
ほぼ限界が現れており、今後、後者のジョブの高多重化
が必須になるのは確実と考えられる。しかし、これらの
複雑なバッチジョブの相関関係を崩さずに、バッチジョ
ブの高多重化を実現するには、ジョブのスケジューリン
グの効率化を行わなければ、マルチプロセサシステムの
計算機資源を有効に活用することにはならない。上記2
つの公開公報に記載された従来技術は、既に構築された
システム上でのジョブ実行中に動的にジョブスケジュー
リングを決定するものである。これは、ジョブが実行さ
れる際に、そのジョブ単体に対してスケジューリングの
効率化を図るもので、ジョブ全体に対しての測定を行っ
てスケジューリングの効率化を行うものではなかった。
また、これらの従来技術は、既に構築されたシステムで
ジョブを実行する場合に適用されるものであり、システ
ム構成の変更を行う場合の前もったジョブスケジューリ
ング評価に利用することができなかった。
【0005】オンラインジョブが時間に依存したジョブ
であるのに対し、一括データ処理であるバッチジョブは
決まった入力ファイルに対し一定の処理を行う開始時刻
に依存しないという性質を持つ。このような複数のジョ
ブが定期的に繰り返されるような形態であるジョブに関
しては、過去のジョブ実行履歴をもとに、その後のジョ
ブ実行の予測が可能である。このような性質のジョブに
ついて、実行される前にジョブスケジューリング計画を
行うことによって、全体の処理時間の短縮を見込むこと
ができる。また、システム設計時に前記のようなジョブ
スケジューリング計画を行うことで、ディスク装置など
へのファイルの配置計画などを立てることができ、シス
テム構成の変更を行う場合の前もったジョブスケジュー
リング評価を行うことができる。
【0006】本発明はバッチジョブの実行順序決定を
象とし、以下の三つの目的を持つ。本発明の第一の目的
は、バッチ処理を実施する前に、過去の実行履歴をもと
に、効率的なジョブ実行順序決定を支援することが可能
ジョブ実行順序決定方法を提供することにある。本発
明の第二の目的は、ジョブ多重度などのシステム運用上
の変更があった場合に、過去の実行履歴をもとに、その
効果を変更前に見積もることが可能なジョブ実行順序決
定方法を提供することにある。本発明の第三の目的は、
疎結合マルチプロセッサシステム上にジョブを分配させ
る場合に、上記システム内の他の計算機に接続されてい
るディスクへのアクセス頻度を少なくし、データ転送に
関するオーバーヘッドを低くおさえるため、分配される
ジョブがアクセスするファイルが上記システム内の一つ
の計算機に接続されているディスクに配置することが可
能となるように、各ジョブを実行させる計算機を、過去
の履歴情報をもとに決定することが可能なジョブ実行順
序決定方法を提供することにある。
【0007】
【課題を解決するための手段】本発明は、上記第一の目
的を達するために、複数のジョブが並行して動作するこ
とが可能な計算機システム上で動作した各ジョブの実行
履歴情報と当該各ジョブが動作中に入出力操作を行った
ファイルのアクセス履歴情報を用いてシミュレーション
を行なう。そのための手法として、各バッチジョブは、
参照するファイルが生成されていれば、論理的に実行可
能であることに着目して、上記アクセス履歴情報から、
各ジョブの実行開始条件を決定するステップと、上記実
行履歴情報から、上記各ジョブの実行時間を求めるステ
ップとを設ける。そして、シミュレーションの対象であ
る計算機システムにおけるジョブ多重度を、並行して動
作可能な最大ジョブ数とする第一条件と、各ジョブの実
行順序は、上記実行開始条件に従うという第二条件をも
とにしてシミュレーションを行うステップを設ける。ま
た本発明は、上記第二の目的を達するために、ジョブ多
重度増減などのシステム運用上の変更をパラメタとして
与えられた場合に、該パラメタを第三条件として付加す
るステップをさらに設けてシミュレーションを行なう。
さらに、本発明は、上記第三の目的を達するために、上
記シミュレーションを行なう前に、予めアクセスするフ
ァイルの局所性に基づいてジョブのグルーピングを行う
ステップを設ける。
【0008】
【作用】本発明によると、収集したアクセス履歴情報か
ら各ジョブの実行開始条件を決定し、実行履歴情報から
各ジョブの実行時間を求めることにより現状のジョブ実
行に基づいたジョブ実行開始時間を求めることができ
る。そして、シミュレーションの対象である計算機シス
テムにおけるジョブ多重度を、並行して動作可能な最大
ジョブ数とする第一条件と、上記実行開始条件に従うと
いう第二条件をもとにしてシミュレーションを行うステ
ップにより、ジョブスケジューラによらない仮想的なジ
ョブ実行を再現できる。このシミュレーション結果か
ら、処理時間短縮がはかれるジョブスケジュール案を提
示することができる。
【0009】ジョブ多重度増減などのシステム運用上の
変更をパラメタとして与えられた場合に、そのパラメタ
を上記実行開始条件などに付加することにより、運用上
の変更を行った場合のジョブスケジュール結果を提供で
きる。その結果、現状システムでの問題点を解決する見
積りを得た上でのシステム再構築が可能となる。また、
シミュレーションを行う前に、あらかじめアクセスする
ファイルに基づいてジョブのグルーピングを行うことに
より、パラメタとして与えられた新しいシステム条件で
のジョブスケジュール結果を提供できる。その結果、疎
結合マルチプロセサシステムなどの現行のシステムと違
った構成のシステム上でのジョブスケジュール案を提示
することができる。以上のように、実行履歴を用いる静
的な評価により、本発明は実機を用いることなく、すな
わち対象となるシステムに負担をかけることなくジョブ
スケジュールに関する定量的評価を得ることが可能にな
る。
【0010】
【実施例】本実施例では、一つ以上のCPU、および、
そのCPUからアクセスされるディスクを有する1つ以
上の計算機により構成される計算機システムを対象とし
ている。計算機システムが複数の計算機から構成される
場合には、それら各計算機は相互に通信を行う手段を有
するものとする。上記の計算機システムにおいて、複数
のジョブは並行実行される。ここで、並行実行されるジ
ョブの数には上限があり、その上限をジョブ多重度と呼
ぶ。ジョブは、一つ以上のジョブステップにより構成さ
れる。ここでジョブステップは、そのジョブの中で実行
されるプログラムの一つに対応している。 read、 writ
e、参照などの動作が行われたファイルを、本件ではア
クセスファイルと呼ぶ。バッチジョブは、参照するファ
イルが生成されていれば論理的に実行可能である。従っ
て、あるジョブがアクセスするファイルが他のジョブに
よってアクセスされている場合には、その他のジョブが
終了した後に実行開始する必要がある。ジョブが、どの
ジョブの実行終了後に開始すべきであるかをスケジュー
リング条件と呼ぶ。
【0011】以下、本発明の実施例を図面を用いて詳細
に説明する。図1は、本発明の一実施例の基本的なシス
テム構成を示している。本実施例において、計算機10
1は、CPU102、メモリ103により構成されてい
る。メモリ103上には、後述するパラメタ情報114
およびジョブ実行履歴115を入力してジョブスケジュ
ーリング解析を行なうジョブスケジューリング解析部1
04、システムの稼働履歴を収集するシステム稼働履歴
収集部110、およびジョブスケジュールプログラム1
11が設けられ、さらに、ジョブスケジュールプログラ
ム111はジョブ起動部112および登録作成部113
から構成されている。これらの各部における処理はCP
U102によって実行されるものとする。
【0012】計算機101に登録されたジョブは、ジョ
ブスケジュールプログラム111内の登録簿作成部11
3により、ジョブ登録簿117に登録される。ジョブ起
動部112は、上記の手順により作成されたジョブ登録
簿117をもとに、ジョブを起動し実行状態にする。起
動するには、起動しようとするジョブが、どのプログラ
ムを実行するもので、どのファイルにアクセスするかを
記述したジョブ制御文118が各ジョブ毎に用意されて
いる必要がある。ジョブ起動部112は、このジョブ制
御文118をもとに、ジョブを実行するのに必要なファ
イルなどの資源が確保されているかを確認した上でジョ
ブを起動する。
【0013】ジョブは上記手順により実行状態になる。
その実行状況をシステム稼働履歴収集部110が収集し
てジョブ実行履歴115を作成する。このジョブ実行履
歴115の構成例を図2に示す。採取する実行履歴デー
タとしては、同図に示すように、ジョブ開始レコード1
15−1、ジョブステップ開始レコード115−2、ア
クセスファイルに関するファイルクローズレコード11
5−3、ジョブステップ終了レコード115−4、ジョ
ブ終了レコード115−5などが挙げられる。これらの
各レコードは、ジョブの実行開始、ファイルのクローズ
などの事象によって発生するものであり、それらのレコ
ードの先頭または内部にそのレコードが何の事象によっ
て発生したかを表すレコードタイプが含まれている。本
実施例では、ジョブ開始レコードを01、ジョブステッ
プ開始レコードを02、ファイルクローズレコードを0
3、ジョブステップ終了レコードを04、ジョブ終了レ
コードを05とするレコードタイプに関する記述が、各
レコードの先頭にあるものとする。
【0014】図2に示されたジョブ実行履歴データであ
る各レコードについてさらに詳細に説明する。ジョブ開
始レコード115−1は、レコードタイプ01の他に、
ジョブ名、ジョブ開始日付、ジョブ開始時刻を有し、ジ
ョブステップ開始レコード115−2は、レコードタイ
プ12の他に、ジョブステップ名、ジョブステップ開始
日付、ジョブステップ開始時刻、このレコードを出した
ジョブ名を有し、アクセスファイルに関するファイルク
ローズレコード115−3は、レコードタイプ03の他
に、ファイル名、ファイルクローズ日付、ファイルクロ
ーズ時刻、このレコードを出したジョブステップ名、こ
のレコードを出したジョブ名を有し、ジョブステップ終
了レコード115−4は、レコードタイプ04の他に、
ジョブステップ名、ジョブステップ終了日付、ジョブス
テップ終了時刻、このレコードを出したジョブ名を有
し、ジョブ終了レコード115−5は、レコードタイプ
05の他に、ジョブ名、ジョブ終了日付、ジョブ終了時
刻、CPU使用時間を有している。
【0015】ジョブ実行履歴115とともにジョブスケ
ジューリング解析部104へ入力されるパラメタ情報1
14の構造を図3に示す。パラメタ情報114は、ジョ
ブに関するデータである図2に詳細に示したジョブ実行
履歴115以外の、シミュレーションに必要な、空間数
(最大ジョブ実行多重度)や、CPU性能比率(新たな
システムにおけるCPUの性能の改善比率)や、出力結
果の指定などの全ての情報を含む。図3は空間数30、
CPU性能比率1(同一性能のCPUの場合)、グルー
ピングON(グルーピング機能を有効にした場合)の場
を示している。
【0016】次に、本発明が特徴としているジョブスケ
ジューリング解析部104の詳細を説明する。ジョブス
ケジューリング解析部104は、図1に示したように、
上述した実行履歴データ115(図2参照)を解析する
ジョブデータ解析部600、上述したパラメタ情報11
4(図3参照)からシミュレーションに必要な情報であ
るシミュレーション条件定義情報(図5の114−1)
を作成するパラメタ解析部700、ジョブデータ解析部
600により作成されたデータについてジョブのグルー
ピングを行うジョブグルーピング部800、これらの入
力データによりジョブの実行状況をシミュレートするシ
ミュレーション部900により構成される。ジョブスケ
ジューリング解析部104と、システム稼働履歴収集部
110は、本実施例では同一システム内に設けている
が、別システムに設けてもよい。
【0017】また、シミュレーション部900で解析さ
れた結果が、シミュレーション結果116として、シミ
ュレーション部900より出力される。このシミュレー
ション結果116の例を図4に示す。出力情報として
は、同図に示すように、シミュレーション後のジョブ実
行多重度の時間的遷移116−1や、実行ジョブのリス
ト116−2などが挙げられる。図4の実行ジョブのリ
スト116−2は、空間1の実行ジョブはJOB1、J
OB5、およびJOB3で、空間2の実行ジョブはJO
B2およびJOB8であり、例えば、JOB1は7:0
0乃至7:45に実行され、実行時間は45分間である
ことを示している。なお、実行ジョブのリスト中にジョ
ブ毎に使用される資源などを含めることも可能である。
【0018】次に、ジョブスケジューリング解析部10
4の詳細な説明図を図5に示す。ジョブデータ解析部6
00は、ジョブ実行履歴115から本発明でシミュレー
ションに用いる情報単位である情報セル200を作成す
る。情報セル200は、ジョブ実行履歴115の中に含
まれる履歴の種類によって、図6の情報セル構成例に示
したように、ジョブ情報セル201、ジョブステップ情
報セル202、ファイル情報セル203に大別される。
情報セル200はテーブル構造になっており、その中の
要素(ポインタ)が関連のある情報セルをポイントする
ことで、情報セル全体がリスト構造になるように構成さ
れている。ジョブ情報セル201は、そのジョブを構成
するジョブステップ情報セル202のリストを指す。ま
た、そのジョブステップ情報セル202は、そのジョブ
ステップでアクセスするファイルのファイル情報セル2
03を指す。これらが1組となって、ジョブの全体の情
報を表す。ジョブ実行履歴115には解析の対象となる
ジョブが複数含まれているため、ジョブ情報セル201
自身も、リスト構造となっており、ポインタによって順
次次のジョブ情報セル201を指すように構成されてい
る。
【0019】次に、上記の各情報セルのさらに詳細なテ
ーブル構造を図7〜図9を用いて説明する。各情報セル
には、情報セルのリスト構造を形成するための情報とと
もに、実行履歴の中に含まれる情報が必要に応じて格納
される。図7はジョブ情報セル201のテーブル構造を
示すものである。同図中、ポインタ301はジョブ情報
セルのリストにおいて次の要素をポイントするもので、
ポインタ302は、そのジョブを構成するジョブステッ
プの情報セルのリストの先頭をポイントするものであ
る。また、303はジョブを識別するためのジョブ名
を、304はジョブ開始時刻を、305はジョブ終了時
刻を格納する領域であり、これらはシミュレーション部
900で実行条件を求める際に使用される。また、30
6はそのジョブが使用したトータルのCPU使用時間を
格納する領域である。
【0020】図8はジョブステップ情報セル202のテ
ーブル構造を示すものである。同図中、ポインタ401
はジョブステップ情報セルのリストにおいて次の要素
(ジョブステップ情報セル)をポイントするもので、ポ
インタ402は、そのジョブステップでアクセスするフ
ァイルの情報セルのリストの先頭をポイントするもので
ある。403はジョブステップを識別するためのジョブ
ステップ名を、404はそのジョブステップで実行され
るプログラム名を格納するための領域である。図9はフ
ァイル情報セル203のテーブル構造を示すものであ
る。同図中、ポインタ501はファイル情報セルのリス
トにおいて次の要素(ファイル情報セル)をポイントす
るためのものである。502はファイルを識別するとと
もに、シミュレーション部900で実行条件を求める際
に使用されるファイル名を格納するための領域である。
【0021】次に、ジョブデータ解析部600の処理の
流れを図10のフローチャートを用いて詳細に説明す
る。まず、ジョブ実行履歴115から、先頭のデータを
読み込み、ステップ602乃至ステップ606の処理を
ジョブ実行履歴115のデータが空になるまで継続する
(ステップ601)。そのレコードが読み込まれるまで
の情報セルリストの中に、そのレコードの内容を格納す
べき情報セルが存在しないレコード、例えば、ジョブ開
始レコードなどを読み込んだ場合、新たに内容を格納す
る情報セルを作成する必要がある。読み込んだジョブ実
行履歴115のデータが、これらの新たに情報セルを作
成するべきレコードタイプであるか否かを判定する(ス
テップ602)。
【0022】上記ステップ602における判定が真であ
った場合、該レコードがジョブか、ジョブステップか、
またはファイルに関するものであるかをそのレコードの
内容から判定し、それに該当する形式の情報セルの領域
を確保し(ステップ603)、その領域にデータを格納
するとともに、その新しい情報セルに対するリストから
のポインタ設定など、リスト構造を形成するための情報
を設定する(ステップ604)。上記ステップ602に
おける判定が偽であった場合、それ以前に作成された情
報セルの中の対応する情報セルにデータを格納する(ス
テップ605)。その後、ジョブ実行履歴115の次の
データの処理を対象として判定ステップ601に戻る
(ステップ606)。
【0023】パラメタ解析部700は、図3に示した如
きパラメタ情報114を解析して、シミュレーションの
条件となるシミュレーション条件定義情報114−1を
作成するものである。次に、パラメタ解析部700の処
理を図11のフローチャートを用いて詳細に説明する。
まず、パラメタ情報114からパラメタの読み込みを行
い、ステップ702乃至ステップ703に示した処理を
パラメタ情報114のパラメタが空になるまで継続する
(ステップ701)。読み込んだパラメタ情報がどのパ
ラメタであるかを判別し、パラメタのタイプに合わせて
シミュレーション条件定義情報114−1に反映させる
(ステップ702)。例を挙げると、パラメタ情報11
4から、ジョブが実行される多重度を空間数として読み
込み、シミュレーション条件定義情報114−1の中の
対応する項目に設定する。処理を継続するために次のパ
ラメタ情報114を対象として判定ステップ701に戻
る(ステップ703)。
【0024】ジョブグルーピング部800は、現行のシ
ステムと異なる疎結合マルチプロセサシステムを意識し
た、ファイルアクセスの局所性に着目したジョブグルー
ピングを行った結果を得る場合に用いられるものであ
る。ジョブグルーピング部800の処理により、ジョブ
情報セル201のリストを、アクセスするファイルが重
複するジョブの情報セルのリストに分割しグルーピング
する。該ジョブグルーピング部800で作成されたジョ
ブグループ単位でシミュレーション部900によりシミ
ュレーションを行うことで、アクセスするファイルの重
複をなくした、あるいは少なくしたジョブグループでの
スケジューリング解析結果を出すことが可能になる。
【0025】次に、ジョブグルーピング部800の処理
を図12のフローチャートを用いて詳細に説明する。ま
ず最初に、シミュレーション条件定義情報114−1の
中のジョブのグルーピングを行うか否かを指定している
テーブルデータを参照し、グルーピングを行うと指定し
てある場合に以下のステップ802乃至ステップ804
の処理を行い、それ以外は処理を行わないで処理を終了
する(ステップ801)。
【0026】ステップ801において、グルーピングを
行なうと指定してある場合には、まず、ジョブ情報セル
201の読み込み動作を行い、以下のステップ802乃
至ステップ804の処理をジョブ情報セル201のリス
トが空になるまで継続する(ステップ802)。ステッ
プ802で読み込んだジョブ情報セルで表されるジョブ
と同一ファイルにアクセスするジョブを、ジョブ情報セ
ルのリストの中から順次検索し、これらのジョブを同一
グループとみなしてグルーピングする。また、ここで同
一グループとされたジョブと同一ファイルにアクセスす
るジョブも同様に同一グループとする(ステップ80
3)。次のジョブ情報セルを対象として(ステップ80
4)、ステップ802に戻って再び同様の処理を行な
う。
【0027】次に、シミュレーション部900における
ジョブ実行のシミュレーションの手順を図13および図
14のフローチャートを用いて詳細に説明する。図14
は、図13で行われるジョブ情報セル201のリストつ
なぎ換えを摸式的に表したものである。図14におい
て、201−j(j=1〜i)は内容の異なるジョブ情
報セルを表す。図14中の空間1001のテーブル構造
例を図15に示す。図15に示した空間1001のテー
ブル構造において、ポインタ1101は次の空間100
1をポイントするためのものである。また、ポインタ1
102はその空間1001に接続されるジョブ情報セル
のリストの先頭をポイントするためのものである。
【0028】次に、図13のフローチャートに沿ってシ
ミュレーション部900の動作を詳細に説明する。まず
最初に、シミュレーション条件定義情報114−1から
情報を読み込む。シミュレーション条件定義情報114
−1が空になるまで以下のステップ902乃至ステップ
903の処理を行う(ステップ901)。シミュレーシ
ョン条件定義情報114−1が空になったら、ステップ
904に進む。
【0029】ステップ902では、読み込んだシミュレ
ーション条件に対応した処理を行う。例えば、ジョブ実
行多重度の最大数を表す空間数のパラメタであった場合
は、その数の空間1001をメモリ領域に確保する。ま
たCPU性能比率であった場合は、ジョブ情報セル20
1内のCPU使用時間306を該比率に合わせて換算
し、同時にジョブ終了時刻305の書き換え(図7参
照)も行う。
【0030】接続するジョブ情報セルのリスト1の先頭
から、ジョブ情報セル201を順々に取り出すために、
ジョブ情報セル201があるかどうかの判定を行い(ス
テップ904)、ジョブ情報セル201があった場合、
先頭からそれを順に取り出し空になるまで以下のステッ
プ905乃至ステップ911の処理を行う。まず、上記
のジョブの、他のジョブとのファイル受渡しなどのスケ
ジューリング条件を求める(ステップ905)。次に、
ステップ905で求めたスケジューリング条件により実
行開始可能な時刻を算出する(ステップ906)。ステ
ップ906で求めた時刻に空間1001に接続されたジ
ョブ情報セルリストの内容を検索し、上記実行開始可能
な時刻に空きがあり、実行可能であるか否かを判定する
(ステップ907)。
【0031】上記ステップ907における判定が真(実
行可能)であった場合、その空いている空間1001に
ジョブ情報セルを接続する。また、ジョブ情報セルを接
続した際、そのジョブ情報セルが指し示すジョブステッ
プ情報セルなども一緒に空間1001に接続する(ステ
ップ908)。上記ステップ907における判定が偽
(実行不可)であった場合、上記ステップ906で求め
た実行開始可能時刻以降で、最も早く実行が可能となる
空間1001に、ジョブ情報セルを接続する(ステップ
909)。その後、上述したジョブ情報セルの接続が終
了した後、ジョブ実行時間などのジョブ情報セル内のデ
ータの書換えを行い(ステップ910)、次のジョブ情
報セルを対象として判定ステップ904に戻る。なお、
シミュレーション部900での処理中に、ジョブが実行
されない時間が生じることがある。これらの時間を空き
であることを表すジョブ情報セルで表すことで、空間1
001のジョブ情報セルリスト内でのアイドル時間を表
現することができる。
【0032】次に、シミュレーション部900における
ステップ904乃至ステップ911によって具体的にど
のようにジョブ情報セルが変更されるかを図14を参照
しながら説明する。まず、判定ステップ904におい
て、接続すべき未処理のジョブ情報セルのリストを参照
する。図14に示した例の場合、未処理のジョブ情報セ
ルとして201−1、201−2、…、201−iがあ
るから判定ステップ904はYESであるため、リスト
の先頭から201−1、201−2、…、201−iを
順に取り出してそれぞれに対してステップ905乃至ス
テップ911の処理を行なう。
【0033】最初に、リストの先頭のジョブ情報セル2
01−1を処理するにあたり、ステップ905乃至ステ
ップ908またはステップ909において、シミュレー
ションの結果をメモリ上で表したジョブ情報セルのリス
トの中でジョブ情報セル201−1がどのジョブの後で
実行されるべきかを割出す。図14における例の場合、
ジョブ情報セル201−4の後に実行されるものとす
る。その場合、ステップ908またはステップ909に
おいて、ジョブ情報セル201−1は201−4の後に
つなぎ換えられる。同時にジョブ情報セル201−1は
未処理のジョブ情報セルリスト200からは削除され
る。以上説明したように、本実施例では、ジョブの実行
状況をメモリ上で情報セルのリストとして表し、パラメ
タ情報とジョブ実行履歴を用いてシミュレーションを行
う。
【0034】
【発明の効果】本発明によれば、現行のシステムでのジ
ョブ処理時間短縮が図れるジョブスケジューリング案を
得られる。さらに、システム構成変更によるジョブ実行
状況が、システム構成変更前に、現行システムのジョブ
稼働状況をもとにして把握することが可能になる。さら
に、ジョブ実行履歴に基づいてシミュレーションを行う
ため、対象となるシステムに動的なジョブモニタリング
程の負担をかけずに静的に評価を行うことが可能とな
る。
【図面の簡単な説明】
【図1】本発明のジョブ実行順序決定方法を実現するた
めのジョブスケジューリング解析部104を具備した計
算機システムの一実施例である。
【図2】本発明の入力情報となるジョブ実行履歴115
の説明図である。
【図3】本発明の入力情報となるパラメタ情報114の
説明図である。
【図4】本発明の出力情報となるシミュレーション結果
116の説明図である。
【図5】本発明のジョブスケジューリング解析部104
の具体的な構成例図である。
【図6】本発明のジョブ実行順序決定方法で用いられる
ジョブおよびジョブに関するデータである情報セルの構
成を示した説明図である。
【図7】ジョブのデータを格納するジョブ情報セルのテ
ーブル構造を示した説明図である。
【図8】ジョブステップのデータを格納するジョブステ
ップ情報セルのテーブル構造を示した説明図である。
【図9】アクセスファイルのデータを格納するファイル
情報セルのテーブル構造を示した説明図である。
【図10】ジョブデータ解析部600の処理を説明した
フローチャートである。
【図11】パラメタ解析部700の処理を説明したフロ
ーチャートである。
【図12】ジョブグルーピング部800の処理を説明し
たフローチャートである。
【図13】スケジューリングのシミュレーション部90
0の処理を説明したフローチャートである。
【図14】シミュレーションでのジョブ実行を表すため
のデータ構造を示した説明図である。
【図15】シミュレーションで用いられる空間1001
のテーブル構造を示した説明図である。
【符号の説明】
101:計算機、102:CPU、103:メモリ、1
04:ジョブスケジューリング解析部、600:ジョブ
データ解析部、700:パラメタ解析部、800:ジョ
ブグルーピング部、900:シミュレーション部、11
0:システム頚働履歴収集部、111:ジョブスケジュ
ールプログラム、112:ジョブ起動部、113:登録
簿作成部、114:パラメタ情報、115:ジョブ実行
履歴、116:シミュレーション結果、117:ジョブ
登録簿、118:ジョブ制御文。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長須賀 弘文 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 山岸 正 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウェア開発本 部内 (72)発明者 田中 俊治 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 木下 俊之 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のジョブが並行して動作することが可
    能な計算機システムにおけるジョブ実行のシミュレーシ
    ョンにおいて、あるシステムでジョブ実行中に所定のフ
    ァイル参照することを要するジョブ相互間の実行順序を
    決定する方法であって、シミュレーションを実行する 計算機は、 前記計算機の外部から前記システムの資源に関するパラ
    メタを受け付け、 前記計算機の外部から、前記ジョブごとに、ジョブ実行
    中にデータの入力、データの参照などのためにアクセス
    したファイルの履歴情報を受け付け、 第1のジョブを実行中に参照したファイルに対して、
    1のジョブの実行前に第2のジョブがデータを入力する
    場合にあっては、前記履歴情報に基づいて、該第2のジ
    ョブが該第1のジョブよりも先になるように前記ジョブ
    の実行順序を決定することを特徴とするジョブ実行順序
    決定方法。
  2. 【請求項2】前記パラメタには、前記システムのCPU
    の性能比率に関する情報が含まれていることを特徴とす
    る請求項1記載のジョブ実行順序決定方法。
  3. 【請求項3】前記パラメタには、前記システムの多重度
    に関する情報が含まれていることを特徴とする請求項1
    記載のジョブ実行順序決定方法。
  4. 【請求項4】前記ファイルの履歴情報には、ジョブ相互
    間のファイルの受け渡し関係を示す情報が含まれてお
    り、 前記ジョブの実行順序を決定するステップにおいては、
    前記ジョブ相互間のファイル受け渡し関係を示す情報に
    従って、前記ジョブの実行順序を決定することを特徴と
    する請求項1、請求項2または請求項3のいずれかに記
    載のジョブ実行順序決定方法。
  5. 【請求項5】前記ジョブの実行順序の決定には、決定さ
    れた実行順序を出力するステップを有することを特徴と
    する請求項4記載のジョブ実行順序決定方法。
  6. 【請求項6】前記ファイルの履歴情報に基づいて、同一
    ファイルを使用するジョブを一つのグループにまとめ、 前記まとめられたグループに含まれるジョブについて、
    ジョブの実行順序を決定することを特徴とする請求項4
    または請求項5記載のジョブ実行順序決定方法。
  7. 【請求項7】シミュレーションの対象となるシステム
    は、前記ジョブが実行されたシステムとは異なるシステ
    ムであることを特徴とする請求項1から請求項6までの
    うちのいずれか一つに記載のジョブ実行順序決定方法。
JP08796695A 1995-04-13 1995-04-13 ジョブ実行順序決定方法 Expired - Fee Related JP3501385B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08796695A JP3501385B2 (ja) 1995-04-13 1995-04-13 ジョブ実行順序決定方法
US08/630,579 US5881283A (en) 1995-04-13 1996-04-10 Job scheduling analysis method and system using historical job execution data
US09/249,765 US6889243B1 (en) 1995-04-13 1999-02-16 Job scheduling analysis method and system using historical job execution data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08796695A JP3501385B2 (ja) 1995-04-13 1995-04-13 ジョブ実行順序決定方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002168125A Division JP4219119B2 (ja) 2002-06-10 2002-06-10 ジョブ実行順序決定方法

Publications (2)

Publication Number Publication Date
JPH08286958A JPH08286958A (ja) 1996-11-01
JP3501385B2 true JP3501385B2 (ja) 2004-03-02

Family

ID=13929606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08796695A Expired - Fee Related JP3501385B2 (ja) 1995-04-13 1995-04-13 ジョブ実行順序決定方法

Country Status (2)

Country Link
US (1) US5881283A (ja)
JP (1) JP3501385B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076353A (ja) 1998-09-03 2000-03-14 Toshiba Corp 業務指示シートによる業務処理システム
US7386586B1 (en) 1998-12-22 2008-06-10 Computer Associates Think, Inc. System for scheduling and monitoring computer processes
US6341317B1 (en) * 1998-12-30 2002-01-22 Emc Corporation Method and apparatus for managing a log of information in a computer system including an intelligent storage system
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
JP4025501B2 (ja) * 2000-03-03 2007-12-19 株式会社ソニー・コンピュータエンタテインメント 楽音発生装置
US7171375B2 (en) * 2000-04-17 2007-01-30 4Sight Technologies, Inc. Method and system for enterprise wide production scheduling
US20020161698A1 (en) * 2000-10-04 2002-10-31 Wical Kelly J. Caching system using timing queues based on last access times
US20020138302A1 (en) * 2001-03-21 2002-09-26 David Bodnick Prepaid telecommunication card for health care compliance
US8306841B2 (en) * 2001-04-17 2012-11-06 4Sight Technologies, Inc. Enterprise project management system and method therefor
US20030204547A1 (en) * 2002-04-29 2003-10-30 Kevin Davis Technique for scheduling computer processes
CA2541576C (en) * 2003-10-29 2011-12-20 International Business Machines Corporation Information system, load control method, load control program and recor ding medium
US7436559B2 (en) * 2004-03-01 2008-10-14 Seiko Epson Corporation Load assignment in image processing by parallel processing
US7909241B2 (en) 2004-03-09 2011-03-22 Lowe's Companies, Inc. Systems, methods and computer program products for implementing processes relating to retail sales
US8856793B2 (en) 2004-05-11 2014-10-07 International Business Machines Corporation System, method and program for scheduling computer program jobs
JP4556554B2 (ja) * 2004-08-25 2010-10-06 セイコーエプソン株式会社 画像処理を並列処理で実行する際の負荷の割り付け
JP4501593B2 (ja) * 2004-08-25 2010-07-14 セイコーエプソン株式会社 画像処理を並列処理で実行する際の負荷の割り付け
US8171474B2 (en) * 2004-10-01 2012-05-01 Serguei Mankovski System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface
JP4117299B2 (ja) * 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム
US20080270653A1 (en) * 2007-04-26 2008-10-30 Balle Susanne M Intelligent resource management in multiprocessor computer systems
KR100968591B1 (ko) * 2007-06-14 2010-07-08 한국과학기술연구원 약물전달용 폴리포스파젠계 하이드로젤, 그의 제조방법 및그의 용도
US8522242B2 (en) * 2007-12-31 2013-08-27 Intel Corporation Conditional batch buffer execution
US8819266B2 (en) 2008-05-22 2014-08-26 Hartford Fire Insurance Company Dynamic file transfer scheduling and server messaging
US8544011B2 (en) 2008-06-30 2013-09-24 Panasonic Corporation Generation and concurrent execution of a virtual task in an execution order determining system
JP2010072846A (ja) * 2008-09-17 2010-04-02 Hitachi Software Eng Co Ltd ジョブ運用管理システム及び方法
US8266477B2 (en) * 2009-01-09 2012-09-11 Ca, Inc. System and method for modifying execution of scripts for a job scheduler using deontic logic
JP4977729B2 (ja) * 2009-03-30 2012-07-18 みずほ情報総研株式会社 ジョブスケジュール変更支援システム、方法及びプログラム
CN103324534B (zh) * 2012-03-22 2016-08-03 阿里巴巴集团控股有限公司 作业调度方法及其调度器
JP6127754B2 (ja) * 2013-06-12 2017-05-17 富士通株式会社 プログラム、排他制御要求振り分け方法およびシステム
JP2016071841A (ja) * 2014-09-30 2016-05-09 日本電気株式会社 ジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラム
US10410178B2 (en) 2015-03-16 2019-09-10 Moca Systems, Inc. Method for graphical pull planning with active work schedules
JP6477311B2 (ja) * 2015-07-10 2019-03-06 富士通株式会社 ジョブ実行カレンダ管理プログラム、ジョブ実行カレンダ管理装置、及びジョブ実行カレンダ管理方法
WO2018061219A1 (ja) * 2016-09-30 2018-04-05 株式会社日立製作所 ジョブスケジューリングシステム、ジョブスケジューリング方法、およびジョブスケジューリング装置
US11132631B2 (en) * 2017-05-26 2021-09-28 Oracle International Corporation Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling
US10430300B2 (en) 2017-06-05 2019-10-01 Bank Of America Corporation Predictive analysis, scheduling and observation system for use with loading multiple files
US10261837B2 (en) 2017-06-30 2019-04-16 Sas Institute Inc. Two-part job scheduling with capacity constraints and preferences
US10310896B1 (en) 2018-03-15 2019-06-04 Sas Institute Inc. Techniques for job flow processing
CN110362388B (zh) * 2018-04-11 2021-08-31 中移(苏州)软件技术有限公司 一种资源调度方法及装置
JP2020149330A (ja) * 2019-03-13 2020-09-17 富士ゼロックス株式会社 情報処理装置及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4589068A (en) * 1983-10-03 1986-05-13 Digital Equipment Corporation Segmented debugger
US4920484A (en) * 1988-10-05 1990-04-24 Yale University Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined
JPH0567069A (ja) * 1991-09-06 1993-03-19 Nec Software Ltd スケジユール作成方式
JPH05265775A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd ジョブ実行予測制御方法およびジョブ実行状況表示方法
JP3268338B2 (ja) * 1992-04-22 2002-03-25 株式会社日立製作所 計算機システム
JPH0683646A (ja) * 1992-09-03 1994-03-25 Okayama Nippon Denki Software Kk ジョブスケジュール管理システム
JP2519005B2 (ja) * 1992-11-02 1996-07-31 日本電気株式会社 ジョブスケジュ―ルシミュレ―ション装置
JP2550864B2 (ja) * 1993-05-31 1996-11-06 日本電気株式会社 ジョブ実行における分散型制御方法及びその装置

Also Published As

Publication number Publication date
JPH08286958A (ja) 1996-11-01
US5881283A (en) 1999-03-09

Similar Documents

Publication Publication Date Title
JP3501385B2 (ja) ジョブ実行順序決定方法
Ousterhout et al. Monotasks: Architecting for performance clarity in data analytics frameworks
Joseph et al. IntMA: Dynamic interaction-aware resource allocation for containerized microservices in cloud environments
US6889243B1 (en) Job scheduling analysis method and system using historical job execution data
Ganapathi et al. Statistics-driven workload modeling for the cloud
CN100533387C (zh) 执行作业步的系统和方法
US9760294B2 (en) Computer system, storage management computer, and storage management method
US20160234300A1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US5634120A (en) Computer system supporting utilization of utility functions applicable to concurrently executing jobs by monitoring job excution characteristics and determining eligible job combinations for utility function
CN105630575B (zh) 针对kvm虚拟化服务器的性能评估方法
Wildstrom et al. Towards self-configuring hardware for distributed computer systems
Kumar et al. A comprehensive review of straggler handling algorithms for mapreduce framework
Bawankule et al. Historical data based approach to mitigate stragglers from the Reduce phase of MapReduce in a heterogeneous Hadoop cluster
Liu et al. High-responsive scheduling with MapReduce performance prediction on hadoop YARN
Ousterhout et al. Performance clarity as a first-class design principle
CN107528871A (zh) 存储系统中的数据分析
Zhang et al. Performance modeling and optimization of deadline-driven Pig programs
US7058912B2 (en) Notifying status of execution of jobs used to characterize cells in an integrated circuit
CN110990227A (zh) 一种数值水池应用特征性能采集和监控系统及其运行方法
US7039707B2 (en) Disk subsystem, computer system, storage managing method and program
CN109324886A (zh) 集群资源调度方法和装置
JP4219119B2 (ja) ジョブ実行順序決定方法
Kambatla et al. Optimistic scheduling with service guarantees
Wang et al. Millipedes: Distributed and set-based sub-task scheduler of computing engines running on yarn cluster
Kuehn et al. Predicting resource usage for enhanced job scheduling for opportunistic resources in HEP

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031128

LAPS Cancellation because of no payment of annual fees