JP2011154522A - シミュレーション支援システム及びシミュレーション支援方法 - Google Patents

シミュレーション支援システム及びシミュレーション支援方法 Download PDF

Info

Publication number
JP2011154522A
JP2011154522A JP2010015382A JP2010015382A JP2011154522A JP 2011154522 A JP2011154522 A JP 2011154522A JP 2010015382 A JP2010015382 A JP 2010015382A JP 2010015382 A JP2010015382 A JP 2010015382A JP 2011154522 A JP2011154522 A JP 2011154522A
Authority
JP
Japan
Prior art keywords
simulation
simulator
simulators
software
task
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
JP2010015382A
Other languages
English (en)
Other versions
JP5468921B2 (ja
Inventor
Yasuhiro Ito
康宏 伊藤
Yasuo Katsu
康夫 勝
Shigeru Obo
茂 於保
Hideaki Kurata
英明 倉田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010015382A priority Critical patent/JP5468921B2/ja
Publication of JP2011154522A publication Critical patent/JP2011154522A/ja
Application granted granted Critical
Publication of JP5468921B2 publication Critical patent/JP5468921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】多数の計算機によって構成されたシミュレーションサービスを提供するシミュレーションシステムにおいて、本シミュレーションシステムに導入されるシミュレータ同士の不具合の発生を回避しつつ管理する事を容易化する事を目的とする。
【解決手段】ソフトウェア間の不具合を回避するため、複数種類のオペレーティングシステムにソフトウェアを分散させて導入し、シミュレーション実行時には利用者の要求を満たすオペレーティングシステムの組を生成する機構を備える。また、未検証のシミュレータの相互関係を試行する事で、シミュレーション性能の最適化を可能にする。
【選択図】図1

Description

本発明は、シミュレーション支援システム及びシミュレーション支援方法に係り、特に、組込みシステムの開発に於いて複数のシミュレータが連携する複雑なシミュレーションを実行する開発環境で使用されるのに適したシミュレーション支援の技術に関わる。
従来、多数の計算機で構成された計算機システムに対して、どの計算機にソフトウェアを導入するかを決定する技術として、利用者が導入を要求したソフトウェアの組を計算機システムに入力した場合、事前に与えられた静的なルールに従って前記ソフトウェアが依存する他のソフトウェアも自動的にインストールする技術があった(例えば、特許文献1参照)。
また、従来、情報収集支援システムとして、コンピュータがインストールするソフトウェアの前提条件を満たしているか否かを調査する機能を備えたものがあった(例えば、特許文献2参照)。
さらに、従来、ジョブネット実行システムとして、ジョブ実行時に必要に応じて適切なプログラムをインストールするものがあった(例えば、特許文献3参照)。
特開2006−099307号公報 特開2006−350896号公報 特開2008−217299号公報
組込みシステムとは制御対象を構成するメカニズムと、メカニズムから受け取った物理量を元に制御演算を行い、メカニズムに制御値の出力を行なうハードウェアと、ハードウェア上で動作するソフトウェアから構成されるシステムである。例えば自動車エンジン制御向けの組込みシステムでは、制御対象であるエンジンとエンジンを制御するマイコン等の電子機器とその上で動作するソフトウェアを指す。組込みシステムに含まれるソフトウェアの挙動は制御対象のメカニズムとハードウェアの構成に強く依存するため、メカニズム、ハードウェア、ソフトウェアを併せた挙動の解析が必要である。
近年、自動車、電気機器等の高信頼化、高機能化により組込みシステムが複雑化しており、作業期間短縮のためハードウェア、ソフトウェアの各部品を細分化して分業化が行なわれ、複数拠点での同時開発が行われている。分業化が進むにあたり、部品毎の動作確認だけではなく、部品の組み立て時に判明する性能不足、仕様の不具合が増加し、製品出荷前の最終段階での手戻りによる開発期間の遅延が多発しており、開発効率の悪化が問題となっている。
この問題を解決するため、設計時点でのメカニズム・ハードウェア・ソフトウェアを協調させたシミュレーションによる性能評価、検証手法が用いられ始めている。メカニズム・ハードウェア・ソフトウェア協調のシミュレーションでは、シミュレーション対象となるメカニズムやハードウェアの構成によって利用できるシミュレータが異なる事と、すでに特定のシミュレータ用に作成されたシミュレーションモデルの蓄積がある事から、異種シミュレータの相互接続による製品全体レベルの協調シミュレーションが行なわれる。
従来、複数シミュレータを相互結合させた協調シミュレーションを行なうには、各個人の計算機上に実行環境を構築する必要があったため、計算能力の不足、設計情報の共有と管理、シミュレーション環境の保守と維持コストの増大が問題となっていた。このような課題に対する対処法の一つとして、多数のシミュレーション用計算機を、ネットワークを介して集約した、開発環境の一元化サービスが考えられる。
また、開発環境の一元化によって得られるシミュレータと計算資源の使用履歴を元に、利用者の入力するシミュレーションの実行に最適な計算機及びシミュレータの構成を自動で構築する仕組みを加える事で、高効率な計算資源の利用を実現し、大量のシミュレーション要求を処理する事が可能である。このようなシステムにおいて、利用者が要求したシミュレーションは、複数の計算機上で動作する複数のシミュレータによって実行されるが、利用者が実際にどの計算機上でどのようなオペレーティングシステム(OS)を使用してシミュレーション実行されるかを指定する必要が無い。この場合、利用者から見て全てのシミュレーションがあたかも一つのOS上でシミュレータが動作しているように見える。
シミュレータを計算機上で動作させるためには、シミュレータがサポートするOSを選択し、その上にシミュレータを導入する必要がある。OSはシミュレータ動作のための入出力の処理、計算資源の管理を行う。
しかし、各計算機に全てのシミュレータを導入する事は以下の理由により困難である。
第一の理由として、本計算機システムはシミュレータを調達して導入する事を原則としており、それらのシミュレータが動作するOSはそれぞれ異なるため、当該計算機システムを構成するOSの種類を一つに限定する事が不可能な事である。
第二の理由として、同一のシミュレータであっても一つの計算機に複数のバージョンを導入できない場合が存在する事である。シミュレータを使用する場合の大きな制限としてシミュレータのバージョン間で互換性がなく、特定のバージョンでのみ動作するプログラムが存在する事が少なくない。
多数の利用者の全ての要求に応えるためには、互換性のないバージョンのシミュレータも複数導入する必要がある。
第三の理由として、同一OS上に導入されたシミュレータ間で環境変数またはシミュレータが依存するソフトウェアの干渉によってシミュレータが動作しなくなる問題が存在する事があげられる。シミュレータが依存するソフトウェアの一例として、通信や計算のための汎用ライブラリ等が考えられる。ソフトウェアの干渉の一例として、二つ以上のシミュレータが共通に用いる汎用ライブラリに於いて、ライブラリのインストール場所の指定が異なっている事や、必要とするライブラリのバージョンが異なっている事が上げられる。また本発明で対象とするようなシミュレータは前記ライブラリなどの指定が固定化されており、利用者の側で柔軟な対処が不可能である場合が少なくない。
また、想定しているシミュレーションサービスでは、作成者の異なるシミュレータを組み合わせる事を前提としているため、 上記であげた第二、第三の理由のように任意のシミュレータの組によって発生しうる問題に対して事前に障害の発生を避けてシミュレータの導入を行う事が難しい。
よって、前記のシミュレーションサービスは多数の異なるOSによって構成されたため、どのOSにどのシミュレータを導入するか決定する仕組みが必要となる。
多数の計算機で構成された計算機システムに対して、どの計算機にソフトウェアを導入するかを決定する既存の発明として以下の特許文献1に開示されたものが存在する。すなわち、特許文献1には、利用者が導入を要求したソフトウェアの組を計算機システムに入力した場合、事前に与えられた静的なルールに従って前記ソフトウェアが依存する他のソフトウェアも自動的にインストールする技術が開示されている。
また、特許文献2には、コンピュータがインストールするソフトウェアの前提条件を満たしているか否かを調査する機能を備えた情報収集支援システムが開示されている。
さらに、特許文献3には、ジョブ実行時に必要に応じて適切なプログラムをインストールするジョブネット実行システムが開示されている。
前記特許文献1記載の技術は、事前に与えられた静的なルールに従って、利用者が導入を要求したソフトウェアの組を、前記要求を満たすように計算機に対して自動的に導入するための技術である。前記特許文献2、3に記載の技術も、事前に与えられた情報を利用するものである。このような技術では、事前にシミュレータで実行した情報が与えられていないソフトウェアの関係に関して、シミュレータに導入後のソフトウェアの正常動作を確かめる術がない。そのため、シミュレータで未検証な前記のソフトウェア間での相性による不具合を解決する事が不可能である。
また、当該技術だけでは、利用者の要求毎に異なる計算機またはシミュレータの構成を任意に変化させ提供する必要のある前記シミュレーションサービスの計算機の管理に用いる事が不可能である。
本発明の目的は、上記の課題に鑑みて、多数の計算機によって構成されシミュレーションサービスを提供するシミュレーションシステムにおいて、特に、組込みシステムにおいて、そのシステムに導入されるシミュレータ同士を、不具合を発生させる事なく連動させる事を容易化すると共に、シミュレーションサービスの品質を向上させるシミュレーション支援システム及びシミュレーション支援方法を提供することにある。
本発明の代表的なものの一例を示すと、次のようになる。すなわち、本発明のシミュレーション支援システムは、各々プロセッサとメモリとを備えた複数の計算資源を含んで構成されたシミュレーション装置において、複数のシミュレータによりシミュレーションタスクを実行するシミュレーションを支援する、シミュレーション支援システムであって、生成要求された前記シミュレーションタスクの実行に適したシミュレータの組を生成するタスク生成装置と、前記シミュレータの組と該シミュレータの組が動作するオペレーティングシステムとを前記計算資源に導入して、前記シミュレーションタスクの実行を可能にする動的計算資源配分システムとを備え、既存の不具合情報を利用しつつ、前記オペレーティングシステムの集合に新規のソフトウェアを自動的に追加する第一の機能と、シミュレーション要求に応じて適切な前記オペレーティングシステムの組を選択し、前記シミュレーションタスクを実行させる環境を生成する第二の機能と、前記シミュレーション実行履歴に基づいた、未検証のソフトウェアの組を試行し、保有する前記オペレーティングシステム上で正常動作するソフトウェアの組の情報を生成する第三の機能とを有することを特徴とする。
本発明により、シミュレーションシステムへのソフトウェアの導入やそのシステムの運用を容易にし、シミュレーションサービスの品質を向上させることが可能となる。
本発明の第1の実施形態になるシミュレーション支援システムの機能要素を示すブロック図である。 図1のシミュレーション装置のネットワーク構成例を示す図である。 図1のシミュレーション装置のネットワーク構成例を示す図である。 第1の実施形態の、OSイメージ管理装置の構成例を示す図である。 第1の実施形態の、全体的な処理概要の一例を示すフローチャートである。 第1の実施形態の、資源利用量管理データベースの構成例を示した図である。 第1の実施形態の、ツールモデルデータベースの構成例を示した図である。 第1の実施形態の、シミュレーション構成履歴データベースの構成例を示した図である。 第1の実施形態の、ソフトウェア相互関係データベースのデータベース構成例を示した図である。 図8Aのソフトウェア相互関係データベースの、データベースの更新例を示した図である。 第1の実施形態の、OSイメージ管理装置のソフトウェア導入状況データベースの構成例を示した図である。 図9Aのソフトウェア導入状況データベースの更新例を示す図である。 第1の実施形態の、ソフトウェア自動導入機能の処理の一例を示す図である。 第1の実施形態の、OS割当機能の処理の一例を示す図である。 第1の実施形態の、ソフトウェア導入状況最適化機能の処理の一例を示す図である。 本発明の第2の実施形態として、上記第1の実施形態の適用の一例であるシミュレーションサービスの情報の流れを示すブロック図である。 本発明の第2の実施形態として、上記第1の実施形態の適用の一例である、シミュレーションサービスを提供する計算機システムの機能要素を示すブロック図である。 本発明の第2の実施形態として、上記第1の実施形態の適用の一例である、シミュレーションサービスを提供する計算機システムの機能要素を示すブロック図である。 本発明の第3の実施形態における処理の一例を示した図である。 本発明の第4の実施形態における機能要素を示すブロック図である。 第4の実施形態における処理の一例を示した図である。
代表的な実施形態によれば、本発明のシミュレーション支援システムは、以下の3つの処理機能又は処理ステップからなる。
第一の処理機能又はステップでは、既存の不具合情報を利用しつつ、計算機システムを構成するOSの集合に新規のソフトウェアを自動的に追加する。
第二の処理機能又はステップでは、利用者からのシミュレーション要求に応じて適切なOSの組を選択し、シミュレーションを実行させる環境を作成する。
第三の処理機能又はステップでは、利用者のシミュレーション実行履歴に基づいた、未検証のソフトウェアの組を試行し、保有するOS上で全てのソフトウェアが正常動作する事を保証しつつ、シミュレーションの性能を向上させる。
上記の3つの特徴的な処理機能又はステップにより、多種類または複数バージョンのソフトウェアが混在する事による不具合を事前に防ぎつつ、シミュレーションの性能が低下しない計算機構成を実現する事が出来る。
以下、本発明の各実施形態を添付図面に基づいて説明する。
まず、本発明の第1の実施形態になるシミュレーション支援システムを、図1〜図14Bを参照しながら説明する。
図1は、本発明の実施形態の一構成例を示し、シミュレーション支援システムにおいて利用者のシミュレーション実行要求を満たすOS構成を作成する動的計算資源配分システム100の機能ブロック図である。
本シミュレーション支援システムの動的計算資源配分システム100は、シミュレーション用計算資源を備えたシミュレーション装置101、シミュレーション結果可視化システム102、表示部を備えたシミュレーションタスク入力装置704、シミュレーションタスク生成装置705、動的計算資源管理データベース706、ツールモデルデータベース709、資源利用量管理データベース711、シミュレーション構成履歴データベース721、シミュレーションタスク発行装置723、及び、タスク指令履歴データベース725を備えている。シミュレーションタスク発行装置723は、ソフトウェア自動導入装置001、ソフトウェア相互関係データベース002、OSイメージ管理装置004、OSイメージ検索装置005、及びソフトウェア相互関係解析装置006を備えている。動的計算資源配分システム100を構成する各機器は、内部ネットワークを介して接続されている。上記のシミュレーション支援システムの構成を以下では、本システムと呼ぶ。なお、各システム、計算資源は、プロセッサとメモリおよびネットワークインターフェイスを含む計算機で構成される。
ここで、シミュレーション装置101の構成について説明する。
本システムでは、シミュレーション装置101から必要な数の計算機を確保して、利用者の指示したシミュレーションを実行する。シミュレーション装置101は、プロセッサ、メモリ、記憶領域、ネットワークインターフェイスを伴った計算機が多数ネットワークにより相互結合されている集合で構成される。本システムでは大規模なシミュレーションに対応するため、一つのシミュレーションを複数の計算機で実行する事が可能になっている。
複数の計算機を連動させるときの計算機間の通信遅延を軽減させるため、計算機の相互結合方法は、図2Aに示すような全ての計算機1000を同一階層に置く木構造型のネットワーク1001と、図2Bに示すような隣接する計算機同士を結合する高速ネットワーク1002とを併用する事が可能である。なお、図2A、図2B中のPEはProcessing Elementの略であり、シミュレーション装置101の計算資源を構築する各計算機を指す。
このような構成の各計算機上で動作するOSは一つに固定されておらず、OSイメージ管理装置004から適宜、実行するシミュレーションに適したOSを選択し、コピーして起動する。なお、OSの入れ替えを容易にする手段として、ネットワーク上のストレージ内に置かれたOSのイメージを参照してOSを起動する方法であるネットワークブートの手段、または仮想OSのような既存の技術を使用する手段がある。OSイメージ領域に保存するOSを構成するファイルの内容は、シミュレーション装置101でのOS起動方法に依存する。
図3に、OSイメージ管理装置004の構成例を示す。OSイメージ管理装置004は、シミュレーション装置101で動作させるOSを構成するファイルの集合または仮想マシン用OSイメージファイルを格納するOSイメージ領域010と、各OSに導入されているシミュレータのリストを保持するソフトウェア導入状況データベース011とで構成される。なお、ソフトウェア導入状況データベース011の構成については後で説明する。
次に、図4を用いて、動的計算資源配分システム100の処理の概要を説明する。
まず、新規シミュレータを本システムへの追加する処理(ステップ207、204)を説明する。ステップ207で、本システムへのシミュレータの追加要求を受け取ると、ステップ204で、ソフトウェア導入装置001がソフトウェア相互関係データベース002に格納されたソフトウェア依存関係情報に基づき、本システムが管理するOSにシミュレータを導入する。本システムが提供可能なシミュレータを導入したOSはOSイメージ管理装置004に保存される。また、シミュレータの追加を行ったOSに対してOSイメージ管理装置004のソフトウェア導入状況を更新する。
次に、利用者の要求を満たすシミュレーションが実行可能なOSの組を自動生成する処理(ステップ206、201、202)について説明する。ステップ206でシミュレーションのタスク出力がなされた場合、シミュレーションタスク生成装置705はステップ201において入力されたシミュレーションタスクの実行に適したシミュレータの組をツールモデルデータベース709の検索結果を用いて出力する。OSイメージ検索装置005は出力されたシミュレータの組を実現するOSの組を、OSイメージ管理装置004内のソフトウェア導入状況の検索結果より生成する。ステップ202では、ステップ201で作成したOSの組をシミュレーション装置101上で起動し、シミュレーションを開始する。同時に、シミュレーションの成否、性能の情報が記録され履歴データとしてシミュレーション構成履歴データベース721に保存される。
最後に、システムに導入されたシミュレータの正常動作の保証とシミュレーション性能向上の処理(ステップ203、204、205)を説明する。ステップ203では、シミュレーション装置101で取得したシミュレーションの成否、性能に基づき、ソフトウェア相互関係解析装置006が新規のシミュレータの相互関係を決定する。ステップ203において新規のソフトウェア依存関係が発見された場合、ステップ204に戻りソフトウェア相互関係データベース002へのソフトウェア依存関係の追加およびOSイメージ管理装置004に対し、新規のソフトウェア依存関係を満たす新たなOSの作成、または依存関係を満たさないOSを削除する。ステップ203において新規のソフトウェア依存関係が発見されなかった場合、ステップ205に移り、最適化フローを終了する。なお各システムの詳細に関しては後述する。
次に、計算資源管理データベース711の構成について説明する。
資源利用量管理データベース711は、シミュレーション装置101の各計算資源の利用状況および、使用履歴を格納する。図5に、計算資源管理データベースの構成例を示す。資源利用量管理データベース711は、各シミュレーションを識別するためのシミュレーションID、シミュレーションで使用したシミュレータ名、シミュレータの実行時間、CPU、メモリ、ネットワークの負荷に関する情報を格納している。
次に、ツールモデルデータベース709の構成について説明する。
図6に、ツールモデルデータベース709の構成例を示す。ツールモデルデータベース709は本システムで提供されるシミュレーションで使用可能なシミュレーションモデルの情報を格納する。ツールモデルデータベース709は、各シミュレーションモデルの名前、実行するシミュレータ、モデルのバージョン、モデルの時間粒度、入出力ポート数、平均CPU使用率、平均RAM使用量、平均要求通信帯域を格納する。
次に、シミュレーション構成履歴データベース721の構成について説明する。
シミュレーション構成履歴データベース721は、利用者が入力したシミュレーション指示と、シミュレーションタスク生成装置705が出力したシミュレーション構成と、シミュレーション装置101上で行ったシミュレーションの構成と、その実行時間を記録し、シミュレーション構成の自動最適化に用いる事を目的とする。
図7に、シミュレーション構成履歴データベース721の構成例を示す。
シミュレーション構成履歴データベース721は、シミュレーションIDの識別子(ID)、シミュレーションを実行したユーザ名、シミュレーションの開始時間、予想される終了時間、実際の終了時間、シミュレーションタスク入力装置704、シミュレーションタスク生成装置705、シミュレーションタスク発行装置723が出力したシミュレーション構成を記述したファイルへのパス、前記のファイルパスをシミュレーションタスク入力装置704、シミュレーションタスク生成装置705、シミュレーションタスク発行装置723のどれが出力したかを識別するための処理段階IDを含む。
図8Aで、ソフトウェア相互関係データベース002の構成例を説明する。
ソフトウェア相互関係データベース002は、本システムに導入されている全シミュレータ間の相互関係を格納する。図8Aは、ソフトウェア相互関係データベース002のデータベース定義例を示す。データベースの縦軸と横軸に導入されている全シミュレータを配置し、各要素にそのシミュレータ同士の依存関係を記述する。記述される依存関係フラグは、同居、干渉発生、非干渉、未検証が考えられる。
同居とは、この2つのシミュレータがシミュレーションにおいて同時に使われなおかつ、シミュレータ間での通信量が多くなるものであり、同一OS上に導入した場合シミュレーション性能が向上可能である事を示す。
干渉発生とは、該当する2つのシミュレータを同一OS上に導入した場合にシミュレーションの正常終了が不可能になった事を示す。
非干渉とは、前記の干渉にはならず、なおかつシミュレーションにおいて同時に使われるシミュレータのデータ通信量が小さいため、同一OS上に導入してもシミュレーション性能の向上が期待されない事を示す。
未検証とは、該当する2つのシミュレータが同一OS上に導入された実績がない事を示す。シミュレータが新規に導入された場合、導入されたシミュレータにはほかの全てのシミュレータに対して未検証フラグが初期設定される。未検証状態である相互関係に関しては後述する本システムのソフトウェア相互関係解析装置006の最適化機能によって同一OS上に導入してシミュレーションが試行され、その結果によって同居、干渉発生、非干渉のいずれかに更新される。
シミュレーションの試行によりシミュレーション性能が向上した場合、同居に更新される。この場合以前の状態が干渉発生、非干渉、未検証のいずれであっても良い。シミュレーションの試行によって性能が向上しなかった場合、未検証から非干渉に更新される。シミュレーションの試行の結果、正常動作不能になった場合、干渉発生に状態が更新される。
次に、図9Aに、ソフトウェア導入状況データベース011の構成例を示す。本データベースには、OSの識別子である OSID、OSの種類、OSに導入されているシミュレータの一覧、ソフトウェア間干渉を起こすものか否かを示す干渉フラグ、OSを構成する一連のファイルが格納された、OSイメージのファイルパスを格納する。管理するOSが仮想マシン上で動作する仮想OSであっても、物理的な計算機で動作するOSであってもOSイメージのファイルパスを適切に設定する事により、本発明の機能への影響を避ける事が可能である。
次に、図4のステップ204のフロー、すなわち、本システムが管理するOSにシミュレータを導入する処理について、図10で詳細に説明する。
図10は、ソフトウェア導入装置001の処理の一例を示すものである。まず、ステップ7100から7106までの手順で、事前に判明している干渉問題を回避しつつ、旧バージョンの同一ソフトウェアの情報から新規追加のシミュレータの依存関係を推論し検証するべき依存関係数を削減する事が可能にする。
ステップ7100では、本計算機システムの管理者が新規シミュレータの追加を行うため、本システム管理者はシミュレータ名、バージョン、インストーラファイルの場所、既に判明している当該シミュレータと干渉を起こすシミュレータの組の情報が含まれたインストール情報を入力する。ステップ7103でソフトウェア追加フォーマットのシミュレータ名およびバージョンを用いて、ソフトウェア相互関係データベース002を検索し同一名シミュレータが既に導入されているかを探索する。同一名のシミュレータであって、追加しようとするシミュレータよりも旧バージョンが既に導入されている場合、ステップ7104で、ソフトウェア相互関係データベース002より該当するシミュレータの旧バージョンの相互関係値を、追加されるシミュレータの相互関係値にコピーする。同一名シミュレータであって、追加しようとするシミュレータよりも新しいバージョンが既に導入されている場合、または、同一名シミュレータが導入されていない場合はコピーを行わず、追加されるシミュレータの相互関係値を未検証にセットする。
ステップ7105では、前記インストール情報内の既知の当該シミュレータと干渉を起こすシミュレータの組を参照し、ソフトウェア相互関係データベースの該当する位置に干渉発生を設定する。
ステップ7106では、ステップ7104および7105により生成した、本計算機システムに新規導入されるシミュレータと既に導入済みのシミュレータの依存関係の初期値をソフトウェア相互関係データベース002に追加する。
次に、ステップ7101からステップ7116は、前記の手順で算出されたシミュレータの相互関係に基づいて実際にシミュレータをOSにインストールする手順を示す。
まず、ステップ7101で、OSイメージ管理装置004管理下の全てのOSに対し、そのOSに導入済みシミュレータのリストを取得する。ステップ7111で、取得されたリストに含まれる各シミュレータと、追加されるシミュレータをキーワードとしてソフトウェア相互関係データベース002を検索し、リスト内の全てのソフトウェアとの相互関係に干渉発生がない事、かつ同居と判定されたシミュレータが一つ以上存在するかどうかを判断する。上記の条件が真となるOSが存在した場合ステップ7114で、該当したOSに対象とするソフトウェアを導入する。上記条件がOSイメージ管理装置004で管理されている全てのOSで偽であった場合、ステップ7112で、シミュレータ未導入OSをソフトウェア相互関係データベース002よりコピーし、ステップ7113で対象シミュレータを新規インストールする。
上記ステップまでで、対象シミュレータが新規に追加されたOSが少なくとも1つは作成される事になるので、ステップ7116で更新されたOSとソフトウェアの割り付け情報をOSイメージ管理装置004に追加する。
既存OSにシミュレータを追加した場合はソフトウェア導入状況データベースへのデータの追加を行う。ソフトウェア未導入OSに対して導入した場合は、OSイメージ管理装置004のソフトウェア導入状況データベース011にシミュレータを導入したOSのOS種類、OSイメージのファイルパス、ソフトウェア導入状況等の情報を新規作成して追加する。
次に、図11により、シミュレーション実行時に、利用者の入力したシミュレーション構成を実行可能にするOSの組を生成する処理の一例を説明する。図11のステップ801から809のフローが、図4のステップ201に相当し、図11のステップ810から811が、図4のステップ202に相当する。
この処理は、入力として利用者が実行を指示するシミュレーションのモデルと、シミュレーションのモデルを実行するのに最適なシミュレータおよび、そのモデル間接続関係を受け取り、各モデルが必要とするCPU使用率とモデル間通信が必要とする通信帯域から、シミュレーションを実行するのに最適なシミュレータとOSの組を出力する。
ステップ206で手入力または、上位システムによりシミュレーションモデルと、シミュレーションモデルを実行するのに最適なシミュレーションおよび、そのモデル間接続関係が出力される。
ステップ801で、前ステップの入力情報に含まれる全シミュレーションモデルが必要とするCPU使用率をツールモデルデータベース709より検索する。ステップ802で、前ステップの入力情報に含まれるシミュレーションモデルの接続関係でシミュレーション構成履歴データベース721を検索し、各接続関係が必要とする通信帯域を算出する。次に全シミュレータを同一OS上に配置した状態から開始して、同一OS上にグループ化された全モデルのCPU使用率の合計が100%を超えない事、ソフトウェア相互関係データベース002によって干渉発生が設定されていない事を条件にシミュレータの組を分割する。分割する際は、シミュレーションモデル間の通信帯域量が小さいものを優先して分割する。これらの手順により、CPU資源の競合とネットワーク帯域の競合が最小となるシミュレータの組が出力される。ここまでの手順を行うシステムを「アルゴリズム部」と呼称する。
ステップ803で、前ステップで算出したシミュレータの組を受け取り、その組を満たすOSをOSイメージ管理装置から検索する。ステップ804で、シミュレータの各組に含まれるシミュレータを全て含むOSが存在するかを判断する。該当するOSが存在しなかった場合、最も多くのシミュレータを含んでいるOSを選択し、そのOSに含まれなかったシミュレータを別のグループに分割し再度ステップ803の検索を行う事を再帰的に繰り返す。該当するOSが存在した場合はステップ806で全てのグループのOS割り付けが終わったかを判断する。OSが未割当のシミュレータの組が存在した場合、ステップ807に進み、未割当グループに対して上記の処理を繰り返し行う。全てのグループに対してOSが割り付けられた場合、ステップ808に進み、複数組得られたOSの集合の中で最も含まれるOS数が少ないものを選択する。
具体的な事例として、ステップ803からステップ808の処理に関して、図9Aの導入ソフトの例を用いて説明する。例えば、ステップ206で、シミュレーションタスク生成装置705からSim01ver02とSimC2009bとSim0Aver2.3が連動するシミュレーションが出力され、ステップ801、ステップ802の処理がSim01ver02とSimC2009bで一つのOS、Sim0Aver2.3で一つのOSという割当を出力した場合を仮定する。
まず、ステップ803で、Sim01ver02とSimC2009bが導入されたOSをソフトウェア導入状況データベース内001から検索する。この例ではOSIDがOS004のOSが該当する。
次に、ステップ806に移り全てのソフトウェアの組にOSが割り当てられているかを判断するが、まだ、Sim0Aver2.3に対してOSが割り当てられていないため、ステップ803に戻り、Sim0Aver2.3が導入されたOSをソフトウェア導入状況データベース内001から検索する。割当の制約を満たすOSの組み合わせが複数個存在しうる場合、本実施例では最初に発見された組み合わせを採用しているため、この例ではOSIDがOS002のOSが該当する。次にステップ806で全てのソフトウェアの組にOSが割り当てられたと判断され、このシミュレーションを実行可能にするOSの組として、OS004とOS002が出力される。ここまでの手順を行うシステムを「組合せ出力部」と呼称する。
ステップ809で、選択されたOSを全て起動させるのに足る計算資源をシミュレーション装置101上に確保し、計算資源上のローカルストレージに各OSをコピーする。
ステップ810で、全てのOSを起動しシミュレーションを開始する。
ステップ811で動作させたシミュレーションのシミュレータ同士の結合関係、シミュレータ間の通信量、各シミュレーションモデルのCPU使用量、シミュレーションの実行時間、使用したOSの組をシミュレーション構成履歴データベース721に記録し、次回以降のシミュレーション構成最適化に用いる。
次に、OSへのソフトウェア導入状況最適化の処理について述べる。
図12は、OSへのソフトウェア導入状況最適化のための一連の処理を例示したものである。本処理はシミュレーション要求の処理、シミュレータ導入の処理とは別のトリガで働き、シミュレーション装置101を最適化タスク用に十分に確保可能な時間に動作する事が望ましい。よって、本システムは周期的に実行するか、特に時間を指定せず単位時間あたりシステムの処理件数が一定を下回ったときに実行する事が可能である。
ステップ900で、本システムの管理設定に基づき最適化タスクの実行が判断された場合、ステップ903で、シミュレーション構成履歴データベース721を検索し、前回のタスク実行以降に行われた全てのシミュレーションが実行されたシミュレーション構成と、図11のOS割り付けシステムのステップ803までに出力されたシミュレーションの組との間で差分を取得し、ステップ921で差分の有無を判断する。すなわち、シミュレーション構成履歴データベース721において、開始時刻と実終了時刻との差分を求める。
差分が検出できなかったものに関しては対象外であったとして、ステップ920でOSに対する最適化処理を抜ける。
差分が検出されたシミュレーション構成は、OSへのシミュレータ導入状況に問題があり、最適なシミュレーションの実行が不可能であった事を示す。差分を埋めるためには、シミュレーション実行時に同一OS内で実行できなかったシミュレータをインストールすれば良い。差分が検出された場合は、ステップ901、ステップ902、ステップ904を実行する。ステップ904では、差分となったシミュレータを既存OSのコピーに導入し、新たなOSを作成する。ステップ905で、新たなOSを一時的に追加した、OSイメージ管理装置004を使い、ステップ902で検索したシミュレーション構成履歴データベース721上の履歴と同じ構成のシミュレーションを、新規追加したOSを用いて再実行する。
ステップ907で、実行されたシミュレーションが正常に最後まで動作したか否かを判断し、正常動作した場合はその際のシミュレーション実行時間を取得し、ステップ908で、ステップ901でシミュレーション構成履歴データベース721から取得した古いシミュレーション結果と比較する。すなわち、シミュレーション構成履歴データベースにおける開始時刻と実終了時刻との差分を、資源利用量管理データベース711における開始時刻と実終了時刻との差分と比較する。ステップ909でシミュレーションが異常終了した場合、新しく作ったOSはシミュレータの追加の結果シミュレータ間の干渉を発生させたと判断される。当該OSは使用不可としてステップ911で、OSイメージ管理装置004のOSイメージ領域010より削除され、新たに追加されたシミュレータと、もとより導入されていたシミュレータの間で未検証のフラグがあった箇所に干渉発生のフラグを設定する。
シミュレーションが正常動作し、なおかつ前回のシミュレーションよりも短い時間で完了したとステップ912で判断された場合、新しく作成したOSがシミュレータ間の干渉を起こす事なく、シミュレーション性能の向上が可能であると判断され、ステップ913で、新規作成されたOSは保存され、当該OSに導入されたシミュレータはOSイメージ管理装置004のソフトウェア導入状況データベース011に保存され、新たに追加されたソフトともとよりインストールされていたシミュレータ間の相互関係を同居に設定する。
図8B、図9Bは、ツール SimC 2009b と、Sim0A ver1.0320 間の関係が、OS005およびOS003の連携シミュレーションによって同居、と判定されたときの、相互関係データベース、および、ソフトウェア導入状況データベースの更新状況を示している。
ステップ914で、シミュレーションは正常終了したが、シミュレーションの実行時間が前回よりも速く終了しなかった、または同じ時間で終了した場合は、ステップ913でソフトウェア相互関係データベース002内の対応するシミュレータ相互関係を未検証から非干渉に設定する。
上記の最適化ステップを、差分が生じたシミュレーションの全てに対して適用させる。
本実施例によれば、多種類または複数バージョンのソフトウェアが混在する事による不具合を事前に防ぎつつ、シミュレーションの性能が低下しない計算機構成を実現する事ができる。
上記実施例1の具体的な適用例を、実施例2として説明する。すなわち、図13、図14A、図14Bを用いて、本発明の最適な適用先である、シミュレーション支援システムの概要と本発明の位置づけを説明する。
図13は、一元化された計算環境上にシミュレータとシミュレータの利用を支援するシステムを構築し、利用者が望むシミュレーションの結果を提供する計算機システムの概要を示す図である。この計算機システムは、動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102、システム負荷・ユーザ挙動監視システム103、作業用計算機システム106、セキュア通信を用いた画面伝送システム104、利用者端末107、ソフトウェア提供者端末108が内部ネットワークを介して接続されている。上記の構成を以下では、本システムと呼ぶ。利用者端末107及びソフトウェア提供者端末108は、セキュア通信を用いた画面伝送システム104を介してのみ本システムにアクセスする事が可能である。なお、各システム、計算資源、端末は、プロセッサとメモリ及びインターフェースを含む計算機で構成される。
また、組み込みシステムは、前記従来例で述べたように、制御対象のメカニズムと、メカニズムを駆動するハードウェアと、ハードウェアを制御するソフトウェアを組み合わせたものである。
本システムの概要は、利用者端末107から入力または指令を行って、作業用計算機システム106で組み込みソフトウェアを作成し、作成した組み込みソフトウェアのシミュレーションを動的計算資源配分システム100で最適化する。動的計算資源配分システム100は最適化したシミュレーションタスクを、複数の計算機を含むシミュレーション用計算資源101で実行する。シミュレーション用計算資源101は、シミュレーションを実行するシミュレーション用ソフトウェア(シミュレータ)と、シミュレータを実行する計算機とを含み、複数種類のシミュレーションを行うために複数のアプリケーションと、アプリケーションを実行する複数の計算機を備える。組み込みソフトウェアのシミュレーションを実行するときには、利用者端末107から実行するシミュレーションを動的計算資源配分システム100に対して指令する。動的計算資源配分システム100は、利用者端末107からの要求に基づいて、シミュレーション用計算資源101のソフトウェアリソースとハードウェアリソースを確保して、シミュレーションを実行する。
画面伝送システム104は、利用者端末107またはソフトウェア提供者端末108との間でデータの送受信を行うゲートウェイとして機能し、利用者端末107(ソフトウェア提供者端末108)の認証を行い、認証した利用者端末107(またはソフトウェア提供者端末108)との間で暗号化などの秘匿性の高い通信(以下、セキュア通信)によりデータの授受を行う。
また、本システムは、シミュレーション用計算資源101が算出したシミュレーション結果を、グラフなどで利用者端末107へ提供する計算機を備えたシミュレーション結果可視化システム102を含む。
また、本システムは、シミュレーション用計算資源101等のハードウェア、ソフトウェアの稼働状況と、利用者端末107から開発した組み込みシステムの進捗状況などを収集する計算機を備えたシステム負荷・ユーザ挙動監視システム103を備えており、利用者端末107毎の課金情報や統計情報を生成する。
実施例1として述べた本システムは、シミュレーション支援システムの動的計算資源配分システム100の内部に適用する事が可能である。
図14A、図14Bは、前述の動的計算資源配分システム100を備えたシミュレーション支援システムの詳細な構成例を図示するものである。動的計算資源配分システム100は、シミュレーションタスク入力装置704、シミュレーションタスク生成装置705、シミュレーションタスク発行装置723、シミュレーション構成履歴データベース721、動的計算資源管理データベース706、及び、ライセンスサーバ760がネットワークで相互結合されて構成されている。システム負荷・ユーザ挙動監視システム103は、ファイル来歴記録装置800、ユーザ挙動統計化装置801、操作履歴デーベース802、開発進捗抽出装置803、開発進捗情報デーベース804、及び、ツール利用状況デーベース805を備えている。さらに、資源価格データベース810、資源利用量管理データベース711、演算資源付加測定装置812、システム利用料生成装置813、及び、課金データベース814を備えている。
動的計算資源配分システム100は、シミュレーションタスク入力装置704を用いて利用者107が記述したシミュレーション構成、即ちシミュレーションを構成するモデルの選択とモデル間の相互関係の記述を受け取り、シミュレーションの実行に最適なシミュレータの選択と選択されたシミュレータの配置を自動的に構築し、シミュレーションを実行し、実行時の資源利用量とシミュレーション実行時間から自動構築アルゴリズムの最適化を行う。
本発明は、シミュレーションタスク生成装置705およびシミュレーションタスク発行装置723の提供する機能の一部、シミュレーションタスク生成装置705で利用者の要求を満たすシミュレーションモデルおよびシミュレータの選択が出力された者を受け取り、シミュレーション実行可能なOSの集合を出力する段階に利用可能である。
ただし、これは本発明の適用の一例であり、本システムの入力、即ちシミュレーションタスク入力方法に関しては前述の通り、シミュレータと、シミュレータ間の情報通信の関係が定義されている限りでは、利用者が直接入力したものであっても、例示したシミュレーション支援システムが生成したものであっても、本発明の動作には影響はなく入力されたシミュレーションを実行できるOSの組を提供可能である。ただし、利用者の直接入力の場合、使用されるシミュレータの結合関係と、利用者の意図するシミュレーションと要するシミュレータの適合度はその組の多さから人手での最適化は困難であるため、実行されるシミュレーション性能の最適化は不可能になる。
以上述べたように、本実施例によれば、シミュレーションシステムへのソフトウェアの導入やそのシステムの運用を容易にすることが可能になる。また、シミュレーションシステムに、より多くのソフトウェアを導入する事や、同一ソフトウェアの複数バージョンを並行したシステムの運用を行うことが可能になり、シミュレーションサービスの品質を向上させることが可能となる。
次に、本発明の他の実施形態を説明する。発明の構成および、シミュレータの自動導入機能に関しては実施例1のそれぞれ図1、図10で示した構成を用いることができる。図15は、実施例2におけるシミュレーション実行時のOS割り当てのフローを記述したものである。
図15において、実施例1に関して図11の解説で述べたアルゴリズム部に相当する処理、即ち、ステップ800からステップ803までの、ユーザのシミュレーションタスク入力を受け取り、同一OS上で動作させるシミュレータの組を出力する部分までの処理は、実施例1の図11の処理と同様である。
ステップ804で、各シミュレータの組に含まれるシミュレータを全て含むOSを検索し、該当するOSがないと判断された場合、ステップ1400に移る。ステップ1400で、前記条件を満たすOSを新規作成し、ステップ803に戻り、再度OSの割り当てを行う。
ステップ806で全てのシミュレータの組にOSが割り当てられた、と判断されるまで前記プロセスを繰り返す。ステップ806までに割り当てられたOSを起動しシミュレーションを実行する手順は実施例1のテップ809からステップ810と同様である。
ステップ1401でシミュレータが正常終了したかどうかを判断する。異常終了したと判断された場合、ステップ1400で作成したOSを削除し、当該OSに含まれたシミュレータの相互関係のうちソフトウェア相互関係データベース002内で未検証とされているものに関して、干渉発生を設定しステップ803に戻りOSの組を再構成しシミュレーションをやり直す。ここまでのステップを本実施例では「組合せ出力部」と呼称する。
本実施例では要求を満たすOSが存在しなかった場合と新規作成したOSが異常終了した場合、シミュレーションの開始が実施例1よりも遅延する事になる。しかし、実施例1と違い全てのシミュレーション要求に対し、最適なOS構成を出力することが可能となるため、たとえばOS構成の違いによりシミュレーション速度が大きく変化し、OSセットアップのための待機時間よりも長い時間を節約できる場合、本実施例は有効となる。
以上述べたように、本実施例によれば、本実施例によれば、シミュレーションシステムへのソフトウェアの導入やそのシステムの運用を容易にすることが可能になる。また、シミュレーションシステムに、より多くのソフトウェアを導入する事や、同一ソフトウェアの複数バージョンを並行したシステムの運用を行うことが可能になり、シミュレーションサービスの品質を向上させることが可能となる。
次に、本発明の第4の実施形態を説明する。計算資源量に対する制約が強くない場合、実施例1と3を併用する構成を用いることで、本システムが提供するシミュレーションの性質を向上させることが可能となる。
本実施例では、要求を満たすOSが存在しなかった場合、新規にOSを作るフローと条件を緩和して、実施例1の図11で説明したソフトウェア割当フローのステップ804に示した、ソフトウェアの組を分割してOSの組を検索するフローを並列実行して出力された二つのシミュレーション構成を実行し、先に正常に完了したシミュレーション結果を利用者に提供する。
この方法により、利用者がシミュレーションの開始を入力してから、シミュレーション結果が出力されるまでの平均待ち時間を短縮することが可能である。
本発明のもう一つの実施例として、1つのOSに1つのシミュレータだけを導入すると制限した条件での構成が考えられる。図16を用いてその構成を概説する。
本実施例でも、ソフトウェア自動導入装置001、OSイメージ管理装置004、OSイメージ管理装置005、シミュレーション装置101は、実施例1と同一の物を使用する事が可能である。
図17に、本実施例の処理の一例を示す。
ステップ1600で、新規シミュレータの追加がシステム管理者により指示された時に、ステップ1604で、シミュレータ未導入のOSをOSイメージ管理装置004のOSイメージ領域010よりコピーして当該シミュレータをインストールし、ソフトウェア導入状況データベース011を更新する。ステップ1606で、シミュレーション要求を受け取った場合、ステップ1601で、シミュレーション要求に含まれる各シミュレータを含むOSを選択し、シミュレーションを実行する。
本実施例では、シミュレータ同士のデータ交換を行う際に、必ずOSを跨ぐ通信を行うためにシミュレーション性能の低下を招くが、以下の3つの利点が存在する。第一の利点は、シミュレータの導入状況を動的再構成する必要がないため、シミュレーションを解析して最適化する機構を省略できる事である。
第二の利点は、複数のシミュレータが1つのOSで動作しないため、資源利用量に基づいたシミュレータ配置の計算が不必要になる事である。第三の利点は、OSイメージ管理装置004で管理するOSの数が提供可能なシミュレータの数と等しくなり、実施例1の場合と比較し管理するOSの数を減らす事が可能な事である。
よって、シミュレータ同士の通信遅延がシミュレーション性能に影響を及ぼさない場合、または、シミュレーション支援システムを構成する計算資源を最低限に抑制する必要がある場合に、本実施例は有効である。
以上のように、本発明は複数のソフトウェアが連動して動作する計算機システム、または開発システムのプログラムに適用することができる。
なお、実施例では、シミュレーション支援システム及びシミュレーション支援方法についてのみ述べたが、複数のソフトウェアが連動して動作する種々の計算機システムの開発に、本発明を適用できることは言うまでも無い。この場合でも、第一の処理機能又はステップでは、既存の不具合情報を利用しつつ、計算機システムを構成するOSの集合に新規のソフトウェアを自動的に追加する。第二の処理機能又はステップでは、利用者からのシステム開発要求に応じて適切なOSの組を選択し、要求されたシステム構成を実現させる環境を作成する。さらに、第三の処理機能又はステップでは、利用者のシステム開発の要求に対応する実行履歴に基づいた、未検証のソフトウェアの組を試行し、保有するOS上で全てのソフトウェアが正常動作する事を保証しつつ、開発システムの性能を向上させる。上記の3つの特徴的な処理機能又はステップにより、多種類または複数バージョンのソフトウェアが混在する事による不具合を事前に防ぎつつ、開発されたシステムの性能が低下しない構成を実現する事が出来る。
001 ソフトウェア自動導入装置、
002ソフトウェア相互関係データベース、
004 OSイメージ管理装置、
005 OSイメージ検索装置、
006 ソフトウェア相互関係解析装置、
100 動的計算資源配分システム、
101 シミュレーション装置、
102 シミュレーション結果可視化システム、
704 シミュレーションタスク入力装置、
705 シミュレーションタスク生成装置、
706 動的計算資源管理データベース、
709 ツールモデルデータベース9、
711 資源利用量管理データベース、
721 シミュレーション構成履歴データベース、
723 シミュレーションタスク発行装置、
725 タスク指令履歴データベース。

Claims (20)

  1. 各々プロセッサとメモリとを備えた複数の計算資源を含んで構成されたシミュレーション装置において、複数のシミュレータによりシミュレーションタスクを実行するシミュレーションを支援する、シミュレーション支援システムであって、
    生成要求された前記シミュレーションタスクの実行に適したシミュレータの組を生成するタスク生成装置と、
    前記シミュレータの組と該シミュレータの組が動作するオペレーティングシステムとを前記計算資源に導入して、前記シミュレーションタスクの実行を可能にする動的計算資源配分システムと
    を備え、
    既存の不具合情報を利用しつつ、前記オペレーティングシステムの集合に新規のソフトウェアを自動的に追加する第一の機能と、
    前記シミュレーション要求に応じて適切な前記オペレーティングシステムの組を選択し、前記シミュレーションタスクを実行させる環境を生成する第二の機能と、
    前記シミュレーション実行履歴に基づいた、未検証のソフトウェアの組を試行し、保有する前記オペレーティングシステム上で正常動作するソフトウェアの組の情報を生成する第三の機能と
    を有する
    ことを特徴とするシミュレーション支援システム。
  2. 請求項1において、
    前記動的計算資源配分システムは、
    利用者の要求するシミュレーションの構成を入力として受け取り、複数の前記シミュレータが前記シミュレーション装置上で動作する際に起こる干渉を回避して、前記シミュレータと前記オペレーティングシステムの最適な組合せを出力する
    ことを特徴とするシミュレーション支援システム。
  3. 請求項1において、
    前記動的計算資源配分システムは、
    前記各シミュレータと前記オペレーティングシステム、及び前記複数のシミュレータ間の干渉に関する情報を、前記シミュレーションの動作履歴から生成する
    ことを特徴とするシミュレーション支援システム。
  4. 請求項1において、
    前記動的計算資源配分システムは、
    前記シミュレーションタスクの動作ときの、前記複数のシミュレータ同士の結合関係、前記複数のシミュレータ間の通信量、各シミュレーションモデルのCPU使用量、シミュレーションの実行時間、及び使用したオペレーティングシステムの組を、シミュレーション構成の動作履歴として、シミュレーション構成履歴デーベースに記録する
    ことを特徴とするシミュレーション支援システム。
  5. 請求項4において、
    前記動的計算資源配分システムは、
    生成されたタスクと実行されたタスクとの差分の有無の情報に基づき前記シミュレーション構成に関する前記シミュレーション構成履歴デーベースを更新する
    ことを特徴とするシミュレーション支援システム。
  6. 請求項5において、
    前記動的計算資源配分システムは、
    前記タスク間の差分が検出されたシミュレーション構成については、前記オペレーティングシステムへのシミュレータ導入状況に問題があったと判定する
    ことを特徴とするシミュレーション支援システム。
  7. 請求項1において、
    前記動的計算資源配分システムは、
    前記シミュレーションタスクを実行可能な複数のシミュレータに対して該複数のシミュレータ同士の相互関係による干渉を回避するよう前記オペレーティングシステムを選択し、前記複数のシミュレータを導入するソフトウェア自動導入装置と、
    導入済の複数のシミュレータの依存関係の情報を格納するソフトウェア依存関係データベースと、
    前記ソフトウェア自動導入装置で選択した前記オペレーティングシステムを格納し、該オペレーティングシステムに導入済のシミュレータの情報を格納するOSイメージ管理装置と、
    前記シミュレーションタスクの生成要求を受け付けて、該シミュレーションタスクの実行に適したシミュレータの配置情報と、該シミュレータの配置を実現するオペレーティングシステムの組を出力するOSイメージ検索装置と、
    前記シミュレーションタスクの動作履歴に基づき、前記ソフトウェア依存関係データベース及び前記OSイメージ管理装置の情報を更新して、前記オペレーティングシステムへの前記シミュレータの導入状況を最適化するソフトウェア相互関係解析装置と
    を有する
    ことを特徴とするシミュレーション支援システム。
  8. 請求項1において、
    前記シミュレーション装置で提供するシミュレーションを実行する事が可能なシミュレータに対して、該シミュレータ同士の相互関係による干渉を回避するようオペレーティングシステムを選択し、前記シミュレータを導入するソフトウェア自動導入部と、
    前記ソフトウェア自動導入部で作成した前記オペレーティングシステムを格納する機能と、前記オペレーティングシステムに導入済みの前記シミュレータの情報を格納する機能とを備えたストレージ部と、
    前記シミュレーションタスクの生成要求を受け付けて、前記シミュレーションタスクの実行に適したシミュレータの配置情報と、前記シミュレータの配置を実現する前記オペレーティングシステムの組を出力するOSイメージ検索装置と、
    実行された前記シミュレーションタスクの動作履歴に基づき、オペレーティングシステムへのシミュレータ導入状況を最適化するソフトウェア相互関係解析部と
    を更に備えて成る
    ことを特徴とするシミュレーション支援システム。
  9. 請求項8において、
    利用者の要求するシミュレーション構成を入力として受け取り、多種のシミュレータが同一のシミュレーション装置上で動作する際に起こる干渉を回避して、シミュレータとオペレーティングシステムの最適な組合せを出力し、オペレーティングシステムとシミュレータ及び、シミュレータ間の干渉に関する情報をシミュレーションの動作履歴から生成する
    ことを特徴とするシミュレーション支援システム。
  10. 請求項8において、
    前記OSイメージ検索装置は、
    前記シミュレーション装置に導入されているシミュレーションモデルの情報を格納したツールモデルデータベースと、
    前記シミュレーションタスク要求に含まれる各シミュレーションモデルの要求する計算資源量をツールモデルデータベースより検索し、前記各シミュレーションモデルの要求する計算資源量と、シミュレーションモデルの結合関係に基づいて前記シミュレーションタスク要求を満たすシミュレータの配置を算出するアルゴリズム部と、
    前記アルゴリズム部の出力に基づき、前記ストレージ部を検索し、前記シミュレーションタスクの実行が可能なオペレーティングシステムの組を出力する組合せ出力部と
    を備えて成る
    ことを特徴とするシミュレーション支援システム。
  11. 請求項10において、
    前記アルゴリズム部は、
    実行するシミュレーションのモデルと、前記モデルを実行するのに最適なシミュレータと、前記モデル間の結合関係を受け取り、ツールモデルデータベースから各モデルの消費する計算の負荷及び通信の負荷を検索し、前記計算の負荷と通信の負荷が前記シミュレーションを実行する計算機および、計算機間の通信容量を超過しないように、前記シミュレータと前記モデルと計算機との割当関係を算出する
    ことを特徴とするシミュレーション支援システム。
  12. 請求項10において、
    前記組合せ出力部は、
    前記アルゴリズム部の出力する条件を満たすオペレーティングシステムが前記ストレージ部に存在しなかった場合に、前記アルゴリズム部の出力する条件を変更して、シミュレーションが実行可能なオペレーティングシステムの組を出力する機能と、
    前記アルゴリズム部の出力する条件を満たすオペレーティングシステムを新規作成し、シミュレーションが実行可能なオペレーティングシステムの組を出力する機能と、
    前記の2つの手法を同時に行い、先に正常終了した方をシミュレーション結果として採用する機能と
    を備え、
    前記の3つの機能を必要に応じて選択可能である
    ことを特徴とするシミュレーション支援システム。
  13. 請求項8において、
    前記ソフトウェア自動導入部は、
    前記シミュレーション装置に導入されるシミュレータ間の相互関係を格納する機能を備えた、ソフトウェア相互関係データベースを備え、
    シミュレータ導入要求に含まれる既存のシミュレータに関する干渉情報と、前記ソフトウェア相互関係データベース内に格納された旧バージョンのシミュレータの相互関係情報に基づいて、前記シミュレータを導入するオペレーティングシステムを決定し、該当シミュレータ導入済みオペレーティングシステムを作成する
    ことを特徴とするシミュレーション支援システム。
  14. 請求項13において、
    前記ソフトウェア自動導入部は、
    前記ソフトウェア相互関係データベースに、該データベースに導入されている全シミュレータに関し、各シミュレータ同士の依存関係として、同居、干渉発生、非干渉のいずれかの関係を記述し、
    前記同居とは、同一オペレーティングシステム上に導入した場合にシミュレーション性能が向上可能である事を示し、
    前記干渉発生とは、同一オペレーティングシステム上に導入した場合にシミュレーションの正常終了が不可能になった事を示し、
    前記非干渉とは、同一オペレーティングシステム上に導入した場合に、前記の干渉にはならず、かつ導入してもシミュレーション性能の向上が期待されない事を示す
    ことを特徴とするシミュレーション支援システム。
  15. 請求項8において、
    前記ソフトウェア相互関係解析部は、
    前記シミュレーションタスク実行時の計算資源使用量を格納する計算資源量管理データベースと、
    前記シミュレーションタスクが実行された構成を格納するシミュレーション構成履歴データベースと
    を備え、
    前記シミュレーションタスクの実行結果に基づいて、シミュレータの未検証の組を試行し、シミュレータの相互関係の検証およびシミュレーション性能の最適化を行う
    ことを特徴とするシミュレーション支援システム。
  16. 各々プロセッサとメモリとを備えた複数の計算資源を含んで構成されたシミュレーション装置において、複数のシミュレータによりシミュレーションタスクを実行するシミュレーションを支援する、シミュレーション支援システムであって、
    前記シミュレーション装置で提供するシミュレーションを実行する事が可能なシミュレータを自動で導入するソフトウェア自動導入部と、
    前記ソフトウェア自動導入部で作成したオペレーティングシステムを格納する機能と、オペレーティングシステムに導入済みのシミュレータの情報を格納する機能を備えたストレージ部と、
    前記シミュレーションタスクの生成要求を受け付けて、前記シミュレーションタスクの実行に適したシミュレータの配置情報と、前記シミュレータの配置を実現するオペレーティングシステムの組を出力するOSイメージ検索装置と
    を備え、
    入力されたシミュレーション構成を満たすシミュレータが導入されたオペレーティングシステムの組合せを出力する
    ことを特徴とするシミュレーション支援システム。
  17. 請求項16において、
    前記ソフトウェア自動導入部は、
    導入を要求されたシミュレータ毎に他のシミュレータが導入されていない新規のオペレーティングシステムを設定し、前記オペレーティングシステムにシミュレータを導入することで、シミュレータ間の干渉を防ぐ
    ことを特徴とするシミュレーション支援システム。
  18. シミュレーション支援システムによりシミュレーションを支援する方法であるシミュレーション支援方法であって、
    前記シミュレーション支援システムは、
    各々プロセッサとメモリとを備えた複数の計算資源を含んで構成されたシミュレーション装置において、複数のシミュレータによりシミュレーションタスクを実行するシミュレーションを支援し、
    生成要求された前記シミュレーションタスクの実行に適したシミュレータの組を生成するタスク生成装置と、
    前記シミュレータの組と該シミュレータの組が動作するオペレーティングシステムとを前記計算資源に導入して、前記シミュレーションタスクの実行を可能にする動的計算資源配分システムと
    を備えて成るシステムであり、
    前記シミュレーション支援方法は、
    既存の不具合情報を利用しつつ、前記オペレーティングシステムの集合に新規のソフトウェアを自動的に追加する第一のステップと、
    シミュレーション要求に応じて適切な前記オペレーティングシステムの組を選択し、前記シミュレーションタスクを実行させる環境を生成する第二のステップと、
    前記シミュレーション実行履歴に基づいた、未検証のソフトウェアの組を試行し、保有する前記オペレーティングシステム上で正常動作するソフトウェアの組の情報を生成する第三のステップと
    を有する
    ことを特徴とするシミュレーション支援方法。
  19. 請求項18において、
    前記シミュレーションタスクを実行可能な複数のシミュレータに対して該複数のシミュレータ同士の相互関係による干渉を回避するよう前記オペレーティングシステムを選択し、前記複数のシミュレータを導入し、
    導入済の複数のシミュレータの依存関係の情報をソフトウェア依存関係データベースに格納し、
    前記第一のステップで選択した前記オペレーティングシステムと、該オペレーティングシステムに導入済のシミュレータの情報をOSイメージ管理装置に格納し、
    OSイメージ検索装置により、前記シミュレーションタスクの生成要求を受け付けて、該シミュレーションタスクの実行に適したシミュレータの配置情報と、該シミュレータの配置を実現するオペレーティングシステムの組を出力し、
    前記シミュレーションタスクの動作履歴に基づき、前記ソフトウェア依存関係データベース及び前記OSイメージ管理装置の情報を更新して、前記オペレーティングシステムへの前記シミュレータの導入状況を最適化する
    ことを特徴とするシミュレーション支援方法。
  20. 請求項18において、
    利用者の要求するシミュレーションの構成を入力として受け取り、
    複数の前記シミュレータが前記シミュレーション装置上で動作する際に起こる干渉を回避して、前記シミュレータと前記オペレーティングシステムの最適な組合せを出力する
    ことを特徴とするシミュレーション支援方法。
JP2010015382A 2010-01-27 2010-01-27 シミュレーション支援システム及びシミュレーション支援方法 Expired - Fee Related JP5468921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010015382A JP5468921B2 (ja) 2010-01-27 2010-01-27 シミュレーション支援システム及びシミュレーション支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010015382A JP5468921B2 (ja) 2010-01-27 2010-01-27 シミュレーション支援システム及びシミュレーション支援方法

Publications (2)

Publication Number Publication Date
JP2011154522A true JP2011154522A (ja) 2011-08-11
JP5468921B2 JP5468921B2 (ja) 2014-04-09

Family

ID=44540437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010015382A Expired - Fee Related JP5468921B2 (ja) 2010-01-27 2010-01-27 シミュレーション支援システム及びシミュレーション支援方法

Country Status (1)

Country Link
JP (1) JP5468921B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160132414A1 (en) * 2013-06-28 2016-05-12 Samsung Electronics Co., Ltd. Simulation device and distribution simulation system
CN113821307A (zh) * 2021-09-24 2021-12-21 济南浪潮数据技术有限公司 一种虚拟机镜像的快速导入方法、装置及设备
US20230069485A1 (en) * 2021-08-25 2023-03-02 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02232744A (ja) * 1989-03-07 1990-09-14 Fujitsu Ltd シミュレータの構成制御方式
JP2002269248A (ja) * 2001-03-07 2002-09-20 Nec Corp シミュレーション関連商品販売システム及びシミュレーション関連商品販売方法
JP2002342297A (ja) * 2001-05-16 2002-11-29 Nec Corp 分散シミュレーション制御装置
JP2004171066A (ja) * 2002-11-15 2004-06-17 Hitachi Ltd シミュレーション支援装置およびシミュレーション支援プログラム
JP2005339029A (ja) * 2004-05-25 2005-12-08 Canon Inc プログラム連携システム
WO2006001260A1 (ja) * 2004-06-24 2006-01-05 Matsushita Electric Industrial Co., Ltd. 機能管理装置
JP2006079341A (ja) * 2004-09-09 2006-03-23 Mitsubishi Electric Corp 分散シミュレーションシステム及びプログラム
JP2008123195A (ja) * 2006-11-10 2008-05-29 Fuji Xerox Co Ltd 不具合防止装置及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02232744A (ja) * 1989-03-07 1990-09-14 Fujitsu Ltd シミュレータの構成制御方式
JP2002269248A (ja) * 2001-03-07 2002-09-20 Nec Corp シミュレーション関連商品販売システム及びシミュレーション関連商品販売方法
JP2002342297A (ja) * 2001-05-16 2002-11-29 Nec Corp 分散シミュレーション制御装置
JP2004171066A (ja) * 2002-11-15 2004-06-17 Hitachi Ltd シミュレーション支援装置およびシミュレーション支援プログラム
JP2005339029A (ja) * 2004-05-25 2005-12-08 Canon Inc プログラム連携システム
WO2006001260A1 (ja) * 2004-06-24 2006-01-05 Matsushita Electric Industrial Co., Ltd. 機能管理装置
JP2006079341A (ja) * 2004-09-09 2006-03-23 Mitsubishi Electric Corp 分散シミュレーションシステム及びプログラム
JP2008123195A (ja) * 2006-11-10 2008-05-29 Fuji Xerox Co Ltd 不具合防止装置及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160132414A1 (en) * 2013-06-28 2016-05-12 Samsung Electronics Co., Ltd. Simulation device and distribution simulation system
US10379983B2 (en) 2013-06-28 2019-08-13 Samsung Electronics Co., Ltd. Simulation device and distribution simulation system
US20230069485A1 (en) * 2021-08-25 2023-03-02 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems
US11809850B2 (en) * 2021-08-25 2023-11-07 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems
CN113821307A (zh) * 2021-09-24 2021-12-21 济南浪潮数据技术有限公司 一种虚拟机镜像的快速导入方法、装置及设备
CN113821307B (zh) * 2021-09-24 2024-02-23 济南浪潮数据技术有限公司 一种虚拟机镜像的快速导入方法、装置及设备

Also Published As

Publication number Publication date
JP5468921B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
US8443370B2 (en) Method of assigning resources to fulfill a service request by a programming model abstraction layer at a data center based at least in part on a reference of the requested resource class indicative of an abstract amount of resources
JP5332006B2 (ja) 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法
US8549514B2 (en) Distributing customized software products
US8055875B2 (en) Apparatus and method for automatically defining, deploying and managing hardware and software resources in a logically-partitioned computer system
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
CN100378670C (zh) 逻辑分区计算机系统及其输入输出能力的保持方法
JP4902282B2 (ja) 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム
US20110004564A1 (en) Model Based Deployment Of Computer Based Business Process On Dedicated Hardware
CN100375036C (zh) 记忆网格中资源分配的方法和系统
JP5657475B2 (ja) 運用管理装置、及び方法
US20120272204A1 (en) Uninterruptible upgrade for a build service engine
CN102122274A (zh) 虚拟化解决方案的自动化配置和安装
US8171116B2 (en) Configuring processing entities according to their roles in a data processing system with a distributed architecture
JP6198229B2 (ja) 並列化可能で信頼できるインストールのためのインストールエンジン及びパッケージフォーマット
US20060250970A1 (en) Method and apparatus for managing capacity utilization estimation of a data center
JP5468921B2 (ja) シミュレーション支援システム及びシミュレーション支援方法
CN108920171A (zh) 固件更新方法及装置、电子设备
JP4798395B2 (ja) リソース自動構築システム及び自動構築方法並びにそのための管理用端末
EP3754489A1 (en) Method for evaluating application deployment, apparatus, computer program product, and readable medium
CN112015371B (zh) 一种非嵌入式软件平台下的软件开发装置
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN113515293A (zh) 一种管理DevOps工具链的方法和系统
KR20150137766A (ko) 가상머신 스택 생성 시스템 및 방법
GB2394570A (en) Installing software components according to component characteristics
CN115604101B (zh) 系统管理方法及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees