JP2015191282A - ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置 - Google Patents

ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置 Download PDF

Info

Publication number
JP2015191282A
JP2015191282A JP2014066223A JP2014066223A JP2015191282A JP 2015191282 A JP2015191282 A JP 2015191282A JP 2014066223 A JP2014066223 A JP 2014066223A JP 2014066223 A JP2014066223 A JP 2014066223A JP 2015191282 A JP2015191282 A JP 2015191282A
Authority
JP
Japan
Prior art keywords
job
jobs
information
computer
processing
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
JP2014066223A
Other languages
English (en)
Inventor
山野 直樹
Naoki Yamano
直樹 山野
佐々木 晃
Akira Sasaki
晃 佐々木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014066223A priority Critical patent/JP2015191282A/ja
Publication of JP2015191282A publication Critical patent/JP2015191282A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】1つの側面では、複数の情報処理装置で複数のジョブを実行させるときに、ジョブを実行する情報処理装置を決定するまでの時間を短縮する。
【解決手段】情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングすることを含む処理をジョブスケジュール装置(10)に実行させる。記憶部(24)には、複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報が記憶される。ジョブスケジュール装置(10)のスケジュール部(17)では、記憶部(24)に記憶された後段のジョブに関する情報に基づいて、後段のジョブの処理量が大きいジョブを、情報処理装置に実行させるジョブとして優先してスケジュールすることを含む処理が実行される。
【選択図】図1

Description

本発明は、ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置に関する。
業務処理を、複数の処理に分類して、各々の処理をジョブとしてコンピュータ等の情報処理装置が実行することが行われている。業務処理では複数のジョブの実行を短時間で完了させるために、複数のジョブを複数の情報処理装置で並列処理させる技術が知られている。例えば、同一ファイルにアクセスする2つのジョブを異なる情報処理装置上で実行させて並列処理させる技術が知られている。また、他のジョブと関連がないジョブを並列実行させる技術も知られている。さらに、ジョブの実行に関する時間を検討するために、ジョブの処理時間と共にファイルの転送時間を考慮して、複数のジョブの実行をシミュレートする技術も知られている。
複数のジョブについて複数の情報処理装置で並列処理させることによって、複数のジョブの実行開始から実行完了までを短時間で処理できる。従って、業務処理を短時間で完了することができる。
特開2012−14846号公報 特開平07−1145014号公報 特開平08−272626号公報 特開2012−173756号公報
しかしながら、複数のジョブを複数の情報処理装置で並列処理させることでは、業務処理に関連する総合的な時間に関する検討が不十分である。例えば、複数のジョブの実行開始から実行完了までの処理時間を短縮するために、複数のジョブの実行順序の設定及び各ジョブを実行する情報処理装置の設定を、予め行っておき、設定に基づいて並列処理させる。ジョブの実行順序の設定処理及びジョブを実行する情報処理装置の設定処理は、業務に熟知した設計者が検討を重ねて手動作業によって行うことが一般的である。
従って、複数のジョブを複数の情報処理装置で処理させるまでの設定処理における作業時間を含めた業務処理に関連するトータルコストは、コスト高になる。つまり、業務に熟知した設計者による手動作業の作業時間を含めた業務処理に関連する総合的な時間は長大化する。
また、ジョブの追加及び変更等の業務の一部変更を行う場合、複数のジョブの実行開始から実行完了までの処理時間を短縮するために、設計者による十分な設定処理の作業時間を確保する。従って、ジョブの追加及び変更等の業務の一部変更を行う場合でも、業務に熟知した設計者による作業時間の確保によって、トータルコストは、コスト高になる。
1つの側面では、複数の情報処理装置で複数のジョブを実行させるときに、ジョブを実行する情報処理装置を決定するまでの時間を短縮することを目的とする。
1つの態様では、情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングすることを含む処理をコンピュータに実行させる。記憶部には、複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報が記憶される。コンピュータでは、記憶部に記憶された後段のジョブに関する情報に基づいて、後段のジョブの処理量が大きいジョブを、情報処理装置に実行させるジョブとして優先してスケジュールすることを含む処理が実行される。
1つの側面では、後続のジョブを考慮した複数のジョブをスケジューリングすることができる、という効果を有する。
ジョブスケジュール装置の構成の一例を示すブロック図である。 コンピュータで実現するジョブスケジュール装置の一例を示すブロック図である。 業務処理に含まれるジョブの一例を示すイメージ図である。 ジョブ管理表の一例を示すイメージ図である。 データ管理表の一例を示すイメージ図である。 計算機利用マップの一例を示すイメージ図である。 計算機空き枠表の一例を示すイメージ図である。 候補リストの一例を示すイメージ図である。 ジョブ管理プログラムの処理の流れの一例を示すフローチャートである。 スケジュール作成プロセスの処理の流れの一例を示すフローチャートである。 スケジュール作成プロセスに含まれる個別処理の流れの一例を示すフローチャートである。 ジョブ管理表の一例を示すイメージ図である。 データ管理表の一例を示すイメージ図である。 計算機利用マップの一例を示すイメージ図である。 計算機空き枠の一例を示すイメージ図である。 候補リストの一例を示すイメージ図である。 ジョブ管理表の一例を示すイメージ図である。 データ管理表の一例を示すイメージ図である。 計算機利用マップの一例を示すイメージ図である。 計算機空き枠表の一例を示すイメージ図である。 候補リストの一例を示すイメージ図である。 ジョブ管理表の一例を示すイメージ図である。 データ管理表の一例を示すイメージ図である。 計算機利用マップの一例を示すイメージ図である。 計算機空き枠表の一例を示すイメージ図である。 業務処理に含まれるジョブとデータと計算機80との関係の一例を示す説明図である。 第2実施形態にかかるポリシーの優先度を決定する処理の流れの一例を示すフローチャートである。 第3実施形態にかかるポリシーの優先度を決定する処理の流れの一例を示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。本実施形態は、多数のジョブを複数の情報処理装置で実行することで、全体の処理時間を短縮する場合に開示の技術を適用するものである。
(第1実施形態)
図1に、本実施形態に係るジョブスケジュール装置10の一例を示す。ジョブスケジュール装置10は、CPU12及びメモリ14を含んでおり、メモリ14にはジョブスケジュールプログラム16が記憶される。CPU12は、メモリ14に記憶されるジョブスケジュールプログラム16を実行することによって、スケジュール部17として動作する。スケジュール部17は、特定部18、抽出部20、及び決定部22を含む。CPU12には、記憶部24が接続される。
また、ジョブスケジュール装置10には、ジョブを実行する複数(図1に示す一例では3台)の情報処理装置(ジョブ実行装置)26に接続される。
ジョブスケジュール装置10は、複数のジョブの実行をスケジュールする処理を行うものである。ジョブスケジュール装置10では、CPU12がジョブスケジュールプログラム16を実行することにより、スケジュール部17による処理が開始され、特定部18、抽出部20、及び決定部22による処理が実行される。スケジュール部17は、記憶部24に記憶されたジョブに関する情報に基づいて、後段のジョブの処理量が大きいジョブを、情報処理装置26に実行させるジョブとして優先してスケジュールする。これにより、後続のジョブを考慮した複数のジョブをスケジューリングできる。スケジュール部17に含まれる特定部18は、複数の情報処理装置26のうち、複数のジョブの実行をスケジュールするための複数のジョブに含まれる少なくとも1つのジョブの実行が可能な情報処理装置を特定する。また、抽出部20は、記憶部24に記憶された複数のジョブの各々に関するジョブ情報に基づいて、入力データが特定されるジョブを複数のジョブの中から抽出する。つまり、入力データが準備できているジョブを抽出する。決定部22は、抽出したジョブについて、抽出したジョブに後続するジョブの各々に関するジョブ情報に基づいて、特定部18で特定した情報処理装置26に実行させるジョブを、抽出したジョブの中から決定する。これにより、複数のジョブをスケジューリングする時間を短縮することができ、多数のジョブを複数の情報処理装置で実行する場合における全体の処理時間を短縮することができる。
なお、ジョブスケジュール装置10は開示の技術におけるジョブスケジュール装置の一例であり、スケジュール部17は開示の技術におけるスケジュール部の一例である。また、特定部18、抽出部20、及び決定部22は開示の技術における特定部、抽出部、及び決定部の一例である。さらに、ジョブスケジュールプログラム16は開示の技術におけるジョブスケジュールプログラムの一例である。
図2に、ジョブスケジュール装置10をコンピュータ30で実現する一例を示す。コンピュータ30はCPU32、メモリ42、及び不揮発性の格納部44を備える。CPU32、メモリ42、及び格納部44は、バス46を介して互いに接続される。また、コンピュータ30は、ディスプレイ等の表示部34、キーボード及びマウス等の入力部36を備え、表示部34及び入力部36はバス46に接続される。また、コンピュータ30は、記録媒体39に対して読み書きするための装置(IO装置)38がバス46に接続される。さらに、コンピュータ30はコンピュータネットワーク78に接続するためのインタフェースを含む通信制御部40を備える。なお、格納部44は、例えば、HDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。
格納部44には、コンピュータ30をジョブスケジュール装置10として機能させるためのプログラムを含むジョブ管理プログラム48が記憶される。格納部44に格納されたジョブ管理プログラム48は、定義登録プロセス50、スケジュール作成プロセス52、ジョブ投入プロセス60、及びジョブ監視プロセス62を含む。また、スケジュール作成プロセス52は、特定ルーチン54、抽出ルーチン56、及び決定ルーチン58を含む。CPU32は、ジョブ管理プログラム48を格納部44から読み出してメモリ42に展開し、ジョブ管理プログラム48が有する各プロセスを実行する。
なお、CPU32がジョブ管理プログラム48を格納部44から読み出してメモリ42に展開し、ジョブ管理プログラム48に含まれるスケジュール作成プロセス52を実行することで、コンピュータ30は図1に示すジョブスケジュール装置10として動作する。CPU32がジョブ管理プログラム48のスケジュール作成プロセス52を実行することで、コンピュータ30は図1に示すスケジュール部17としても動作する。また、CPU32がジョブ管理プログラム48のスケジュール作成プロセス52に含まれる特定ルーチン54を実行することで、コンピュータ30は図1に示す特定部18として動作する。さらに、CPU32が抽出ルーチン56を実行することで、コンピュータ30は図1に示す抽出部20として動作し、CPU32が決定ルーチン58を実行することで、コンピュータ30は図1に示す決定部22として動作する。つまり、ジョブ管理プログラム48に含まれるスケジュール作成プロセス52は、図1に示すジョブスケジュールプログラム16の一例である。
また、格納部44には、ジョブ管理表64、データ管理表66、計算機利用マップ68、及び計算機空き枠表70が記憶される。なお、詳細は後述するが、ジョブ管理プログラム48の実行により、メモリ42に候補リスト72が格納される。
図3に、本実施形態にかかる業務処理に含まれるジョブの一例を示す。ジョブ名P1〜P7の各ジョブは、入力される1又は複数のデータを用いて処理した後にデータを出力する。例えば、ジョブP1はデータAを用いて処理した後にデータBを出力し、ジョブP4はデータC,Dを用いて処理した後にデータEを出力する。なお、図3では、ジョブ形状の大きさを処理時間に対応させて表記される。
図4に、ジョブ管理表64のデータ構造の一例を示す。ジョブ管理表64は、ジョブ及びジョブの実行に関係する情報が登録される。図4ではジョブ管理表64として、「ジョブ名」、「入力」、「出力」、「処理時間(予測)」、「開始時刻」、及び、「実行計算機」の各情報が対応付けられて登録される一例を示す。「ジョブ名」を示す情報は、ジョブを識別するための名称を示す情報である。また、「入力」及び「出力」を示す情報は、ジョブで使用する入力側のデータを示す情報、及びジョブの実行により得られる出力側のデータを示す情報である。さらに、「処理時間(予測)」の情報は、ジョブの実行開始から実行終了までの予測処理時間を示す情報である。さらにまた、「開始時刻」の情報は、ジョブの実行開始時刻を示す情報である。また、「実行計算機」を示す情報は、ジョブを実行する計算機80の何れかを識別するための識別子を示す情報である。なお、図4では、「開始時刻」及び「実行計算機」の各情報が未定であることを示す「NA」が登録された一例を示す。
図5に、データ管理表66のデータ構造の一例を示す。データ管理表66は、ジョブの実行で用いられるデータに関係する情報が登録される。図5ではデータ管理表66として、「データ」、「転送時間」、「作成時刻」、及び、「データのある計算機」の各情報が対応付けられて登録される一例を示す。「データ」を示す情報は、ジョブの実行で用いられるデータを識別するための名称を示す情報である。また、「転送時間」を示す情報は、計算機間でデータを転送するときの転送時間を示す情報である。さらに、「作成時刻」を示す情報はデータがジョブの実行に使用できる状態になる時刻を示す情報が登録されるものであり、図5では、作成済みであるとき「0」の値が登録され、未定であることを示す「NA」が登録された一例を示す。さらにまた、「データのある計算機」の情報は、データを記憶した計算機を示す情報である。
図6に、計算機利用マップ68のデータ構造の一例を示す。計算機利用マップ68は、計算機80の各々に割り当てられるジョブを示す情報が登録される。図6に示す計算機利用マップ68では、所定時間を1単位として、0単位時間〜12単位時間内の何れかに各計算機80毎にジョブを示す情報が登録される一例を示す。
図7に、計算機空き枠表70のデータ構造の一例を示す。計算機空き枠表70は、計算機80の各々でジョブの実行が可能な時間を示す情報が登録される。図7に示す計算機空き枠表70では、「計算機名」、「開始時刻」、及び、「空き時間長」の各情報が対応付けられて登録される一例を示す。「計算機名」を示す情報は、計算機を識別するための計算機の名称を示す情報であり、「開始時刻」を示す情報はジョブの実行が可能な開始時刻を示す情報であり、「空き時間長」を示す情報はジョブの実行が可能な単位時間の数を示す情報である。
図8に、ジョブ管理プログラム48の実行によりメモリ42に格納される候補リスト72のデータ構造の一例を示す。候補リスト72は、入力データ候補リスト72A、及び実行候補リスト72Bを含む。入力データ候補リスト72Aには、データの名称等のデータを示す情報が格納される。また、実行候補リスト72Bにはジョブ名等のジョブを示す情報が格納される。
図2に示すコンピュータネットワーク78には、ジョブを実行する複数(図2に示す一例では3台)のジョブを実行する情報処理装置としての計算機80が接続される。
計算機80の各々はCPU82、メモリ84、及び不揮発性の格納部86を備える。CPU82、メモリ84、及び格納部86は、バス98を介して互いに接続される。また、計算機80は、ディスプレイ等の表示部90、キーボード及びマウス等の入力部92を備え、表示部90及び入力部92はバス98に接続される。また、計算機80は、記録媒体39に対して読み書きするためのIO装置94がバス98に接続される。さらに、計算機80はコンピュータネットワーク78に接続するためのインタフェースを含む通信制御部96を備える。なお、格納部86はHDDやフラッシュメモリ等によって実現できる。以下の説明で、複数の計算機80の各々又は計算機に含まれる要素の各々について個別に対象とする場合は、例えば、計算機80A,80B,80Cで示すように、符号に記号を付与して表記し、計算機80同士又は計算機に含まれる要素同士を区別して扱う。
なお、ジョブスケジュール装置10として動作するコンピュータ30はコンピュータネットワーク78に接続することに限定されない。例えば、コンピュータ30は、計算機80に有線接続または無線接続により直接接続してもよい。
ところで、業務処理を短時間で完了するために、複数のコンピュータ等の計算機により並列処理を行うことが一般的であり、業務処理に含まれるジョブを、複数の計算機に振り分けて並列処理を行うことで、業務処理を短時間で完了することができる。ジョブはデータを読み込んで、処理結果をデータとして出力する。また、特定のジョブの出力データが、別のジョブの入力データとなる場合もある。ジョブを複数の計算機で実行させるためには、ジョブで使用するデータの格納場所とジョブ間の前後関係、及びデータの受け渡しまでを考慮したスケジュールを作成する。
業務処理を実行するシステムの構成が固定的である場合、ジョブのスケジュールの作成は、業務を熟知した設計者によって事前に工数及び時間をかけて行うので、コスト高になる。しかし、固定的なシステム構成では、作成済みのスケジュールを変更する頻度が少ないので、スケジュール作成に投入される工数及び時間より、作成するスケジュールによるジョブの実行時間を短縮することが重視される。
しかし、近年、計算機の追加、ジョブの増加等、及びシステム構成の変更が要求されることが増加している。例えば、業務の繁忙期等に、業務の負荷やデータの量等に応じて計算機を増減させることが可能である。計算機及びジョブの増減させる場合、手動作業によるコスト高であるスケジュールの再作成を行うことになる。
コスト高を抑制するために、スケジュールの作成を自動的に作成させる場合には、どのジョブをどの計算機に振り分けるか、どのジョブを並列実行するか等の選択を計算機によって行うことが考えられる。例えば、選択のパターンを総当たりして、短時間で複数のジョブを完了できるスケジュールを捜すことが考えられる。しかし、例えば1000個のジョブについて、2択の選択肢が10ジョブ毎に存在する場合、組み合わせは2の100乗通りとなる。2の100乗通りの処理は、200000MIPS(Million Instructions Per Second)のCPUが1命令で1つの選択肢を処理することを想定すると、10000億年以上の処理時間になり、非現実的である。
そこで、本実施形態は、業務処理に関連する全体の処理を想定して、少なくともスケジュール作成の計算時間を短縮するものである。また、本実施形態は、スケジュール作成の計算時間を短縮すること、及び業務処理に最適なスケジュールを作成することの二律相反する課題を達成することを目指している。
次に、本実施形態の作用を説明する。
図9に、ジョブスケジュール装置10をコンピュータ30で実現する場合におけるジョブ管理プログラム48の処理の流れの一例を示す。
まず、コンピュータ30では、例えば操作者の手動操作によって、ジョブに関連する定義を示す情報が登録される(ステップ100)。つまり、CPU32は、ステップ100で、定義登録プロセス50の実行によりジョブに関連する定義を示す情報として、ジョブの定義を示す情報をジョブ管理表64(図4参照)に登録する。ジョブの定義を示す情報の一例として、ジョブ管理表64に示す「ジョブ名」、「入力」、「出力」、「処理時間」、「開始時刻」、及び「実行計算機」に対応する情報がある。なお、「入力」に対応する情報の一例として入力データ名を示す情報があり、「出力」に対応する情報の一例として出力データ名を示す情報がある。また、ジョブの定義を示す情報には、入力データ、及び出力データの各々のデータ量を示す情報を含めてもよい。ジョブの処理時間は、入力データの大きさに応じて変動する場合があるので、ジョブの入力データの大きさから予測計算する計算結果を、処理時間を示す情報として登録してもよい。なお、ジョブ管理表64に示す「開始時刻」、及び「実行計算機」の各情報は、後述するスケジュール作成プロセス52の実行により決定される情報であるため、ステップ100では、未定であることを示す「NA]が登録される。
また、CPU32は、ステップ100で、ジョブに関連する定義を示す情報をデータ管理表66(図5参照)にも登録する。つまり、CPU32は、ステップ100で、ジョブに関連する定義を示す情報として、ジョブで使用するデータの定義を示す情報をデータ管理表66に登録する。データ管理表66に登録するデータの定義を示す情報の一例として、データ管理表66に示す「データ」、「転送時間」、「作成時刻」、及び「データのある計算機」に対応する情報がある。「データ」に対応する情報の一例としてデータ名を示す情報がある。また、「転送時間」に対応する情報の一例としてデータの転送時間を示す情報がある。データの転送時間は、転送するデータの大きさに応じて変動する場合があるので、データの大きさから予測計算する計算結果を、転送時間を示す情報として登録してもよい。
なお、ステップ100においてジョブに関連する定義を示す情報が登録されるとき(初期状態のとき)、ジョブで使用するデータが既に存在している場合、「作成時刻」に対応する情報として「0」の値が登録される。また、初期状態のときにジョブで使用するデータが既に存在している場合、全ての計算機80にデータが存在するものとして計算機名を示す情報が「データのある計算機」に対応する情報として登録される。一方、初期状態のときにジョブで使用するデータが存在しない場合、「作成時刻」に対応する情報として「NA」の値が登録され、「データのある計算機」に対応する情報として「空白」を示す情報が登録される。
また、CPU32は、ステップ100で、ジョブに関連する定義を示す情報を計算機利用マップ68(図6参照)にも登録する。つまり、CPU32は、ステップ100で、ジョブに関連する定義を示す情報として、業務処理を実行する対象の計算機80の定義を示す情報を計算機利用マップ68に登録する。計算機利用マップ68に登録する計算機80の定義を示す情報の一例として、計算機名を示す情報がある。計算機利用マップ68は、登録される計算機80毎に、ジョブが割り当てられることを示す情報を登録可能なように、初期状態の0単位時間から所定単位時間(図6では一例として12単位時間を示す)まで登録領域が確保される。従って、ステップ100における初期状態では、計算機名を示す情報が登録される。
次に、コンピュータ30は、ステップ100で登録されるジョブについてスケジュール作成処理を実行する(ステップ102)。詳細は後述するが、CPU32は、複数のジョブの各々を実行する時期及び実行対象の計算機80を決定する業務処理のスケジューリングを行う。次に、コンピュータ30は、ステップ102で作成したスケジュールに従って、各ジョブを計算機に投入し(ステップ104)、業務処理を実行する(ステップ106)。つまり、CPU32は、作成されたスケジュールに従って各ジョブを対象の計算機80へ投入し、ジョブを投入した計算機80にジョブの実行を指示することで、業務処理を実行する。なお、ステップ106では、ジョブを投入した計算機80へのジョブの実行指示を含めて対象の計算機80におけるジョブの実行が監視される。ジョブの実行監視の一例として、計算機80において実行されたジョブの終了通知を受け取る処理、及び計算機80で実行されたジョブにより得られたデータを示す情報の取得処理がある。
図9に示すステップ100の処理は、定義登録プロセス50(図2)による処理に対応し、ステップ102の処理は、スケジュール作成プロセス52(図2)の処理に対応する。また、ステップ104の処理は、ジョブ投入プロセス60(図2)による処理に対応し、ステップ106の処理は、ジョブ監視プロセス62(図2)の処理に対応する。
図10に、ジョブ管理プログラム48に含まれるスケジュール作成プロセス52の処理の流れの一例を示す。なお、以下の説明では、ジョブ名P1〜P7の7個のジョブを含む業務処理を、3台の計算機80A,80B,80Cにより実行する場合を説明する。
まず、CPU32は、スケジュール作成プロセス52を実行する。具体的には、CPU32は、ステップ110で、計算機空き枠表作成処理を実行する。計算機空き枠表作成処理では、CPU32は、計算機利用マップ68を参照し、計算機80毎に、計算機利用マップ68における空き枠を探索し、空き枠の開示時刻と空き時間長(空き枠の長さ)を求める。なお、空き枠の開示時刻は、0単位時間〜12単位時間のうち該当する単位時間の位置を示す数値に対応する。また、空き時間長は、単位時間の個数に対応する。CPU32は、求めた空き枠の開示時刻及び空き時間長を示す情報と、計算機80との対応関係を、計算機空き枠表70として作成する(図7参照)。なお、CPU32は、ステップ110において、開始時刻を示す情報に基づき、対応関係をソートする処理も実行する。対応関係をソートする処理は、開始時刻の早い順序(または遅い順序)、つまり単位時間の位置を示す数値が小さい順序(または大きい順序)で整列する処理である。
次に、CPU32は、ステップ112で、計算機空き枠表70において最も早い開始時刻(単位時間の位置を示す数値が小さい)の空き枠の開始時刻を、ジョブ開始可能時刻に設定し、次のステップ114で、入力データ候補リスト72Aを生成する。ステップ114では、CPU32は、データ管理表66を参照し、ジョブ開始可能時刻より前に作成時刻となるデータを抽出し、抽出した1または複数のデータのリストを入力データ候補リスト72Aに設定する(図8参照)。また、CPU32は、ステップ116で、実行候補リスト作成処理を実行する。実行候補リスト作成処理では、ジョブ管理表64を参照して、入力データ候補リスト72Aに含まれるデータを入力データとするジョブを抽出し、抽出した1または複数のジョブのリストを実行候補リスト72Bに設定する(図8参照)。なお、ステップ116の処理では、ジョブ管理表64において開始時刻及び実行計算機が決定済みのジョブは除外する。
実行候補リスト作成処理の終了後、CPU32は、ステップ118で、実行候補リスト72Bに、少なくとも1つのジョブが含まれているか否かを判別することにより、対象ジョブが有るか否かを判断する。CPU32は、ステップ118で否定判断すると、ステップ120で、データ管理表66を参照し、ジョブ開始可能時刻より後に作成時刻となるデータのうち最も早い作成時刻(単位時間の位置を示す数値が最小)のデータを検索する。次に、CPU32は、ステップ122で、検索結果のデータにおける作成時刻以前の計算機利用マップ68の全ての空き枠に、使用済みを示す情報を登録した後に、ステップ110へ処理を戻す。
一方、CPU32は、ステップ118で肯定判断すると、ステップ124へ処理を移行し、ステップ124で個別処理を実行した後に、ステップ126へ処理を移行する。詳細は後述するが、ステップ124に示す個別処理は、実行候補リスト72Bに含まれるジョブの実行順序及び実行対象の計算機80を決定する処理である。CPU32は、ステップ124に示す個別処理を終了すると、ステップ126で、ジョブ管理表64に示す全ての欄の情報が登録されたか否かを判別することにより、ジョブ管理表64が完成したか否かを判断する。CPU32は、ステップ126で否定判断すると、ステップ100へ処理を戻し、肯定判断すると、スケジュール作成プロセス52を終了する。
図11に、スケジュール作成プロセス52に含まれる個別処理(図10でステップ124に示す処理)の流れの一例を示す。なお、図11に示す個別処理には、図2に示す特定ルーチン54、抽出ルーチン56、及び決定ルーチン58の各々による処理が含まれる。
まず、CPU32は、ステップ130で、予め定められたポリシーを参照する。ポリシーは、複数のジョブの中で優先するジョブを定めるための条件を示す。本実施形態で用いるポリシーの一例を、次に示す。本実施形態では、次に示す複数のポリシーの少なくとも1つのポリシーを用いる。また、複数のポリシーを用いる場合には、予め優先度を定めておき、優先度に従って、ポリシーを適用する。
<ポリシー>
第1ポリシー:生成したデータで実行可能となるジョブ数が多いジョブを優先する。
第2ポリシー:ジョブの処理時間(予想時間を含む)が長いジョブを優先する。
第3ポリシー:データの転送時間が個々のジョブの処理時間より長いジョブを優先する。
第4ポリシー:後続のジョブの処理時間の合計が長いジョブを優先する。
第5ポリシー:特定のデータを入力とする複数のジョブが存在する場合に他のポリシーを 適用する。
第6ポリシー:特定の時点で開始可能なジョブが実行対象の計算機数を超えていた場合に 他のポリシーを適用する。
第1ポリシーは、特定のジョブにより生成されるデータによって実行可能となるジョブ数を計数し、計数値が大きいジョブを優先することを示す条件である。例えば、生成したデータで実行可能となるジョブ数が少ないジョブほど、他の計算機80に振り分けることが可能であることを示す。第2ポリシーは、例えば、短い処理時間のジョブほど、他の計算機80に振り分けることが可能であることを示す。第3ポリシーは、例えば、データの転送時間が個々のジョブの処理時間より短いジョブほど、データを転送してでも他の計算機に振り分けることが可能であることを示す。第4ポリシーは、例えば、後続するジョブの合計の処理時間が短いジョブほど、他の計算機80に振り分けることが可能であることを示す。第5ポリシー及び第6ポリシーは、対象とする複数のジョブを定めるための条件を示す。
なお、個々のジョブの処理時間にバラツキが少ない場合、第1ポリシーによる単純なジョブ数で優先するジョブを定めることで、処理を単純化しスケジュール作成の計算コストを抑制することができる。
次に、CPU32は、ステップ132で、実行候補リスト72Bに含まれるジョブの中から、ポリシーに従って対象ジョブを決定し、ステップ134で、計算機の空き枠の検索処理を実行する。ステップ134では、CPU32は、計算機空き枠表70を参照し、開示時刻が早い計算機80から順に、対象ジョブの処理時間より長い空き時間長の計算機80の空き枠を検索する。なお、ステップ134では、データ管理表66を参照し、対象ジョブの入力データが計算機80に存在しない場合に、対象ジョブの入力データの転送時間を含めた開始時刻を用いる。つまり、入力データの作成時刻に転送時間を加算した時刻と、計算機空き枠表70の開始時刻との遅い時刻を開始時刻として扱うこととする。
計算機の空き枠の検索処理が終了されると、CPU32は、ステップ136で、ジョブ管理表64の更新処理を実行する。つまり、CPU32は、ステップ136で、ジョブ管理表64における対象ジョブの開始時刻を示す情報として、ステップ134の検索結果の空き枠の開始時刻を示す情報を登録する。また、CPU32は、ステップ136で、ジョブ管理表64における対象ジョブの実行計算機の情報として、ステップ134の検索結果の空き枠を有する計算機80を示す情報を登録する。
図12に、初期状態から第1回目の個別処理により更新されるジョブ管理表64の一例を示す。図12に示すジョブ管理表64では、ジョブ名P1のジョブが対象ジョブに決定され、開始時刻が「0」、及び実行計算機が「計算機80A」を示す情報に更新されることを示す。
図11に示すステップ136においてジョブ管理表64の更新処理が終了されると、CPU32は、ステップ138で、データ管理表66の更新処理を実行する。つまり、CPU32は、ステップ138で、対象ジョブの入力データに対応するデータ管理表66のデータについて、データのある計算機を示す情報として、ステップ134の検索結果の空き枠を有する計算機80を示す情報を追加する。また、CPU32は、ステップ138で、対象ジョブの出力データに対応するデータ管理表66のデータについて、データのある計算機を示す情報として、ステップ134の検索結果の空き枠を有する計算機80を示す情報を追加する。さらに、CPU32は、ステップ138で、対象ジョブの出力データに対応するデータ管理表66のデータについて、作成時刻を示す情報として、対象ジョブの開始時刻に処理時間を加算した時刻を示す情報を登録する。
図13に、データ管理表66の一例を示す。図13に示すデータ管理表66は、ジョブ名P1の対象ジョブの出力データであるデータ名Bのデータについて、作成時刻が「2」、及びデータのある計算機が「計算機80A」を示す情報に更新されることを示す。
図11に示すステップ138においてデータ管理表66の更新処理が終了されると、CPU32は、ステップ140で、計算機利用マップ68の更新処理を実行する。つまり、CPU32は、ステップ140で、対象ジョブの開始時刻から処理時間の長さの計算機利用マップ68の空き枠に、使用済みを示す情報を登録する。計算機利用マップ68の更新処理が終了されると、CPU32は、個別処理を終了する。
図14に、計算機利用マップ68の一例を示す。図14に示す計算機利用マップ68は、ジョブ名P1の対象ジョブを示す情報が計算機80Aに割り当てられて更新されることを示す。
次に、実行候補リスト72Bに含まれるジョブについて個別処理が順次処理される過程における各種の表について説明する。
図15に、計算機空き枠表70の一例を示す。図15に示す計算機空き枠表70は、ジョブ名P1の対象ジョブの個別処理が終了し、再度計算機空き枠表作成処理(図10に示すステップ110の処理)が実行された結果を示す。図16に、候補リスト72の一例を示す。図16に示す候補リスト72は、ジョブ名P1の対象ジョブの個別処理が終了し、候補リストが再生成される処理(図10に示すステップ114、116の処理)が実行された結果を示す。ジョブ名P1のジョブは、既にジョブを実行させるスケジュールが決定済であるので、実行候補リスト72Bにはジョブ名P1のジョブを示す情報が除外される。
図17に、ジョブ名P5,P6の各ジョブが対象ジョブに決定されて個別処理により更新されるジョブ管理表64の一例を示す。図17に示すジョブ管理表64では、ジョブ名P5のジョブについて、開始時刻が「0」、及び実行計算機が「計算機80B」を示す情報に更新されることを示す。また、図17では、ジョブ名P6のジョブについて、開始時刻が「0」、及び実行計算機が「計算機80C」を示す情報に更新されることも示す。図17では、ジョブ名P1,P5,P6の各ジョブを実行させるスケジュールが決定済であることが示されている。
図18に、データ管理表66の一例を示す。図18に示すデータ管理表66は、ジョブ名P5のジョブの出力データであるデータ名Gのデータについて、作成時刻が「2」、及びデータのある計算機が「計算機80B」を示す情報に更新されることを示す。また、図18では、ジョブ名P6のジョブの出力データであるデータ名Hのデータについて、作成時刻が「2」、及びデータのある計算機が「計算機80C」を示す情報に更新されることも示す。図17では、データ名B,G,Hの各データの作成時刻が決定済であることが示されている。
図19に、計算機利用マップ68の一例を示す。図19に示す計算機利用マップ68は、ジョブ名P5の対象ジョブを示す情報が計算機80Bに割り当てられて更新されることを示す。また、図19では、ジョブ名P6の対象ジョブを示す情報が計算機80Cに割り当てられて更新されることも示す。
図20に、計算機空き枠表70の一例を示す。図15に示す計算機空き枠表70は、ジョブ名P5、P6の対象ジョブの個別処理が終了し、再度計算機空き枠表作成処理(図10に示すステップ110の処理)が実行された結果を示す。
図21に、候補リスト72の一例を示す。図16に示す候補リスト72は、ジョブ名P5、P6の対象ジョブの個別処理が終了し、候補リストが再生成される処理(図10に示すステップ114、116の処理)が実行された結果を示す。なお、図21に示す実行候補リスト72Bにおけるジョブでは、後続のジョブの処理量が多いジョブが優先される。つまり、第1ポリシー〜第6ポリシーを順に適用して優先するジョブを定める。例えば、第1のポリシーと第2ポリシーとを順に適用し、後続のジョブ数が多く、処理時間が長いジョブを優先する場合、最も優先されるジョブはジョブ名P2のジョブとなる。また、計算機80B,80Cの空き枠の場合、ジョブ名P2のジョブで使用するデータ名Bのデータが存在しないため、転送時間が加味され、開始時間が遅れるので、ジョブ名P2のジョブは計算機80Aの空き枠にスケジュールされる。
図22に、スケジュール作成プロセス52の処理が終了した場合(図10に示すステップ126で肯定判断される場合)におけるジョブ管理表64の一例を示す。また、図23に、データ管理表66の一例を示し、図24に、計算機利用マップ68の一例を示す。なお、スケジュール作成プロセス52の処理が終了すると、計算機空き枠表作成処理(図10に示すステップ110の処理)は実行されないが、仮想的に実行する場合の結果として得られる計算機空き枠表70の一例を図25に示す。
また、図26に、スケジュール作成プロセス52の処理が終了した場合におけるジョブとデータと計算機80との関係の一例を示す。
本実施形態では、個々のジョブの開始を可能な限り早くするスケジュールを作成するものである。個々のジョブの実行を迅速に開始するスケジュールを作成するため、図26に示すように、ジョブ名P2のジョブの処理完了を待つことなく、計算機80Bでジョブ名P3のジョブを実行するスケジュールを作成することができる。しかし、ジョブ名P4のジョブの開始の決定において、データ名Dのデータを計算機80Aに戻すロスが発生するので、ジョブ名P3のジョブを計算機80Aで実行するスケジュールである最適解に比べて業務処理の処理時間は増加する。しかし、最適解を導き出すためにいくつもの解の候補を検討するという処理が省略可能となるため、スケジュールの作成にかかる時間は大幅に減少する。従って、スケジュールの作成とジョブの実行を合わせた総時間は最適解を求めて実行するよりも減少する。
なお、CPU32により実行されるステップ102の処理は、コンピュータ30がジョブスケジュール装置として動作する場合におけるスケジュール部の処理に対応する一例である。CPU32により実行されるステップ110の処理は、コンピュータ30がジョブスケジュール装置として動作する場合における特定部の処理に対応する一例である。また、CPU32により実行されるステップ116の処理は、コンピュータ30がジョブスケジュール装置として動作する場合における抽出部の処理に対応する一例である。さらに、CPU32により実行されるステップ124の処理は、コンピュータ30がジョブスケジュール装置として動作する場合における決定部の処理に対応する一例である。
以上説明したように、本実施形態では、データの作成時刻や作成場所、転送時間を考慮してジョブを実行させるためのスケジュールを作成することによって、ジョブ間の依存関係を考慮してスケジュールを自動的に作成することができる。つまり、ジョブ間にデータの依存関係を持つ多数のジョブについて、ジョブの実行スケジュールを短時間で作成することで、スケジュールの作成とジョブの実行を合わせた総時間を短縮することができる。これによって、日々変わる業務の状況に合わせて、計算機の台数を変更すること、ジョブを追加すること等の業務処理の変更に応じた対応を容易に実施することができる。
また、本実施形態は、最適解を追求することに限定されず、例えば、後続のジョブの処理量が多いジョブを優先する等のポリシーにより短時間でスケジュールを作成することで、スケジュール作成時間とジョブの実行時間を合わせた総実行時間を短縮できる。つまり、後続のジョブの処理量が多いジョブを優先してスケジュールすることで、後続のジョブを考慮した複数のジョブのスケジューリングが可能となる。また、後続のジョブを考慮した複数のジョブをスケジュールすることで、複数のジョブの組み合わせを全て検討してスケジュールすることに比べてスケジュール作成時間を短縮することができる。
さらに、本実施形態では、入力データが計算機に保持されるジョブをスケジュールされる候補の複数のジョブとして抽出することができる。これにより、スケジュールされるジョブはジョブを実行する計算機に保持されるデータを用いることができ、データを転送する等の準備時間を短縮できる。
さらにまた、本実施形態では、複数の計算機の各々の処理の実行状況に基づいて、ジョブの処理の実行が可能な計算機が特定され、特定されたジョブの処理の実行が可能な計算機が、候補の複数のジョブを実行させる計算機として定められる。これにより、計算機における処理の実行状況を考慮してジョブを実行させる計算機を定めることができる。
また、本実施形態では、対象ジョブに後続するジョブの各々の処理時間を示す情報に基づいて、特定した計算機80に実行させるジョブを決定するので、対象ジョブを容易に決定することができる。
また、本実施形態では、ジョブに後続するジョブの個数を示す情報に基づいて、情報処理装置に実行させるジョブを決定するので、対象ジョブを容易に決定することができる。
また、本実施形態では、特定した計算機80に記憶されるデータを入力データとして実行するジョブを、データを記憶した計算機で実行するか、データを記憶した計算機以外の計算機で実行するかが判断される。また、判断結果に基づいて、計算機で実行させるジョブを決定するので、対象ジョブを容易に決定することができる。
また、本実施形態では、ジョブ実行の優先度を示す情報に基づいて、計算機で実行させるジョブを決定するので、対象ジョブを容易に決定することができる。
また、本実施形態では、特定の時点で実行開始可能なジョブが実行対象の情報処理装置の総数を超えていた場合に、優先度を示す情報に基づいて、計算機で実行させるジョブを決定するので、対象ジョブを容易に決定することができる。
さらに、本実施形態では、複数のジョブの各々に対して、処理を実行する計算機が割り当てられるまで、計算機の特定と、ジョブの抽出と、ジョブの決定とを繰り返す。従って、業務処理に関連する全体の処理を想定して、少なくともスケジュール作成の計算時間を短縮して、ジョブのスケジュールを完成させることができる。
さらにまた、本実施形態では、複数の計算機の各々の動作開始時刻を含む動作状況に基づいて、ジョブの処理の実行が可能な計算機を特定する。また、入力データ及び出力データの作成時刻を含む作成状況と、処理の開示時刻を含む処理状況とを示す情報に基づいて、処理の実行前に入力データが作成済みのジョブを複数のジョブの中から抽出する。従って、計算機の動作状況を反映しつつジョブに関連する入力データ及び出力データの作成状況、そして処理状況を反映してジョブのスケジュールを完成させることができる。
(第2実施形態)
次に、第2実施形態を説明する。第1実施形態では、予め定められたポリシーを参照して対象ジョブを決定する場合の一例を説明した。第2実施形態では、複数のジョブに対して適用するポリシーを決定する場合の一例を説明する。なお、第2実施形態は、第1実施形態と同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
第2実施形態では、図10でステップ124に示すスケジュール作成プロセス52における個別処理より上流側において、ポリシーの優先度を決定する処理を実行させるものである。具体的な一例として、図10に示すステップ124の処理の前に、ポリシーの優先度を決定する処理を追加することができる。また、他の例として、図11に示すステップ130の処理の前に、ポリシーの優先度を決定する処理を追加することができる。
図27に、ポリシーの優先度を決定する処理の流れの一例を示す。
まず、CPU32は、ステップ200で、格納部44に格納される複数のポリシーを示すポリシーの一覧を取得し、表示部34に表示する。なお、表示部34に表示されるポリシーの一覧に含まれる複数のポリシーは、入力部36による入力によって、ポリシーの適用順序及び少なくとも1つのポリスーを選択できるようになっている。次に、CPU32は、ポリシーの適用順序の指定及び1以上のポリシーの選択指示の少なくとも一方による適用指示が、入力部36による入力によってなされるまで、ステップ202で否定判断する。ステップ202で肯定判断されると、CPU32は、ステップ204で、適用指示されたポリシーに従って、ジョブを実行させる場合の完了までの予測時間を算出し、表示部34に表示する。次に、CPU32は、ステップ206で、入力部36による入力によってなされた適用指示でポリシーを設定することを示す承諾指示が、入力部36による入力によってなされたか否かを判断する。例えば、設計者は、表示部34に表示される適用指示されたポリシーによる予測時間を参照し、適用指示でポリシーを設定することの可否を確認する。設計者は、確認結果に応じて入力部36による入力によって承諾指示または拒否を示す情報を入力する。CPU32は、ステップ206で否定判断した場合には、ステップ200へ処理を戻す。一方、CPU32は、ステップ206で肯定判断した場合には、ステップ206へ処理を移行し、適用指示によるポリシーの適用順序及び1以上のポリシーの選択指示の少なくとも一方の情報に基づいて、ポリシーの優先度を決定し、本処理ルーチンを終了する。
以上説明したように、第2実施形態では、複数のジョブに適用するポリシーについて、設計者による適用指示によって優先度を設定することができる。これによって、第2実施形態では、優先度の設定により変動する業務処理の処理時間を考慮して、複数のジョブに適用するポリシーを設定することができる。
(第3実施形態)
次に、第3実施形態を説明する。第3実施形態は、定期的またはスケジュールの作成後に一定時間を経過したときに、ポリシーの優先度を決定する処理を実行させるものである。なお、第3実施形態は、第1実施形態及び第2実施形態と同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
図28に、ポリシーの優先度を決定する処理の流れの一例を示す。図28に示すポリシーの優先度を決定する処理は、定期的に実行される。なお、第3実施形態では、スケジュールの作成後に経過時間を計測することができる。
まず、CPU32は、ステップ300で、スケジュールの作成後に所定時間を経過したか否かを判断し、否定判断する場合にはそのまま本ルーチンを終了する。一方、CPUがステップ300で肯定判断する場合には、ステップ302へ処理を移行した後に、本ルーチンを終了する。ステップ302では、図27に示すポリシーの優先度を決定する処理が実行される。
以上説明したように、第3実施形態では、定期的またはスケジュールの作成後に一定時間を経過したときに、ポリシーの優先度を決定する処理を実行するので、複数のジョブに適用するポリシーについて検討する機会を、提供することができる。
なお、上記ではジョブスケジュール装置10をコンピュータ30により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
また、上記ではプログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。例えば、開示の技術におけるプログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするコンピュータに、
記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールする
ことを含む処理を実行させるためのジョブスケジュールプログラム。
(付記2)
前記記憶部は、ジョブの各々の入力データと出力データとを示す情報を含むジョブ情報を記憶し、
前記コンピュータに、
前記記憶部に記憶された前記ジョブ情報に基づいて、特定タイミングにおいて入力データが前記情報処理装置に保持されるジョブを前記スケジュールされる候補の複数のジョブとして抽出する
処理を実行させる付記1記載のジョブスケジュールプログラム。
(付記3)
前記記憶部は、複数の情報処理装置の各々の処理の実行状況を特定する情報を記憶し、
前記コンピュータに、
前記記憶部に記憶された、複数の情報処理装置の各々の処理の実行状況を特定する情報に基づき、前記特定タイミングにおいてジョブの処理の実行が可能な情報処理装置を特定し、特定した該ジョブの処理の実行が可能な情報処理装置を、前記候補の複数のジョブを実行させる前記情報処理装置として特定する、
処理を実行させる付記2に記載のジョブスケジュールプログラム。
(付記4)
前記記憶部は、前記複数のジョブの各々の実行開始から完了までの予測処理時間を示す処理時間情報を含むジョブ情報を記憶し、
前記コンピュータに、
前記抽出された複数のジョブの各々の前記後段のジョブの前記処理時間情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
付記2または付記3に記載のジョブスケジュールプログラム。
(付記5)
前記抽出された複数のジョブの各々の前記後段のジョブに関する情報として、前記後段のジョブ数を示す情報を求め、求めた前記後段のジョブ数を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
付記2〜付記4の何れか1項に記載のジョブスケジュールプログラム。
(付記6)
前記記憶部は、前記複数のジョブの各々の入力データ及び出力データの少なくとも一方のデータの転送時間を示す転送時間情報を記憶し、
前記コンピュータに、
前記抽出された複数のジョブの各々のうち前記情報処理装置で実行されるジョブを前段のジョブとして、該前段のジョブの出力データの前記転送時間情報または該出力データを入力データとして処理を実行する後段のジョブの入力データの前記転送時間情報に基づいて、前記前段のジョブの処理を実行した後に前記後段のジョブの処理を実行するか、前記前段のジョブの処理を実行した後に前記前段のジョブの出力データを前記情報処理装置以外の情報処理装置へ転送して前記情報処理装置以外の情報処理装置で前記後段のジョブの処理を実行するかを判定する
付記2〜付記5の何れか1項に記載のジョブスケジュールプログラム。
(付記7)
前記記憶部は、前記複数のジョブの各々の優先度を示す情報を含むジョブ情報を記憶し、
前記コンピュータに、
前記記憶部に記憶された、前記抽出された複数のジョブの各々の前記優先度を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
付記2〜付記6の何れか1項に記載のジョブスケジュールプログラム。
(付記8)
特定タイミングで実行開始可能なジョブが実行対象の情報処理装置の総数を超えていた場合に、前記優先度を示す情報に基づいて、前記情報処理装置で実行させるジョブをスケジュールする
付記7に記載のジョブスケジュールプログラム。
(付記9)
前記候補の複数のジョブの実行が全てスケジュールされるまで、前記ジョブの抽出と、前記情報処理装置の特定と、前記情報処理装置で実行させるジョブをスケジュールすることと、を繰り返す
付記3〜付記8の何れか1項に記載のジョブスケジュールプログラム。
(付記10)
前記複数の情報処理装置の各々の処理の実行状況を特定する情報は、前記複数の情報処理装置の各々の動作開始時刻を含む動作状況を含み、前記ジョブ情報は、前記入力データ及び出力データの作成時刻を含む作成状況と、処理の開示時刻を含む処理状況とを示す情報を含み、
前記動作状況に基づいて、前記候補の複数のジョブを実行させる前記情報処理装置を特定する
付記3〜付記9の何れか1項に記載のジョブスケジュールプログラム。
(付記11)
情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするコンピュータが、
記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールする
ことを含むジョブスケジュール方法。
(付記12)
前記記憶部は、ジョブの各々の入力データと出力データとを示す情報を含むジョブ情報を記憶し、
前記コンピュータが、
前記記憶部に記憶された前記ジョブ情報に基づいて、特定タイミングにおいて入力データが前記情報処理装置に保持されるジョブを前記スケジュールされる候補の複数のジョブとして抽出する
ことを含む付記11記載のジョブスケジュール方法。
(付記13)
前記記憶部は、複数の情報処理装置の各々の処理の実行状況を特定する情報を記憶し、
前記コンピュータが、
前記記憶部に記憶された、複数の情報処理装置の各々の処理の実行状況を特定する情報に基づき、前記特定タイミングにおいてジョブの処理の実行が可能な情報処理装置を特定し、特定した該ジョブの処理の実行が可能な情報処理装置を、前記候補の複数のジョブを実行させる前記情報処理装置として特定する、
ことを含む付記12に記載のジョブスケジュール方法。
(付記14)
前記記憶部は、前記複数のジョブの各々の実行開始から完了までの予測処理時間を示す処理時間情報を含むジョブ情報を記憶し、
前記コンピュータが、
前記抽出された複数のジョブの各々の前記後段のジョブの前記処理時間情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
ことを含む付記12または付記13に記載のジョブスケジュール方法。
(付記15)
前記抽出された複数のジョブの各々の前記後段のジョブに関する情報として、前記後段のジョブ数を示す情報を求め、求めた前記後段のジョブ数を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
ことを含む付記12〜付記14の何れか1項に記載のジョブスケジュール方法。
(付記16)
前記ジョブ情報は、前記入力データ及び前記出力データの少なくとも一方のデータの転送時間を示す転送時間情報を含み、
前記抽出した前記ジョブのうち、前記情報処理装置で実行された前段のジョブの出力データを入力データとして処理を実行するジョブを、前記前段のジョブの処理を実行した前記情報処理装置で実行するか、前記前段のジョブを実行した前記情報処理装置以外の情報処理装置で実行するかについて、前記前段のジョブの出力データの前記転送時間情報に基づき判定し、判定結果に基づいて、特定した前記情報処理装置内の情報処理装置を規定する
ことを含む付記9〜付記11の何れか1項に記載のジョブスケジュール方法。
(付記17)
前記記憶部は、前記複数のジョブの各々の優先度を示す情報を含むジョブ情報を記憶し、
前記コンピュータが、
前記記憶部に記憶された前記優先度を示す情報を含むジョブ情報に基づいて、特定タイミングにおいて入力データが前記情報処理装置に保持されるジョブを前記スケジュールされる候補の複数のジョブとして抽出する
前記記憶部に記憶された、前記抽出された複数のジョブの各々の前記優先度を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
ことを含む付記12〜付記16の何れか1項に記載のジョブスケジュール方法。
(付記18)
特定タイミングで実行開始可能なジョブが実行対象の情報処理装置の総数を超えていた場合に、前記優先度を示す情報に基づいて、前記情報処理装置で実行させるジョブをスケジュールする
ことを含む付記17に記載のジョブスケジュール方法。
(付記19)
前記候補の複数のジョブの実行が全てスケジュールされるまで、前記ジョブの抽出と、前記情報処理装置の特定と、前記情報処理装置で実行させるジョブをスケジュールすることと、を繰り返す
ことを含む付記13〜付記19の何れか1項に記載のジョブスケジュール方法。
(付記20)
前記複数の情報処理装置の各々の処理の実行状況を特定する情報は、前記複数の情報処理装置の各々の動作開始時刻を含む動作状況を含み、前記ジョブ情報は、前記入力データ及び出力データの作成時刻を含む作成状況と、処理の開示時刻を含む処理状況とを示す情報を含み、
前記動作状況に基づいて、前記候補の複数のジョブを実行させる前記情報処理装置を特定する
付記13〜付記19の何れか1項に記載のジョブスケジュール方法。
(付記21)
情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするために、記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールするスケジュール部
を備えたジョブスケジュール装置。
(付記22)
前記記憶部は、ジョブの各々の入力データと出力データとを示す情報を含むジョブ情報を記憶し、
前記記憶部に記憶された前記ジョブ情報に基づいて、特定タイミングにおいて入力データが前記情報処理装置に保持されるジョブを前記スケジュールされる候補の複数のジョブとして抽出する抽出部
を備えた付記21に記載のジョブスケジュール装置。
(付記23)
前記記憶部は、複数の情報処理装置の各々の処理の実行状況を特定する情報を記憶し、
前記記憶部に記憶された、複数の情報処理装置の各々の処理の実行状況を特定する情報に基づき、前記特定タイミングにおいてジョブの処理の実行が可能な情報処理装置を特定し、特定した該ジョブの処理の実行が可能な情報処理装置を、前記候補の複数のジョブを実行させる前記情報処理装置として特定する特定部
を備えた付記22に記載のジョブスケジュール装置。
(付記24)
前記記憶部は、前記複数のジョブの各々の実行開始から完了までの予測処理時間を示す処理時間情報を含むジョブ情報を記憶し、
前記スケジュール部は、前記抽出された複数のジョブの各々の前記後段のジョブの前記処理時間情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする決定部
を含む付記22または付記23に記載のジョブスケジュール装置。
(付記25)
前記決定部は、前記抽出された複数のジョブの各々の前記後段のジョブに関する情報として、前記後段のジョブ数を示す情報を求め、求めた前記後段のジョブ数を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
付記22〜付記24の何れか1項に記載のジョブスケジュール装置。
(付記26)
前記記憶部は、前記複数のジョブの各々の入力データ及び出力データの少なくとも一方のデータの転送時間を示す転送時間情報を記憶し、
前記スケジュール部は、前記抽出された複数のジョブの各々のうち前記情報処理装置で実行されるジョブを前段のジョブとして、該前段のジョブの出力データの前記転送時間情報または該出力データを入力データとして処理を実行する後段のジョブの入力データの前記転送時間情報に基づいて、前記前段のジョブの処理を実行した後に前記後段のジョブの処理を実行するか、前記前段のジョブの処理を実行した後に前記前段のジョブの出力データを前記情報処理装置以外の情報処理装置へ転送して前記情報処理装置以外の情報処理装置で前記後段のジョブの処理を実行するかを判定する
付記22〜付記25の何れか1項に記載のジョブスケジュール装置。
(付記27)
前記記憶部は、前記複数のジョブの各々の優先度を示す情報を含むジョブ情報を記憶し、
前記スケジュール部は、前記記憶部に記憶された、前記抽出された複数のジョブの各々の前記優先度を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
付記22〜付記26の何れか1項に記載のジョブスケジュール装置。
(付記28)
前記スケジュール部は、特定タイミングで実行開始可能なジョブが実行対象の情報処理装置の総数を超えていた場合に、前記優先度を示す情報に基づいて、前記情報処理装置で実行させるジョブをスケジュールする
付記27に記載のジョブスケジュール装置。
(付記29)
前記候補の複数のジョブの実行が全てスケジュールされるまで、前記ジョブの抽出と、前記情報処理装置の特定と、前記情報処理装置で実行させるジョブをスケジュールすることと、を繰り返す
付記23〜付記28の何れか1項に記載のジョブスケジュール装置。
(付記30)
前記複数の情報処理装置の各々の処理の実行状況を特定する情報は、前記複数の情報処理装置の各々の動作開始時刻を含む動作状況を含み、前記ジョブ情報は、前記入力データ及び出力データの作成時刻を含む作成状況と、処理の開示時刻を含む処理状況とを示す情報を含み、
前記特定部は、前記動作状況に基づいて、前記候補の複数のジョブを実行させる前記情報処理装置を特定する
付記23〜付記29の何れか1項に記載のジョブスケジュール装置。
10 ジョブスケジュール装置
12 CPU
14 メモリ
16 ジョブスケジュールプログラム
17 スケジュール部
18 特定部
20 抽出部
22 決定部
24 記憶部
26 情報処理装置
30 コンピュータ
32 CPU
39 記録媒体
42 メモリ
44 格納部
48 ジョブ管理プログラム
50 定義登録プロセス
52 スケジュール作成プロセス
54 特定ルーチン
56 抽出ルーチン
58 決定ルーチン
64 ジョブ管理表
66 データ管理表
68 計算機利用マップ
70 計算機空き枠表
80 計算機

Claims (8)

  1. 情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするコンピュータに、
    記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールする
    ことを含む処理を実行させるためのジョブスケジュールプログラム。
  2. 前記記憶部は、ジョブの各々の入力データと出力データとを示す情報を含むジョブ情報を記憶し、
    前記コンピュータに、
    前記記憶部に記憶された前記ジョブ情報に基づいて、特定タイミングにおいて入力データが前記情報処理装置に保持されるジョブを前記スケジュールされる候補の複数のジョブとして抽出する
    処理を実行させる請求項1記載のジョブスケジュールプログラム。
  3. 前記記憶部は、複数の情報処理装置の各々の処理の実行状況を特定する情報を記憶し、
    前記コンピュータに、
    前記記憶部に記憶された、複数の情報処理装置の各々の処理の実行状況を特定する情報に基づき、前記特定タイミングにおいてジョブの処理の実行が可能な情報処理装置を特定し、特定した該ジョブの処理の実行が可能な情報処理装置を、前記候補の複数のジョブを実行させる前記情報処理装置として特定する、
    処理を実行させる請求項2に記載のジョブスケジュールプログラム。
  4. 前記記憶部は、前記複数のジョブの各々の実行開始から完了までの予測処理時間を示す処理時間情報を含むジョブ情報を記憶し、
    前記コンピュータに、
    前記抽出された複数のジョブの各々の前記後段のジョブの前記処理時間情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
    請求項2または請求項3に記載のジョブスケジュールプログラム。
  5. 前記抽出された複数のジョブの各々の前記後段のジョブに関する情報として、前記後段のジョブ数を示す情報を求め、求めた前記後段のジョブ数を示す情報に基づいて、前記情報処理装置に実行させるジョブをスケジュールする
    請求項2〜請求項4の何れか1項に記載のジョブスケジュールプログラム。
  6. 前記記憶部は、前記複数のジョブの各々の入力データ及び出力データの少なくとも一方のデータの転送時間を示す転送時間情報を記憶し、
    前記コンピュータに、
    前記抽出された複数のジョブの各々のうち前記情報処理装置で実行されるジョブを前段のジョブとして、該前段のジョブの出力データの前記転送時間情報または該出力データを入力データとして処理を実行する後段のジョブの入力データの前記転送時間情報に基づいて、前記前段のジョブの処理を実行した後に前記後段のジョブの処理を実行するか、前記前段のジョブの処理を実行した後に前記前段のジョブの出力データを前記情報処理装置以外の情報処理装置へ転送して前記情報処理装置以外の情報処理装置で前記後段のジョブの処理を実行するかを判定する
    請求項2〜請求項5の何れか1項に記載のジョブスケジュールプログラム。
  7. 情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするコンピュータが、
    記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールする
    ことを含むジョブスケジュール方法。
  8. 情報処理装置に実行させるジョブとしてスケジュールされる候補の複数のジョブの実行をスケジューリングするために、記憶部に記憶された、前記複数のジョブの各々の入力データと出力データとを示す情報を含むジョブ情報に基づき特定される、前記複数のジョブの各々の出力データに基づき処理を実行する後段のジョブに関する情報に基づいて、前記後段のジョブの処理量が大きいジョブを、前記情報処理装置に実行させるジョブとして優先してスケジュールするスケジュール部
    を備えたジョブスケジュール装置。
JP2014066223A 2014-03-27 2014-03-27 ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置 Pending JP2015191282A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014066223A JP2015191282A (ja) 2014-03-27 2014-03-27 ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014066223A JP2015191282A (ja) 2014-03-27 2014-03-27 ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置

Publications (1)

Publication Number Publication Date
JP2015191282A true JP2015191282A (ja) 2015-11-02

Family

ID=54425763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014066223A Pending JP2015191282A (ja) 2014-03-27 2014-03-27 ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置

Country Status (1)

Country Link
JP (1) JP2015191282A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7448703B2 (ja) 2020-12-24 2024-03-12 株式会社日立製作所 情報処理システム及び情報処理システムにおけるデータ配置方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218861A (ja) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd スケジューラ
JPH10228453A (ja) * 1997-02-13 1998-08-25 Fujitsu Ltd 分散型コンピュータシステム及びそのコンピュータ並びに分散処理方法
JP2000236583A (ja) * 1999-01-29 2000-08-29 Sony Internatl Europ Gmbh モバイルエージェントシステム及びその制御方法
JP2005032242A (ja) * 2003-07-10 2005-02-03 Hewlett-Packard Development Co Lp リソースの利用およびアプリケーションの性能の監視システムおよび監視方法
JP2008171153A (ja) * 2007-01-10 2008-07-24 Fujitsu Ten Ltd タスク管理装置
JP2009069921A (ja) * 2007-09-11 2009-04-02 Hitachi Ltd マルチプロセッサシステム
JP2011076513A (ja) * 2009-10-01 2011-04-14 Olympus Corp 分散処理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218861A (ja) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd スケジューラ
JPH10228453A (ja) * 1997-02-13 1998-08-25 Fujitsu Ltd 分散型コンピュータシステム及びそのコンピュータ並びに分散処理方法
JP2000236583A (ja) * 1999-01-29 2000-08-29 Sony Internatl Europ Gmbh モバイルエージェントシステム及びその制御方法
JP2005032242A (ja) * 2003-07-10 2005-02-03 Hewlett-Packard Development Co Lp リソースの利用およびアプリケーションの性能の監視システムおよび監視方法
JP2008171153A (ja) * 2007-01-10 2008-07-24 Fujitsu Ten Ltd タスク管理装置
JP2009069921A (ja) * 2007-09-11 2009-04-02 Hitachi Ltd マルチプロセッサシステム
JP2011076513A (ja) * 2009-10-01 2011-04-14 Olympus Corp 分散処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7448703B2 (ja) 2020-12-24 2024-03-12 株式会社日立製作所 情報処理システム及び情報処理システムにおけるデータ配置方法

Similar Documents

Publication Publication Date Title
JP6447120B2 (ja) ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体
WO2016197716A1 (zh) 一种作业调度方法和装置
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
EP1916601A2 (en) Multiprocessor system
JP5874811B2 (ja) 情報処理方法、プログラム、および情報処理装置
JP4815195B2 (ja) ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム
US10013288B2 (en) Data staging management system
JP6666555B2 (ja) 情報処理装置、ジョブ投入方法、およびジョブ投入プログラム
JP2005011023A (ja) ジョブスケジューリング方法及びシステム
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
JP2015191282A (ja) ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置
JP5444900B2 (ja) ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム
US10275015B2 (en) Power source control method, power source control apparatus, and storage medium
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
JP6368452B2 (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
JP4866789B2 (ja) パフォーマンス分析処理装置、パフォーマンス分析処理方法及びパフォーマンス分析処理プログラム
CN112130979B (zh) 调度任务及训练神经网络模型的方法、装置、终端和介质
JP4906587B2 (ja) ジョブ稼動状況評価システム、ジョブ稼動状況評価方法及びジョブ稼動状況評価プログラム
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
JP2010186347A (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム
JPH10143400A (ja) 制御用計算機システムの性能評価方法
JP2017201486A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
US9459916B2 (en) System and method for controlling execution of jobs performed by plural information processing devices
US9778958B2 (en) Management method, management apparatus, and information processing system for coordinating parallel processing in a distributed computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181016