WO2013179921A1 - 設計支援装置、設計支援方法及びプログラム - Google Patents
設計支援装置、設計支援方法及びプログラム Download PDFInfo
- Publication number
- WO2013179921A1 WO2013179921A1 PCT/JP2013/063848 JP2013063848W WO2013179921A1 WO 2013179921 A1 WO2013179921 A1 WO 2013179921A1 JP 2013063848 W JP2013063848 W JP 2013063848W WO 2013179921 A1 WO2013179921 A1 WO 2013179921A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- search
- control information
- design
- information
- search control
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Definitions
- the present invention relates to a method for automatically designing a computer system, and more particularly, to determine a system configuration and settings that guarantee a certain level of service quality and reduce costs. Regarding the method.
- the SLA includes an SLO (Service Level Objective) representing a target value of service quality that can be objectively measured.
- SLO Service Level Objective
- system performance As an index for measuring system performance (performance evaluation index), the maximum throughput that represents the processing capacity of the system, the turnaround time that represents the time from when data or command is sent to the system until the specified processing is completed, In addition, usage rates of various resources such as a memory and a CPU are used.
- performance The value of the performance evaluation index (hereinafter simply referred to as “performance”) varies depending on the specifications or arrangement of hardware constituting the system, or application software settings.
- design parameters such variables that affect the performance of the system.
- the SLO for performance is specified such that the maximum throughput is a predetermined value or more, the turnaround time is within a predetermined time, and the usage rate of all resources is within a predetermined range. There are many cases.
- Such a problem can be formulated as a so-called combination optimization problem that determines a combination of design parameters that satisfies a given constraint condition and maximizes the evaluation under a certain evaluation standard.
- this combinatorial optimization problem is a problem of determining the combination of design parameters that gives the best performance after keeping the system cost below a certain value, or conversely, guaranteeing a certain level of performance.
- the problem of determining the combination of design parameters that makes the cost the lowest is solved.
- LQN Layered Queuing Network
- LQN LQN cannot be solved analytically (strictly), and therefore, the response time and the maximum throughput cannot be obtained as a closed expression.
- Non-Patent Document 1 the procedure for determining various design parameters is divided into several phases, and the optimum parameters are searched automatically by searching for the optimal solution using different approaches. Techniques for efficient determination have been proposed.
- an approximate model that represents the performance of each host is constructed, and the bin packing problem is solved, thereby distributing the number of CPUs and jobs. Determine the percentage. Thereafter, a performance model of the entire system is constructed using LQN, and simulation is performed with the software setting of the minimum configuration to estimate the system performance. If the SLO cannot be achieved, the simulation is repeated by increasing the number of saturated processes one by one, and software settings are determined so that no bottleneck exists.
- Non-Patent Document 1 first, a combination of hardware to be used is determined according to a measurement result of performance of a single hardware, and then software setting (process) is performed so that the performance of the entire system achieves SLO. Number).
- software setting process
- the combination of hardware to be used is randomly selected, and the cost is not taken into consideration. Therefore, the optimum design parameter that achieves the SLO and minimizes the cost. This combination is not always obtained.
- the present invention has been made in view of the above circumstances, and provides a design support apparatus and design support capable of automatically determining a combination of system design parameters so as to achieve SLO and minimize cost.
- An object is to provide a method and a program.
- the design support apparatus includes search control information including design parameter information that is likely to improve system performance at a lower cost in response to input of information about values that can be taken as system design parameters.
- search control information generation means By using the search control information generation means to generate and search for the optimal solution by the branch and bound method using the generated search control information, the design parameter that achieves the service level target and minimizes the cost
- An optimum solution searching means for searching for a combination is provided.
- a design support method is a design support method implemented in an information processing apparatus having a control unit, wherein the control unit is more in accordance with input of information about values that can be taken as system design parameters.
- the program according to the present invention includes search control information including design parameter information that is likely to improve the performance of the system at a lower cost in response to input of information about values that the computer can take as system design parameters.
- Search control information generation means for generating a design parameter that achieves a service level target and minimizes cost by performing an optimal solution search by the branch and bound method using the generated search control information. It is made to function as an optimal solution search means for searching for a combination.
- a design support apparatus capable of automatically determining a combination of system design parameters so as to achieve SLO and minimize cost.
- FIG. 3 is a graph showing the relationship between the performance of a product that can be used for a Web / AP server and the cost in the system model of FIG. 3 is a graph showing the relationship between the performance of a product that can be used for a Web / AP server and the cost in the system model of FIG. 3 is a graph showing the relationship between the performance of a product usable for a DB server and the cost in the system model of FIG.
- FIG. 3 is a graph showing the relationship between the performance of a product usable for a DB server and the cost in the system model of FIG. It is a figure showing an example of the division method of the search area
- FIG. 3 is a diagram illustrating an entire area to be searched in the system model of FIG. 2.
- the system model of FIG. 2 when branching with respect to the variable conditions of a Web / AP server, it is a figure showing the direction which should branch preferentially.
- the system model of FIG. 2 when branching with respect to the variable conditions of a DB server, it is a figure showing the direction which should branch preferentially. It is a figure which shows the point of the minimum cost in area
- FIG. 16 is a graph showing the relationship between the performance of a product that can be used in a server and the cost in the system model in the optimum design support apparatus of FIG.
- FIG. 17 is a graph showing the performance value that can be taken in the search region N and the tendency of increase / decrease in cost when the design parameter is changed for the product shown in FIG. 16.
- FIG. 17 is a graph showing the performance value that can be taken in the search region N ′ and the tendency of increase / decrease in cost when the design parameter is changed for the product shown in FIG. 16.
- FIG. 1 is a block diagram showing the configuration of the design support apparatus 1 in the present embodiment.
- the design support apparatus 1 is realized by an information processing apparatus such as a computer that operates according to a program.
- the design support apparatus 1 includes search control information generation means 11 and optimum solution search means 12. Although not shown, the design support apparatus 1 has a control unit (for example, a CPU), a storage unit (for example, a RAM, a hard disk), and an input / output unit (for example, for example) as in the configuration of a general information processing apparatus. Communication unit, operation unit, display, USB connector).
- a control unit for example, a CPU
- a storage unit for example, a RAM, a hard disk
- an input / output unit for example, for example
- the search control information generation means 11 generates search control information representing an appropriate search method in order to determine an optimal combination of design parameters in accordance with system model information input as system design information.
- the system model information is described in a machine processable format.
- the system model information includes, for example, information on the connection state of each element including hardware and software constituting the system, information on various design parameters such as the number of servers and the number of CPUs affecting the SLO of the system, and design parameters Contains information on the range of possible values. That is, the information on the system model includes information on the types of design parameters and information on values that these design parameters can take regarding the hardware and software of the system.
- Search control information is used to search for a combination of design parameters (optimum parameter set) that achieves SLO and minimizes the cost from among various design parameters described in system model information. This is information indicating a search method. More specifically, the search control information includes information obtained based on changes in system performance and costs when various design parameter values are changed, and can improve performance at a lower cost. Contains information about likely design parameters.
- Figure 2 shows a specific example of the system model.
- the system model in FIG. 2 describes that a client computer, a Web / AP server, and a DB server are connected in series via a network.
- This system model also describes that 1 to 5 products x0 to x5 can be used for the Web / AP server, and 1 to 10 products y0 to y5 can be used for the DB server.
- design parameters in this system model information on the number of servers and index information indicating the type of product to be used are defined.
- changing the product index of each server represents the use of another product as a server.
- design parameter values depending on hardware such as the number of CPU cores and the clock frequency change at once.
- the index is assigned to each product such that the higher the performance, the higher the value of the product.
- system model may include not only a model representing the structure of the system as shown in FIG. 2 but also a model representing the behavior of the system describing the flow of processing performed on each server. Good.
- a method of increasing the number of servers is conceivable as a method of changing design parameters for improving system performance.
- the product indexes (x0 to x5) are sorted in ascending order of product specifications. Therefore, as another method for changing the design parameter, a method of increasing the value of the product index is also conceivable.
- the search area is divided on the server number axis (N1, N2), or is divided on the product index axis (N1 ′, N2 ′).
- N1, N2 server number axis
- N1 ′, N2 ′ product index axis
- the graph shown in FIG. 4 represents the relationship between the performance and cost of product candidates x0 to x5 that can be used as Web / AP servers in the system model of FIG.
- the graph shown in FIG. 5 represents the relationship between performance and cost when the number of Web / AP servers is increased in addition to the relationship between the performance and cost of Web / AP server product candidates x0 to x5.
- the inclination of the graph is smaller when the product index is increased than when the number of servers is increased. That is, when the product index is increased, the performance can be improved at a lower cost than when the number of servers is increased. That is, with respect to the Web / AP server, it can be inferred that a good design parameter (which seems to be more optimal) is likely to be included in the search area where the product index is increased.
- the graph shown in FIG. 6 represents the relationship between the performance and cost of product candidates y0 to y5 that can be used as a DB server in the system model of FIG.
- the graph shown in FIG. 7 represents the relationship between performance and cost when the number of DB servers is increased, in addition to the relationship between the performance and cost of DB server product candidates y0 to y5.
- the inclination of the graph is smaller when the number of servers is increased than when the product index is increased. That is, when the number of servers is increased, it is more likely that the performance can be improved at a lower cost than when the product index is increased. Therefore, with respect to the DB server, it can be estimated that the search area in which the number of servers is increased is more likely to include high-quality design parameters.
- the search control information includes information about the product index as a design parameter of the Web / AP server, and includes information about the number as a design parameter of the DB server.
- the search control information may further include information on branch positions used for branch operations by the branch and bound method described later.
- This branch position information is specified by analyzing the tendency of the influence of the change in the design parameter shown in the system model 13 on the performance and cost of the system.
- the search control information generation unit 11 first has a design parameter (second design parameter) having the same effect as the above-described design parameter (first design parameter) that can improve performance at a lower cost among various design parameters. Identify design parameters.
- the search control information includes information related to the branch position of the second design parameter so that the performance is almost the same as the predicted value of the performance at the branch position related to the variable condition of the first design parameter, and the second design parameter. And information indicating design parameters that reduce the cost of the performance of the branch position.
- the branch position regarding the number of servers and the variable condition of the product index is set to a position where the values of various design parameters are halved.
- the search control information generation unit 11 determines the position B of the product index that is closest to the predicted performance at the position A where the value of the number of servers is halved for the branch position related to the product index. Specify as a branch position.
- the search control information may include information on the position B. Further, the search control information may include information indicating design parameters that can improve the performance at a lower cost based on the performance and cost trend up to the branch position.
- the optimum solution searching means 12 performs a search according to the branching method (for example, the above-described design parameter information and branch position information) indicated in the search control information using the branch and bound method, and sets the optimal parameter set. decide.
- the optimal solution search method using the branch and bound method is a known technique, but in the present embodiment, until the optimal design parameter set is determined using the optimal solution search means 12 having the configuration shown in FIG. The specific process flow will be described below.
- the optimal solution searching means 12 includes a search area determining means 121, an optimal possibility determining means 122, a service level evaluating means 123, an optimal parameter set determining means 124, and an optimal parameter set storage means 125.
- the search area determination unit 121 branches the search area into a plurality of search areas (generates child nodes) based on the system model 13 and the search control information generated by the search control information generation unit 11, and restricts branching. In each iteration of the search by the method, the order of the areas (child nodes) to be searched is determined. Specifically, the search area determination unit 121 first preferentially defines a plurality of search areas under variable conditions related to design parameters indicated by the search control information in the definition areas (search areas) of various design parameters described in the system model. Branch to Thereafter, the search area determination unit 121 determines the search order of the branched search areas.
- the search area determination means 121 cannot further branch the design parameter (for example, in the case of a design parameter that can only take an integer value, the difference between the minimum value and the maximum value of the design parameter in the search area is 1 or less. Branch) on another design parameter.
- each design parameter is as follows. ⁇ Number of Web / AP servers: 1 to 5 Web / AP server product index: x0 to x5 -Number of DB servers: 1 to 10 -DB server product index: y0 to y5
- FIG. 9 shows the entire search area.
- this search area is expressed as an initial node: N0.
- the search area determination unit 121 performs a branch operation on N0 by a branch and bound method in order to efficiently perform a search for determining an optimal combination of design parameters included in N0. At this time, the search area determination unit 121 performs a branch operation according to the search control information generated by the search control information generation unit 11. For example, for the Web / AP server, the search area determination unit 121 gives priority to the direction of branching the product index value as shown in FIG. On the other hand, for the DB server, the search area determination unit 121 gives priority to the direction of branching the number of units as shown in FIG.
- a branch is made at an intermediate point between the minimum value and the maximum value of the design parameter, but this branch position is included in the range of the minimum value and the maximum value of the design parameter at N0. As long as it is optional.
- the optimal possibility determination means 122 performs a process called so-called cut-off or pruning as a process for improving the efficiency of the search using the branch and bound method. That is, the optimal possibility determination unit 122 determines whether an optimal parameter set can be included in each search region (child node) branched by the search region determination unit 121. For child nodes that cannot contain the optimal parameter set (that is, child nodes that are not optimal), the subsequent search is terminated.
- the optimal possibility determination means 122 first calculates the cost of the parameter set that minimizes the cost existing in the child node and the cost of the optimal parameter set stored in the optimal parameter set storage means 125. Compare. When the former is lower than the latter, the optimal possibility determination unit 122 determines that the child node has the optimal possibility. On the other hand, when the former is higher than the latter, the optimal possibility determination means 122 determines that the child node is not optimal, terminates the search for the child node, and searches for another child node. .
- the cost for a certain design parameter set can be easily calculated from the price (and software procurement price) of each hardware product (server, router, etc.) and the number thereof. Information about the price is input from outside the design support apparatus 1 or stored in advance in a storage unit (not shown) of the design support apparatus 1.
- the parameter sets included in the child node N2 are all higher than C0. Cost increases. Therefore, the combination of design parameters included in the child node N2 cannot be an optimal solution regardless of the service level (achieved / not achieved SLO). Therefore, the subsequent search can be terminated for the child node N2.
- the service level evaluation unit 123 executes the feasibility of the child node determined to have the optimum possibility by the optimum possibility judging unit 122 (that is, the system designed by the design parameter set included in the child node achieves the SLO. Or not). Specifically, the service level of the system designed using the design parameter set included in this child node is predicted, and it is determined whether the SLO is achieved.
- the service level of the system can be predicted, for example, by performing a simulation simulating the behavior of the system in a certain design parameter set.
- N2 is optimal
- the feasibility of N2 that is, whether the system performance with the parameter set included in N2 achieves SLO
- the left end point L2 of N2 is the parameter set having the lowest performance in N2. Therefore, if the performance at L2 achieves SLO, it can be seen that SLO is achieved with all parameter sets included in N2, that is, N2 is an executable region.
- the optimal parameter set determining means 124 determines a parameter set that seems to be optimal at that time in the iteration of the optimal solution search. Specifically, the optimum parameter set determination unit 124 first obtains the lowest cost among the parameter sets included in the search area (child node) determined to be executable by the service level evaluation unit 123. Compare the cost with the optimal parameter set. As a result of the comparison, the optimum parameter set determining unit 124 stores the lower one in the optimum parameter set storage unit 125 as the optimum parameter set and its cost. On the other hand, when it is determined that the search area is not executable, the optimum parameter set is not updated.
- the optimal parameter set storage unit 125 stores the optimal parameter set determined by the optimal parameter set determination unit 124.
- the optimum parameter set storage means 125 is realized by a storage device such as a magnetic disk device or an optical disk device.
- step A1 the search control information generation means 11 extracts various design parameters described in the input system model 13 and information on the range of values that can be taken.
- the search control information generation means 11 generates search control information based on the extracted information.
- the search control information includes information about design parameters that can improve performance at a lower cost.
- the information of the branch position used by the optimal solution search by a branch and bound method may be contained.
- the details of the search control information generation process are as described above.
- the optimum solution searching means 12 searches for the optimum parameter set using the branch and bound method using the search control information. Specifically, this search is performed by performing a branching operation preferentially using the design parameters (and branching positions) indicated in the search control information.
- step A3 the optimum solution searching means 12 determines whether there is an unsearched area among the branched areas. If it is determined in step A3 that there is no unsearched area, the process ends.
- step A4 the optimum solution searching means 12 divides the unsearched area by the branching method indicated by the search control information and determines the search area N. To do.
- step A5 the optimum solution search means 12 calculates the system cost (minCost (N)) in the parameter set with the lowest cost included in the region N, and finds the optimum parameter set found at that time. Compare system cost with minCost. The value of minCost is stored in the optimum parameter set storage unit 125. If minCost (N) ⁇ minCost, the process proceeds to step A3. If minCost (N) ⁇ minCost, the optimum solution search means 12 predicts the service level with the design parameters included in the region N in step A6.
- step A7 the optimum solution searching means 12 determines whether or not the predicted service level has achieved SLO. If it has been achieved, it is determined that region N is executable. If not, it is determined that the area N is not executable, and the process proceeds to Step A3.
- the optimum solution search unit 12 updates the optimum parameter set with the design parameters in step A8. Thereafter, the process returns to step A3, a search is performed in another area, and the processes in steps A4 to A8 are repeated until there is no unsearched area.
- performance is described as an example of non-functional requirements for the system, but the present invention is not limited to this.
- the present invention can also be applied to non-functional requirements capable of sorting design parameter values so that the evaluation index values monotonously increase with respect to various design parameters.
- the search control information generation unit 11 has a tendency of the influence of changes in various design parameter values described as design information in the system model on the service level and cost of the system.
- search control information generating means is used in order to cope with a specific problem that candidates for products that can be used as each server are determined in advance or the types of products that can be used for each server are different.
- 11 determines a search method from information on the relationship between the processing capability and price of the product included in the system model.
- the optimum solution searching unit 12 determines an appropriate branching method (for example, a design parameter or a branching position to be branched preferentially) based on the search control information.
- the optimal solution search means 12 determines a combination of design parameters that achieves SLO and minimizes cost by using a branch and bound method that performs a branch operation according to the determined branch method.
- the search control information generation unit 11 can automatically and efficiently determine a combination of design parameters that achieves SLO (service level target) and minimizes the cost.
- FIG. 15 is a block diagram illustrating a configuration of a design support apparatus according to the second embodiment.
- the design support apparatus 2 has the same configuration as that of the design support apparatus 1 of FIG.
- the same search control information is used in all iterations of the optimal solution search using the branch and bound method.
- the optimum solution search is performed using the search control information newly generated for each iteration (that is, changing the branching method for each search region).
- search control information for each search region, newly generated search control information can provide information on design parameters that can be improved at a lower cost with higher accuracy. Will be shown.
- the search control information generation unit 11 newly generates search control information for each iteration of the optimal solution search using the branch and bound method.
- the optimal solution search means 12 performs a branch operation using newly generated search control information, and performs an optimal solution search by the branch and bound method. As a result, it is possible to more efficiently determine an optimal combination of design parameters that achieves SLO and minimizes cost.
- the design support apparatus of the present invention is not limited to the configuration of the above embodiment, and various modifications and changes can be made from the configuration of the above embodiment. Those subjected to are also included in the scope of the present invention.
- Search control information for generating search control information including design parameter information that is likely to improve system performance at a lower cost in response to input of information about possible values for system design parameters Generating means;
- Optimal solution search means for searching for a combination of design parameters that achieves a service level target and minimizes cost by performing an optimal solution search by a branch and bound method using the generated search control information.
- a design support device characterized by comprising:
- the search control information generation means generates the search control information by analyzing a tendency of an influence of a change in design parameters indicated in the input information on system performance and cost,
- the design support apparatus according to appendix 1, wherein the optimum solution search means performs the optimum solution search by performing a branch operation using the design parameters indicated in the search control information preferentially.
- the search control information includes information on the branch position determined according to the result of the analysis, The design support apparatus according to appendix 2, wherein the optimum solution search means performs the optimum solution search using the branch position preferentially.
- the control unit searches for an optimal solution by a branch and bound method using the generated search control information, thereby searching for a combination of design parameters that achieves a service level target and minimizes the cost.
- a design support method comprising: an optimal solution search step to perform.
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)
Abstract
SLOを達成し、かつ、コストが最小となるような、システムの設計パラメータの組み合わせを自動的に決定する。設計支援装置は、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報をシステムモデルに応じて生成する探索制御情報生成手段と、探索制御情報を用いて分岐限定法により最適解探索を行い最適な設計パラメータの探索を行う最適解探索手段とを備える。
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は、本実施形態における設計支援装置1の構成を表すブロック図である。設計支援装置1は、具体的には、プログラムに従って動作するコンピュータ等の情報処理装置によって実現される。
[実施形態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サーバに関しては、良質な(より最適に近いと思われる)設計パラメータは、製品インデックスを増やした探索領域に含まれている可能性が高いと推測できる。
図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サーバに関しては、サーバ台数を増やした探索領域の方が、良質な設計パラメータが含まれている可能性が高いと推測できる。
図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として表記する。
・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に含まれる設計パラメータでのサービスレベルを予測する。
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(サービスレベル目標)を達成し、かつ、コストが最小となるような設計パラメータの組み合わせを自動的、かつ、効率的に決定することができる。
また、最適解探索手段12は、探索制御情報に基づいて、探索領域の適切な分岐方法(例えば、優先的に分岐すべき設計パラメータや分岐位置)を決定する。最適解探索手段12は、決定した分岐方法に従って分岐操作を行う分岐限定法を用いることによって、SLOを達成し、かつ、コストが最小となるような設計パラメータの組み合わせを決定する。その結果、探索制御情報生成手段11は、SLO(サービスレベル目標)を達成し、かつ、コストが最小となるような設計パラメータの組み合わせを自動的、かつ、効率的に決定することができる。
[実施形態2]
以下、本発明の実施形態2について、図面を参照して詳述する。
図15は、第2の実施形態における設計支援装置の構成を表すブロック図である。設計支援装置2は、図1の設計支援装置1と同様の構成を備えるが、構成の結合関係が異なる。処理としては、実施形態1では、分岐限定法を用いた最適解探索の全てのイテレーションで、同じ探索制御情報が用いられた。これに対し、実施形態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に記載の設計支援装置。
前記最適解探索手段は、前記探索制御情報に示された設計パラメータを優先的に用いて分岐操作を行うことによって、前記最適解探索を行うことを特徴とする付記1に記載の設計支援装置。
(付記3)前記探索制御情報は、前記分析の結果に応じて決定した分岐位置の情報を含み、
前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする付記2に記載の設計支援装置。
前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする付記2に記載の設計支援装置。
(付記4)前記探索制御情報生成手段は、前記最適解探索のイテレーションごとに、新たに前記探索制御情報を生成することを特徴とする付記1から3のいずれか1つに記載の設計支援装置。
(付記5)制御部を有する情報処理装置において実施される設計支援方法であって、
前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、
前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップと
を備えたことを特徴とする設計支援方法。
前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、
前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップと
を備えたことを特徴とする設計支援方法。
(付記6)コンピュータを
システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段
として機能させるためのプログラム。
システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段
として機能させるためのプログラム。
1、2 設計支援装置
11 探索制御情報生成手段
12 最適解探索手段
121 探索領域決定手段
122 最適可能性判定手段
123 サービスレベル評価手段
124 最適パラメータセット決定手段
125 最適パラメータセット記憶手段
13 システムモデル
14 最適パラメータセット
11 探索制御情報生成手段
12 最適解探索手段
121 探索領域決定手段
122 最適可能性判定手段
123 サービスレベル評価手段
124 最適パラメータセット決定手段
125 最適パラメータセット記憶手段
13 システムモデル
14 最適パラメータセット
Claims (6)
- システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段と、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段と
を備えたことを特徴とする設計支援装置。 - 前記探索制御情報生成手段は、前記入力された情報に示された設計パラメータの変化がシステムの性能とコストに与える影響の傾向を分析することによって、前記探索制御情報を生成し、
前記最適解探索手段は、前記探索制御情報に示された設計パラメータを優先的に用いて分岐操作を行うことによって、前記最適解探索を行うことを特徴とする請求項1に記載の設計支援装置。 - 前記探索制御情報は、前記分析の結果に応じて決定した分岐位置の情報を含み、
前記最適解探索手段は、前記分岐位置を優先的に用いて前記最適解探索を行うことを特徴とする請求項2に記載の設計支援装置。 - 前記探索制御情報生成手段は、前記最適解探索のイテレーションごとに、新たに前記探索制御情報を生成することを特徴とする請求項1から3のいずれか1項に記載の設計支援装置。
- 制御部を有する情報処理装置において実施される設計支援方法であって、
前記制御部が、システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成ステップと、
前記制御部が、前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索ステップと
を備えたことを特徴とする設計支援方法。 - コンピュータを
システムの設計パラメータとして取りうる値についての情報の入力に応じて、より低いコストでシステムの性能を向上できる可能性の高い設計パラメータの情報を含む探索制御情報を生成する探索制御情報生成手段、
前記生成された探索制御情報を用いて分岐限定法により最適解探索を行うことによって、サービスレベル目標を達成し、かつ、コストが最小となるような設計パラメータの組み合わせの探索を行う最適解探索手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014518387A JP6183359B2 (ja) | 2012-05-29 | 2013-05-17 | 設計支援装置、設計支援方法及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-122387 | 2012-05-29 | ||
JP2012122387 | 2012-05-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013179921A1 true WO2013179921A1 (ja) | 2013-12-05 |
Family
ID=49673124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/063848 WO2013179921A1 (ja) | 2012-05-29 | 2013-05-17 | 設計支援装置、設計支援方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6183359B2 (ja) |
WO (1) | WO2013179921A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902790B (zh) * | 2014-04-25 | 2017-05-10 | 上海海事大学 | 岸桥起重机动态优化设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319848A (ja) * | 1994-05-27 | 1995-12-08 | Fujitsu Ltd | 最適解探索方式および最適解探索方法 |
JP2002183416A (ja) * | 2000-12-15 | 2002-06-28 | Hitachi Ltd | システム提案方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
JP2004030292A (ja) * | 2002-06-26 | 2004-01-29 | Hitachi Ltd | コンピュータのシステム構成導出方法及び装置 |
WO2012039486A1 (ja) * | 2010-09-24 | 2012-03-29 | 日本電気株式会社 | 構成管理装置、構成管理方法、及び構成管理プログラム |
-
2013
- 2013-05-17 JP JP2014518387A patent/JP6183359B2/ja active Active
- 2013-05-17 WO PCT/JP2013/063848 patent/WO2013179921A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319848A (ja) * | 1994-05-27 | 1995-12-08 | Fujitsu Ltd | 最適解探索方式および最適解探索方法 |
JP2002183416A (ja) * | 2000-12-15 | 2002-06-28 | Hitachi Ltd | システム提案方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
JP2004030292A (ja) * | 2002-06-26 | 2004-01-29 | Hitachi Ltd | コンピュータのシステム構成導出方法及び装置 |
WO2012039486A1 (ja) * | 2010-09-24 | 2012-03-29 | 日本電気株式会社 | 構成管理装置、構成管理方法、及び構成管理プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902790B (zh) * | 2014-04-25 | 2017-05-10 | 上海海事大学 | 岸桥起重机动态优化设计方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6183359B2 (ja) | 2017-08-23 |
JPWO2013179921A1 (ja) | 2016-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836576B2 (en) | Distributed machine learning at edge nodes | |
US10884795B2 (en) | Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster | |
EP3495951B1 (en) | Hybrid cloud migration delay risk prediction engine | |
US9921809B2 (en) | Scaling a cloud infrastructure | |
US11436056B2 (en) | Allocation of shared computing resources using source code feature extraction and clustering-based training of machine learning models | |
US11614978B2 (en) | Deep reinforcement learning for workflow optimization using provenance-based simulation | |
CN109960653A (zh) | 回归测试方法、装置、设备和存储介质 | |
US9444717B1 (en) | Test generation service | |
US9436725B1 (en) | Live data center test framework | |
US10862765B2 (en) | Allocation of shared computing resources using a classifier chain | |
US9396160B1 (en) | Automated test generation service | |
JP7566080B2 (ja) | 予測モデルの改良 | |
US20190377606A1 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
JP6888737B2 (ja) | 学習装置、学習方法、及びプログラム | |
US10762166B1 (en) | Adaptive accelerated yield analysis | |
WO2014181495A1 (ja) | 仮想マシン配置決定装置、仮想マシン配置決定方法および仮想マシン配置決定プログラム | |
CN109586954A (zh) | 一种网络流量预测方法、装置及电子设备 | |
US11392803B2 (en) | Decision boundary enhancement for learning models | |
US11824731B2 (en) | Allocation of processing resources to processing nodes | |
WO2022108672A1 (en) | Tuning large data infrastructures | |
Morichetta et al. | Demystifying deep learning in predictive monitoring for cloud-native SLOs | |
JP6183359B2 (ja) | 設計支援装置、設計支援方法及びプログラム | |
JP2015191397A (ja) | 設計パラメータ探索装置、設計パラメータ探索方法、及びプログラム | |
WO2013141018A1 (ja) | 最適システム設計支援装置 | |
KR20180057321A (ko) | 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13796506 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014518387 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13796506 Country of ref document: EP Kind code of ref document: A1 |