JP6183359B2 - 設計支援装置、設計支援方法及びプログラム - Google Patents

設計支援装置、設計支援方法及びプログラム Download PDF

Info

Publication number
JP6183359B2
JP6183359B2 JP2014518387A JP2014518387A JP6183359B2 JP 6183359 B2 JP6183359 B2 JP 6183359B2 JP 2014518387 A JP2014518387 A JP 2014518387A JP 2014518387 A JP2014518387 A JP 2014518387A JP 6183359 B2 JP6183359 B2 JP 6183359B2
Authority
JP
Japan
Prior art keywords
search
control information
search control
design
information
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.)
Active
Application number
JP2014518387A
Other languages
English (en)
Other versions
JPWO2013179921A1 (ja
Inventor
さやか 伊豆倉
さやか 伊豆倉
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014518387A priority Critical patent/JP6183359B2/ja
Publication of JPWO2013179921A1 publication Critical patent/JPWO2013179921A1/ja
Application granted granted Critical
Publication of JP6183359B2 publication Critical patent/JP6183359B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータシステムの設計を自動的に行うための方法に関し、詳細には、一定水準のサービス品質を保証し、かつ、コストが低くなるような、システムの構成や設定を決定するための方法に関する。
コンピュータシステムの開発時において、開発の委託先(開発者)と委託元(顧客)との間で、あらかじめ性能や稼働率などの非機能要件に関する一定のサービス品質を保証するための契約として、SLA(Service Level Agreement)が結ばれることが一般的になっている。
SLAには、客観的に測定可能なサービス品質の目標値を表すSLO(Service Level Objective:サービスレベル目標)が含まれる。
このように、開発者と顧客との間でシステムのサービス品質に関する目標値を設定し、共有することで、構築するシステムのサービス品質に関する認識の相違を防ぐことができる。
代表的な非機能要件の一つとして、システム性能がある。システム性能を測るための指標(性能評価指標)としては、システムの処理能力を表す最大スループット、システムに対してデータやコマンドを送ってから指定の処理が終了するまでの時間を表すターンアラウンドタイム、及びメモリやCPUなどの各種リソースの使用率などが用いられる。
性能評価指標の値(以降、単に性能と表記する)は、システムを構成するハードウェアのスペック若しくは配置状態、又はアプリケーションソフトウェアの設定などによって変化する。以降、このような、システムの性能に影響を与える変数のことを設計パラメータと表記する。
また、一般に、性能に対するSLOとして、最大スループットが所定の値以上であること、ターンアラウンドタイムが所定の時間内であること、全リソースの使用率が所定の範囲内であることなどが指定されることが多い。
システム開発時には、これらのSLOを達成できるような設計パラメータの組み合わせを決定する必要がある。しかし、多数の設計パラメータから適切と思われる組み合わせを人手で予測するのは手間がかかる上に、適切な設計パラメータを正しく抽出できるかどうかは、各人の経験やスキルに左右される。
よって、コンピュータを用いて、適切な設計パラメータを抽出するための処理を自動化し、効率的かつ確実に、SLOを達成できるような設計パラメータの組み合わせを導出することが求められる。
このような問題は、与えられたある制約条件を満たし、一定の評価基準において評価を最高にするような設計パラメータの組み合わせを決定する、いわゆる組み合わせ最適化問題として定式化することができる。
例えば、この組み合わせ最適化問題は、システムのコストをある値以下に抑えた上で、性能が最も良くなるような設計パラメータの組み合わせを決定するという問題や、逆に、ある一定の性能を保証した上で、コストが最も安くなるような設計パラメータの組み合わせを決定するという問題などを解くことになる。
このような制約条件の判定や評価基準値の算出を設計段階で行うためには、非機能要件のモデルを構築し、そのモデル上で性能等の値を見積もるのが有効である。例えば、そのような見積もりのためのモデルとしては、階層型待ち行列(LQN:Layered Queuing Network)が用いられることが多い。
しかし、並列処理や同期処理のような複雑な処理を行うシステムでは、LQNを解析的に(厳密に)解くことができないため、応答時間や最大スループットの値を閉じた式として得ることはできない。
そのため、このような値を求めるには、例えば、そのモデルによって表される処理の様子を模したシミュレーションを行う必要がある。しかし、一般にこのようなシミュレーションには多くの時間を要し、特にモデルが巨大になると、それはますます顕著になる。
すなわち、上記の最適化問題を解くためには、制約条件の判定や評価基準値の算出に多くの時間がかかる。そのため、そのような判定や算出の回数をできるだけ減らした効率的な最適化手法が必要となる。
この種の公知技術として、非特許文献1では、様々な設計パラメータ決定までの手順をいくつかのフェーズに切り分け、それぞれで異なるアプローチを用いて最適解を探索することで、設計パラメータを自動的かつ効率的に決定する技術が提案されている。
具体的には、応答時間とスループットに対するSLOを達成できるようなハードウェアの設計のために、各ホストの性能を表す近似モデルを構築し、ビンパッキング問題を解くことによって、CPU数及びジョブの分散割合を決定する。その後、LQNを用いてシステム全体の性能モデルを構築し、最小構成のソフトウェア設定でシミュレーションを行って、システムの性能を見積もる。SLOを達成できていない場合には、飽和しているプロセスの数を一つずつ増やしてシミュレーションを繰り返し、ボトルネックが存在しないようなソフトウェア設定を決定している。
このように設計パラメータの決定の手順をフェーズに切り分けて行うことにより、全ての設計パラメータを考慮した巨大なLQNモデルを解くためのシミュレーション回数を減らすことができる。
Thomas Risse、外4名、"Configuration of distributed message converter systems"、2004年、Performance Evaluation、vol. 58、num. 1、p. 43-80
非特許文献1においては、まず、単体のハードウェアに対する性能の計測結果に応じて、使用するハードウェアの組み合わせを決定し、その後、システム全体の性能がSLOを達成するようにソフトウェアの設定(プロセス数)を変更している。しかしながら、複数のハードウェアが接続されたシステム上で、並列処理や同期処理などの複雑な処理が行われるような場合には、ハードウェアの挙動と、ハードウェアの上で実行されるソフトウェアの挙動とを同時に考慮したシミュレーション等により、システム全体の性能を評価した上で、設計パラメータを決定する必要がある。また、上記の公知技術では、使用するハードウェアの組み合わせはランダムに選ばれており、コストについては考慮されていないため、SLOを達成し、かつ、コストが最小となるような、最適な設計パラメータの組み合わせが得られるとは限らない。
本発明は、上記の事情を鑑みてなされたものであり、SLOを達成し、かつ、コストが最小となるような、システムの設計パラメータの組み合わせを自動的に決定可能な設計支援装置、設計支援方法及びプログラムを提供することを目的とする。
本発明に係る設計支援装置は、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段と、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段とを備えたことを特徴とする。
本発明に係る設計支援方法は、制御部を有する情報処理装置において実施される設計支援方法であって、前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップとを備えたことを特徴とする。
本発明に係るプログラムは、コンピュータを、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段として機能させることを特徴とする。
本発明によれば、SLOを達成し、かつ、コストが最小となるような、システムの設計パラメータの組み合わせを自動的に決定可能な設計支援装置、設計支援方法及びプログラムを提供することができる。
本発明の第1の実施形態に係る設計支援装置の構成を表すブロック図である。 図1の設計支援装置におけるシステムモデルの例を表す図である。 あるサーバに関する設計パラメータが作る領域の分割方法の一例を表す図である。 図2のシステムモデルにおいて、Web/APサーバに使用可能な製品の性能とコストの関係を表したグラフである。 図2のシステムモデルにおいて、Web/APサーバに使用可能な製品の性能とコストの関係を表したグラフである。 図2のシステムモデルにおいて、DBサーバに使用可能な製品の性能とコストの関係を表したグラフである。 図2のシステムモデルにおいて、DBサーバに使用可能な製品の性能とコストの関係を表したグラフである。 あるサーバに関する設計パラメータについての探索領域の分割方法の一例を表す図である。 図2のシステムモデルにおいて、探索すべき領域の全体を表す図である。 図2のシステムモデルにおいて、Web/APサーバの変数条件に対する分岐を行う際、優先的に分岐すべき方向を表す図である。 図2のシステムモデルにおいて、DBサーバの変数条件に対する分岐を行う際、優先的に分岐すべき方向を表す図である。 領域N2における最小コストの点を示す図である。 領域N2における最低性能の点を示す図である。 図1の設計支援装置による処理を示すフローチャートである。 本発明の第2の実施形態に係る設計支援装置の構成を表すブロック図である。 図15の最適設計支援装置におけるシステムモデルにおいて、あるサーバに使用可能な製品の性能とコストの関係を表したグラフである。 図16に示された製品について、設計パラメータを変更したときに、探索領域Nで取り得る性能値とコストの増減の傾向を表したグラフである。 図16に示された製品について、設計パラメータを変更したときに、探索領域N’で取り得る性能値とコストの増減の傾向を表したグラフである。
以下、本発明を実施するための好適な形態について、図面を参照して詳述する。ただし、発明の範囲をこれらに限定するものではない。
[実施形態1]
図1は、本実施形態における設計支援装置1の構成を表すブロック図である。設計支援装置1は、具体的には、プログラムに従って動作するコンピュータ等の情報処理装置によって実現される。
設計支援装置1は、探索制御情報生成手段11と、最適解探索手段12とを備える。また、図示しないが、設計支援装置1は、一般的な情報処理装置が備える構成と同様に、制御部(例えば、CPU)、記憶部(例えば、RAM、ハードディスク)、及び入出力部(例えば、通信部、操作部、ディスプレイ、USBコネクタ)を備える。
探索制御情報生成手段11は、システムの設計情報として入力されたシステムモデルの情報に応じて、最適な設計パラメータの組み合わせを決定するために適切な探索方法を表す探索制御情報を生成する。
システムモデルの情報は、機械処理可能な形式で記述されている。システムモデルの情報には、例えば、システムを構成するハードウェア及びソフトウェアを含む各要素の接続状態の情報、システムのSLOに影響するサーバの台数やCPU数などの各種設計パラメータの情報、及び設計パラメータの取り得る値の範囲の情報が含まれる。すなわち、システムモデルの情報には、システムのハードウェア及びソフトウェアに関して、設計パラメータの種類についての情報とこれらの設計パラメータが取りうる値についての情報とが含まれている。
探索制御情報とは、システムモデルの情報に記述されている各種設計パラメータの中から、SLOを達成し、かつ、コストを最小とするような設計パラメータの組み合わせ(最適パラメータセット)を探索するための探索方法を表す情報である。より具体的には、探索制御情報には、各種設計パラメータの値を変更した場合のシステムの性能とコストの変化の傾向をもとに得られた情報を含み、より低いコストで性能を向上できる可能性の高い設計パラメータについての情報を含む。
図2に、システムモデルの具体例を示す。図2のシステムモデルには、クライアントのコンピュータと、Web/APサーバと、DBサーバとがネットワークを介して直列に接続されていることが記述されている。また、このシステムモデルには、Web/APサーバには製品x0〜x5を1〜5台、DBサーバには製品y0〜y5を1〜10台使用できることが記述されている。すなわち、このシステムモデルにおける設計パラメータとしては、各サーバの台数の情報、及び使用する製品の種類を表すインデックスの情報が定義されている。ここで、各サーバの製品のインデックスを変更することは、サーバとして別の製品の使用することを表す。別の製品が使用されると、CPUのコア数やクロック周波数などのハードウェアに依存する設計パラメータの値が一括で変化する。ここで、インデックスは、各製品に対して、性能が高い製品ほど、高い値となるように付されている。
また、システムモデルは、図2に示したような、システムの構造を表すモデルだけではなく、各サーバ上で行われている処理の流れなどを記述した、システムの振る舞いを表すモデル等を含んでもよい。
図2のシステムモデルにおいて、システムの性能を向上させるための設計パラメータの変更方法として、例えば、サーバ台数を増やす方法が考えられる。また、既述の通り、製品のインデックス(x0〜x5)は製品のスペックの低い順にソートされている。そのため、他の設計パラメータの変更方法として、製品インデックスの値を増加させる方法も考えられる。
すなわち、図3に示すように、設計パラメータの探索領域に関する変数条件の分岐条件として、探索領域をサーバ台数軸で分割する(N1,N2)、又は製品インデックス軸で分割する(N1’,N2’)という二通りの分岐条件が考えられる。
ここで、図4に示すグラフは、図2のシステムモデルにおいて、Web/APサーバとして使用可能な製品の候補x0〜x5の性能とコストの関係を表している。
図5に示すグラフは、Web/APサーバの製品候補x0〜x5の性能とコストの関係に加えて、Web/APサーバの台数を増やした場合における性能とコストの関係を表している。図5のグラフから把握できるように、Web/APサーバに関しては、製品インデックスを増やした場合の方が、サーバ台数を増やした場合よりも、グラフの傾きが小さい。つまり、製品インデックスを増やした場合の方が、サーバ台数を増やした場合よりも、低いコストで性能を向上させることができる。すなわち、Web/APサーバに関しては、良質な(より最適に近いと思われる)設計パラメータは、製品インデックスを増やした探索領域に含まれている可能性が高いと推測できる。
一方、図6に示すグラフは、図2のシステムモデルにおいて、DBサーバとして使用可能な製品の候補y0〜y5の性能とコストの関係を表している。
図7に示すグラフは、DBサーバの製品候補y0〜y5の性能とコストの関係に加えて、DBサーバの台数を増やした場合における性能とコストの関係を表している。図7のグラフから把握できるように、DBサーバに関しては、サーバ台数を増やした場合の方が、製品インデックスを増やした場合よりも、グラフの傾きが小さくなる。つまり、サーバ台数を増やした場合の方が、製品インデックスを増やした場合よりも、低いコストで性能を向上できる可能性の高い。そのため、DBサーバに関しては、サーバ台数を増やした探索領域の方が、良質な設計パラメータが含まれている可能性が高いと推測できる。
以上のように、本実施形態では、より低いコストで性能を向上できる可能性の高い設計パラメータは、Web/APサーバについては、製品インデックスの設計パラメータであり、DBサーバについては、台数の設計パラメータである。従って、探索制御情報は、Web/APサーバの設計パラメータとして製品インデックスについての情報を含み、DBサーバの設計パラメータとして台数についての情報を含む。
また、探索制御情報は、後述する分岐限定法による分岐操作に用いられる分岐位置の情報をさらに含んでもよい。この分岐位置の情報は、システムモデル13に示されている設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、特定される。例えば、探索制御情報生成手段11は、まず、各種の設計パラメータのうち、より低いコストで性能を向上できる前述の設計パラメータ(第1の設計パラメータ)と同様の効果を有する設計パラメータ(第2の設計パラメータ)を特定する。探索制御情報は、第1の設計パラメータの変数条件に関する分岐位置における性能の予測値とほぼ同程度の性能となるような第2の設計パラメータの分岐位置に関する情報と、第2の設計パラメータのこの分岐位置の性能のコストがより安くなる設計パラメータを示す情報とを含んでも良い。
例えば、図3の例では、サーバ台数及び製品インデックスの変数条件に関する分岐位置を、各種設計パラメータの値が半分になる位置としている。探索制御情報生成手段11は、まず、図8に示すように、製品インデックスに関する分岐位置について、サーバ台数の値を半分にした位置Aでの予測性能と最も近くなるような製品インデックスの位置Bを分岐位置として特定する。探索制御情報は、この位置Bの情報を含んでもよい。また、探索制御情報は、該分岐位置までの性能とコストの傾向をもとに、より安いコストで性能を向上させることができる設計パラメータを示す情報を含んでも良い。
最適解探索手段12は、分岐限定法を用いて、前記探索制御情報に示された分岐方法(例えば、上述の設計パラメータの情報、分岐位置の情報)に従った探索を行い、最適パラメータセットを決定する。分岐限定法を用いた最適解の探索方法は、公知の技術であるが、本実施形態において、図1に示すような構成の最適解探索手段12を用いて最適な設計パラメータセットを決定するまでの具体的な処理の流れを以下に説明する。
図1に示すように、最適解探索手段12は、探索領域決定手段121、最適可能性判定手段122、サービスレベル評価手段123、最適パラメータセット決定手段124、及び最適パラメータセット記憶手段125を含む。
探索領域決定手段121は、システムモデル13と、探索制御情報生成手段11で生成された探索制御情報とに基づいて、探索領域を複数の探索領域に分岐(子ノードを生成)して、分岐限定法による探索の各イテレーションにおいて、探索を行う領域(子ノード)の順序を決定する。具体的には、探索領域決定手段121は、まず、システムモデルに記述されている各種設計パラメータの定義域(探索領域)を探索制御情報が示す設計パラメータに関する変数条件で優先的に複数の探索領域に分岐する。探索領域決定手段121は、その後、分岐した探索領域の探索順序を決定する。
探索領域決定手段121は、設計パラメータに関して、それ以上の分岐が行えない(例えば、整数値しか取ることのできない設計パラメータの場合、探索領域における該設計パラメータの最小値と最大値の差が1以下である)場合、別の設計パラメータに関する分岐を行う。
ここで、探索領域決定手段121の動作の例を図2のシステムモデルを用いて説明する。ここでは、4つの設計パラメータ(Web/APサーバの台数及び製品インデックス、並びにDBサーバの台数及び製品インデックス)を考慮している。それぞれの設計パラメータの定義域は次のとおりである。
・Web/APサーバの台数:1〜5
・Web/APサーバの製品インデックス:x0〜x5
・DBサーバの台数:1〜10
・DBサーバの製品インデックス:y0〜y5
図9は、探索領域の全体を示している。以下、この探索領域を、初期ノード:N0として表記する。
探索領域決定手段121は、N0に含まれる最適な設計パラメータの組み合わせを決定するための探索を効率的に行うため、分岐限定法により、N0に対する分岐操作を行う。この際、探索領域決定手段121は、探索制御情報生成手段11で生成された探索制御情報に従って分岐操作を行う。例えば、Web/APサーバについては、探索領域決定手段121は、図10のように製品インデックスの値を分岐する方向を優先する。一方、DBサーバについては、探索領域決定手段121は、図11のように台数の値を分岐する方向を優先する。ここでは、例として、該設計パラメータの最小値と最大値の中間地点で分岐した場合を図示しているが、この分岐位置については、N0における該設計パラメータの最小値と最大値の範囲に含まれている限り任意である。
最適可能性判定手段122は、分岐限定法を用いた探索を効率化するための処理として、いわゆるカットオフ又は枝刈りと呼ばれる処理を行う。すなわち、最適可能性判定手段122は、探索領域決定手段121によって分岐された各探索領域(子ノード)内に最適パラメータセットが含まれ得るかの判定を行う。最適パラメータセットが含まれ得ない子ノード(すなわち、最適可能性のない子ノード)については、それ以降の探索を打ち切る。
具体的には、最適可能性判定手段122は、まず、子ノード内に存在するコストが最小となるパラメータセットのコストと、最適パラメータセット記憶手段125に記憶されている最適パラメータセットのコストとを比較する。前者の方が後者よりも低い場合、最適可能性判定手段122は、子ノードは最適可能性があると判定する。一方、前者の方が後者よりも高い場合、最適可能性判定手段122は、その子ノードは最適可能性がないと判定し、その子ノードについての探索を打ち切り、別の子ノードに対して探索を行う。ここで、ある設計パラメータセットについてのコストは、各ハードウェア製品(サーバやルータなど)の価格(及びソフトウェアの調達価格)と、それらの数とから、容易に算出することができる。価格についての情報は、設計支援装置1の外部から入力され、又は設計支援装置1の図示しない記憶手段に予め記憶されている。
例えば、図12において、子ノードN2に含まれるコスト最小の点C2のコストが、その時点での最適パラメータセットのコストC0よりも高い場合、子ノードN2に含まれるパラメータセットは、全てC0よりもコストが高くなる。そのため、サービスレベル(SLOの達成/未達成)に関わらず、子ノードN2に含まれる設計パラメータの組み合わせは最適解にはなり得ない。よって、子ノードN2については、それ以降の探索を打ち切ることができる。
サービスレベル評価手段123は、最適可能性判定手段122において、最適可能性があると判定された子ノードの実行可能性(すなわちこの子ノードの含まれる設計パラメータセットにより設計されたシステムがSLOを達成しているかどうか)を判定する。具体的には、この子ノードに含まれる設計パラメータセットを用いて設計されたシステムのサービスレベルを予測し、SLOを達成しているかどうかを判定する。システムのサービスレベルは、例えば、ある設計パラメータセットにおけるシステムの挙動を模したシミュレーションを行うことによって予測することができる。
例えば、図13において、N2が最適可能性ありと判定された場合に、N2の実行可能性(すなわち、N2に含まれるパラメータセットでのシステムの性能がSLOを達成しているかどうか)を調べる。ここで、製品インデックスは、製品の性能順にソートされているため、N2の左端点L2が、N2において最も性能が低いパラメータセットになる。よって、L2での性能がSLOを達成していれば、N2に含まれる全パラメータセットでSLOを達成する、すなわちN2が実行可能領域であることがわかる。
最適パラメータセット決定手段124は、最適解探索のイテレーションにおいて、その時点で最適と思われるパラメータセットを決定する。具体的には、最適パラメータセット決定手段124は、まず、サービスレベル評価手段123により実行可能であると判定された探索領域(子ノード)に含まれるパラメータセットのうち最も低いコストと、既に求められている最適パラメータセットでのコストとを比較する。最適パラメータセット決定手段124は、比較の結果、低い方を最適パラメータセット及びそのコストとして最適パラメータセット記憶手段125に記憶する。一方、該探索領域が実行不可能であると判定された場合には、最適パラメータセットは更新されない。
最適パラメータセット記憶手段125は、最適パラメータセット決定手段124によって決定された最適パラメータセットを記憶する。最適パラメータセット記憶手段125は、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
次に、図14を参照し、図1に示した設計支援装置1における処理について詳細に説明する。この処理は、設計支援装置1が備える制御部(図示せず)が記憶部(図示せず)に記憶されたプログラムを展開し実行することによって制御される。
まず、ステップA1で、探索制御情報生成手段11は、入力されたシステムモデル13に記述されている各種設計パラメータ、及びそれらの取り得る値の範囲に関する情報を抽出する。
ステップA2で、探索制御情報生成手段11は、抽出された情報をもとに、探索制御情報を生成する。探索制御情報には、より低いコストで性能を向上させることができる設計パラメータについての情報が含まれている。また、分岐限定法による最適解探索で用いられる分岐位置の情報が含まれていてもよい。探索制御情報の生成処理の詳細は、前述のとおりである。続いて、最適解探索手段12は、探索制御情報を利用して、分岐限定法を用いた最適パラメータセットの探索を行う。詳細には、この探索は、探索制御情報に示された設計パラメータ(及び分岐位置)を優先的に用いて分岐操作を行うことによって、行われる。
ステップA3で、最適解探索手段12は、分岐された領域のうち、未探索の領域が存在するかを判定する。ステップA3で未探索の領域が存在しないと判定された場合、処理は終了する。
ステップA3で未探索の領域が存在すると判定された場合には、ステップA4で、最適解探索手段12は、探索制御情報が示す分岐方法で該未探索領域の分割を行い、探索領域Nを決定する。
次に、ステップA5で、最適解探索手段12は、領域Nに含まれる、コストが最小のパラメータセットでのシステムのコスト(minCost(N))を計算し、その時点で見つかっている最適パラメータセットでのシステムのコスト(minCost)と比較する。minCostの値は最適パラメータセット記憶手段125に記憶されている。minCost(N) ≧ minCostの場合、処理はステップA3へ進む。
minCost(N) < minCostの場合には、ステップA6で、最適解探索手段12は、領域Nに含まれる設計パラメータでのサービスレベルを予測する。
ステップA7で、最適解探索手段12は、予測されたサービスレベルがSLOを達成しているかを判定する。達成されている場合は、領域Nが実行可能であると判定される。達成されていない場合は、領域Nが実行不可能であると判定され、処理はステップA3へ進む。
領域Nが実行可能であると判定された場合、ステップA8で、最適解探索手段12は、該設計パラメータで最適パラメータセットを更新する。その後、処理はステップA3に戻り、別の領域での探索を行い、未探索の領域がなくなるまで、ステップA4〜A8の処理を繰り返す。
なお、本実施形態においては、システムに対する非機能要件として性能を例に挙げて説明しているが、これに限定されない。各種設計パラメータに対して評価指標の値が単調増加となるように、該設計パラメータの値をソートすることが可能な非機能要件に対しても、本発明を適用することが可能である。
以上のように、本実施形態によれば、探索制御情報生成手段11は、システムモデルに設計情報として記述されている各種設計パラメータの値の変化が、システムのサービスレベルとコストに与える影響の傾向を分析し、探索制御情報を生成する。すなわち、コンピュータシステムの設計では、各サーバとして使用できる製品の候補があらかじめ決まっていたり、サーバごとに使用可能な製品の種類が異なったりするという特有の問題に対応するために、探索制御情報生成手段11は、システムモデルに含まれている製品の処理能力と価格の関係の情報から探索方法を決定する。
また、最適解探索手段12は、探索制御情報に基づいて、探索領域の適切な分岐方法(例えば、優先的に分岐すべき設計パラメータや分岐位置)を決定する。最適解探索手段12は、決定した分岐方法に従って分岐操作を行う分岐限定法を用いることによって、SLOを達成し、かつ、コストが最小となるような設計パラメータの組み合わせを決定する。その結果、探索制御情報生成手段11は、SLO(サービスレベル目標)を達成し、かつ、コストが最小となるような設計パラメータの組み合わせを自動的、かつ、効率的に決定することができる。
[実施形態2]
以下、本発明の実施形態2について、図面を参照して詳述する。
図15は、第2の実施形態における設計支援装置の構成を表すブロック図である。設計支援装置2は、図1の設計支援装置1と同様の構成を備えるが、構成の結合関係が異なる。処理としては、実施形態1では、分岐限定法を用いた最適解探索の全てのイテレーションで、同じ探索制御情報が用いられた。これに対し、実施形態2の処理では、イテレーションごとに新たに生成した探索制御情報を用いて(すなわち、探索領域ごとに分岐方法を変更して)最適解探索を行う。
例えば、サーバとして使用可能な製品の候補の性能とコストとの間に、図16のグラフに示すような関係がある場合を考える。図17に示すような領域N(取り得る製品インデックスの値:z0〜z9)においては、製品インデックスを増やした場合の方が、サーバ台数を増やした場合よりも、グラフの傾きが小さい。一方、図18に示すような領域N’(取り得る製品インデックスの値:z3〜z9)においては、サーバ台数を増やした場合の方が、製品インデックスを増やした場合よりもグラフの傾きが小さくなる。
すなわち、探索制御情報を探索領域ごとに生成し直すことで、新たに生成された探索制御情報は、より安いコストで性能を向上させることができると考えられる設計パラメータについての情報をより高い精度で示すこととなる。
以上のように、本実施形態によれば、探索制御情報生成手段11は、分岐限定法を用いた最適解探索のイテレーションごとに、探索制御情報を新たに生成する。最適解探索手段12は、新たに生成された探索制御情報を用いて分岐操作を行い、分岐限定法による最適解探索を行う。その結果、SLOを達成し、かつ、コストが最小となるような、最適な設計パラメータの組み合わせをより効率的に決定することができる。
以上、本発明を好適な実施形態に基づいて説明したが、本発明の設計支援装置は、上記実施形形態の構成にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも本発明の範囲に含まれる。
この出願は、2012年5月29日に出願された日本出願特願2012−122387を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段と、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段と
を備えたことを特徴とする設計支援装置。
(付記2)前記探索制御情報生成手段は、前記入力された情報に示された設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、前記探索制御情報を生成し、
前記最適解探索手段は、前記探索制御情報に示された設計パラメータを優先的に用いて分岐操作を行うことによって、前記最適解探索を行うことを特徴とする付記1に記載の設計支援装置。
(付記3)前記探索制御情報は、前記分析の結果に応じて決定した分岐位置の情報を含み、
前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする付記2に記載の設計支援装置。
(付記4)前記探索制御情報生成手段は、前記最適解探索のイテレーションごとに、新たに前記探索制御情報を生成することを特徴とする付記1から3のいずれか1つに記載の設計支援装置。
(付記5)制御部を有する情報処理装置において実施される設計支援方法であって、
前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、
前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップと
を備えたことを特徴とする設計支援方法。
(付記6)コンピュータを
システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段
として機能させるためのプログラム。
1、2 設計支援装置
11 探索制御情報生成手段
12 最適解探索手段
121 探索領域決定手段
122 最適可能性判定手段
123 サービスレベル評価手段
124 最適パラメータセット決定手段
125 最適パラメータセット記憶手段
13 システムモデル
14 最適パラメータセット

Claims (5)

  1. システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段と、
    前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段と
    を備え
    前記探索制御情報生成手段は、前記入力された情報に示された設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、前記探索制御情報を生成し、
    前記探索制御情報は、前記分析の結果に基づいて決定された第1の前記設計パラメータの変数条件に関する第1の位置と、前記第1の位置における前記性能の予測値と同程度の前記性能となるような第2の前記設計パラメータに関する第2の位置とを含む分岐位置の情報を含み、
    前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする設計支援装置。
  2. 前記最適解探索手段は、前記探索制御情報に示された設計パラメータを優先的に用いて分岐操作を行うことによって、前記最適解探索を行うことを特徴とする請求項1に記載の設計支援装置。
  3. 前記探索制御情報生成手段は、前記最適解探索のイテレーションごとに、新たに前記探索制御情報を生成することを特徴とする請求項1又は2に記載の設計支援装置。
  4. 制御部を有する情報処理装置において実施される設計支援方法であって、
    前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、
    前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップと
    を備え
    前記探索制御情報生成ステップは、前記入力された情報に示された設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、前記探索制御情報を生成し、
    前記探索制御情報は、前記分析の結果に基づいて決定された第1の前記設計パラメータの変数条件に関する第1の位置と、前記第1の位置における前記性能の予測値と同程度の前記性能となるような第2の前記設計パラメータに関する第2の位置とを含む分岐位置の情報を含み、
    前記最適解探索ステップは、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする設計支援方法。
  5. コンピュータを
    システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、
    前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段
    として機能させ
    前記探索制御情報生成手段は、前記入力された情報に示された設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、前記探索制御情報を生成し、
    前記探索制御情報は、前記分析の結果に基づいて決定された第1の前記設計パラメータの変数条件に関する第1の位置と、前記第1の位置における前記性能の予測値と同程度の前記性能となるような第2の前記設計パラメータに関する第2の位置とを含む分岐位置の情報を含み、
    前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行う、プログラム。
JP2014518387A 2012-05-29 2013-05-17 設計支援装置、設計支援方法及びプログラム Active JP6183359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014518387A JP6183359B2 (ja) 2012-05-29 2013-05-17 設計支援装置、設計支援方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012122387 2012-05-29
JP2012122387 2012-05-29
JP2014518387A JP6183359B2 (ja) 2012-05-29 2013-05-17 設計支援装置、設計支援方法及びプログラム
PCT/JP2013/063848 WO2013179921A1 (ja) 2012-05-29 2013-05-17 設計支援装置、設計支援方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2013179921A1 JPWO2013179921A1 (ja) 2016-01-18
JP6183359B2 true JP6183359B2 (ja) 2017-08-23

Family

ID=49673124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518387A Active JP6183359B2 (ja) 2012-05-29 2013-05-17 設計支援装置、設計支援方法及びプログラム

Country Status (2)

Country Link
JP (1) JP6183359B2 (ja)
WO (1) WO2013179921A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902790B (zh) * 2014-04-25 2017-05-10 上海海事大学 岸桥起重机动态优化设计方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3214977B2 (ja) * 1994-05-27 2001-10-02 富士通株式会社 最適解探索方式および最適解探索方法
JP2002183416A (ja) * 2000-12-15 2002-06-28 Hitachi Ltd システム提案方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP4080259B2 (ja) * 2002-06-26 2008-04-23 株式会社日立製作所 コンピュータのシステム構成導出方法及びコンピュータシステム
WO2012039486A1 (ja) * 2010-09-24 2012-03-29 日本電気株式会社 構成管理装置、構成管理方法、及び構成管理プログラム

Also Published As

Publication number Publication date
WO2013179921A1 (ja) 2013-12-05
JPWO2013179921A1 (ja) 2016-01-18

Similar Documents

Publication Publication Date Title
US11836576B2 (en) Distributed machine learning at edge nodes
US9921809B2 (en) Scaling a cloud infrastructure
US20200241921A1 (en) Building neural networks for resource allocation for iterative workloads using reinforcement learning
EP3495951A1 (en) Hybrid cloud migration delay risk prediction engine
US11614978B2 (en) Deep reinforcement learning for workflow optimization using provenance-based simulation
US11436056B2 (en) Allocation of shared computing resources using source code feature extraction and clustering-based training of machine learning models
US9444717B1 (en) Test generation service
US9436725B1 (en) Live data center test framework
US9396160B1 (en) Automated test generation service
US20200142679A1 (en) Constructing and enhancing a deployment pattern
KR20120039480A (ko) 비즈니스 프로세스 관리 모델 최적화
US10862765B2 (en) Allocation of shared computing resources using a classifier chain
JP6888737B2 (ja) 学習装置、学習方法、及びプログラム
US20160077860A1 (en) Virtual machine placement determination device, virtual machine placement determination method, and virtual machine placement determination program
US11392803B2 (en) Decision boundary enhancement for learning models
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
WO2022108672A1 (en) Tuning large data infrastructures
JP2020173650A (ja) プログラム運用システム、プログラム運用方法
JP2017220840A (ja) ネットワーク監視・制御装置、ネットワーク監視・制御方法、及びネットワーク監視・制御プログラム
JP6183359B2 (ja) 設計支援装置、設計支援方法及びプログラム
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
KR101906678B1 (ko) 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템
JP2015191397A (ja) 設計パラメータ探索装置、設計パラメータ探索方法、及びプログラム
WO2013141018A1 (ja) 最適システム設計支援装置
KR20230037661A (ko) 컨테이너화된 애플리케이션의 배치를 최적화하기 위한 시스템, 방법 및 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R150 Certificate of patent or registration of utility model

Ref document number: 6183359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150