JP2018041296A - 計算機システムおよびジョブ実行計画変更方法 - Google Patents

計算機システムおよびジョブ実行計画変更方法 Download PDF

Info

Publication number
JP2018041296A
JP2018041296A JP2016175267A JP2016175267A JP2018041296A JP 2018041296 A JP2018041296 A JP 2018041296A JP 2016175267 A JP2016175267 A JP 2016175267A JP 2016175267 A JP2016175267 A JP 2016175267A JP 2018041296 A JP2018041296 A JP 2018041296A
Authority
JP
Japan
Prior art keywords
job
execution
jobs
execution period
time
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
JP2016175267A
Other languages
English (en)
Inventor
辰弥 大西
Tatsuya Onishi
辰弥 大西
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 JP2016175267A priority Critical patent/JP2018041296A/ja
Publication of JP2018041296A publication Critical patent/JP2018041296A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】複数のジョブの実行において、実行期間を変更することにより、制約条件を満たしつつ、性能劣化を防ぐ。【解決手段】プロセッサは、複数のジョブに対し、各ジョブの実行予定期間と、各ジョブのリソース使用予定量と、制約条件と、ジョブ間の従属関係とを示すジョブ情報を取得し、複数のジョブの実行状況を取得し、ジョブ情報及び実行状況に基づいて、各ジョブが、予め設定された逸脱条件を満たすか否かを判定する、ように構成される。複数のジョブが逸脱条件を満たすと判定された場合、プロセッサは、常に複数のジョブのリソース使用予定量の合計が、予め設定されたリソース使用量閾値以下であり、且つ複数のジョブの中の特定ジョブが制約条件を満たす、という変更条件の下で、複数のジョブの中の変更ジョブの実行期間を変更する。【選択図】図1

Description

本発明は、計算機システムに関する。
近年、様々な事業分野の自由化や、企業の事業拡大に伴い、業務システムには機能の多様化が求められている。
様々な機能を具備した大規模業務システムを構築する際、複数のサブシステムを構築し、サブシステム間で情報を共有することにより、1つの業務システムとして機能させることがある。サブシステムは、業務機能毎に構築されたり、既存システムを組み合わせて構築されたりすることにより、各々の機能に沿った業務を実施する。
サブシステム間で情報を共有するにあたり、他サブシステムの処理結果を参照(データ参照)することや、特定の処理を契機に他サブシステムと連携(イベント連携)することがある。データ参照やイベント連携を正しく行うために、SLA(Service Level Agreement)と呼ばれる終了期限を設けることがある。
また、各業務機能はそれぞれに性能特性を持つため、リソースの消費傾向に応じて性能を左右する要因が異なる。特許文献1では、このような性能特性が異なる複数のアプリケーションが混在して稼働している環境において、ボトルネック要因を推定することにより、性能劣化の要因を特定する技術を開示している。
国際公開第2015/145664号
しかしながら、特許文献1では性能特性が異なるアプリケーションがジョブとして稼働し、遅延が発生することによる影響については考慮されていない。そのため、ジョブの処理時間の増加や障害により本来の実行期間と異なる期間に走行することによる性能劣化の推定ができない。性能劣化はSLA超過の原因となる。
上記課題を解決するために、本発明の一態様である計算機システムは、メモリと、前記メモリに接続されるプロセッサと、を備える。前記プロセッサは、複数のジョブに対し、各ジョブの実行予定期間と、各ジョブのリソース使用予定量と、制約条件と、ジョブ間の従属関係とを示すジョブ情報を取得し、前記複数のジョブの実行状況を取得し、前記ジョブ情報及び前記実行状況に基づいて、各ジョブが、予め設定された逸脱条件を満たすか否かを判定する、ように構成される。前記複数のジョブが前記逸脱条件を満たすと判定された場合、前記プロセッサは、常に前記複数のジョブのリソース使用予定量の合計が、予め設定されたリソース使用量閾値以下であり、且つ前記複数のジョブの中の特定ジョブが制約条件を満たす、という変更条件の下で、前記複数のジョブの中の変更ジョブの実行期間を変更する。
複数のジョブの実行において、実行期間を変更することにより、制約条件を満たしつつ、性能劣化を防ぐことができる。
実施例に係る計算機システムの構成の一例を示す。 ジョブフローの一例を示す。 ジョブ実行実績統合DB110の一例を示す。 リソース使用率の時間変化の第1の例を示す。 ジョブ遅延判定情報500の一例を示す。 リソース使用率の時間変化の第2の例を示す。 性能劣化回避処理を示す。 性能劣化回避情報600の一例を示す。 リソース使用率の時間変化の第3の例を示す。
以下、図面を参照して本発明の実施形態を説明する。
以下の説明では、「×××テーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××テーブル」を「×××情報」と呼ぶことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明では、要素の識別情報として、IDが使用されるが、それに代えて又は加えて他種の識別情報が使用されてもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
また、以下の説明では、I/O(Input/Output)要求は、ライト要求又はリード要求であり、アクセス要求と呼ばれてもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理又はシステムとしてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
図1は、実施例に係る計算機システムの構成の一例を示す。
計算機システムは、メモリ100、CPU200、入力デバイス300、表示デバイス400を含む。本実施例において、計算機システムの各機能は一つの計算機(サーバ)上に搭載されている。メモリ100は、プログラムおよびデータを格納する。CPU200は、メモリ100に格納されたプログラムに従って処理を実行する。入力デバイス300は、管理者からの情報の入力を受け付ける。表示デバイス400は、CPU200からの指示に従って情報を表示する。入力デバイス300、表示デバイス400の代わりに、ネットワークを介して計算機システムに接続される端末装置が用いられてもよい。
メモリ100は、プログラムとして、業務システム101、リソース監視部102、リソース情報収集部103、ジョブ実行部105、ジョブ実行実績収集部106、ジョブ実行実績統合部109、ジョブ遅延判定部111、性能劣化判定部112、性能劣化回避部113を格納する。更にメモリ100は、データとして、リソース情報データベース(DB)104、ジョブ実行実績DB107、ジョブ構成管理DB108、ジョブ実行実績統合DB110を格納する。
業務システム101は、複数のサブシステムを含み、各サブシステム間でイベント連携やデータ参照を行うことにより日々の業務を実施する。
ジョブ構成管理DB108は、イベント連携情報や、データ参照関係といった各ジョブネットの前後関係を保持する。ジョブネットは、少なくとも一つのジョブを含む。例えば、ジョブネットの前後関係は、当該ジョブネットの前段である前提ジョブネットや、当該ジョブネットの後段である後続ジョブネットを示す。データ参照関係は、ジョブネットが前提ジョブネットのデータを参照することを示す。イベント連携情報は、ジョブネットが前提ジョブネットのイベントを受けて処理を開始することを示す。イベント連携情報や、データ参照関係を、従属関係と呼ぶことがある。
また、ジョブ構成管理DB108は、特定のジョブネットの終了期限を示すSLA時刻を保持する。ジョブ構成管理DB108は、特定のジョブネットについて計画された開始時刻(開始計画時刻)を保持してもよい。ジョブ構成管理DB108に格納されるジョブ構成情報は、予め管理者または開発者により設定される。
ジョブ構成管理DB108が保持している情報を元に、ジョブ実行部105は、業務システム101にジョブの実行の命令を出す。例えば、ジョブ構成管理DB108が、あるジョブネットの開始時刻を保持している場合、ジョブ実行部105は、開始時刻に、当該ジョブネットの実行の命令を業務システム101に発行する。また、ジョブ実行部105は、例えば命令に対する返り値に基づいてジョブが正常に完了したか否かを判定する。
開始時刻が設定されているジョブネットが、前提ジョブネットから出力されるデータを参照する場合で、前提ジョブネットの終了時刻が当該ジョブネットの開始時刻よりも遅延すると、当該ジョブネットが異常終了する等の不具合が発生する。
ジョブ実行実績収集部106は、業務システム101が実行したジョブの実行情報を、ジョブ実行部105を通じて収集し、収集された実行情報をジョブ実行実績としてジョブ実行実績DB107に登録する。例えば、ジョブ実行実績DB107は、実行されたジョブの開始時刻、終了時刻、処理件数を含む。例えば、ジョブネットがファイル内のレコードを処理する場合、処理件数は、当該ファイル内のレコード件数であってもよい。また、ジョブネットがDBに登録されるデータを処理する場合、処理件数は、DBに登録されているデータ量の増分であってもよい。ジョブ実行実績DB107は、正常に完了したか否かを示す実行結果を含んでもよい。
リソース監視部102は、業務システム101が業務を実行している際のCPUやメモリといった各種リソースの使用状況を、繰り返し監視する。
リソース情報収集部103は、リソース監視部102が監視した結果を、リソース使用率等のリソース情報としてリソース情報DB104に登録する。リソース情報は、CPUの使用時間やメモリの使用量等の、リソース使用量であってもよい。
ジョブ実行実績統合部109は、リソース情報DB104、ジョブ実行実績DB107、ジョブ構成管理DB108に登録されたデータを統合し、統合されたデータをジョブ実行実績統合DB110に蓄積する。ジョブ実行実績統合DB110に蓄積される情報の一例として、ジョブネット毎の、開始予定時刻、終了予定時刻、SLA時刻、処理予定件数、リソース使用率、前提ジョブネット、後続ジョブネットがある。ここで、ジョブ実行実績統合部109は、ジョブ実行実績DB107に登録されている日々の業務の実行実績をもとに、開始予定時刻、終了予定時刻、処理予定件数を算出する。また、ジョブ実行実績統合部109は、リソース情報DB104をもとに、リソース使用率を算出する。また、ジョブ実行実績統合部109は、ジョブ構成管理DB108に登録されている情報をもとに、SLA時刻、前提ジョブネット、後続ジョブネットを、ジョブ実行実績統合DB110へ格納する。
ジョブ遅延判定部111は、ジョブ実行実績統合DB110に蓄積された過去のデータと現在のジョブ実行実績とから、ジョブネットに遅延の発生が見込まれるかを判定する。このとき、ジョブ遅延判定部111は、実行されたジョブネットの開始時刻および終了時刻の遅延を検出してもよい。また、ジョブ遅延判定部111は、実行されたジョブネットの処理件数の推移から処理時間の増減を推定することにより、ジョブネットに遅延発生が見込まれるかを判定してもよい。処理時間は、ジョブネットの開始時刻から終了時刻までの時間の長さである。
ジョブ遅延判定部111にてジョブネットの遅延が発生する見込みであると判定された際、性能劣化判定部112は、性能劣化が発生しうるか判定する。ここで性能劣化判定部112は、ジョブ実行実績統合DB110に蓄積されたジョブ構成情報と、リソース情報と、ジョブ遅延判定部111により判定された処理時間の増減とから、リソース限界による性能劣化が起こりうるかを判定する。具体的には、性能劣化判定部112は、遅延が発生すると見込まれたジョブネット及び後続のジョブネットと、同期間に走行するジョブネットとのリソース使用率の合計が100%を超過する場合、性能劣化が見込まれる期間として判定する。
性能劣化判定部112にて性能劣化の発生が見込まれると判定された際、性能劣化回避部113は、性能劣化が見込まれる期間のジョブ開始時刻変更指令をジョブ実行部105に出す。ここで性能劣化回避部113は、ジョブ実行実績統合DB110に蓄積されている情報をもとに、開始時刻を変更するジョブに対して、変更先の期間において性能劣化が発生するか、また変更後にSLA時刻超過が発生するかを評価する。評価の結果、性能劣化が発生せず、且つSLA時刻超過が発生しないと判定された場合、性能劣化回避部113は、ジョブ開始時刻変更指令を出す。評価の結果、性能劣化またはSLA時刻超過が発生すると判定された場合、性能劣化回避部113は、アラームの報知を行う。
あるジョブネットの変更後の開始時刻を示すジョブ開始時刻変更指令を受けたジョブ実行部105は、ジョブ構成管理DB108に開始時刻が設定されている場合であっても、変更後の開始時刻を優先し、変更後の開始時刻に当該ジョブネットを実行する。
なお、業務システム101が、別のサーバ上にあってもよい。また、リソース監視部102、リソース情報収集部103、リソース情報DB104が、別のサーバ上にあってもよい。また、ジョブ実行部105、ジョブ実行実績収集部106、ジョブ実行実績DB107、ジョブ構成管理DB108が、別のサーバ上にあってもよい。ジョブ実行実績統合部109、ジョブ遅延判定部111、性能劣化判定部112、性能劣化回避部113、ジョブ実行実績統合DB110が、別のサーバ上にあってもよい。
例えば、業務システム101内の各サブシステムが既存システムであり、それぞれのサブシステムが、リソース監視、ジョブ実行管理を行う際、ジョブ実行実績統合部109が各サブシステムのリソース情報、ジョブ実行実績、ジョブ構成情報を収集する。
なお、リソース監視部102、リソース情報収集部103、リソース情報DB104、ジョブ実行実績統合部109、ジョブ実行実績統合DB110、性能劣化判定部112、性能劣化回避部113は、CPU、メモリ等、複数の種類のリソースのリソース使用率を用いてもよい。
図2は、ジョブフローの一例を示す。
ジョブフローは、イベント連携やデータ参照関係など、ジョブネット間の前後関係を示している。例えば、ジョブネットAは、ジョブネットBの前提ジョブネットであり、ジョブネットBはジョブネットAの後続ジョブネットの関係にある。ジョブネットBは、ジョブネットAの結果のデータを読み込んで処理を開始するため、ジョブネットAの終了前に開始することができず、順番を逆にしたり、同時に処理したりすることはできない。また、ジョブネットH、I、J、Kは、ジョブネットA、B、C、D、E、F、Gとの前後関係を持たず、並列に処理することができる。また、ジョブネットE、F、Fは、ジョブネットC、Dとの前後関係を持たず、並列に処理することができる。
ジョブ構成管理DB108は、ジョブフローの実行期間を含む、実行計画を示す。実行計画は、予め設定された実行周期毎に実行される。本実施例において、実行周期は1日である。
図3は、ジョブ実行実績統合DB110の一例を示す。
この図の例は、図2にて述べたジョブフローに対応する。ジョブ実行実績統合DB110は、ジョブネット毎のエントリを有する。一つのジョブネットに対応するエントリは、ジョブネット名411、開始予定時刻413、終了予定時刻416、SLA時刻423、処理予定件数422、リソース使用率424、前提ジョブネット431、後続ジョブネット432を含む。
ジョブネット名411は、当該ジョブネットを示す。開始予定時刻413は、当該ジョブネットの実行開始の予定時刻を示す。終了予定時刻416は、当該ジョブネットの実行終了の予定時刻を示す。SLA時刻423は、当該ジョブネットに設定された終了期限を示す。処理予定件数422は、当該ジョブネットによる処理件数の予定量を示す。リソース使用率424は、当該ジョブネットによるリソース使用率の予定量を示す。前提ジョブネット431は、当該ジョブネットの前段のジョブネットを示す。後続ジョブネット432は、当該ジョブネットの後段のジョブネットを示す。
SLA時刻423は、設定されないジョブネットがあってもよい。SLA時刻423が設定されているジョブを特定ジョブと呼ぶことがある。
開始予定時刻413から終了予定時刻416までの期間を実行予定期間と呼ぶことがある。ジョブ構成管理DB108にジョブネットの開始時刻が登録されている場合、当該ジョブネットの開始予定時刻の代わりに、開始時刻が用いられてもよい。開始予定時刻413、終了予定時刻416、処理予定件数422は、ジョブ実行実績DB107に登録されている日々の業務の実行結果をもとに導かれる。例えば、ジョブ実行実績統合部109は、ジョブ実行実績DB107における各ジョブネットの、開始時刻、終了時刻、処理件数について、平均値を算出し、夫々、開始予定時刻413、終了予定時刻416、処理予定件数422として格納する。
リソース使用率424は、リソース情報DB104に登録されている日々の業務の実行結果をもとに導かれる。例えば、ジョブ実行実績統合部109は、各ジョブネットに対し、リソース情報DB104における実行期間中のリソース使用率の最大値を、ジョブ実行実績統合DB110のリソース使用率として算出する。リソース使用率424の代わりに、リソース使用量の予定量等、他のリソース使用予定量が用いられてもよい。
各ジョブネットの前後関係を示す前提ジョブネット431および後続ジョブネット432と、SLA時刻423とは、ジョブ構成管理DB108にて管理されている。本実施例におけるSLA時刻は、業務システム101に対し、顧客との契約や他のシステムとの関係で定められる処理期限の時刻としている。この時刻までに特定のジョブネットの処理が完了しないことは、顧客や他のシステムに影響を与えるため、可能な限り回避されるべきである。回避不能な場合でも、早く予知して対策を講じることが求められる。
SLA時刻の代わりに、ジョブネットの実行に対する他の制約条件が設定されてもよい。制約条件は、特定のジョブネットが正常に完了することであってもよいし、特定のジョブネットの実行期間が他のジョブネットの実行期間に重ならないことであってもよいし、実行計画が一定の周期で実行される場合、特定のジョブネットが次の周期の実行計画の開始までに完了することであってもよい。
ジョブ実行実績統合DB110、または、リソース情報DB104、ジョブ実行実績DB107、ジョブ構成管理DB108を、ジョブ情報と呼ぶことがある。ジョブ実行実績を実行状況と呼ぶことがある。
図4は、リソース使用率の時間変化の第1の例を示す。
この図の例は、図3の状態に対応する。即ち、この図は、通常時のリソース使用率の時間変化を示す。
この図において、縦軸は時刻を示し、横軸はリソース使用率を示す。点線は各ジョブネットの実行期間とリソース使用率を表し、実線は各時刻におけるリソース使用率の合計値を表す。この図の例では、リソース使用率が100%を超えている時刻はなく、性能劣化は発生しない。
図5は、ジョブ遅延判定情報500の一例を示す。
ジョブ遅延判定情報500は、ジョブ遅延判定部111により収集される。ジョブ遅延判定情報500は、ジョブネット毎のエントリを有する。一つのジョブネットに対応するエントリは、ジョブネット名511、開始時刻512、開始予測時刻513、終了時刻515、終了予測時刻516、処理件数521、処理予測件数522、SLA時刻523、リソース使用率524を含む。
ジョブネット名511は、当該ジョブネットを示す。開始時刻512は、当該ジョブネットの開始時刻の実績値である。開始予測時刻513は、当該ジョブネットの開始時刻の予測値である。終了時刻515は、当該ジョブネットの終了時刻の実績値である。終了予測時刻516は、当該ジョブネットの終了時刻の予測値である。処理件数521は、当該ジョブネットの処理件数の実績値である。処理予測件数522は、当該ジョブネットの処理件数の予測値である。SLA時刻523は、当該ジョブネットのSLA時刻423である。リソース使用率524は、当該ジョブネットのリソース使用率424である。
ジョブ遅延判定部111は、ジョブ実行実績DB107から、実行中のジョブネットの開始時刻、終了時刻、処理件数を収集する。ジョブ遅延判定部111は更に、ジョブ実行実績統合DB110の一部を収集する。ジョブ遅延判定部111は、何れかのジョブネットが、予め設定された逸脱条件を満たす場合、ジョブネットの実行が遅延し、業務システム101の性能劣化が発生すると判定する。
ここで、ジョブ遅延判定部111は、収集された情報に基づいて、実行中のジョブネットの処理件数および処理予定件数の差から、処理時間の増減を予測してもよい。例えば、逸脱条件は、あるジョブネットの処理件数が増加することであってもよい。具体的には、逸脱条件は、実行中のジョブネットの処理件数から処理予定件数を減じて得られる値が、予め設定された処理件数変化量閾値よりも大きいことであってもよい。
また、逸脱条件は、実行されたジョブネットの開始時刻の実績である開始実績時刻、または実行されたジョブネットの終了時刻の実績である終了実績時刻の何れかが遅延することであってもよい。例えば、逸脱条件は、あるジョブネットの開始実績時刻から、開始時刻512または開始予定時刻413を減じて得られる値が、予め設定された時刻変化量よりも大きいことであってもよい。また、逸脱条件は、あるジョブネットの終了実績時刻から、終了時刻515または終了予定時刻416を減じて得られる値が、予め設定された時刻変化量よりも大きいことであってもよい。開始実績時刻から終了実績時刻までの期間を、実行実績期間と呼ぶことがある。
また、ジョブ遅延判定部111は、過去の処理時間及び処理件数から単位処理件数あたりの処理時間を推定し、推定した単位処理件数あたりの処理時間に処理件数を乗算することにより、ジョブネットの処理時間を予測してもよい。ジョブ遅延判定部111は、予測された処理時間に基づいて、各ジョブネットの開始予測時刻513および終了予測時刻516を算出してもよい。逸脱条件は、あるジョブネットの開始予測時刻513から、開始時刻512または開始予定時刻413を減じて得られる値が、予め設定された時刻変化量よりも大きいことであってもよい。また、逸脱条件は、あるジョブネットの終了予測時刻516から、終了時刻515または終了予定時刻416を減じて得られる値が、予め設定された時刻変化量よりも大きいことであってもよい。
更にジョブ遅延判定部111は、イベント連携やデータ参照等の前後関係と、前提ジョブネットの処理件数とを用いて、後続ジョブネットの処理件数について予測を行う。
図5は、図3の例においてジョブネットCの処理件数が増加した場合のジョブ遅延判定情報500を示す。この図の例において、ジョブネットCの処理件数が増加し、ジョブネットCの処理時間が増加し、ジョブネットCの終了予測時刻516が終了予定時刻416よりも遅延することが予測される。
図6は、リソース使用率の時間変化の第2の例を示す。
この図は、図5の状態に対応する。即ち、この図は、ジョブネットCの処理件数が増加した場合のリソース使用率の時間変化を示す。
この図の例は、図4の例に比べて、ジョブネットCの処理時間が延び、終了予測時刻が遅延することにより、本来同期間に走行することのなかったジョブネットCとジョブネットGとジョブネットJとの処理が重なる。この場合、性能劣化判定部112は、斜線で示された期間において、リソース使用率が100%を超過するため、性能劣化が発生すると判定する。この状態では、処理が非効率になり、リソース使用量の超過以上に処理遅延が大きくなるため、リソース超過は回避することが望ましい。
性能劣化が発生することにより、該当期間のジョブネット処理時間が延びることが想定される。したがって、ジョブネットC、ジョブネットG、ジョブネットJの終了予測時刻が遅れるとともに、それぞれのジョブネットの後続の終了予測時刻にも影響が出る。
そのため、影響範囲下にあるジョブネットのうち、ジョブネットD、ジョブネットJ、ジョブネットKにおいて、SLA時刻超過が発生することが考えられる。
図7は、性能劣化回避処理を示す。
ジョブネットの実行期間の遅延等により、性能劣化判定部112により特定の期間において性能劣化の発生が見込まれた場合、710において性能劣化回避部113は、性能劣化回避処理を開始する。例えば、性能劣化判定部112は、何れかのジョブネットが逸脱条件を満たす場合に、性能劣化が発生すると判定する。
702において性能劣化回避部113は、性能劣化の発生が見込まれた期間に実行予定となっているジョブネットの中から一つのジョブネットを選択し、実行期間を変更する。このとき、性能劣化回避部113は、ジョブ実行実績統合DB110にて管理されている各ジョブネットの前後関係を保持したままジョブネットの開始時刻を変更する。例えば、性能劣化回避部113は、性能劣化の発生する期間におけるジョブネットの開始時刻を、予め設定された時間間隔だけ後方へ変更する。性能劣化の発生する期間に複数のジョブネットが実行される場合、自身とそれよりも後段のジョブネットとにSLA時刻が設定されていないジョブネットを優先して選択し、その開始時刻を変更してもよい。702において選択されたジョブを変更ジョブと呼ぶことがある。702において変更された実行期間を、実行期間候補と呼ぶことがある。
703において性能劣化回避部113は、ジョブ実行実績統合DB110に基づいて、変更後のジョブネットの実行期間と、後続のジョブネットの実行期間とのリソース使用率の評価を行う。
704において性能劣化回避部113は、703の評価結果をもとに、新たに性能劣化が発生するか否かを判定する。ここで、性能劣化回避部113は、リソース使用率の合計が100%を超える場合、性能劣化が発生すると判定する。
704の結果、性能劣化が発生しないと判定された場合(NO)、705において性能劣化回避部113は、変更後のジョブネットの終了時刻および、後続のジョブネットの終了時刻について、ジョブ実行実績統合DB110にて管理されている情報をもとに、評価を行う。
706において性能劣化回避部113は、705の評価結果をもとに、SLA時刻が設定されているジョブネットについて、SLA時刻超過が発生しているか否かを判定する。
706の結果、SLA時刻超過が発生していないと判定された場合(NO)、707において性能劣化回避部113は、ジョブ実行部105にジョブネットの開始時刻変更指令を出し、710において性能劣化回避部113は、性能劣化回避処理を終了する。ここで、性能劣化回避部113は、変更された開始時刻を表示デバイスに表示させてもよい。また、性能劣化回避部113は、開始時刻が変更されたジョブネットのジョブネット名、終了予測時刻、SLA時刻等を、表示デバイスに表示させてもよい。
703の結果、性能劣化が発生すると判定された場合(YES)、または705の結果、SLA時刻超過が発生すると判定された場合(YES)、708において性能劣化回避部113は、702の変更回数が規定回数に到達したかを判定する。
708の結果、変更回数が規定回数に到達していないと判定された場合(NO)、性能劣化回避部113は、処理を702へ移行させる。
708の結果、変更回数が規定回数に到達したと判定された場合(YES)、709において性能劣化回避部113は、アラーム発報し、710において性能劣化回避部113は、性能劣化回避処理を終了する。アラームを受けた管理者は、業務システム101の性能劣化の影響を受ける別の業務システムの管理者へ、性能劣化を通知する等の対処を行う。
以上の性能劣化回避処理によれば、性能劣化回避部113は、性能劣化が発生せず、且つSLA時刻超過が発生しないという条件の下で、ジョブネットの開始時刻を変更することができる。
図8は、性能劣化回避情報600の一例を示す。
性能劣化回避情報600は、前述の性能劣化回避処理の703および705において、性能劣化回避部113により収集される。性能劣化回避情報600は、ジョブネット毎のエントリを有する。一つのジョブネットに対応するエントリは、ジョブネット名611、開始時刻612、開始予測時刻613、変更後開始時刻614、終了時刻615、終了予測時刻616、変更後終了時刻617、処理件数621、処理予測件数622、SLA時刻623、リソース使用率624を含む。
ジョブネット名611は、当該ジョブネットを示す。開始時刻612は、当該ジョブネットの開始時刻512である。開始予測時刻613は、当該ジョブネットの開始予測時刻513である。変更後開始時刻614は、当該ジョブネットに対し、性能劣化回避処理により変更された開始時刻である。終了時刻615は、当該ジョブネットの終了時刻515である。終了予測時刻616は、当該ジョブネットの終了予測時刻516である。変更後終了時刻617は、当該ジョブネットに対し、性能劣化回避処理により変更された終了時刻である。処理件数621は、当該ジョブネットの処理件数521である。処理予測件数622は、当該ジョブネットの処理予測件数522である。SLA時刻623は、当該ジョブネットのSLA時刻423である。リソース使用率624は、当該ジョブネットのリソース使用率424である。
この図は、図5の例において、性能劣化の発生が見込まれる期間のジョブの開始時刻を変更した場合の性能劣化回避情報600を示す。性能劣化回避部113は、ジョブ遅延判定部111が予測したジョブの開始予測時刻513、終了予測時刻516と、ジョブ実行実績統合DB110とを収集する。性能劣化回避部113は更に、収集された情報に基づいて、性能劣化回避処理を行い、変更後開始時刻614、変更後終了時刻617を算出する。
もし、性能劣化回避部113が、性能劣化の発生を回避するために、ジョブネットの前後関係を保持したまま、ジョブネットC、ジョブネットJの開始時刻を変更すると、ジョブネットDおよび、ジョブネットJのSLA時刻超過が発生する。
一方、性能劣化回避部113が、この図に示したようにジョブネットGの開始時刻を変更すると、全てのジョブネットにおいてSLA時刻超過が発生しないことが判る。
図9は、リソース使用率の時間変化の第3の例を示す。
この図は、図8の状態に対応する。即ち、この図は、ジョブネットCの処理件数が増加した場合で、性能低下回避処理後のリソース使用率の時間変化を示す。
図6の例では、ジョブネットC、ジョブネットG、ジョブネットJが同期間に走行することにより、リソース使用率の合計が100%を超過していたが、この図の例では、ジョブネットGの開始時刻を変更することにより、リソース使用率の合計が100%を超過することがなくなり、性能劣化が回避されたことが判る。
本実施例の計算機システムは、ジョブネットを単位として実行計画を管理し変更しているが、計算機システムは、ジョブ等、他の単位で実行計画を管理し変更してもよい。
また、本実施例では、ジョブネットについて、特定の処理件数に対して、リソース使用率と処理時間を固定としたが、変更可否の情報を加えて開始時刻と終了時刻の差を変更してもよい。例えば、性能劣化回避部113は、ジョブネットのリソース使用量を減らして処理時間を長くするように変更してもよい。
また、性能劣化回避部113は、複数のジョブを含むジョブネットの実行を中断可能にして、実行期間を複数のジョブに分割可能にして、当該ジョブネット内の特定のジョブの開始時刻を変更してもよい。これらの変更により、変更の自由度が向上することで、性能劣化およびSLA時刻超過を回避する実行計画を実現しやすくなる。
逸脱条件は、実行中のジョブネットの処理件数および処理予定件数の差の大きさが、変化量閾値よりも大きいことであってもよい。これにより、ジョブ遅延判定部111は、実行中のジョブネットの処理予定件数から処理件数を減じた値が、変化量閾値よりも大きい場合、当該ジョブネットの終了時刻が早まると判定する。この場合、後続ジョブネットの開始時刻が早まり、それ以降の複数のジョブネットの実行期間が重なることによりリソース使用率が100%以上になる可能性がある。また、逸脱条件は、あるジョブネットの開始予測時刻513と、開始時刻512または開始予定時刻413との差の大きさが、予め設定された時刻変化量よりも大きいことであってもよい。また、逸脱条件は、あるジョブネットの終了予測時刻516と、終了時刻515または終了予定時刻416との差の大きさが、予め設定された時刻変化量よりも大きいことであってもよい。
本実施例によれば、複数のジョブが逸脱条件を満たすと判定された場合、計算機システムは、変更条件の下で、ジョブの実行期間を変更することができる。例えば、変更条件は、常に複数のジョブのリソース使用予定量の合計が、予め設定されたリソース使用量閾値以下であり、且つ複数のジョブの中の特定ジョブが制約条件を満たすことである。本実施例において、リソース使用予定量はリソース使用率であり、リソース使用量閾値は100%である。リソース使用量閾値は100%より小さくてもよい。
計算機システムは、変更条件の下でジョブの実行期間を変更することにより、ジョブの処理遅延に伴って発生するSLA時刻超過や、それによるサブシステム間のイベント連携やデータ参照処理の異常を防ぐことができる。
実行予定期間の開始時刻は、開始予定時刻413や開始時刻512等に対応する。実行予定期間の終了時刻は、終了予定時刻416や終了時刻515等に対応する。実行予測期間の開始時刻は、開始予測時刻513等に対応する。実行予測期間の終了時刻は、終了予測時刻516等に対応する。
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上記構成に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
100…メモリ、 101…業務システム、 102…リソース監視部、 103…リソース情報収集部、 104…リソース情報DB、 105…ジョブ実行部、 106…ジョブ実行実績収集部、 107…ジョブ実行実績DB、 108…ジョブ構成管理DB、 109…ジョブ実行実績統合部、 110…ジョブ実行実績統合DB、 111…ジョブ遅延判定部、 112…性能劣化判定部、 113…性能劣化回避部、 200…CPU、 300…入力デバイス、 400…表示デバイス

Claims (10)

  1. メモリと、
    前記メモリに接続されるプロセッサと、
    を備え、
    前記プロセッサは、
    複数のジョブに対し、各ジョブの実行予定期間と、各ジョブのリソース使用予定量と、制約条件と、ジョブ間の従属関係とを示すジョブ情報を取得し、
    前記複数のジョブの実行状況を取得し、
    前記ジョブ情報及び前記実行状況に基づいて、各ジョブが、予め設定された逸脱条件を満たすか否かを判定する、
    ように構成され、
    前記複数のジョブが前記逸脱条件を満たすと判定された場合、前記プロセッサは、常に前記複数のジョブのリソース使用予定量の合計が、予め設定されたリソース使用量閾値以下であり、且つ前記複数のジョブの中の特定ジョブが制約条件を満たす、という変更条件の下で、前記複数のジョブの中の変更ジョブの実行期間を変更する、
    計算機システム。
  2. 前記制約条件は、前記特定ジョブが、予め設定された終了期限以前に終了することである、
    請求項1に記載の計算機システム。
  3. 前記複数のジョブが前記逸脱条件を満たすと判定された場合、前記プロセッサは、前記変更ジョブの実行期間候補を算出し、前記ジョブ情報及び前記実行期間候補に基づいて、前記実行期間候補が前記変更条件を満たすか否かを判定し、前記実行期間候補が前記変更条件を満たす場合、前記変更ジョブの実行期間を前記実行期間候補に変更する、
    請求項2に記載の計算機システム。
  4. 前記実行期間候補が前記変更条件を満たさない場合、前記プロセッサは、前記実行期間候補の算出と前記実行期間候補の判定とを繰り返し、
    前記実行期間候補の判定の回数が、規定回数に達した場合、前記プロセッサは、アラームを報知する、
    請求項3に記載の計算機システム。
  5. 前記実行状況は、実行されたジョブの実行期間の実績である実行実績期間を含み、
    前記逸脱条件は、前記実行されたジョブの実行予定期間の開始時刻と、前記実行されたジョブの実行実績期間の開始時刻との差、又は前記実行されたジョブの実行予定期間の終了時刻と、前記実行されたジョブの実行実績期間の終了時刻との差が、予め設定された時刻閾値よりも大きいことである、
    請求項4に記載の計算機システム。
  6. 前記実行状況は、前記実行されたジョブの処理件数を含み、
    前記ジョブ情報は、前記実行されたジョブの処理件数の予定量である処理予定件数を含み、
    前記プロセッサは、前記実行されたジョブの処理予定件数及び処理件数に基づいて、前記実行されたジョブの実行期間の長さを、処理予測時間として予測し、前記実行されたジョブの処理予測時間に基づいて、各ジョブの実行期間を予測する、
    請求項4に記載の計算機システム。
  7. 前記逸脱条件は、前記実行されたジョブの処理予定件数と、前記実行されたジョブの現在の処理件数との差が、予め設定された処理件数変化量閾値よりも大きいことである、
    請求項6に記載の計算機システム。
  8. 前記プロセッサは、前記変更ジョブの前記変更された実行期間を、表示デバイスに表示させるように構成されている、
    請求項1乃至7の何れか一項に記載の計算機システム。
  9. 前記プロセッサは、前記変更ジョブの前記変更された実行期間の開始時刻を示す指令を、前記複数のジョブを実行する業務システムへ発行するように構成されている、
    請求項1乃至7の何れか一項に記載の計算機システム。
  10. 複数のジョブに対し、各ジョブの実行予定期間と、各ジョブのリソース使用予定量と、制約条件と、ジョブ間の従属関係とを示すジョブ情報を取得し、
    前記複数のジョブの実行状況を取得し、
    前記ジョブ情報及び前記実行状況に基づいて、各ジョブが、予め設定された逸脱条件を満たすか否かを判定し、
    前記複数のジョブが前記逸脱条件を満たすと判定された場合、常に前記複数のジョブのリソース使用予定量の合計が、予め設定されたリソース使用量閾値以下であり、且つ前記複数のジョブの中の特定ジョブが制約条件を満たす、という変更条件の下で、前記複数のジョブの中の変更ジョブの実行期間を変更する、
    ことを備える、
    ジョブ実行計画変更方法。
JP2016175267A 2016-09-08 2016-09-08 計算機システムおよびジョブ実行計画変更方法 Pending JP2018041296A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016175267A JP2018041296A (ja) 2016-09-08 2016-09-08 計算機システムおよびジョブ実行計画変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016175267A JP2018041296A (ja) 2016-09-08 2016-09-08 計算機システムおよびジョブ実行計画変更方法

Publications (1)

Publication Number Publication Date
JP2018041296A true JP2018041296A (ja) 2018-03-15

Family

ID=61626291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016175267A Pending JP2018041296A (ja) 2016-09-08 2016-09-08 計算機システムおよびジョブ実行計画変更方法

Country Status (1)

Country Link
JP (1) JP2018041296A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032007A (ko) * 2019-05-16 2022-03-15 블루 프리즘 리미티드 디지털 노동력 지능형 오케스트레이션을 위한 시스템들 및 방법들
CN115062902A (zh) * 2022-05-12 2022-09-16 中国南方电网有限责任公司 基于班组作业计划调控的作业饱和度评估方法及装置
US12360815B2 (en) 2019-05-16 2025-07-15 Blue Prism Limited Assignee Systems and methods for digital workforce intelligent orchestration

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032007A (ko) * 2019-05-16 2022-03-15 블루 프리즘 리미티드 디지털 노동력 지능형 오케스트레이션을 위한 시스템들 및 방법들
JP2022532890A (ja) * 2019-05-16 2022-07-20 ブルー プリズム リミテッド デジタルワークフォースの知的調整のためのシステムおよび方法
JP7610530B2 (ja) 2019-05-16 2025-01-08 ブルー プリズム リミテッド デジタルワークフォースの知的調整のためのシステムおよび方法
US12360815B2 (en) 2019-05-16 2025-07-15 Blue Prism Limited Assignee Systems and methods for digital workforce intelligent orchestration
CN115062902A (zh) * 2022-05-12 2022-09-16 中国南方电网有限责任公司 基于班组作业计划调控的作业饱和度评估方法及装置

Similar Documents

Publication Publication Date Title
US8381219B2 (en) Monitoring performance on workload scheduling systems
US9870269B1 (en) Job allocation in a clustered environment
US8332863B2 (en) Fair share scheduling based on an individual user's resource usage and the tracking of that usage
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
JP6560263B2 (ja) 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット
US8365182B2 (en) Method and system for provisioning of resources
US9037880B2 (en) Method and system for automated application layer power management solution for serverside applications
US12333348B2 (en) Allocating computing resources for deferrable virtual machines
US20050010608A1 (en) Job scheduling management method, system and program
US9588813B1 (en) Determining cost of service call
US20170083367A1 (en) System and method for resource management
CN110928655A (zh) 一种任务处理方法及装置
US8949429B1 (en) Client-managed hierarchical resource allocation
US10305974B2 (en) Ranking system
CN104956325A (zh) 物理资源分配
US9292336B1 (en) Systems and methods providing optimization data
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
US20170054592A1 (en) Allocation of cloud computing resources
Ai et al. On elasticity measurement in cloud computing
JP2017041191A (ja) リソース管理装置、リソース管理プログラム、及びリソース管理方法
CN107430526B (zh) 用于调度数据处理的方法和节点
CN115480924A (zh) 作业数据的处理方法及装置、存储介质、电子设备
US10417044B2 (en) System interventions based on expected impacts of system events on scheduled work units
JP2018041296A (ja) 計算機システムおよびジョブ実行計画変更方法
Çavdar et al. Quantifying the brown side of priority schedulers: Lessons from big clusters