(57)【要約】      （修正有）【課題】分散計算における、アプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステムを提供する。【解決手段】方法は以下のステップを含む。アプリケーション情報、フレームワーク情報およびシステム情報を受信する。性能、上記アプリケーション情報、上記フレームワーク情報および上記システム情報の関係を含む性能モデルが、記憶ユニットに記憶されているかどうかを判定する。上記性能モデルが上記記憶ユニットに記憶されている場合、アプリケーションパラメータ設定およびシステム仕様設定を、当該性能モデルにしたがって取得する。【選択図】図２
2017117242.tif 000002
【特許請求の範囲】
【請求項１】
分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法であって、
アプリケーション情報、フレームワーク情報、およびシステム情報を受信するステップと、
性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、記憶ユニットに記憶されているかどうかを判定するステップと、
上記性能モデルが上記記憶ユニットに記憶されている場合に、上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得するステップとを含むことを特徴とする方法。
【請求項２】
上記性能モデルが上記記憶ユニットに記憶されていない場合に、ログファイルが既に記録されているかどうかを判定するステップと、
上記ログファイルが既に記録されている場合に、上記ログファイルにしたがって上記性能モデルを生成するステップと、
上記ログファイルが記録されていない場合に、所定の規則にしたがって、上記アプリケーションパラメータ設定および上記システム仕様設定を取得するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
上記性能モデルは、多変数回帰モデル、アンサンブル回帰モデル、またはハイブリッド回帰モデルであり、
上記アプリケーション情報は、アプリケーション名、ハッシュコード、チェックサム、プロファイル、アプリケーションのメタデータ、プログラムＩＤ、およびリソース性能を含み、
上記フレームワーク情報は、並列処理、リソース設定、リソース管理計画、データ管理計画、計算モデルを調整可能であるパラメータ、およびサポートされた環境の制御パラメータを含み、
上記システム情報は、システムハードウェアの仕様およびシステムソフトウェアの仕様を含むことを特徴とする請求項１に記載の方法。
【請求項４】
上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得する上記ステップにおいて、上記アプリケーションパラメータ設定および上記システム仕様設定は、所定の制限された条件を満たして計算されることを特徴とする請求項１に記載の方法。
【請求項５】
上記性能モデルは、第１のクラスタに応じて生成され、上記第１のクラスタに応じて生成された上記性能モデルは、第２のクラスタのアプリケーションパラメータ設定およびシステム仕様設定を取得するために用いられることを特徴とする請求項１に記載の方法。
【請求項６】
分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムであって、
アプリケーション情報、フレームワーク情報、およびシステム情報を受信する通信ユニットと、
記憶ユニットと、
性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、上記記憶ユニットに記憶されているかどうかを判定し、上記性能モデルが、上記記憶ユニットに記憶されている場合に、上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得する処理ユニットとを備えていることを特徴とするシステム。
【請求項７】
上記処理ユニットは、上記性能モデルが、上記記憶ユニットに記憶されていない場合に、ログファイルが上記記憶ユニットに記録されているかどうかをさらに判定し、
上記処理ユニットは、上記ログファイルが記録されている場合に、上記ログファイルにしたがって上記性能モデルを生成し、
上記処理ユニットは、上記ログファイルが記録されていない場合に、所定の規則にしたがって、上記アプリケーションパラメータ設定および上記システム仕様設定をさらに取得することを特徴とする請求項６に記載のシステム。
【請求項８】
上記性能モデルは、多変数回帰モデル、アンサンブル回帰モデル、またはハイブリッド回帰モデルであり、
上記アプリケーション情報は、アプリケーション名、ハッシュコード、チェックサム、プロファイル、アプリケーションのメタデータ、プログラムＩＤ、およびリソース性能を含み、
上記フレームワーク情報は並列処理、リソース設定、リソース管理計画、データ管理計画、計算モデルを調整可能であるパラメータ、およびサポートされた環境の制御パラメータを含み、
上記システム情報は、システムハードウェアの仕様およびシステムソフトウェアの仕様を含むことを特徴とする請求項６に記載のシステム。
【請求項９】
上記処理ユニットは、所定の制限された条件を満たして、上記アプリケーションパラメータ設定および上記システム仕様設定を計算することを特徴とする請求項６に記載のシステム。
【請求項１０】
上記処理ユニットは、第１のクラスタに応じて上記性能モデルを生成し、上記第１のクラスタに応じて生成された上記性能モデルにしたがって、第２のクラスタのアプリケーションパラメータ設定およびシステム仕様設定を取得することを特徴とする請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、アプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステムに関する。とりわけ、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステムに関する。
【背景技術】
【０００２】
分散計算において、該分散計算の性能はアプリケーションパラメータ設定（application parameter setting）およびシステム仕様設定（system specification setting）に関連している。たとえば、分散計算の性能の算出方法が、米国特許公開公報第２０１３／０２５４１９６Ａ１号に開示されている。アプリケーションパラメータ設定およびシステム仕様設定を手動で調整するためには、ソフトウェアおよびハードウェアに精通していることが必要とされる。しかし、ほとんどの人はソフトウェアおよびハードウェアに精通していないので、アプリケーションパラメータ設定およびシステム仕様設定を、厳密に調整することができない。１つのアプリケーションが、実在するクラスタ内で実行される必要があるならば、アプリケーションパラメータ設定は厳密に調整されなくてもよいが、該アプリケーションを実行する性能が下がってしまう。あるいは、１つのクラスタが新たに確立される必要があるならば、システム仕様設定は厳密に調整されなくてもよいが、任意のアプリケーションを実行する性能が下がってしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許公開公報第２０１３／０２５４１９６Ａ１号（２０１３年９月２６日公開）
【発明の概要】
【０００４】
本開示は、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステムを説明するものである。
【０００５】
１つの実施形態によれば、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法が提供される。上記方法は、以下のステップを含む。アプリケーション情報、フレームワーク情報、およびシステム情報を受信するステップ。性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、記憶ユニット内に記憶されているかどうかを判定するステップ。上記性能モデルが上記記憶ユニット内に記憶されている場合に、該性能モデルにしたがって、アプリケーションパラメータ設定およびシステム仕様設定を取得するステップ。
【０００６】
他の実施形態によれば、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムが提供される。上記システムは、通信ユニット、記憶ユニット、および処理ユニットを含む。上記通信ユニットは、アプリケーション情報、フレームワーク情報、およびシステム情報を受信する。上記処理ユニットは、性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、上記記憶ユニット内に記憶されているかどうかを判定する。上記処理ユニットは、上記性能モデルが上記記憶ユニットに記憶されている場合に、該性能モデルにしたがって、アプリケーションパラメータ設定およびシステム仕様設定を取得する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムを示す図である。
【図２】分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法のフローチャートを示す図である。
【図３】他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムを示す図である。
【図４】他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムを示す図である。
【図５】他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムを示す図である。
【０００８】
開示された実施形態について完全に理解してもらうために、説明の目的で、以下の詳細な説明において、多数の具体的な細部が示されている。しかしながら、１つ以上の実施形態が、これらの具体的な細部なしで実行されてもよいことは明らかであろう。他のケースでは、図面を単純化するために、良く知られた構成および装置が略図で示されている。
【発明を実施するための形態】
【０００９】
分散計算において、該分散計算の性能はアプリケーションパラメータ設定およびシステム仕様設定に関連している。図１および図２を参照されたい。図１は、一実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステム１００を示す。そして、図２は、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法のフローチャートを示す。一実施形態において、分散計算のフレームワークは、Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅによって例証される。Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅは、マスタ／スレーブアーキテクチャである。Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅフレームワークには２つの実装が存在する。すなわち「ｃｌａｓｓｉｃ」と「ｙａｒｎ」である。ｃｌａｓｓｉｃの実装は、Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅ１とも呼ばれており、ｙａｒｎの実装は、Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅ２とも呼ばれている。
【００１０】
Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅ１において、マスタノードは、スレーブノードのクラスタを管理するためのジョブトラッカ（ＪｏｂＴｒａｃｋｅｒ）と呼ばれるプロセスを実行し、複数のスレーブノードのそれぞれも、タスクトラッカ（ＴａｓｋＴｒａｃｋｅｒ）と呼ばれるプロセスを実行する。ジョブトラッカは、それらのスレーブノードに対して、複数のｍａｐタスクおよび複数のｒｅｄｕｃｅタスクを発送する。
【００１１】
Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅ２において、リソースマネージャノードは、Ｈａｄｏｏｐクラスタ内の複数のコンピュータノードの計算リソースの割当てを調整するための、ＲｅｓｏｕｒｃｅＭａｎａｇｅｒと呼ばれるプロセスを実行する。Ｈａｄｏｏｐクラスタ内のコンピュータノードのそれぞれは、計算コンテナを開始および監視するためのＮｏｄｅＭａｎａｇｅｒと呼ばれるプロセスを実行する。各ＭａｐＲｅｄｕｃｅジョブに対して、これに対応するＭＲＡｐｐＭａｓｔｅｒプロセスが、ｍａｐタスクおよびｒｅｄｕｃｅタスクを調整するためのＮｏｄｅＭａｎａｇｅｒによって開始される。ＭＲＡｐｐＭａｓｔｅｒ、ｍａｐタスクおよびｒｅｄｕｃｅタスクは、ＲｅｓｏｕｒｃｅＭａｎａｇｅｒによって計画され、ＮｏｄｅＭａｎａｇｅｒによって管理されるコンテナ内で実行する。
【００１２】
Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅジョブにおいて、ｍａｐタスクの数およびｒｅｄｕｃｅタスクの数が、複数のｍａｐスロットの数および複数のｒｅｄｕｃｅスロットの数以上である場合、ｍａｐタスクおよびｒｅｄｕｃｅタスクは、多重波で実行されてもよい。ｍａｐスロットは、同時に実行されるｍａｐタスクの集合を含む。ｒｅｄｕｃｅスロットは、同時に実行されるｒｅｄｕｃｅタスクの集合を含む。１００個のｍａｐタスクが存在し、ｍａｐスロットが５つのｍａｐタスクを含む場合には、１００個のｍａｐタスクは２０（＝１００／５）個の波で実行される。たとえば、「ＭａｐＴａｓｋＭａｘ」はｍａｐスロットであり、「ＲｅｄｕｃｅＴａｓｋｓＭａｘ」はｒｅｄｕｃｅスロットである。
【００１３】
Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅにおいて、各ｍａｐタスクは、４つのフェーズに分割されてもよい。すなわち、Ｒｅａｄフェーズ、Ｍａｐフェーズ、Ｓｐｉｌｌフェーズ、およびＭｅｒｇｅフェーズである。Ｒｅａｄフェーズにおいて、入力分割は、Ｈａｄｏｏｐ分散ファイルシステム（ＨＤＦＳ；Hadoop Distributed File System）から読み出されて、該入力分割は、キーと値との対の集合に変形される。上記入力は、いくつかの入力分割に分割され、そのサイズは、「ＳｐｌｉｔＳｉｚｅ」として記録される。Ｍａｐフェーズにおいて、ｍａｐプログラムは上記入力分割と共に実行され、中間データがメモリバッファに出力される。Ｓｐｉｌｌフェーズにおいて、メモリバッファがほぼいっぱいであるとき、バックグラウンドスレッドは、メモリバッファ内のコンテンツをスピルファイル（spill files）に結合することおよび圧縮することを開始する。Ｍｅｒｇｅフェーズにおいて、複数のスピルファイルは、単一のｍａｐ出力ファイルに統合される。該出力ファイルは、ｒｅｄｕｃｅタスクによってフェッチされる。
【００１４】
他の側面では、ｒｅｄｕｃｅタスクは４つのフェーズに分割されてもよい。すなわち、Ｓｈｕｆｆｌｅフェーズ、Ｍｅｒｇｅフェーズ、Ｒｅｄｕｃｅフェーズ、およびＷｒｉｔｅフェーズである。Ｓｈｕｆｆｌｅフェーズにおいて、中間データはｍａｐタスクからメモリバッファへとフェッチされる。Ｍｅｒｇｅフェーズにおいて、別々のｍａｐタスクによって生成された中間データは、ｒｅｄｕｃｅ関数によって、単一の入力ファイルを作成するために統合される。Ｒｅｄｕｃｅフェーズにおいて、ｒｅｄｕｃｅプログラムは、最終的な出力データを生成するために、入力ファイルと共に実行される。Ｗｒｉｔｅフェーズにおいて、最終的な出力データは圧縮され、ＨＤＦＳに書き込まれる。
【００１５】
図１を参照されたい。システム１００は、通信ユニット１１０、処理ユニット１２０、および記憶ユニット１３０を含む。システム１００は、コンピュータ、または複数のコンピュータを含むクラスタであってもよい。通信ユニット１１０は、データの受信および送信に用いられる。たとえば、通信ユニット１１０は、無線通信モジュール（たとえば、３Ｇ、４Ｇ、ＬＴＥ（Long Term Evolution）、ＬＴＥ  Ａｄｖａｎｃｅｄなどのモジュール）であってもよいし、ネットワークモジュール（たとえば、無線ＬＡＮ（Local Area Network）、Ｅｔｈｅｒｎｅｔ（登録商標）などのモジュール）であってもよいし、伝送線、ＵＳＢポート、またはメモリカードリーダであってもよい。処理ユニット１２０は、複数の計算手順、複数の決定手順、または複数の分析手順を実行するのに用いられる。処理ユニット１２０は、プロセッサ（たとえば、ＣＰＵ）、チップ、回路、回路基板、または複数のプログラムコードを記憶する記憶装置であってもよい。記憶ユニット１３０は、データを記憶するのに用いられる。たとえば、記憶ユニット１３０は、ハードディスク、光学ディスク、メモリ、またはストレージクラウドであってもよい。
【００１６】
システム１００は、ネットワーク９００を介して、複数のコンピュータを含むクラスタ２００に接続されている。図２を参照されたい。分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法が、システム１００に関して示される。
【００１７】
ステップＳ１１０において、アプリケーション情報ＡＩ１、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ１が、クラスタ２００からネットワーク９００介して通信ユニット１１０によって受信される。一実施形態において、アプリケーション情報ＡＩ１は、アプリケーション名、ハッシュコード、チェックサム、プロファイル、アプリケーションのメタデータ、プログラムＩＤ、および／またはリソース性能を含んでいてもよい。フレームワーク情報ＦＩ１は、並列処理、リソース設定、リソース管理計画、データ管理計画、計算モデルを調整可能であるパラメータ、および／またはサポートされた環境の制御パラメータを含んでもよい。たとえば、表１を参照されたい。表１は、フレームワーク情報ＦＩ１におけるいくつかの項目を示す。
【００１８】
【表１】
2017117242.tif 000003
2017117242.tif 000004
Ｈａｄｏｏｐ  ＭａｐＲｅｄｕｃｅにおいて、フレームワークに関する項目が数百存在する。表１に示すように、いくつかの項目が選択される。これらの項目は、並列処理（parallelism）、メモリ容量（memory capacity）、ジョブフロートリガポイント（job flow trigger point）、およびデータ圧縮（data compression）を含む、４つの性能に関する要素を主に制御する。
【００１９】
並列処理は、たとえば、多くのｍａｐタスクおよびｒｅｄｕｃｅタスクが同時に実行されるようなジョブの並列処理を制御するいくつかの項目である。ホストコンピュータあたりのＣＰＵコアの数のように、クラスタリソース容量と関わりがある。
【００２０】
メモリ容量は、キーと値との対およびメタデータのソート、またはｒｅｄｕｃｅタスクの入力データのバッファリングのためのメモリサイズなどのように、計算処理に対するメモリ容量を指定するいくつかの項目である。
【００２１】
ジョブフロートリガポイントは、ｍａｐからの出力をバッファするためのメモリ容量の閾値などのように、計算処理の時点を設定するいくつかの項目である。閾値を超過した時はいつでも、システムは、ソートを開始し、それから、メモリからディスクへと、それらのソートされたキーと値との対を溢れさせる。
【００２２】
データ圧縮は、ｍａｐタスクおよびｒｅｄｕｃｅタスクの圧縮を決定するいくつかの項目である。
【００２３】
さらに、システム情報ＳＩ１は、システムハードウェアの仕様および／またはシステムソフトウェアの仕様を含んでもよい。
【００２４】
ステップＳ１２０において、処理ユニット１２０は、たとえば、性能、アプリケーション情報ＡＩ１、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ１の関係を含む性能モデルＭ１が、記憶ユニット１３０内に記憶されているかどうかを判定する。性能モデルＭ１が記憶ユニット１３０に記憶されている場合、処理は、ステップＳ１３０へ進む。性能モデルＭ１が記憶ユニット１３０に記憶されていない場合、処理は、ステップＳ１５０へ進む。
【００２５】
一実施形態において、性能モデルＭ１は多変数回帰モデル、アンサンブル回帰モデル、またはハイブリッド回帰モデルである。たとえば、性能モデルＭ１は、以下の式（１）で表されてもよい。
Ｐ＝Ｍ（Ａ，Ｆ，Ｓ）・・・・・・・・・・（１）
「Ｐ」は性能であり、「Ａ」はアプリケーション情報であり、「Ｆ」はフレームワーク情報であり、「Ｓ」はシステム情報である。たとえば、性能は実行時間であってもよい。
【００２６】
ステップＳ１３０において、処理ユニット１２０は、性能モデルＭ１にしたがって、アプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１を取得する。たとえば、処理ユニット１２０は、以下の式（２）にしたがって、アプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１を取得する。性能モデルにおいては、Ｙは、当該性能モデルの性能値を最大化した値である。アプリケーション実行時間モデルにおいては、Ｙは、当該アプリケーション実行時間モデルの時間の値を最小化した値である。
【００２７】
【数１】
2017117242.tif 000005
・・・・・・・・・・（２）
Ｙは、「Ａ」、「Ｆ」、および「Ｓ」の集合である。このステップにおいて、アプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１は、所定の制限された条件「ｈｊ（Ａ｜Ｆ｜Ｓ）≧ｂｊ  ここで  ｊ＝１  から  ｎ」を満たして計算される。各制約は、単一の制限であってもよいし、または、いくつかの制限の組み合わせであってもよい。たとえば、ｈ１≦３２は、単一の制限であり、ｈ２≧２は単一の制限である。ｈ３≧２、ｈ３＝ｈ３１＋ｈ３２は、２つの制限の組み合わせである。ｈ５≦ｈ４は、従属制限である。
【００２８】
ステップＳ１４０において、処理ユニット１２０はアプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１を出力し、通信ユニット１１０は、アプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１を、たとえばネットワーク９００を介して、クラスタ２００に送信する。こうして、クラスタ２００は、アプリケーションパラメータ設定ＡＰＳ１およびシステム仕様設定ＳＳＳ１にしたがって、調整され得る。
【００２９】
図２および図３を参照されたい。図３は、他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステム１００を示す。この実施形態において、通信ユニット１１０は、アプリケーション情報ＡＩ２、フレームワーク情報ＦＩ１、システム情報ＳＩ１を受信する。たとえば、性能、アプリケーション情報ＡＩ２、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ１の関係を含む性能モデルＭ２は、記憶ユニット１３０内に記憶されていない。したがって、ステップＳ１２０の実行後、処理はステップＳ１５０へ進む。
【００３０】
ステップＳ１５０において、処理ユニット１２０は、アプリケーション情報ＡＩ２に対応するログファイルが、記憶ユニット１３０に既に記録されているかどうかを判定する。ログファイルが記憶ユニット１３０内既に記録されている場合、処理は、ステップＳ１６０へ進む。ログファイルが記憶ユニット１３０に記録されていない場合、処理は、ステップＳ１７０へ進む。この実施形態において、アプリケーション情報ＡＩ２に対応するログファイルは、記憶ユニット１３０に既に記録されている。したがって、処理は、ステップＳ１６０へ進む。
【００３１】
ステップＳ１６０において、処理ユニット１２０は、上記ログファイルにしたがって、性能モデルＭ２を生成する。ログファイルは、各フェーズにおける実行時間、および処理されたデータ量を含む実行履歴を記録する。そして、処理は、性能モデルＭ２にしたがって、アプリケーションパラメータ設定ＡＰＳ２およびシステム仕様設定ＳＳＳ２を取得するために、ステップＳ１３０へ進む。
【００３２】
他の実施形態において、ログファイルは、記憶ユニット１３０に記録されていない。この場合、処理は、ステップＳ１７０へ進む。ステップＳ１７０において、処理ユニット１２０は、所定の規則にしたがって、アプリケーションパラメータ設定ＡＰＳ２およびシステム仕様設定ＳＳＳ２を取得する。上記所定の規則は、並列計算性相関パラメータ（ＣＰＲＰ；computational parallelism relative parameter）、メモリ使用量相関パラメータ（ＭＵＲＰ；memory utilization relative parameter）、ディスク使用量相関パラメータ（ＤＵＲＰ；disk utilization relative parameter）、および戦略上の、方策およびその他のパラメータ（ＳＰＭＣ；strategically, policy and miscellaneous parameter）に応じて設定される。
【００３３】
こうして、クラスタ２００は、アプリケーションパラメータ設定ＡＰＳ２およびシステム仕様設定ＳＳＳ２によって、調整され得る。
【００３４】
図４を参照されたい。図４は、他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステム１００を示す。この実施形態において、他のクラスタ３００が新たに確立される。したがって、ユーザはクラスタ３００のシステム仕様設定ＳＳＳ３を知る必要がある。
【００３５】
図２の方法を実行することにより、通信ユニット１１０は、クラスタ２００から、アプリケーション情報ＡＩ１、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ１を受信して、性能モデルＭ１を生成することができる。そして、通信ユニット１１０は、クラスタ３００から、アプリケーション情報ＡＩ３、フレームワーク情報ＦＩ３、およびシステム情報ＳＩ３を受信することができる。アプリケーション情報ＡＩ３がアプリケーション情報ＡＩ１と同一であるかどうかは、記憶ユニット１３０に記憶された、ハッシュコードおよびチェックサムなどのようないくつかのデータと、フレームワーク情報ＦＩ３とにしたがって判定できる。そして、処理ユニット１２０は、性能モデルＭ１にしたがって、アプリケーションパラメータ設定ＡＰＳ３およびシステム仕様設定ＳＳＳ３を取得できる。つまり、性能モデルＭ１は、クラスタ２００に応じて生成され、クラスタ２００に応じて生成された当該性能モデルＭ１は、新たに確立されたクラスタ３００のアプリケーションパラメータ設定ＡＰＳ３およびシステム仕様設定ＳＳＳ３を取得するために用いられる。
【００３６】
図５を参照されたい。図５は、他の実施形態に係る、分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステム１００を示す。この実施形態において、性能、アプリケーション情報ＡＩ４、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ１の関係を含む性能モデルＭ４は、記憶ユニット１３０に既に記憶されている。この実施形態において、クラスタ３００は既に確立されているが、アプリケーション情報ＡＩ４に対応するアプリケーションは、クラスタ３００内で以前に実行されていない。ユーザは、クラスタ３００について、アプリケーションパラメータ設定ＡＰＳ４を知る必要がある。
【００３７】
図２の方法を実行することにより、通信ユニット１１０は、クラスタ３００から、アプリケーション情報ＡＩ４、フレームワーク情報ＦＩ１、およびシステム情報ＳＩ４を受信することができる。そして、処理ユニット１２０は、性能モデルＭ４にしたがって、アプリケーションパラメータ設定ＡＰＳ４およびシステム仕様設定ＳＳＳ４を取得することができる。つまり、性能モデルＭ４は、記憶ユニット１３０に記憶され、当該性能モデルＭ４は、クラスタ３００のアプリケーションパラメータ設定ＡＰＳ４およびシステム仕様設定ＳＳＳ４を取得するために用いられる。
【００３８】
この開示において、アプリケーションパラメータ設定およびシステム仕様設定は、アプリケーション情報、フレームワーク情報、およびシステム情報によって取得され得る。新たに確立されたクラスタのアプリケーションパラメータ設定およびシステム仕様設定は、存在するクラスタの性能モデルにしたがって取得され得る。さらに、クラスタが、以前に実行されていないアプリケーションを実行する必要があるとき、このクラスタのアプリケーションパラメータ設定およびシステム仕様設定は、以前にこのアプリケーションを実行した他のクラスタに応じて生成された性能モデルにしたがって取得され得る。
【００３９】
さまざまな変更および変形が、開示された実施形態に対してなされ得ることは、当業者にとって明白であろう。詳細事項および具体例は、以下の特許請求の範囲およびそれらの等価物によって示されている本開示の真の範囲についての単なる例示としてのみ捉えられることが意図されている。
【図１】
2017117242.tif 000006
【図２】
2017117242.tif 000007
【図３】
2017117242.tif 000008
【図４】
2017117242.tif 000009
【図５】
2017117242.tif 000010
【手続補正書】
【提出日】平成29年2月22日(2017.2.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法であって、
アプリケーション情報、フレームワーク情報、およびシステム情報を受信するステップと、
性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、記憶ユニットに記憶されているかどうかを判定するステップと、
上記性能モデルが上記記憶ユニットに記憶されている場合に、上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得するステップと、
上記性能モデルが上記記憶ユニットに記憶されていない場合に、ログファイルが既に記録されているかどうかを判定するステップと、
上記ログファイルが既に記録されている場合に、上記ログファイルにしたがって上記性能モデルを生成するステップと、
上記ログファイルが記録されていない場合に、所定の規則にしたがって、上記アプリケーションパラメータ設定および上記システム仕様設定を取得するステップと、
を含むことを特徴とする方法。
【請求項２】
上記性能モデルは、多変数回帰モデル、アンサンブル回帰モデル、またはハイブリッド回帰モデルであり、
上記アプリケーション情報は、アプリケーション名、ハッシュコード、チェックサム、プロファイル、アプリケーションのメタデータ、プログラムＩＤ、およびリソース性能を含み、
上記フレームワーク情報は、並列処理、リソース設定、リソース管理計画、データ管理計画、計算モデルを調整可能であるパラメータ、およびサポートされた環境の制御パラメータを含み、
上記システム情報は、システムハードウェアの仕様およびシステムソフトウェアの仕様を含むことを特徴とする請求項１に記載の方法。
【請求項３】
上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得する上記ステップにおいて、上記アプリケーションパラメータ設定および上記システム仕様設定は、所定の制限された条件を満たして計算されることを特徴とする請求項１に記載の方法。
【請求項４】
上記性能モデルは、第１のクラスタに応じて生成され、上記第１のクラスタに応じて生成された上記性能モデルは、第２のクラスタのアプリケーションパラメータ設定およびシステム仕様設定を取得するために用いられることを特徴とする請求項１に記載の方法。
【請求項５】
分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨するシステムであって、
アプリケーション情報、フレームワーク情報、およびシステム情報を受信する通信ユニットと、
記憶ユニットと、
性能、上記アプリケーション情報、上記フレームワーク情報、および上記システム情報の関係を含む性能モデルが、上記記憶ユニットに記憶されているかどうかを判定し、上記性能モデルが、上記記憶ユニットに記憶されている場合に、上記性能モデルにしたがって上記アプリケーションパラメータ設定および上記システム仕様設定を取得する処理ユニットとを備えており、
上記処理ユニットは、上記性能モデルが、上記記憶ユニットに記憶されていない場合に、ログファイルが上記記憶ユニットに記録されているかどうかをさらに判定し、
上記処理ユニットは、上記ログファイルが記録されている場合に、上記ログファイルにしたがって上記性能モデルを生成し、
上記処理ユニットは、上記ログファイルが記録されていない場合に、所定の規則にしたがって、上記アプリケーションパラメータ設定および上記システム仕様設定をさらに取得することを特徴とするシステム。
【請求項６】
上記性能モデルは、多変数回帰モデル、アンサンブル回帰モデル、またはハイブリッド回帰モデルであり、
上記アプリケーション情報は、アプリケーション名、ハッシュコード、チェックサム、プロファイル、アプリケーションのメタデータ、プログラムＩＤ、およびリソース性能を含み、
上記フレームワーク情報は並列処理、リソース設定、リソース管理計画、データ管理計画、計算モデルを調整可能であるパラメータ、およびサポートされた環境の制御パラメータを含み、
上記システム情報は、システムハードウェアの仕様およびシステムソフトウェアの仕様を含むことを特徴とする請求項５に記載のシステム。
【請求項７】
上記処理ユニットは、所定の制限された条件を満たして、上記アプリケーションパラメータ設定および上記システム仕様設定を計算することを特徴とする請求項５に記載のシステム。
【請求項８】
上記処理ユニットは、第１のクラスタに応じて上記性能モデルを生成し、上記第１のクラスタに応じて生成された上記性能モデルにしたがって、第２のクラスタのアプリケーションパラメータ設定およびシステム仕様設定を取得することを特徴とする請求項５に記載のシステム。
【外国語明細書】
2017117242000001.pdf