(57)【特許請求の範囲】
【請求項１】
複数の処理装置を備え，特定のアプリケーションによりパラメータの値ごとに内容の異なる解析を多数行う場合に，個々の解析を前記処理装置に割り当てて処理する並列実行システムにおいて，
個々の解析の内容を特徴付けるパラメータの値を抜き出して保存し蓄積するパラメータ収集手段と，
個々の解析を実行した処理装置の情報と実行時間の値を抜き出して保存し蓄積するログ収集手段と，
前記パラメータの値ごとに対応する入力データを，当該解析を割り当てる処理装置に配る入力データ分配手段と，
前記各処理装置が解析した結果データを集約した結果を出力する結果データ収集手段と，
前記パラメータ収集手段で収集したパラメータの値と，前記ログ収集手段で収集したログ情報とから，個々の解析の実行時間を予測するモデルを作成する予測モデル作成手段と，
前記予測モデル作成手段が作成した予測モデルにより，処理が済んでいない解析の実行時間を予測し，予測された実行時間に基づいて，どの解析を，どの処理装置で，どの順番で行うかについて決定し，実行すべき解析を処理装置に割り当てる解析割り当て手段とを備え，
前記解析割り当て手段は，予測される実行時間がより長い解析をより早い順番で処理装置に割り当てるとともに，個々の解析が処理装置で実際に終了し，次の解析を処理装置に割り当てる時点で，次の順番の解析とその次の順番の解析とで順番を入れ換えて，全体の処理時間を短くする見込みが高いか低いかを判断し，その見込みが高い場合には，解析の順番を入れ換えて，解析の割り当て順序を動的に変更する
ことを特徴とする並列実行システム。
【請求項２】
請求項１に記載の並列実行システムにおいて，
前記予測モデル作成手段は，個々の解析の実行時間を予測するモデルを作成する予測手法として，決定木のアルゴリズム，ＭＢＲのアルゴリズム，重回帰分析のアルゴリズム，もしくはニューラルネットワークのアルゴリズムのいずれか一つまたは複数のアルゴリズムを用いて予測モデルを作成する
ことを特徴とする並列実行システム。
【請求項３】
請求項２に記載の並列実行システムにおいて，
前記予測モデル作成手段は，個々のアプリケーションに対して，いくつか異なる予測手法により予測モデルを作成した場合に，予測値と実測値の差の二乗和または交差検定の手段により予測精度を評価し，アプリケーションに適し，最良の精度を実現する予測手法によって作成したものを予測モデルとする
ことを特徴とする並列実行システム。
【請求項４】
請求項１，請求項２または請求項３に記載の並列実行システムにおいて，
前記パラメータの値ごとに内容の異なる解析は，構造解析の応力最適化計算における寸法と応力の最適値との関係もしくは応力が最適な場合の寸法，最適値，最適化された形状を求めるための解析，計算化学の構造最適化計算における原子配置と物理量の最適値との関係もしくは物理量が最適な場合の値と最適化された分子構造を求めるための解析，または統計処理の交差検定における精度が最も良いモデルもしくはモデルの精度のばらつきを求めるための解析である
ことを特徴とする並列実行システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，並列実行環境において特定のアプリケーションによりパラメータの値ごとに内容の異なる解析を多数行う場合に，個々の解析を並列計算機の各処理装置に動的に割り当て，全体の処理を高速に効率的に行う並列実行システムに関する。
【０００２】
構造解析や計算化学などの科学技術計算や統計処理などのビジネス計算の分野において，パラメータの値ごとに内容の異なる解析を特定のアプリケーションにより多数行い，パラメータの値ごとに得られた解析結果を総合的に判断する処理が広く行われている。
【０００３】
このような処理では個々の解析は独立しており，並列計算機の要素である一つまたは複数の処理装置で実行することが可能であるが，これらの処理装置に対する解析の割り当て方によっては，処理の全体の実行時間が変わってくるため，実行時間を最短にするような割り当てをすることが重要である。本発明は，このような並列実行環境において，全体としての実行開始から実行終了までの時間を最短にするための技術を提供するものである。
【０００４】
【従来の技術】
計算機システムにおいて，特定のアプリケーションによりパラメータの値ごとに内容の異なる解析を多数行い，パラメータの値ごとに得られた解析結果を総合的に判断するような処理を行う場合に，処理装置が１台しかないときには，パラメータの数だけの解析を順々に１台の処理装置によって処理する。
【０００５】
一方，処理装置が複数ある場合には，従来，個々の解析の実行時間とは無関係に適当に決めた順番に従って，解析が割り当てられていない処理装置に対して解析を順々に割り当てて処理していた。
【０００６】
【発明が解決しようとする課題】
複数の処理装置で解析を行う場合，例えば，解析の処理の後半において，実行時間の長い解析が一部の処理装置において処理され，残りの処理装置が活用されていないような状況が生じることがある。このように，処理装置ごとの処理量にばらつきが生じると，解析を均等に処理装置に割り当てる場合に比べて，処理装置の稼働率が低下し，全体としての処理時間が長くなってしまう。
【０００７】
しかし，従来の技術では，個々の解析に必要と見込まれる実行時間を，解析の実際のパラメータを考慮して予測することは行っていないため，個々の解析に要する実行時間が分からず，パラメータの数だけある解析のうち，どの解析を，どの順番で，どの処理装置に割り当てれば，処理装置ごとの処理量のばらつきをなくして全体の処理時間を短くできるか，といった戦略を立てることができなかった。
【０００８】
本発明の目的は，並列実行環境を持つ計算機システムにおいて，パラメータの値ごとに内容の異なる解析を特定のアプリケーションにより複数の処理装置で多数実行する場合に，解析の内容を特徴付けるパラメータの値をもとに，個々の解析の実行時間を予測し，この予測をもとに個々の解析を処理装置に割り当て，全体の処理時間が最短となるようにすることである。
【０００９】
【課題を解決するための手段】
図１は本発明の原理ブロック図である。
本システムは，各々ＣＰＵとメモリとを備えた解析割り当て処理装置１０と複数の処理装置２０とからなる。解析割り当て処理装置１０は，入力データ分配部１，パラメータ収集部２，ログ収集部３，予測モデル作成部４，解析割り当て部５，結果データ収集部６，順番テーブル７，処理装置テーブル８を持つ。
【００１０】
入力データ分配部１は，パラメータの値ごとに対応する入力データを，その解析（解析ａ）が割り当てられている処理装置２０に配る手段である。
パラメータ収集部２は，アプリケーションの名前や，実行時間に影響のある解析方法や解析規模などの個々の解析の内容を特徴付ける解析ごとのパラメータの値（パラメータｐ）を抜き出して保存し蓄積する手段である。
【００１１】
ログ収集部３は，個々の解析が実行される処理装置２０−１，２０−２，…，２０−ｍの資源や性能の情報ｃ−１，ｃ−２，…，ｃ−ｍと実行時間の値ｔ−１，ｔ−２，…，ｔ−ｍを抜き出して保存し蓄積する手段である。
【００１２】
予測モデル作成部４は，パラメータ収集部２で収集したパラメータｐと，ログ収集部３で収集した処理装置２０の資源や性能の情報ｃ−１，ｃ−２，…，ｃ−ｍと実行時間の値ｔ−１，ｔ−２，…，ｔ−ｍとから，個々の解析の実行時間を予測するモデルを作成し，解析割り当て部５の必要に応じて予測モデルを渡す手段である。
【００１３】
具体的には，予測モデル作成部４は，個々の解析の実行時間を予測するモデルを作成する予測手法として，決定木のアルゴリズム，ＭＢＲのアルゴリズム，重回帰分析のアルゴリズム，もしくはニューラルネットワークのアルゴリズムのいずれかのアルゴリズムを用い，またはこれらのうち２以上のアルゴリズムを組み合わせて用いて予測するモデルを作成する。また，予測モデル作成部４は，個々のアプリケーションに対して，いくつかの異なる予測手法により予測モデルを作成した場合には，予測値と実測値の差の二乗和や交差検定などの手段により予測精度を評価し，そのアプリケーションに適し，最良の精度を実現する予測手法によって作成したものを，実際に使用する予測モデルとする。
【００１４】
解析割り当て部５は，解析が割り当てられていない処理装置２０の資源や性能の情報ｃと，処理が済んでいない解析ａのアプリケーションの名前やパラメータの値などから，解析の実行時間を予測し，予測される実行時間がより長い解析をより早い順番で処理装置２０に割り当てるようにする。また，解析割り当て部５は，個々の解析が処理装置２０で実際に終了し，次の解析を処理装置２０に割り当てる時点で，次の順番の解析とその次の順番の解析とで順番を入れ換えて，全体の処理時間を短くする見込みが高いか低いかを判断し，見込みが高い場合には，解析の順番を入れ換えて解析の割り当て順序を動的に変更する。
【００１５】
結果データ収集部６は，パラメータｐごとに対応する結果データｄ−１，ｄ−２，…，ｄ−ｍを，その解析が割り当てられている処理装置２０−１，２０−２，…，２０−ｍから受け取り，それらを集約した処理全体の結果Ｒを出力する手段である。
【００１６】
順番テーブル７は，解析の割り当て順序を記録し，参照することのできる記憶領域である。
処理装置テーブル８は，個々の処理装置について，資源，性能，解析が割り当てられているかいないかのフラグ，解析が割り当てられている場合には，終了予測時刻を記録し参照することのできる記憶領域である。
【００１７】
本発明は，以下のように作用する。
入力データ分配部１は，処理全体の入力（解析ａ−１，ａ−２，…，ａ−ｎ）を受け取り，これらからパラメータｐの値を複写してパラメータ収集部２に渡す。併せて，処理全体の入力を解析ごとに分割し，解析割り当て部５に渡す。
【００１８】
ここで，処理全体の入力とは，ひとまとまりとなる処理の全入力データであって，内容の異なる解析ごとの入力の値（パラメータｐ）である。その内容は，例えばアプリケーション名ｎ，解析方法ｍ，解析規模ｓ，その他のパラメータｏからなる。
【００１９】
パラメータ収集部２は，入力データ分配部１から受け取ったパラメータｐを蓄積し，併せて，予測モデル作成部４にパラメータｐの情報を送る。
一方，ログ収集部３は，実際の解析に要した実行時間ｔ−１，ｔ−２，…，ｔ−ｍと処理装置の資源や性能の情報ｃ−１，ｃ−２，…，ｃ−ｍを，処理装置２０−１，２０−２，…，２０−ｍから受け取り，蓄積し，それらの情報を予測モデル作成部４に送る。
【００２０】
予測モデル作成部４は，パラメータ収集部２からパラメータｐを受け取り，また，ログ収集部３から実行時間ｔ−１，ｔ−２，…，ｔ−ｍ，処理装置の資源や性能の情報ｃ−１，ｃ−２，…，ｃ−ｍを受け取り，これらの情報から，解析が特定の資源や性能の状況にある処理装置で行われる場合の実行時間を予測するための予測モデルを作成し，予測モデルを解析割り当て部５に渡す。
【００２１】
解析割り当て部５は，予測モデル作成部４から受け取った予測モデルを用い，未実行の解析について，解析ａ−１，ａ−２，…，ａ−ｎの情報（アプリケーションの名前や解析方法や解析規模のパラメータなど）と，解析が割り当てられていない処理装置の資源や性能の情報ｃ−１，ｃ−２，…，ｃ−ｍをもとに，実行時間を予測し，全体の処理時間ができる限り短くなるように，実行する順序や処理装置を決定して，割り当てを行う。また，必要であれば，個々の処理装置の資源，性能，解析が割り当てられているかいないかのフラグ，解析が割り当てられている場合の終了予測時刻が保持されている処理装置テーブル８を参照する。決定された解析を実行する順番は順番テーブル７に保持される。
【００２２】
結果データ収集部６は，処理装置２０−１，２０−２，…，２０−ｍから解析した結果データｄ−１，ｄ−２，…，ｄ−ｍを受け取って集約し，処理全体の結果Ｒを出力する。
【００２３】
なお，図１の例では，解析割り当て処理装置１０と複数の処理装置２０とを別の装置として示しているが，解析割り当て処理装置１０の機能を複数の処理装置２０の中の１台もしくは複数台が担当する構成としても，同様に本発明を実施することができる。
【００２４】
【発明の実施の形態】
以下に，本発明の実施の形態について，各手段ごとに詳しく説明する。
〔１〕入力データ分配部
図２は，入力データ分配部の説明図である。
【００２５】
処理全体の入力として，３種の解析ａ−１，ａ−２，ａ−３があり，各解析の入力値であるパラメータｐとして，アプリケーション名ｎ，解析方法ｍ，解析規模ｓ，その他のパラメータｏを持つとする。これらのパラメータｐは，解析の内容を特徴付け，実行時間に影響を与えるパラメータである。
【００２６】
入力データ分配部１は，処理全体の入力（解析ａ−１，ａ−２，ａ−３）を受け取り，パラメータｐ−１，ｐ−２，ｐ−３の値をコピーして，パラメータ収集部２に渡す。同時に処理全体の入力（解析ａ−１，ａ−２，ａ−３）を，解析ごとに分割して，解析割り当て部５に渡す。
【００２７】
〔２〕パラメータ収集部
図３は，パラメータ収集部の説明図である。
パラメータ収集部２は，入力データ分配部１から，パラメータｐ−１，ｐ−２，ｐ−３を受け取り，蓄積する。併せて，予測モデル作成部４にこれらの情報を送る。
【００２８】
〔３〕ログ収集部
図４は，ログ収集部の説明図である。
ログ収集部３は，解析に要した実行時間ｔ−１，ｔ−２と処理装置の資源や性能の情報ｃ−１，ｃ−２を，処理装置２０−１，２０−２から受け取り，蓄積する。併せて，これらの情報を予測モデル作成部４に送る。
【００２９】
図５は，ログ収集部が収集するログの構成例を示す図である。
ログ収集部３は，図５に示すように，各処理装置における実際に解析に要した実行時間と，処理装置の資源や性能の情報と，その解析が使用したパラメータなどの値を収集し記憶する。処理装置の資源や性能の情報は，例えばＣＰＵの速さ，メモリ容量，ディスクスペースなどである。
【００３０】
〔４〕解析割り当て部・順番テーブル・処理装置テーブル
図６は，解析割り当て部の説明図である。
解析割り当て部５は，予測モデル作成部４から受け取った予測モデルを用いて，未実行の解析について，解析（アプリケーションの名前，解析方法や解析規模のパラメータなどのデータ）と，解析が割り当てられていない処理装置からの資源や性能の情報をもとに，実行時間を予測し，全体の処理時間ができる限り短くなるように，実行する順序や処理装置を決定して，割り当てを行う。
【００３１】
順番テーブル７には，後述する解析の割り当て戦略に基づいて決定された解析を実行する順番が保持される。
処理装置テーブル８には，個々の処理装置の資源，性能，解析が割り当てられているかいないかのフラグ，解析が割り当てられている場合の終了予測時刻が保持される。
【００３２】
解析の割り当て戦略は，以下で説明するフェーズ１とフェーズ２において決定される。フェーズ１は，ひとまとまりの処理に属する解析が解析割り当て部５に投入される時点で行われ，フェーズ２は，解析が処理装置２０で終了し，次の解析の割り当てを行う時点で行われる。
【００３３】
（１）解析の割り当て戦略（フェーズ１）
フェーズ１では，まず，処理装置テーブル８を参照し，解析が割り当てられていない処理装置があるかないかを調べる。解析が割り当てられていない処理装置がある場合には，その処理装置の性能，資源の情報を調べる。その状況で可能な最良の構成の処理装置を用いた場合について，未実行の個々の解析に必要と見込まれる実行時間を予測する。実行時間の予測値の最も長い解析をその処理装置に割り当て，処理装置テーブル８の解析が割り当てられているかいないかのフラグを割り当てられていると設定し，終了予測時刻を実行時間の予測値から見込まれる時刻で書き換える。
【００３４】
解析が割り当てられていない処理装置に残りがあり，未実行の解析がある場合には，同様に実行時間の予測を行い，実行時間の予測値の長い解析から順に，処理装置に割り当て，処理装置テーブル８を同様の方法で書き換えていく。
【００３５】
解析が割り当てられていない処理装置に残りがなく，未実行の解析がある場合には，次の「方法１」または「方法２」のいずれかの方法で，順番テーブル７に値を埋める。
【００３６】
▲１▼  方法１
処理装置テーブル８の内容を，作業用処理装置テーブル（図示しない）にコピーする。
【００３７】
作業用処理装置テーブルから，次に解析が終了すると予測される処理装置を調べる。その処理装置の資源，性能の状況で可能な最良の構成の処理装置を用いた場合について，個々の未実行の解析を割り当てた場合の実行時間の予測値を計算する。予測値の最も長い解析を１番とし，順番テーブル７に記録し，作業用処理装置テーブルの該当する処理装置の終了予測時刻の部分を，予測値から見込まれる時刻で書き換える。
【００３８】
以後，同様の方法で，次に解析が終了すると予測される処理装置を作業用処理装置テーブルから調べ，未実行かつ順番が付けられていない解析の実行時間を予測し，予測値の最も長い解析を調べ，順番テーブル７のその解析の該当箇所に番号を記録し，作業用処理装置テーブルの終了予測時刻を書き換えていく。
【００３９】
▲２▼  方法２
典型的な処理装置を選び，その処理装置の資源，性能において，未実行の解析を割り当てた場合の実行時間を予測する。予測値の大きなものから順に，対応する解析に対して１から順番に昇順で番号を付け，順番テーブル７に記録する。
【００４０】
（２）解析の割り当て戦略（フェーズ２）
フェーズ２では，まず，解析の割り当てられていない処理装置の性能，資源の情報を処理装置テーブル８から調べる。この状況において，以下に述べる方法で時刻Ａと時刻Ｂを求める。
【００４１】
▲１▼  時刻Ａの求め方
順番テーブル７に１番と記録されている解析を実行する場合の実行時間を予測し，終了予測時刻（Ｔ１）を求める。次に解析が終了する処理装置を，処理装置テーブル８と時刻Ｔ１とから調べる。その処理装置で，順番テーブル７に２番と記録されている解析を実行する場合の実行時間を予測し，終了予測時刻（Ｔ２）を求める。時刻Ｔ１と時刻Ｔ２の遅い方を時刻Ａとして保持する。
【００４２】
▲２▼  時刻Ｂの求め方
順番テーブル７に２番と記録されている解析を実行する場合の実行時間の予測値を計算し，終了予測時刻（Ｔ３）を求める。次に解析が終了すると見込まれる処理装置を，処理装置テーブル８とＴ３とから調べる。その処理装置で，順番テーブル７に１番と記録されている解析を実行する場合の実行時間を予測し，終了予測時刻（Ｔ４）を求める。時刻Ｔ３と時刻Ｔ４との遅い方を時刻Ｂとして保持する。
【００４３】
時刻Ａが時刻Ｂより遅い場合，順番が２番の解析を処理装置に割り当てる。その他の場合，順番が１番の解析を処理装置に割り当てる。処理装置テーブル８の該当処理装置の部分について，解析が割り当てられているかいないかのフラグと，終了予測時刻を書き換える。順番テーブル７において，順番１番または２番の残った方を順番１番とし，順番３番以降の番号を１ずつ小さくした番号として書き換える。
【００４４】
〔５〕予測モデル作成部
図７は，予測モデル作成部の説明図である。
予測モデル作成部４は，パラメータ収集部２からパラメータｐの情報を受け取り，また，ログ収集部３から実行時間ｔと，処理装置の資源や性能の情報ｃを受け取り，これらの情報から解析が特定の資源や性能の状況にある処理装置で行われる場合の実行時間を予測する予測モデルを作成し，予測モデルを解析割り当て部５に渡す。
【００４５】
予測のアルゴリズムとしては，決定木，ＭＢＲ（Memory Based Reasoning) ，ニューラルネットワーク，重回帰分析を使用する。予測のアルゴリズムは，いずれも解析の方法，解析の規模を特徴付けるパラメータの値，処理装置の性能，資源を入力とし，解析の実行時間の予測値を出力とする。また，予測モデルは使用するアプリケーションごとに別のものを用意する。
【００４６】
予測のアルゴリズムを複数利用できる場合には，アプリケーションごとにどの予測のアルゴリズムが適しているかを，予測値と実測値の差の二乗和や交差検定などの方法により予測モデルの精度を評価することで決定し，解析割り当て部５において，個々のアプリケーションに最適な予測のアルゴリズムによって作成された予測モデルを使用できるようにする。
【００４７】
各アルゴリズムによる予測方法の詳細は，次の通りである。
（１）決定木
図８は，解析の実行時間を予測する決定木の例を示す図である。
【００４８】
過去に実行した解析について，パラメータ収集部２で収集した，解析の規模（例えば，レコード件数），解析の方法に関するデータと，ログ収集部３で収集した処理装置の性能，資源のデータや実行時間に関するデータとを入力とし，解析の実行時間を決定属性，それ以外のデータを条件属性として，決定木を一般的な手法で作成する。
【００４９】
個々の解析の実行時間の予測は，パラメータ収集部２で収集した解析の規模，解析の方法のデータと，処理装置テーブル８から調べた解析を割り当てられていない処理装置の性能，資源のデータとを決定木に当てはめ，対応する経路を調べ，末端の実行時間を読み取ることで行う。
【００５０】
予測モデルは決定木であり，決定木はアプリケーションのそれぞれについて用意する。予測の評価は，予測値と実測値の差の二乗和や，交差検定の方法により行う。
【００５１】
（２）ＭＢＲ（Memory Based Reasoning)
ＭＢＲでは，過去に実行した解析に関する大量のデータを，これから実行時間を予測する解析のデータとつきあわせて，処理装置の性能，資源，解析の規模，解析の方法などのデータの値がより多く一致しているものを検索し，類似データとする。この類似データの実行時間を読み取り，対象の解析の実行時間の予測値とする。
【００５２】
予測モデルとしては，過去に実行した解析のデータと検索の仕組みが相当する。データと検索の仕組みは，アプリケーションのそれぞれについて用意する。予測の評価は，交差検定の方法により行う。
【００５３】
（３）ニューラルネットワーク
下に示す式は，ニューラルネットワークの原理式の例である。
Ｔ＝Ａ×ｆ（Ｐ）＋Ｂ
Ｐ＝ΣＵi Ｑi −Ｖ
Ｑi ＝ｆ（Ｒi ）
Ｒi ＝Σ（ＷijＳj −Ｚi ）
ここで，Ｔは実行時間，Ａ，Ｂはスケーリングの係数，Ｕi ，Ｖ，Ｗij，Ｚi はニューラルネットワークの係数，Ｓj は入力変数，Ｐ，Ｑi ，Ｒi は中間変数，ｆはシグモイド関数である。
【００５４】
過去に実行した解析について，処理装置の性能，資源，解析の規模，解析の方法を数値化したものをＳj とし，そのそれぞれの解析についての実行時間をＴとする。ニューラルネットワークの一般的な手法を用いることにより，Ｕj ，Ｖ，Ｗij，Ｚi の値を決定し，また，過去に実行した解析の実行時間の値域からＡとＢを決定し，式を完成させる。
【００５５】
実行時間の予測は，予測対象の解析と処理装置の状況に応じて，処理装置の性能，資源，解析の規模，解析の方法を求め，数値化し，Ｓj として入力し，上式を計算することにより行う。
【００５６】
予測モデルは上記の式であり，式はアプリケーションのそれぞれについて用意する。予測の評価は，予測値と実測値の差の二乗和や，交差検定の方法により行う。
【００５７】
（４）重回帰分析
下に示す式は，重回帰分析の原理式の例である。
Ｔ＝Ｓ＋ΣＡi Ｂi 
ここで，Ｔは実行時間，Ｓは定数項，Ａi は重回帰分析の係数，Ｂi は入力変数である。
【００５８】
過去に実行した解析について，処理装置の性能，資源，解析の規模，解析の方法に関するデータを数値化し，それをＢi とし，そのそれぞれの実行時間をＴとする。重回帰分析の一般的な手法を用いて，係数Ａi と定数項Ｓを決定し，上式を完成させる。
【００５９】
実行時間の予測は，予測対象の解析と処理装置の状況に応じて，処理装置の性能，資源，解析の規模，解析の方法を求め，数値化してＢi として入力し，上式を計算することにより行う。
【００６０】
予測モデルは上記の式であり，式はアプリケーションのそれぞれについて用意する。予測の評価は，予測値と実測値の差の二乗和や，交差検定の方法により行う。
【００６１】
〔６〕結果データ収集部
図９は，結果データ収集部の説明図である。
結果データ収集部６は，処理装置２０−１，２０−２が解析した結果データｄ−１，ｄ−２を受け取り，集約して処理全体の結果Ｒを出力する。
【００６２】
【実施例】
本発明を実際の解析に適用した実施例として，構造解析の応力最適化計算，計算化学の構造最適化計算，および統計処理の交差検定に適用した例をとりあげて説明する。
【００６３】
〔１〕構造解析の応力最適化計算
図１０は，構造解析の応力最適化計算の実施例を説明する図である。
構造解析の応力最適化計算では，寸法の異なる形状の物体について，応力最適化計算を行い，個々の形状ごとに最適化された状態での応力値などを調べ，寸法と応力の最適値との関係や応力が最適な場合の寸法，最適値，最適化された形状を求める処理を行う。
【００６４】
ひとまとまりの処理のうち，寸法の異なる形状に対する計算を個々の解析として区別する。形状を離散化する際の自由度の数を解析の規模とし，ソルバの種類で解析の方法を区別する。解析が割り当てられていない処理装置の性能と資源のデータを処理装置テーブル８から得る。
【００６５】
解析の割り当ては，上述の解析の規模，解析の方法，処理装置の性能，資源のデータを入力とし，アプリケーションの名前に応じた予測モデルを用いることで解析の実行時間の予測値を求め，前述する解析の割り当て戦略に従って行う。
【００６６】
解析の終了後，処理装置の性能，資源，実際にかかった実行時間のデータは，ログ収集部３において蓄積し，後の予測モデル作成時に使用する。
ひとまとまりの処理に属する個々の解析の結果を収集し，寸法と応力の最適値との関係，応力が最適な場合の寸法，最適値，最適化された形状を全体結果として出力する。
【００６７】
〔２〕計算化学の構造最適化計算
図１１は，計算化学の構造最適化計算の実施例を説明する図である。
計算化学の構造最適化計算では，原子の配置を少しずつ変えた分子構造をもとに構造最適化計算を行い，原子配置と物理量の最適値との関係や物理量が最適となる場合の値と最適化された分子構造を求める処理を行う。
【００６８】
ひとまとまりの処理のうち，原子の配置の異なる分子構造に対する計算を個々の解析として区別する。
分子構造についての波動関数を展開する際の基底関数の数を解析の規模とし，エネルギーの正確さと計算アルゴリズムを解析の方法とする。
【００６９】
解析が割り当てられていない処理装置の性能と資源のデータを処理装置テーブル８から得る。
解析の割り当ては，上述の解析の規模，解析の方法，処理装置の性能，資源のデータを入力とし，アプリケーションの名前に応じた予測モデルを用いることで解析の実行時間の予測値を求め，前述の解析の割り当て戦略に従って行う。
【００７０】
解析の終了後，処理装置の性能，資源，実際にかかった実行時間のデータは，ログ収集部３において蓄積し，後の予測モデル作成時に使用する。
ひとまとまりの処理に属する個々の解析の結果を収集し，原子配置と物理量の最適値との関係，物理量が最適となる場合の値と最適化された分子構造を全体結果として出力する。
【００７１】
〔３〕統計処理の交差検定
図１２は，統計処理の交差検定の実施例を説明する図である。
統計処理の交差検定では，データをＮ個のグループに分けて，着目するグループ以外のデータから作成したモデルを着目するグループのデータで評価する処理を，着目するグループを取り換えてＮ通り行う。
【００７２】
ひとまとまりの処理のうち，着目するグループが異なる計算を個々の解析として区別する。個々の解析で，モデルを作成するのに使用するデータの数を解析の規模とし解析の詳しさを解析の方法とする。
【００７３】
解析が割り当てられていない処理装置の性能と資源のデータを処理装置テーブル８から得る。
解析の割り当ては，上述の解析の規模，解析の方法，処理装置の性能，資源のデータを入力とし，アプリケーションの名前に応じた予測モデルを用いることで，解析の実行時間の予測値を求め，前述の解析の割り当て戦略に従って行う。
【００７４】
解析の終了後，処理装置の性能，資源，実際にかかった実行時間のデータは，ログ収集部３において蓄積し，後の予測モデル作成時に使用する。
ひとまとまりの処理に属する個々の解析の結果を収集し，精度が最も良いモデルとモデルの精度のばらつきとを全体結果として出力する。
【００７５】
【発明の効果】
本発明によれば，パラメータの値ごとに内容の異なる多数の解析を効率よく並列に実行でき，全体の処理時間を短縮することができる。
【００７６】
具体的には，以下のような効果を奏する。
１）パラメータの値ごとに内容の異なる解析を，特定のアプリケーションで多数行う処理において，個々の解析を最適な処理装置に順番に割り当てることができ，処理装置の稼働率を向上させ，全体の処理時間の短縮が可能となる。
【００７７】
２）解析割り当て部では，解析が割り当てられていない処理装置の資源や性能の情報と，処理が済んでいない解析のアプリケーションの名前やパラメータの値から，解析の実行時間を予測し，どの解析を，どの処理装置で，どの順番で，行うかについて，予測される実行時間がより長い解析がより早い順番で処理装置に割り当てられるように決定することで，全体の処理時間を短くし，処理装置を有効に活用することができる。
【００７８】
３）解析割り当て部では，個々の解析が処理装置で実際に終了し，次の解析を処理装置に割り当てる時点で，次の順番の解析とその次の順番の解析とで，順番を入れ換えることにより全体の処理時間を短くする見込みが高いか低いかを判断し，見込みが高い場合には，解析の順番を入れ換えて解析の割り当て順序を動的に改善することにより，全体の処理時間を短くし，処理装置を有効に活用することができる。
【００７９】
４）パラメータ収集部で収集したパラメータとログ収集部で収集した実行時間の量とが増えれば増えるほど，予測モデル作成部で作成する予測モデルの精度が向上し，解析割り当て部において予測モデルを用いて行われる実行時間の予測精度が向上し，解析の割り当てが精度良く行えるようになる。
【００８０】
５）予測モデル作成部で予測モデルを作成し保存し，解析割り当て部での必要に応じて予測モデルを渡すことによって，解析割り当て部において予測モデルを作成する時間を不要とし，解析の実行時間を高速に予測することができる。
【００８１】
６）解析割り当て部ほどには高速性が要求されない予測モデル作成部において，精度が良い反面，時間がかかるアルゴリズムを使用して予測モデルを作成することができる。
【００８２】
７）個々のアプリケーションに対して，予測モデル作成部において，いくつか異なる予測手法により予測モデルを作成し，予測値と実測値の差の二乗和や交差検定などの手段により予測精度を評価し，アプリケーションに適し，最良の精度を実現する予測手法によって作成した予測モデルを用い，解析割り当て部において，解析の割り当てを精度よく行うことを可能とすることによって，全体の処理を高速化させることができる。
【００８３】
８）構造解析の応力最適化計算，計算化学の構造最適化計算，統計処理の交差検定において，パラメータの値ごとに内容の異なる解析を，複数ある処理装置で並列に処理することにより，全体の処理時間の短縮が可能となる。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】入力データ分配部の説明図である。
【図３】パラメータ収集部の説明図である。
【図４】ログ収集部の説明図である。
【図５】ログの構成例を示す図である。
【図６】解析割り当て部の説明図である。
【図７】予測モデル作成部の説明図である。
【図８】解析の実行時間を予測する決定木の例を示す図である。
【図９】結果データ収集部の説明図である。
【図１０】構造解析の応力最適化計算の実施例を説明する図である。
【図１１】計算化学の構造最適化計算の実施例を説明する図である。
【図１２】統計処理の交差検定の実施例を説明する図である。
【符号の説明】
１  入力データ分配部
２  パラメータ収集部
３  ログ収集部
４  予測モデル作成部
５  解析割り当て部
６  結果データ収集部
７  順番テーブル
８  処理装置テーブル
１０  解析割り当て処理装置
２０  処理装置
【図１】
0003792879.tif 000002
【図２】
0003792879.tif 000003
【図３】
0003792879.tif 000004
【図４】
0003792879.tif 000005
【図５】
0003792879.tif 000006
【図６】
0003792879.tif 000007
【図７】
0003792879.tif 000008
【図８】
0003792879.tif 000009
【図９】
0003792879.tif 000010
【図１０】
0003792879.tif 000011
【図１１】
0003792879.tif 000012
【図１２】
0003792879.tif 000013