JP7287499B2 - ジョブ予測プログラム、システム、及び方法 - Google Patents

ジョブ予測プログラム、システム、及び方法 Download PDF

Info

Publication number
JP7287499B2
JP7287499B2 JP2021565168A JP2021565168A JP7287499B2 JP 7287499 B2 JP7287499 B2 JP 7287499B2 JP 2021565168 A JP2021565168 A JP 2021565168A JP 2021565168 A JP2021565168 A JP 2021565168A JP 7287499 B2 JP7287499 B2 JP 7287499B2
Authority
JP
Japan
Prior art keywords
job
topic
predicted
jobs
topic model
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
Application number
JP2021565168A
Other languages
English (en)
Other versions
JPWO2021124397A1 (ja
JPWO2021124397A5 (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.)
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
Publication of JPWO2021124397A1 publication Critical patent/JPWO2021124397A1/ja
Publication of JPWO2021124397A5 publication Critical patent/JPWO2021124397A5/ja
Application granted granted Critical
Publication of JP7287499B2 publication Critical patent/JP7287499B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Description

開示の技術は、ジョブ予測プログラム、ジョブ予測システム、及びジョブ予測方法に関する。
例えば、大規模HPC(High Performance Computer)システム等におけるファイルシステムは、2階層の構造を持っていることが多い。具体的には、計算ノードから遠方で、かつ大容量で全データが集約されたストレージを持つグローバルファイルシステムと、計算ノードの直近で、かつ計算に使用するデータのみを格納するストレージを持つローカルファイルシステムの2階層構造である。この場合、計算ノードで計算処理が行われる際には、まず、グローバルファイルシステムからローカルファイルシステムへ必要なデータを移動する。そして、計算ノードがローカルファイルシステムのストレージからデータを読み書きしながら計算処理を行い、計算結果をローカルファイルシステムからグローバルファイルシステムへ移動する。
ここで、各ジョブからのローカルファイルシステムに対するデータの入出力命令は、少数(例えば、1台又は2台)の管理サーバに集約され、実際に処理を実行する処理サーバへ実行指示される。この管理サーバに入出力命令が集中した場合、管理サーバが入出力命令を処理しきれず、各ジョブの入出力命令が待ち状態となり、ジョブの処理速度、すなわちHPCの性能が低下してしまう。そこで、ジョブの実行前に、各ジョブが発行する入出力命令の量を予測し、入出力命令が管理サーバに集中しないようにジョブの実行順序を調整することで、入出力命令由来のジョブの処理速度の低下を防ぐことが考えられる。
例えば、複数のソリッドステートストレージデバイス間で読み込み及び書き込み動作を効果的にスケジュールするためのシステムが提案されている。このシステムは、ネットワークを介して互いに結合されたクライアントコンピュータ及びデータストレージアレイを含む。また、データストレージアレイは、データ記憶のためにソリッドステートドライブ及びフラッシュメモリセルを利用する。データストレージアレイ内のストレージコントローラは、I/Oスケジューラを含む。そして、このシステムは、予測時における比較的安定した応答時間を維持するために、対応するストレージデバイスの特性を使用して、ストレージデバイスへのI/O要求をスケジュールする。ストレージコントローラは、ストレージデバイスの予定外の挙動の可能性を低減するために、予定外の挙動の発生回数を低減する事前対応動作をストレージデバイス上でスケジュールするように構成される。
特開2016-131037号公報
管理サーバへの入出力命令の集中を回避するためには、各ジョブの入出力量が適切に予測される必要がある。
一つの側面として、開示の技術は、ジョブの入出力量の予測精度を向上させることを目的とする。
一つの態様として、開示の技術は、複数のジョブに関する情報を用いて学習された第1トピックモデルに基づいて、過去のジョブから、予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第1ジョブを抽出する。過去のジョブは、ジョブ実行時のデータの入出力量が既知のジョブである。また、開示の技術は、第2トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第2ジョブを抽出する。第2トピックモデルは、前記第1トピックモデルの学習に情報が用いられた前記複数のジョブの一部であって、前記入出力量が所定値以上となるジョブに関する情報を用いて学習されている。そして、開示の技術は、抽出された前記第1ジョブ及び前記第2ジョブのうち、前記類似度が上位所定順位までのトピック分布を持つジョブの前記入出力量を、前記予測対象のジョブの前記入出力量の予測値として出力する。
一つの側面として、予測モデルの予測精度を向上させることができる、という効果を有する。
ジョブ制御システムの概略構成を示すブロック図である。 ジョブDBに含まれるジョブ情報テーブルの一例を示す図である。 ジョブDBに含まれるIOデータテーブルの一例を示す図である。 一般的なトピックモデルを用いたIOデータの予測を説明するための図である。 本実施形態におけるIOデータの予測を説明するための図である。 全体トピックモデル又は大IOトピックモデルの一例を示す図である。 全体トピックモデルに基づくトピック分布、又は大IOトピックモデルに基づくトピック分布の一例を示す図である。 予測部の機能ブロック図である。 複数のトピックモデルを用いて、トピック分布のCOS類似度を比較することの問題点を説明するための図である。 抽出ジョブDBの一例を示す図である。 トピックモデルの更新処理のためのIOデータの近似度を説明するための図である。 ジョブ予測システムとして機能するコンピュータの概略構成を示すブロック図である。 学習処理の一例を示すフローチャートである。 予測処理の一例を示すフローチャートである。 更新処理の一例を示すフローチャートである。
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
図1に示すように、ジョブ制御システム100は、HPC(High Performance Computer)等の管理対象システム40と、管理対象システム40を管理する管理装置30と、ジョブ予測システム10とを含む。ジョブ予測システム10は、管理対象システム40でのジョブ実行時の各時刻における入出力量、すなわち入出力命令(Input/Output命令、以下「IO命令」という)の量の時系列データ(以下、「IOデータ」という)を予測する。
管理装置30は、機能的には、図1に示すように、スケジューリング部32と、制御部34とを含む。また、管理装置30の所定の記憶領域には、ジョブDB(Database)36が記憶される。
スケジューリング部32は、各ジョブの実行に関するスケジュールを決定する。この際、スケジューリング部32は、後述するジョブ予測システム10の予測部12により予測される各ジョブのIOデータの予測結果に基づいて、管理対象システム40内の管理サーバにIO命令が集中しないように、各ジョブのスケジュールを決定する。
制御部34は、スケジューリング部32により決定されたスケジュールに従ってジョブが実行されるように、管理対象システム40に指示を出力することにより、ジョブの実行を制御する。
ジョブDB36には、ジョブ情報テーブル及びIOデータテーブルが記憶される。
ジョブ情報テーブルには、管理対象システム40に投入される各ジョブに関する情報(以下、「ジョブ情報」という)が記憶される。図2に、ジョブ情報テーブル362の一例を示す。図2の例では、各行(各レコード)が1つのジョブについてのジョブ情報に相当する。各ジョブ情報は、ジョブの識別情報である「ジョブID」、「ジョブ名」、ジョブが属するグループの名称である「グループ名」等の情報を含む。ジョブ情報は、他にも、ユーザ名、ジョブを実行する指定時間、ジョブを実行するノード数等の情報を含んでいてもよい。
IOデータテーブルは、管理対象システム40で計測点毎に計測されたジョブ毎のIO量、すなわちIOデータが記憶される。図3に、IOデータテーブル364の一例を示す。計測点は、所定時間間隔(例えば、5分間隔)であり、ジョブの実行開始から時間の経過にしたがって、計測点1、計測点2、・・・となる。以下では、計測点iを「Ti」と表記する。また、図3の例では、ユーザにより設定されるジョブの最大実行時間に相当する計測点を「Tmax」としている。例えば、ジョブの最大実行時間が24時間で、計測点の時間間隔が5分毎の場合、Tmax=T288となる。
上述したように、ジョブ予測システム10は、管理対象システム40で実行される各ジョブのIOデータを予測する。本実施形態では、トピックモデルを用いて、IOデータを予測する予測対象のジョブに類似する過去のジョブを抽出し、抽出したジョブのIOデータを予測対象のジョブのIOデータの予測値とする。トピックモデルとは、文書が複数の潜在的なトピックから確率的に生成されると仮定したモデル、また、文書内の各単語は、あるトピックが持つ確率分布に従って出現すると仮定したモデルである。
ここで、一般的なトピックモデルを用いて、予測対象のジョブと類似するジョブを抽出する方法について説明する。
IOデータが既知の過去の複数のジョブの各々のジョブ情報を学習してトピックモデルを生成する。そして、図4に示すように、予測対象のジョブAのジョブ情報と、予め学習されたトピックモデルとを用いて、ジョブAについてのトピック分布を算出する。トピック分布とは、対象の文書(本実施形態ではジョブ情報)において、トピックモデルで規定された各トピックが出現する確率である。同様に、過去のジョブX、Y、Z、・・・のジョブ情報とトピックモデルとを用いて、ジョブX、Y、Z、・・・の各々のトピック分布を算出する。
そして、予測対象のジョブAのトピック分布と最も類似するトピック分布を持つジョブ(図4の例では、ジョブY)が抽出される。したがって、抽出されたジョブYのIOデータが、ジョブAのIOデータの予測値として出力される。
ここで、例えば、ジョブ実行時の消費電力を予測することを想定して、上記のようにトピックモデルを用いて、予測対象のジョブに類似するジョブを抽出することを考える。この場合、どのようなジョブでも一定量以上の電力は消費するため、過去のジョブのジョブ情報をまとめて学習しても、ある程度どの様なジョブに対しても、類似するジョブの抽出精度が担保されたトピックモデルを生成することができる。
一方、IOデータを予測することを想定した場合、一部の少数のジョブが大量のIO命令を発行することがある。そのため、過去のジョブのジョブ情報をまとめて学習したトピックモデルでは、上記のように大量のIO命令を発行するジョブ(以下、「大IOジョブ」という)に類似するジョブの抽出精度が担保されない場合がある。すなわち、予測対象のジョブに類似する過去のジョブは少数であるが、検索対象が広いため、より類似する過去のジョブが存在するにもかかわらす、間違ったジョブが抽出される可能性がある。
例えば、あるHPCシステムで実際に運用されたジョブにおいて、約90%のジョブが、IO量が400回/10分未満であり、約10%のジョブが、400回/10分以上であるという結果が得られている。このように、大IOジョブは、全体のジョブに占める割合は少数ではあるが、IO量が大きいため、管理サーバへのIO命令の集中を回避することを目的とした場合、このような大IOジョブのIOデータを精度良く予測できることが望ましい。
本実施形態では、図5に示すように、検索対象が広いトピックモデル(全体トピックモデル21)と、大IOジョブに検索対象を絞ったトピックモデル(大IOトピックモデル22)との両方を用いることで、上記問題を解決する。大IOトピックモデル22は大IOジョブに対して高い精度を発揮する一方で、大IOジョブ以外のジョブを全く予測できなくなる。そこで2つのトピックモデルを併用することで、大IOジョブの予測精度を向上させつつ、大IOジョブ以外のジョブの予測精度も担保する。
以下、ジョブ予測システム10について詳述する。
ジョブ予測システム10は、機能的には、図1に示すように、学習部11と、予測部12と、更新部16とを含む。
学習部11は、IOデータが既知の過去の複数のジョブの各々のジョブ情報を第1学習データとして、全体トピックモデル21を学習する。また、学習部11は、全体トピックモデル21の学習にジョブ情報を用いたジョブのうち、大IOジョブのジョブ情報を第2学習データとして、大IOトピックモデル22を学習する。
具体的には、学習部11は、第1学習データの各々に出現する内容語である単語の出現頻度をカウントし、同じジョブのジョブ情報に出現する確率が高い単語をグルーピングし、各グループを各トピックとする。学習部11は、複数のトピックの各々について、そのトピックでの出現率の高い所定個の単語の各々に、その出現率に応じた重みを付加することにより、全体トピックモデル21を生成する。
図6に、全体トピックモデル21の一例を示す。図6では、10個のトピックの各々に10個の単語が含まれている例を示している。また、各トピックには、トピックの識別情報であるトピックIDが付与されている。また、図6において、「単語A-k-n」は、全体トピックモデル21におけるk番目のトピックのn番目の単語であることを表しており、「重みA-k-n」は「単語A-k-n」に付与された重みを表している。「A」は、全体トピックモデル21に関する単語及び重みであることを表しており、後述する大IOトピックモデル22に関する単語及び重みと区別するための符号である。なお、大IOトピックモデル22に関する単語及び重みは、「単語B-k-n」のように「B」を用いて表す。
また、学習部11は、第2学習データとして、第1学習データであるジョブ情報が示す各ジョブのIOデータから、ジョブ毎に、ジョブの開始から終了までの各計測点におけるIO量の平均値(以下、「平均IO値」という)を算出する。そして、学習部11は、平均IO値が所定の閾値以上のジョブを大IOジョブと判定し、大IOジョブのジョブ情報を第2学習データとして取得する。学習部11は、取得した第2学習データを用いて、上記と同様に大IOトピックモデル22を生成する。大IOトピックモデル22のデータ構造は、図6に示す全体トピックモデル21のデータ構造と同様である。
また、学習部11は、第1学習データであるジョブ情報の各々を用いて、各ジョブについて、全体トピックモデル21に基づくトピック分布を算出する。具体的には、学習部11は、各ジョブ情報における、全体トピックモデル21で規定された各トピックの各単語の出現数と、その単語に付与された重みとに基づいて、トピック分布を算出する。例えば、トピック分布は、LDA(Latent Dirichlet Allocation)等の既知の手法により算出することができる。
図7に、全体トピックモデル21に基づくトピック分布23の一例を示す。図7の例では、10個分のトピックについての(トピックID,そのトピックの確率)の集合によりトピック分布が表されている。学習部11は、生成した全体トピックモデル21と、全体トピックモデル21に基づくトピック分布23とを、ジョブ予測システム10の所定の記憶領域に記憶された全体トピックDB25(図8参照)に記憶する。
同様に、学習部11は、第1学習データであるジョブ情報の各々を用いて、各ジョブについて、大IOトピックモデル22に基づくトピック分布を算出する。大IOトピックモデル22に基づくトピック分布24のデータ構造は、図7に示す全体トピックモデル21に基づくトピック分布23のデータ構造と同様である。学習部11は、生成した大IOトピックモデル22と、大IOトピックモデル22に基づくトピック分布24とを、ジョブ予測システム10の所定の記憶領域に記憶された大IOトピックDB26(図8参照)に記憶する。
図8に示すように、予測部12は、さらに、第1抽出部13と、第2抽出部14と、出力部15とを含んだ構成で表すことができる。また、ジョブ予測システム10の所定の記憶領域には、全体トピックDB25と、大IOトピックDB26と、抽出ジョブDB27とが記憶される。
第1抽出部13は、ジョブDB36のジョブ情報テーブル362から、予測対象のジョブのジョブ情報を取得し、予測対象のジョブについて、全体トピックモデル21に基づくトピック分布を算出する。また、第1抽出部13は、全体トピックDB25に記憶された、過去の各ジョブについての全体トピックモデル21に基づくトピック分布の各々と、予測対象のジョブのトピック分布とのCOS類似度を算出する。具体的には、トピック分布間において、トピックIDが一致するトピック同士の確率のCOSの和がCOS類似度である。COS類似度の最大値は、全体トピックモデル21内のトピック数(ここでは、10)となる。第1抽出部13は、予測対象のジョブのトピック分布とのCOS類似度が最大のトピック分布を持つ過去のジョブを第1ジョブとして抽出する。第1抽出部13は、抽出した第1ジョブのジョブID、及び算出したCOS類似度を出力部15に受け渡す。
第2抽出部14は、予測対象のジョブについて、大IOトピックモデル22に基づくトピック分布を算出する。そして、第2抽出部14は、第1抽出部13と同様に、大IOトピックDB26に記憶された、過去の各ジョブについての大IOトピックモデル22に基づくトピック分布の各々と、予測対象のジョブのトピック分布とのCOS類似度を算出する。第2抽出部14は、予測対象のジョブのトピック分布とのCOS類似度が最大のトピック分布を持つ過去のジョブを第2ジョブとして抽出する。第2抽出部14は、抽出した第2ジョブのジョブID、及び算出したCOS類似度を出力部15に受け渡す。
出力部15は、図9に示すように、第1抽出部13から受け渡された第1ジョブについてのCOS類似度と、第1抽出部14から受け渡された第2ジョブについてのCOS類似度とを比較し、より高いCOS類似度のジョブを選択する。出力部15は、選択したジョブのジョブIDに対応するIOデータをジョブDB36のIOデータテーブル364から取得する。出力部15は、取得したIOデータを、予測対象のジョブのIOデータの予測値として、管理装置30のスケジューリング部32へ出力する。
また、出力部15は、第1抽出部13から受け渡された第1ジョブのジョブIDと、第2抽出部14から受け渡された第2ジョブのジョブIDを、例えば図10に示すような抽出ジョブDB27に、予測対象のジョブのジョブIDと対応付けて記憶する。
図9に示すように、出力部15は、予測対象のジョブと、第1ジョブ及び第2ジョブの各々とのトピック分布のCOS類似度を比較している。ここで、第1ジョブ及び第2ジョブの各々のトピック分布は、それぞれ異なるトピックモデルに基づいて算出されたものであるため、正当な比較にならず、予測値として使用するジョブとして最適なジョブが選択されていない可能性もある。
全体トピックモデル21と大IOトピックモデル22とを統合したトピックモデルを用いることも考えられる。しかし、例えば、トピック分布において、全体トピックモデル21に基づく部分は類似していても、大IOトピックモデル22に基づく部分が類似していない場合には、後者の部分が邪魔をして適切な比較ができず、上記と同様の問題が生じる。
そこで、本実施形態では、更新部16により、全体トピックモデル21と大IOトピックモデル22とでバランスをとり、片方のトピックモデルの選択をもう片方のトピックモデルが邪魔しないように、トピックモデルの単語に付与されている重みを更新する。以下、更新部16について詳述する。
更新部16は、図11に示すように、予測対象のジョブが実行された際のIOデータと、第1ジョブ及び第2ジョブの各々が実行された際のIOデータとの近似度を算出する。近似度は、実行時間が異なるジョブについてのIOデータ同士を評価することを考慮して、両IOデータから、動的時間伸縮法(DTW:Dynamic Time Warping)により算出することができる。更新部16は、算出した近似度に基づいて、全体トピックモデル21及び大IOトピックモデル22の各々において、予測対象のジョブのジョブ情報に出現する単語の重みを更新する。
具体的には、更新部16は、以下の2つのいずれかの場合に、全体トピックモデル21及び大IOトピックモデル22の各々において、予測対象のジョブのジョブ情報に出現する単語の重みを小さくする。
第1の場合は、予測対象のジョブのIOデータと第1ジョブのIOデータとの近似度が閾値を超えており(近似していないことを示す値)、予測対象のジョブのIOデータと第2ジョブのIOデータとの近似度が閾値未満(近似していることを示す値)であり、予測対象のジョブが大IOジョブの場合である。第2の場合は、予測対象のジョブのIOデータと第1ジョブのIOデータとの近似度が閾値未満であり、かつ予測対象のジョブのIOデータと第2ジョブのIOデータとの近似度が閾値を超えている場合である。
大IOトピックモデル22は、全体トピックモデル21を学習した第1学習データの部分集合である第2学習データで学習されている。したがって、両トピックモデルには共通の単語が含まれている。したがって、上記のように単語の重みを更新することで、両トピックモデルのバランスをとることができる。
ジョブ予測システム10は、例えば図12に示すコンピュータ50で実現することができる。コンピュータ50は、CPU(Central Processing Unit)51と、一時記憶領域としてのメモリ52と、不揮発性の記憶部53とを備える。また、コンピュータ50は、入力部、表示部等の入出力装置54と、記憶媒体59に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部55とを備える。また、コンピュータ50は、インターネット等のネットワークに接続される通信I/F(Interface)56を備える。CPU51、メモリ52、記憶部53、入出力装置54、R/W部55、及び通信I/F56は、バス57を介して互いに接続される。
記憶部53は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を、ジョブ予測システム10として機能させるための学習プログラム61、予測プログラム62、及び更新プログラム66が記憶される。予測プログラム62は、第1抽出プロセス63と、第2抽出プロセス64と、出力プロセス65とを有する。また、記憶部53は、全体トピックDB25、大IOトピックDB26、及び抽出ジョブDB27の各々を構成する情報が記憶される情報記憶領域70を有する。なお、予測プログラム62及び更新プログラム66は、開示の技術のジョブ予測プログラムの一例である。
CPU51は、学習プログラム61を記憶部53から読み出してメモリ52に展開して実行することで、図8に示す学習部11として動作する。また、CPU51は、予測プログラム62を記憶部53から読み出してメモリ52に展開し、予測プログラム62が有するプロセスを順次実行する。CPU51は、第1抽出プロセス63を実行することで、図8に示す第1抽出部13として動作する。また、CPU51は、第2抽出プロセス64を実行することで、図8に示す第2抽出部14として動作する。また、CPU51は、出力プロセス65を実行することで、図8に示す出力部15として動作する。
また、CPU51は、更新プログラム66を記憶部53から読み出してメモリ52に展開して実行することで、図8に示す更新部16として動作する。また、CPU51は、情報記憶領域70から情報を読み出して、全体トピックDB25、大IOトピックDB26、及び抽出ジョブDB27の各々をメモリ52に展開する。これにより、学習プログラム61、予測プログラム62、及び更新プログラム66を実行したコンピュータ50が、ジョブ予測システム10として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。
なお、各プログラムにより実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
管理装置30のハードウェア構成は、ジョブ予測システム10と同様に、CPU、メモリ、記憶部、入出力装置、R/W部、通信I/F等を備えるコンピュータで実現することができるため、詳細な説明を省略する。
次に、本実施形態に係るジョブ制御システム100の作用について説明する。
管理装置30により制御され、管理対象システム40においてジョブが実行される。ジョブの実行に伴い、管理装置30のジョブDB36に、管理対象システム40に投入されたジョブ情報、及び管理対象システム40で計測されたIOデータが記憶される。そして、所定のタイミング(例えば、1か月毎)で、ジョブ予測システム10において、図13に示す学習処理が実行される。
ステップS11で、学習部11が、ジョブDB36のジョブ情報テーブル362に記憶された各ジョブのジョブ情報を、第1学習データとして取得する。
次に、ステップS12で、学習部11が、第1学習データを用いて全体トピックモデル21を学習し、全体トピックDB25に記憶する。
次に、ステップS13で、学習部11が、ジョブDB36のIOデータテーブル364を参照して、平均IO値が所定の閾値以上のジョブを大IOジョブと判定し、大IOジョブのジョブ情報を第2学習データとして取得する。
次に、ステップS14で、学習部11が、第2学習データを用いて大IOトピックモデル22を学習し、大IOトピックDB26に記憶する。
次に、ステップS15で、学習部11が、第1学習データであるジョブ情報の各々を用いて、各ジョブについて、全体トピックモデル21に基づくトピック分布を算出し、全体トピックDB25に記憶する。
次に、ステップS16で、学習部11が、第1学習データであるジョブ情報の各々を用いて、各ジョブについて、大IOトピックモデル22に基づくトピック分布を算出し、大IOトピックDB26に記憶する。そして、学習処理は終了する。
また、IOデータの予測対象のジョブが管理対象システム40に投入される都度、ジョブ予測システム10において、図14に示す予測処理が実行される。
ステップS21で、第1抽出部13及び第2抽出部14が、ジョブDB36のジョブ情報テーブル362から、予測対象のジョブのジョブ情報を取得する。
次に、ステップS22で、第1抽出部13が、予測対象のジョブについて、上記ステップS21で取得したジョブ情報を用いて、全体トピックモデル21に基づくトピック分布を算出する。
次に、ステップS23で、第1抽出部13が、全体トピックDB25に記憶された、過去の各ジョブについての全体トピックモデル21に基づくトピック分布の各々と、上記ステップS22で算出した予測対象のジョブのトピック分布とのCOS類似度を算出する。そして、第1抽出部13が、予測対象のジョブのトピック分布とのCOS類似度が最大のトピック分布を持つ過去のジョブを第1ジョブとして抽出する。第1抽出部13は、抽出した第1ジョブのジョブID、及び算出したCOS類似度を出力部15に受け渡す。
次に、ステップS24で、第2抽出部14が、予測対象のジョブについて、上記ステップS21で取得したジョブ情報を用いて、大IOトピックモデル22に基づくトピック分布を算出する。
次に、ステップS25で、第2抽出部14が、大IOトピックDB26に記憶された、過去の各ジョブについての大IOトピックモデル22に基づくトピック分布の各々と、上記ステップS24で算出したトピック分布とのCOS類似度を算出する。そして、第2抽出部14が、予測対象のジョブのトピック分布とのCOS類似度が最大のトピック分布を持つ過去のジョブを第2ジョブとして抽出する。第2抽出部14は、抽出した第2ジョブのジョブID、及び算出したCOS類似度を出力部15に受け渡す。
次に、ステップS26で、出力部15が、第1抽出部13から受け渡された第1ジョブのジョブIDと、第2抽出部14から受け渡された第2ジョブのジョブIDを抽出ジョブDB27に、予測対象のジョブのジョブIDと対応付けて記憶する。
また、出力部15が、第1ジョブと第2ジョブとで、より高いCOS類似度のジョブを選択し、選択したジョブのジョブIDに対応するIOデータをジョブDB36のIOデータテーブル364から取得する。そして、出力部15が、取得したIOデータを、予測対象のジョブのIOデータの予測値として、管理装置30のスケジューリング部32へ出力し、予測処理は終了する。
予測対象のジョブの実行が完了し、IOデータがジョブDB36のIOデータテーブル364に記憶されたタイミングで、ジョブ予測システム10において、図15に示す更新処理が実行される。
ステップS31で、更新部16が、ジョブDB36のIOデータテーブル364から、予測対象のジョブのIOデータを取得する。
次に、ステップS32で、更新部16が、抽出ジョブDB27を参照して、予測対象のジョブに対応する第1ジョブ及び第2ジョブを特定する。そして、更新部16が、ジョブDB36のIOデータテーブル364から、第1ジョブ及び第2ジョブの各々のIOデータを取得する。
次に、ステップS33で、更新部16が、例えばDTWにより、予測対象のジョブのIOデータと第1ジョブのIOデータとの近似度D1を算出する。同様に、更新部16が、予測対象のジョブのIOデータと第2ジョブのIOデータとの近似度D2を算出する。なお、ここでの近似度D1及びD2は、値が小さいほど両IOデータが近似していることを示す。
次に、ステップS34で、更新部16が、閾値TH(例えば、0.1)>D1、かつTH>D2か否か、すなわち、いずれのトピックモデルを用いた場合でも、予測対象のジョブのIOデータの予測が成功しているか否かを判定する。いずれのトピックモデルを用いた場合でも予測が成功している場合には、更新処理は終了し、少なくともいずれかのトピックモデルを用いた予測が失敗している場合には、処理はステップS35へ移行する。
ステップS35で、更新部16が、TH<D1、かつTH>D2か否か、すなわち、大IOトピックモデル22を用いた予測は成功し、全体トピックモデル21を用いた予測が失敗しているか否かを判定する。肯定判定の場合、処理はステップS36へ移行し、否定判定の場合、処理はステップS38へ移行する。
ステップS36では、更新部16が、予測対象のジョブの平均IO値が所定の閾値以上か否かを判定することにより、予測対象のジョブが大IOジョブか否かを判定する。大IOジョブの場合には、処理はステップS37へ移行し、大IOジョブではない場合には、更新処理は終了する。
ステップS37では、全体トピックモデル21及び大IOトピックモデル22の各々において、予測対象のジョブのジョブ情報に出現する単語の重みを、所定値又は所定%(例えば、0.1%)小さくする。そして、更新処理は終了する。
一方、ステップS38では、更新部16が、TH>D1、かつTH<D2か否か、すなわち、全体トピックモデル21を用いた予測は成功し、大IOトピックモデル22を用いた予測が失敗しているか否かを判定する。肯定判定の場合、処理はステップS37へ移行し、否定判定の場合、すなわち、いずれのトピックモデルを用いた場合も予測に失敗している場合、更新処理は終了する。
なお、上述した予測処理及び更新処理は、開示の技術のジョブ予測方法の一例である。
以上説明したように、本実施形態におけるジョブ予測システムによれば、複数のジョブのジョブ情報を用いて学習された全体トピックモデルに基づいて、予測対象のジョブのトピック分布との類似度が最大となるトピック分布を持つ第1ジョブを抽出する。また、第1トピックモデルの学習に情報が用いられた複数のジョブの一部であって、大IOジョブのジョブ情報を用いて学習された大IOトピックモデルに基づいて、同様に第2ジョブを抽出する。そして、抽出された第1ジョブ及び第2ジョブのうち、類似度が高いトピック分布を持つジョブのIOデータを、予測対象のジョブのIOデータの予測値として出力する。これにより、ジョブの入出力量の予測精度を向上させることができる。
なお、上記実施形態では、大IOトピックモデルが1つの場合について説明したが、第1学習データであるジョブ情報の一部であって、IO量が段階的に異なる複数の範囲毎に、各範囲に含まれるジョブ情報を用いて複数の大IOトピックモデルを学習してもよい。この場合、複数の大IOトピックモデルの各々に基づいて、第2ジョブの各々を抽出すればよい。そして、第1ジョブと、複数の第2ジョブとの中で、予測対象のジョブのトピック分布と最もCOS類似度が高いトピック分布を持つジョブを選択すればよい。これにより、大IOジョブについて、より探索範囲を絞ったトピックモデルを用意することができ、予測精度が向上する。
また、上記実施形態では、予測対象のジョブのトピック分布と最も類似するトピック分布を持つ第1ジョブ及び第2ジョブを抽出し、さらにより類似するジョブを選択する場合について説明したが、これに限定されない。例えば、予測対象のジョブのトピック分布との類似度が所定値以上のトピック分布を持つ1以上の第1ジョブ及び第2ジョブを抽出してもよい。また、抽出された複数の第1ジョブ及び第2ジョブのうち、COS類似度が上位所定順位までのトピック分布を持つジョブのIOデータを取得して、予測値を出力してもよい。複数のIOデータが取得されている場合、計測点毎のIO量の平均や最大値をとるなどの統計的処理を行って予測値を生成すればよい。
また、上記実施形態では、予測対象のジョブが完了する都度、トピックモデルの重みの更新処理を実行する場合について説明したが、これに限定されない、例えば、1日1回等の所定のタイミングで実行してもよい。この場合、抽出ジョブDBに記憶された予測対象のジョブのうち、更新処理が未処理のジョブを選択して、図15に示す更新処理を実行すればよい。なお、上記実施形態のように、予測対象のジョブが完了する都度、更新処理を実行することで、リアルタイムにトピックモデルの単語の重みを更新することができる。
また、上記実施形態では、各プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
10 ジョブ予測システム
11 学習部
12 予測部
13 第1抽出部
14 第2抽出部
15 出力部
16 更新部
21 全体トピックモデル
22 大IOトピックモデル
23 全体トピックモデルに基づくトピック分布
24 大IOトピックモデルに基づくトピック分布
25 全体トピックDB
26 大IOトピックDB
27 抽出ジョブDB
30 管理装置
32 スケジューリング部
34 制御部
36 ジョブDB
362 ジョブ情報テーブル
364 データテーブル
40 管理対象システム
50 コンピュータ
51 CPU
52 メモリ
53 記憶部
59 記憶媒体
61 学習プログラム
62 予測プログラム
66 更新プログラム
100 予測システム

Claims (8)

  1. 複数のジョブに関する情報を用いて学習された第1トピックモデルに基づいて、ジョブ実行時のデータの入出力量が既知の複数の過去のジョブから、予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第1ジョブを抽出し、
    前記第1トピックモデルの学習に情報が用いられた前記複数のジョブの一部であって、前記入出力量が所定値以上となるジョブに関する情報を用いて学習された第2トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第2ジョブを抽出し、
    抽出された前記第1ジョブ及び前記第2ジョブのうち、前記類似度が上位所定順位までのトピック分布を持つジョブの前記入出力量を、前記予測対象のジョブの前記入出力量の予測値として出力する
    ことを含む処理をコンピュータに実行させるためのジョブ予測プログラム。
  2. 前記複数のジョブの一部であって、前記入出力量が段階的に異なる複数の範囲毎に、各範囲に含まれるジョブに関する情報を用いて前記第2トピックモデルの各々が学習されており、前記第2トピックモデルの各々に基づいて、前記第2ジョブの各々を抽出する請求項1に記載のジョブ予測プログラム。
  3. 前記第1トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が最も高いトピック分布を持つジョブを前記第1ジョブとして抽出し、
    前記第2トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が最も高いトピック分布を持つジョブを前記第2ジョブとして抽出し、
    抽出された前記第1ジョブ及び前記第2ジョブのうち、前記類似度が高い方のジョブの前記入出力量を、前記予測対象のジョブの前記入出力量の予測値として出力する
    請求項1又は請求項2に記載のジョブ予測プログラム。
  4. 前記第1トピックモデル及び前記第2トピックモデルの各々は、前記ジョブに関する情報に出現する単語に基づいて、トピック毎に出現率が高い単語の各々に前記出現率に応じた重みが規定されたモデルであり、
    前記予測対象のジョブが実行された際のデータの入出力量の時系列変化と、前記第1ジョブ及び前記第2ジョブの各々が実行された際のデータの入出力量の時系列変化との近似度に基づいて、前記第1トピックモデル及び前記第2トピックモデルの各々において、前記予測対象のジョブに関する情報に出現する単語の重みを更新する
    請求項1~請求項3のいずれか1項に記載のジョブ予測プログラム。
  5. 前記単語の重みの更新を、前記予測対象のジョブが完了次第、実行する請求項4に記載のジョブ予測プログラム。
  6. 前記予測対象のジョブについての前記時系列変化と前記第1ジョブについての前記時系列変化との近似度が両時系列変化が近似していないことを示す値であり、前記予測対象のジョブについての前記時系列変化と前記第2ジョブについての前記時系列変化との近似度が両時系列変化が近似していることを示す値であり、かつ前記予測対象のジョブの前記入出力量が所定値以上の場合、
    又は、前記予測対象のジョブについての前記時系列変化と前記第1ジョブについての前記時系列変化との近似度が両時系列変化が近似していることを示す値であり、かつ前記予測対象のジョブについての前記時系列変化と前記第2ジョブについての前記時系列変化との近似度が両時系列変化が近似していないことを示す値の場合に、
    前記第1トピックモデル及び前記第2トピックモデルの各々において、前記予測対象のジョブに関する情報に出現する単語の重みを小さくする
    請求項4又は請求項5に記載のジョブ予測プログラム。
  7. 複数のジョブに関する情報を用いて学習された第1トピックモデルに基づいて、ジョブ実行時のデータの入出力量が既知の複数の過去のジョブから、予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第1ジョブを抽出する第1抽出部と、
    前記第1トピックモデルの学習に情報が用いられた前記複数のジョブの一部であって、前記入出力量が所定値以上となるジョブに関する情報を用いて学習された第2トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第2ジョブを抽出する第2抽出部と、
    抽出された前記第1ジョブ及び前記第2ジョブのうち、前記類似度が上位所定順位までのトピック分布を持つジョブの前記入出力量を、前記予測対象のジョブの前記入出力量の予測値として出力する出力部と、
    を含むジョブ予測システム。
  8. 複数のジョブに関する情報を用いて学習された第1トピックモデルに基づいて、ジョブ実行時のデータの入出力量が既知の複数の過去のジョブから、予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第1ジョブを抽出し、
    前記第1トピックモデルの学習に情報が用いられた前記複数のジョブの一部であって、前記入出力量が所定値以上となるジョブに関する情報を用いて学習された第2トピックモデルに基づいて、前記複数の過去のジョブから、前記予測対象のジョブのトピック分布との類似度が閾値以上となるトピック分布を持つ第2ジョブを抽出し、
    抽出された前記第1ジョブ及び前記第2ジョブのうち、前記類似度が上位所定順位までのトピック分布を持つジョブの前記入出力量を、前記予測対象のジョブの前記入出力量の予測値として出力する
    ことを含む処理をコンピュータが実行するジョブ予測方法。
JP2021565168A 2019-12-16 2019-12-16 ジョブ予測プログラム、システム、及び方法 Active JP7287499B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049183 WO2021124397A1 (ja) 2019-12-16 2019-12-16 ジョブ予測プログラム、システム、及び方法

Publications (3)

Publication Number Publication Date
JPWO2021124397A1 JPWO2021124397A1 (ja) 2021-06-24
JPWO2021124397A5 JPWO2021124397A5 (ja) 2022-07-15
JP7287499B2 true JP7287499B2 (ja) 2023-06-06

Family

ID=76477242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021565168A Active JP7287499B2 (ja) 2019-12-16 2019-12-16 ジョブ予測プログラム、システム、及び方法

Country Status (3)

Country Link
US (1) US20220269533A1 (ja)
JP (1) JP7287499B2 (ja)
WO (1) WO2021124397A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005148901A (ja) 2003-11-12 2005-06-09 Hitachi Ltd ジョブスケジューリングシステム
WO2017141363A1 (ja) 2016-02-17 2017-08-24 株式会社日立製作所 データ処理システム及びデータ処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6888291B2 (ja) * 2016-12-16 2021-06-16 富士電機株式会社 プロセス監視装置、プロセス監視システム及びプログラム
JP6681377B2 (ja) * 2017-10-30 2020-04-15 株式会社日立製作所 リソースの割り当てを最適化するシステム及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005148901A (ja) 2003-11-12 2005-06-09 Hitachi Ltd ジョブスケジューリングシステム
WO2017141363A1 (ja) 2016-02-17 2017-08-24 株式会社日立製作所 データ処理システム及びデータ処理方法

Also Published As

Publication number Publication date
US20220269533A1 (en) 2022-08-25
JPWO2021124397A1 (ja) 2021-06-24
WO2021124397A1 (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
US9811781B2 (en) Time-series data prediction device of observation value, time-series data prediction method of observation value, and program
US9996460B2 (en) Storage device, system including storage device and method of operating the same
TWI433035B (zh) 按比例調整指令間隔以識別用於代表性指令追蹤的收集點
US11468359B2 (en) Storage device failure policies
US10949115B2 (en) Flash memory polling
JP7243361B2 (ja) ジョブスケジューラ及びジョブスケジュール制御方法
US20210359514A1 (en) Information processing apparatus and job scheduling method
US10748060B2 (en) Pre-synaptic learning using delayed causal updates
US11216696B2 (en) Training data sample selection for use with non-volatile memory and machine learning processor
US11307781B2 (en) Managing replicas of content in storage systems
CN112749041B (zh) 虚拟化网络功能备份策略自决策方法、装置及计算设备
JP2019159888A (ja) 機械学習システム
JP7139932B2 (ja) 需要予測方法、需要予測プログラムおよび需要予測装置
JP7287499B2 (ja) ジョブ予測プログラム、システム、及び方法
CN113518000A (zh) 在线服务的实例数量调整的方法、装置及电子设备
KR20220032861A (ko) 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
WO2022156064A1 (zh) 闪存芯片可靠性等级预测方法、装置及存储介质
US20220334944A1 (en) Distributed file system performance optimization for path-level settings using machine learning
US11429285B2 (en) Content-based data storage
CN111461188B (zh) 一种目标业务控制方法、装置、计算设备及存储介质
JP2021184119A (ja) ジョブ消費電力予測プログラム、ジョブ消費電力予測方法及び情報処理装置
US11354475B2 (en) Systems and methods for accurate voltage impact on integrated timing simulation
CN116737607B (zh) 样本数据缓存方法、系统、计算机设备和存储介质
CN110858121B (zh) 后台操作的调度方法及装置
US11762754B1 (en) Techniques for data log processing, retention, and storage

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

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: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230508

R150 Certificate of patent or registration of utility model

Ref document number: 7287499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150