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

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

Info

Publication number
WO2014097599A1
WO2014097599A1 PCT/JP2013/007373 JP2013007373W WO2014097599A1 WO 2014097599 A1 WO2014097599 A1 WO 2014097599A1 JP 2013007373 W JP2013007373 W JP 2013007373W WO 2014097599 A1 WO2014097599 A1 WO 2014097599A1
Authority
WO
WIPO (PCT)
Prior art keywords
evaluation value
slos
support apparatus
system configuration
price
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.)
Ceased
Application number
PCT/JP2013/007373
Other languages
English (en)
French (fr)
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 JP2014552926A priority Critical patent/JPWO2014097599A1/ja
Priority to US14/650,641 priority patent/US10096036B2/en
Publication of WO2014097599A1 publication Critical patent/WO2014097599A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to an optimum design support apparatus, method and program for supporting design of controllable design parameters of a computer system.
  • service quality target values SLO: Service Level Object
  • SLO Service Level Object
  • One of the typical non-functional requirements is performance.
  • the maximum throughput that represents the processing capacity of the system the turnaround time that represents the time until the predetermined processing is completed, the usage rate of various resources such as CPU (Central Processing Unit) and threads, etc. , Each is specified to be in an acceptable range.
  • CPU Central Processing Unit
  • such a problem can be formulated as a so-called combinatorial optimization problem that satisfies the given constraints and determines the value of each control variable so as to maximize the evaluation under a certain evaluation criterion. .
  • the system configuration is expressed by a plurality of parameters (parameter sets).
  • a technique for automatically deriving a system configuration that minimizes the price under a certain constraint on response time has been proposed. More specifically, a technique has been proposed in which the response time of a system is predicted based on queuing theory, and an optimal point that satisfies the constraint conditions is determined using a successive approximation method using Lagrange's undetermined multiplier method and Newton's method. Yes.
  • Patent Document 2 the amount of increase in load when the multiplicity of processing is increased is calculated based on load information of resources such as CPUs collected for each business application executed on the server. . Thereafter, a technique has been proposed in which the optimum multiplicity of processing is determined so that the load on all resources is not more than a preset upper limit value.
  • the resource performance is allocated to each component of the development target system within a range satisfying the determined allocation ratio, and the performance of the system when multiple transactions are executed simultaneously is predicted. To do. If the prediction result does not meet the performance requirement, a technology that searches for the resource usage of each component necessary to satisfy the performance requirement by repeating the prediction with the resource allocation different from the previous one repeated. Proposed.
  • Patent Document 1 cannot represent the predicted response time value as a closed formula (formula). Although it is possible to obtain an approximate expression for response time etc. by simulation simulating the state of processing or measurement using an actual machine, it is necessary to perform simulations and actual measurements under various conditions. Takes a lot of time. Conversely, if simulation and actual measurement are performed only under a limited number of conditions, the error increases, and accurate non-functional requirement evaluation and capacity planning cannot be performed.
  • Patent Document 3 is a so-called fuzzy method that repeats performance prediction in various system configurations, and finding a configuration that satisfies customer requirements is very inefficient.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to design a system configuration that minimizes the cost in a short time and with high efficiency even for a computer system that performs complex processing. It is an object of the present invention to provide an optimum design support apparatus and a program that support it.
  • an optimum design support apparatus is an optimum design support apparatus that supports design of controllable design parameters of a computer system in which a plurality of SLOs relating to non-functional requirements are designated.
  • Deriving means for deriving a relaxed solution evaluation value that is a minimum value of the price of the system configuration of the computer system that achieves a part of the SLO that can determine whether or not it can be achieved at high speed, and using the relaxed solution evaluation value
  • a search means for searching for a parameter set of design parameters that achieves all of the plurality of SLOs and minimizes the price of the system configuration.
  • another program of the present invention provides an optimum design support apparatus that supports design of controllable design parameters of a computer system in which a plurality of SLOs related to non-functional requirements are designated, and a part of the plurality of SLOs. Deriving a relaxed solution evaluation value that is a minimum value of the system configuration price of the computer system to be achieved, using the relaxed solution evaluation value to achieve all of the plurality of SLOs, and And searching for a parameter with a minimum price.
  • another method of the present invention is an optimal design support apparatus that supports design of controllable design parameters of a computer system in which a plurality of Service Level Objects (SLO) relating to non-functional requirements are specified. Deriving a relaxed solution evaluation value that is a minimum value of the system configuration of the computer system that achieves some of the SLOs, and using the relaxed solution evaluation value to achieve all of the plurality of SLOs; and The parameter that minimizes the price of the system configuration is searched.
  • SLO Service Level Objects
  • a computer system that performs complex processing can support the design of an optimal system configuration that minimizes the price so that it can be performed in a short time and with high efficiency. More specifically, the system configuration that achieves the SLO and minimizes the price can be automatically determined without expressing the predicted value of the service level such as response time as a closed expression. In addition, capacity planning that can be applied to a system that performs the complicated processing as described above can be automatically performed.
  • FIG. 1st Embodiment of this invention It is a block diagram which shows the structure of the optimal design assistance apparatus which concerns on the 1st Embodiment of this invention. It is a figure which shows an example of the system model in the optimal design assistance apparatus shown in FIG. It is a figure which shows an example of the product information including the value and price information which are defined for every product which can be used for each server of the system model shown in FIG. It is a flowchart which shows the process of the optimal design assistance apparatus shown in FIG. It is a block diagram which shows the structure of the optimal design assistance apparatus which concerns on the 2nd Embodiment of this invention. It is a flowchart which shows the process of the optimal design assistance apparatus shown in FIG. It is a block diagram which shows the structure of the optimal design assistance apparatus which concerns on the 3rd Embodiment of this invention.
  • FIG. 1 is a block diagram showing a configuration of an optimum design support apparatus 100 according to the first embodiment.
  • the optimum design support apparatus 100 is an apparatus that supports the design of controllable design parameters of a computer system in which a plurality of SLOs related to non-functional requirements are designated.
  • the optimum design support apparatus 100 may be realized by an information processing apparatus such as a computer that is stored in a memory and operates according to a program executed by a processor.
  • the optimum design support apparatus 100 may be provided in the computer system or may be provided in an information processing apparatus different from the computer system.
  • the optimum design support apparatus 100 may be a dedicated apparatus configured by a logic circuit that functions as each unit described below.
  • each unit includes the evaluation value criterion setting unit 40, the optimization problem construction unit 30, the optimization parameter set search unit 50, the partial problem construction unit 51, the relaxation problem construction unit 52, the relaxation solution derivation unit 53, The optimality determination means unit 54, the evaluation value comparison unit 55, and the like are indicated.
  • the optimum design support apparatus 100 includes an optimization problem constructing unit 30 that constructs an optimization problem for determining an optimum system configuration from the SLO 10 and the system model 20, and an object in the optimization problem.
  • An evaluation reference value setting unit 40 is provided for setting a reference value for the evaluation value of the function.
  • the optimum design support apparatus 100 further includes an optimum parameter set search unit (parameter set search unit) 50 that searches for an optimum parameter set 60 that solves the optimization problem and has an optimum system configuration.
  • the optimal parameter set search unit 50 includes a partial problem construction unit 51, a relaxation problem construction unit 52, a relaxation solution derivation unit 53, an optimality determination unit 54, and an evaluation value comparison unit 55 (also referred to as a search unit 70). And.
  • the SLO 10 is a service level target value for non-functional requirements such as performance and availability, and the target value is designated by the customer for the computer system to be designed. Specifically, for example, a target value for performance such as a response time of a computer system and usage rates of various resources and a target value for availability such as a system failure rate and recovery time are specified.
  • the system model 20 is a model representing design information of a computer system described in a machine processable format.
  • This model includes various design parameters such as the number of servers, the number of CPU cores, and the number of threads that affect the connection state of system components including hardware and software, and the service level for non-functional requirements of the system.
  • the model further includes a range of possible values for the design parameters and information representing controllable design parameters.
  • the SLO 10 and the system model 20 are given to the optimum design support apparatus 100 from the outside, or are stored in a storage device included in the apparatus.
  • FIG. 2 is a diagram showing a specific example of the system model 20.
  • a client computer 21, a web / AP (Application) server 22, and a DB (Data Base) server 23 are connected in series via a network.
  • the design parameters in the system model 20 include the numbers of web / AP servers 22 and DB servers 23 (n1, n2) and identifiers indicating the types of products X and Y to be used (product indexes (i1, i2)). ) Is defined. Each of these parameters can take the following values.
  • the system model 20 is associated with the product index 71 of each product X (x0 to x5) and Y (y0 to y3).
  • the prices 74 of the products X (x0 to x5) and Y (y0 to y3) are defined.
  • FIG. 3 shows this state.
  • the specification is a design parameter that affects the service level of the computer system. In the first embodiment, the data shown in FIG.
  • changing the product index of a server including the web / AP server 22 and the DB server 23 means using another product for the server.
  • Product information values such as specifications and prices change in a batch according to the product index to be changed.
  • the optimization problem construction unit 30 formulates the determination of an optimal system configuration based on the SLO 10 and the system model 20 as an optimization problem. That is, the optimization problem constructing unit 30 sets a combination of design parameter values (optimum parameter set) of the system model 20 that achieves the designated SLO 10 and minimizes the price as an optimization problem. .
  • the optimization problem construction unit 30 constructs a combination optimization problem.
  • controllable design parameters described in the system model 20 are used as control variables.
  • This optimization problem is calculated based on the price of each component (product x0 to x5, product y0 to y3) described in the system model 20 under the constraint that the specified SLO is achieved.
  • the total price (cost) of the computer system to be used is an objective function.
  • the CPU usage rate of all servers is within 90%.
  • the response time of the request is within 0.5 seconds.
  • the optimization problem constructing unit 30 determines the service level ( Formulation is performed to obtain a configuration that minimizes the cost so that the evaluation values of the CPU usage rate and the response time are 0.9 and 0.5 or less, respectively. That is, the same part is the cost (ci1 ⁇ n1 + ci2 ⁇ n2) of the combinations of the number n1 of web / AP servers 22, the product i1 (price ci1), the number n2 of DB servers 23, and the product i2 (price ci2). We formulate to find the one that minimizes.
  • the evaluation reference value setting unit 40 sets a lower limit of evaluation values that can be taken by the solution of the combination optimization problem as a reference value for the evaluation value of the objective function in the optimization problem. For example, the upper limit of the cost designated by the customer or the evaluation value of the feasible solution in the optimization problem obtained by some method is set as the reference value.
  • the optimum parameter set search unit 50 uses the minimum price derived by the relaxation solution deriving unit 53 to achieve all the specified SLOs, and to minimize the price of the system configuration of the computer system. Search the parameter set of parameters.
  • the partial problem construction unit 51, the relaxation problem construction unit 52, the relaxation solution derivation unit 53, the optimality determination unit 54, and the evaluation value comparison unit 55 provided in the optimal parameter set search unit 50 will be described in order.
  • the partial problem construction unit 51 divides the above-mentioned combination optimization problem (hereinafter also referred to as an original problem) into a plurality of partial problems. Specifically, the subproblem construction unit 51 divides the domain of some control variables in the original problem and narrows the search range, thereby converting into a plurality of small optimization problems.
  • the relaxation problem construction unit 52 constructs a relaxation problem that can be easily solved by loosening the constraint conditions rather than the original problem and the partial problem. Specifically, the same part builds a problem of finding an optimum parameter set when only a part of SLOs 10 that can be determined at high speed among the designated SLOs 10 is used as a constraint. To do.
  • the ability to determine attainability at high speed means that it can be determined by, for example, a predetermined number of analysis calculations, for example, addition / subtraction / multiplication / division, or does not require simulation.
  • the server CPU usage rate U is determined by the following simple (number of servers n, number of CPU cores installed in the server N, and benchmark value SP obtained by measuring the performance per one core of the server device ( It is possible to predict from equation (1).
  • Equation (1) ⁇ is a request arrival rate.
  • d is a processing time per request, and is a fixed value for a specific request.
  • ⁇ s is the arrival rate of requests to the server s.
  • Ds is the processing time of the server s per request.
  • Ns is the number of CPU cores of the server s, and SP is the benchmark value of the server s.
  • the relaxation solution derivation unit 53 solves the problem constructed by the relaxation problem construction unit 52 and obtains a combination of design parameters that minimizes the cost when only a part of the SLOs is considered as a constraint condition.
  • the relaxed solution derived here may not be feasible as the solution of the original problem and the partial problem considering all SLOs, but the upper limit of the evaluation value of the truly feasible solution, That is, it gives a lower cost limit.
  • the relaxed solution deriving unit 53 sequentially checks the specifications of the product candidates x0 to x5 that can be used as the web / AP server 22, and based on the CPU core number N1 and the benchmark value SP1 of each product x0 to x5, the above (3) A minimum value of n1 satisfying the following expression (5) obtained by modifying the expression is obtained. That is, the same part obtains the minimum number of web / AP servers 22 required.
  • the product information 70 is defined as shown in FIG. 3, and the number of servers required when the products x0 to x5 are used is calculated as follows.
  • the combination with the cheapest value of (product price x number) is adopted as the relaxation solution To do.
  • the price of the web / AP server 22 when the respective products x0 to x5 are used is as follows.
  • C x0 to C x5 are prices of the products x0 to x5.
  • the product candidates y0 to y3 are examined in order, and the combination of the product and the number of products with the lowest price can be obtained as a relaxed solution.
  • the optimality determination unit 54 uses the evaluation value of the relaxation solution derived by the relaxation solution deriving unit 53 to check whether the partial decomposition of a certain partial problem can be the optimal solution of the original problem. Specifically, the optimality determination unit 54 compares the relaxation solution of each partial problem (partial relaxation solution) with the reference value set by the evaluation reference value setting unit 40, and the evaluation value of the partial relaxation solution If it is worse than the reference value or there is no partial relaxation solution, the partial problem is deleted.
  • the upper limit value of the cost specified by the customer is set as the reference value.
  • the cost of a partial relaxation solution is higher than the reference value
  • the cost of an executable solution (partial executable solution) that achieves all SLO10 in the partial problem is higher than the upper limit value.
  • the cost of the feasible solution in the original problem can be obtained and the cost is set as the reference value.
  • the cost of a certain partial relaxation solution is higher than the reference value
  • the cost of all the partial executable solutions in the partial problem is higher than the cost of a certain executable solution in the original problem. Therefore, since the feasible solution in the subproblem cannot be the optimal solution of the original problem, it is not necessary to solve the subproblem.
  • the evaluation value comparison unit 55 solves the partial problem that has not been deleted by the optimality determination unit 54, and sets the partial decomposition having the highest evaluation value as the optimal solution of the original problem. Specifically, the evaluation value comparison unit 55 achieves all of the specified SLO10 and has the smallest price among the parameter sets included in the domain of the partial problem, and solves the partial problem. It becomes.
  • the solving method of the partial problem is not limited.
  • the service level is predicted for all parameter sets using simulation or the like, and the achievement of the SLO 10 is examined. be able to.
  • the optimization problem constructing unit 30 formulates such that the predicted value of the service level increases monotonously for each design parameter, that is, the greater the value of each control variable, the easier the constraint condition is satisfied. Do.
  • the optimization problem constructing unit 30 formulates such that the predicted value of the service level increases monotonously for each design parameter, that is, the greater the value of each control variable, the easier the constraint condition is satisfied. Do.
  • the performance increases monotonously. That is, it becomes easy to achieve SLO10 regarding performance, such as response time and a resource usage rate.
  • the optimum design support apparatus 100 extracts controllable design parameters and information indicating their possible values from the system model 20, and determines control variables and their definition areas in the optimization problem. .
  • the constraint condition to be satisfied is determined (ST101).
  • the optimum design support apparatus 100 sets a predetermined evaluation reference value (ST102).
  • the optimum design support apparatus 100 divides the domain of some control variables into an appropriate range, and divides the original problem into a plurality of partial problems (ST103). Subsequently, for each partial problem constructed in step ST103, the optimum design support apparatus 100 constructs a relaxation problem with only a part of the SLOs that can be determined at high speed as a constraint (ST104). Furthermore, the apparatus derives a relaxation solution of the relaxation problem, compares the derived relaxation solution evaluation value with the evaluation reference value set in step ST102, and whether the evaluation value of the relaxation solution is less than the evaluation reference value. It is determined whether or not (ST105).
  • the optimum design support apparatus 100 derives partial decomposition (ST106), and the evaluation value of the relaxation solution is equal to or higher than the evaluation reference value. (ST105: NO), the partial problem is deleted (ST107). In other words, the optimum design support apparatus 100 solves only the partial problem with the better evaluation value of the relaxation solution and deletes the partial problem with the worse evaluation value of the relaxation solution, so that the process can be performed at high speed.
  • step ST106 The evaluation values of the partial decomposition derived in step ST106 are respectively compared, and the partial decomposition having the highest evaluation value is determined as the original problem solution (ST108).
  • the optimum design support apparatus 100 can design a system configuration that minimizes cost in a short time and with high efficiency even in a computer system that performs complex processing. Can help.
  • the optimum design support apparatus 100 is a relaxation problem in which only a part of SLOs that can be calculated at high speed from the plurality of SLOs 10 and the system model 20 that are specified with respect to non-functional requirements is a constraint.
  • the apparatus further includes a relaxation solution derivation unit 53 that derives a relaxation solution of the relaxation problem constructed by the relaxation problem construction unit 52.
  • the optimum parameter set search unit 50 compares the cost of the relaxation solution derived by the relaxation solution deriving unit 53 with the reference value of the cost set in the evaluation value criterion setting unit 40.
  • the same part searches for the parameter set only when the cost of the relaxed solution derived by the relaxed solution deriving unit 53 is equal to or less than the cost reference value preset in the evaluation value criterion setting unit 40. Therefore, the optimum design support apparatus 100 can perform an efficient optimum parameter set search using the evaluation value of the solution to the relaxation problem. Further, the apparatus can determine a combination of design parameter values of the system model 20 in a short time and with high efficiency so as to achieve a plurality of designated SLOs 10 and minimize the cost.
  • FIG. 5 is a block diagram showing the configuration of the optimum design support apparatus 101 according to the second embodiment.
  • the optimal design support apparatus 101 shown in FIG. 5 includes a partial problem selection unit 56 as compared with the optimal design support apparatus 100 of the first embodiment shown in FIG. The difference is that a unit 57 (also referred to as a search unit 70) is provided. Therefore, hereinafter, differences from the first embodiment will be described.
  • the sub-problem selection unit 56 constructs a relaxation problem from among a plurality of sub-problems constructed by the sub-problem construction unit 51, and extracts an appropriate sub-problem for which optimality should be determined.
  • the provisional solution derivation unit 57 solves the subproblems selected by the subproblem selection unit 56 and not deleted by the optimality determination unit 54, and solves the partial decomposition and other subproblems already solved. The best ones are compared sequentially, and the one with the higher evaluation value is stored as a provisional solution. Then, the provisional solution deriving unit 57 sets the provisional solution stored when all the partial problems are solved as the optimum solution of the original problem.
  • the optimality determination unit 54 compares the evaluation value of each partial relaxation solution with the evaluation value of the provisional solution derived by the provisional solution deriving unit 57, so that Determine the optimality of the problem. Then, when the evaluation value of a certain partial relaxation solution is worse than the evaluation value of the provisional solution, or when there is no relaxation solution, the optimality determination unit 54 deletes the partial problem.
  • the optimum design support apparatus 101 is evaluated in the evaluation reference value setting unit 40 as in the first embodiment.
  • the comparison using the set reference value is performed.
  • the case where none of the partial problems is solved means a case where a provisional solution is not obtained when comparing the evaluation value of each partial relaxation solution and the evaluation value of the provisional solution.
  • steps ST201 to ST203 are performed, and the optimum design support apparatus 101 solves the partial problem to be solved from the constructed partial problems. Is selected (ST204).
  • the optimum design support apparatus 101 constructs a relaxation problem for the partial problem (ST205).
  • the apparatus further compares the relaxed solution evaluation value obtained by solving the relaxation problem with a provisional solution evaluation value (where an evaluation reference value is used if no provisional solution has been derived), and the relaxation is performed. It is determined whether or not the solution evaluation value is less than the provisional opening evaluation value (ST206).
  • the optimum design support apparatus 101 solves the partial problem selected in step ST204 and derives partial decomposition (ST207). To do.
  • the apparatus deletes the partial problem (ST210). That is, the optimum design support apparatus 101 derives partial decomposition if the evaluation value of the relaxation solution is better than the evaluation value of the temporary solution, and deletes the partial decomposition if the evaluation value of the relaxation solution is worse than the evaluation value of the temporary solution.
  • the optimum design support apparatus 101 compares the partial decomposition evaluation value derived in step ST107 with the temporary solution evaluation value, and determines whether or not the partial decomposition evaluation value is less than the temporary solution evaluation value. Determine (ST208). If it is determined that the partial decomposition evaluation value is not less than the provisional solution evaluation value (ST208: NO), the optimum design support apparatus 101 deletes the partial problem (ST210). If it is determined that the evaluation value of partial decomposition is less than the evaluation value of the provisional solution (ST208: YES), the apparatus updates the provisional solution (ST209) and deletes the partial problem (ST210).
  • the optimum design support apparatus 101 deletes the partial problem if the evaluation value of the partial decomposition is worse than the evaluation value of the temporary solution, and if the evaluation value of the partial decomposition is better than the evaluation value of the temporary solution, After replacing the provisional solution, delete the partial problem.
  • the optimum design support apparatus 101 determines whether or not the processing of steps ST204 to ST210 has been completed for all the partial problems (ST211). When it is determined that the processing has not been completed for all partial problems (ST211: NO), the apparatus returns to the processing of step SST204, and when it is determined that the processing has been completed (ST211: YES), this processing ends. That is, the optimum design support apparatus 101 repeats the processing from step ST204 to step ST211 until all the partial problems are solved.
  • the optimum design support apparatus 101 is configured so that the evaluation value of the provisional solution having the best evaluation value derived in the process of sequentially solving the partial problem and the partial problem that has not been solved yet.
  • the optimality of the subproblem is determined by comparing with the evaluation value of the relaxation solution.
  • the evaluation value of the provisional solution is a cost in the system configuration that achieves all of the plurality of SLOs 10 specified under a predetermined condition. For this reason, as the search for the parameter set proceeds, the number of partial problems that can be deleted without checking whether the SLO 10 can be achieved increases. Therefore, a combination of design parameter values of the system model 20 that achieves the specified SLO 10 and minimizes the cost can be designed in a shorter time and more efficiently than the optimum design support apparatus 100. Can help.
  • FIG. 6 is a block diagram illustrating a configuration of the optimum design support apparatus 100 according to the third embodiment.
  • the optimum design support apparatus 100 according to the third embodiment is an optimum design support apparatus 100 that supports the design of controllable design parameters of a computer system in which a plurality of SLOs related to non-functional requirements are specified.
  • a search unit 70 a search unit 70.
  • the relaxed solution deriving unit 53 derives a relaxed solution evaluation value that is the minimum price of the system configuration of the computer system that achieves some of the SLOs.
  • the search unit 70 uses the relaxed solution evaluation value to search for a parameter set of design parameters that achieves all of the plurality of SLOs and minimizes the price of the system configuration.
  • the optimum design support apparatus 100 can support a system configuration that minimizes cost in a short time and with high efficiency even in a computer system that performs complex processing.
  • the reason is that the relaxation solution derivation unit 53 obtains a relaxation solution evaluation value, and the search unit 70 achieves all of the plurality of SLOs using the relaxation solution evaluation value, and the design parameter parameter that minimizes the price. This is because the set is searched.
  • the optimal design assistance apparatuses 100 and 101 of this invention are not limited only to the structure of said each embodiment, The structure of said each embodiment To which various modifications and changes are made within the scope of the present invention. Further, the present invention is not limited to the above-described embodiments, and various modifications can be made in the implementation.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

 複雑な処理を行うコンピュータシステムであっても、価格が最小となるシステム構成の設計を短時間かつ高効率に行なえるように支援すること。 非機能要件に関するService Level Object(SLO)が複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置は、複数のSLOのうち一部のSLOを達成するコンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出する緩和解導出部53と、緩和解評価値部を利用して、複数のSLOを全て達成し、かつ、システム構成の価格が最小となる設計パラメータのパラメータセットを探索する探索部70を備える。

Description

最適設計支援装置、方法及びプログラム
 本発明は、コンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置、方法及びプログラムに関する。
 コンピュータシステムの開発時には、コンピュータシステムのサービス品質に関する認識の相違を防ぐため、あらかじめ顧客との間で、性能や可用性などの非機能要件に対するサービス品質の目標値(SLO:Service Level Object)が設定されることが一般的である。
 代表的な非機能要件の一つは、性能である。例えば、性能に対するSLOにおいては、システムの処理能力を表す最大スループット、所定の処理が終了するまでの時間を表すターンアラウンドタイム、CPU(CPU:Central Processing Unit)やスレッドなどの各種リソースの使用率が、それぞれ、許容できる範囲にあることが指定される。
 通常、このようなSLOを考慮したシステム構成の設計(キャパシティプランニング)を行うためには、その技術分野の専門家が経験に基づく知識などを利用する。そして、要求される性能や可用性の条件を満たすようなシステム構成、すなわち、制御可能な設計パラメータの組み合わせを選び出す。
 しかし、決定すべき設計パラメータは大量に存在するため、適切な組み合わせを人手で決定するのは手間がかかる。また、SLOを達成し、かつ、サービス品質を保証するような構成は複数考えられるが、それらの中で価格が最小となるような最適な組み合わせを選び出すことは、さらに多くの時間と労力を要する。
 よって、このようなシステム構成を決定する工程を自動化することによって、全てのSLOを達成し、かつ、価格が最小となるような設計パラメータの組み合わせを効率的に導出することが求められる。
 ここで、このような問題は、与えられた制約条件を満たし、一定の評価基準において評価を最高にするように各制御変数の値を決定する、いわゆる組み合わせ最適化問題として定式化することができる。
 この種の最適化問題を解決する公知技術として、下記特許文献1においては、システム構成を複数のパラメータ(パラメータセット)によって表現する。そのうえで、応答時間に関する一定の制約条件のもとで、価格が最小となるようなシステム構成を自動的に導出する技術が提案されている。より具体的には、システムの応答時間を待ち行列理論に基づいて予測し、ラグランジュの未定乗数法とニュートン法とによる逐次近似法を用いて、制約条件を満たす最適点を求める技術が提案されている。
 また、下記特許文献2では、サーバ上で実行されている業務アプリケーションごとに収集した、CPUなどのリソースの負荷情報をもとに処理の多重度を増加させた場合の負荷の増加量を計算する。その後、全てのリソースに対する負荷があらかじめ設定されている上限値以下となるように最適な処理の多重度を決定する技術が提案されている。
 さらに、下記特許文献3では、開発対象システムの各コンポーネントに対して、決められた配分比を満足する範囲内で資源使用量を配分して、トランザクションを複数同時に実行した場合のシステムの性能を予測する。予測結果が性能要求を満たさない場合には、前回と異なる資源使用量を配分し直した予測を繰り返すことで、性能要求を満足するのに必要な、各コンポーネントの資源使用量を探索する技術が提案されている。
特開2004-30292号公報 特開2006-252162号公報 特開2010-128835号公報
 しかしながら、並列処理や分岐・同期処理などを含む複雑な処理を行うシステムについては、特許文献1に提案されている技術では、応答時間の予測値を閉じた式(数式)として表すことはできない。また、処理の様子を模したシミュレーションや実機を用いた計測等により、応答時間等に対する近似式を求めることは可能であるが、様々な条件下でのシミュレーションや実測を行う必要があるため、多大な時間を要する。逆に、限られた少数の条件下のみでしかシミュレーションや実測を行わなければ、誤差が大きくなってしまい、正確な非機能要件の評価やキャパシティプランニングを行うことはできない。
 また、特許文献2に提案されている技術では、単純な比例計算が可能なリソース使用率のみをSLOとして扱っており、応答時間のような、正確に予測することが難しいSLOについては考慮していない。
 さらに、特許文献3に提案されている技術では、様々なシステム構成における性能予測を繰り返す、いわば手探り的な手法であり、顧客の要求を満たす構成を見つけ出すのは、非常に効率が悪い。
 本発明は、上記の事情を鑑みてなされたものであり、その目的は、複雑な処理を行うコンピュータシステムであっても、価格が最小となるシステム構成の設計を、短時間かつ高効率に行なえるように支援する最適設計支援装置及びプログラムを提供することにある。
 上記課題を解決するために本発明の最適設計支援装置は、非機能要件に関するSLOが複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置であって、複数の前記SLOのうち達成可否を高速に判定可能な一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出する導出手段と、前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となる設計パラメータのパラメータセットを探索する探索手段とを備えることを特徴とする。
 また、他の本発明のプログラムは、非機能要件に関するSLOが複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置に、複数の前記SLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出するステップと、前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となるパラメータを探索するステップと、を実現させる。
 また、他の本発明の方法は、非機能要件に関するService Level Object(SLO)が複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置に於いて、複数の前記SLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出し、前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となるパラメータを探索する。
 本発明によると、複雑な処理を行うコンピュータシステムであっても、価格が最小となる最適なシステム構成の設計を、短時間かつ高効率に行なえるように支援することができる。より詳細には、応答時間などのサービスレベルの予測値を閉じた式として表すことなく、SLOを達成し、かつ、価格が最小となるシステム構成を自動的に決定することができる。また、前述のような複雑な処理を行うようなシステムにも対応できるようなキャパシティプランニングを自動的に行うことができる。
本発明の第1の実施形態に係る最適設計支援装置の構成を示すブロック図である。 図1に示す最適設計支援装置におけるシステムモデルの一例を示す図である。 図2に示すシステムモデルの各サーバに使用可能な製品ごとに定義されている、サービスレベルに影響する値と価格情報とを含む製品情報の一例を示す図である。 図1に示す最適設計支援装置の処理を示すフローチャートである。 本発明の第2の実施形態に係る最適設計支援装置の構成を示すブロック図である。 図5に示す最適設計支援装置の処理を示すフローチャートである。 本発明の第3の実施形態に係る最適設計支援装置の構成を示すブロック図である。
 以下、本発明の各実施形態について、図面を参照して説明する。
 (第1の実施形態)
 図1は、第1の実施形態に係る最適設計支援装置100の構成を示すブロック図である。最適設計支援装置100は、非機能要件に関するSLOが複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する装置である。この最適設計支援装置100は、具体的には、メモリに格納され、プロセッサによって実行されるプログラムに従って動作する、コンピュータ等の情報処理装置によって実現されてもよい。最適設計支援装置100は、上記コンピュータシステム内に設けられても良いし、上記コンピュータシステムとは別の情報処理装置に設けられても良い。また、最適設計支援装置100は、以下に説明する各部として機能する論理回路で構成された専用装置であっても良い。ここで、各部とは、評価値基準設定部40、最適化問題構築部30、最適化パラメータセット探索部50、部分問題構築手段部51、緩和問題構築手段部52、緩和解導出手段部53、最適性判定手段部54、評価値比較手段部55、等を指す。
 図1に示すように、最適設計支援装置100は、SLO10、及びシステムモデル20から最適なシステム構成を決定するための最適化問題を構築する最適化問題構築部30と、該最適化問題における目的関数の評価値に対する基準値を設定する評価基準値設定部40を備える。最適設計支援装置100は、さらに、上記最適化問題を解いて最適なシステム構成となる最適パラメータセット60を探索する最適パラメータセット探索部(パラメータセット探索部)50とを備える。また、最適パラメータセット探索部50は、部分問題構築部51と、緩和問題構築部52と、緩和解導出部53と、最適性判定部54と、評価値比較部55(探索部70とも呼ばれる)とを備えている。
 SLO10は、前述の通り、性能や可用性などの非機能要件に対するサービスレベルの目標値であり、その目標値は設計対象のコンピュータシステムに対して顧客から指定される。具体的には、例えばコンピュータシステムの応答時間や各種リソースの使用率などの性能に対する目標値や、システムの故障率や復旧時間などの可用性に対する目標値が指定される。
 システムモデル20は、機械処理可能な形式で記述されたコンピュータシステムの設計情報を表すモデルである。このモデルは、ハードウェアやソフトウェアなどを含むシステム構成要素の接続状態、及び、システムの非機能要件に対するサービスレベルに影響する、サーバの台数やCPUコア数、スレッド数などの各種設計パラメータを含む。このモデルは、さらに、該設計パラメータの取り得る値の範囲、及び、制御可能な設計パラメータを表す情報を含む。
 SLO10、および、システムモデル20は、外部から最適設計支援装置100に与えられる、または、当該装置が備える記憶装置に格納されている。
 図2はシステムモデル20の具体例を示す図である。システムモデル20においては、クライアントコンピュータ21、ウェブ/AP(Application)サーバ22、及びDB(Data Base)サーバ23がネットワークを介して直列に接続されている。例えば、システムモデル20においては、ウェブ/APサーバ22には製品x0~x5のいずれかを1~5台、DBサーバ23には製品y0~y3のいずれかを1~10台使用できることが記述されている。すなわち、このシステムモデル20における設計パラメータとしては、ウェブ/APサーバ22、DBサーバ23の各台数(n1,n2)、及び使用する製品X、Yの種類を表す識別子(製品インデックス(i1,i2))が定義されている。これらのパラメータは、それぞれ以下のような値を取り得る。
 n1={1~5}、n2={1~10}、i1={x0~x5}、i2={y0~y3}
 システムモデル20には、各製品X(x0~x5)、Y(y0~y3)の製品インデックス71に関連付けて、CPUのコア数72、ベンチマーク値(クロック周波数、メモリ容量)73などのスペックに加えて、該製品X(x0~x5)、Y(y0~y3)の価格74が定義されている。図3は、この様子を示す。なお、スペックは、コンピュータシステムのサービスレベルに影響する設計パラメータである。なお、本第1の実施形態にいて、図3に示すデータを製品情報70と呼ぶ。したがって、ウェブ/APサーバ22、DBサーバ23を含むサーバ(以下、単にサーバともいう)の製品インデックスを変更することは、該サーバに別の製品を使用することを意味する。スペックや価格などの製品情報の値が、変更対象となる製品インデックスに応じて一括で変化する。
 最適化問題構築部30は、SLO10、及びシステムモデル20に基づく最適なシステム構成を決定することを、最適化問題として定式化する。すなわち、最適化問題構築部30は、指定されたSLO10を達成し、かつ、価格が最小となるようなシステムモデル20の設計パラメータの値の組み合わせ(最適パラメータセット)することを最適化問題とする。
 具体的には、最適化問題構築部30は、組み合わせ最適化問題を構築する。この最適化問題は、システムモデル20に記述されている制御可能な設計パラメータを制御変数とする。この最適化問題は、指定されたSLOを達成するという制約条件のもとで、システムモデル20に記述されている各構成要素(製品x0~x5、製品y0~y3)の価格をもとに算出されるコンピュータシステムの合計価格(コスト)を目的関数とする。
 例えば、システムモデル20が上記の図2に示すように表され、以下の条件のSLO10が指定された場合を例にとる。
   (a)全てのサーバのCPU使用率が90%以内であること
   (b)リクエストの応答時間が0.5秒以内であること
この場合、最適化問題構築部30は、コンピュータシステムのサービスレベル(CPU使用率、応答時間)の評価値が、それぞれ0.9、0.5以下となるような、コストが最小となる構成を求める定式化を行う。即ち、同部は、ウェブ/APサーバ22の台数n1、使用製品i1(価格ci1)、DBサーバ23の台数n2、使用製品i2(価格ci2)の組み合わせのうち、コスト(ci1×n1+ci2×n2)が最小となるものを求める、という定式化を行う。
 評価基準値設定部40は、最適化問題における目的関数の評価値に対する基準値として、該組み合わせ最適化問題の解が取り得る評価値の下限となる値を設定する。例えば、顧客から指定されたコストの上限や、何らかの方法で求めた上記最適化問題における実行可能解の評価値などを基準値として設定する。
 最適パラメータセット探索部50は、緩和解導出部53で導出する価格の最小値を利用して、指定された複数のSLOを全て達成し、かつ、コンピュータシステムのシステム構成の価格が最小となる設計パラメータのパラメータセットを探索する。以下、最適パラメータセット探索部50が備える、部分問題構築部51、緩和問題構築部52、緩和解導出部53、最適性判定部54、及び評価値比較部55について順に説明する。
 部分問題構築部51は、上記組み合わせ最適化問題(以下、元問題ともいう)を、複数の部分問題に分割する。具体的には、部分問題構築部51は、元問題におけるいくつかの制御変数の定義域を分割して探索範囲を狭めることで、複数の小規模な最適化問題に変換する。
 例えば、前述の図2に示すシステムモデル20に対する最適化問題においては、元問題における各制御変数の定義域は、n1={1~5}、n2={1~10}、i1={x0~x5}、i2={y0~y3}である。これに対し、部分問題構築部51は、制御変数n2に関する分割を行って、n1={1~5}、n2={1~5}、i1={x0~x5}、i2={y0~y3}、と、n1={1~5}、n2={6~10}、i1={x0~x5}、i2={y0~y3}という二通りの定義域に分割する。そして、同部は、元問題を、DBサーバ23の台数が1~5台、及び、6~10台というそれぞれの探索領域に含まれる最適パラメータセットを求めるという問題に変換する。
 緩和問題構築部52は、元問題、及び部分問題よりも制約条件を緩めて簡単に解くことが可能な緩和問題を構築する。具体的には、同部は、指定されているSLO10のうち、達成可否を高速に判定することが可能な一部のSLO10のみを制約条件とした場合の最適パラメータセットを求める、という問題を構築する。達成可否を高速に判定することが可能とは、例えば、所定回数の解析計算、例えば加減乗除算によって判定可能な、または、シミュレーションを必要としない、ことを意味する。
 例えば、前述した二つのSLO10のうち、応答時間を予測するためにはシミュレーションが必要となる。しかし、サーバのCPU使用率Uは、サーバ台数n、該サーバに搭載されるCPUコア数N、該サーバ機器の1コアあたりの性能を測定したベンチマーク値SPを用いて、以下に示すシンプルな(1)式から予測することが可能である。
 U=(λ×d)/(n×N×SP)       ・・・(1)
 ここで、(1)式において、λはリクエストの到着率である。また、dは1リクエストあたりの処理時間であり、特定のリクエストに対しては固定の値である。
 そこで、緩和問題としては、全てのサーバsについて、CPU使用率Usの値が0.9以下であるという制約条件(下記(2)式)のみを考慮して、コストが最小となる最適パラメータセットを決定すればよい。
 Us=(λ×ds)/(ns×Ns×SPs)<0.9       ・・・(2)
 ここで、λsはサーバsに対するリクエストの到着率である。また、dsは1リクエストあたりのサーバsの処理時間である。NsはサーバsのCPUコア数、SPはサーバsのベンチマーク値である。
 例えば、図2に示すシステムモデル20においては、ウェブ/APサーバ22(サーバ1)、DBサーバ23(サーバ2)それぞれについて、以下の(3)式及び(4)式の条件を満たし、
 (λ×d1)/(n1×N1×SP1)<0.9          ・・・(3)
 (λ×d2)/(n2×N2×SP2)<0.9          ・・・(4)
かつ、価格が最小となるようなn(自然数)、N、SPの組み合わせを決定する。ここで、N(CPUコア数)、SP(ベンチマーク値)は、使用する製品によって決まる所定の値であり、このため、実際には、設計パラメータとして、製品インデックスi1、i2の値を決定することになる。
 緩和解導出部53は、緩和問題構築部52で構築された問題を解いて、制約条件として一部のSLOのみを考慮した場合に、コストが最小となるような設計パラメータの組み合わせを求める。ここで導出される緩和解は、全てのSLOを考慮した元問題、及び、部分問題の解としては、実行不可能である可能性があるが、真に実行可能な解の評価値の上限、すなわち、コストの下限を与える。
 ここで、前述の例で構築した緩和問題を解く方法を具体的に説明する。緩和解導出部53は、ウェブ/APサーバ22として使用可能な製品候補x0~x5のスペックを順に調べ、各製品x0~x5のCPUコア数N1、ベンチマーク値SP1をもとに、上記(3)式を変形した、以下の(5)式を満たすn1の最小値を求める。すなわち、同部は、ウェブ/APサーバ22が最低何台以上必要であるかを求める。
 n1>(λ×d1)/(N1×SP1×0.9)          ・・・(5)
例えば、製品情報70が図3に示すように定義されていて、各製品x0~x5を使用した場合に必要なサーバ台数が、それぞれ次のように算出されたとする。
 x0:3台、x1:2台、x2:1台、x3:1台、x4:1台、x5:1台
 ここで、(製品の価格×台数)の値が最も安い組み合わせを緩和解として採用する。本第1の実施形態においては、それぞれの製品x0~x5を使用した場合のウェブ/APサーバ22の価格は以下のようになる。
 Cx0×3=100×3=300
 Cx1×2=120×2=240
 Cx2×1=150×1=150
 Cx3×1=250×1=250
 Cx4×1=200×1=200
 Cx5×1=300×1=300
 ここで、Cx0~Cx5は、製品x0~x5の価格である。
 したがって、最も価格が安くなる「製品x2を1台」という組み合わせが緩和解として得られる。
 同様に、DBサーバ23についても、製品候補y0~y3を順に調べ、価格が最も安くなる製品と台数の組み合わせを緩和解として得ることができる。
 最適性判定部54は、緩和解導出部53で導出された緩和解の評価値を利用して、ある部分問題の部分解が、元問題の最適解となり得るかどうかを調べる。具体的には、最適性判定部54は、各部分問題の緩和解(部分緩和解)と、評価基準値設定部40で設定された基準値とを比較し、部分緩和解の評価値が該基準値よりも悪い場合、または、部分緩和解が存在しない場合、その部分問題を削除する。
 これは、全てのSLO10を考慮した、最適パラメータセット60をコンピュータシステムに設定する場合のコストは、必ず緩和解で導出されたパラメータセットをコンピュータシステムに設定する場合のコスト以上になるという性質を利用したものである。このように、解く必要のない部分問題を削除することで、最適パラメータセット60の探索を効率化及び高速化することができる。
 例えば、基準値として、顧客から指定されたコストの上限値が設定されていた場合を想定する。この場合、ある部分緩和解でのコストが該基準値より高ければ、該部分問題において全てのSLO10を達成する実行可能解(部分実行可能解)のコストは、上記上限値よりも高くなるため、該部分問題を解く必要はない。また、元問題における実行可能解でのコストを求めることができて、該コストが上記基準値として設定されていた場合を想定する。この場合、ある部分緩和解でのコストが該基準値より高ければ、該部分問題における全ての部分実行可能解のコストは、元問題における、ある実行可能解でのコストよりも高くなる。よって、該部分問題における実行可能解は、元問題の最適解にはなり得ないため、該部分問題を解く必要はない。
 評価値比較部55は、最適性判定部54において削除されなかった部分問題を解いて、評価値が最も高い部分解を、元問題の最適解とする。具体的には、評価値比較部55は、該部分問題の定義域に含まれる各パラメータセットのうち、指定されたSLO10を全て達成し、かつ、価格が最小のものが、該部分問題の解となる。
 本第1の実施形態においては、部分問題の解法については限定しないが、例えば、全パラメータセットについて、シミュレーション等を用いてサービスレベルを予測し、SLO10の達成可否を調べる、いわゆる総当たり法によって解くことができる。
 あるいは、最適化問題構築部30が、各設計パラメータに対して、サービスレベルの予測値が単調に増加する、すなわち、各制御変数の値が大きいほど制約条件を満足しやすくなるように定式化を行う。これにより、全制御変数の値が定義域中の最小値を取る場合に全てのSLO10を達成するならば、探索範囲全体が実行可能であると判定できる。例えば、図2に示すシステムモデル20において、ウェブ/APサーバ22、DBサーバ23の台数を増やせば、性能は単調に増加する。すなわち、応答時間やリソース使用率などの性能に関するSLO10を達成しやすくなる。同様に、ウェブ/APサーバ22、DBサーバ23の製品インデックスに対応する製品候補をスペック順にソートしておけば、製品インデックスに対しても性能は単調に増加すると考えられる。したがって、サーバ台数、製品インデックスが、該部分問題の定義域中の最小値をとる場合にSLO10を達成するならば、該定義域に含まれるパラメータセットは全て実行可能であると判定できる。よって、該部分問題の定義域に含まれる他のパラメータセットにおけるSLO10の達成可否を調べる必要はない。
 次に、図4を参照しながら、最適設計支援装置100が実行する処理について詳細に説明する。
 まず、最適設計支援装置100は、システムモデル20から、制御可能な設計パラメータ、及び、それらの取り得る値を示す情報を抽出し、最適化問題における制御変数、及び、それらの定義域を決定する。並行して、指定されているSLO10を参照して、満たすべき制約条件を決定する(ST101)。また、最適設計支援装置100は、所定の評価基準値を設定する(ST102)。
 次に、最適設計支援装置100は、いくつかの制御変数の定義域を適当な範囲に分割し、元問題を複数の部分問題に分ける(ST103)。続いて、ステップST103で構築された各部分問題について、最適設計支援装置100は、達成可否を高速に判定可能な一部のSLOのみを制約条件とする緩和問題を構築し(ST104)する。さらに、同装置は、該緩和問題の緩和解を導出し、導出した緩和解の評価値とステップST102で設定された評価基準値を比較し、緩和解の評価値が評価基準値未満であるか否かを判定する(ST105)。
 緩和解の評価値が評価基準値未満であると判定した場合(ST105:YES)、最適設計支援装置100は、部分解を導出し(ST106)、緩和解の評価値が評価基準値以上であると判定した場合(ST105:NO)、その部分問題を削除する(ST107)。すなわち、最適設計支援装置100は、緩和解の評価値の方が良い部分問題のみを解いて、緩和解の評価値の方が悪い部分問題を削除するため、高速に処理を行なうことができる。
 ステップST106で導出された部分解の評価値をそれぞれ比較し、最も評価値が高い部分解を元問題の解とする(ST108)。
 以上説明したように、本第1実施形態の最適設計支援装置100は、複雑な処理を行うコンピュータシステムであっても、コストが最小となるシステム構成の設計を短時間かつ高効率に行なえるように支援することができる。
 より具体的には、最適設計支援装置100は、非機能要件に関して指定される複数のSLO10、及びシステムモデル20から、高速に算出することが可能な一部のSLOのみを制約条件とする緩和問題を構築する緩和問題構築部52を備えている。さらに、同装置は、この緩和問題構築部52が構築した緩和問題の緩和解を導出する緩和解導出部53を備えている。また、最適パラメータセット探索部50は、緩和解導出部53が導出した緩和解のコストと評価値基準設定部40に設定されたコストの基準値とを比較する。そして、同部は、緩和解導出部53が導出した緩和解のコストが評価値基準設定部40に予め設定されたコストの基準値以下の場合にのみ、パラメータセットを探索する。したがって、最適設計支援装置100は、該緩和問題の解の評価値を利用した効率的な最適パラメータセットの探索を行うことができる。さらに、同装置は、複数の指定されたSLO10を達成し、かつ、コストが最小となるようなシステムモデル20の設計パラメータの値の組み合わせを短時間かつ高効率に決定することができる。
 (第2の実施形態)
 次に、本発明の第2の実施形態について、図面を参照して説明する。図5は、第2の実施形態による最適設計支援装置101の構成を示すブロック図である。図5に示す最適設計支援装置101は、図1に示す第1の実施の形態の最適設計支援装置100と比較すると、部分問題選択部56を備え、評価値比較部55に換えて暫定解導出部57(探索部70とも呼ばれる)を備える点で異なっている。よって、以下では、第1の実施形態と異なる点について説明する。
 部分問題選択部56は、部分問題構築部51によって構築された複数の部分問題の中から、緩和問題を構築して最適性を判定すべき適当な部分問題を抽出する。
 暫定解導出部57は、部分問題選択部56で選択された部分問題のうち最適性判定部54において削除されなかった部分問題を解いて、該部分解と既に解けている他の部分問題の解の中で最良のものを順次比較し、より評価値が高いものを暫定解として保存する。そして、暫定解導出部57は、全ての部分問題を解き終わった時点で保存されている暫定解を、元問題の最適解とする。
 また、本第2の実施形態では、最適性判定部54において、各部分緩和解の評価値と、暫定解導出部57とで導出された暫定解の評価値とを比較することで、該部分問題の最適性を判定する。そして、最適性判定部54は、ある部分緩和解の評価値が暫定解の評価値よりも悪い場合、または、緩和解が存在しない場合、該部分問題を削除する。
 ただし、暫定解導出部57及び最適性判定部54において、いずれの部分問題も解けていない場合には、最適設計支援装置101は、第1の実施の形態と同様、評価基準値設定部40において設定された基準値を用いた比較を行う。いずれの部分問題も解けていない場合とは、各部分緩和解の評価値と暫定解の評価値との比較を行う際、暫定解が得られていない場合を意味する。
 次に、図6を参照しながら、最適設計支援装置101が実行する処理について詳細に説明する。
 まず、ステップST201~ST203(これらの処理は、図4のステップST101~ST103の処理と同様である。)の処理を行い、最適設計支援装置101は、構築した部分問題の中から解くべき部分問題を選択する(ST204)。
 次に、最適設計支援装置101は、該部分問題について、緩和問題を構築する(ST205)。同装置は、さらに、該緩和問題を解いた緩和解の評価値と暫定解の評価値(ここで、暫定解が導出されていない場合には、評価基準値を用いる)とを比較し、緩和解の評価値が暫定開の評価値未満であるか否かを判定する(ST206)。
 最適設計支援装置101は、緩和解の評価値が暫定開の評価値未満であると判定した場合(ST206:YES)、ステップST204で選択された部分問題を解いて部分解を導出し(ST207)する。同装置は、緩和解の評価値が暫定開の評価値未満であると判定した場合(ST206:NO)、部分問題を削除する(ST210)。すなわち、最適設計支援装置101は、緩和解の評価値が暫定解の評価値より良ければ部分解を導出し、緩和解の評価値が暫定解の評価値よりも悪ければ部分解を削除する。
 次に、最適設計支援装置101は、ステップST107で導出された部分解の評価値と暫定解の評価値とを比較し、部分解の評価値が暫定解の評価値未満であるか否かを判定する(ST208)。最適設計支援装置101は、部分解の評価値が暫定解の評価値未満でないと判定した場合(ST208:NO)、その部分問題を削除する(ST210)。同装置は、部分解の評価値が暫定解の評価値未満であると判定した場合(ST208:YES)、暫定解を更新し(ST209)、その部分問題を削除する(ST210)。すなわち、最適設計支援装置101は、部分解の評価値が暫定解の評価値より悪ければ、該部分問題を削除し、部分解の評価値が暫定解の評価値より良ければ、該部分解で暫定解を置き換えてから、部分問題を削除する。
 次に、最適設計支援装置101は、全ての部分問題についてステップST204~ST210の処理が終了したか否かを判定する(ST211)。同装置は、全ての部分問題について処理が終了していないと判定した場合(ST211:NO)、ステップSST204の処理へ戻り、終了したと判定した場合(ST211:YES)、この処理を終了する。すなわち、最適設計支援装置101は、全ての部分問題を解き終わるまで、ステップST204からステップST211の処理を繰り返す。
 以上説明したように、本第2の実施形態の最適設計支援装置101は、部分問題を順次解く過程で導出された、最良の評価値を持つ暫定解の評価値と、まだ解けていない部分問題の緩和解の評価値とを比較することで、該部分問題の最適性を判定する。ここで、暫定解の評価値は、所定の条件下で指定される複数のSLO10を全て達成するシステム構成におけるコストである。このため、パラメータセットの探索が進むにつれて、SLO10の達成可否を調べることなく削除できる部分問題が増す。従って、指定されたSLO10を達成し、かつ、コストが最小となるような、システムモデル20の設計パラメータの値の組み合わせを、最適設計支援装置100より更に短時間、かつ効率的に設計できるように支援することができる。
 (第3の実施形態)
 次に、本発明の第3の実施形態について、図面を参照して説明する。図6は、第3の実施形態の最適設計支援装置100の構成を示すブロック図である。第3の実施形態の最適設計支援装置100は、非機能要件に関するSLOが複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置100であって、緩和解導出部53と探索部70とを備える。緩和解導出部53は、複数のSLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出する。探索部70は、緩和解評価値を利用して、複数のSLOを全て達成し、かつ、システム構成の価格が最小となる設計パラメータのパラメータセットを探索する。
 本実施形態の最適設計支援装置100は、複雑な処理を行うコンピュータシステムであっても、コストが最小となるシステム構成の設計を短時間かつ高効率に行なえるように支援することができる。その理由は、緩和解導出部53が緩和解評価値を求め、探索部70が、当該緩和解評価値を用いて、複数のSLOを全て達成し、かつ、価格が最小となる設計パラメータのパラメータセットを探索するからである。 以上、本発明をその好適な実施形態に基づいて説明したが、本発明の最適設計支援装置100,101は、上記各実施形態の構成にのみ限定されるものではなく、上記各実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。また、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
 この出願は、2012年12月17日に出願された日本出願特願2012-274429を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10・・・SLO(Service Level Object)
20・・・システムモデル
30・・・最適化問題構築部
40・・・評価値基準設定部
50・・・最適パラメータセット探索部
51・・・部分問題構築部
52・・・緩和問題構築部
53・・・緩和解導出部
54・・・最適性判定部
55・・・評価値比較部
56・・・部分問題選択部
57・・・暫定解導出部
70・・・探索部
100,101・・・最適設計支援装置

Claims (7)

  1.  非機能要件に関するService Level Object(SLO)が複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置であって、
     複数の前記SLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出する緩和解導出手段と、
     前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となる設計パラメータのパラメータセットを探索する探索手段と、
     を備えることを特徴とする最適設計支援装置。
  2.  前記一部のSLOは、リソース使用率に対するSLOであること、
     を特徴とする請求項1に記載の最適設計支援装置。
  3.  前記探索手段は、予測値が所定の閉じた式で算出することができないSLOに対して前記システム構成の価格の最小値を導出すること、
     を特徴とする請求項1又は2に記載の最適設計支援装置。
  4.  前記緩和解評価値と予め設定された前記システム構成の価格の最小値とを比較し、前記緩和解評価値が予め設定された前記システム構成の価格の最小値より小さい場合にのみ、前記探索手段に前記パラメータセットを探索させる最適性判定手段をさらに備えること、
     を特徴とする請求項1~3のいずれか一項に記載の最適設計支援装置。
  5.  前記緩和解評価値と所定の条件下で前記指定される複数のSLOを全て達成するシステム構成における価格である暫定解評価値とを比較し、前記緩和解評価値が前記暫定解評価値より小さい場合にのみ、前記探索手段に前記パラメータセットを探索させる最適性判定手段をさらに備えること、
     を特徴とする請求項1~3のいずれか一項に記載の最適設計支援装置。
  6.  非機能要件に関するService Level Object(SLO)が複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置に、
     複数の前記SLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出するステップと、
     前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となるパラメータを探索するステップと、
     を実現させるコンピュータプログラム。
  7.  非機能要件に関するService Level Object(SLO)が複数指定されるコンピュータシステムの制御可能な設計パラメータの設計を支援する最適設計支援装置に於いて、
     複数の前記SLOのうち一部のSLOを達成する前記コンピュータシステムのシステム構成の価格の最小値である緩和解評価値を導出し、
     前記緩和解評価値を利用して、前記複数のSLOを全て達成し、かつ、前記システム構成の価格が最小となるパラメータを探索する方法。
PCT/JP2013/007373 2012-12-17 2013-12-16 最適設計支援装置、方法及びプログラム Ceased WO2014097599A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014552926A JPWO2014097599A1 (ja) 2012-12-17 2013-12-16 最適設計支援装置、方法及びプログラム
US14/650,641 US10096036B2 (en) 2012-12-17 2013-12-16 Optimal design assistance device, method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012274429 2012-12-17
JP2012-274429 2012-12-17

Publications (1)

Publication Number Publication Date
WO2014097599A1 true WO2014097599A1 (ja) 2014-06-26

Family

ID=50977961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/007373 Ceased WO2014097599A1 (ja) 2012-12-17 2013-12-16 最適設計支援装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US10096036B2 (ja)
JP (1) JPWO2014097599A1 (ja)
WO (1) WO2014097599A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022003943A1 (ja) * 2020-07-03 2022-01-06

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023351B2 (en) * 2017-02-28 2021-06-01 GM Global Technology Operations LLC System and method of selecting a computational platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227952A (ja) * 2005-02-18 2006-08-31 Hitachi Ltd サービスコスト変動分析手法
WO2008114355A1 (ja) * 2007-03-16 2008-09-25 Fujitsu Limited ポリシー生成装置、ポリシー生成方法およびポリシー生成プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611867B1 (en) * 1999-08-31 2003-08-26 Accenture Llp System, method and article of manufacture for implementing a hybrid network
JP4080259B2 (ja) 2002-06-26 2008-04-23 株式会社日立製作所 コンピュータのシステム構成導出方法及びコンピュータシステム
JP4284288B2 (ja) 2005-03-10 2009-06-24 株式会社東芝 パターン認識装置及びその方法
US20070011052A1 (en) * 2005-06-08 2007-01-11 Tieming Liu Method and apparatus for joint pricing and resource allocation under service-level agreement
EP1793334A1 (en) * 2005-12-01 2007-06-06 Sap Ag Re-optimization technique for use with an automated supply chain optimizer
US8326660B2 (en) * 2008-01-07 2012-12-04 International Business Machines Corporation Automated derivation of response time service level objectives
JP5029584B2 (ja) 2008-11-28 2012-09-19 日本電気株式会社 開発支援装置
US8433802B2 (en) * 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
US8429307B1 (en) * 2010-04-30 2013-04-23 Emc Corporation Application aware intelligent storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227952A (ja) * 2005-02-18 2006-08-31 Hitachi Ltd サービスコスト変動分析手法
WO2008114355A1 (ja) * 2007-03-16 2008-09-25 Fujitsu Limited ポリシー生成装置、ポリシー生成方法およびポリシー生成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022003943A1 (ja) * 2020-07-03 2022-01-06

Also Published As

Publication number Publication date
US20150371249A1 (en) 2015-12-24
US10096036B2 (en) 2018-10-09
JPWO2014097599A1 (ja) 2017-01-12

Similar Documents

Publication Publication Date Title
JP7343568B2 (ja) 機械学習のためのハイパーパラメータの識別および適用
US9135351B2 (en) Data processing method and distributed processing system
EP3840295A1 (en) Resource configuration prediction method and device
CN111158613B (zh) 基于访问热度的数据块存储方法、装置及存储设备
CN114329201A (zh) 深度学习模型的训练方法、内容推荐方法和装置
US11645562B2 (en) Search point determining method and search point determining apparatus
US20150371244A1 (en) Forecasting information technology workload demand
JP7590087B2 (ja) データ品質問題の動的発見及び修正
CN112990486A (zh) 生成机器学习样本的组合特征的方法及系统
JP2017021772A (ja) コピュラ理論に基づく特徴選択
CN103699443B (zh) 任务分发方法及扫描器
CN109586954B (zh) 一种网络流量预测方法、装置及电子设备
CN112819258A (zh) 银行网点到店客户数量预测方法及装置
CN111327655A (zh) 多租户容器资源配额预测方法、装置及电子设备
US10592507B2 (en) Query processing engine recommendation method and system
CN113467892A (zh) 分布式集群资源配置方法及其相应的装置、设备、介质
WO2016095187A1 (en) Apparatus and method for adding nodes to a computing cluster
WO2014097599A1 (ja) 最適設計支援装置、方法及びプログラム
JPWO2011016281A1 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
JP2015191397A (ja) 設計パラメータ探索装置、設計パラメータ探索方法、及びプログラム
CN113627702B (zh) 业务路径分析方法、装置及计算设备
JP6183359B2 (ja) 設計支援装置、設計支援方法及びプログラム
CN116150048B (zh) 一种内存优化方法、装置、设备及介质
US10771329B1 (en) Automated service tuning
US11599690B2 (en) Wafer asset modeling using language processing methods

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014552926

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14650641

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13864209

Country of ref document: EP

Kind code of ref document: A1