US20060277549A1 - Method and apparatus for capacity optimization and planning in an on-demand computing environment - Google Patents
Method and apparatus for capacity optimization and planning in an on-demand computing environment Download PDFInfo
- Publication number
- US20060277549A1 US20060277549A1 US11/145,966 US14596605A US2006277549A1 US 20060277549 A1 US20060277549 A1 US 20060277549A1 US 14596605 A US14596605 A US 14596605A US 2006277549 A1 US2006277549 A1 US 2006277549A1
- Authority
- US
- United States
- Prior art keywords
- computing resource
- particular computing
- algorithm
- optimizing
- parameters
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000005457 optimization Methods 0.000 title description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000007596 consolidation process Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5012—Processor sets
Definitions
- the present invention generally relates to use of computer resources and, more particularly, capacity optimization and planning in an on-demand computing environment.
- on-demand computing or utility computing
- a customer pays for what they use and the service provider is free to resell unused capacity to other customers.
- the resource required to handle a customer's workload is typically determined by the peak demand whereas the actual workload can fluctuate dramatically over time.
- a corollary to on-demand computing is that a customer with low average resource utilization would expect to save money by paying for what they use as opposed to the dedicated alternative and at the same time have the opportunity to access a pool of greater computing power for dealing with occasional surges of utilization.
- What is needed is a system and method for determining not only the best set of servers to handle a single workload, but also an optimal grouping of multiple workloads and the best set of servers to handle them.
- servers and other computing resources e.g. memory, disk drives
- the present invention provides a system and method to help answer these questions, as described hereafter.
- the present invention is based on a solution to the problem of finding the best mixtures for a given set of workloads that can be served satisfactorily with the minimum total hardware cost. It can be applied not only to existing customers but also to prospective customers or a combination of both. It can also incorporate hardware/software constraints such as the number of processors or the maximum number of logical partitions (LPARs) for a particular type of machine. In general, the present invention provides a solution to the problem of capacity optimization and planning for on-demand computing.
- the core idea of the present invention is to regard the problem discussed above as a problem of optimal workload consolidation, i.e., consolidating a given set of multiple workloads into one or more groups, with each group being served by a single machine, so as to minimize the total requirement of computing resources.
- the method uses clustering algorithms to assign customer workloads to a number of servers in order to minimize the total capacity requirements and costs while maintaining the service availability level. Workloads are re-assigned on a monthly or quarterly basis.
- Savings of capacity requirements can be achieved, in principle, via workload consolidation if workloads do not peak at the same time. For example, if the peaks of workload A and workload B do not occur simultaneously, then the peak of the consolidated workload will be less than the sum of the peaks. In such cases, the consolidated workload will require less computing resources because the excess resources can be re-allocated from A to B when A doesn't need them, and vise versa.
- the problem of workload consolidation is posed mathematically in the present invention as an optimal clustering problem: finding the best clusters for a given set of workloads that minimizes the total capacity requirements when workloads in each cluster share the same set of resources and workloads in different clusters don't.
- the procedure can be performed by stand-alone software or by a middleware application.
- the problem can be posed with or without constraints on the number of clusters and/or the maximum load in each cluster that can be handled by a dedicated server.
- the solution to this problem provides not only the optimal number of clusters but also the membership of each workload that can be used in actual deployment. It also provides a financial assessment for offering such service.
- FIG. 1 contains the plot of four workload examples as functions of time.
- FIG. 2 is a screen shot showing the starting screen of a preferred embodiment of the invention.
- FIG. 3 is a screen shot showing the first step of the preferred embodiment where a file containing the workloads to be consolidated is chosen as input.
- FIG. 4 is a screen shot showing the second step of the preferred embodiment where three system parameters are specified.
- FIG. 5 is a screen shot showing the third step of the preferred embodiment where an optimization algorithm is chosen.
- FIG. 6 is a diagram showing the optimization results of the hierarchical clustering algorithm (HCA).
- FIG. 7 is a screen shot showing the inputs to the profit analysis procedure of the preferred embodiment.
- FIG. 8 is a diagram showing the results of profit analysis for the optimal portfolios shown in FIG. 6 using the parameters shown in FIG. 7 .
- FIG. 1 Each of the workloads in FIG. 1 chart CPU utilization (y axis 150 ) percentage over time (x axis 160 ; hours) and have dashed lines showing the 10 th ( 170 ), 50 th ( 171 ) and 90 th ( 172 ) percentiles, respectively.
- Workload could also be measured in terms of main memory, disk storage or other computing resources, but for the purposes of describing the invention it will be sufficient to consider the central processing resource.
- the initial screen for a preferred embodiment of the invention is shown in FIG. 2 .
- the first step 210 is to choose a file for storage of the workloads to be consolidated. Such a file 310 is shown in FIG. 3 .
- the next step 220 is to select parameters as shown in FIG. 4 .
- the last step 230 is to select and run a clustering algorithm, as shown in FIG. 5 .
- HCA hierarchical clustering algorithm
- NBA N-box algorithm
- the bottom row 608 in FIG. 6 contains the number of CPUs required by each workload should each of them be served by a dedicated system.
- the next row 607 contains the optimal portfolios and the corresponding CPU requirements after one iteration 621 where workload W 1 is consolidated with workload W 2 and the other workloads remain unconsolidated. This particular pair of workloads are chosen in the first iteration 621 because consolidating them yields the greatest capacity savings among all possible pairs. Note that before consolidation, workload W 1 and workload W 2 require one CPU each; but after consolidation one CPU is sufficient to handle the combined workload, thus saving one CPU in the entire deployment.
- workload W 6 is combined with workload W 1 +W 2 , as shown in row 606 .
- Similar savings are achieved in the fourth iteration 624 as shown in row 604 , the fifth iteration 625 as shown in row 603 , the sixth iteration 626 as shown in row 602 , until the last iteration 627 as shown in row 601 .
- all workloads are consolidated into one portfolio. This turns out to be the best portfolio in this example which reduces the total number of CPUs (shown in the CPU column 610 ) from 13 to 6 and the total hourly CPU usage from 560 to 481.
- NBA takes N anchor workloads specified by the user and consolidates each remaining workload with the best anchor; then iteratively swaps the best pair of workloads from different groups (if any) that yields the maximum reduction in the capacity requirement until no further consolidation can be done.
- NCA and NBA require is a mapping of the form f(X, Y, alpha, beta) which maps any given workloads X and Y, with given parameters alpha and beta, into the number of CPUs required to handle both X and Y combined.
- each customer will have a Service Level Agreement (SLA) specifying a resource capacity that the provider agrees to make available to the customer.
- SLA Service Level Agreement
- the parameters specified as shown in FIG. 4 , set a lower bound 410 and an upper bound 420 for the percentage of the resource capacity required under the SLA agreement for each of the workloads being optimally clustered.
- the alpha specifies the capacity availability to the customer (as shown by the SLA parameter in FIG. 4 ) and the beta specifies the system overhead incurred in a shared platform and the reserved capacity buffer to handle unexpected workload spikes.
- a simple example of the availability level alpha is the probability that the allocated capacity (minus the capacity reserve) is greater than the workload. For a given workload, the lower is alpha, the higher is the capacity requirement and hence the hardware cost. Similarly, the higher is beta, the less is the usable capacity and hence the higher is the capacity requirement.
- the associated cost and the profit potential can be analyzed as shown in FIG. 8 , on the basis of hardware/software costs, labor costs, and pricing policies as shown in FIG. 7 .
- the financial model is based on a three-year service contract under which the customer pays an hourly rate for actual usage plus an installation fee charged on a monthly basis over the course of the contract.
- the cost of hardware is also calculated on a monthly basis.
- the appropriate charges for a given implementation under the financial model shown in FIG. 7 are entered as setup cost 710 for each workload, monthly rental cost 720 , monthly labor costs 730 , and the rate charged for actual usage 740 .
- FIG. 8 shows that the optimal portfolio obtained by HCA in FIG. 5 turns a monthly loss 810 of $310 into a monthly profit 820 of $2190.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
A method and apparatus are disclosed for determining the best cluster of computing resources to handle each of a plurality of workloads by optimally grouping multiple workloads and determining the best resource cluster to handle each group.
Description
- 1. Field of the Invention
- The present invention generally relates to use of computer resources and, more particularly, capacity optimization and planning in an on-demand computing environment.
- 2. Background Description
- In the business of on-demand computing (or utility computing), a customer pays for what they use and the service provider is free to resell unused capacity to other customers. The resource required to handle a customer's workload is typically determined by the peak demand whereas the actual workload can fluctuate dramatically over time. A corollary to on-demand computing is that a customer with low average resource utilization would expect to save money by paying for what they use as opposed to the dedicated alternative and at the same time have the opportunity to access a pool of greater computing power for dealing with occasional surges of utilization.
- The concept of creating diversified portfolios to mitigate investment risks is an age-old one in the financial industry (e.g., U.S. Pat. No. 6,292,787 B1). However, the prior art in the computer service industry focuses entirely on the determination of a proper set of servers to handle a single workload. For example, U.S. Pat. No. 5,848,270 entitled “Method and System for Determining the Performance Characteristics of a Computer System” and U.S. Pat. No. 6,571,283 B1 entitled “Method for Server Farm Configuration Optimization” describe some methods that determine the minimum amount of processor, memory, and storage required to satisfy an expcted performance (e.g., target processing time, downtime, etc.) from a set of workload parameters.
- What is needed is a system and method for determining not only the best set of servers to handle a single workload, but also an optimal grouping of multiple workloads and the best set of servers to handle them.
- It is therefore an object of the present invention to provide a system and method for optimally grouping multiple workloads and determining the best set of servers and other computing resources (e.g. memory, disk drives) to handle them.
- The choices made to deploy an on-demand utility raise some interesting and inter-related business problems: to make money in this environment implies that customers must share computing resources in a way that minimizes costs. This is called the “Portfolio Effect.” Whereas today's most advanced computing technologies allow multiple workloads to share a single machine, the following questions need to be addressed to make efficient on-demand computing a reality:
- Does the Portfolio Effect always exist?
- Is it big enough to offset the other cost challenges and make on-demand computing a profitable business?
- How many customers are required to begin enjoying a Portfolio Effect?
- Is there an optimal size (in the least cost sense) for a platform to balance the number of customers required against platform costs?
- Given a set of on-demand customers, is there an optimal way to group them for serving each group with a single platform?
- Is there a meaningful baseline that illustrates the trade-offs between cost and risk (i.e., savings vs. risk of insufficient capacity for the customer; pricing vs. risk of underutilization for the service provider)?
- Are there customers that a service provider wants to seek out and other customers to avoid?
- What is the necessary information a service provider needs about a customer in order to initiate an engagement?
- The present invention provides a system and method to help answer these questions, as described hereafter.
- The present invention is based on a solution to the problem of finding the best mixtures for a given set of workloads that can be served satisfactorily with the minimum total hardware cost. It can be applied not only to existing customers but also to prospective customers or a combination of both. It can also incorporate hardware/software constraints such as the number of processors or the maximum number of logical partitions (LPARs) for a particular type of machine. In general, the present invention provides a solution to the problem of capacity optimization and planning for on-demand computing.
- The core idea of the present invention is to regard the problem discussed above as a problem of optimal workload consolidation, i.e., consolidating a given set of multiple workloads into one or more groups, with each group being served by a single machine, so as to minimize the total requirement of computing resources. The method uses clustering algorithms to assign customer workloads to a number of servers in order to minimize the total capacity requirements and costs while maintaining the service availability level. Workloads are re-assigned on a monthly or quarterly basis.
- Savings of capacity requirements can be achieved, in principle, via workload consolidation if workloads do not peak at the same time. For example, if the peaks of workload A and workload B do not occur simultaneously, then the peak of the consolidated workload will be less than the sum of the peaks. In such cases, the consolidated workload will require less computing resources because the excess resources can be re-allocated from A to B when A doesn't need them, and vise versa. By exploiting such characteristics of the workloads, the problem of workload consolidation is posed mathematically in the present invention as an optimal clustering problem: finding the best clusters for a given set of workloads that minimizes the total capacity requirements when workloads in each cluster share the same set of resources and workloads in different clusters don't. The procedure can be performed by stand-alone software or by a middleware application. The problem can be posed with or without constraints on the number of clusters and/or the maximum load in each cluster that can be handled by a dedicated server. The solution to this problem provides not only the optimal number of clusters but also the membership of each workload that can be used in actual deployment. It also provides a financial assessment for offering such service.
- A case study conducted on a set of 8 customers supported by pSeries computers has shown savings on CPU requirements of 55%. Even under conservative projected savings of 40%, the overall cost savings are estimated at 15-25%. In the highly competitive hosting marketplace, these are sizable savings.
- The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
-
FIG. 1 contains the plot of four workload examples as functions of time. -
FIG. 2 is a screen shot showing the starting screen of a preferred embodiment of the invention. -
FIG. 3 is a screen shot showing the first step of the preferred embodiment where a file containing the workloads to be consolidated is chosen as input. -
FIG. 4 is a screen shot showing the second step of the preferred embodiment where three system parameters are specified. -
FIG. 5 is a screen shot showing the third step of the preferred embodiment where an optimization algorithm is chosen. -
FIG. 6 is a diagram showing the optimization results of the hierarchical clustering algorithm (HCA). -
FIG. 7 is a screen shot showing the inputs to the profit analysis procedure of the preferred embodiment. -
FIG. 8 is a diagram showing the results of profit analysis for the optimal portfolios shown inFIG. 6 using the parameters shown inFIG. 7 . - Operation of the invention will now be described with reference to a set of example workloads, such as the four shown in
FIG. 1 , W1 (110), W2 (120), W3 (130) and W4 (140). Each of the workloads inFIG. 1 chart CPU utilization (y axis 150) percentage over time (x axis 160; hours) and have dashed lines showing the 10th (170), 50th (171) and 90th (172) percentiles, respectively. Workload could also be measured in terms of main memory, disk storage or other computing resources, but for the purposes of describing the invention it will be sufficient to consider the central processing resource. - The initial screen for a preferred embodiment of the invention is shown in
FIG. 2 . In this implementation there are three steps to operation of the invention. Thefirst step 210 is to choose a file for storage of the workloads to be consolidated. Such afile 310 is shown inFIG. 3 . Thenext step 220 is to select parameters as shown inFIG. 4 . Thelast step 230 is to select and run a clustering algorithm, as shown inFIG. 5 . - Given a set of measured or forecasted workloads as shown in
FIG. 1 , the optimization problem can be solved by iterative algorithms such as the hierarchical clustering algorithm (HCA) 510 and the N-box algorithm (NBA) 520, the two choices shown inFIG. 5 . For example, HCA iteratively consolidates the best pair of available workloads (if any) that leads to the maximum reduction in the capacity requirement until no reduction can be achieved, as shown inFIG. 6 by an iterative progression from an initial assessment of each workload viewed independently (thebottom row 608, requiring a total 611 of thirteen servers for a total CPUhourly usage 612 of five hundred and sixty) to a concluding consolidation (the top row 601) showing all workloads supported by six servers and a total CPU hourly usage of 481. - The
bottom row 608 inFIG. 6 contains the number of CPUs required by each workload should each of them be served by a dedicated system. Thenext row 607 contains the optimal portfolios and the corresponding CPU requirements after oneiteration 621 where workload W1 is consolidated with workload W2 and the other workloads remain unconsolidated. This particular pair of workloads are chosen in thefirst iteration 621 because consolidating them yields the greatest capacity savings among all possible pairs. Note that before consolidation, workload W1 and workload W2 require one CPU each; but after consolidation one CPU is sufficient to handle the combined workload, thus saving one CPU in the entire deployment. - As the iteration proceeds, more workloads, one at a time, are consolidated in a similar way. In the
second iteration 622 workload W6 is combined with workload W1+W2, as shown inrow 606. In thethird iteration 623 workload W8 is combined with workload W5, saving one CPU (1+1=2→1) and nine usage hours (26+35=61→52), as shown inrow 605. Similar savings are achieved in thefourth iteration 624 as shown inrow 604, thefifth iteration 625 as shown inrow 603, thesixth iteration 626 as shown inrow 602, until thelast iteration 627 as shown inrow 601. In the end, all workloads are consolidated into one portfolio. This turns out to be the best portfolio in this example which reduces the total number of CPUs (shown in the CPU column 610) from 13 to 6 and the total hourly CPU usage from 560 to 481. - NBA takes N anchor workloads specified by the user and consolidates each remaining workload with the best anchor; then it iteratively swaps the best pair of workloads from different groups (if any) that yields the maximum reduction in the capacity requirement until no further consolidation can be done.
- These algorithms are similar in spirit to the classical algorithms for clustering points in a Euclidean space. The key difference is that the present invention employs the capacity requirement of a consolidated workload as the optimization criterion, whereas the classical clustering algorithms use the Euclidean distance to the centroid of a cluster, which is totally meaningless in the workload consolidation problem. What NCA and NBA require is a mapping of the form f(X, Y, alpha, beta) which maps any given workloads X and Y, with given parameters alpha and beta, into the number of CPUs required to handle both X and Y combined.
- Key parameters in the optimization problem include the system availability level alpha and the capacity
reserve level beta 430, as shown inFIG. 4 . In a typical on-demand environment, each customer will have a Service Level Agreement (SLA) specifying a resource capacity that the provider agrees to make available to the customer. The parameters specified, as shown inFIG. 4 , set a lower bound 410 and an upper bound 420 for the percentage of the resource capacity required under the SLA agreement for each of the workloads being optimally clustered. The alpha specifies the capacity availability to the customer (as shown by the SLA parameter inFIG. 4 ) and the beta specifies the system overhead incurred in a shared platform and the reserved capacity buffer to handle unexpected workload spikes. A simple example of the availability level alpha is the probability that the allocated capacity (minus the capacity reserve) is greater than the workload. For a given workload, the lower is alpha, the higher is the capacity requirement and hence the hardware cost. Similarly, the higher is beta, the less is the usable capacity and hence the higher is the capacity requirement. These parameters should be chosen properly in configuring an on-demand utility based on the service level agreement (if any) and the types of machines used. - Once the optimal consolidation plan is obtained, the associated cost and the profit potential can be analyzed as shown in
FIG. 8 , on the basis of hardware/software costs, labor costs, and pricing policies as shown inFIG. 7 . In the example shown inFIG. 7 , the financial model is based on a three-year service contract under which the customer pays an hourly rate for actual usage plus an installation fee charged on a monthly basis over the course of the contract. The cost of hardware is also calculated on a monthly basis. The appropriate charges for a given implementation under the financial model shown inFIG. 7 are entered as setup cost 710 for each workload, monthlyrental cost 720, monthly labor costs 730, and the rate charged foractual usage 740.FIG. 8 shows that the optimal portfolio obtained by HCA inFIG. 5 turns amonthly loss 810 of $310 into amonthly profit 820 of $2190. - It will be observed that while the above description is in terms of servers, the invention can be applied to other types of computing resources such as memory and disk space requirements.
- While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
Claims (20)
1. A method for optimizing computing resources used by on-demand customers, comprising the steps of:
storing in a computer database representations of a workload of each of a plurality of customers, each said workload being represented in terms of usage measures of a particular computing resource over a time period;
storing in a computer database, for each of said customer workloads, one or more parameters describing performance levels to be met by said particular computing resource, said performance levels being a function of said usage measures;
running an algorithm on said workloads, said algorithm optimizing usage of said particular computing resource, constrained by said performance levels, by grouping said plurality of customer workloads into groups, each group being served by a different cluster of one or more instances of said particular computing resource.
2. A method as in claim 1 , wherein said particular computing resource is a central processing unit.
3. A method as in claim 1 , wherein said parameters are obtained by displaying for a user a dialog specifying each of said parameters and receiving from said user a value for each of said specified parameters.
4. A method as in claim 3 , wherein said specified parameters are upper and lower bounds and a capacity reserve level for performance of a service level agreement applicable to said customer with respect to said particular computing resource.
5. A method as in claim 1 , wherein said algorithm is selected by a user from a dialog displaying alternatives for said optimizing.
6. A method as in claim 5 , wherein said algorithm dialog displays a choice between hierarchical clustering and N-Box algorithms.
7. A method as in claim 6 , wherein for each algorithm there is displayed a choice between optimizing the number of clusters or optimizing the total capacity of the instances of the particular computing resource.
8. An apparatus for optimizing computing resources used by on-demand customers, comprising:
means for storing in a computer database representations of a workload of each of a plurality of customers, each said workload being represented in terms of usage measures of a particular computing resource over a time period;
means for storing in a computer database, for each of said customer workloads, one or more parameters describing performance levels to be met by said particular computing resource, said performance levels being a function of said usage measures;
means for running an algorithm on said workloads, said algorithm optimizing usage of said particular computing resource, constrained by said performance levels, by grouping said plurality of customer workloads into groups, each group being served by a different cluster of one or more instances of said particular computing resource.
9. An apparatus as in claim 8 , wherein said particular computing resource is a central processing unit.
10. An apparatus as in claim 8 , wherein said parameters are obtained by displaying for a user a dialog specifying each of said parameters and receiving from said user a value for each of said specified parameters.
11. An apparatus as in claim 10 , wherein said specified parameters are upper and lower bounds and a capacity reserve level for performance of a service level agreement applicable to said customer with respect to said particular computing resource.
12. An apparatus as in claim 8 , wherein said algorithm is selected by a user from a dialog displaying alternatives for said optimizing.
13. An apparatus as in claim 12 , wherein said algorithm dialog displays a choice between hierarchical clustering and N-Box algorithms.
14. An apparatus as in claim 13 , wherein for each algorithm there is displayed a choice between optimizing the number of clusters or optimizing the total capacity of the instances of the particular computing resource.
15. A computer implemented system for optimizing computing resources used by on-demand customers, comprising:
first computer code for storing in a computer database representations of a workload of each of a plurality of customers, each said workload being represented in terms of usage measures of a particular computing resource over a time period;
second computer code for storing in a computer database, for each of said customer workloads, one or more parameters describing performance levels to be met by said particular computing resource, said performance levels being a function of said usage measures;
third computer code for running an algorithm on said workloads, said algorithm optimizing usage of said particular computing resource, constrained by said performance levels, by grouping said plurality of customer workloads into groups, each group being served by a different cluster of one or more instances of said particular computing resource.
16. A computer implemented system as in claim 15 , wherein said particular computing resource is a central processing unit.
17. A computer implemented system as in claim 15 , wherein said parameters are obtained by displaying for a user a dialog specifying each of said parameters and receiving from said user a value for each of said specified parameters.
18. A computer implemented system as in claim 15 , wherein said algorithm is selected by a user from a dialog displaying alternatives for said optimizing.
19. A computer implemented system as in claim 18 , wherein said algorithm dialog displays a choice between hierarchical clustering and N-Box algorithms.
20. A computer implemented system as in claim 19 , wherein for each algorithm there is displayed a choice between optimizing the number of clusters or optimizing the total capacity of the instances of the particular computing resource.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/145,966 US20060277549A1 (en) | 2005-06-07 | 2005-06-07 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
US12/058,187 US8286175B2 (en) | 2005-06-07 | 2008-03-28 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/145,966 US20060277549A1 (en) | 2005-06-07 | 2005-06-07 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/058,187 Continuation US8286175B2 (en) | 2005-06-07 | 2008-03-28 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060277549A1 true US20060277549A1 (en) | 2006-12-07 |
Family
ID=37495595
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/145,966 Abandoned US20060277549A1 (en) | 2005-06-07 | 2005-06-07 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
US12/058,187 Expired - Fee Related US8286175B2 (en) | 2005-06-07 | 2008-03-28 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/058,187 Expired - Fee Related US8286175B2 (en) | 2005-06-07 | 2008-03-28 | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
Country Status (1)
Country | Link |
---|---|
US (2) | US20060277549A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104383A1 (en) * | 2006-10-26 | 2008-05-01 | Danilo Ardagna | Method, system and computer program for configuring server farms at minimum cost |
US20090064156A1 (en) * | 2007-08-29 | 2009-03-05 | International Business Machines Corporation | Computer program product and method for capacity sizing virtualized environments |
US20100228861A1 (en) * | 2009-03-04 | 2010-09-09 | International Business Machines Corporation | Environmental and computing cost reduction with improved reliability in workload assignment to distributed computing nodes |
US10264059B2 (en) * | 2015-08-28 | 2019-04-16 | International Business Machines Corporation | Determining server level availability and resource allocations based on workload level availability requirements |
US10509685B2 (en) * | 2015-12-14 | 2019-12-17 | VCE IP Holding Company, LLC | Methods, systems, and computer readable mediums for workload clustering |
US12236254B1 (en) * | 2021-06-18 | 2025-02-25 | Amazon Technologies, Inc. | Reserving increased performance of burstable instances for a limited time period |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4751265B2 (en) * | 2006-08-01 | 2011-08-17 | 株式会社日立製作所 | Resource management system and method |
US8793381B2 (en) | 2012-06-26 | 2014-07-29 | International Business Machines Corporation | Workload adaptive cloud computing resource allocation |
US9720752B2 (en) * | 2014-10-20 | 2017-08-01 | Netapp, Inc. | Techniques for performing resynchronization on a clustered system |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539340B1 (en) * | 1999-12-10 | 2003-03-25 | Cisco Technology, Inc. | Methods and apparatus for measuring resource usage within a computer system |
US20040205120A1 (en) * | 2003-03-24 | 2004-10-14 | Shaul Dar | Network service optimization |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7167821B2 (en) * | 2000-06-06 | 2007-01-23 | Microsoft Corporation | Evaluating hardware models having resource contention |
US7281013B2 (en) * | 2002-06-03 | 2007-10-09 | Microsoft Corporation | Workload analysis tool for relational databases |
US7765299B2 (en) * | 2002-09-16 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Dynamic adaptive server provisioning for blade architectures |
US7783759B2 (en) * | 2002-12-10 | 2010-08-24 | International Business Machines Corporation | Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm |
US7509646B1 (en) * | 2003-09-23 | 2009-03-24 | Unisys Corporation | Method of managing workloads in a distributed processing system |
US20060026179A1 (en) * | 2003-12-08 | 2006-02-02 | Brown Douglas P | Workload group trend analysis in a database system |
US7657501B1 (en) * | 2004-08-10 | 2010-02-02 | Teradata Us, Inc. | Regulating the workload of a database system |
-
2005
- 2005-06-07 US US11/145,966 patent/US20060277549A1/en not_active Abandoned
-
2008
- 2008-03-28 US US12/058,187 patent/US8286175B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539340B1 (en) * | 1999-12-10 | 2003-03-25 | Cisco Technology, Inc. | Methods and apparatus for measuring resource usage within a computer system |
US20040205120A1 (en) * | 2003-03-24 | 2004-10-14 | Shaul Dar | Network service optimization |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104383A1 (en) * | 2006-10-26 | 2008-05-01 | Danilo Ardagna | Method, system and computer program for configuring server farms at minimum cost |
US7886036B2 (en) * | 2006-10-26 | 2011-02-08 | International Business Machines Corporation | Method, system and computer program for configuring server farms at minimum cost |
US20090064156A1 (en) * | 2007-08-29 | 2009-03-05 | International Business Machines Corporation | Computer program product and method for capacity sizing virtualized environments |
US8108857B2 (en) | 2007-08-29 | 2012-01-31 | International Business Machines Corporation | Computer program product and method for capacity sizing virtualized environments |
US20100228861A1 (en) * | 2009-03-04 | 2010-09-09 | International Business Machines Corporation | Environmental and computing cost reduction with improved reliability in workload assignment to distributed computing nodes |
US8793365B2 (en) | 2009-03-04 | 2014-07-29 | International Business Machines Corporation | Environmental and computing cost reduction with improved reliability in workload assignment to distributed computing nodes |
US10264059B2 (en) * | 2015-08-28 | 2019-04-16 | International Business Machines Corporation | Determining server level availability and resource allocations based on workload level availability requirements |
US10509685B2 (en) * | 2015-12-14 | 2019-12-17 | VCE IP Holding Company, LLC | Methods, systems, and computer readable mediums for workload clustering |
US12236254B1 (en) * | 2021-06-18 | 2025-02-25 | Amazon Technologies, Inc. | Reserving increased performance of burstable instances for a limited time period |
Also Published As
Publication number | Publication date |
---|---|
US8286175B2 (en) | 2012-10-09 |
US20080183543A1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8286175B2 (en) | Method and apparatus for capacity optimization and planning in an on-demand computing environment | |
Chung et al. | Stratus: Cost-aware container scheduling in the public cloud | |
CN100487659C (en) | Method and device for optimizing fractional resource allocation | |
US8209695B1 (en) | Reserving resources in a resource-on-demand system for user desktop utility demand | |
US20150143366A1 (en) | Optimizing placement of virtual machines | |
Ben-Yehuda et al. | Expert: Pareto-efficient task replication on grids and a cloud | |
US7925755B2 (en) | Peer to peer resource negotiation and coordination to satisfy a service level objective | |
US20030158887A1 (en) | Massively computational parallizable optimization management system and method | |
CN104040485A (en) | PAAS hierarchial scheduling and auto-scaling | |
US20060031813A1 (en) | On demand data center service end-to-end service provisioning and management | |
CN103649910A (en) | Virtual machine placement | |
CN105204924A (en) | Managing private use of program execution capacity | |
US20050144025A1 (en) | Using technical performance metrics for business and usage analysis and cost allocation | |
US20120191661A1 (en) | Optimization and staging | |
US20090138300A1 (en) | Optimizing managed business processes | |
US9047135B2 (en) | Qualitative assignment of resources to a logical partition in a multipartitioned computer system | |
AU2016204350A1 (en) | Resource planning system for cloud computing | |
US10812278B2 (en) | Dynamic workload capping | |
CN101963969A (en) | Method and database server for realizing load balancing in Oracle RAC (Real Application Cluster) system | |
Shastri et al. | Cloud index tracking: Enabling predictable costs in cloud spot markets | |
US7386537B2 (en) | Method and system for determining size of a data center | |
US10643193B2 (en) | Dynamic workload capping | |
WO2012150947A1 (en) | Revenue-based impact analysis using multidimensional models of software offerings | |
Wang et al. | Minimizing cost in IaaS clouds via scheduled instance reservation | |
US8074223B2 (en) | Permanently activating resources based on previous temporary resource usage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LI, TA-HSIN;PALEOLOGO, GIUSEPPE ANDREA;BRIGGS, STEPHEN SCOTT;REEL/FRAME:016486/0171;SIGNING DATES FROM 20050531 TO 20050601 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |