(57)【要約】  計算資源管理装置１０は、データ処理の実行時間の実測値、デリソース量の実測値、及び入力データの特徴を訓練データに用いて、実行時間とリソースとの関係を示すモデルを学習するモデル学習部１１と、入力予定のデータの特徴をモデルに入力して、実行予定のデータ処理の実行時間の推定値を算出する実行時間推定部１２と、実行時間の推定値、実行時間の推定値の変動を示す変動指標及び推定残差の分布を使用して、実行予定のデータ処理に必要となるリソース量を算出するリソース量算出部１３と、実行時間の推定値、変動指標、推定残差の分布及び算出されたリソース量に基づいて、実行予定のデータ処理の実行計画を作成する実行計画作成部１４とを備えている。
2017188419.tif 000002
【特許請求の範囲】
【請求項１】
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、実行時間推定部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、リソース量算出部と、
前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
を備えていることを特徴とする計算資源管理装置。
【請求項２】
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１に記載の計算資源管理装置。
【請求項３】
前記実行計画作成部は、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項１または２に記載の計算資源管理装置。
【請求項４】
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、実行時間推定部と、
前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、違反確率算出部と、
を備えていることを特徴とする計算資源管理装置。
【請求項５】
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項４に記載の計算資源管理装置。
【請求項６】
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を有することを特徴とする計算資源管理方法。
【請求項７】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項６に記載の計算資源管理方法。
【請求項８】
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項６または７に記載の計算資源管理方法。
【請求項９】
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を有することを特徴とする計算資源管理方法。
【請求項１０】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項９に記載の計算資源管理方法。
【請求項１１】
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項１１または１２に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１４に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析を行なうシステムにおける実行計画を策定するための、計算資源管理装置、及び計算資源管理方法に関し、更には、これらを実現するためのコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
一般に、データ分析は、複数のデータ処理、例えば、ＳＱＬクエリの実行、データ変換、機械学習アルゴリズムの実行等で構成される複雑な処理である。また、近年、分析対象となるデータ量は著しく増加しているため、データ分析は計算機クラスタによって分散して、且つ並列に実行される。また、データ分析の具体的な用途としては、例えば、ビジネス用途においては、一定期間毎の予測モデルの更新、日毎の需要予測等が挙げられる。【０００３】
また、このようなデータ分析では、特にビジネス用途に適用する場合は、分析結果の提供に期限が設定されるため、適切な計算機リソース量を計算して、実行計画を設定する必要がある。このため、例えば、特許文献１は、データ分析の際のタスクの実行をスケジューリングするシステムを開示している。特許文献１に開示されたシステムは、計算機リソースそれぞれ毎にタスクの実行を完了するための期間を推定し、推定した期間に基づいて、計算機コストが最小化するように、タスクの実行スケジュールを設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１６−５０７１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、データ分析においては、システムに入力されるデータの変化に伴う総量の変化、又は入力値の変化によって処理時間が非決定的に変動する場合がある。さらに機械学習アルゴリズムによっては、アルゴリズムの初期値依存性などにより、非決定的に処理時間が変動することもある。従って、実行計画を適切に設定するためには、処理時間の非決定的な変動を考慮する必要がある。しかしながら、特許文献１に開示されたシステムでは、処理時間の非決定的な変動については一切考慮されていないため、実行計画を適切に設定できない場合があると考えられる。【０００６】
本発明の目的の一例は、上記問題を解消し、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定し得る、計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一側面における第１の計算資源管理装置は、データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、実行時間推定部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、リソース量算出部と、
前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
を備えていることを特徴とする。【０００８】
上記目的を達成するため、本発明の一側面における第２の計算資源管理装置は、データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、実行時間推定部と、
前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、違反確率算出部と、
を備えていることを特徴とする。【０００９】
また、上記目的を達成するため、本発明の一側面における第１の計算資源管理方法は、データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を有することを特徴とする。【００１０】
また、上記目的を達成するため、本発明の一側面における第２の計算資源管理方法は、データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を有することを特徴とする。【００１１】
更に、上記目的を達成するため、本発明の一側面における第１のコンピュータ読み取り可能な記録媒体は、コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させる命令を含む、プログラムを記録していることを特徴とする。【００１２】
更に、上記目的を達成するため、本発明の一側面における第２のコンピュータ読み取り可能な記録媒体は、コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１における計算資源管理装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における計算資源管理装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１における計算資源管理装置におけるデータの流れを示す説明図である。
【図４】図４は、本発明の実施の形態１における計算資源管理装置の動作を示すフロー図である。
【図５】図５は、図４に示したステップＡ１における推定モデルの生成処理を詳細に示すフロー図である。
【図６】図６は、処理対象となるデータ処理集合の一例を示す図であり、図６（ａ）は各データ処理の依存関係と完了期限とを示し、図６（ｂ）は各データ処理の種類を示している。
【図７】図７は、推定モデルの学習に用いられるデータ処理の実行実績情報の一例を示す図である。
【図８】図８は、推定モデルの学習に用いられる入力データの特徴の一例を示す図である。
【図９】図９は、推定モデルの概略を説明する図である。
【図１０】図１０は、推定モデルの一例を示す図である。
【図１１】図１１は、図４に示したステップＡ３におけるリソース量の算出処理を詳細に示すフロー図である。
【図１２】図１２は、リソース量の候補集合の一例を示す図である。
【図１３】図１３は、リソース量算出部に入力される実行計画の一例を示す図である。
【図１４】図１４は、実行計画におけるサンプリングの一例を示す図である。
【図１５】図１５は、算出された違反確率の一例を示す図である。
【図１６】図１６は、違反確率と閾値との関係を示す図である。
【図１７】図１７は、最終的なリソース量の算出結果の一例を示す図である。
【図１８】図１８は、図４に示したステップＡ４における実行計画の作成処理を詳細に示すフロー図である。
【図１９】図１９は、本発明の実施の形態においてデータ処理ステムで行われる動作を示すフロー図である。
【図２０】図２０は、データ処理システムからモデル学習部に入力されるデータの一例を示す図である。
【図２１】図２１は、データ処理集合の実行時において取得される新しい実行計画の一例を示す図である。
【図２２】図２２は、図４に示したステップＡ３におけるリソース量の算出処理の他の例を詳細に示すフロー図である。
【図２３】図２３は、リソース量算出部による完了時刻の算出結果の一例を示す図である。
【図２４】図２４は、本発明の実施の形態２における計算資源管理装置の具体的構成を示すブロック図である。
【図２５】図２５は、本発明の実施の形態１における計算資源管理装置におけるデータの流れを示す説明図である。
【図２６】図２６は、本発明の実施の形態２における計算資源管理装置の動作を示すフロー図である。
【図２７】図２７は、図２６に示したステップＢ４における完了期限違反確率の算出処理を詳細に示すフロー図である。
【図２８】図２８は、ユーザによって指定されたリソース量の一例を示す図である。
【図２９】図２９は、各データ処理の推定実行時間の算出結果の一例を示す図である。
【図３０】図３０は、完了期限違反確率の算出結果の一例を示す図である。
【図３１】図３１は、図２６に示したステップＢ４における完了期限違反確率の算出処理の他の例を詳細に示すフロー図である。
【図３２】図３２は、完了期限違反確率の算出結果の他の例を示す図である。
【図３３】図３３は、本発明の実施の形態１及び２における計算資源管理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
（実施の形態１）
以下、本発明の実施の形態１における、計算資源管理装置、計算資源管理方法、及びプログラムについて、図１〜図２２を参照しながら説明する。
【００１６】
［装置構成］
最初に、図１を用いて、本実施の形態１における計算資源管理装置の概略構成について説明する。図１は、本発明の実施の形態１における計算資源管理装置の概略構成を示すブロック図である。
【００１７】
図１に示す本実施の形態１における計算資源管理装置１０は、データ処理を行なうシステムを管理するための装置である。図１に示すように、計算資源管理装置１０は、モデル学習部１１と、実行時間推定部１２と、リソース量算出部１３と、実行計画作成部１４とを備えている。
【００１８】
モデル学習部１１は、データ処理の実行時間の実測値、データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、実行時間とリソースとの関係を示す推定モデルを学習する。
【００１９】
実行時間推定部１２は、実行予定のデータ処理に入力する予定のデータの特徴を、推定モデルに入力して、実行予定のデータ処理の実行時間の推定値を算出する。
【００２０】
リソース量算出部１３は、実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた実行時間の推定値の変動を示す変動指標、及び推定モデルの学習の際に得られる推定残差の分布を使用して、実行予定のデータ処理に必要となるリソース量を算出する。
【００２１】
実行計画作成部１４は、実行時間の推定値、変動指標、推定残差の分布、及び算出されたリソース量に基づいて、実行予定のデータ処理の実行計画を作成する。
【００２２】
このように、本実施の形態１では、実行予定のデータ処理に必要となるリソース量を算出する際に、過去のデータ処理で入力されたデータの特徴の変化に応じた実行時間の推定値の変動を示す変動指標、及び推定モデルの学習の際に得られる推定残差の分布が使用される。そして、このような変動指標及び推定残差の分布は、データ分析及び機械学習アルゴリズムにおける非決定的な変動を反映したものである。即ち、データ量の変動による処理時間変化は変動指標に反映され、ランダムな処理時間の変化は推定残差に反映される。このため、本実施の形態１によれば、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定することができる。
【００２３】
ここで、図２及び図３を用いて、本実施の形態１における計算資源管理装置１０の構成をより具体的に説明する。図２は、本発明の実施の形態１における計算資源管理装置の具体的構成を示すブロック図である。図３は、本発明の実施の形態１における計算資源管理装置におけるデータの流れを示す説明図である。
【００２４】
図２に示すように、本実施の形態１では、計算資源管理装置１０は、データ処理を実行するデータ処理システム２０に接続されている。データ処理システム２０は、データ処理を実行する実行部２１を備えている。
【００２５】
また、図２に示すように、計算資源管理装置１０は、モデル学習部１１、実行時間推定部１２、リソース量算出部１３、及び実行計画作成部１４に加えて、データ処理の特徴を生成する特徴生成部１５も備えている。
【００２６】
本実施の形態では、図３に示すように、特徴生成部１５は、データ処理w1〜wnで構成されたデータ処理集合Wが入力されると、データ処理w∈Wの特徴の集合{featurew}Wを生成し、これを実行時間推定部１２に入力する。また、データ処理w∈Wの特徴の集合{featurew}Wには、各データ処理wの特徴featurewが含まれ、更に、各データ処理wの特徴featurewには、データ処理wに対する入力データの特徴が含まれている。更に、特徴生成部１５は、実行部２１によって既に実行されたデータ処理w’が入力されると、データ処理w’の特徴featurew’を生成し、これをモデル学習部１１に入力する
【００２７】
また、本実施の形態では、図３に示すように、モデル学習部１１には、実行部２１から、既に実行されたデータ処理w’に与えられたリソース量rw’、データ処理w’の実行時の環境を特定する環境情報Ew’、データ処理w’の実行時間（実測値）ProcTimew’,rw’,Ew’といった情報が入力される。更に、モデル学習部１１には、上述したように、特徴生成部１５から、データ処理w’の特徴featurew’も入力される。
【００２８】
モデル学習部１１は、上述の入力された各データを用いて機械学習アルゴリズムを実行して、推定モデルとして、データ処理wの実行時間（推定値）ProcTimew,rw,Ewを与える推定関数fを学習する。また、モデル学習部１１は、推定関数を学習する際に、推定残差の分布Deも生成する。なお、機械学習アルゴリズムとしては、既存のアルゴリズムを用いることができる。
【００２９】
更に、モデル学習部１１は、過去のデータ処理w’で入力されたデータの特徴の変化に応じた実行時間の推定値の変動を特定し、特定した変動を示す変動指標を生成することもできる。なお、本実施の形態１では、モデル学習部１１は、例えば、変動指標として、入力されたデータの特徴の変化に関する統計量の分布Dvを生成する。また、本実施の形態１では、統計量の分布Dvは、特徴生成部１５によって生成されても良い。
【００３０】
実行時間推定部１２は、本実施の形態１では、データ処理集合Wを実行する際の環境を特定する環境情報Eと、特徴生成部１５から入力された特徴featurewとを取得し、これらを推定関数fに入力する。そして、これにより、実行時間推定部１２は、リソース量ｒと、実行予定のデータ処理ｗの実行時間ProcTimew,rw,Ewとの関係を示す、関係モデルgw(r)を作成する。また、実行時間推定部１２は、関係モデルgw(r)をリソース量算出部１３と実行計画作成部１４とに入力する。
【００３１】
リソース量算出部１３は、本実施の形態１では、モデル学習部１１から推定残差の分布Deを取得し、実行時間推定部１２から実行時間の推定値として関係モデルgw(r)を取得する。また、リソース量算出部１３は、入力されたデータの特徴の変化に関する統計量の分布Dvと、リソース量の選択基準とする目的関数objと、目的関数objの変数に与える情報Xも取得する。
【００３２】
リソース量算出部１３は、取得したこれらのデータを用いて、実行予定のデータ処理w（データ処理集合W）に必要となるリソース量riを算出し、算出したリソース量riを実行計画作成部１４に入力する。
【００３３】
実行計画作成部１４は、本実施の形態１では、リソース量算出部１３から、リソース量riを取得し、モデル学習部１１から推定残差の分布Deを取得し、実行時間推定部１２から実行時間の推定値として関係モデルgw(r)を取得する。また、実行計画作成部１４は、入力されたデータの特徴の変化に関する統計量の分布Dvも取得する。
【００３４】
実行計画作成部１４は、取得したこれらのデータを用いてスケジューリングアルゴリズムを実行して、実行予定のデータ処理集合Wの実行計画PlanW,riを作成する。また、実行計画作成部１４は、本実施の形態１では、まず、実行計画PlanW,riをリソース量算出部１３に入力する。なお、スケジューリングアルゴリズムとしては、既存のアルゴリズムを用いることができる。
【００３５】
これにより、リソース量算出部１３は、入力された実行計画PlanW,riによってデータ処理が行われた場合の完了期限違反確率priを算出し、完了期限違反確率priが閾値pより小さいかどうかを判定する。そして、判定の結果、完了期限違反確率priが閾値pより小さい場合は、リソース量算出部１３は、先に算出したリソース量riをリソース量採用候補リストLRに追加する。また、完了期限違反確率の閾値pはユーザによって指定されている。
【００３６】
リソース量算出部１３によるリソース量採用候補リストLRの作成が終了すると、実行計画作成部１４は、リソース量採用候補リストLRを用いて、最終的な実行計画PlanWを作成し、これを実行部２１に送信する。
【００３７】
［装置動作］
次に、本発明の実施の形態１における計算資源管理装置１０の動作について図４〜図２３を用いて説明する。また、本実施の形態１では、計算資源管理装置１０を動作させることによって、計算資源管理方法が実施される。よって、本実施の形態１における計算資源管理方法の説明は、以下の計算資源管理装置１０動作説明に代える。
【００３８】
最初に、図４を用いて、計算資源管理装置１０の全体の動作の概略について説明する。図４は、本発明の実施の形態１における計算資源管理装置の動作を示すフロー図である。
【００３９】
最初に、モデル学習部１１は、データ処理の実行時間の実測値、データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、実行時間とリソースとの関係を示す推定モデルを学習する（ステップＡ１）。
【００４０】
次に、実行時間推定部１２は、実行予定のデータ処理に入力する予定のデータの特徴を、推定モデルに入力して、実行予定のデータ処理の実行時間の推定値を算出する（ステップＡ２）。
【００４１】
次に、リソース量算出部１３は、実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた実行時間の推定値の変動を示す変動指標、及び推定モデルの学習の際に得られる推定残差の分布を使用して、実行予定のデータ処理に必要となるリソース量を算出する（ステップＡ３）。
【００４２】
次に、実行計画作成部１４は、実行時間の推定値、変動指標、推定残差の分布、及び算出されたリソース量に基づいて、実行予定のデータ処理の実行計画を作成する（ステップＡ４）。
【００４３】
ステップＡ４の実行後、実行計画作成部１４は、作成した実行計画をデータ処理システム２０に送信する。これにより、データ処理システム２０において、実行部２１は、実行計画に沿ってデータ処理を実行する。
【００４４】
続いて、図５〜図１０を用いて、図４に示したモデル学習部１１における処理（ステップＡ１）について詳細に説明する。図５は、図４に示したステップＡ１における推定モデルの生成処理を詳細に示すフロー図である。図６は、処理対象となるデータ処理集合の一例を示す図であり、図６（ａ）は各データ処理の依存関係と完了期限とを示し、図６（ｂ）は各データ処理の種類を示している。
【００４５】
図７は、推定モデルの学習に用いられるデータ処理の実行実績情報の一例を示す図である。図８は、推定モデルの学習に用いられる入力データの特徴の一例を示す図である。図９は、推定モデルの概略を説明する図である。図１０は、推定モデルの一例を示す図である。
【００４６】
最初に、図５に示すように、モデル学習部１１は、訓練データを取得する（ステップＡ１１）。ステップＡ１１において、訓練データは、実行済のデータ処理w’に与えられたリソース量rw’、データ処理w’の実行時の環境情報Ew’、データ処理w’の実行時間ProcTimew’,rw’,Ew’、データ処理w’の特徴featurew’である。
【００４７】
具体的には、本実施の形態１では、図６（ａ）及び（ｂ）に示すように、データ処理の対象となるデータ処理集合Wは、w1、w2、w3、w4で構成されている。そして、以前のデータ処理の実行実績情報として、図７に示すように、以前データ処理集合Wを実行した際に得られた情報が蓄積されているので、モデル学習部１１は、この実行実績情報を訓練データとして取得する。なお、図７においては、データ処理w1の実行実績情報のみが例示されている。
【００４８】
また、特徴生成部１５は、データ処理の種類と実行実績とから、図８に示す特徴featurewを生成するので、モデル学習部１１は、生成された特徴featurewも学習データとして取得する。なお、図８においては、データ処理w1の種類と実行実績とから生成された特徴featurew1のみが例示されている。
【００４９】
次に、モデル学習部１１は、機械学習アルゴリズムを実行して、推定関数ｆを生成する（ステップＡ１２）。具体的には、モデル学習部１１は、実行実績情報とfeaturewとから、例えば、図９に示す決定木を学習して、推定関数ｆを生成する。推定関数ｆの一例は、図１０に示す通りである。
【００５０】
また、本実施の形態１で用いることができる機械学習アルゴリズムは、特に限定されるものではない。本実施の形態１で用いることができる機械学習アルゴリズムとしては、例えば、異種混合学習アルゴリズム、線形回帰式を用いたアルゴリズム等が挙げられる。
【００５１】
次に、モデル学習部１１は、推定関数fの学習誤差に対して、特定の関数を適用して、推定残差の分布Deを算出する（ステップＡ１３）。なお、特定の関数としては、標本分散、不偏分散の導出関数、標準偏差の導出関数等が挙げられる。
【００５２】
その後、モデル学習部１１は、推定関数ｆを実行時間推定部１２に出力し、推定残差の分布Deをリソース量算出部１３と実行計画作成部１４とに出力する（ステップＡ１４）。
【００５３】
また、ステップＡ１４が実行されると、実行時間推定部１２は、上述したステップＡ２を実行する。具体的には、実行時間推定部１２は、データ処理集合Wを実行する際の環境を特定する環境情報Eと、特徴生成部１５から入力された特徴featurewとを、推定関数fに入力する。そして、これにより、実行時間推定部１２は、リソース量ｒと、実行予定のデータ処理ｗの実行時間ProcTimew,rw,Ewとの関係を示す、関係モデルgw(r)を作成する。
【００５４】
続いて、図１１〜図１７を用いて、図４に示したリソース量算出部１３における処理（ステップＡ３）について詳細に説明する。図１１は、図４に示したステップＡ３におけるリソース量の算出処理を詳細に示すフロー図である。図１２は、リソース量の候補集合の一例を示す図である。図１３は、リソース量算出部に入力される実行計画の一例を示す図である。図１４は、実行計画におけるサンプリングの一例を示す図である。図１５は、算出された違反確率の一例を示す図である。図１６は、違反確率と閾値との関係を示す図である。図１７は、最終的なリソース量の算出結果の一例を示す図である。
【００５５】
図１１に示すように、最初に、リソース量算出部１３は、リソース量の候補集合R = {r1, r2, …, r|R|}の要素を特定する（ステップＡ２１）。具体的には、図１２に示すように、リソース量の候補集合R = {r1, r2, …, r|R|}において、各候補riは、ＣＰＵコア数とメモリ容量とで構成されている。
【００５６】
次に、リソース量算出部１３は、リソース量の候補ri毎にステップＡ２２〜Ａ２６を実行する。具体的には、リソース量算出部１３は、リソース量の候補riを実行計画作成部１４に出力し、実行計画作成部１４から、実行計画PlanW,riを取得する（ステップＡ２２）。図１３に示すように、取得された実行計画PlanW,riは、データ処理毎の、ＣＰＵコア数と、メモリ容量と、実行開始時刻とで、策定されている。
【００５７】
次に、リソース量算出部１３は、関係モデルgwと、推定関数fの推定残差の分布Dewと、入力データに関する統計量の分布Dvとから、データ処理w∈Wの推定完了時間t~wを複数算出する（ステップＡ２３）。図１４の例では、データ処理w3及びw4について算出された推定完了時刻t~wが例示されている。
【００５８】
次に、リソース量算出部１３は、推定完了時間t~wから、実行計画PlanW,riの完了期限違反確率priを計算する（ステップＡ２４）。図１５の例では、データ処理w3及びw4について算出された完了期限違反確率priが例示されている。
【００５９】
次に、リソース量算出部１３は、ステップＡ２４で計算した完了期限違反確率priが、閾値ｐより小さいかどうかを判定する（ステップＡ２５）。
【００６０】
ステップＡ２５の判定の結果、ステップＡ２４で計算した完了期限違反確率priが、閾値ｐより小さい場合は、リソース量算出部１３は、リソース量の候補riをリソース量採用候補リストLRに追加する（ステップＡ２６）。図１６の例では、リソース量の候補riがリソース量採用候補リストLRに追加される場合と追加されない場合とを例示している。
【００６１】
ステップＡ２５の判定の結果、ステップＡ２４で計算した完了期限違反確率priが、閾値ｐより小さくない場合は、リソース量算出部１３は、全ての候補について処理が終わっていないことを条件に、ステップＡ２２に戻る。
【００６２】
リソース量の全ての候補riについて、ステップＡ２２〜Ａ２６が終了した場合は、リソース量算出部１３は、目的関数objが最小となるリソース量の候補ri∈LRを、実行計画作成部１４に出力する（ステップＡ２７）。図１７の例では、リソース量の候補r3が、実行計画作成部１４に出力される。
【００６３】
続いて、図１８を用いて、図４に示した実行計画作成部１４における処理（ステップＡ４）について詳細に説明する。図１８は、図４に示したステップＡ４における実行計画の作成処理を詳細に示すフロー図である。
【００６４】
まず、上述のステップＡ２７で説明したように、リソース量算出部１３は、実行計画PlanW,riを作成可能なリソース量riが存在する場合に、実行計画作成部１４に実行計画の作成を指示する。
【００６５】
従って、図１８に示すように、最初に、実行計画作成部１４は、リソース量算出部１３から、リソース量riに対応する実行計画PlanW,riの作成指示があったかどうかを判定する（ステップＡ３１）。
【００６６】
ステップＡ３１の結果、実行計画PlanW,riの作成指示があった場合は、実行計画作成部１４は、スケジューリングアルゴリズムを実行して、関係モデルgw(r)を用いて、実行計画PlanW,rを算出する（ステップＡ３２）。
【００６７】
次に、ステップＡ３２の実行後、実行計画作成部１４は、リソース量算出部１３の指示に応じて、選択されているリソース量riと、それに対応する実行計画PlanW,r（図１３参照）とを、データ処理システム２０の実行部２１に出力する（ステップＡ３３）。
【００６８】
一方、ステップＡ３１の判定の結果、実行計画PlanW,riの作成指示がなかった場合は、実行計画作成部１４は、計画の算出が失敗したことを、データ処理システムの実行部２１に出力する（ステップＳ３４）。具体的には、この場合は、リソース量算出部１３は、実行計画PlanW,riを作成可能なリソース量riが存在していないと判断しており、実行計画作成部１４に対して、計画算出失敗を出力するように指示している。
【００６９】
なお、上述したように、図１１に示したステップＡ２２においても、実行計画作成部１４は、実行計画を作成する。但し、この場合においては、実行計画作成部１４は、上述のステップＡ３２のみを実行し、作成した実行計画をリソース量算出部１３のみに出力する。
【００７０】
ここで、図１９〜図２１を用いて、データ処理システム２０における実行部２１の動作について説明する。図１９は、本発明の実施の形態においてデータ処理システムで行われる動作を示すフロー図である。図２０は、データ処理システムからモデル学習部に入力されるデータの一例を示す図である。図２１は、データ処理集合の実行時において取得される新しい実行計画の一例を示す図である。
【００７１】
図１９に示すように、最初に、データ処理システム２０において、実行部２１は、計算資源管理装置１０から送信されてきた実行計画PlanW,rを読み込み、w’∈Wであるデータ処理w’の開始時刻tw’と割り当てるリソース量rw’とを取得する（ステップＳ１）。なお、ステップＳ１で読み込まれる実行計画は、図１３に示したものであるとする。
【００７２】
次に、実行部２１は、時刻tw’になると、データ処理w’にリソース量rw’を割り当てて、データ処理の実行を開始する（ステップＳ２）。
【００７３】
次に、実行部２１は、任意のデータ処理w’が完了すると、リソース量rw’、環境情報Ew’、実行時間ProcTimew’,rw,Ew’、及びデータ処理w’の特徴量featurew’をモデル学習部１１に入力する（ステップＳ３）。ステップＳ３において、モデル学習部１１に入力されるデータの一例は、図２０に示す通りである。図２０は、データ処理w1の終了時に、モデル学習部１１に入力されるデータを示している。
【００７４】
ステップＳ３が実行されると、実行計画作成部１４は、新しい推定関数f’、推定残差の分布De、データ処理wの入力データの特徴量の変動に関する統計量の分布Dvを得ることになる。
【００７５】
次に、実行部２１は、実行計画作成部１４に対して、残りのデータ処理集合(W - {w’})と、その特徴量featurew(w∈(W - {w’}))と、リソース量rとを入力して、新しい実行計画Plan(W - {w’})を作成させ、これを取得する（ステップＳ４）。ステップＳ４により、図２１に示すように、実行計画Plan(W - {w’})は、ステップＳ１で読み込まれたものから更新される。
【００７６】
次に、実行部２１は、新しい実行計画Plan(W - {w’})に従って、データ処理wの開始時刻twと割り当てるリソース量rwとを更新する（ステップＳ５）。
【００７７】
次に、ステップＳ５の実行後、実行部２１は、実行計画PlanW,rは完了しているかどうかを判定する（ステップＳ６）。ステップＳ６の判定の結果、実行計画PlanW,rが完了してない場合は、実行部２１は、再度ステップＳ２を実行する。一方、ステップＳ６の判定の結果、実行計画PlanW,rが完了している場合は、実行部２１は処理を終了する。このように、実行部２１は、単位時間当たりの実行率が低下しないように、実行計画を更新しながら、データ処理の実行を行っている。
【００７８】
以上のように、本実施の形態１では、リソース量算出部１３は、リソース量ｒと実行予定のデータ処理ｗの実行時間ProcTimew,rw,Ewとの関係を示す関係モデルgw(r)と、推定残差の分布Deと、入力されたデータの特徴の変化に関する統計量の分布Dvとから、リソース量を算出している。従って、本実施の形態１によれば、上述したように、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定することができる。
【００７９】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図４に示すステップＡ１〜Ａ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における計算資源管理装置１０と計算資源管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、モデル学習部１１、実行時間推定部１２、リソース量算出部１３、及び実行計画作成部１４として機能し、処理を行なう。
【００８０】
また、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、モデル学習部１１、実行時間推定部１２、リソース量算出部１３、及び実行計画作成部１４のいずれかとして機能しても良い。
【００８１】
［変形例］
ここで、本実施の形態１における変形例について説明する。本変形例では、リソース量算出部１３における処理が、図１１に示した例と異なっている。以下、図２２及び図２３を用いて相違点について説明する。図２２は、図４に示したステップＡ３におけるリソース量の算出処理の他の例を詳細に示すフロー図である。図２３は、リソース量算出部による完了時刻の算出結果の一例を示す図である。
【００８２】
図２２に示すように、最初に、リソース量算出部１３は、リソース量の候補集合R = {r1, r2, …, r|R|}の要素を特定する（ステップＡ４１）。なお、ステップＡ４１は、図１１に示したステップＡ２１と同様のステップである。
【００８３】
次に、リソース量算出部１３は、リソース量の候補ri毎にステップＡ４２〜Ａ４５を実行する。具体的には、リソース量算出部１３は、リソース量の候補riを実行計画作成部１４に出力し、実行計画作成部１４から、実行計画PlanW,riを取得する（ステップＡ２２）。なお、ステップＡ４２は、図１１に示したステップＡ２２と同様のステップである。
【００８４】
次に、リソース量算出部１３は、データ処理wの推定残差の分布Dewと、入力データの特徴量に関する統計量の分布Dvとから、実行計画PlanW,riに沿ってデータ処理wを実行した場合に、その完了期限違反確率が閾値p未満となる完了時刻を算出する（ステップＡ４３）。算出結果は、図２３に示す通りである。図２３の例では、リソース量算出部１３は、推定残差の分布Dewと統計量の分布Dvとを正規分布と仮定し、推定処理時間が2.33σ以上となる確率を１％（=p）以下と見積もっている。
【００８５】
次に、リソース量算出部１３は、全てのデータ処理wについて完了時刻が期限以内であるかどうかを判定する（ステップＡ４４）。ステップＡ４４の判定の結果、全てのデータ処理wについて完了時刻が期限以内である場合は、リソース量算出部１３は、リソース量の候補riをリソース量採用候補リストLRに追加する（ステップＡ４５）。なお、ステップＡ４５は、図１１に示したステップＡ２６と同様のステップである。
【００８６】
一方、ステップＡ４４の判定の結果、全てのデータ処理wについて完了時刻が期限以内でない場合は、リソース量算出部１３は、全ての候補について処理が終わっていないことを条件に、ステップＡ４２に戻る。
【００８７】
リソース量の全ての候補riについて、ステップＡ４２〜Ａ４５が終了した場合は、リソース量算出部１３は、目的関数objが最小となるリソース量の候補ri∈LRを、実行計画作成部１４に出力する（ステップＡ４６）。なお、ステップＡ４６は、図１１に示したステップＡ２７と同様のステップである。
【００８８】
このように変形例では、図１１に示したサンプリングを行なう例と異なり、リソース量は、データ処理wの推定残差の分布Dewと、入力データの特徴量に関する統計量の分布Dvとから求められる。このため、本変形例によれば、処理負担を軽減でき、リソース量の算出にかかる時間の短縮化を図ることができる。
【００８９】
（実施の形態２）
次に、本発明の実施の形態２における、計算資源管理装置、計算資源管理方法、及びプログラムについて、図２４〜図３２を参照しながら説明する。
【００９０】
［装置構成］
最初に、図２４及び図２５を用いて、本実施の形態２における計算資源管理装置の構成について説明する。図２４は、本発明の実施の形態２における計算資源管理装置の具体的構成を示すブロック図である。図２５は、本発明の実施の形態１における計算資源管理装置におけるデータの流れを示す説明図である。
【００９１】
図２４に示すように、本実施の形態２における計算資源管理装置３０は、図２に示した実施の形態１における計算資源管理装置１０と異なり、リソース量算出部１３の代わりに、違反確率算出部３１を備えている。なお、モデル学習部１１、及び実行時間推定部１２は、実施の形態１と同様である。以下、実施の形態１との相違点を中心に説明する。
【００９２】
実行計画作成部１４は、本実施の形態２では、ユーザによって予め指定されたリソース量の範囲内で、実行予定のデータ処理の実行計画を作成する。
【００９３】
具体的には、実行計画作成部１４は、ユーザが指定したリソース量r~を取得し、モデル学習部１１から推定残差の分布Deを取得し、実行時間推定部１２から関係モデルgw(r)を取得する。また、実行計画作成部１４は、入力されたデータの特徴の変化に関する統計量の分布Dvも取得する。
【００９４】
実行計画作成部１４は、取得したこれらのデータを用いてスケジューリングアルゴリズムを実行して、実行予定のデータ処理集合Wの実行計画PlanW,r~を作成し、これを違反確率算出部３１に入力する。なお、スケジューリングアルゴリズムとしては、既存のアルゴリズムを用いることができる。
【００９５】
違反確率算出部３１は、実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた実行時間の変動指標、推定モデルの学習の際に得られる推定残差の分布、及び作成された実行計画とから、実行予定のデータ処理が完了期限を違反する確率（完了期限違反確率）を算出する。
【００９６】
具体的には、違反確率算出部３１は、モデル学習部１１から推定残差の分布Deを取得する。また、違反確率算出部３１は、実行時間の推定値として、実行時間推定部１２から関係モデルgw(r)を取得する。また、リソース量算出部１３は、変動指標として、入力されたデータの特徴の変化に関する統計量の分布Dvを取得する。更に、違反確率算出部３１は、ユーザが指定したリソース量r~も取得する。
【００９７】
違反確率算出部３１は、取得した、推定関数fと、推定残差分布Deと、統計量の分布Dvとから、データ処理w∈Wの推定実行時間t~wを算出する。そして、違反確率算出部３１は、算出した推定実行時間t~wを実行計画PlanW,r~に照合して、完了期限違反確率pr~を算出する。
【００９８】
［装置動作］
次に、本発明の実施の形態２における計算資源管理装置３０の動作について図２６〜図３１を用いて説明する。また、本実施の形態２では、計算資源管理装置３０を動作させることによって、計算資源管理方法が実施される。よって、本実施の形態２における計算資源管理方法の説明は、以下の計算資源管理装置３０動作説明に代える。
【００９９】
最初に、図２６を用いて、計算資源管理装置１０の全体の動作の概略について説明する。図２６は、本発明の実施の形態２における計算資源管理装置の動作を示すフロー図である。
【０１００】
最初に、モデル学習部１１は、データ処理の実行時間の実測値、データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、実行時間とリソースとの関係を示す推定モデルを学習する（ステップＢ１）。ステップＢ１は、図４に示したステップＡ１と同様のステップである。
【０１０１】
次に、実行時間推定部１２は、実行予定のデータ処理に入力する予定のデータの特徴を、推定モデルに入力して、実行予定のデータ処理の実行時間の推定値を算出する（ステップＢ２）。ステップＢ２は、図４に示したステップＡ２と同様のステップである。
【０１０２】
次に、実行計画作成部１４は、ユーザによって予め指定されたリソース量の範囲内で、実行予定のデータ処理の実行計画を作成する（ステップＢ３）。
【０１０３】
次に、違反確率算出部３１は、実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた実行時間の変動指標、モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、実行予定のデータ処理の完了期限違反確率を算出する（ステップＢ４）。
【０１０４】
ステップＢ４の実行後、違反確率算出部３１は、ユーザに対して完了期限違反確率を提示する。また、実行計画作成部１４は、作成した実行計画をデータ処理システム２０に送信する。これにより、データ処理システム２０において、実行部２１は、実行計画に沿ってデータ処理を実行する。
【０１０５】
続いて、図２７〜図３１を用いて、図２６に示した違反確率算出部３１における処理（ステップＢ４）について詳細に説明する。図２７は、図２６に示したステップＢ４における完了期限違反確率の算出処理を詳細に示すフロー図である。図２８は、ユーザによって指定されたリソース量の一例を示す図である。図２９は、各データ処理の推定実行時間の算出結果の一例を示す図である。図３０は、完了期限違反確率の算出結果の一例を示す図である。
【０１０６】
最初に、図２７に示すように、違反確率算出部３１は、実行計画作成部１４から、ユーザによって指定されたリソース量r~についての実行計画PlanW,r~を取得する（ステップＢ１１）。具体的には、図２８に示すように、本実施の形態２において、リソース量r~として、ＣＰＵコア数とメモリ容量とが指定されている。なお、実行計画PlanW,r~は、本実施の形態２において、データ処理毎の、ＣＰＵコア数と、メモリ容量と、実行開始時刻とで、策定されている（図１３参照）。
【０１０７】
次に、違反確率算出部３１は、推定関数fと、推定残差の分布Deと、統計量の分布Dvとを用いて、データ処理w∈Wの推定実行時間t~wを算出する（ステップＢ１２）。具体的には、図２９に示すように、違反確率算出部３１は、データ処理w毎に、複数の推定実行時間t~wを算出する。なお、図２９の例では、データ処理w1及びw2には完了期限が設定されていないため、推定実行時間は算出されていない。
【０１０８】
次に、違反確率算出部３１は、ステップＢ１２で算出したデータ処理w∈Wの推定実行時間t~wを用いて、実行計画PlanW,r~の完了期限違反確率pr~を算出する（ステップＢ１３）。結果は、図３０に示すとおりである。
【０１０９】
次に、違反確率算出部３１は、完了期限違反確率pr~をユーザの端末装置に出力する（ステップＢ１４）。具体的には、図３０に示すように、本実施の形態２では、完了期限違反確率の最大値のみが出力される。
【０１１０】
以上のように、本実施の形態１では、ユーザが指定する完了期限違反確率を満たすようにリソース量が算出されていたが、実施の形態２では、実施の形態１と異なり、ユーザが指定するリソース量に対して完了期限違反確率が算出される。このため、ユーザは、完了期限違反確率の状態を見ながら、データ処理に割当てるリソース量を設定することができる。また、完了期限違反確率の算出には、推定残差の分布Deと統計量の分布Dvとが用いられているので、本実施の形態２においても、処理時間の非決定的な変動が考慮されてデータ分析における実行計画が策定されることになる。
【０１１１】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図２６に示すステップＢ１〜Ｂ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における計算資源管理装置３０と計算資源管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、モデル学習部１１、実行時間推定部１２、実行計画作成部１４、及び違反確率算出部３１として機能し、処理を行なう。
【０１１２】
また、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、モデル学習部１１、実行時間推定部１２、実行計画作成部１４、及び違反確率算出部３１のいずれかとして機能しても良い。
【０１１３】
［変形例］
ここで、本実施の形態２における変形例について説明する。本変形例では、違反確率算出部３１における処理が、図２７に示した例と異なっている。以下、図３１及び図３２を用いて相違点について説明する。図３１は、図２６に示したステップＢ４における完了期限違反確率の算出処理の他の例を詳細に示すフロー図である。図３２は、完了期限違反確率の算出結果の他の例を示す図である。
【０１１４】
最初に、図３１に示すように、違反確率算出部３１は、実行計画作成部１４から、ユーザによって指定されたリソース量r~についての実行計画PlanW,r~を取得する（ステップＢ２１）。なお、ステップＢ２１は、図２７に示したステップＢ１１と同様のステップである。
【０１１５】
次に、違反確率算出部３１は、推定残差の分布Dewと、統計量の分布Dvwとを用いて、実行計画PlanW,r~の完了期限違反確率pw,r~を算出する（ステップＢ２３）。
【０１１６】
具体的には、違反確率算出部３１は、推定残差の分布Dewと、統計量の分布Dvwとをそれぞれ正規分布と仮定し、各正規分布の標準偏差から完了期限以上となる確率を算出する。そして、違反確率算出部３１推定残差の分布Dewの正規分布から得られた確率と、統計量の分布Dvwの正規分布から得られた確率とのうち、値が高い方を、完了期限違反確率pw,r~として採用する。
【０１１７】
結果は、図３２に示す通りである。図３２の例では、データ処理w3及びw4のいずれにおいても、統計量の分布Dvwの正規分布から得られた確率が完了期限違反確率pw,r~として採用されている。
【０１１８】
次に、違反確率算出部３１は、完了期限違反確率pr~をユーザの端末装置に出力する（ステップＢ２４）。具体的には、本変形例においても、完了期限違反確率の最大値のみが出力される。
【０１１９】
このように変形例では、図２７に示したサンプリングを行なう例と異なり、完了期限違反確率pr~は、推定残差の分布Dewと統計量の分布Dvとから求められる。このため、本変形例によれば、処理負担を軽減でき、完了期限違反確率pr~の算出にかかる時間の短縮化を図ることができる。
【０１２０】
（物理構成）
ここで、実施の形態１及び２におけるプログラムを実行することによって、計算資源管理装置を実現するコンピュータについて図３３を用いて説明する。図３３は、本発明の実施の形態１及び２における計算資源管理装置を実現するコンピュータの一例を示すブロック図である。
【０１２１】
図３３に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１２２】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１２３】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１２４】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１２５】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１２６】
なお、本実施の形態における計算資源管理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、計算資源管理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【０１２７】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【０１２８】
（付記１）
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、実行時間推定部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、リソース量算出部と、
前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
を備えていることを特徴とする計算資源管理装置。
【０１２９】
（付記２）
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記１に記載の計算資源管理装置。
【０１３０】
（付記３）
前記実行計画作成部は、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
付記１または２に記載の計算資源管理装置。
【０１３１】
（付記４）
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、実行時間推定部と、
前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、違反確率算出部と、
を備えていることを特徴とする計算資源管理装置。
【０１３２】
（付記５）
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記４に記載の計算資源管理装置。
【０１３３】
（付記６）
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を有することを特徴とする計算資源管理方法。
【０１３４】
（付記７）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記６に記載の計算資源管理方法。
【０１３５】
（付記８）
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
付記６または７に記載の計算資源管理方法。
【０１３６】
（付記９）
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を有することを特徴とする計算資源管理方法。
【０１３７】
（付記１０）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記９に記載の計算資源管理方法。
【０１３８】
（付記１１）
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【０１３９】
（付記１２）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記１１に記載のコンピュータ読み取り可能な記録媒体。
【０１４０】
（付記１３）
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
付記１１または１２に記載のコンピュータ読み取り可能な記録媒体。
【０１４１】
（付記１４）
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【０１４２】
（付記１５）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記１４に記載のコンピュータ読み取り可能な記録媒体。
【０１４３】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１４４】
この出願は、２０１６年４月２８日に出願された日本出願特願２０１６−０９０７２８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１４５】
以上のように、本発明によれば、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定することができる。本発明は、データ分析における実行計画の策定が必要な種々の分野に有用である。
【符号の説明】
【０１４６】
１０  計算資源管理装置（実施の形態１）
１１  モデル学習部
１２  実行時間推定部
１３  リソース量算出部
１４  実行計画作成部
２０  データ処理システム
２１  実行部
３０  計算資源管理装置（実施の形態２）
３１  違反確率算出部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2017188419.tif 000003
【図２】
2017188419.tif 000004
【図３】
2017188419.tif 000005
【図４】
2017188419.tif 000006
【図５】
2017188419.tif 000007
【図６】
2017188419.tif 000008
【図７】
2017188419.tif 000009
【図８】
2017188419.tif 000010
【図９】
2017188419.tif 000011
【図１０】
2017188419.tif 000012
【図１１】
2017188419.tif 000013
【図１２】
2017188419.tif 000014
【図１３】
2017188419.tif 000015
【図１４】
2017188419.tif 000016
【図１５】
2017188419.tif 000017
【図１６】
2017188419.tif 000018
【図１７】
2017188419.tif 000019
【図１８】
2017188419.tif 000020
【図１９】
2017188419.tif 000021
【図２０】
2017188419.tif 000022
【図２１】
2017188419.tif 000023
【図２２】
2017188419.tif 000024
【図２３】
2017188419.tif 000025
【図２４】
2017188419.tif 000026
【図２５】
2017188419.tif 000027
【図２６】
2017188419.tif 000028
【図２７】
2017188419.tif 000029
【図２８】
2017188419.tif 000030
【図２９】
2017188419.tif 000031
【図３０】
2017188419.tif 000032
【図３１】
2017188419.tif 000033
【図３２】
2017188419.tif 000034
【図３３】
2017188419.tif 000035
【手続補正書】
【提出日】平成30年9月18日(2018.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、実行時間推定部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、リソース量算出部と、
前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
を備えていることを特徴とする計算資源管理装置。
【請求項２】
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１に記載の計算資源管理装置。
【請求項３】
前記実行計画作成部は、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項１または２に記載の計算資源管理装置。
【請求項４】
データ処理を行なうシステムを管理するための装置であって、
データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、モデル学習部と、
実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、実行時間推定部と、
前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、実行計画作成部と、
前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、違反確率算出部と、
を備えていることを特徴とする計算資源管理装置。
【請求項５】
前記モデル学習部が、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記実行時間推定部が、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項４に記載の計算資源管理装置。
【請求項６】
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を有することを特徴とする計算資源管理方法。
【請求項７】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項６に記載の計算資源管理方法。
【請求項８】
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項６または７に記載の計算資源管理方法。
【請求項９】
データ処理を行なうシステムを管理するための方法であって、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を有することを特徴とする計算資源管理方法。
【請求項１０】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項９に記載の計算資源管理方法。
【請求項１１】
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させるプログラム。
【請求項１２】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１１に記載のプログラム。
【請求項１３】
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
請求項１１または１２に記載のプログラム。
【請求項１４】
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させるプログラム。
【請求項１５】
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
請求項１４に記載のプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、データ分析を行なうシステムにおける実行計画を策定するための、計算資源管理装置、及び計算資源管理方法に関し、更には、これらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の目的の一例は、上記問題を解消し、処理時間の非決定的な変動を考慮してデータ分析における実行計画を策定し得る、計算資源管理装置、計算資源管理方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
更に、上記目的を達成するため、本発明の一側面における第１のプログラムは、コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
更に、上記目的を達成するため、本発明の一側面における第２のプログラムは、コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させることを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１３８
【補正方法】変更
【補正の内容】
【０１３８】
（付記１１）
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、ステップと、
（ｃ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の推定値の変動を示す変動指標、及び前記モデルの学習の際に得られる推定残差の分布を使用して、前記実行予定のデータ処理に必要となるリソース量を算出する、ステップと、
（ｄ）前記実行時間の推定値、前記変動指標、前記推定残差の分布、及び算出された前記リソース量に基づいて、前記実行予定のデータ処理の実行計画を作成する、ステップと、を実行させるプログラム。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
（付記１２）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記１１に記載のプログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
（付記１３）
前記（ｄ）のステップにおいて、前記実行予定のデータ処理における完了期限を違反する確率について予め閾値が設定されている場合に、前記閾値を超えないように、前記実行予定のデータ処理の実行計画を作成する、
付記１１または１２に記載のプログラム。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
（付記１４）
コンピュータによって、データ処理を行なうシステムを管理するためのプログラムであって、
前記コンピュータに、
（ａ）データ処理の実行時間の実測値、前記データ処理に割り当てたリソース量の実測値、及びデータ処理に対する入力データの特徴を訓練データに用いて、前記実行時間と前記リソースとの関係を示すモデルを学習する、ステップと、
（ｂ）実行予定のデータ処理に入力する予定のデータの特徴を、前記モデルに入力して、実行時間の推定値を算出する、ステップと、
（ｃ）前記予め指定されたリソース量の範囲内で、前記実行予定のデータ処理の実行計画を作成する、ステップと、
（ｄ）前記実行時間の推定値、過去のデータ処理で入力されたデータの特徴の変化に応じた前記実行時間の変動指標、前記モデルの学習の際に得られる前記推定残差の分布、及び作成された前記実行計画とから、前記実行予定のデータ処理が完了期限を違反する確率を算出する、ステップと、
を実行させるプログラム。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
（付記１５）
前記（ａ）のステップにおいて、更に、データ処理を実行する際の環境を特定する環境情報を用いて、前記モデルを学習し、
前記（ｂ）のステップにおいて、前記実行予定のデータ処理を実行する際の環境を特定する環境情報を、更に、前記モデルに入力して、前記実行予定のデータ処理の実行時間の推定値を算出する、
付記１４に記載のプログラム。
【国際調査報告】
2017188419.tif 000036
2017188419.tif 000037
2017188419.tif 000038