(57)【要約】【課題】性能ボトルネックとなる箇所を予測可能なシステム設計を行う。【解決手段】システム開発に用いるシステム分析装置は、システム設計情報をシステム機能部品に分割するシステム部品分解部、類似システム検出結果および類似機能検索結果を検出するシステム比較部、性能情報と結びついたシステム部品性能情報を得る部品性能分析部、並びに、類似システム検出結果と、システム部品性能情報から、性能ボトルネックとなるシステム機能部品を検出する性能ボトルネック検出部、を含む。【選択図】図１
2020149681.tif 000002
【特許請求の範囲】
【請求項１】
システム開発に用いるシステム分析装置であって、
開発するシステムの開発システム設計情報と、過去に開発されたシステムの過去システム設計情報とを、それぞれを構成する、開発システム機能部品と、過去システム機能部品とに分割するシステム部品分解部、
開発するシステムの開発システム要件と、過去に開発されたシステムの過去システム要件、および前記開発システム機能部品と、前記過去システム機能部品とを用いて、前記開発システム設計情報に類似した前記過去システム設計情報を、類似システム検出結果として検出すると共に、前記開発システム設計情報に含まれる前記開発システム機能部品と類似する前記過去システム機能部品の一覧を、類似機能検索結果として検出するシステム比較部、
前記開発システム要件、前記過去システム要件、前記開発システム機能部品、前記過去システム機能部品、および過去のシステムの過去システム測定結果と、を用いて、前記開発システム機能部品および前記過去システム機能部品が、性能情報と結びついたシステム部品性能情報を得る部品性能分析部、並びに、
前記類似システム検出結果と、前記システム部品性能情報から、性能ボトルネックとなるシステム機能部品を検出する、性能ボトルネック検出部、
を含むシステム分析装置。
【請求項２】
前記システム部品分解部は、
入力された前記開発システム設計情報および前記過去システム設計情報を解析し、これらのシステム設計情報を所定の粒度の機能単位に分割し、前記開発システム機能部品および前記過去システム機能部品として出力する請求項１に記載のシステム分析装置。
【請求項３】
前記部品性能分析部は、
前記過去システム設計情報を分割して得られた前記過去システム機能部品と、
前記過去システム設計情報を元に開発された過去システムの前記過去システム測定結果と、を入力とし、
分割された前記過去システム機能部品に関する、データ入力パターンとＨ／Ｗリソース使用量との関係を出力する請求項１に記載のシステム分析装置。
【請求項４】
前記システム比較部は、
前記過去システム設計情報の、Ｈ／Ｗ構成情報およびＳ／Ｗ構成情報、またはそのいずれか一方を、前記開発システム設計情報のＨ／Ｗ構成情報およびＳ／Ｗ構成情報、またはそのいずれか一方と比較し、構成が類似した前記過去システム設計情報を検出する請求項１に記載のシステム分析装置。
【請求項５】
前記システム比較部は、
前記過去システム設計情報の、Ｈ／Ｗ構成情報およびＳ／Ｗ構成情報、またはそのいずれか一方を、前記開発システム設計情報のＨ／Ｗ構成情報およびＳ／Ｗ構成情報、またはそのいずれか一方と比較し、構成が類似した前記過去システム設計情報を検出し、さらにそれら相違点をシステム相違点として検出する請求項１に記載のシステム分析装置。
【請求項６】
前記性能ボトルネック検出部は、
前記システム部品性能情報と、前記類似システム検索結果から、前記開発システム設計情報について推定される性能ボトルネックを性能ボトルネック検出結果として検出する請求項１に記載のシステム分析装置。
【請求項７】
前記性能ボトルネック検出部は、
前記システム部品性能情報と、前記類似システム検索結果と、前記システム相違点から、前記開発システム設計情報について、ボトルネックとなる可能性を判定できない前記開発システム構成部品を検出する、請求項１に記載のシステム分析装置。
【請求項８】
前記性能ボトルネック検出結果と、前記類似機能検索結果から、開発するシステムにおいてボトルネックとなる可能性のある個所、および、ボトルネックを解消するために適用可能な、類似機能を提示し、その内容を表示するシステム設計提案部を、さらに含む請求項６に記載のシステム分析装置。
【請求項９】
前記システム設計提案部は、
前記性能ボトルネックに含まれる、各部品におけるスケーラビリティを元に、前記開発システムにおいて、Ｈ／Ｗを増強することでボトルネックを解消できるかを否か判定する請求項８に記載のシステム分析装置。
【請求項１０】
前記システム設計提案部は、
前記類似機能検索結果と、前記性能ボトルネック検出結果を元に、検出されたボトルネックにおいて前記類似機能検索結果より得られる類似する機能で、前記開発システムの機能を代替することで、ボトルネックを解消できるか否かを判定する請求項８に記載のシステム分析装置。
【請求項１１】
前記システム設計提案部は、
前記ボトルネック検出結果を元に、ボトルネックとなるか否かを判定できなかった箇所を明示する請求項８に記載のシステム分析装置。
【請求項１２】
過去に開発したシステムに関する２回分以上の過去の計算機Ｈ／Ｗ性能特性測定結果、過去に開発したシステムに関するシステム構成部品情報およびシステム要件を入力し、システム部品性能特性情報として出力するＨ／Ｗ性能特性分析部、
前記システム比較部で得られた前記類似システム検索結果と、前記Ｈ／Ｗ性能特性分析部で得られた前記システム部品性能特性情報とを入力し、システム部品性能倍率情報として出力する部品性能倍率分析部、をさらに含み、
前記性能ボトル検出部は、前記類似システム検出結果、前記システム部品性能情報、および前記システム部品性能倍率情報から、性能ボトルネックとなるシステム機能部品を検出する、請求項１に記載のシステム分析装置。
【請求項１３】
前記Ｈ／Ｗ性能特性分析部は、前記過去に開発したシステムに関する２回分以上の過去の計算機Ｈ／Ｗ性能特性測定結果と、前記過去に開発したシステムに関するシステム構成部品情報およびシステム要件とを、各部品と性能測定値に紐付けして、前記システム部品性能特性情報として出力する、請求項１２に記載のシステム分析装置。
【請求項１４】
前記部品性能倍率分析部は、前記システム比較部で得られた前記類似システム検索結果と、前記Ｈ／Ｗ性能特性分析部で得られた前記システム部品性能特性情報とから、分析すべきシステム部品性能特性情報を特定し、測定値推移の傾向と、入力データの変化の傾向との間の相関関係を推定し、その結果を前記システム部品性能倍率情報として出力する、請求項１２に記載のシステム分析装置。
【請求項１５】
前記性能ボトルネック検出部は、
前記システム部品性能情報と、前記類似システム検索結果から、前記開発システム設計情報について推定される性能ボトルネックを性能ボトルネック検出結果として検出する請求項１２に記載のシステム分析装置。
【請求項１６】
前記性能ボトルネック検出部は、
前記システム部品性能情報と、前記類似システム検索結果と、前記システム相違点から、前記開発システム設計情報について、ボトルネックとなる可能性を判定できない前記開発システム構成部品を検出する、請求項１２に記載のシステム分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム開発に用いるシステム分析装置に関し、特に、システム開発における性能ボトルネックを予測するシステム分析装置に関する。
【背景技術】
【０００２】
システムの開発過程では、システム要件を整理し、システム要件を満たすシステムの設計が行われる。システム要件は、一般に、機能と非機能に分けることができる。この場合、機能は、何らかの入力を受付、何らかの出力をユーザーに提供するシステム特性を指し、一方、非機能は、機能の実現に付随する、機能の使い安さや実行速度などの、機能以外のシステム特性全般を指す。
【０００３】
システム設計において、機能は、開発されるシステムに要求されるものとして厳格に定義され、その機能を実現するために、Ｈ／Ｗ（ハードウエア）やＳ／Ｗ（ソフトウエア）の構成が検討される。また、機能実現の検討方法や情報整理方法等は、非機能に比較して確立されているため、システム開発終盤で機能の実現が困難なことに気づくことは稀である。
【０００４】
一方、非機能の多くは、機能を実現するためのＨ／ＷやＳ／Ｗの構成が複雑に影響しあった結果として表れるシステム特性である。このため、開発初期に非機能要件を厳格に定義しても、設計段階で非機能要件を確実に満たす構成を定義することは困難であり、そもそも非機能要件の厳密な定義がなされないまま、システム開発を開始することも多い。非機能の中でも、特に、速度性能は非機能の持つ特性が強く表れるため、システム開発の製造、実装、試験といった中盤以降の工程になってから要件を満たしていないことが明らかになることも多い。
【０００５】
しかし、機能を実現するためのＨ／ＷやＳ／Ｗの構成が定まった開発中盤以降のシステムに対し、速度性能要件を満たすため変更を加えるには、既に動作確認ができている機能を損なわないように綿密な検討が必要となり、設計変更が困難になりがちであり、また設計変更の結果、実現している機能の安定性等を損なうこともある。
【０００６】
これに対して、特許文献１には、新たに開発するシステムと、過去に開発したシステムを比較して、類似するシステム要件を持つ過去に開発したシステムを検出し、新たに開発するシステムのシステム要件と、過去に開発されたシステムのシステム要件の相違から、過去に開発したシステムに対する性能の比率を予測し、新たに開発するシステムのサイジングを行う方法が開示されている。
【０００７】
また、特許文献２には、新たに開発するシステムのシステム要件、過去に開発したシステムのシステム要件、システム設計情報、および過去に開発したシステムの運用情報を入力とすることで、精度の高いシステムサイジングを実現する方法が開示されている。
【０００８】
また、特許文献３には、ライブラリやスレッドといった比較的細かい粒度でＳ／Ｗの性能を測定することで、Ｓ／Ｗにおける局所的な性能を評価する方法が開示されている。
【０００９】
また、特許文献４には、システムモデルの情報を蓄積したデータベースから、構築要件を満たすシステムモデルを選定する情報システム構築支援装置の構成が開示されている。
【００１０】
また、特許文献５には、Ｈ／Ｗの開発計画に関する情報を出力する開発情報生成装置として、既存Ｈ／Ｗの仕様と新規Ｈ／Ｗの要求とを満たすＨ／Ｗを選定し、推奨Ｈ／Ｗ構成の情報を出力する装置の構成が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−１３４５１１号公報
【特許文献２】特許６２９９５９９号公報
【特許文献３】特開２０１４−１４９６０６号公報
【特許文献４】国際公開第２０１４／０５４２３２号
【特許文献５】国際公開第２０１５／１４５５４０号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、引用文献１、２に開示された方法では、システムサイジングにおける局所性については言及されていない。つまり、システムは一般に複数の機能の連携によって実現されており、ハードウェア性能の拡張比率に対するシステム性能の拡張比率（以後、単に「スケーラビリティ」ともいう）は、各機能で必ずしも一致しない。このため、例えば、類似したシステム要件とシステム設計を持つ２つのシステムＡ、Ｂがあり、システムＡに求められるスループットがシステムＢに求められるスループットの２倍であった場合、システムＢを構築するハードウェアのスループット全てを２倍にしても、システムＡの要件を満たせるとは限らない。
【００１３】
引用文献１、２の方法では、システム全体でスケーラビリティを定義してしまうため、開発したシステムのスケーラビリティを評価し、新たに開発するシステムに適用する際に、スケーラビリティの評価を必要以上に低く見積もってしまう可能性が高く、結果として過剰なハードウェア増強など、無駄なコストをかけることになる。
【００１４】
また、引用文献３の方法では、Ｓ／Ｗ性能評価における局所性には言及しているが、システム入力の変化によって負荷がどのように変わるか、つまりスケーラビリティを評価する方法についての記載はない。
【００１５】
また、引用文献４の方法では、ある運用情報における性能充足状況だけから、類似するシステムの要件を参照して性能予測をしているが、参照している運用情報自体は、スナップショットに過ぎない。このため、多くのシステムにおいては一部の機能しか動いていない状況や、１００回／秒で動くこともある機能が１０回／秒で動いているといった偏った状況で、システム負荷を評価してしまう可能性が高い。少なくとも、性能評価が難しい、複雑なシステムになるほど、同じ運用中であっても、タイミングによって各機能の駆動状況が大きく異なる傾向がある。その結果、システム負荷特性を過少、または過大に評価するリスクがある。
【００１６】
また、引用文献５は、設計の予測をするものであるが、既存のシステムにおけるＨ／ＷとＳ／Ｗの機能上の関わりを解釈したうえで、同じまたはほぼ同じシステムのＨ／Ｗ変更に伴うＳ／Ｗ変更の必要箇所や難易度を特定するものであり、非機能、特に速度性能や資源効率性といった点について予測、提案する方法に関するものではない。
【００１７】
特に、引用文献２の方法では、実際の運用情報を取得しているが、一般的な運用情報では、異常発生時にしか動かない機能のスケーラビリティなど、限定的な場合でしか動作しない機能を含んだスケーラビリティを評価できず、そのような機能のスケーラビリティが低い場合、システムのスケーラビリティを不当に高く評価してしまうリスクがある。
【００１８】
そこで、本発明は、システムサイジングにおける局所性に着目し、システムを開発するにあたり、性能ボトルネックとなる箇所を予測し、ボトルネック解消に必要となるシステム設計を提案できるシステム分析装置の提供を目的とする。
【課題を解決するための手段】
【００１９】
本発明は、システム開発に用いるシステム分析装置であって、
開発するシステムの開発システム設計情報と、過去に開発されたシステムの過去システム設計情報とを、それぞれを構成する、開発システム機能部品と、過去システム機能部品とに分割するシステム部品分解部、
開発するシステムの開発システム要件と、過去に開発されたシステムの過去システム要件、および開発システム機能部品と、過去システム機能部品とを用いて、開発システム設計情報に類似した過去システム設計情報を、類似システム検出結果として検出すると共に、開発システム設計情報に含まれる開発システム機能部品と類似する過去システム機能部品の一覧を、類似機能検索結果として検出するシステム比較部、
開発システム要件、過去システム要件、開発システム機能部品、過去システム機能部品、および過去のシステムの過去システム測定結果と、を用いて、開発システム機能部品および過去システム機能部品が、性能情報と結びついたシステム部品性能情報を得る部品性能分析部、並びに、
類似システム検出結果と、システム部品性能情報から、性能ボトルネックとなるシステム機能部品を検出する、性能ボトルネック検出部、
を含むシステム分析装置である。
【発明の効果】
【００２０】
本発明にかかるシステム分析装置では、新たなシステム開発において、開発前の性能予測、例えば速度性能予測の精度が向上し、システム開発の途中において性能不足を発見するリスクが低減できる。また、システム開発の途中から性能不足を補う場合にかかるコストや開発の遅れを防止できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態１にかかるシステム分析装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるシステム分析装置に含まれるシステム部品分解部の動作を示すフローチャートである。
【図３】本発明の実施の形態１にかかるシステム分析装置に含まれる部品性能分析部の動作を示すフローチャートである。
【図４】本発明の実施の形態１にかかるシステム分析装置に含まれるシステム比較部の動作を示すフローチャートである。
【図５】本発明の実施の形態１にかかるシステム分析装置に含まれる性能ボトルネック検出部の動作を示すフローチャートである。
【図６】本発明の実施の形態１にかかるシステム分析装置に含まれるシステム設計提案部の動作を示すフローチャートである。
【図７】本発明の実施の形態２にかかるシステム分析装置の構成を示すブロック図である。
【図８】本発明の実施の形態２にかかるシステム分析装置に含まれるＨ／Ｗ性能特性分析部の動作を示すフローチャートである。
【図９】本発明の実施の形態２にかかるシステム分析装置に含まれる部品性能倍率分析部の動作を示すフローチャートである。
【図１０】本発明の実施の形態２にかかるシステム分析装置に含まれる性能ボトルネック検出部の動作を示すフローチャートである。
【発明を実施するための形態】
【００２２】
実施の形態１．
本発明の実施の形態１にかかる、システム開発に用いるシステム分析装置について、以下に説明する。なお、本発明は、以下の実施の形態１、２により限定されるものではない。
【００２３】
新たにシステムを開発する場合、新たに開発するシステムのシステム要件と、過去に開発されたシステムのシステム要件とを比較し、過去に開発したシステムに対する性能の比率を予測し、新たに開発するシステムのサイジングが行われる。
【００２４】
しかしながら、例えば、新たに開発するシステムＡが、過去に開発したシステムＢと類似したシステム要件とシステム設計を持ち、システムＡに求められるスループットがシステムＢに求められるスループットの２倍である場合、システムＢを構築するハードウェアのスループット全てを２倍にしても、新たに開発するシステムＡの要件を満たすとは限らない。これは、システムは、一般に複数の機能の連携によって実現されており、ハードウェア性能の拡張比率に対する、システム性能の拡張比率（スケーラビリティ）は、各機能で必ずしも一致しないためである。
【００２５】
例えば、システムＢが機能Ｂ１、Ｂ２、Ｂ３の連携によって実現している場合、機能Ｂ１はｎ倍のスループットを実現するために、ｎ倍のＨ／Ｗ性能を必要とするが、機能Ｂ２はｎ乗、機能Ｂ３はｌｏｇｎ倍となるなど、Ｈ／Ｗが得意とする処理の特性や、Ｓ／Ｗの制御論理などに影響を受けて、各機能Ｂ１、Ｂ２、Ｂ３でスケーラビリティは必ずしも一致しない。また、データの入力量や内容によって、各機能Ｂ１、Ｂ２、Ｂ３の動作頻度や比率が変わると、速度性能ボトルネックとなる機能も変わってしまう。
【００２６】
このため、上述のように、システム全体でスケーラビリティを定義してしまう方法（特許文献１、２）では、開発したシステムのスケーラビリティを評価し、新たに開発するシステムへ適用する際に、スケーラビリティの評価を必要以上に低く見積もってしまう可能性が高く、結果として過剰なハードウェア増強など、無駄なコストをかけることになる。
【００２７】
また、実際の運用情報を取得するとしている方法（特許文献２）においても、一般的な運用情報では、異常発生時にしか動かない機能のスケーラビリティなど、限定的な場合でしか動作しない機能を含んだスケーラビリティを評価しきれず、そのような機能のスケーラビリティが低い場合、システムのスケーラビリティを不当に高く評価してしまうリスクがある。
【００２８】
これに対して、本発明の実施の形態１では、以下で説明するシステム分析装置を用いることにより、新たなシステムを開発するにあたり、性能ボトルネックとなる箇所を精度よく予測し、ボトルネック解消に必要となるシステム設計を提案する。これにより、新たなシステムの開発において、性能要件の実現を阻害するシステムボトルネックを、システムの設計段階で発見する確率を高め、効率的なシステム設計が可能となる。
【００２９】
図１は、全体が１００で表される、本発明の実施の形態１にかかるシステム分析装置の構成を示すブロック図である。本発明の実施の形態１にかかるシステム分析装置１００は、例えば、ＣＰＵ、メモリ、入出力インターフェイス等を備えたコンピュータ装置であり、具体的には、開発するシステムの要件等と過去に開発したシステムの要件等を、構成する機能部品単位に分解するシステム部品分解部１０６と、分割された部品の性能を分析する部品性能分析部１１６と、開発するシステムの要件等と、過去に開発したシステムの要件等とを、部品単位で比較し、類似点／相違点を検出するシステム比較部１０９と、検出した類似点／相違点から、性能ボトルネックとなる可能性のある個所を検出する性能ボトルネック検出部１１３と、性能ボトルネック検出部の結果に従って提案を行うシステム設計提案部１１５とを備えたコンピュータ装置である。以下に、図１〜６を用いて、それぞれの内容について説明する。
【００３０】
［システム部品分解部：１０６］
図２は、システム分析装置１００に含まれるシステム部品分解部１０６の動作を示すフローチャートである。システム部品分解部１０６では、以下の工程Ｓ２０１〜Ｓ２０３によりシステム設計情報の分解が行われ、システム構成部品情報１０７が得られる。
【００３１】
Ｓ２０１：システム部品分解部１０６にシステム設計情報を入力する。システム設計情報は、新たに開発するシステムに関する今回のシステム設計１０２、および過去に設計されたシステムに関する過去のシステム設計１０４からなる。なお、図１に示すように、システム設計情報はシステム分析装置１００の外部から入出力インターフェイスを介して入力されるが、入力手段は特に限定されない。また、今回のシステム設計１０２および過去のシステム設計１０４は、外部のメモリに格納されていても良い。
【００３２】
Ｓ２０２：入力されたシステム設計情報を分析して、任意の粒度で、１つ以上の部品（サブシステム）単位に分解する。システム設計情報を部品単位に分解する方法は、システム設計の章構成を分解する方法、構成図を解析して分解する方法などがあるが、特に方法は限定されない。
【００３３】
Ｓ２０３：Ｓ２０２で得られた、部品単位に分解されたシステム構成部品情報１０７を出力する。システム構成部品情報１０７は、部品単位に分解された今回のシステム設計１０２に関する情報と、部品単位に分解された過去のシステム設計１０４に関する情報の双方を含む。出力された情報は、例えばメモリに格納される。
【００３４】
［部品性能分析部：１１６］
図３は、システム分析装置１００に含まれる部品性能分析部１１６の動作を示すフローチャートである。部品性能分析部１１６では、以下の工程Ｓ３０１〜Ｓ３０６により、システム部品性能情報１０８が得られる。
【００３５】
Ｓ３０１：システム部品分解部１０６で得られたシステム構成部品情報１０７を、部品性能分析部１１６に入力する。システム構成部品情報１０７の入力にあたり、入力方法は特に限定されない。
【００３６】
Ｓ３０２：今回のシステム要件１０１および過去のシステム要件１０３を、部品性能分析部１１６に入力する。今回のシステム要件１０１、過去のシステム要件１０３は、システム分析装置１００の外部から入出力インターフェイスを介して入力される。
【００３７】
Ｓ３０３：過去の測定結果１０５を、部品性能分析部１１６に入力する。過去の測定結果１０５は、システム分析装置１００の外部から入出力インターフェイスを介して入力される。なお、ここでいう過去の測定結果とは、一般的な運用状態におけるシステムへのデータ入力量、入力変動幅に限定されない。例えば、システムの限界性能を判定するために使用する、システムに高い負荷のかかるデータ入力パターンなど、できるだけ多くのパターンを用いた測定結果を含むことが好ましい。過去の測定結果１０５として多様なパターンを入力することにより、各システム構成部品に対するデータ入力と、Ｈ／Ｗリソースの使用量や応答速度との相関関係（以後、単に「スケーラビリティ」とも言う）を、精度よく判定することが可能になる。
【００３８】
Ｓ３０４：Ｓ３０２で入力された過去のシステム要件１０３と、Ｓ３０３で入力された過去の測定結果１０５の紐付けを行う。情報の紐づけ方法は特に限定されない。なお、過去のシステム要件１０３と過去の測定結果１０５は、最初から紐付けされた状態で入力されても構わない。
【００３９】
Ｓ３０５：Ｓ３０１で入力したシステム構成部品情報１０７と、Ｓ３０４で紐付けされたシステム要件１０３および過去の測定結果１０５から、システム部品性能情報１０８を作成する。システム部品性能情報１０８は、システム部品分解部１０６で得られたシステム構成部品情報１０７についての、部品単位の性能である。システム部品性能情報１０８の作成方法は特に限定されない。
【００４０】
Ｓ３０６：Ｓ３０５で作成したシステム部品性能情報１０８を出力する。出力された情報は、例えばメモリに格納される。
【００４１】
［システム比較部：１０９］
図４は、システム分析装置１００に含まれるシステム比較部１０９の動作を示すフローチャートである。システム比較部１０９では、以下の工程Ｓ４０１〜Ｓ４０６により、システム相違点情報１１２が得られる。
【００４２】
Ｓ４０１：システム部品分解部１０６で得られた、部品単位に分解されたシステム構成部品情報１０７を、システム比較部１０９に入力する。システム構成部品情報１０７の入力方法は特に限定されない。
【００４３】
Ｓ４０２：今回のシステム要件１０１および過去のシステム要件１０３を、システム比較部１０９に入力する。今回のシステム要件１０１および過去のシステム要件１０３の入力方法は特に限定されない。
【００４４】
Ｓ４０３：Ｓ４０１で入力したシステム構成部品情報１０７（今回のシステム構成部品情報および過去のシステム構成部品を含む）を用いて、過去のシステム構成部品情報と今回のシステム構成部品情報とを比較し、類似機能検索結果１１０を作成する。類似機能検索結果１１０の作成方法は特に限定されないが、例えば、今回のシステム要件に含まれるシステム機能部品と類似する、前回のシステム機能部品の一覧として作成される。
【００４５】
Ｓ４０４：Ｓ４０２で入力した今回のシステム要件１０１および過去のシステム要件１０３を用いて、過去のシステム要件１０１と今回のシステム要件１０３とを比較し、類似システム検索結果１１１を作成する。類似システム検索結果１１１の作成方法は特に限定されない。
【００４６】
Ｓ４０５：Ｓ４０３で作成した類似機能検索結果１１０と、Ｓ４０４で作成した類似システム検索結果１１１とを元に、類似する今回のシステム要件と過去のシステム要件について、システム部品構成情報を比較し、類似するシステム部品構成情報を検出してシステム相違点情報１１２を作成する。システム相違点情報１１２の作成方法は特に限定されない。
【００４７】
Ｓ４０６：Ｓ４０３で作成した類似機能検索結果１１０、Ｓ４０４で作成した類似システム検索結果１１１、およびＳ４０５で作成したシステム相違点情報１１２を出力する。
出力された情報は、例えばメモリに格納される。
【００４８】
［性能ボトルネック検出部：１１３］
図５は、システム分析装置１００に含まれる性能ボトルネック検出部１１３の動作を示すフローチャートである。性能ボトルネック検出部１１３では、以下の工程Ｓ５０１〜Ｓ５０６により、ボトルネック検出結果１１４が得られる。
【００４９】
Ｓ５０１：システム比較部１０９で得られた類似システム検索結果１１１およびシステム相違点情報１１２を、性能ボトルネック検出部１１３に入力する。類似システム検索結果１１１、システム相違点情報１１２の入力にあたり、入力方法は特に限定されない。
【００５０】
Ｓ５０２：部品性能分析部１１６で得られたシステム部品性能情報１０８を、性能ボトルネック検出部１１３に入力する。システム部品性能情報１０８の入力にあたり、入力方法は特に限定されない。
【００５１】
Ｓ５０３：Ｓ５０１で入力した類似システム検索結果１１１、Ｓ５０２で入力したシステム部品性能情報１０８から、今回のシステムのシステム構成で性能要件を満たせないシステム構成部品を検出する。性能要件を満たせない部品の検出にあたり、検出方法は特に限定されない。
【００５２】
Ｓ５０４：Ｓ５０３で検出した性能要件を満たせないシステム構成部品について、Ｓ５０２で入力したシステム部品性能情報１０８から得られるスケーラビリティ情報を紐づけし、ボトルネック検出結果１１４を作成する。ボトルネック検出結果１１４の作成にあたり、作成方法は特に限定されない。
【００５３】
Ｓ５０５：Ｓ５０１で入力したシステム相違点情報１１２を元に、新たに開発する今回のシステムのシステム構成で、性能要件を満たせるか否かを判定できないシステム構成部品を検出する。検出方法は特に限定されない。
【００５４】
Ｓ５０６：Ｓ５０４、Ｓ５０５で作成したボトルネック検出結果を出力する。出力された情報は、例えばメモリに格納される。
【００５５】
［システム設計提案部：１１５］
図６は、システム分析装置１００に含まれるシステム設計提案部１１５の動作を示すフローチャートである。システム設計提案部１１５では、以下の工程Ｓ６０１〜Ｓ６０５により、システム設計提案情報が得られる。
【００５６】
Ｓ６０１：システム比較部１０９で得られた類似機能検索結果１１０をシステム設計提案部１１５に入力する。類似機能検索結果１１０の入力にあたり、入力方法は特に限定されない。
【００５７】
Ｓ６０２：性能ボトルネック検出部１１３で得られたボトルネック検出結果１１４をシステム設計提案部１１５に入力する。ボトルネック検出結果１１４の入力にあたり、入力方法は特に限定されない。
【００５８】
Ｓ６０３：Ｓ６０２で入力したボトルネック検出結果１１４からスケーラビリティ情報を抽出し、スケーラビリティ範囲内で対応可能な機能と、スケーラビリティ範囲内で対応不可能な機能とを判別する。スケーラビリティ範囲内で対応可能な機能と、スケーラビリティ範囲内で対応不可能な機能を判別にあたり、判別方法は特に限定されない。
【００５９】
Ｓ６０４：Ｓ６０３で作成したスケーラビリティ範囲内で対応不可能な機能について、Ｓ６０１で入力した類似機能検索結果１１０から類似するシステムの構成を検索し、システム設計提案情報を作成する。類似するシステムの構成を検索しシステム設計提案情報を作成するにあたり、作成方法は特に限定されない。
【００６０】
Ｓ６０５：Ｓ６０３で作成したスケーラビリティ範囲内で対応不可能な機能、およびＳ６０４で作成したシステム設計提案情報を、任意の方法でユーザーに提示する。提示方法は、例えばディスプレイへの表示等でも良い。
【００６１】
Ｓ６０６：Ｓ６０２で入力したボトルネック検出結果１１４から、ボトルネックとなるか否かを判定できなかった機能を、リスクのある機能としてユーザーに提示する。提示方法は、例えばディスプレイへの表示等でも良い（システム設計提案部）。
【００６２】
以上で述べたように、本発明の実施の形態１にかかるシステム分析装置では、開発するシステムと、過去に開発したシステムの情報を部品単位に分解し、システムをサイジングする場合に性能ボトルネックとなる箇所を予測し、ボトルネック解消に必要となるシステム設計を提案することができる。このため、新たなシステムを開発する場合に、開発前における、例えば速度性能のような性能の予測精度が向上し、システム開発の途中において性能不足を発見するリスクが低減できる。また、システム開発の途中から性能不足を補う場合に発生する追加のコストや開発の遅れを防止できる。
【００６３】
実施の形態２．
本発明の実施の形態２にかかる方法では、本発明の実施の形態１で述べた方法に加え、Ｈ／Ｗ性能のスケーラビリティをさらに精度よく評価し、システム設計提案部における提案において、より適切なＨ／Ｗの提案を可能とする。その方法について以下に説明する。
【００６４】
図７は、全体が７００で表される、本発明の実施の形態２にかかるシステム分析装置の構成を示すブロック図である。本発明の実施の形態２にかかるシステム分析装置７００は、例えば、ＣＰＵ、メモリ、入出力インターフェイス等を備えたコンピュータ装置である。
【００６５】
図７において、破線は、図１に示す実施の形態１のシステム分析装置１００と共通のフローであり、実線は、本実施の形態２のシステム分析装置７００の独自のフローである。Ｈ／Ｗ性能特性分析部７１８、および部品性能倍率分析部７２０が、システム分析装置７００の独自の構成となっている。
【００６６】
具体的には、実施の形態１の構成（図１参照）に加え、過去の設計等を、実施の形態１にて述べたシステム部品分解部によって構成機能部品単位に分解したシステム構成部品情報７０７と、過去の要件および条件の異なる２回分以上の性能測定によって得られた、過去のシステムにおけるＨ／Ｗ性能特性測定結果７１７とを入力とし、機能部品毎の性能特性を分析するＨ／Ｗ性能特性分析部７１８と、過去のシステムにおける性能特性分析結果と、開発するシステムと類似する過去のシステム情報とを入力とし、開発するシステムにおける各機能部品における性能のスケーラビリティを評価する部品性能倍率分析部７２０を備えたコンピュータ装置である。以下に、図８〜１１を用いて、それぞれの内容について説明する。
【００６７】
［Ｈ／Ｗ性能特性分析部：７１８］
図８は、システム分析装置７００に含まれるＨ／Ｗ性能特性分析部７１８の動作を示すフローチャートである。Ｈ／Ｗ性能特性分析部７１８では、以下の工程Ｓ８０１〜Ｓ８０４により各システム部品における性能特性の分析を行い、システム部品性能特性情報７１９が得られる。
【００６８】
Ｓ８０１：Ｈ／Ｗ性能特性分析部７１８に、過去に開発した、あるシステムに関する２回分以上の、過去の計算機Ｈ／Ｗ性能特性測定結果７１７を入力する。ここで、Ｈ／Ｗ性能特性分析部７１８が機能するためには、過去に開発した、あるシステムは、１つ以上であればよく、またシステム分析装置７００が機能するためには、後述する部品性能倍率分析部７２０において入力となる、類似システム検索結果７１１と同じシステムのデータが含まれていることが必要である。
【００６９】
過去の計算機Ｈ／Ｗ性能特性測定結果７１７とは、性能測定時にシステムに入力したデータと、その時の性能測定結果とのデータセットをいう。入力したデータは、データの種別と、その入力量のデータセットからなる。このデータセットは入力した全種別が揃っていることが好ましいが、性能への影響が支配的なデータ種別が分かっている場合は、そのデータ種別に関するデータセットだけであっても良い。
【００７０】
また、性能測定結果は、例えばＣＰＵ使用率とメモリ使用量の２項目しか測定結果がないとしても、機能的にはＨ／Ｗ性能特性分析部７１８として動作可能である。ただし、より正確で実用的な分析結果を得るには、ＩＰＣ（Instruction Per Clock）や、ストレージＩ／Ｏ利用状況といったその他の測定項目を可能な限り多く含むことが好ましい。いずれの項目を含むか、いくつの項目を測定結果に含むかは、本実施の形態２では特に限定しない。
【００７１】
Ｓ８０２：Ｈ／Ｗ性能特性分析部７１８に、Ｓ８０１で入力した、過去に開発したあるシステムと同じシステムに関する、システム構成部品情報７０７を入力する。
【００７２】
Ｓ８０３：Ｈ／Ｗ性能特性分析部７１８に、Ｓ８０１で入力した、過去に開発したあるシステムと同じシステムの過去のシステム要件７０３を入力する。
【００７３】
Ｓ８０４：Ｓ８０１、Ｓ８０２で入力した過去の計算機Ｈ／Ｗ性能特性測定結果７１７と、システム構成部品情報７０７との紐付けを行う。過去の計算機Ｈ／Ｗ性能特性測定結果７１７とシステム構成部品情報７０７とが、どのような粒度で分割されていた情報であるかは、本実施の形態２では限定するものではない。以下に紐付けの例について説明する。
【００７４】
例えば、過去の計算機Ｈ／Ｗ性能特性測定結果７１７の測定結果が、Ｓ／Ｗの実行単位の一つとして定義できるプロセス単位であったとする。システムを構成するプロセスが複数あり、ここでは仮にプロセスＡ、Ｂ、Ｃが連携して機能することで、システムが稼働するものとする。一方、システム構成部品情報７０７における分割の単位が、プロセスＡ、Ｂの連携によって得られる機能αと、プロセスＣによって得られる機能βであったとする。
【００７５】
プロセスＡ、Ｂの測定結果として、ＡのＣＰＵ使用率が１０％、ＢのＣＰＵ使用率が５％の場合、機能αにおけるＣＰＵ使用率は、単純に上記２つの値の和で求められ１５％となる。同様に、機能βはプロセスＣのＣＰＵ使用率と紐付けられる。このように、システム構成部品情報７０７で得られるシステム構成部品情報毎に、過去の計算機Ｈ／Ｗ性能特性測定結果７１７で得られた性能測定結果の全てを紐付けすることで、システム部品性能特性情報７１９を得ることができる。
【００７６】
［部品性能倍率分析部：７２０］
図９は、システム分析装置７００に含まれる部品性能倍率分析部７２０の動作を示すフローチャートである。部品性能倍率分析部７２０では、以下の工程Ｓ９０１〜Ｓ９０６により各システム部品における性能特性の分析を行い、システム部品性能倍率情報７２１が得られる。
【００７７】
Ｓ９０１：類似システム検索結果７１１を、部品性能倍率分析部７２０へ入力する。
【００７８】
Ｓ９０２：システム部品性能特性情報７１９を部品性能倍率分析部７２０へ入力する。
【００７９】
Ｓ９０３：システム分析装置７００を説明するここまでのフローでは、Ｈ／Ｗ性能特性分析部７１８に入力するデータについて、過去システムの入力データ件数を特に制限しておらず、類似システム検索結果７１１にて提示されるシステム以外の過去システムのデータ分析結果も、システム部品性能特性情報７１９に含まれている。そこで、類似システム検索結果７１１を参照し、例えばシステムα、βが提示されていた場合、システム部品性能特性情報７１９のうち、システムα、βの情報に限定して以降のフローへ情報を提供する。
【００８０】
Ｓ９０４：Ｓ９０３より得たシステム部品性能特性情報７１９における、システム入力データと性能測定結果のデータセットを分析し、各システム入力と性能測定結果との間の相関関係を得る。以下の表１には、Ｓ９０３で得られた、システム部品性能特性情報７１９のうち、ある機能αにおける、測定番号１〜６の６回分の性能測定に関するシステム入力データ（入力値１、入力値２）と性能測定結果（ＣＰＵ使用率、メモリ使用率）のデータセットを示している。
【００８１】
表１
2020149681.tif 000003
【００８２】
各システム入力を説明変数とし、性能測定結果の項目１つを目的変数として、重回帰分析にかけると、各システム入力と性能測定結果との相関関係の情報を得ることができる。この相関関係情報から、各システム入力の変化と、ある機能αにおけるＨ／Ｗリソース使用率を予測するためのシステム部品性能倍率情報７２１とを出力する。
【００８３】
なお、ここで述べた重回帰分析は、Ｓ９０４で使用可能な手法の一例である。システム入力データや性能測定結果の特質に応じて、数量化Ｉ類等の他の任意の分析手法を用いても良い。
【００８４】
［性能ボトルネック検出部：７１３］
図１０は、システム分析装置７００に含まれる性能ボトルネック検出部７１３の動作を示すフローチャートである。性能ボトルネック検出部７１３では、工程Ｓ１１０１〜Ｓ１１０７により、ボトルネック検出結果７１４が得られる。
【００８５】
図１０において、Ｓ１１０３以外の工程は、実施の形態１で述べた内容と同等である。即ち、図１０のＳ１１０１、Ｓ１１０２、Ｓ１１０４、Ｓ１１０５、Ｓ１１０６およびＳ１１０７は、実施の形態１の図５のＳ５０１、Ｓ５０２、Ｓ５０３、Ｓ５０４、Ｓ５０５およびＳ５０６にそれぞれ対応する。Ｓ１１０３は、以下のように行われる。
【００８６】
Ｓ１１０３：システム部品性能倍率情報７２１を、性能ボトルネック検出部７１３に入力する。
【００８７】
以上で述べたように、本発明の実施の形態２にかかるシステム分析装置７００では、開発するシステムと、過去に開発したシステムの情報を部品単位に分解し、システムをサイジングする場合に性能ボトルネックとなる箇所を予測し、ボトルネック解消に必要となるシステム設計を提案することができる。特に、Ｈ／Ｗ性能のスケーラビリティをさらに精度よく評価することにより、より適切なＨ／Ｗの提案を行うことが可能となる。
【符号の説明】
【００８８】
１００  システム分析装置、１０６  システム部品分解部、１０９  システム比較部、１１３  性能ボトルネック検出部、１１５  システム設計提案部、１１６  部品性能分析部。
【図１】
2020149681.tif 000004
【図２】
2020149681.tif 000005
【図３】
2020149681.tif 000006
【図４】
2020149681.tif 000007
【図５】
2020149681.tif 000008
【図６】
2020149681.tif 000009
【図７】
2020149681.tif 000010
【図８】
2020149681.tif 000011
【図９】
2020149681.tif 000012
【図１０】
2020149681.tif 000013