JP7828692B2 - コンピュータ実装方法、システム及びコンピュータプログラム(バッチジョブのスケジューリングの最適化) - Google Patents
コンピュータ実装方法、システム及びコンピュータプログラム(バッチジョブのスケジューリングの最適化)Info
- Publication number
- JP7828692B2 JP7828692B2 JP2021201066A JP2021201066A JP7828692B2 JP 7828692 B2 JP7828692 B2 JP 7828692B2 JP 2021201066 A JP2021201066 A JP 2021201066A JP 2021201066 A JP2021201066 A JP 2021201066A JP 7828692 B2 JP7828692 B2 JP 7828692B2
- Authority
- JP
- Japan
- Prior art keywords
- batch
- batch jobs
- jobs
- job
- batch job
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
Claims (27)
- 1又は複数のプロセッサによって、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と
を備え、
前記有向重み付きグラフを最適化する段階が、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフのそれぞれのノードにアクセスする段階と、
前記有向重み付きグラフにおけるノードの複数の並列サブノードが、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に従って前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記複数の並列サブノードを複数のバッチジョブシーケンス配置に配置する段階と、
前記1又は複数のプロセッサによって、それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、コンピュータ実装方法。 - 1又は複数のプロセッサによって、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と、
を備え、
前記有向重み付きグラフを最適化する段階が、
前記1又は複数のプロセッサによって、前記バッチジョブの間の同じリソースの消費に関する前記情報にアクセスして、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する段階と、
前記関連するバッチジョブが前記並列バッチジョブであると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する段階と、
前記1又は複数のプロセッサによって、それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、コンピュータ実装方法。 - 前記有向重み付きグラフを最適化する段階はさらに、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する段階と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを前記複数のバッチジョブシーケンス配置に配置する段階と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブと前記バッチジョブのセットの前記最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用される前記バッチジョブシーケンスとして選択する段階と
を備える、請求項2に記載のコンピュータ実装方法。 - 1又は複数のプロセッサによって、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得して、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と
を備え、
前記有向重み付きグラフを最適化する段階はさらに、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する段階と、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する段階と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する段階と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブと前記バッチジョブのセットの最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、コンピュータ実装方法。 - 前記有向重み付きグラフを最適化する段階が、
前記関連するバッチジョブが前記並列バッチジョブではなく、同時に前記同じリソースを消費するものである場合に、前記同じリソースの同時消費を避けるべく前記有向重み付きグラフを更に最適化する段階と、
前記バッチジョブシーケンス配置に従って前記バッチジョブの処理を実行する段階と
更に有し、
前記処理を実行する段階が、
各バッチジョブに対して、当該バッチジョブの実行中に前記リソースの1または複数をロックして、他のバッチジョブが前記同じリソースを消費することを防ぎ、そして、各バッチジョブの完了後に前記リソースをリリースさせる段階を有する、請求項2に記載のコンピュータ実装方法。 - 前記有向重み付きグラフを最適化する段階はさらに、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階、
を有し、
前記バッチジョブのセットのそれぞれの総実行時間を計算する段階が、前記それぞれの空のバッチジョブに対して行われる、
請求項5に記載のコンピュータ実装方法。 - 前記有向重み付きグラフにおいて、第1擬似ノードはルートノードを表し、第2擬似ノードは終点ノードを表し、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記段階は、
前記1又は複数のプロセッサによって、前記有向重み付きグラフにおける前記ルートノードから関連するノードのそれぞれのノードのそれぞれの実行時間を決定する段階と、
前記1又は複数のプロセッサによって、前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有するかどうかを決定する段階と、
前記関連するノードのそれぞれのノードの前記それぞれの実行期間が前記時間オーバーラップを有すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費すると決定する段階と
を備える、請求項3、4又は6のいずれか一項に記載のコンピュータ実装方法。 - 前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記段階はさらに、
前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有しないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費しないと決定する段階を備える、請求項3、4、6又は7のいずれか一項に記載のコンピュータ実装方法。 - 前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報はリソース消費量行列(RCM)として表され、前記RCMは、n×n行列であり、nは前記セットにおけるバッチジョブの数であり、前記RCMのi番目の行及びj番目の列における要素は、i番目のバッチジョブ及びj番目のバッチジョブがリソースを消費する状況を示す、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
- 処理ユニットと、
前記処理ユニットに結合されそこに命令を格納するメモリと
を備えるシステムであって、
前記命令は、前記処理ユニットにより実行される場合、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と
を備える動作を実行し、
前記有向重み付きグラフを最適化する段階は、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフのそれぞれのノードにアクセスする段階と、
前記有向重み付きグラフにおけるノードの複数の並列サブノードが、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に従って前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記複数の並列サブノードを複数のバッチジョブシーケンス配置に配置する段階と、
前記1又は複数のプロセッサによって、それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、システム。 - 処理ユニットと、
前記処理ユニットに結合されそこに命令を格納するメモリと
を備えるシステムであって、
前記命令は、前記処理ユニットにより実行される場合、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と
を備える動作を実行し、
前記有向重み付きグラフを最適化する段階は、
前記1又は複数のプロセッサによって、前記バッチジョブの間の同じリソースの消費に関する前記情報にアクセスして、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する段階と、
前記関連するバッチジョブが前記並列バッチジョブであると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する段階と、
前記1又は複数のプロセッサによって、それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、記載のシステム。 - 前記有向重み付きグラフを最適化する段階はさらに、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する段階と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを前記複数のバッチジョブシーケンス配置に配置する段階と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブと前記バッチジョブのセットの前記最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用される前記バッチジョブシーケンスとして選択する段階と
を備える、請求項11に記載のシステム。 - 処理ユニットと、
前記処理ユニットに結合されそこに命令を格納するメモリと
を備えるシステムであって、
前記命令は、前記処理ユニットにより実行される場合、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する段階と、
前記バッチジョブのセットの有向重み付きグラフを生成する段階であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、段階と、
1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得して、ットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得して、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する段階と、
前記1又は複数のプロセッサによって、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する段階と
を備える動作を実行し、
前記有向重み付きグラフを最適化する段階はさらに、
前記1又は複数のプロセッサによって、前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する段階と、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する段階と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する段階と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する段階と、
前記1又は複数のプロセッサによって、前記それぞれの空のバッチジョブと前記バッチジョブのセットの最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する段階と
を有する、システム。 - 前記有向重み付きグラフを最適化する段階が、
前記関連するバッチジョブが前記並列バッチジョブではなく、同時に前記同じリソースを消費するものである場合に、前記同じリソースの同時消費を避けるべく前記有向重み付きグラフを更に最適化する段階と、
前記バッチジョブシーケンス配置に従って前記バッチジョブの処理を実行する段階と
更に有し、
前記処理を実行する段階が、
各バッチジョブに対して、当該バッチジョブの実行中に前記リソースの1または複数をロックして、他のバッチジョブが前記同じリソースを消費することを防ぎ、そして、各バッチジョブの完了後に前記リソースをリリースさせる段階を有する、請求項11に記載のシステム。 - 前記有向重み付きグラフを最適化する段階はさらに、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、前記1又は複数のプロセッサによって、実行時間を有するそれぞれの空のバッチジョブを追加する段階、
を有し、
前記バッチジョブのセットのそれぞれの総実行時間を計算する段階が、前記それぞれの空のバッチジョブに対して行われる、請求項14に記載のシステム。 - 前記有向重み付きグラフにおいて、第1擬似ノードはルートノードを表し、第2擬似ノードは終点ノードを表し、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記段階は、
前記1又は複数のプロセッサによって、前記有向重み付きグラフにおける前記ルートノードから関連するノードのそれぞれのノードのそれぞれの実行時間を決定する段階と、
前記1又は複数のプロセッサによって、前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有するかどうかを決定する段階と、
前記関連するノードのそれぞれのノードの前記それぞれの実行期間が前記時間オーバーラップを有すると決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費すると決定する段階と
を備える、請求項12、13又は15のいずれか一項に記載のシステム。 - 前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記段階はさらに、
前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有しないと決定したことに応答して、前記1又は複数のプロセッサによって、前記関連するバッチジョブが同時に前記同じリソースを消費しないと決定する段階を備える、請求項12、13、15又は16のいずれか一項に記載のシステム。 - 前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報はリソース消費量行列(RCM)として表され、前記RCMは、n×n行列であり、nは前記セットにおけるバッチジョブの数であり、前記RCMのi番目の行及びj番目の列における要素は、i番目のバッチジョブ及びj番目のバッチジョブがリソースを消費する状況を示す、請求項10から17のいずれか一項に記載のシステム。
- プロセッサに、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する手順と、
前記バッチジョブのセットの有向重み付きグラフを生成する手順であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する手順と
を実行させ、
前記有向重み付きグラフを最適化する手順は、
前記バッチジョブのセットの前記有向重み付きグラフのそれぞれのノードにアクセスする手順と、
前記有向重み付きグラフにおけるノードの複数の並列サブノードが、前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に従って前記同じリソースを消費すると決定したことに応答して、前記複数の並列サブノードを複数のバッチジョブシーケンス配置に配置する手順と、
それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する手順と、
前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する手順と
を有する、コンピュータプログラム。 - プロセッサに、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する手順と、
前記バッチジョブのセットの有向重み付きグラフを生成する手順であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得する手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する手順と
を実行させ、
前記有向重み付きグラフを最適化する手順が、
前記バッチジョブの間の同じリソースの消費に関する前記情報にアクセスして、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する手順と、
前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する手順と、
前記関連するバッチジョブが前記並列バッチジョブであると決定したことに応答して、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する手順と、
それぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する手順と、
前記バッチジョブのセットの最小の総実行時間を有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する手順と
を有する、コンピュータプログラム。 - 前記有向重み付きグラフを最適化する手順はさらに、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する手順と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記関連するバッチジョブを前記複数のバッチジョブシーケンス配置に配置する手順と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、実行時間を有するそれぞれの空のバッチジョブを追加する手順と、
前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する手順と、
前記それぞれの空のバッチジョブと前記バッチジョブのセットの前記最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する手順と
を備える、請求項20に記載のコンピュータプログラム。 - プロセッサに、
バッチジョブのセットと、
前記バッチジョブのセットにおけるバッチジョブの間の接続関係と、
前記バッチジョブのセットにおける各バッチジョブのそれぞれの実行時間と
を取得する手順と、
前記バッチジョブのセットの有向重み付きグラフを生成する手順であって、前記有向重み付きグラフにおいて、ノードはバッチジョブを表し、前記ノードのうち2つの間の有向エッジは2つの対応するバッチジョブの間の有向接続関係を表し、前記ノードの重みは前記ノードに対応する前記バッチジョブの前記実行時間を表す、手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する情報を取得して、前記バッチジョブのセットにおいて前記同じリソースを消費する関連するバッチジョブを取得する手順と、
前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報に基づいて、前記有向重み付きグラフを最適化する手順と
を実行させ、
前記有向重み付きグラフを最適化する手順はさらに、
前記バッチジョブのセットの前記有向重み付きグラフに従って、前記関連するバッチジョブが並列バッチジョブであるかどうかを決定する手順と、
前記関連するバッチジョブは前記並列バッチジョブではないと決定したことに応答して、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する手順と、
前記関連するバッチジョブが同時に前記同じリソースを消費すると決定したことに応答して、前記関連するバッチジョブを複数のバッチジョブシーケンス配置に配置する手順と、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、実行時間を有するそれぞれの空のバッチジョブを追加する手順と、
前記それぞれの空のバッチジョブを有するそれぞれのバッチジョブシーケンス配置に対する前記バッチジョブのセットのそれぞれの総実行時間を計算する手順と、
前記それぞれの空のバッチジョブと前記バッチジョブのセットの最小の総実行時間とを有するバッチジョブシーケンス配置を、前記最適化された有向重み付きグラフにおいて使用されるバッチジョブシーケンスとして選択する手順と
を有する、コンピュータプログラム。 - 前記有向重み付きグラフを最適化する段階が、
前記関連するバッチジョブが前記並列バッチジョブではなく、同時に前記同じリソースを消費するものである場合に、前記同じリソースの同時消費を避けるべく前記有向重み付きグラフを更に最適化する手順と、
前記バッチジョブシーケンス配置に従って前記バッチジョブの処理を実行する手順と
更に有し、
前記処理を実行する手順が、
各バッチジョブに対して、当該バッチジョブの実行中に前記リソースの1または複数をロックして、他のバッチジョブが前記同じリソースを消費することを防ぎ、そして、各バッチジョブの完了後に前記リソースをリリースさせる手順を有する、請求項20に記載のコンピュータプログラム。 - 前記有向重み付きグラフを最適化する手順はさらに、
前記複数のバッチジョブシーケンス配置の各々について、関連するバッチジョブのそれぞれの部分とのリソース衝突を回避すべく、実行時間を有するそれぞれの空のバッチジョブを追加する手順、
を有し、
前記バッチジョブのセットのそれぞれの総実行時間を計算する手順が、前記それぞれの空のバッチジョブに対して行われる、請求項23に記載のコンピュータプログラム。 - 前記有向重み付きグラフにおいて、第1擬似ノードはルートノードを表し、第2擬似ノードは終点ノードを表し、前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記手順は、
前記有向重み付きグラフにおける前記ルートノードから関連するノードのそれぞれのノードのそれぞれの実行時間を決定する手順と、
前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有するかどうかを決定する手順と、
前記関連するノードのそれぞれのノードの前記それぞれの実行期間が前記時間オーバーラップを有すると決定したことに応答して、前記関連するバッチジョブが同時に前記同じリソースを消費すると決定する手順と
を備える、請求項21、22又は24のいずれか一項に記載のコンピュータプログラム。 - 前記関連するバッチジョブが同時に前記同じリソースを消費するかどうかを決定する前記手順はさらに、
前記関連するノードのそれぞれのノードのそれぞれの実行期間が時間オーバーラップを有しないと決定したことに応答して、前記関連するバッチジョブが同時に前記同じリソースを消費しないと決定する手順を備える、請求項21、22、24又は25のいずれか一項に記載のコンピュータプログラム。 - 前記バッチジョブのセットにおける前記バッチジョブの間の同じリソースの消費に関する前記情報はリソース消費量行列(RCM)として表され、前記RCMは、n×n行列であり、nは前記セットにおけるバッチジョブの数であり、前記RCMのi番目の行及びj番目の列における要素は、i番目のバッチジョブ及びj番目のバッチジョブがリソースを消費する状況を示す、請求項19から26のいずれか一項に記載のコンピュータプログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/121,934 US12008399B2 (en) | 2020-12-15 | 2020-12-15 | Optimization for scheduling of batch jobs |
| US17/121,934 | 2020-12-15 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022094945A JP2022094945A (ja) | 2022-06-27 |
| JP7828692B2 true JP7828692B2 (ja) | 2026-03-12 |
Family
ID=79270166
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021201066A Active JP7828692B2 (ja) | 2020-12-15 | 2021-12-10 | コンピュータ実装方法、システム及びコンピュータプログラム(バッチジョブのスケジューリングの最適化) |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12008399B2 (ja) |
| JP (1) | JP7828692B2 (ja) |
| DE (1) | DE102021129633A1 (ja) |
| GB (1) | GB2604704A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4163790B1 (en) | 2021-10-05 | 2026-01-28 | Tata Consultancy Services Limited | Method and system for predicting batch processes |
| CN116501499B (zh) * | 2023-05-17 | 2023-09-19 | 建信金融科技有限责任公司 | 数据跑批方法、装置、电子设备及存储介质 |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007018193A (ja) | 2005-07-06 | 2007-01-25 | Toshiba Corp | 実行情報推定装置、実行情報推定方法および実行情報推定プログラム |
| JP2009230584A (ja) | 2008-03-24 | 2009-10-08 | Nomura Research Institute Ltd | ジョブ処理システムおよびジョブ管理方法 |
| US20110107341A1 (en) | 2009-11-03 | 2011-05-05 | International Business Machines Corporation | Job scheduling with optimization of power consumption |
| JP2011100263A (ja) | 2009-11-05 | 2011-05-19 | Nec Corp | 仮想コンピュータシステム、仮想コンピュータ管理方法および管理プログラム |
| JP2011118794A (ja) | 2009-12-07 | 2011-06-16 | Fujitsu Ltd | バッチジョブ処理時間推定プログラム、方法及び装置 |
| JP2011123817A (ja) | 2009-12-14 | 2011-06-23 | Fujitsu Ltd | ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法 |
| JP2012048331A (ja) | 2010-08-25 | 2012-03-08 | Nomura Research Institute Ltd | ジョブ管理装置およびコンピュータプログラム |
| JP2015022606A (ja) | 2013-07-22 | 2015-02-02 | 富士通株式会社 | 情報処理装置、ジョブスケジューリング方法およびジョブスケジューリングプログラム |
| WO2016079802A1 (ja) | 2014-11-18 | 2016-05-26 | 株式会社日立製作所 | バッチ処理システムおよびその制御方法 |
| US20180276040A1 (en) | 2017-03-23 | 2018-09-27 | Amazon Technologies, Inc. | Event-driven scheduling using directed acyclic graphs |
| JP2020177599A (ja) | 2019-04-23 | 2020-10-29 | 日本電気株式会社 | ジョブ管理方法、ジョブ管理装置、ジョブ管理システム、プログラム |
| CN111949832A (zh) | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | 批量作业依赖关系的解析方法及装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6805502B2 (en) | 2001-01-23 | 2004-10-19 | Xerox Corporation | Method for determining optimal batch sizes for processing print jobs in a printing environment |
| US7168064B2 (en) | 2003-03-25 | 2007-01-23 | Electric Cloud, Inc. | System and method for supplementing program builds with file usage information |
| US20050198636A1 (en) | 2004-02-26 | 2005-09-08 | International Business Machines Corporation | Dynamic optimization of batch processing |
| 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 |
| US8572616B2 (en) | 2006-05-25 | 2013-10-29 | International Business Machines Corporation | Apparatus, system, and method for managing z/OS batch jobs with prerequisites |
| US20130139164A1 (en) * | 2011-11-28 | 2013-05-30 | Sap Ag | Business Process Optimization |
| US20140298343A1 (en) * | 2013-03-26 | 2014-10-02 | Xerox Corporation | Method and system for scheduling allocation of tasks |
| US9645848B2 (en) | 2013-05-20 | 2017-05-09 | International Business Machines Corporation | Scheduling homogeneous and heterogeneous workloads with runtime elasticity in a parallel processing environment |
| US10977092B2 (en) | 2015-10-16 | 2021-04-13 | Qualcomm Incorporated | Method for efficient task scheduling in the presence of conflicts |
| US10268512B2 (en) * | 2016-06-23 | 2019-04-23 | International Business Machines Corporation | Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities |
| FR3076370B1 (fr) | 2017-12-30 | 2020-11-27 | Bull Sas | Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lot |
-
2020
- 2020-12-15 US US17/121,934 patent/US12008399B2/en active Active
-
2021
- 2021-11-15 DE DE102021129633.1A patent/DE102021129633A1/de active Pending
- 2021-11-30 GB GB2117268.9A patent/GB2604704A/en not_active Withdrawn
- 2021-12-10 JP JP2021201066A patent/JP7828692B2/ja active Active
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007018193A (ja) | 2005-07-06 | 2007-01-25 | Toshiba Corp | 実行情報推定装置、実行情報推定方法および実行情報推定プログラム |
| JP2009230584A (ja) | 2008-03-24 | 2009-10-08 | Nomura Research Institute Ltd | ジョブ処理システムおよびジョブ管理方法 |
| US20110107341A1 (en) | 2009-11-03 | 2011-05-05 | International Business Machines Corporation | Job scheduling with optimization of power consumption |
| JP2011100263A (ja) | 2009-11-05 | 2011-05-19 | Nec Corp | 仮想コンピュータシステム、仮想コンピュータ管理方法および管理プログラム |
| JP2011118794A (ja) | 2009-12-07 | 2011-06-16 | Fujitsu Ltd | バッチジョブ処理時間推定プログラム、方法及び装置 |
| JP2011123817A (ja) | 2009-12-14 | 2011-06-23 | Fujitsu Ltd | ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法 |
| JP2012048331A (ja) | 2010-08-25 | 2012-03-08 | Nomura Research Institute Ltd | ジョブ管理装置およびコンピュータプログラム |
| JP2015022606A (ja) | 2013-07-22 | 2015-02-02 | 富士通株式会社 | 情報処理装置、ジョブスケジューリング方法およびジョブスケジューリングプログラム |
| WO2016079802A1 (ja) | 2014-11-18 | 2016-05-26 | 株式会社日立製作所 | バッチ処理システムおよびその制御方法 |
| US20180276040A1 (en) | 2017-03-23 | 2018-09-27 | Amazon Technologies, Inc. | Event-driven scheduling using directed acyclic graphs |
| JP2020177599A (ja) | 2019-04-23 | 2020-10-29 | 日本電気株式会社 | ジョブ管理方法、ジョブ管理装置、ジョブ管理システム、プログラム |
| CN111949832A (zh) | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | 批量作业依赖关系的解析方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2604704A (en) | 2022-09-14 |
| US20220188148A1 (en) | 2022-06-16 |
| GB202117268D0 (en) | 2022-01-12 |
| DE102021129633A1 (de) | 2022-06-15 |
| US12008399B2 (en) | 2024-06-11 |
| JP2022094945A (ja) | 2022-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8380837B2 (en) | Software license management within a cloud computing environment | |
| US8909769B2 (en) | Determining optimal component location in a networked computing environment | |
| CN102763085B (zh) | 使用云服务目录来供应服务 | |
| US9503549B2 (en) | Real-time data analysis for resource provisioning among systems in a networked computing environment | |
| US8966175B2 (en) | Automated storage provisioning within a clustered computing environment | |
| US20130311988A1 (en) | Migrating virtual machines between networked computing environments based on resource utilization | |
| US20140201569A1 (en) | Disaster recovery in a networked computing environment | |
| US20140136712A1 (en) | Cloud resources as a service multi-tenant data model | |
| US9225662B2 (en) | Command management in a networked computing environment | |
| US10635579B2 (en) | Optimizing tree pruning for decision trees | |
| US20190268435A1 (en) | Resource pre-caching and tenant workflow recognition using cloud audit records | |
| CN114327852A (zh) | 基于性能和成本来平衡大型机和分布式工作负载 | |
| JP2022549590A (ja) | インテグリティ監視のためのミューテーション・イベント検出 | |
| WO2023152364A1 (en) | Workflow data redistribution in hybrid public/private computing environments | |
| JP2023538941A (ja) | コンテナ化された環境のインテリジェントバックアップ及び復元 | |
| JP7828692B2 (ja) | コンピュータ実装方法、システム及びコンピュータプログラム(バッチジョブのスケジューリングの最適化) | |
| US11740825B2 (en) | Object lifecycle management in a dispersed storage system | |
| US20170161333A1 (en) | Searching data on a synchronization data stream | |
| US11204923B2 (en) | Performance for query execution | |
| JP7410040B2 (ja) | 仮想エージェント・システムにおけるクエリ認識レジリエンシの判断 | |
| US9342527B2 (en) | Sharing electronic file metadata in a networked computing environment | |
| US10067849B2 (en) | Determining dynamic statistics based on key value patterns | |
| US20230103149A1 (en) | Adaptively compressing a deep learning model | |
| US20230394026A1 (en) | Techniques for learning the best order of identifiers system in an online manner | |
| US20230229469A1 (en) | Probe deployment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220518 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240620 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250521 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250617 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20250916 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251112 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20260210 |
|
| RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20260217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260226 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7828692 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |