JP2020144510A - ジョブ制御システム、方法、及びプログラム - Google Patents

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

Info

Publication number
JP2020144510A
JP2020144510A JP2019039513A JP2019039513A JP2020144510A JP 2020144510 A JP2020144510 A JP 2020144510A JP 2019039513 A JP2019039513 A JP 2019039513A JP 2019039513 A JP2019039513 A JP 2019039513A JP 2020144510 A JP2020144510 A JP 2020144510A
Authority
JP
Japan
Prior art keywords
combination
allocation
job
resource
amount
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.)
Granted
Application number
JP2019039513A
Other languages
English (en)
Other versions
JP7331386B2 (ja
Inventor
勇佑 小島
Yusuke Kojima
勇佑 小島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2019039513A priority Critical patent/JP7331386B2/ja
Publication of JP2020144510A publication Critical patent/JP2020144510A/ja
Application granted granted Critical
Publication of JP7331386B2 publication Critical patent/JP7331386B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】コストを抑えつつ、時間内に処理を終えることができるリソースの割当てを可能とする。【解決手段】仮想マシン20は、2以上のリソースの割当量が変更可能に構成される。ジョブ実行制御手段11は、仮想マシン20に、入力データに対するジョブを実行させる。実行結果データ15は、リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む。割当てリソース予測手段12は、実行結果データ15、入力データのデータ量、及び予定終了時刻に基づいて、予定終了時刻までにジョブが終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。ジョブ実行制御手段11は、仮想マシン20のリソースの割当量を、予測されたリソースの割当量の組み合わせに制御する。【選択図】図1

Description

本開示は、ジョブ制御システム、方法、及びプログラムに関し、更に詳しくは、入力データに対するジョブの実行を制御するジョブ制御システム、方法、及びプログラムに関する。
一般的なバッチ処理の運用として、ジョブ管理システムなどを用いてスケジュールに基づいてバッチ処理を順次稼働していく方法が知られている。このようなバッチ処理の運用では、一定のリソースで処理を行うと、日々の入力データ量の違いなどに起因して、処理時間が変動する。バッチ処理の運用では、入力データ量に変動が生じても、必要となるリソースを確保して、予定終了時刻までに処理を終了させることが重要である。
関連技術として、特許文献1は、バッチ制御システムを開示する。特許文献1に記載のバッチ制御システムにおいて、監視部は、第1仮想計算機による第1バッチ処理の実行の際のリソース使用量と処理時間を監視し、最大リソース使用量と最大処理時間を取得する。予測部は、最大リソース使用量及び最大処理時間の傾向から、第1仮想計算機による第2バッチ処理の実行の際のリソース使用量と処理時間とを予測する。制御部は、予測されたリソース使用量と予測された処理時間とに応じて、第2バッチ処理の実行を制御する。
また、別の関連技術として、特許文献2は、ジョブ実行方法を開示する。特許文献2では、ネットワーク接続された複数のコンピュータを用いて、任意のタスク数に分割可能なジョブが実行される。特許文献2において、複数のコンピュータの中の1つのコンピュータは、ジョブのタスクを所定時間処理する。コンピュータは、所定時間におけるタスク処理の進捗率を算出し、進捗率及び所定時間に基づいて、1つのコンピュータでのタスク処理の完了時間を推定する。
コンピュータは、推定した完了時間がジョブの要求項目を満たすか否かを判定する。コンピュータは、例えばジョブのデッドライン時刻(実行終了希望時刻)までの残余時間が、推定した完了時間より長い場合、要求項目が満たされないと判定する。要求項目が満たされる場合、残りのタスクは1つのコンピュータを用いて実行される。要求項目が満たされる場合、タスクの一部を他のコンピュータに移動し、他のコンピュータで一部のタスクを実行させる。
特開2017−129988号公報 特開2008−123205号公報
近年、クラウドコンピューティングの利用が広まっており、バッチ処理についてもクラウド上で実施することが増えてきている。クラウドコンピューティング上でバッチ処理を実施する場合、リソースの割当量を増加させるほど、コストが掛かかる。このため、コストを抑えるために、リソースを必要な分だけ無駄なく割り当てることが重要である。
しかしながら、特許文献1は、物理サーバ上でのリソース管理を前提としている。特許文献1では、リソース使用率として、常に過去実績から導きだされる最高値又は平均値が予測値として利用される。バッチ処理は必ずしも処理時間が単純な増加傾向や減少傾向を示すとは限らず、バッチ処理の入力データ量は、日に応じてばらつきがあり得る。このため、日に応じて、必要となるリソース量が変動する場合がある。特許文献1に記載のシステムにおいて、例えば最高値を予測値としてスケール調整が行われると、入力データ量が少ない場合は無駄なコストがかかるという問題がある。また、平均値を予測値として利用した場合、入力データ量が多い場合に使用するリソース量が割り当てたリソース量を超え、予定終了時刻までに処理が終わらない問題がある。
特許文献2については、推定した完了時間がジョブの要求項目を満たす場合は、1つのコンピュータで残りの全タスクが実行される。この場合に、リソース量が、タスク数に対して過剰である場合があり得る。このため、バッチ処理においてデータ量が少ない場合には、リソースを必要な分だけ無駄なく割り当てることができず、コストを抑えることができない。
本開示は、上記事情に鑑み、コストを抑えつつ、時間内に処理を終えることができるジョブ制御システム、方法、及びプログラムを提供することを目的とする。
上記目的を達成するため、本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御するジョブ制御システムを提供する。
本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、前記仮想マシンに、前記入力データに対するジョブを実行させるジョブ制御方法を提供する。
本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、前記仮想マシンに、前記入力データに対するジョブを実行させるための処理をコンピュータに実行させるためのプログラムを提供する。
本開示に係るジョブ制御システム、方法、及びプログラムは、コストを抑えつつ、時間内に処理を終えるようにジョブを制御することができる。
本開示に係るジョブ制御システムの概略的に示すブロック図。 本開示の一実施形態に係るジョブ制御システムを含むシステム全体を示すブロック図。 対象リソースの設定可能値とコストとの例を示す図。 入力データの一例を示す図。 全体的な処理の流れを示すフローチャート。 割当てリソース量の予測の手順を示すフローチャート。 割当てリソース量の予測の手順を示すフローチャート。 二分探査におけるリソースの割当量の組み合わせの算出過程の例を示す図。 最小コストのリソースの割当量の組み合わせの算出過程を示す図。 (a)〜(d)は、最小コストのリソース割当量の組み合わせを探索する過程を示す模式図。 情報処理装置構成例を示すブロック図。
本開示の実施の形態の説明に先立ち、本開示の概要を説明する。図1は、本開示に係るジョブ制御システムの概略的に示す。ジョブ制御システム10は、ジョブ実行制御手段11、及び割当てリソース予測手段12を有する。ジョブ実行制御手段11は、仮想マシン20に、入力データに対するジョブを実行させる。仮想マシン20は、2以上のリソース割当量が変更可能に構成される。仮想マシン20において、コストは、リソースの割当量の組み合わせに基づいて定まる。
実行結果データ15は、仮想マシン20におけるリソースの割当量の組み合わせと所定単位量の入力データでの処理時間とを含む。割当てリソース予測手段12は、実行結果データ15、入力データのデータ量、及び予定終了時刻に基づいて、予定終了時刻までにジョブが終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。ジョブ実行制御手段11は、仮想マシンのリソースの割当量を、予測されたリソースの割当量の組み合わせに制御する。
本実施形態では、実行結果データ15は、リソースの割当量の組み合わせと所定単位量の入力データでの処理時間と含む。割当てリソース予測手段12は、実行結果データ15を参照することで、リソースの割当量の組み合わせごとに、入力データの処理にどれだけ時間が必要かを見積もることができる。割当てリソース予測手段12は、予定終了時刻までに入力データの処理を終えることができるリソースの割当量の組み合わせのうち、コストが最小となる組み合わせを予測する。ジョブ実行制御手段11は、仮想マシン20のリソースの割当量を予測された組み合わせに制御し、入力データに対するジョブを実行させる。このようにすることで、クラウドコンピューティングなどを利用する場合などにおいて、仮想マシン20に対する無駄がないリソース割り当てを実現でき、ジョブ実行のコストを抑えることができる。
以下、図面を参照して本開示の実施の形態を説明する。図2は、本開示の一実施形態に係るジョブ制御システムを含むシステム全体を示す。システム100は、ジョブ制御システム110、及びジョブ実行システム150を有する。ジョブ制御システム110は、バッチ処理などのジョブの実行を制御する。ジョブ実行システム150は、ジョブプロセスの実行を行う。システム100において、ジョブ制御システム110はマネージャとして構成され、ジョブ実行システム150はエージェントとして構成され得る。
ジョブ実行システム150は、入力データ151、ジョブプロセス152、及びOS(Operating System)153を含む。ジョブ実行システム150は、仮想化基盤200上の仮想マシンやコンテナとして構成される。仮想化基盤200において、ジョブ実行システム150に割り当てられるリソースは、仮想化基盤160によって、ジョブ実行システム150の稼働中に変更可能に構成される。ジョブ実行システム150のコストは、各リソースの割当量に応じて定まる。ジョブ実行システム150は、図1の仮想マシン20に対応する。
図3は、対象リソースの設定可能値とコストとの例を示す。ここでは、対象リソースとして、CPU(Central Processing Unit)とディスクとを考える。CPUは、最低速(1)、低速(2)、通常(3)、高速(4)、及び最高速(5)の5段階でリソース割当てが可能であるとする。CPUのリソース割当て(設定値)が最高速(5)の場合のコストは最大の100で、最低速(1)の場合のコストは最小値の10であるとする。また、ディスクは、最低速(1)、低速(2)、通常(3)、高速(4)、及び最高速(5)の5段階でリソース割当てが可能であるとする。ディスクのリソース割当てが最高速(5)の場合のコストは最大の30で、最低速(1)の場合のコストは最小の10である。
例えば、CPUに対するリソース割当てが最高速(5)で、かつディスクに対するリソース割当てが最高速(5)である場合、コストは最大の130となる。一方、CPUに対するリソース割当てが最低速(1)で、かつディスクに対するリソース割当てが最低速(1)の場合、コストは最小の20となる。ジョブの処理に要する時間は、CPU及びディスクの設定値の組み合わせに応じて変化する。各リソースに対するリソースの割当てが最大の場合、コストは最も高いものの、処理を短時間で終えることができる。一方、各リソースに対するリソースの割当てが最小の場合、コストは最も低くできるものの、処理に要する時間が長くなる。
ジョブ実行システム150において、入力データ151はジョブプロセス152に与えられる。入力データ151は、レコード単位などで区切って処理することが可能データである。ジョブプロセス152は、レコード単位で入力データ151に対して所定の処理を実行する。レコード単位は、ジョブプロセス152が処理を実行する最小単位に対応する。ジョブ実行システム150において、一度に起動されるジョブプロセス152は、単一のジョブプロセスであるとする。
ジョブ制御システム110は、ジョブ定義データ記憶部111、入力データ確認部112、ジョブ実行制御部113、割当てリソース予測部114、及び実行結果データ記憶部115を有する。ジョブ制御システム110は、図1のジョブ制御システム10に対応する。
ジョブ定義データ記憶部111は、ジョブに関する定義情報(ジョブ定義データ)を保存する。ジョブ定義データの内容の少なくとも一部は、ユーザにより事前に定義されている。ジョブ定義データは、例えば、実行するバッチ処理、入力データの情報、及び予定終了時刻を含む。ジョブ定義データは、更に、システム側で生成された、過去実績を検索するためのジョブの定義データのID、及び、最後に実行されてから実行するバッチ処理が変更されたか否かの情報を含む。
入力データの情報は、例えば、入力データ151の総量の確認コマンド、最後の処理データを元にした次回の最小単位の入力データの取得コマンド、及び、最後の処理データを元にした残り入力データの取得コマンドを含む。入力データの情報については、入力データに応じてコマンドが異なると予想されるため、ジョブ定義データにおいて、ユーザがそれぞれのコマンドを指定するものとする。
図4は、入力データの一例を示す。この例において、入力データは、「id」、「名前」、「部門」、「性別」、及び「年齢」の各フィールドを有する。例として、図4に示されるようなMySQLのテーブルを入力データ151とした場合、ジョブ定義データにおいて、下記のようなSQLコマンドが、入力データの情報として定義される。
入力データ総量の確認コマンドの例:
mysql -u user -p passwd db -e'SELECT COUNT(*) TABLE1'
最後の処理データを元にした次回の最小単位の入力データ取得コマンドの例:
mysql -u user -p passwd db -e'SELECT * FROM TABLE1 LIMIT 1 OFFSET <最後の処理データの番号>'
最後の処理データを元にした残り入力データの取得コマンドの例:
mysql -u user -p passwd db -e'SELECT * FROM TABLE1 OFFSET <最後の処理データの番号>'
図2に戻り、入力データ確認部112は、ジョブの入力データ151の総量を確認する。ジョブ実行制御部113は、ジョブプロセス152において実行されるジョブを制御する。また、ジョブ実行制御部113は、仮想化基盤160に対し、ジョブ実行システム150のリソース割当ての変更依頼などを行う。ジョブ実行制御部113は、図1のジョブ実行制御手段11に対応する。
実行結果データ記憶部115は、各リソースの割当量、及び単位入力あたりの処理時間などの情報を含むジョブの実行結果(実行結果データ)を記憶する。割当てリソース予測部114は、ジョブ実行システム150への割当てリソース量を予測する。より詳細には、割当てリソース予測部114は、実行結果データ、入力データ151のデータ量、及び予定終了時刻に基づいて、予定終了時刻までに処理が終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。実行結果データ記憶部115に記憶される実行結果データは図1の実行結果データ15に対応する。割当てリソース予測部114は、図1の割当てリソース予測手段12に対応する。
実行結果データ記憶部115は、複数のリソースの割当量の組み合わせに対して、ジョブ実行システム150に最小単位の入力データに対するジョブを実行させた場合の実行結果データを記憶する。割当てリソース予測部114は、実行結果データ記憶部115に記憶される実行結果データを用いて、いくつかのリソースの割当量の組み合わせに対して、予定終了時刻までにジョブが終わるか否かを判断する。
割当てリソース予測部114は、該当するリソースの割当量の組み合わせに対応する実行結果データを実行結果データ記憶部115から読み出す。割当てリソース予測部114は、読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、処理の残り必要時間を計算する。割当てリソース予測部114は、必要時間と、予定終了時刻に基づいて定まる残り時間とを比較し、予定終了時刻までに処理が終わるか否かを判断する。割当てリソース予測部114は、予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち、コストが最小の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150のリソースの割当量を、割当てリソース予測部114で予測されたリソースの割当量の組み合わせに制御する。
図5は、ジョブ制御システムにおける全体的な処理の流れ(ジョブ制御方法)を示す。ジョブ実行制御部113は、ジョブ定義データ記憶部111から、ジョブ定義データを読み込む(ステップA1)。ジョブ実行制御部113は、入力データ確認部112に、入力データ確認依頼を行う(ステップA2)。ジョブ実行制御部113は、ステップA2では、ジョブ定義データの入力データの情報に含まれる入力データの総量の確認コマンドを入力データ確認部112に渡す。入力データ確認部112は、受け取った確認コマンドを用いて入力データ151の総量の確認を行い、ジョブ実行制御部113に入力データ151の総量を返却する。
ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。割当てリソース予測部114は、割当てリソースを予測する(ステップA3)。割当てリソース予測部114は、最小コストで予定時刻までに処理を完了できるリソースの割当量の組み合わせを予測し、割当てリソースの予測結果(各リソースの割当量の組み合わせ)をジョブ実行制御部113に返却する。割当てリソース予測部114は、割当てリソースの予測において、ジョブ実行制御部113に実行結果データの取得を依頼する場合がある。そのとき、割当てリソース予測部114は、ジョブ実行システム150の各リソースの割当量の組み合わせを指定して、実行結果データの取得を依頼する。ステップA3における割当てリソース予測部114の詳細な動作については、後述する。
ジョブ実行制御部113は、割当てリソース予測部114から実行結果データの取得を依頼されたか否かを判断する(ステップA4)。ジョブ実行制御部113は、実行結果データの取得が依頼された場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA5)。ジョブ実行制御部113は、ステップA5では、割当てリソース予測部114から指定された各リソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。
ジョブ実行制御部113は、割当てリソース量の変更後、最小単位の入力データを入力としてジョブプロセス152に処理を実行させる(ステップA6)。ジョブ実行制御部113は、ステップA6では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした次回の最小単位の入力データ取得コマンドを用いて、ジョブプロセス152に最小単位のデータに対する処理を実行させる。
ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA7)。ジョブ実行制御部113は、ステップA7では、ステップA5で変更した割当てリソースの組み合わせと、最小単位のデータの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。その後、処理はステップA3に戻り、ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。
ジョブ実行制御部113は、ステップA4において、実行結果データの取得を依頼されていないと判断した場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA8)。ジョブ実行制御部113は、ステップA8では、割当てリソース予測部114から返却されたリソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。
ジョブ実行制御部113は、割当てリソース量の変更後、入力データ151の残りのデータを入力としてジョブプロセス152に処理を実行させる(ステップA9)。ジョブ実行制御部113は、ステップA9では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした残り入力データの取得コマンドを用いて、ジョブプロセス152に残りデータに対する処理を実行させる。
ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA10)。ジョブ実行制御部113は、ステップA10では、ステップA8で変更した割当てリソースの組み合わせと、データの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。以上が、ジョブ制御システムにおけるジョブ実行時の全体的な処理の流れとなる。
図6及び図7は、ステップA3における割当てリソース量の予測の手順を示す。割当てリソース予測部114は、ジョブ実行制御部113から受け取ったジョブ定義データのIDに基づいて、実行結果データ記憶部115から、実行結果データを読み込む(図6のステップB1)。だたし、このとき、ジョブ定義データの処理内容が最後に実行されたものから変更されている場合、実行結果データは利用できないものと判断して実行結果データを破棄する。
割当てリソース予測部114は、全てのリソースの割当量を最高値とした場合の情報が実行結果データとして存在するか否かを判断する(ステップB2)。割当てリソース予測部114は、ステップB2では、例えばCPUを最高速(5)で動作させ、かつディスクを最高速(5)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も短い組み合わせである。
割当てリソース予測部114は、ステップB2で情報が存在しないと判断した場合、各リソースの割当量を最高値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB3)。割当てリソース予測部114は、ステップB3では、CPU及びディスクをそれぞれ最高速(5)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5〜A7を実行し、実行結果データを実行結果データ記憶部115に格納する。
割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最高値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB4)。割当てリソース予測部114は、ステップB4では、全てのリソースの割当量を最高値とした場合の最小単位のデータの処理時間(最速処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最速処理時間×残りの入力データ量
残り時間=予定終了時刻−現在時刻
割当てリソース予測部114は、残り時間と残り必要時間との差が0以上であるか否かに基づいて、ジョブの処理を予定終了時刻までに完了できるか否かを判断する。割当てリソース予測部114は、残り必要時間が残り時間を超えている場合、予定終了時刻までの完了は不可能と判断する。その場合、割当てリソース予測部114は、メールなどの通知手段を用いてアラームを上げる(ステップB5)。また、割当てリソース予測部114は、全てのリソースの割当量を最高値としたときの組み合わせをジョブ実行部に返却する(ステップB6)。
割当てリソース予測部114は、ステップB3でジョブの処理を予定終了時刻までに完了できると判断した場合、全てのリソースの割当量を最低値とした場合の情報が実行結果データ記憶部115に格納されているか否かを判断する(ステップB7)。割当てリソース予測部114は、ステップB6では、例えばCPUを最低速(1)で動作させ、かつディスクを最低速(1)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も長い組み合わせである。
割当てリソース予測部114は、ステップB6で情報が存在しないと判断した場合、各リソースの割当量を最低値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB8)。割当てリソース予測部114は、ステップB8では、CPU及びディスクをそれぞれ最低速(1)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5〜A7を実行し、実行結果データを実行結果データ記憶部115に格納する。
割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最低値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB9)。割当てリソース予測部114は、ステップB9では、全てのリソースの割当量を最低値とした場合の最小単位のデータの処理時間(最遅処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最遅処理時間×残りの入力データ量
残り時間=予定終了時刻−現在時刻
割当てリソース予測部114は、残り時間と残り必要時間との差が0以上であるか否かに基づいて、ジョブの処理を予定終了時刻までに完了できるか否かを判断する。割当てリソース予測部114は、残り必要時間が残り時間を下回る場合は、予定終了時刻までに処理を完了できると判断する。その場合、最小コストで予定時刻までに処理を完了できるリソース割当量の組み合わせは、全てのリソースの割当量を最低値としたときの組み合わせである。従って、割当てリソース予測部114は、全てのリソースの割当量を最低値としたときの組み合わせをジョブ実行部に返却する(ステップB10)。
割当てリソース予測部114は、ステップB9で予定終了時刻までに処理を完了できないと判断した場合、ジョブの処理を予定終了時刻までに完了できる各リソースの割当量の組み合わせを探索する(ステップB11)。割当てリソース予測部114は、ステップB10では、例えば二分探査を用いて、全てのリソースの割当量を中央値とした実行結果データを確認していき、ジョブの処理を予定終了時刻まで終えられる中で最もコストの低い割当量の組み合わせを探す。割当てリソース予測部114は、全てのリソースの割当量を中央値とした実行結果データが存在しない場合、その組み合わせが実際に割り当てられた場合の実行結果データの取得をジョブ実行制御部に依頼して実行結果データを取得する。
図8は、二分探査における各リソースの割当量の組み合わせの算出過程の例を示す。図8に示されるように、組み合わせ「最高値」に対応する、CPU及びディスクをそれぞれ最高速(5)と設定した場合の処理時間が10秒であるとする。また、その時点の残りデータ量が33件であり、残り時間が1490秒であるとする。この場合、残り必要時間は330秒と計算され、残り必要時間は残り時間より短い。従って、ステップB4では、各リソースを最高値とした場合に、予定完了時刻までに処理を完了できると判断される。
一方、組み合わせ「最低値」に対応する、CPU及びディスクをそれぞれ最低速(1)と設定した場合の処理時間が120秒であるとする。また、その時点の残りデータ量が32件であり、残り時間が1370秒であるとする。この場合、残り必要時間は3840秒であると計算され、残り必要時間は残り時間より長い。従って、ステップB9では、各リソースを最低値とした場合に、予定完了時刻までに処理を完了できないと判断され、ステップB11において二分探査が実施される。
割当てリソース予測部114は、ステップB11では、まず、CPU及びディスクの設定値が中央値である通常(3)に設定された場合の実行結果データが存在するか否かを調べる。割当てリソース予測部114は、CPU及びディスクの設定値が通常(3)に設定された場合の実行結果データが存在しない場合、CPU及びディスクの設定値が通常(3)に設定された場合の実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113が、CPU及びディスクの設定値を通常(3)に設定し、最小単位のデータに対する処理を実行されることで、実行結果データが実行結果データ記憶部115に格納される。
図8に示されるように、組み合わせ「中央値」に対応する、CPU及びディスクをそれぞれ通常(3)に設定した場合の処理時間が30秒であるとする。また、その時点での残りデータ量は31件で、残り時間が1340秒であるとする。この場合、残り必要時間は930秒であると計算され、残り必要時間は残り時間よりも短い。従って、割当てリソース予測部114は、組み合わせ「中央値」では、予定終了時刻までに処理を完了することができると判断する。
割当てリソース予測部114は、組み合わせ「中央値」の場合に残り時間内に処理が終わると判断した場合、次に、「最低値」と「中央値」との中央値として、CPU及びディスクをそれぞれ低速(2)にした場合の実行結果データが存在するかを確認する。図8に示されるように、組み合わせ「最低値と中央値との中央値」に対応する、CPU及びディスクをそれぞれ低速(2)設定した場合の処理時間が50秒であるとする。また、その時点での残りデータ量は30件で、残り時間が1290秒であるとする。この場合、残り必要時間は1500秒であると計算され、残り必要時間は残り時間よりも長い。従って、割当てリソース予測部114は、組み合わせ「最低値と中央値との中央値」では、予定終了時刻までに処理を完了できないと判断する。
図3を参照すると、CPU及びディスクを通常(3)とした組み合わせと、CPU及びディスクを低速(2)とした組み合わせとの中央値は、CPU及びディスクのどちらのリソースにおいても存在しない。そのため、割当てリソース予測部114は、二分探査を終了し、ステップB11において、CPU及びディスクを通常(3)とした組み合わせが、予定終了時刻までに処理を完了できるリソースの組み合わせの中で、最もコストの低い組み合わせであると判断する。
図6に戻り、割当てリソース予測部114は、二分探査を用いて予定終了時刻まで処理を終えられる中で最もコストの低い割当量の組み合わせを見つけた後、その組み合わせを最小コストの組み合わせとして記録する(ステップB12)。割当てリソース予測部114は、ステップB12では、上記したように、CPU及びディスクをそれぞれ通常(3)とした組み合わせが見つかった場合、その組み合わせを現状の最小コストの組み合わせ(暫定的な最小コストの組み合わせ)として記録する。
割当てリソース予測部114は、最小コストの組み合わせから、各リソースの割当量を1段階下げた組み合わせを確認する対象の組み合わせとして決定する(図7のステップB13)。割当てリソース予測部114は、ステップB13で決定した組み合わせについての実行結果データが、実行結果データ記憶部115に存在するか否かを判断する(ステップB14)。割当てリソース予測部114は、ステップB13では、例えばCPUが低速(2)で、ディスクが通常(3)の組み合わせと、CPUが通常(3)で、ディスクが低速(2)の組み合わせを、確認する対象の組み合わせとして決定する。また、割当てリソース予測部114は、ステップB14では、それら組み合わせの実行結果データが存在するか否かを判断する。
割当てリソース予測部114は、実行結果データが存在しないと判断した場合、実行結果データの取得が可能であるか否かを判断する(ステップB15)。割当てリソース予測部114は、ステップB15では、例えば下記計算式を用いてデータ取得に関する残り必要時間(データ取得残り必要時間)及び残り時間を計算し、残り必要時間と残り時間とを比較する。
残り必要時間=最小コスト処理時間×(残りの入力データ−1)+最遅処理時間
残り時間=予定終了時刻−現在時刻
割当てリソース予測部114は、残り必要時間が残り時間を超える場合、実行結果データの取得は可能ではないと判断する。割当てリソース予測部114は、残り必要時間が残り時間以内の場合は、実行結果データの取得は可能と判断する。
例えば、図8に示されるように、二分探査による最小コストのリソースの割当量の組み合わせが見つかった時点で、残りデータ量が30件、残り時間が1290秒であったとする。また、現状の最小コストの組み合わせが、CPU及びディスクをそれぞれ通常(3)とした組み合わせであったとする。このとき、最小コストの処理時間は30秒であり、組み合わせ「最低値」の処理時間(最遅処理時間)は120秒である。従って、残り必要時間は、30×(30−1)+120=990と計算される。この場合、残り時間はこのリ必要時間より長く、従って、割当てリソース予測部114は実行結果データの取得が可能であると判断する。
割当てリソース予測部114は、実行結果データの取得が可能と判断した場合、実行結果データが取得されていないリソースの割当て量の組み合わせについて、ジョブ実行制御部113に実行結果データの取得を依頼する(ステップB16)。割当てリソース予測部114は、実行結果データの取得が可能ではないと判断した場合、実行結果データの取得依頼は行わず、記録された現状の最小コストの組み合わせが最小コストの組み合わせであるとみなす。その場合、割当てリソース予測部114は、ジョブ実行制御部113に最小コストとみなしたリソースの割当量の組み合わせをジョブ実行制御部113に返却する(ステップB22)。
割当てリソース予測部114は、ステップB14で実行結果データが存在すると判断した場合、又は実行結果データを取得した後、確認対象の各リソースの割当量の組み合わせの中に、残り時間内に処理が終わる組み合わせが存在するか否かを判断する(ステップB17)。割当てリソース予測部114は、残り時間内に処理が終わる組み合わせがある場合、その組み合わせが、現状の最小コストの組み合わせより低コストであるか否かを判断する(ステップB18)。割当てリソース予測部114は、ステップB18で低コストであると判断した場合、現状の最小コストの組み合わせを更新する(ステップB19)。割当てリソース予測部114は、ステップB18で低コストではないと判断した場合、現状の最小コストの組み合わせの更新は実施しない。
図9は、最小コストの各リソースの割当量の組み合わせの算出過程を示す。割当てリソース予測部114は、例えば、スCPUが低速(2)で、かつディスクが通常(3)の組み合わせと、CPUが通常(3)で、かつディスクが低速(2)の組み合わせについて、時間内に処理を終えることができるか否かを判断する。図9を参照すると、双方の組み合わせについて、残り必要時間は残り時間より短い。このため、割当てリソース予測部114は、ステップB17では、処理を終えることができる組み合わせが存在すると判断する。
割当てリソース予測部114は、各組み合わせのコストと、ステップB12で現状の最小コストとして記録されたCPU及びディスクをそれぞれ通常(3)とした組み合わせのコストとを比較する。図8を参照すると、CPU及びディスクをそれぞれ通常(3)とした組み合わせのコストは「60」である。また、図8を参照すると、CPUが通常(3)で、かつディスクが低速(2)の組み合わせのコストは「55」であり、CPUが低速(2)で、かつディスクが通常(3)の組み合わせのコストは「40」である。この場合、割当てリソース予測部114は、ステップB19において、CPUが低速(2)で、かつディスクが通常(3)の組み合わせで、現状の最小コストの組み合わせを更新する。
割当てリソース予測部114は、確認した全てのリソースの割当量の組み合わせに基づいて、新たに実行結果データの確認をする対象の組み合わせを決定する(ステップB20)。割当てリソース予測部114は、ステップB20では、確認した全ての各リソースの割当量の組み合わせから、更に各リソースの割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断する。割当てリソース予測部114は、実行結果データの確認が必要な組み合わせを、実行結果データの確認をする対象の組み合わせを決定する。
割当てリソース予測部114は、全ての組み合わせの確認を終了したか否かを判断する(ステップB21)。割当てリソース予測部114は、ステップB20において実行結果データの確認が必要と判断し、実行結果データの確認をする対象の組み合わせを決定した場合、全ての組み合わせの確認を終了していないと判断する。割当てリソース予測部114は、全ての組み合わせの確認が終了していないと判断した場合、ステップB14に戻り、実行結果データが存在するか否かを判断する。
その後、割当てリソース予測部114は、ステップB15〜B17を経て、ステップB18において、確認する組み合わせに、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在するか否かを判断する。割当てリソース予測部114は、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在する場合は、ステップB19で現状の最小コストの組み合わせを更新する。割当てリソース予測部114は、ステップB20において、新たに実行結果データの確認をする対象の組み合わせを決定する。割当てリソース予測部114は、ステップB14からステップB21を繰り返し実行することで、時間内に処理を終えることができる最小コストの組み合わせを探索する。割当てリソース予測部114は、ステップB21で全ての組み合わせの確認を終了したと判断した場合、ステップB22に進み、現状の最小コストとして記録されている組み合わせをジョブ実行制御部113に返却する。
図10(a)〜(d)は、最小コストのリソース割当量の組み合わせを探索する過程を示す。図10(a)〜(d)において、(X,Y)は、CPUの設定値がXであり、ディスクの設定値がYである旨を示す。また、「●」は残り時間内に処理を終えることができ、かつコストが最小である組み合わせ(第1の種別の組み合わせ)であることを示す。「▲」は、残り時間内に処理を終えることはできるものの、コストが最小ではない組み合わせ(第2の種別の組み合わせ)であることを示す。「×」は、残り時間内に処理を終えることができない組み合わせ(第3の種別の組み合わせ)であることを示す。
図10(a)は、1回目のループにおける最小コストのリソース割当量の組み合わせの探索を示す。上記で説明したように、CPUが低速(2)で、かつディスクが通常(3)の組み合わせと、CPUが通常(3)で、かつディスクが低速(2)の組み合わせは、時間内に処理を終えることができると判断される(図9を参照)。また、CPUが低速(2)で、かつディスクが通常(3)の組み合わせのコストは、CPUが通常(3)で、かつディスクが低速(2)の組み合わせのコストよりも低い。従って、割当てリソース予測部114は、1回目のループのステップB19では、(2,3)を現状の最小コストの組み合わせとして記録する。
図10(b)は、各リソースの割当量を(3,2)及び(2,3)から1段階上下させた組み合わせを示す。割当てリソース予測部114は、ステップB20において、時間内に処理を終えることができる組み合わせ(3,2)及び(2,3)から各リソースの割当量を1段階上下させた組み合わせを導出する。割当てリソース予測部114は、(3,2)及び(2,3)から各リソースの割当量を1段階上下させた組み合わせとして、(3,1)、(2,2)、(1,3)、(4,2)、及び(2,4)を導出する。なお、(3,3)は既に確認されているため、導出する組み合わせから除外される。
ここで、最小コストの組み合わせ(第1の種別の組み合わせ)、又はそれよりもコストが高い組み合わせ(第2の種別の組み合わせ)から各リソースの割当量を1段階上げた組み合わせは、最小コストよりもコストが高いことが明白である。このため、割当てリソース予測部114は、そのような組み合わせを確認する対象の組み合わせから除外する。
図10(c)は、ステップB20で決定される確認対象の組み合わせを示す。例えば、(3,2)の組み合わせのコストは最小コストの組み合わせである(2,3)のコストよりも高い。従って、割当てリソース予測部114は、(3,2)よりリソース割当量を1段階上げた組み合わせである(4,2)を、確認対象の組み合わせから除外する。また、割当てリソース予測部114は、最小コストの組み合わせである(2,3)の組み合わせからリソースの割当量を1段階上げた組み合わせである(2,4)も、確認する対象の組み合わせから除外する。結果として、割当てリソース予測部114は、1回目のステップB20では、(3,1)、(2,2)、及び(1,3)の各組み合わせを、確認する対象穂組み合わせとして決定する。
図10(d)は、2回目のループにおける最小コストのリソース割当量の組み合わせの探索を示す。割当てリソース予測部114は、2回目のループでは、(3,1)、(2,2)、及び(1,3)の各組み合わせについて残り必要時間を計算し、時間内に処理が終わるか否かを調べる。割当てリソース予測部114は、(2,2)及び(1,3)の組み合わせについては時間内に処理が終わらないと判断し、(3,1)の組み合わせについては時間内に処理が終わると判断したとする。その場合、割当てリソース予測部114は、ステップB18において、(3,1)のコストと、現状の最小コストの組み合わせである(2,3)のコストとを比較する。この場合、(3,1)のコストは、(2,3)のコストよりも高いため、現状の最小コストの組み合わせは更新されない。
割当てリソース予測部114は、2回目のループのステップB20において、(3,1)、(2,2)、及び(1,3)の各組み合わせから、確認する対象の組み合わせを決定する。このとき、生成元となる組み合わせに、時間内に処理が終わらない組み合わせ(第3の種別の組み合わせ)がある場合は、その組み合わせからリソースの割当量を1段階下げた組み合わせでは時間内に処理が終わらないことは明白である。従って、割当てリソース予測部114は、時間内に処理が終わらない組み合わせよりリソース割当量を1段階下げた組み合わせを、確認する対象の組み合わせから除外する。図10(d)の例では、(2,2)、及び(1,3)の各組み合わせでは時間内に処理が終わらないため、それら組み合わせからリソースの割当量を1段階下げた組み合わせは、確認する対象の組み合わせから除外される。
割当てリソース予測部114は、以降は、確認した全ての各リソース割当量の組み合わせから、各リソース割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断し、実行結果データの確認を行っていく。割当てリソース予測部114は、時間内に処理が終わり、かつコストが現状の最小コストの組み合わせのコストよりも低い組み合わせがある場合、その組み合わせを現状の最小コストの組み合わせとして記録する。割当てリソース予測部114は、実行結果データの確認をする対象の組み合わせがなくなると、ステップB21において、全ての組み合わせの確認が終了したと判断する。その場合、割当てリソース予測部114は、ステップB22において、全ての組み合わせの確認が終了した終了した時点で記録されている最小コストの組み合わせを、ジョブ実行制御部113に返却する。
本実施形態では、ジョブ実行制御部113は、ジョブ実行時の処理時間を、ジョブ実行システム150のリソースの割当量の組み合わせと対応付け、実行結果データとして実行結果データ記憶部115に記憶する。割当てリソース予測部114は、実行結果データを用いて、最小のコストで予定終了時刻までに入力データ151に対する処理が終わるリソースの割当量の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150の割当てリソース量を、割当てリソース予測部114が予測したリソースの割当量の組み合わせに制御する。このようにすることで、クラウドコンピューティングを利用して、入力データ151のデータ量が日々変化し得るバッチ処理などのジョブを行う場合に、最小コストと予測されるリソースの割当量の組み合わせでジョブを実施できる。
本実施形態において、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に使用する実行結果データが実行結果データ記憶部115に記憶されていない場合、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、ジョブプロセス152に最小単位のデータを処理させて処理時間を計測し、実行結果データを実行結果データ記憶部115に記憶する。このようにすることで、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に必要な実行結果データを参照することができる。割当てリソース予測部114は、実行結果データ記憶部115にある程度の実行結果データが集まった後は、ジョブの実行開始時点で、コストが最小となるリソース割当量の組み合わせを予測することができる。
なお、上記実施形態では、割当量が変更可能なリソースとして、CPU及びディスクを考えたが、本開示はこれには限定されない。割当てリソース予測部114が割当量を予測するリソースは、バッチ処理の処理時間に影響を与えるリソースであり、かつ仮想化基盤160を用いて変更可能な他のリソースであってもよい。
また、上記実施形態では、割当てリソース予測部114は、「コスト」を比較することで、コストが最小となるリソースの割当量の組み合わせを予測する例を説明したが、本開示はこれには限定されない。割当てリソース予測部114は、コストに関連した何らかの指標値を用いて、コストが最小となるリソースの割当量の組み合わせを予測してもよい。例えば、指標値として、コストが小さいほど値が大きくなる指標値が用いられ得る。その場合、割当てリソース予測部114は、評価値が最大となるリソースの割当量の組み合わせを予測すればよい。
上記実施形態において、ジョブ制御システム110は、コンピュータ装置として構成され得る。図11は、ジョブ制御システム110に用いられ得る情報処理装置(コンピュータ装置)の構成例を示す。情報処理装置500は、制御部(CPU)510、記憶部520、ROM(Read Only Memory)530、RAM(Random Access Memory)540、通信インタフェース(IF:Interface)550、及びユーザインタフェース560を有する。
通信インタフェース550は、有線通信手段又は無線通信手段などを介して、情報処理装置500と通信ネットワークとを接続するためのインタフェースである。情報処理装置500は、通信インタフェース550を介して、仮想化基盤200(図2を参照)にアクセスできる。ユーザインタフェース560は、例えばディスプレイなどの表示部を含む。また、ユーザインタフェース560は、キーボード、マウス、及びタッチパネルなどの入力部を含む。
記憶部520は、各種のデータを保持できる補助記憶装置である。記憶部520は、必ずしも情報処理装置500の一部である必要はなく、外部記憶装置であってもよいし、ネットワークを介して情報処理装置500に接続されたクラウドストレージであってもよい。ROM530は、不揮発性の記憶装置である。ROM530には、例えば比較的容量が少ないフラッシュメモリなどの半導体記憶装置が用いられる。CPU510が実行するプログラムは、記憶部520又はROM530に格納され得る。
上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、情報処理装置500に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、CD(compact disc)、又はDVD(digital versatile disk)などの光ディスク媒体、及び、マスクROM、PROM(programmable ROM)、EPROM(erasable PROM)、フラッシュROM、又はRAMなどの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
RAM540は、揮発性の記憶装置である。RAM540には、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などの各種半導体メモリデバイスが用いられる。RAM540は、データなどを一時的に格納する内部バッファとして用いられ得る。CPU510は、記憶部520又はROM530に格納されたプログラムをRAM540に展開し、実行する。CPU510がプログラムを実行することで、例えば入力データ確認部112、ジョブ実行制御部113、及び割当てリソース予測部114などの機能が実現される。
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、
前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、
前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御するジョブ制御システム。
[付記2]
前記ジョブ実行制御手段は、前記ジョブの実行の処理時間を計測し、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付け、前記実行結果データとして実行結果データ記憶手段に記憶し、
前記割当てリソース予測手段は、前記実行結果データ記憶手段に記憶される実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探す付記1に記載のジョブ制御システム。
[付記3]
前記割当てリソース予測手段は、前記実行結果データを前記実行結果データ記憶手段から読み出し、該読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を前記実行結果データのリソースの割当量の組み合わせとした場合の前記ジョブの残り必要時間を計算し、該残り必要時間と、前記予定終了時刻に基づいて定まる残り時間とを比較し、前記予定終了時刻までに前記ジョブが終わるか否かを判断する付記2に記載のジョブ制御システム。
[付記4]
前記割当てリソース予測手段は、各リソースの割当量を最小とした組み合わせに対応する実行結果データを前記実行結果データ記憶手段から読み出し、該読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断する付記2又は3に記載のジョブ制御システム。
[付記5]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に、前記各リソースの割当量を最小とした組み合わせに対応する実行結果データが記憶されていない場合、前記ジョブ実行制御手段に実行結果データの取得を依頼し、
前記ジョブ実行制御手段は、前記実行結果データの取得を依頼された場合、前記仮想マシンのリソースの割当量を、前記各リソースの割当量を最小とした組み合わせに制御し、前記仮想マシンに前記所定単位の入力データに対するジョブを実行させて処理時間を計測し、前記実行結果データを生成して実行結果データ記憶手段に記憶する付記4に記載のジョブ制御システム。
[付記6]
前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わると判断した場合、当該組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記4又は5に記載のジョブ制御システム。
[付記7]
前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わらないと判断した場合、二分探査を行い、時間内に処理が終わる前記リソースの割当量の組み合わせを発見し、該発見したリソースの割当量の組み合わせを暫定的な最小コストの組み合わせとして記録する付記4から6何れか1つに記載のジョブ制御システム。
[付記8]
前記割当てリソース予測手段は、前記暫定的な最小コストの組み合わせとして記録したリソースの組み合わせに基づいて、1以上の前記リソースの割当量の組み合わせを確認対象の組み合わせとして決定し、該決定した確認対象の組み合わせのそれぞれについて前記予定終了時刻までに処理が終わるか否かを判断し、前記確認対象の組み合わせに前記予定終了時刻までに処理が終わるリソースの割当量の組み合わせが含まれる場合、該予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち前記コストが最小の組み合わせを特定し、該特定したリソースの組み合わせを前記暫定的な最小コストの組み合わせとして記録する付記7に記載のジョブ制御システム。
[付記9]
前記割当てリソース予測手段は、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を繰り返し実施し、初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録した前記リソースの割当量の組み合わせに基づいて前記確認対象の組み合わせを決定し、2回目以降の確認対象の組み合わせの決定では、前回の確認対象の組み合わせに基づいて前記確認対象の組み合わせとして決定する付記8に記載のジョブ制御システム。
[付記10]
前記割当てリソース予測手段は、前記初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録したリソースの割当量の組み合わせより、各リソースの割当量が1段階低い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定し、2回目以降の確認対象の組み合わせの決定では、前記リソースの割当量が、前回の確認対象の組み合わせより、各リソースの割当量が1段階低い割当量、及び1段階高い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定する付記9に記載のジョブ制御システム。
[付記11]
前記割当てリソース予測手段は、前記予定終了時刻までに処理が終わるか否かの判断では、前記確認対象の組み合わせのそれぞれが、前記予定終了時刻までに処理が終わり、かつ前記暫定的な最小コストの組み合わせとして特定される第1の種別の組み合わせ、前記予定終了時刻までに処理が終わり、かつ前記暫定的な最小コストの組み合わせとして特定される組み合わせより前記コストが大きい第2の種別の組み合わせ、又は、前記予定終了時刻までに処理が終わらない第3の種別の組み合わせの何れであるかを識別し、前記2回目以降の確認対象の組み合わせの決定では、各リソースの割当量が、前記第1の種別の組み合わせ及び前記第2の種別の組み合わせより1段階高い割当量となる組み合わせ、及び各リソースの割当量が、前記第3の種別の組み合わせより1段階低い割当量となる組み合わせを、前記確認対象の組み合わせから除外する付記10に記載のジョブ制御システム。
[付記12]
前記割当てリソース予測手段は、前記確認対象の組み合わせがなくなるまで、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を実施し、前記確認対象の組み合わせがなくなった場合、前記暫定的な最小コストの組み合わせとして記録されているリソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記9から11何れか1つに記載のジョブ制御システム。
[付記13]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に前記確認対象の組み合わせに対応する実行結果データが記憶されているか否かを判断し、記憶されていないと判断した場合、前記ジョブ実行制御手段に前記実行結果データの取得を依頼し、
前記ジョブ実行制御手段は、前記実行結果データの取得を依頼された場合、前記仮想マシンに前所定単位の入力データに対するジョブを実行させて処理時間を計測し、前記実行結果データを生成して実行結果データ記憶手段に記憶する付記8から12何れか1つに記載のジョブ制御システム。
[付記14]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に前記確認対象の組み合わせに対応する実行結果データが記憶されていないと判断した場合、前記実行結果データの取得が可能か否かを判断し、前記実行結果データの取得が可能と判断した場合、前記ジョブ実行制御手段に前記実行結果データの取得を依頼し、前記実行結果データの取得が可能ではないと判断した場合、前記暫定的な最小コストの組み合わせとして記録されている前記リソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記13に記載のジョブ制御システム。
[付記15]
2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させるジョブ制御方法。
[付記16]
2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させるための処理をコンピュータに実行させるためのプログラム。
10:ジョブ制御システム
11:ジョブ実行制御手段
12:割当てリソース予測手段
15:実行結果データ
20:仮想マシン
100:システム
110:ジョブ制御システム
111:ジョブ定義データ記憶部
112:入力データ確認部
113:ジョブ実行制御部
114:割当てリソース予測部
115:実行結果データ記憶部
150:ジョブ実行システム
151:入力データ
152:ジョブプロセス
160、200:仮想化基盤
500:情報処理装置
510:CPU
520:記憶部
530:ROM
540:RAM
550:通信インタフェース
560:ユーザインタフェース

Claims (10)

  1. 2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、
    前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、
    前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御するジョブ制御システム。
  2. 前記ジョブ実行制御手段は、前記ジョブの実行の処理時間を計測し、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付け、前記実行結果データとして実行結果データ記憶手段に記憶し、
    前記割当てリソース予測手段は、前記実行結果データ記憶手段に記憶される実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探す請求項1に記載のジョブ制御システム。
  3. 前記割当てリソース予測手段は、各リソースの割当量を最小とした組み合わせに対応する実行結果データを前記実行結果データ記憶手段から読み出し、該読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断する請求項2に記載のジョブ制御システム。
  4. 前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わらないと判断した場合、二分探査を行い、時間内に処理が終わる前記リソースの割当量の組み合わせを発見し、該発見したリソースの割当量の組み合わせを暫定的な最小コストの組み合わせとして記録する請求項3に記載のジョブ制御システム。
  5. 前記割当てリソース予測手段は、前記暫定的な最小コストの組み合わせとして記録したリソースの組み合わせに基づいて、1以上の前記リソースの割当量の組み合わせを確認対象の組み合わせとして決定し、該決定した確認対象の組み合わせのそれぞれについて前記予定終了時刻までに処理が終わるか否かを判断し、前記確認対象の組み合わせに前記予定終了時刻までに処理が終わるリソースの割当量の組み合わせが含まれる場合、該予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち前記コストが最小の組み合わせを特定し、該特定したリソースの組み合わせを前記暫定的な最小コストの組み合わせとして記録する請求項4に記載のジョブ制御システム。
  6. 前記割当てリソース予測手段は、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を繰り返し実施し、初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録した前記リソースの割当量の組み合わせに基づいて前記確認対象の組み合わせを決定し、2回目以降の確認対象の組み合わせの決定では、前回の確認対象の組み合わせに基づいて前記確認対象の組み合わせとして決定する請求項5に記載のジョブ制御システム。
  7. 前記割当てリソース予測手段は、前記初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録したリソースの割当量の組み合わせより、各リソースの割当量が1段階低い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定し、2回目以降の確認対象の組み合わせの決定では、前記リソースの割当量が、前回の確認対象の組み合わせより、各リソースの割当量が1段階低い割当量、及び1段階高い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定する請求項6に記載のジョブ制御システム。
  8. 前記割当てリソース予測手段は、前記確認対象の組み合わせがなくなるまで、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を実施し、前記確認対象の組み合わせがなくなった場合、前記暫定的な最小コストの組み合わせとして記録されているリソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする請求項6又は7に記載のジョブ制御システム。
  9. 2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
    前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
    前記仮想マシンに、前記入力データに対するジョブを実行させるジョブ制御方法。
  10. 2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
    前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
    前記仮想マシンに、前記入力データに対するジョブを実行させるための処理をコンピュータに実行させるためのプログラム。
JP2019039513A 2019-03-05 2019-03-05 ジョブ制御システム、方法、及びプログラム Active JP7331386B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019039513A JP7331386B2 (ja) 2019-03-05 2019-03-05 ジョブ制御システム、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019039513A JP7331386B2 (ja) 2019-03-05 2019-03-05 ジョブ制御システム、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020144510A true JP2020144510A (ja) 2020-09-10
JP7331386B2 JP7331386B2 (ja) 2023-08-23

Family

ID=72354159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019039513A Active JP7331386B2 (ja) 2019-03-05 2019-03-05 ジョブ制御システム、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7331386B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102913A (zh) * 2022-06-06 2022-09-23 深圳一粒云科技有限公司 基于用户行为的云桌面资源配置方法、***及存储介质
WO2022202676A1 (ja) * 2021-03-25 2022-09-29 日本電気株式会社 情報資源割当支援装置、情報資源割当支援方法、及び、情報資源割当支援プログラムが格納された記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130174149A1 (en) * 2011-12-30 2013-07-04 International Business Machines Corporation Dynamically scaling multi-tier applications in a cloud environment
WO2017188419A1 (ja) * 2016-04-28 2017-11-02 日本電気株式会社 計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130174149A1 (en) * 2011-12-30 2013-07-04 International Business Machines Corporation Dynamically scaling multi-tier applications in a cloud environment
WO2017188419A1 (ja) * 2016-04-28 2017-11-02 日本電気株式会社 計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022202676A1 (ja) * 2021-03-25 2022-09-29 日本電気株式会社 情報資源割当支援装置、情報資源割当支援方法、及び、情報資源割当支援プログラムが格納された記録媒体
CN115102913A (zh) * 2022-06-06 2022-09-23 深圳一粒云科技有限公司 基于用户行为的云桌面资源配置方法、***及存储介质
CN115102913B (zh) * 2022-06-06 2024-01-09 深圳一粒云科技有限公司 基于用户行为的云桌面资源配置方法、***及存储介质

Also Published As

Publication number Publication date
JP7331386B2 (ja) 2023-08-23

Similar Documents

Publication Publication Date Title
US10911367B2 (en) Computerized methods and systems for managing cloud computer services
JP6455035B2 (ja) 負荷分散管理装置、制御方法およびプログラム
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
US20190303200A1 (en) Dynamic Storage-Aware Job Scheduling
JP6386165B2 (ja) 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置
KR102003872B1 (ko) 컴퓨터 프로세싱을 위한 자원 배정
US8566285B2 (en) Method and system for scheduling and controlling backups in a computer system
US11789909B2 (en) System and method for automatically managing storage resources of a big data platform
JP2007299401A (ja) 個々のユーザの資源使用量およびその使用量の追跡に基づいた公平な共用分のスケジューリングを行う方法およびシステム
KR101852610B1 (ko) Ai 학습 기반 실시간 분석 시스템을 이용한 자원 사용 방법 및 이를 사용한 매니지먼트 서버
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
US10489074B1 (en) Access rate prediction in a hybrid storage device
US11797187B2 (en) Optimized I/O performance regulation for non-volatile storage
JP6891611B2 (ja) 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
JP7331386B2 (ja) ジョブ制御システム、方法、及びプログラム
EP3141998A1 (en) Storage control apparatus and method of controlling a storage apparatus
US20090320022A1 (en) File System Object Node Management
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP5585330B2 (ja) 情報処理装置、情報処理方法およびコンピュータ・プログラム
US10812407B2 (en) Automatic diagonal scaling of workloads in a distributed computing environment
CA3077006A1 (en) System and method for automatically managing storage resources of a big data platform
US9367439B2 (en) Physical memory usage prediction
JP2018112946A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
US10417050B2 (en) Apparatus and method to control calculation resources of an information processing device based on predictive values of reference data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230724

R151 Written notification of patent or utility model registration

Ref document number: 7331386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151