(57)【要約】【課題】  複数の設計解析ジョブを高効率で処理できるように設計解析ジョブの実行を管理する設計解析ジョブ管理システムを提供する。【解決手段】  過去における解析時間の実績値と、実行中の設計解析ジョブの推定終了時間とを含むジョブ管理データベース３１を記憶する記憶装置１００と、ジョブ管理データに基づいて複数のＣＰＵに設計解析ジョブを割り当てる演算処理装置２００とを備え、演算処理装置は、設計解析ジョブ受付ユニット３４と、受け付けられた設計解析ジョブの解析時間の実績値に基づいて演算された、受け付けられた設計解析ジョブの推定終了時間と、実行中の設計解析ジョブの推定終了時間を比較して、複数のＣＰＵの内、実行中の設計解析ジョブの推定終了時間が演算された推定終了時間に略同じであるＣＰＵに受け付けられた設計解析ジョブを割り当てる設計解析ジョブ投入ユニット３２とを備える。【選択図】図３
2017010354.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを有するＣＰＵを複数個備える設計解析サーバによる設計解析ジョブの実行を管理する設計解析ジョブ管理システムにおいて、
過去において設計解析ジョブの実行に要した解析時間の実績値と、前記複数のＣＰＵが実行中の設計解析ジョブの推定終了時間と、を含むジョブ管理データを記憶する記憶装置と、
前記ジョブ管理データに基づいて、前記複数のＣＰＵに設計解析ジョブを割り当てる演算処理装置と、
を備え、
前記演算処理装置は、
外部から設計解析ジョブを受け付ける設計解析ジョブ受付ユニットと、
前記受付ユニットによって受け付けられた設計解析ジョブの前記解析時間の実績値を前記記憶装置から読み出し、読み出された前記解析時間の実績値に基づいて、前記受け付けられた設計解析ジョブの推定終了時間を演算し、演算された推定終了時間と前記実行中の設計解析ジョブの推定終了時間を比較して、前記複数のＣＰＵの内、前記実行中の設計解析ジョブの推定終了時間が前記演算された推定終了時間に略同じであるＣＰＵに前記受け付けられた設計解析ジョブを割り当てる設計解析ジョブ投入ユニットと、
を備えることを特徴とする設計解析ジョブ管理システム。
【請求項２】
請求項１に記載の設計解析ジョブ管理システムおいて、
前記演算処理装置は、前記受け付けた設計解析ジョブが終了したら、前記受け付けられた設計解析ジョブの解析時間と前記記憶装置に記憶された過去の解析時間とに基づいて、前記ジョブ管理情報を更新するジョブ管理データ更新ユニットを備えることを特徴とする設計解析ジョブ管理システム。
【請求項３】
請求項２に記載の設計解析ジョブ管理システムおいて、
前記ジョブ管理データ更新ユニットは、前記受け付けられた設計解析ジョブの解析時間と前記記憶装置に記憶された過去の解析時間との平均値を演算し、演算された前記平均値に基づいて、前記ジョブ管理データに含まれる解析時間を更新することを特徴とする設計解析ジョブ管理システム。
【請求項４】
請求項２に記載の設計解析ジョブ管理システムおいて、
前記ジョブ管理情報更新ユニットは、前記受け付けられた設計解析ジョブの解析時間および前記記憶装置に記憶された過去の解析時間のばらつきに基づいて、前記ジョブ管理データに含まれる解析フェーズを更新することを特徴とする設計解析ジョブ管理システム。
【請求項５】
請求項１に記載の設計解析ジョブ管理システムにおいて、
前記設計解析ジョブ投入ユニットは、前記実行中の設計解析ジョブの推定終了時間が前記演算された推定終了時間と略同じである設計解析ジョブを実行中のＣＰＵを検索し、ヒットしたＣＰＵに前記受け付けられた設計解析ジョブを割り当て、検索がヒットしない場合、前記複数のＣＰＵの内の空いているコアに前記受け付けられた設計解析ジョブを割り当てることを特徴とする設計解析ジョブ管理システム。
【請求項６】
請求項１に記載の設計解析ジョブ管理システムにおいて、
前記設計解析ジョブ投入ユニットは、前記実行中の設計解析ジョブの推定終了時間の最小値および最大値間に前記演算された推定終了時間が含まれるような設計解析ジョブを実行中のＣＰＵを検索し、ヒットしたＣＰＵに前記受け付けられた設計解析ジョブを割り当て、検索がヒットしない場合、前記複数のＣＰＵの内の空いているコアに前記受け付けられた設計解析ジョブを割り当てることを特徴とする設計解析ジョブ管理システム。
【請求項７】
請求項１に記載の設計解析ジョブ管理システムにおいて、
前記設計解析ジョブ投入ユニットは、前記受け付けられた設計解析ジョブの情報が前記記憶装置に記憶された前記ジョブ管理データが含む情報と異なる場合、前記複数のＣＰＵの内の空いているコアに前記受け付けられた設計解析ジョブを割り当てることを特徴とする設計解析ジョブ管理システム。
【請求項８】
請求項１に記載の設計解析ジョブ管理システムにおいて、
前記設計解析ジョブ投入ユニットは、前記受け付けられた設計解析ジョブが特急指定の場合、前記複数のＣＰＵの内の空いているコアに前記受け付けられた設計解析ジョブを割り当てることを特徴とする設計解析ジョブ管理システム。
【請求項９】
複数のＣＰＵを有する設計解析サーバによる設計解析ジョブの実行を管理する設計解析ジョブ管理方法において、
外部から設計解析ジョブを受け付ける設計解析ジョブ受付ステップと、
前記受付ステップによって受け付けられた設計解析ジョブの過去における解析時間の実績値に基づいて、前記受け付けられた設計解析ジョブの推定終了時間を演算し、演算された推定終了時間と実行中の設計解析ジョブの推定終了時間を比較して、前記複数のＣＰＵの内、前記実行中の設計解析ジョブの推定終了時間が前記演算された推定終了時間に略同じであるＣＰＵに前記受け付けられた設計解析ジョブを投入する設計解析ジョブ投入ステップと、
を含むことを特徴とする設計解析ジョブ管理方法。
【請求項１０】
複数のコアを有するＣＰＵを複数個備える設計解析サーバと、
前記設計解析サーバによる設計解析ジョブの実行を管理する設計解析ジョブ管理システムと、
を備える設計解析シミュレーションシステムにおいて、
前記設計解析ジョブ管理システムは、
過去において設計解析ジョブの実行に要した解析時間の実績値と、前記複数のＣＰＵが実行中の設計解析ジョブの推定終了時間と、を含むジョブ管理データを記憶する記憶装置と、
前記ジョブ管理データに基づいて、前記複数のＣＰＵに設計解析ジョブを割り当てる演算処理装置と、
を備え、
前記演算処理装置は、
外部から設計解析ジョブを受け付ける設計解析ジョブ受付ユニットと、
前記受付ユニットによって受け付けられた設計解析ジョブの前記解析時間の実績値を前記記憶装置から読み出し、読み出された前記解析時間の実績値に基づいて、前記受け付けられた設計解析ジョブの推定終了時間を演算し、演算された推定終了時間と前記実行中の設計解析ジョブの推定終了時間を比較して、前記複数のＣＰＵの内、前記実行中の設計解析ジョブの推定終了時間が前記演算された推定終了時間に略同じであるＣＰＵに前記受け付けられた設計解析ジョブを割り当てる設計解析ジョブ投入ユニットと、
を備えることを特徴とする設計解析シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計解析ジョブの実行を管理する設計解析ジョブ管理システムおよび設計解析ジョブ管理方法、並びに設計解析ジョブ管理システムが用いられる設計解析シミュレーションシステムに関する。
【背景技術】
【０００２】
一般に、設計解析シミュレーションを実行するための解析プログラム、並びに解析を実行するコンピュータシステム（以下、設計解析シミュレーションシステムと記す）は高価なため、複数の設計者が、設計解析シミュレーションシステムを共同利用する。共同利用の方法として、設計者がバッチジョブ（以下、ジョブと呼ぶ）を設計解析シミュレーションシステムに対して任意の時間に投入する方法が多く用いられている。さらに、複数のジョブを効率的に実行するためにジョブ管理システムが用いられる。
【０００３】
特に、設計解析シミュレーションシステムを構成する複数のコンピュータシステムの性能をテーブル化（性能対比テーブル）し、解析モデルの規模に応じて作成したジョブキューイングテーブルと性能対比テーブルを比較することで、解析モデルの規模に応じて最適な性能を有するコンピュータシステムにジョブを投入するジョブ管理方法が提案されている（たとえば、特許文献１参照）。
【０００４】
さらに、複数のジョブを効率的に同時実行するジョブ管理システムを実現するために、予め作成済みのジョブ実行計画表を用いて、待機している複数のジョブの中から、実行可能なジョブを複数選択し、実行させるシステムがある（たとえば、特許文献２参照）。
【０００５】
また、設計解析対象である解析モデルの計算要素とメッシュ接点数から計算ジョブの実行時間を推定したジョブ管理テーブルを作成し、ジョブが投入される度に、ジョブ管理テーブルを参照することで解析時間を算出し、設計者に解析終了時間を通知するシステムがある（たとえば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１３４１００号公報
【特許文献２】特開２００８−１０７８７５号公報
【特許文献３】特開２００７−１１５１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１に記載されている開示技術では、予めコンピュータシステムの性能に応じて性能対比テーブルを作成し、さらに、設計解析モデルの規模に応じてジョブキューイングテーブルを作成する必要が有り、設計解析モデルの記述方法が異なる、あるいは、設計解析方法が異なる設計解析シミュレーションプログラムが複数同時にコンピュータシステムに存在する場合、設計解析モデルの規模だけでは、ジョブキューイングテーブルを予め作成することが困難である。
【０００８】
また、上述の特許文献２に記載されている技術では、予め作成済みのジョブ実行計画表により、待機している複数のジョブの中から、実行可能なジョブを選択し、実行させることが可能であるが、設計解析ジョブの場合は、設計解析のパラメータを変更して最適な設計解析値を求めるため、過去と同一のジョブは存在せず、予めジョブ実行計画表を作成することは困難である。
【０００９】
さらに、上述の特許文献３に記載されている技術では、設計解析対象である解析モデルの計算要素とメッシュ接点数から計算ジョブの実行時間を推定したジョブ管理テーブルを作成するが、詳細な設計解析シミュレーションを実行する場合、計算要素とメッシュ接点数が同一であるが、微妙なメッシュ形状の違い等で、計算ジョブの実行時間が大きく変動し、解析時間の予測精度が大きく損なわれる場合がある。
【００１０】
そこで、本発明は、複数の設計解析ジョブを高効率で処理できるようにジョブの実行を管理することができる設計解析ジョブ管理システムおよび設計解析ジョブ管理方法、並びに設計解析シミュレーションシステムに関する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明による設計解析ジョブ管理システムは、複数のコアを有するＣＰＵを複数個備える設計解析サーバによる設計解析ジョブの実行を管理するものであって、過去において設計解析ジョブの実行に要した解析時間の実績値と、複数のＣＰＵが実行中の設計解析ジョブの推定終了時間と、を含むジョブ管理データを記憶する記憶装置と、ジョブ管理データに基づいて、複数のＣＰＵに設計解析ジョブを割り当てる演算処理装置と、を備え、演算処理装置は、外部から設計解析ジョブを受け付ける設計解析ジョブ受付ユニットと、受付ユニットによって受け付けられた設計解析ジョブの解析時間の実績値を記憶装置から読み出し、読み出された解析時間の実績値に基づいて、受け付けられた設計解析ジョブの推定終了時間を演算し、演算された推定終了時間と実行中の設計解析ジョブの推定終了時間を比較して、複数のＣＰＵの内、実行中の設計解析ジョブの推定終了時間が演算された推定終了時間に略同じであるＣＰＵに受け付けられた設計解析ジョブを割り当てる設計解析ジョブ投入ユニットと、を備える。
【００１２】
また、上記課題を解決するために、本発明による設計解析シミュレーションシステムは、複数のコアを有するＣＰＵを複数個備える設計解析サーバと、設計解析サーバによる設計解析ジョブの実行を管理する設計解析ジョブ管理システムと、を備えるものであって、設計解析ジョブ管理システムを上記本発明による設計解析ジョブ管理システムとする。
【００１３】
また、上記課題を解決するために、本発明による設計解析ジョブ管理方法は、複数のＣＰＵを有する設計解析サーバによる設計解析ジョブの実行を管理するものであって、外部から設計解析ジョブを受け付ける設計解析ジョブ受付ステップと、設計解析ジョブ受付ステップによって受け付けられた設計解析ジョブの過去における解析時間の実績値に基づいて、受け付けられた設計解析ジョブの推定終了時間を演算し、演算された推定終了時間と実行中の設計解析ジョブの推定終了時間を比較して、複数のＣＰＵの内、実行中の設計解析ジョブの推定終了時間が演算された推定終了時間に略同じであるＣＰＵに受け付けられた設計解析ジョブを投入する設計解析ジョブ投入ステップと、を含む。
【発明の効果】
【００１４】
本発明によれば、複数のＣＰＵの内、実行中の設計解析ジョブの推定終了時間が受け付けられた設計解析ジョブの推定終了時間に近いＣＰＵに、受け付けられた設計解析ジョブを投入するので、複数の設計解析ジョブを高効率で処理できる。
【００１５】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１である設計解析シミュレーションシステムを示す。
【図２】設計解析サーバの全体構成を示す。
【図３】設計解析ジョブ管理システムの全体構成を示す。
【図４】ジョブ管理データベースの一例を示す。
【図５】解析時間テーブルの一例を示す。
【図６】ジョブ終了時間管理テーブルの一例を示す。
【図７】設計解析ジョブ実行時間の設計解析フェーズによる推移を示す。
【図８】設計解析ジョブ実行時間の設計者、設計解析プログラムによる差異を示す。
【図９】ジョブ管理データベースの新規レコード生成処理を示すフローチャートである。
【図１０】ジョブ管理データベースのレコード削除処理を示すフローチャートである。
【図１１】ジョブ管理データベースのレコード情報更新処理を示すフローチャートである。
【図１２】設計解析ジョブ管理処理を示すフローチャートである。
【図１３】実施例２における設計解析ジョブ管理処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態を詳細に説明する。各図において、参照番号が同一のものは同一の構成要件あるいは類似の機能を備えた構成要件を示している。
【実施例１】
【００１８】
図１は、本発明の実施例１である、設計解析ジョブ管理システムを含んだ設計解析シミュレーションシステムを示す。設計解析シミュレーションシステム１０においては、複数の設計解析サーバ２０と、これら設計解析サーバ２０における設計解析ジョブの実行を管理する設計解析ジョブ管理システム３０が内部ネットワーク１１に接続されている。なお、設計解析ジョブ管理システム３０はコンピュータシステムによって構成される。内部ネットワーク１１は、インターネットやイントラネットなどの通信回線１３を介して、設計解析シミュレーションシステム１０から離れた場所に構築されるローカルネットワーク１４に接続される。なお、ローカルネットワーク１４が構築される場所は、設計解析シミュレーションシステム１０が設けられる場所から地理的に離れた遠隔地であっても良い。
【００１９】
ローカルネットワーク１４には、複数の設計者用クライアントＰＣ（Personal Computer）１２が接続される。設計者用クライアントＰＣ１２と設計解析シミュレーションシステム１０は、通信回線１３を介して互いにデータ通信を行う。なお、各ネットワーク（１１，１４）並びに通信回線１３においては、有線通信方式および無線通信方式のいずれでも適用できるし、また両者を併用してもよい。
【００２０】
図２は、図１における設計解析サーバ２０の全体構成を示す。設計解析サーバ２０では、様々な設計解析ジョブを実行するために、図２に示すように、解析分野（例えば、電磁場解析、構造解析など）が異なる複数の設計解析シミュレーションプログラム２１〜２３が実装されている。
【００２１】
図３は、図１における設計解析ジョブ管理システム３０の全体構成を示す。
【００２２】
図３に示すように、設計解析ジョブ管理システム３０は、ジョブ管理を実施するために用いられる情報を含み、記憶装置１００に記憶されるジョブ管理データベース３１と、複数の設計解析サーバ２０による設計解析ジョブの実行を管理する演算処理装置２００を備える。なお、記憶装置１００としては、半導体メモリや磁気ディスクなどが用いられ、演算処理装置２００としては、マイクロコンピュータなどが用いられる。
【００２３】
演算処理装置２００は、図１に示す設計者用クライアントＰＣ１２から送信される設計解析ジョブを受け付ける設計解析ジョブ受付ユニット３４と、受け付けた設計解析ジョブの情報とジョブ管理データベース３１の情報とを比較し、比較結果に応じて設計解析サーバ２０に設計解析ジョブを投入する設計解析ジョブ投入ユニット３２と、既に設計解析サーバ２０に投入済みの設計解析ジョブの実行状況および終了状況を監視する設計解析ジョブ監視ユニット３５と、実行が終了した設計解析ジョブの情報と新規に受けつけた設計解析ジョブの情報とを用いてジョブ管理データベース３１を更新するジョブ管理データ更新ユニット３３を備える。これらのユニット（３２〜３５）およびジョブデータ管理データベース３１は、内部バス３６に接続され、内部バス３６を介して情報の送受信を行っている。なお、本実施例では、演算処理装置２００が、所定のプログラムを読み込んで実行することによって、各ユニット（３２〜３５）として動作する。
【００２４】
図４は、図３におけるジョブ管理データベース３１の一例を示す。本例におけるジョブ管理データベース３１は、構成要素として、管理番号、設計者名、解析プログラム名、解析対象モデル情報、後述するように解析の段階を示す解析フェーズ、解析時間の実績値である平均解析時間を含む複数のレコード４２〜４５によって構成されている。例えば、管理番号１のレコード３２においては、設計者名が「氏名１」、解析プログラム名が「Ａ」、解析対象モデル情報が「１２３４」、解析フェーズが「Ｚ」、フェーズ開始が「２０１４年１１月２０日」、平均解析時間が「３０００」である。
【００２５】
また、ジョブ管理データベース３１に付随するデータテーブルとして、解析時間テーブルとジョブ終了時間管理テーブルとがある。これらのデータテーブルは、共に、ジョブ管理データベース３１の内部に含まれ、記憶装置１００に記憶される。
【００２６】
図５は、解析時間テーブルの一例を示す。解析時間テーブル５１は、ジョブ管理データベース３１の管理番号（１〜４）にそれぞれ対応する複数のレコード（５２〜５５）によって構成される。管理番号毎に、過去に設計解析ジョブが要した解析時間の実績値が記録されている。たとえば、管理番号１のレコード５２と管理番号２のレコード５３は、設計解析ジョブが共にＬ回実行され、各回の解析時間がレコードに記録されている。例えば、管理番号１および２について、Ｌ回目の実行における解析時間Ｌは、それぞれ２５００および１００００である。また、管理番号３のレコード５４および管理番号４のレコード５５では、それぞれ、設計解析ジョブがＮ回およびＭ回実行されている。例えば、管理番号３について、Ｎ回目の実行における解析時間Ｎは８００であり、管理番号４について、Ｍ回目の実行における解析時間Ｍは６００である。
【００２７】
図６は、ジョブ終了時間管理テーブルの一例を示す。ジョブ終了時間管理テーブル６１は、図３に示した複数の設計解析サーバ２０に対応したレコードによって構成される。なお、本実施形態において、各設計解析サーバ２０は２個のＣＰＵを備えている。また、各ＣＰＵは、演算処理ユニットであるプロセッサコア（以下、コアと記す）を４個備えている。
【００２８】
図６に示すように、ジョブ終了時間管理テーブル６１は、各設計解析サーバ２０に対応する設計解析サーバ番号１〜３によって特定できるレコード６２〜６４で構成されている。各レコードは、ＣＰＵに含まれる各コアに割り当てられた設計解析ジョブのジョブ番号および推定終了時間が記録されている。サーバ番号１のレコード６２では、ＣＰＵ１に含まれるコア１、コア２、コア３に設計解析ジョブが割り当てられ、コア４が空いている（待機状態）。また、設計解析サーバ１のＣＰＵ２に含まれるコア１〜４の全てに設計解析ジョブが割り当てられている。例えば、レコード６２は、設計解析サーバ番号１のＣＰＵ１のコア１〜３に設計解析ジョブＮｏ．１２３が割り当てられ、推定終了時間が２０１４年１２月１日１０時１０分であることを示している。設計解析サーバ番号２のレコード６３では、ＣＰＵ２のコア１およびコア２に設計解析ジョブが割り当てられ、他のコア、すなわちＣＰＵ１の全コアとＣＰＵ２のコア３，４は、設計解析ジョブの割り当てが無く、空いている。例えば、レコード６３は、設計解析サーバ番号２のＣＰＵ２のコア１，２に設計解析ジョブＮｏ．１０２が割り当てられ、推定終了時間が２０１４年１２月２日２０時００分であることを示している。設計解析サーバ番号３のレコード６４では、全てのコアが空いており、設計解析ジョブの割り当ては無い。以上のように、ジョブ終了管理テーブルは、ＣＰＵにおける演算処理ユニットであるコアごとに、設計解析ジョブが割り当てられているか待機中であるかを示し、設計解析ジョブが割り当てられているコアについては設計解析ジョブのジョブ番号および推定終了時間を記録している。
【００２９】
ジョブ管理データベース３１は、上述したように、図３に示すジョブ管理データ更新ユニット３３によって更新される。ここで、ジョブ管理データ更新ユニット３３は、ジョブ管理データベース３１に対し、新規レコード生成、レコード削除、レコード情報更新を実行する。これらジョブ管理データベース３１の更新処理のうち、まず、新規レコード生成、レコード削除について、図９，１０を用いて説明する。
【００３０】
図９は、ジョブ管理データ更新ユニット３３によるジョブ管理データベース３１の新規レコード生成処理を示すフローチャートである。図３に示す設計解析ジョブ受付ユニット３４にて新しく設計解析ジョブが受け付けられた場合、ジョブ管理データ更新ユニット３３は、設計者名、解析プログラム名、解析対象モデル情報のどれか、あるいは、全てが、既に生成済みのジョブ管理データベース３１のレコード情報と異なる場合、新しい管理番号を付与し、新規に、設計者名、解析プログラム名、解析対象モデル情報、解析フェーズ（＝Ｘ（初期値））を含む新レコードを生成する（ステップ９１）。さらに、解析時間テーブル５１（図５）に、新しく付与した管理番号に対応する新レコードを生成する（ステップ９２）。
【００３１】
図１０は、ジョブ管理データ更新ユニット３３によるジョブ管理データベース３１のレコード削除処理を示すフローチャートである。ジョブ管理データベース３１のレコードに含まれる管理番号に対応する設計者名の設計者が、一定の期間、同一管理番号に対応する解析プログラム、解析対象モデル情報の設計解析ジョブを投入しなかった場合（ステップ１０１，ＹＥＳ）、解析時間テーブル５１において該当する管理番号のレコードを削除する（ステップ１０２）。さらに、ジョブ管理データベース３１において当該管理番号のレコードを削除する（ステップ１０３）。
【００３２】
ここで、ジョブ管理データベース３１のレコード情報更新処理について説明する前に、図７，８を用いて設計解析ジョブ実行時間の特徴に関して説明する。
【００３３】
図７は、設計解析ジョブ実行時間の設計解析フェーズによる推移を模式的に示す。設計解析ジョブの実行時間は、設計の初期検討段階（フェーズＸ）では、設計解析条件を粗く取ることで、設計解析モデルの妥当性や、設計解析の方向性を確認する。このため、設計解析ジョブの実行時間は、比較的短い時間領域に集中する。次に、設計が進むにつれ、設計解析条件の最適化（フェーズＹ）を実施する。この時は、様々な設計解析条件で、設計解析を実行するため、短時間で終了する場合や、極めて長時間実行する場合があり、大きく設計解析時間がばらつく傾向がある。さらに、設計の最終段階では、設計の最適化を実施する（フェーズＺ）。この時は、既に解析条件が定まり、設計パラメータを細かく修正して実行する設計解析ジョブが多くなる。このため、設計解析ジョブの実行時間は、一定の設計解析時間幅の中に集中する。すなわち、設計解析ジョブの実行時間は、設計の初期段階では比較的短い時間に集中し、設計が進んだ段階では、ばらつきが大きくなり、設計の最終段階では比較的長い時間で、ばらつきが少なくなる。
【００３４】
図８は、設計解析ジョブ実行時間の設計者、設計解析プログラムによる差異を模式的に示す。設計解析ジョブ実行時間は、設計者に依って、また、設計解析プログラムに依って異なるが、傾向は変わらない。すなわち、異なる設計者の設計解析ジョブ実行時間の相対的な大小関係は、どの設計解析プログラムについても同様であり、異なる設計解析プログラムの設計解析ジョブ実行時間の相対的な大小関係は、どの設計者についても同様である。
【００３５】
上述したような設計解析ジョブ実行時間の特徴に関する知見に基づくジョブ管理データベース３１のレコード情報更新処理に関して、図１１を用いて説明する。
【００３６】
図１１は、ジョブ管理データ更新ユニット３３によるジョブ管理データベース３１のレコード情報更新処理を示すフローチャートである。
【００３７】
図３における設計解析ジョブ投入ユニット３２が、設計解析サーバ２０に設計解析ジョブを投入する時、既にジョブ管理データベース３１にて管理番号が付与されている場合に限り、更新対象となる（ステップ１１１）。投入された設計解析ジョブが正常に終了しない場合（ステップ１１２，ＮＯ）、何も更新しないで、処理を終了する。投入された設計解析ジョブが正常に終了した場合（ステップ１１２，ＹＥＳ）、設計解析ジョブ管理データベース３１の管理番号に対応した解析時間テーブル５１の該当する解析時間レコードの一番最後に、今回の解析時間を追記する（ステップ１１３）。そして、当該解析時間レコードに記載された解析時間の平均とばらつき計算する（ステップ１１４）。ばらつきが一定の範囲内である場合（ステップ１１５，ＹＥＳ）、ジョブ管理データベース３１の当該管理番号に対応するレコードの解析平均時間を上書きする（ステップ１１６）。ばらつきが一定の範囲内に収まらない場合（ステップ１１５，ＮＯ）、図７に示したような知見に基づいて、解析フェーズの変更が発生しているか否かを判断する（ステップ１１７）。例えば、ばらつきの大きさが所定値を超えたら、解析フェーズの変更が発生していると判断する。なお、平均値を併用して判断しても良い。解析フェーズの変更が認められた場合（ステップ１１７，ＹＥＳ）、ジョブ管理データベース３１の当該管理番号に対応するレコードの解析フェーズを１フェーズ進め、当日の日付を記載する（ステップ１１８）。そして、管理番号に対応する解析時間テーブル５１の解析時間を全て消去する（ステップ１１９）。解析フェーズの変更が認められなかった場合（ステップ１１７，ＮＯ）、何もしないで処理を終了する。
【００３８】
上述のようなにジョブ管理データ更新ユニット３３によるジョブ管理データベース３１のレコード情報更新処理によれば、解析フェーズ毎に設計解析時間の平均を取ることができ、ジョブ管理データベース３１に記録された管理番号に対応する平均解析時間の精度が向上する。
【００３９】
次に、上述のようなジョブ管理データベース３１を用いる設計解析ジョブ管理について説明する。
【００４０】
図１２は、図１，３に示した設計解析ジョブ管理システムによって実行される設計解析ジョブ管理処理を示すフローチャートである。なお、本処理は、主に、設計解析ジョブ管理システム３０における設計解析ジョブ投入ユニット３２（図３）によって実行される。
【００４１】
設計者が設計者用クライアントＰＣから設計解析ジョブを投入する（ステップ１２１）。設計解析ジョブ管理システム３０における設計解析ジョブ受付ユニット３４が、投入された設計解析ジョブを受け付ける。そして、設計解析ジョブ受付ユニット３４は、設計解析ジョブに含まれる設計者名、解析プログラム名、解析対象モデル情報、ジョブ実行に要するコアの個数としてジョブが指定するコア数を取得する（ステップ１２２）。取得されたコア数分の空きコアが得られない場合、すなわち投入されたジョブが指定するコア数が空いていない場合（ステップ１２４，ＮＯ）、実行中の他の設計解析ジョブが終了するのを待ち（ステップ１２３）、ステップ１２４に戻る。空いているコアの個数は、ジョブ終了管理テーブル６１（図６）を参照して判定する。また、他の設計解析ジョブが終了したかどうかは、設計解析ジョブ監視ユニット３５が判断する。再度、投入されたジョブが指定するコア数分のコアが空いているかどうか確認し、空いている場合（ステップ１２４，ＹＥＳ）、ジョブ管理データベースを３１参照し、既に設計解析を実行済みのレコードと投入されたジョブから得られた情報とを比較する（ステップ１２５）。設計者名、解析プログラム名、解析対象モデル情報が一致しない場合（ステップ１２５，ＮＯ）、空いているコアに設計解析ジョブを割り当てて実行し（ステップ１２ｄ）、ジョブ管理処理を終了する。
【００４２】
設計者名、解析プログラム名、解析対象モデル情報が一致した場合（ステップ１２５，ＹＥＳ）、ジョブ管理データベース３１から、該当する管理番号のレコードに記載された平均解析時間を取得する（ステップ１２６）。そして、現在の時間（時刻）に、得られた平均解析時間を加え、推定終了時間を演算する（ステップ１２７）。ジョブ終了時間管理テーブル６１を参照し、ＣＰＵ毎にジョブの推定終了時間の最大値と最小値を取得する（ステップ１２８）。ステップ１２７にて演算した推定終了時間が、ステップ１２８にて得られたジョブ終了時間の最大値と最小値の間に含まれるＣＰＵを検索する（ステップ１２９）。
【００４３】
ステップ１２９における検索がヒットした場合（ステップ１２ａ，ＹＥＳ）、ヒットしたＣＰＵに含まれるコアに設計解析ジョブを割り当てて実行する（ステップ１２ｂ）。なお、設計解析ジョブが指定するコア数分、空きが有ることが条件である。そして、設計者に推定終了時間を通知し（ステップ１２ｅ）、ジョブ終了時間管理テーブルの当該サーバ、当該ＣＰＵ、当該コアのレコードにジョブ番号と推定終了時間とを追記し（ステップ１２ｆ）、ジョブ管理処理を終了する。
【００４４】
ステップ１２９においては、実質的に、推定終了時間がステップ１２７で演算された推定終了時間に近い、すなわち一定の範囲で略同じである設計解析ジョブを実行中のＣＰＵを検索している。このようなＣＰＵがヒットすれば、ヒットしたＣＰＵに受け付けた設計解析ジョブを割り当てることにより、効率的に設計解析ジョブを処理することができる。なお、サーバが備える複数のＣＰＵ（本実施形態では２個（図６））の空きコアを合わせれば、受け付けた設計解析ジョブが要するコア数を確保でき、待ち時間なく処理を開始できる場合がある。このような場合でも、受け付けた設計解析ジョブと推定終了時間が略同じである他の設計解析ジョブを実行中のＣＰＵが有るならば、このＣＰＵによって受け付けた設計解析ジョブを処理した方が、多少の待ち時間はあっても、複数のＣＰＵによって処理するよりも効率的に処理することができる。
【００４５】
ステップ１２７にて演算した推定終了時間が、ステップ１２８にて得られたジョブ終了時間の最大値と最小値の間に含まれるかどうか検索し（ステップ１２９）、ヒットしなかった場合（ステップ１２ａのＮＯ）、あるいは、ヒットしたものの設計解析ジョブが必要とするコア数分、空きが無い場合、他に空いているＣＰＵのコアにジョブを割り当てて実行する（ステップ１２ｃ）。そして、設計者に推定終了時間を通知し（ステップ１２ｅ）、ジョブ終了時間管理テーブルの当該サーバ、当該ＣＰＵコアのレコードにジョブ番号と推定終了時間とを追記し（ステップ１２ｆ）、ジョブ管理を終了する。
【００４６】
上述したように、本実施例１によれば、設計解析ジョブの推定終了時間に基づくジョブ管理により、同一ＣＰＵ内の複数のコアで実行される複数の設計解析ジョブが一定の時間範囲で終了できる。このため、ＣＰＵ内の複数のコアが同時に空き状態となり、複数コアを要する設計解析ジョブを実行しやすくなり、複数コアを要する設計解析ジョブの実行待ち時間が減少し、設計者の利便性が高まる。さらに設計解析サーバの稼働率が高まり、限られた設計解析環境のリソースを有効活用できる。
【００４７】
また、本実施例１によれば、ジョブ管理に用いるデータベースやデータテーブルは自動的に作成することができるので、これらを予め作成しておくような繁雑性が生じない。このため、ジョブキューイングテーブルやジョブ実行計画表を予め作成しておくことも必要としない。
【００４８】
さらに、ジョブ実行回数が増加するにつれ、ジョブ解析時間の推定精度が向上するので、設計解析シミュレーションシステムの利用効率が向上する。このため、設計解析ジョブの待ち時間が減少し、設計者が早く設計解析結果を得ることが可能となり、設計競争力を高めることができる。さらに、パラメータやメッシュ形状の違い等によってジョブの実行時間が大きく変動するような場合でも、解析時間の予測精度が向上する。
【実施例２】
【００４９】
次に、本発明の実施例２である設計解析ジョブ管理システムについて図１３を用いて説明する。上述の実施例１は、設計者が投入する設計解析ジョブに優先度が無く、全体最適化を実現できるジョブ管理システムであるが、本実施例２は、なんらかの事情で、優先度トップで、設計解析ジョブを実行したい設計解析ジョブが存在する場合に適用される。なお、本実施例２において、システム構成やデータベースの構成（図１〜６参照）、レコードの生成および削除処理（図９，１０参照）は実施例１と同様である。従って、以下においては、実施例１とは異なる点、すなわち設計解析ジョブ管理処理（実施例１では図１２の処理）について説明する。
【００５０】
図１３は、本実施例２における設計解析ジョブ管理処理を示すフローチャートである。なお、本処理は、実施例１と同様に、図４に示したようなジョブ管理データベース３１を用いて、図１，３に示した設計解析ジョブ管理システムによって実行される。
【００５１】
設計者が設計者用クライアントＰＣから設計解析ジョブを投入する（ステップ１３１）。設計解析ジョブ管理システム３０（図３）における設計解析ジョブ受付ユニット３４が、投入された設計解析ジョブを受け付ける。そして、設計解析ジョブ受付ユニット３４は、受け付けた設計解析ジョブに含まれる設計者名、解析プログラム名、解析対象モデル情報、ジョブ実行に要するコアの個数としてジョブが指定するコア数を取得する（ステップ１３２）。取得されたコア数分の空きコアが得られない場合、すなわち投入されたジョブが指定するコア数が空いていない場合（ステップ１３４，ＮＯ）、実行中の他の設計解析ジョブが終了するのを待ち（ステップ１３３）、ステップ１３４に戻る。空いているコアの個数は、ジョブ終了管理テーブル６１（図６）を参照して判定する。また、他の設計解析ジョブが終了したかどうかは、設計解析ジョブ監視ユニット３５が判断する。なお、ステップ１３１〜１３４の処理は実施例１（図１２のステップ１２１〜１２４）と同様である。
【００５２】
再度、投入されたジョブが指定するコア数分のコアが空いているかどうか確認し、空いている場合（ステップ１３４，ＹＥＳ）、当該設計解析ジョブが、処理の優先度が最優先とする特急指定のジョブであるかどうか判断する（ステップ１３ｇ）。特急指定の場合（ステップ１３ｇ，ＹＥＳ）、空いているＣＰＵコアに設計解析ジョブを割り当てて、待ち時間なしで直ぐに実行する（ステップ１３ｈ）。そして、設計者に特急実行を通知し（ステップ１３ｉ）、ジョブ終了時間管理テーブルの当該サーバ、当該ＣＰＵコアのレコードに、ジョブ番号と推定終了時間を追記し（ステップ１３ｆ）、ジョブ管理処理を終了する。
【００５３】
特急指定でない場合（ステップ１３ｇ，ＮＯ）、ジョブ管理データベースを３１参照し、既に設計解析を実行済みのレコードと投入されたジョブから得られた情報とを比較する（ステップ１３５）。設計者名、解析プログラム名、解析対象モデル情報が一致しない場合（ステップ１３５，ＮＯ）、空いているコアに設計解析ジョブを割り当てて実行し（ステップ１３ｄ）、ジョブ管理処理を終了する。
【００５４】
設計者名、解析プログラム名、解析対象モデル情報が一致した場合（ステップ１３５，ＹＥＳ）、ジョブ管理データベース３１から、該当する管理番号のレコードに記載された平均解析時間を取得する（ステップ１３６）。そして、現在の時間（時刻）に、得られた平均解析時間を加え、推定終了時間を演算する（ステップ１３７）。ジョブ終了時間管理テーブル６１を参照し、ＣＰＵ毎にジョブ終了時間の最大値と最小値を取得する（ステップ１３８）。ステップ１３７にて演算した推定終了時間が、ステップ１３８にて得られたジョブ終了時間の最大値と最小値の間に含まれるＣＰＵを検索する（ステップ１３９）。
【００５５】
ステップ１３９における検索がヒットした場合（ステップ１３ａ，ＹＥＳ）、ヒットしたＣＰＵに含まれるコアに設計解析ジョブを割り当てて実行する（ステップ１３ｂ）。なお、設計解析ジョブが指定するコア数分、空きが有ることが条件である。そして、設計者に推定終了時間を通知し（ステップ１３ｅ）、ジョブ終了時間管理テーブルの当該サーバ、当該ＣＰＵ、当該コアのレコードにジョブ番号と推定終了時間とを追記し（ステップ１３ｆ）、ジョブ管理処理を終了する。
【００５６】
なお、ステップ１３５〜１３９およびステップ１３ａ〜１３ｅの処理は実施例１（図１２のステップ１２５〜１２９およびステップ１２ａ〜１２ｅ）と同様である。
【００５７】
上述したように、本実施例２によれば、実施例１と同様に、設計解析ジョブの推定終了時間に基づくジョブ管理により、同一ＣＰＵ内の複数のコアで実行される複数の設計解析ジョブが一定の時間範囲で終了できる。このため、ＣＰＵ内の複数のコアが同時に空き状態となり、複数コアを要する設計解析ジョブを実行しやすくなり、複数コアを要する設計解析ジョブの実行待ち時間が減少し、設計者の利便性が高まる。さらに設計解析サーバの稼働率が高まり、限られた設計解析環境のリソースを有効活用できる。また、特別に緊急を有する特急指定の設計解析ジョブが存在した場合、優先度トップで実行することができる。
【００５８】
上述の実施例１，２において、設計解析シミュレーションシステムは、クライアントサーバ形式のコンピュータシステムによって構築されているが（図１）、これに限らず、クラウドコンピュータシステムによって構築されても良い。また、図１における設計者用クライアントＰＣ１２に代えて、無線ネットワークに接続されるタブレット端末やスマートフォンを設計者用端末装置として用いても良い。
【００５９】
上述の実施例１，２において、ジョブ終了時間管理テーブル６１を参照して得られる、ジョブ終了時間の最大値と最小値の間に含まれるＣＰＵを検索するが（図１１のステップ１２９、図１２のステップ１３９）、推定終了時間がステップ１２９，１３９において演算された推定終了時間に近い、すなわち一定の範囲で略同じである設計解析ジョブを実行中のＣＰＵを検索できるならば、他の検索方法にて検索しても良い。
【００６０】
なお、本発明は前述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成の追加・削除・置き換えをすることが可能である。
【００６１】
例えば、演算処理装置によるソフトウエアプログラム処理に代えて、ＦＰＧＡ（Field Programmable Gate Array）等のハードウエアプログラミングを適用しても良い。この場合、図３における各ユニット（３２〜３５）をＦＰＧＡによって構成することができる。
【００６２】
また、設計解析サーバ２０のＣＰＵ数およびＣＰＵコア数は、任意の複数個に設定できる。
【符号の説明】
【００６３】
１０…設計解析シミュレーションシステム
１１…内部ネットワーク
１２…設計者用クライアントＰＣ
１３…通信回線
１４…ローカルネットワーク
２０…設計解析サーバ
３０…設計解析ジョブ管理システム
３１…ジョブ管理データベース
３２…設計解析ジョブ投入ユニット
３３…ジョブ管理データ更新ユニット
３４…設計解析ジョブ受付ユニット
３５…設計解析ジョブ監視ユニット
５１…解析時間テーブル
６１…ジョブ終了時間管理テーブル
１００…記憶装置
２００…演算処理装置
【図１】
2017010354.tif 000003
【図２】
2017010354.tif 000004
【図３】
2017010354.tif 000005
【図４】
2017010354.tif 000006
【図５】
2017010354.tif 000007
【図６】
2017010354.tif 000008
【図７】
2017010354.tif 000009
【図８】
2017010354.tif 000010
【図９】
2017010354.tif 000011
【図１０】
2017010354.tif 000012
【図１１】
2017010354.tif 000013
【図１２】
2017010354.tif 000014
【図１３】
2017010354.tif 000015