US8291411B2 - Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) - Google Patents
Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) Download PDFInfo
- Publication number
- US8291411B2 US8291411B2 US12/043,260 US4326008A US8291411B2 US 8291411 B2 US8291411 B2 US 8291411B2 US 4326008 A US4326008 A US 4326008A US 8291411 B2 US8291411 B2 US 8291411B2
- Authority
- US
- United States
- Prior art keywords
- machines
- virtual machines
- demand
- physical machines
- given
- 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.)
- Expired - Fee Related, expires
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Definitions
- the present invention relates to the electrical, electronic and computer arts, and, more particularly, to efficient utilization of servers and the like.
- Consolidation at the application and OS levels can mitigate inefficiencies in using physical resources.
- Application consolidation requires considerable skill to ensure isolation between co-hosted applications within an OS image.
- isolation such as security, resource contention, and co-sensitivity to patches and versions.
- An example of the latter is the case when updating one application may require an OS patch which is incompatible with a co-hosted application.
- Consolidation at the OS level avoids these compatibility issues and is generally the preferred approach for consolidating heterogeneous applications.
- multiple OS images execute concurrently on a single physical platform, leveraging virtualization of the underlying hardware.
- hypervisor executes on a physical machine (PM) and presents an abstraction of the underlying hardware to multiple virtual machines (VMs).
- PM physical machine
- VMs virtual machines
- the hypervisors support lifecycle management functions for the hosted VM images, and increasingly facilitate both offline and live migration of the execution environment for the VM, as known from the aforementioned VMware and Xen technologies.
- Server consolidation can be static or dynamic.
- static consolidation historical average resource utilizations are typically used as input to an algorithm that maps VMs to PMs. After initial static consolidation, the mapping may not be recomputed for long periods of time, such as several months, and is done off-line.
- dynamic allocation is implemented on shorter timescales, preferably shorter than periods of significant variability of the resource demand. Dynamic allocation leverages the ability to conduct live migration of VMs. This concept is illustrated in FIG. 1 . Three physical machines 102 , 104 , 106 with a virtualization layer 118 are used to execute five virtual machines 108 , 110 , 112 , 114 , and 116 .
- PM 3 numbered 106
- PM 3 can be in a low power state or powered down, because it is not hosting any VMs.
- PM 3 is activated and VM 5 , numbered 116 , is migrated from PM 2 , numbered 104 , to PM 3 .
- the initial position is denoted by solid lines while the position after migration is denoted with dotted lines. The migration occurs without service interruption.
- an exemplary method (which can be computer implemented) is provided for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping.
- the method includes the steps of measuring historical data for the computer server system, forecasting future demand for service in the computer server system based on the historical data, and updating the mapping of the virtual machines to the physical machines based on the forecasting of the future demand.
- an exemplary apparatus for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping.
- the apparatus includes a measurement module configured to measure historical data for the computer server system, a forecasting module configured to forecast future demand for service in the computer server system based on the historical data, and a placement module configured to update the mapping of the virtual machines to the physical machines based on the forecast of the future demand.
- One or more embodiments of the invention or elements thereof can be implemented in the form of a computer program product including a computer usable medium with computer usable program code for performing the method steps indicated. Furthermore, one or more embodiments of the invention or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps. Yet further, in another aspect, one or more embodiments of the invention or elements thereof can be implemented in the form of means for carrying out one or more of the method steps described herein; the means can include hardware module(s), software module(s), or a combination of hardware and software modules.
- “facilitating” an action includes performing the action, making the action easier, helping to carry the action out, or causing the action to be performed.
- instructions executing on one processor might facilitate an action carried out by instructions executing on a remote processor, by sending appropriate data or commands to cause or aid the action to be performed.
- One or more embodiments of the invention may offer one or more technical benefits; for example, providing substantial improvement over static server consolidation in reducing the amount of required capacity and the rate of service level agreement violations.
- benefits accrue for workloads that are variable and can be forecast over intervals shorter than the time scale of demand variability.
- the amount of physical capacity required to support a specified rate of SLA violations for a given workload may be reduced significantly (for example, by as much as 50%) as compared to a static consolidation approach.
- the rate of SLA violations at fixed capacity may be reduced significantly as well, for example, by up to 20%.
- the benefits of one or more embodiments of the invention may be realized in connection with a variety of operating systems, applications, and industries.
- FIG. 1 depicts virtualization according to the prior art
- FIG. 2 depicts capacity savings available according to one non-limiting exemplary embodiment of the invention
- FIG. 3 depicts a probability distribution of forecast demand at a certain time, based on historical data, according to an aspect of the invention
- FIG. 4 depicts exemplary demand with high variability, strong autocorrelation, and no periodic component
- FIG. 5 depicts exemplary demand with low variability, weak autocorrelation, and no periodic component
- FIG. 6 depicts exemplary demand with strong variability, strong autocorrelation, and strong periodic component
- FIGS. 7-9 present three exemplary applications of exemplary predictive techniques, according to an aspect of the invention, to central processing unit (CPU) utilization traces;
- CPU central processing unit
- FIG. 10 is an exemplary embodiment of an apparatus, according to an aspect of the invention, interacting with a data center to be managed;
- FIG. 11 shows notation used herein
- FIG. 12 shows exemplary pseudo-code for implementing aspects of the invention
- FIG. 13 shows an exemplary relationship between available capacity, in terms of the number of physical machines (PMs) and the overflow rate
- FIG. 14 shows a scatter plot of the number of PMs used by an exemplary inventive approach, as compared to a static approach
- FIG. 15 shows a relationship between a target overflow percentile and time averaged number of servers, for one specific non-limiting application of an embodiment of the invention
- FIG. 16 shows an example relationship between the time-averaged number of PMs used and the migration interval
- FIG. 17 is a flow chart of an exemplary method, according to another aspect of the invention.
- FIGS. 18 and 19 are flow charts showing certain possible details of the method of FIG. 17 ;
- FIG. 20 depicts a computer system that may be useful in implementing one or more aspects and/or elements of the present invention.
- One or more embodiments of the invention leverage consolidation based on server virtualization and image migration to address issues of low utilization of physical resources, and provide techniques for dynamic resource allocation in virtualized server environments, which, in one or more embodiments, reduce and even minimize the cost of running the data center.
- the cost has competing terms that penalize both (i) overcapacity (low utilization) and (ii) overloading, which causes poor application performance and violates contractual Service Level Agreements (SLAs).
- SLAs are typically expressed as CPU or response time guarantees.
- An SLA expressed as a response time for an enterprise process spanning multiple machines is translated into a CPU guarantee at each VM.
- An exemplary inventive method is based on measuring historical data, forecasting the future demand, and remapping VMs to PMs, and is subsequently referred to as Measure-Forecast-Remap (MFR). This sequence of steps is iterated at regular successive intervals denoted by ⁇ . At each placement step, the minimum number of hosts required to support the VMs is computed, subject to a constraint on the probability of overloading the servers during the interval ⁇ .
- One or more inventive techniques exploit periodic variability of the demand to achieve reduction in resource consumption.
- the capacity to be allocated for the next interval of length ⁇ is predicted at time i 0 based on a window of the historical demand prior to time i 0 .
- the forecast average demand in the next interval is denoted by ⁇ i 0 + ⁇ .
- the distribution of error in the forecast, E( ⁇ ) depends on the length of prediction interval ⁇ , and is shown in the dashed curve 304 of FIG. 3 .
- the p-percentile of the distribution of the forecast error is E p ( ⁇ ).
- This provides a probabilistic guarantee of satisfying the actual demand with probability 1 ⁇ p. It can be seen in FIG. 2 that the net capacity savings in this interval due to dynamic allocation is equal to L p ⁇ i 0 + ⁇ ⁇ E p ( ⁇ ).
- this idea can be extended to multiple VMs and PMs.
- aspects of the invention advantageously leverage the patterns of resource demand to provide statistical guarantees of service quality while reducing or minimizing the amount of consumed resources.
- resource demand There are several properties that make a workload suitable for dynamic management. Unless the workload exhibits significant variability there is typically no benefit in dynamic management.
- the timescale over which the resource demand varies should exceed the rebalancing interval ⁇ so that remapping of VMs to PMs keeps pace with the demand changes. It is useful to state this condition in terms of the frequency or power spectrum representation of the demand.
- the frequency content of dynamically managed resource demand should be dominated by components at frequencies smaller than 1/ ⁇ .
- resource demand needs to be predictable on timescales of the rebalance period ⁇ .
- the error distribution of the predictor should be significantly “narrower” than the distribution of the demand (refer to the discussion of FIG. 3 ).
- a time series is predictable if, for example, it has a deterministic periodic component or it has a strong autocorrelation.
- FIGS. 4-6 Three main categories of behavior emerge, as illustrated in FIGS. 4-6 .
- Each figure contains four perspectives on the data; raw CPU demand time series, cumulative distribution of demand, autocorrelation function, and periodogram.
- FIG. 4 The data in FIG. 4 is strongly variable and has an autocorrelation of about 0.8 over a long range. However, the periodogram shows an absence of strong periodic behavior. This workload is an example of a good candidate for dynamic management. Large variability offers significant potential for optimization, while strong autocorrelation makes it possible to obtain a low-error predictor.
- FIG. 5 typifies the category of weak variability as evidenced by the rapid increase of the CDF. It also has a quickly decaying, autocorrelation function and no distinct periodic component. This workload is not likely to benefit from dynamic management. It exhibits low variability that makes it difficult to realize any gain. A quickly decaying autocorrelation function and lack of periodicity make it difficult to forecast demand.
- FIG. 6 shows the type of signal that benefits most from dynamic migration. It is characterized by strong variability and autocorrelation combined with periodic behavior.
- the examples presented above provide insight to how the classification of VMs should be done. However, it is advantageous to provide a way of quickly deciding whether a given VM is a good candidate for dynamic management.
- the following passages present an approximate gain formula that quantifies a relative gain from using dynamic management, assuming that capacity may be adjusted in a fine-grained fashion based on the requirements, e.g., such as increasing the fraction of a physical CPU assigned to a given logical partition on a machine such as an “IBM pSeries” machine available form International Business Machines Corporation of Armonk, N.Y.
- the reallocation interval is ⁇
- the demand probability density is u(x)
- p-percentile of distribution u is L p
- distribution of predicted time series (with prediction horizon of ⁇ ) is ⁇ ⁇ (x)
- p-percentile of distribution of predictor error is E p ( ⁇ ).
- the gain G( ⁇ ) is the ratio of the time-averaged dynamically adjusted capacity to the statically allocated capacity with the same target overflow percentile p.
- L p ⁇ (x+E p ( ⁇ )) represents the capacity saving for a given capacity allocation x.
- the capacity saving is weighted with, ⁇ ⁇ (x), the probability of being at this particular capacity level. Equation (1) simplifies to:
- Equation (3) is exact when the time series is generated by a linear filter applied to a white noise process (the skilled artisan will be familiar with background information in G. Jenkins, G. Reinsel, and G. Box, Time Series Analysis: Forecasting and Control , Prentice Hall, 1994 (“Jenkins”)).
- Result (4) is used to decide how much a given virtual machine can gain from dynamic management.
- VMs can be categorized as predictable or unpredictable based on the value of Formula (4). Note that by multiplying Formula (4) by L p the absolute value of the gain from dynamic management is obtained.
- An accurate forecast methodology that estimates the resource demand based on the observed history is advantageous in efficiently executing the trade-off between optimal resource usage and the penalties associated with SLA violations in a dynamic system, such as a data center.
- a dynamic system such as a data center.
- the historical usage data is analyzed and a predictor is built that forecasts the probability distribution of demand in a future observation interval.
- the predictor can be used to forecast values for multiple intervals ahead.
- the quality of prediction usually decreases with longer prediction horizons.
- the periodograms of FIGS. 4-6 show that the CPU demand contains one or more periodic components (such as 24-hour in FIG. 6 ).
- a low-pass filter i.e., a filter with a time constant longer than the period of interest.
- the smoothed time series is then subdivided into contiguous intervals of length p j over a learning history.
- the intervals are averaged together to form D i j .
- the residuals are then found by subtracting the D i j from the U i according to Equation (5).
- the residuals r i are modeled using a class of autoregressive (AR) processes.
- AR autoregressive
- the skilled artisan will be familiar with such processes per se, for example, from Jenkins, and, given the teachings herein, can adapt them for use with embodiment(s) of the invention.
- some instances of the invention use AR( 2 ), which assumes two autoregressive components. It has been demonstrated in the literature that lag 2 is sufficient in most of the cases.
- ⁇ i are the error terms.
- This model contains two parameters ( ⁇ 1 , ⁇ 2 ) that are estimated from the data.
- the parameters ⁇ 1 and ⁇ 2 are preferably chosen to minimize mean squared error between the forecast r i and the observed time series data. In practice, a ‘learning’ period of the time series can be used to initially compute ⁇ .
- a prediction error can be tracked, and when it increases, the parameters D i j s and ⁇ s can be recomputed, thus adapting to long term changes in demand patterns.
- the estimated model can be used to make predictions of future demand in a standard fashion.
- Prediction error can be computed empirically and represented using a Gaussian variable having mean ⁇ and variance ⁇ 2 .
- the joint distribution in prediction error arising from multiple VMs placed together on each PM can be computed assuming statistical independence, inasmuch as the periodic behavior, which is responsible for most of the correlation, has been removed from the time series.
- the resulting distribution of prediction error can be used in exemplary management techniques of the invention, discussed below, to bound the probability of overload.
- FIGS. 7-9 show the results of applying the prediction techniques to the time series of FIGS. 4-6 , respectively.
- Each figure shows the probability distribution of CPU demand (which is equivalent to CDFs shown in FIGS. 4-6 ) in the top plot, and the distribution of prediction error in the bottom plot.
- a significant factor in achieving a gain from dynamic management is the width of the predictor's error distribution being less than the width of the total demand distribution. See also the discussion of FIGS. 2 and 3 and Equation (4) and text proximate thereto. In discussing the data of FIG. 4 (corresponding to FIG. 7 ), it was noted that because of its strong variability and autocorrelation it would be a good candidate for dynamic migration.
- FIG. 7 0.19 0.21 0.09
- FIG. 8 ⁇ 0.02 ⁇ 0.02 0.00
- FIG. 9 0.32 0.33 0.03
- a significant management objective is to minimize the time-averaged number of active physical servers hosting virtual machines, subject to the constraint that the rate of demand overloading the resource capacity is bounded by a specified threshold p (i.e., related to an SLA agreement).
- p i.e., related to an SLA agreement.
- p i.e., related to an SLA agreement.
- p i.e., related to an SLA agreement.
- p i.e., related to an SLA agreement.
- This is achieved, in one or more embodiments, by the dynamic remapping of VMs to PMs at each update interval R.
- Machines that are not assigned VMs are put in an off- or low-power-state, depending on
- the minimum data collection interval and forecast window used in this non-limiting example is 15 minutes. It is to be emphasized that different windows may be appropriate in other circumstances, depending on factors such as the granularity of measurement data, time and cost to migrate virtual machines, disruption to operation introduced by migration, policies, and the like.
- a simplifying assumption can be made that VM migration and PM activation occur at shorter timescales.
- FIG. 10 shows an exemplary architecture of an apparatus 1000 that can be used to implement one or more inventive techniques, such as management techniques.
- a monitoring unit e.g., measurement module 1002
- a sliding window of this historic data is combined with the current metrics by the forecasting module 1004 to predict resource demand in the next interval.
- the predicted demand values are used by the optimization techniques implemented in the placement module 1006 to compute the mapping of VMs to PMs for the next interval.
- the placement module 1006 performs required migrations and the process iterates.
- the virtualized data center 1008 controlled by apparatus 1000 can be similar to that described above with regard to FIG. 1 , and similar elements have received the same reference character and will not be described again.
- mapping problem is a version of a bin packing problem and is NP hard, thus an efficient heuristic is advantageously derived according to one or more aspects of the invention, based on a first-fit approximation.
- NP hard means the exact solution cannot be computed in a time that is a polynomial function of the size of the problem (in this number of machines), i.e., it takes too long to compute the exact solution.
- the remapping interval (i.e., the time between two successive reallocation actions) is denoted by R and expressed in terms of discrete units of measurement intervals.
- the resource demand time series of the n th VM is U i n , with i being the time index.
- the distribution of demand corresponding to time series U i n is u n (x), and ⁇ i,k n is the forecast demand k units ahead of the current time i for VM n.
- the prediction error of each VM is approximated as a Gaussian distribution with mean ⁇ n and variance ⁇ n 2 .
- ⁇ n 0 because the predictor is unbiased.
- the capacity needed to guarantee an error rate less than p for this Gaussian is c p ( ⁇ , ⁇ 2 ). It is computed from the well known error function of a normal distribution, er ⁇ (x). The notation is summarized in the table of FIG. 11 .
- FIG. 12 presents pseudo-code for the placement step of the MFR technique.
- the demand of each VM is forecast using the method discussed above. Based on the forecast, the VMs are sorted in descending order. Subsequent steps implement the first-fit bin packing heuristic, modified to enforce the constraints on the probability of exceeding the physical machine's capacity. In particular, each VM is taken off the ordered list and an attempt is made to place it on the PMs sequentially. For each target PM, the distribution of the sum of resource demands of all virtual machines allocated to this PM is computed. If the p-percentile of this distribution is no greater than the capacity of the PM, the VM is assigned to this PM.
- the VM is assigned to the PM that has the smallest difference between allocated demands and its capacity.
- the first-fit heuristic used in this non-limiting example minimizes the active PMs
- other packing heuristics can be applied for different objectives. For example, the worst fit heuristic which assigns each VM to the PM with greatest free capacity leads to a load-balanced allocation, providing the lowest rate of overloads.
- simulation studies are presented, based on simulations driven by traces gathered from hundreds of production servers running multiple operating systems (e.g., AIX® (registered mark of International Business Machines), Linux, Microsoft Windows® (registered mark of Microsoft Corporation)) and a broad variety of applications (e.g., databases, file servers, mail servers, application servers, web servers, and so on).
- the traces contain data for CPU, memory, storage, and network utilization with a 15-minute sampling frequency; however the non-limiting example herein focuses on CPU utilization.
- the absolute gain formula (derived above) is used to identify the traces that can benefit from dynamic management.
- MFR generally outperforms static consolidation as measured by the rate of SLA violations at a fixed number of PMs.
- FIG. 13 shows a typical result obtained by applying MFR and static allocation to map a single set of 25 VMs onto a set of PMs.
- the number of available PMs is varied from 5 to 8, and the length of the forecast/migration interval is equal to that of the measurement interval (15 minutes).
- the rate of capacity overflows is reduced tip to 20% at 6 PMs. Note that the curves are expected to converge in the limiting cases of large and small numbers of PMs. At large numbers of PMs overcapacity drives the overload rate to zero, while at small numbers the MFR can no longer compensate for lack of capacity by dynamic moves.
- FIG. 14 compares the time-averaged number of active PMs required by MFR (horizontal axis) and static allocation (vertical axis) at a specified rate of capacity violation. For each of 5, 6, 7, or 8 PMs a set of 10 simulations of MFR is executed using randomly selected subsets of production demand traces. The target rate of overload for MFR is equal to that achieved by static allocation for the given number of PMs. The forecast is made one interval ahead. Thus, each point on the scatter plot is the average number of active PMs used by MFR for the fixed number of PMs used in static allocation. For reference, the solid line in the figure is equal performance (the same number of PMs used by both algorithms).
- the dynamic approach uses significantly less resources; in particular, the average reduction in the time-averaged number of active PMs is 44% with minimum and maximum saving of 29% and 52%, respectively.
- FIG. 15 shows the relationship between the specified SLA violation rate on the horizontal axis and the time-averaged number of PMs on the vertical axis for one of the test configurations. These values of p correspond to the first column of the table just above.
- FIG. 16 is a simulation study of the relationship between the lengths of the remapping interval ( ⁇ ) and the time-averaged number of used PMs.
- the horizontal axis represents a range of ⁇ of 10 hours in 15-minutes measurement intervals.
- the testbed included three IBM Blade servers with VMWare ESX 2.5, available from VMware Inc. as discussed above. SDK, provided by VMWare, was used to programmatically execute the migrations.
- the VM's CPU utilization was varied while performing migrations.
- the migration time was found to be almost independent of the CPU utilization.
- the average VM migration time from source PM to target PM was 49.7 seconds. However, the machine remains active on the source PM until the final transfer of the state, which occurs within the last milliseconds of the migration.
- one of the mechanisms for resource allocation is virtual machine migration, which allows for reallocation of an executing operating system between two physical machines without significant interruption (i.e., disruption of service on the order of milliseconds during the last phase of migration).
- virtual machine migration allows for reallocation of an executing operating system between two physical machines without significant interruption (i.e., disruption of service on the order of milliseconds during the last phase of migration).
- an exemplary management technique for dynamic allocation of virtual machines to physical servers is presented.
- the exemplary management technique pro-actively adapts to demand changes and migrates virtual machines between physical hosts, thus providing probabilistic SLA guarantees.
- Time series forecasting techniques and a bin packing heuristic are combined to minimize the number of physical machines required to support a workload.
- An exemplary method for characterizing the gain that a given virtual machine can achieve from dynamic migration is also presented.
- Experimental studies of the exemplary management technique and its applicability using traces from production data centers are shown.
- the exemplary management technique achieves significant reduction in resource consumption (up to 50% as compared to the static allocation) and also reduces the number of SLA violations. It is to be emphasized that the data presented herein is of an exemplary, non-limiting nature, and other instances of the invention may obtain different results.
- an exemplary method (which can be computer-implemented) is described for managing service capacity in a computer server system 1008 having a plurality of physical machines 102 , 104 , 106 and a plurality of virtual machines 108 , 110 , 112 , 114 , 116 mapped to the plurality of physical machines according to an initial mapping.
- the method includes measuring historical data for the computer server system, at block 1706 (optional step 1704 is discussed below).
- Step 1708 includes forecasting future demand for service in the computer server system based on the historical data.
- Step 1710 includes updating the mapping of the virtual machines to the physical machines based on the forecasting of the future demand.
- An additional step 1712 can include iterating the measuring, forecasting, and updating steps at regular successive time intervals, ⁇ . Note that this terminology is also intended to encompass substantially continuous monitoring or measurement in block 1706 .
- the demand is forecast in terms of a required number of the virtual machines
- the updating step 1710 includes determining a minimum number of the physical machines required to support the required number of virtual machines, subject to a constraint on a probability of overloading the physical machines during a given one of the successive time intervals, ⁇ .
- an optional step 1704 may be included, wherein it is determined whether a given one of the virtual machines may benefit from dynamic management. This can be done, for example, by applying formula (4) above.
- the demand forecasting step 1708 can include obtaining a demand time series U i , as shown at block 1802 .
- the demand time series is decomposed into a sum of periodic components and residuals, while block 1812 includes modeling the residuals using an autoregressive process.
- the residuals can be modeled as described above.
- the decomposing step 1803 can include smoothing the time series U i by low-pass filtering to obtain a smoothed time series, as at block 1804 , as well as subdividing the smoothed time series into contiguous intervals over a learning history, as at block 1806 .
- the intervals can be averaged to form average values, and at block 1810 , the average values can be subtracted from corresponding values of the time series to obtain values of the residual terms r i ⁇ 1 and r i ⁇ 2 .
- the updating step 1710 includes sorting the virtual machines in descending order to obtain an ordered list, as at block 1902 .
- For each of the target physical machines compute a distribution of a sum of resource demands of all of the virtual machines allocated to the target physical machine.
- decision block 1908 yields a “NO,” try any additional available physical machines, as at block 1912 , where if there are more such machines available, steps 1904 , 1906 , and 1908 can be repeated. However, if no more machines are available, as per the “NO” branch of block 1912 , then none of the target physical machines satisfy the condition that the p-percentile is no greater than the capacity. In such a case, as at block 1914 , assign the given one of the virtual machines to one of the target physical machines having a smallest difference between the p-percentile of the distribution of the sum and the capacity of the one of the target physical machines.
- an exemplary apparatus 1000 is provided for managing service capacity in a computer server system 1008 having a plurality of physical machines 102 , 104 , 106 and a plurality of virtual machines 108 , 110 , 112 , 114 , 116 mapped to the plurality of physical machines according to an initial mapping (for example, in the absence of initial load data, virtual machines could be equally apportioned across physical machines.).
- Apparatus 1000 includes measurement module 1002 configured to measure historical data for the computer server system 1008 ; forecasting module 1004 configured to forecast future demand for service in the computer server system 1008 , based on the historical data; and placement module 1006 configured to update the mapping of the virtual machines to the physical machines based on the forecast of the future demand.
- the modules 1002 , 1004 , 1006 may be cooperatively configured to iterate the measurement, forecast, and update at regular successive time intervals, ⁇ , and to carry out one or more other method steps set forth herein.
- Demand can be forecast in terms of a required number of the virtual machines 108 , 110 , 112 , 114 , 116 and placement module 1006 may be configured to update the mapping by determining a minimum number of the physical machines required to support the required number of virtual machines, subject to a constraint on a probability of overloading the physical machines during a given one of the successive time intervals, ⁇ .
- Placement module 1006 may also be configured to determine whether a given one of the virtual machines may benefit from dynamic management; for example, by applying equation (4).
- Forecasting module 1004 can be configured to carry out any one or more steps shown in FIG. 18 .
- Placement module 1006 can be configured to carry out any one or more steps shown in FIG. 19 .
- aspects of the invention thus provide a method for characterizing the benefit from dynamic management of resources in a computer system based on parameters relating to performance and power management, as well as a method for characterizing the benefit from dynamic management of resources in a virtualized server environment based on time-series of resource utilization and/or properties of the virtualization infrastructure. Also provided is a method for characterizing the benefit from dynamic management of resources in a virtualized server environment with p-percentile tolerance for resource overflow based on the mean of resource demand, P-percentile of the resource demand, P-percentile of the demand prediction error, and/or time required to migrated virtual machines between physical hosts.
- a method for stochastic forecasting of power consumption in a computing system (e.g., virtualized server environment) for the purpose of power management, including one or more steps as shown in FIGS. 17-19 .
- the resource allocation can be modified to enhance and even optimize power consumption and performance. Prediction may involve, for example, computing and subtracting the seasonal components, and predicting the residual process using an autoregressive Moving Average process.
- a method for determining the benefit of modifying the virtualization infrastructure to decrease power consumption, accounting for statistical properties of resource demand, migration time required to move virtual machine from one physical host to another, variability of resource demand and quality of state-of-the art predictor for the demand, and/or migration time required to move virtual machine from one physical host to another.
- One or more embodiments of the invention, or elements thereof can be implemented in the form of a computer product including a computer usable medium with computer usable program code for performing the method steps indicated.
- one or more embodiments of the invention, or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps.
- the aforementioned modules 1002 , 1004 , and 1006 can be implemented, for example, in hardware, software, a combination thereof, as one or more processors running software in one or more memories, and so on.
- One or more embodiments can make use of software running on a general purpose computer or workstation.
- a general purpose computer or workstation With reference to FIG. 20 , such an implementation might employ, for example, a processor 2002 , a memory 2004 , and an input/output interface formed, for example, by a display 2006 and a keyboard 2008 .
- the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other forms of processing circuitry. Further, the term “processor” may refer to more than one individual processor.
- memory is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, diskette), a flash memory and the like.
- input/output interface is intended to include, for example, one or more mechanisms for inputting data to the processing unit (for example, mouse), and one or more mechanisms for providing results associated with the processing unit (for example, printer).
- the processor 2002 , memory 2004 , and input/output interface such as display 2006 and keyboard 2008 can be interconnected, for example, via bus 2010 as part of a data processing unit 2012 .
- Suitable interconnections can also be provided to a network interface 2014 , such as a network card, which can be provided to interface with a computer network, and to a media interface 2016 , such as a diskette or CD-ROM drive, which can be provided to interface with media 2018 .
- a network interface 2014 such as a network card
- a media interface 2016 such as a diskette or CD-ROM drive
- computer software including instructions or code for performing the methodologies of the invention, as described herein, may be stored in one or more of the associated memory devices (for example, ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (for example, into RAM) and executed by a CPU.
- Such software could include, but is not limited to, firmware, resident software, microcode, and the like.
- the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium (for example, media 2018 ) providing program code for use by or in connection with a computer or any instruction execution system.
- a computer usable or computer readable medium can be any apparatus for use by or in connection with the instruction execution system, apparatus, or device.
- the medium can store program code to execute one or more method steps set forth herein.
- the medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
- Examples of a computer-readable medium include a semiconductor or solid-state memory (for example memory 2004 ), magnetic tape, a removable computer diskette (for example media 2018 ), a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk.
- Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
- a data processing system suitable for storing and/or executing program code includes at least one processor 2002 coupled directly or indirectly to memory elements 2004 through a system bus 2010 .
- the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- I/O devices including but not limited to keyboards 2008 , displays 2006 , pointing devices, and the like
- I/O controllers can be coupled to the system either directly (such as via bus 2010 ) or through intervening I/O controllers (omitted for clarity).
- Network adapters such as network interface 2014 may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks.
- Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
Historical data is measured for a computer server system. Future demand for service in the computer server system is forecast based on the historical data, and the mapping of virtual machines to physical machines is updated based on the forecast of the future demand. Measurement, forecasting, and placement modules can be employed.
Description
This patent application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/939,151 filed on May 21, 2007, and entitled “Dynamic Placement of Virtual Machines for Managing SLA Violations.” The disclosure of the aforementioned Provisional Patent Application Ser. No. 60/939,151 is expressly incorporated herein by reference in its entirety for all purposes.
The present invention relates to the electrical, electronic and computer arts, and, more particularly, to efficient utilization of servers and the like.
The low average utilization of servers is a well known cost concern in data center management. Energy costs are rising, and low utilization translates into more physical machines, increasing expenditures for machine power and capital, as well as operational costs for cooling systems. Furthermore, excess machines require more floor space and added labor costs.
Low utilization has several causes. To guarantee good performance at periods of peak demand, processing capacity is over-provisioned for many enterprise applications. However, processor demand typically exhibits strong daily variability, leading to low average utilization. Another source of low utilization is the traditional deployment pattern of one application per operating system (OS) image and one OS image per unit of physical hardware. This paradigm is typically a consequence of ad-hoc deployment of new applications, as it guarantees application isolation and is very easy to implement.
Consolidation at the application and OS levels can mitigate inefficiencies in using physical resources. Application consolidation requires considerable skill to ensure isolation between co-hosted applications within an OS image. There are multiple aspects of isolation, such as security, resource contention, and co-sensitivity to patches and versions. An example of the latter is the case when updating one application may require an OS patch which is incompatible with a co-hosted application. Consolidation at the OS level avoids these compatibility issues and is generally the preferred approach for consolidating heterogeneous applications. Here, multiple OS images execute concurrently on a single physical platform, leveraging virtualization of the underlying hardware. Originally developed in the 1960's, as known from R. Creasy, The Origin of the VM/370 Time-Sharing System, IBM Journal of Research and Development, 1981; P. Gum. System/370 Extended Architecture: Facilities for Virtual Machines, IBM Journal of Research and Development, 1983; and R. Goldberg, Survey of Virtual Machine Research, in IEEE Computer Magazine, 1974, hardware and software virtualization support for commercial operating systems continues to mature on both x86 and RISC processing platforms, as set forth in IBM Corporation, Advanced POWER Virtualization on IBM System p5, http://www.redbooks.ibm.com/abstracts/sg247940.html, and evidenced by technologies such as VMware EMC, http://www.vmware.com, and Xen, now available from Citrix Systems, Inc., http://www.citrixxenserver.com/Pages/default.aspx. In a typical environment, a so-called “hypervisor” executes on a physical machine (PM) and presents an abstraction of the underlying hardware to multiple virtual machines (VMs). The hypervisors support lifecycle management functions for the hosted VM images, and increasingly facilitate both offline and live migration of the execution environment for the VM, as known from the aforementioned VMware and Xen technologies.
Server consolidation can be static or dynamic. In static consolidation, historical average resource utilizations are typically used as input to an algorithm that maps VMs to PMs. After initial static consolidation, the mapping may not be recomputed for long periods of time, such as several months, and is done off-line. In contrast, dynamic allocation is implemented on shorter timescales, preferably shorter than periods of significant variability of the resource demand. Dynamic allocation leverages the ability to conduct live migration of VMs. This concept is illustrated in FIG. 1 . Three physical machines 102, 104, 106 with a virtualization layer 118 are used to execute five virtual machines 108, 110, 112, 114, and 116. In the initial configuration, PM 3, numbered 106, can be in a low power state or powered down, because it is not hosting any VMs. In response to a demand change PM 3 is activated and VM 5, numbered 116, is migrated from PM 2, numbered 104, to PM 3. The initial position is denoted by solid lines while the position after migration is denoted with dotted lines. The migration occurs without service interruption.
Principles of the present invention provide techniques for dynamic placement of virtual machines for managing violations of service level agreements (SLAs). In one aspect, an exemplary method (which can be computer implemented) is provided for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping. The method includes the steps of measuring historical data for the computer server system, forecasting future demand for service in the computer server system based on the historical data, and updating the mapping of the virtual machines to the physical machines based on the forecasting of the future demand.
In another aspect, an exemplary apparatus is provided for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping. The apparatus includes a measurement module configured to measure historical data for the computer server system, a forecasting module configured to forecast future demand for service in the computer server system based on the historical data, and a placement module configured to update the mapping of the virtual machines to the physical machines based on the forecast of the future demand.
One or more embodiments of the invention or elements thereof can be implemented in the form of a computer program product including a computer usable medium with computer usable program code for performing the method steps indicated. Furthermore, one or more embodiments of the invention or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps. Yet further, in another aspect, one or more embodiments of the invention or elements thereof can be implemented in the form of means for carrying out one or more of the method steps described herein; the means can include hardware module(s), software module(s), or a combination of hardware and software modules. As used herein, “facilitating” an action includes performing the action, making the action easier, helping to carry the action out, or causing the action to be performed. Thus, by way of example and not limitation, instructions executing on one processor might facilitate an action carried out by instructions executing on a remote processor, by sending appropriate data or commands to cause or aid the action to be performed.
One or more embodiments of the invention may offer one or more technical benefits; for example, providing substantial improvement over static server consolidation in reducing the amount of required capacity and the rate of service level agreement violations. In one or more embodiments, benefits accrue for workloads that are variable and can be forecast over intervals shorter than the time scale of demand variability. Further, in one or more instances of the invention, the amount of physical capacity required to support a specified rate of SLA violations for a given workload may be reduced significantly (for example, by as much as 50%) as compared to a static consolidation approach. Yet further, in one or more embodiments, the rate of SLA violations at fixed capacity may be reduced significantly as well, for example, by up to 20%. The benefits of one or more embodiments of the invention may be realized in connection with a variety of operating systems, applications, and industries.
These and other features, aspects and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
One or more embodiments of the invention leverage consolidation based on server virtualization and image migration to address issues of low utilization of physical resources, and provide techniques for dynamic resource allocation in virtualized server environments, which, in one or more embodiments, reduce and even minimize the cost of running the data center. The cost has competing terms that penalize both (i) overcapacity (low utilization) and (ii) overloading, which causes poor application performance and violates contractual Service Level Agreements (SLAs). SLAs are typically expressed as CPU or response time guarantees. An SLA expressed as a response time for an enterprise process spanning multiple machines is translated into a CPU guarantee at each VM. An exemplary inventive method is based on measuring historical data, forecasting the future demand, and remapping VMs to PMs, and is subsequently referred to as Measure-Forecast-Remap (MFR). This sequence of steps is iterated at regular successive intervals denoted by τ. At each placement step, the minimum number of hosts required to support the VMs is computed, subject to a constraint on the probability of overloading the servers during the interval τ. One or more inventive techniques exploit periodic variability of the demand to achieve reduction in resource consumption.
For illustrative purposes, consider an example of a single PM for which the CPU capacity can be dynamically adjusted at time intervals of length τ. A single VM is placed on this PM. The goal is to dynamically adjust resource capacity of the PM to ensure that the probability of the VM demand exceeding capacity of the PM is no greater than p. The time series of the VM's CPU demand (Ui) up to time i0 is shown in FIG. 2 , while the solid line 302 of FIG. 3 is the probability distribution of Ui over this interval. In static allocation, the rate of CPU threshold violations is guaranteed to be less than 1−p by setting the capacity to Lp. In dynamic allocation, the capacity to be allocated for the next interval of length τ is predicted at time i0 based on a window of the historical demand prior to time i0. The forecast average demand in the next interval is denoted by Ūi 0 +τ. The distribution of error in the forecast, E(τ), depends on the length of prediction interval τ, and is shown in the dashed curve 304 of FIG. 3 . The p-percentile of the distribution of the forecast error is Ep(τ). In such case, allocate Ūi 0 +τ+Ep(τ) of capacity for the interval of interest. This provides a probabilistic guarantee of satisfying the actual demand with probability 1−p. It can be seen in FIG. 2 that the net capacity savings in this interval due to dynamic allocation is equal to Lp−Ūi 0 +τ−Ep(τ). As set forth below, this idea can be extended to multiple VMs and PMs.
Aspects of the invention include:
-
- a method for classification of workload signatures to identify those servers which benefit most from dynamic migration—an analytical formula disclosed herein can be used to classify virtual machines based on readily obtainable metrics.
- forecasting technique suited for handling time series of resource demands in a typical data center and capable of automatic adaptation to various dominating periodic patterns.
- management techniques, referred to as MFR, that dynamically remap VMs to PMs, reducing or minimizing the number of PMs required to support a workload at a specified rate of SLA violations, and that reduce the rate of SLA violations for a fixed capacity as compared with a static approach.
Server Workload Signatures that Benefit from Dynamic Placement
Aspects of the invention advantageously leverage the patterns of resource demand to provide statistical guarantees of service quality while reducing or minimizing the amount of consumed resources. There are several properties that make a workload suitable for dynamic management. Unless the workload exhibits significant variability there is typically no benefit in dynamic management. Furthermore, the timescale over which the resource demand varies should exceed the rebalancing interval τ so that remapping of VMs to PMs keeps pace with the demand changes. It is useful to state this condition in terms of the frequency or power spectrum representation of the demand. Thus, the frequency content of dynamically managed resource demand should be dominated by components at frequencies smaller than 1/τ. Finally, resource demand needs to be predictable on timescales of the rebalance period τ. That is, the error distribution of the predictor should be significantly “narrower” than the distribution of the demand (refer to the discussion of FIG. 3 ). A time series is predictable if, for example, it has a deterministic periodic component or it has a strong autocorrelation.
By studying a large number of traces from production servers, three main categories of behavior emerge, as illustrated in FIGS. 4-6 . Each figure contains four perspectives on the data; raw CPU demand time series, cumulative distribution of demand, autocorrelation function, and periodogram.
The data in FIG. 4 is strongly variable and has an autocorrelation of about 0.8 over a long range. However, the periodogram shows an absence of strong periodic behavior. This workload is an example of a good candidate for dynamic management. Large variability offers significant potential for optimization, while strong autocorrelation makes it possible to obtain a low-error predictor. FIG. 5 typifies the category of weak variability as evidenced by the rapid increase of the CDF. It also has a quickly decaying, autocorrelation function and no distinct periodic component. This workload is not likely to benefit from dynamic management. It exhibits low variability that makes it difficult to realize any gain. A quickly decaying autocorrelation function and lack of periodicity make it difficult to forecast demand. On the contrary, FIG. 6 shows the type of signal that benefits most from dynamic migration. It is characterized by strong variability and autocorrelation combined with periodic behavior.
The examples presented above provide insight to how the classification of VMs should be done. However, it is advantageous to provide a way of quickly deciding whether a given VM is a good candidate for dynamic management. The following passages present an approximate gain formula that quantifies a relative gain from using dynamic management, assuming that capacity may be adjusted in a fine-grained fashion based on the requirements, e.g., such as increasing the fraction of a physical CPU assigned to a given logical partition on a machine such as an “IBM pSeries” machine available form International Business Machines Corporation of Armonk, N.Y.
As above, the reallocation interval is τ, the demand probability density is u(x), p-percentile of distribution u is Lp, distribution of predicted time series (with prediction horizon of τ) is ūτ(x), and p-percentile of distribution of predictor error is Ep(τ). The gain G(τ) is the ratio of the time-averaged dynamically adjusted capacity to the statically allocated capacity with the same target overflow percentile p.
The expression Lp−(x+Ep(τ)) represents the capacity saving for a given capacity allocation x. The capacity saving is weighted with, ūτ(x), the probability of being at this particular capacity level. Equation (1) simplifies to:
A closed form expression for G(τ) in terms of known quantities can be obtained from the following approximation:
In other words, the mean of the predictor is the same as the mean of the underlying distribution because the predictor is unbiased, i.e., the distribution of prediction error has a mean of zero. Note, that Equation (3) is exact when the time series is generated by a linear filter applied to a white noise process (the skilled artisan will be familiar with background information in G. Jenkins, G. Reinsel, and G. Box, Time Series Analysis: Forecasting and Control, Prentice Hall, 1994 (“Jenkins”)).
This leads to the approximation formula:
The inputs required to evaluate Formula (4) are readily available. The mean and p-percentile of the demand distributions are computed empirically from the demand history, while the error distribution is provided by the forecasting techniques (described in a greater detail below). Result (4) is used to decide how much a given virtual machine can gain from dynamic management. In particular, VMs can be categorized as predictable or unpredictable based on the value of Formula (4). Note that by multiplying Formula (4) by Lp the absolute value of the gain from dynamic management is obtained.
Forecasting
An accurate forecast methodology that estimates the resource demand based on the observed history is advantageous in efficiently executing the trade-off between optimal resource usage and the penalties associated with SLA violations in a dynamic system, such as a data center. For each resource of interest (such as CPU or memory) the historical usage data is analyzed and a predictor is built that forecasts the probability distribution of demand in a future observation interval. The predictor can be used to forecast values for multiple intervals ahead. However, of course, the quality of prediction usually decreases with longer prediction horizons.
Known forecasting techniques from Jenkins can be adapted for application with embodiments of the invention, given the teachings herein. Any particular application, however, is influenced by the type of data encountered. The properties of the traces used here are shown in FIGS. 4-6 and explained above.
The periodograms of FIGS. 4-6 show that the CPU demand contains one or more periodic components (such as 24-hour in FIG. 6 ). In one or more embodiments of the invention, the demand time series Ui is decomposed into a sum of periodic components Dj such that Di+n*p j j=Di j where n is an integer and pj is a period. Specifically,
where ri is the residual component of the demand. The skilled artisan will be familiar with decomposing time series into periodic components and residuals in connection with the request arrival rate of a web server, as done by D. Shen and J. Hellerstein, Predictive Models for Proactive Network Management: Application to a Production Web Server, in Proceedings of the IEEE/IFIP Network Operations and Management Symposium, 2000 (“Shen and Hellerstein”). Shen and Hellerstein's work assumes daily and weekly variations, while in one or more embodiments of the invention, offline analysis of the periodogram is used to identify the key components, inasmuch as in one or more scenarios suitable for applications of inventive techniques, periodic intervals other than daily or weekly have been observed, for example
In order to remove periodic components, according to an aspect of the invention, first smooth the time series using a low-pass filter (i.e., a filter with a time constant longer than the period of interest). The smoothed time series is then subdivided into contiguous intervals of length pj over a learning history. The intervals are averaged together to form Di j. The residuals are then found by subtracting the Di j from the Ui according to Equation (5).
Now that the periodic components are decoupled from the data, the residuals ri are modeled using a class of autoregressive (AR) processes. The skilled artisan will be familiar with such processes per se, for example, from Jenkins, and, given the teachings herein, can adapt them for use with embodiment(s) of the invention. In particular, some instances of the invention use AR(2), which assumes two autoregressive components. It has been demonstrated in the literature that lag 2 is sufficient in most of the cases.
In one or more embodiments, the model is the following:
r i=α1 r i−1+α2 r i−2+εi (6)
r i=α1 r i−1+α2 r i−2+εi (6)
-
- for i=0, 1, . . .
where εi are the error terms. This model contains two parameters (α1,α2) that are estimated from the data. One non-limiting example of an appropriate technique to carry this out is given by Jenkins. The parameters α1 and α2 are preferably chosen to minimize mean squared error between the forecast ri and the observed time series data. In practice, a ‘learning’ period of the time series can be used to initially compute α.
A prediction error can be tracked, and when it increases, the parameters Di js and αs can be recomputed, thus adapting to long term changes in demand patterns. In some instances, the estimated model can be used to make predictions of future demand in a standard fashion. Given the teachings herein, the skilled artisan, familiar with Jenkins, can adapt the techniques of Jenkins to make such predictions. Prediction error can be computed empirically and represented using a Gaussian variable having mean μ and variance σ2. The joint distribution in prediction error arising from multiple VMs placed together on each PM can be computed assuming statistical independence, inasmuch as the periodic behavior, which is responsible for most of the correlation, has been removed from the time series. The resulting distribution of prediction error can be used in exemplary management techniques of the invention, discussed below, to bound the probability of overload.
As a non-limiting example, FIGS. 7-9 show the results of applying the prediction techniques to the time series of FIGS. 4-6 , respectively. Each figure shows the probability distribution of CPU demand (which is equivalent to CDFs shown in FIGS. 4-6 ) in the top plot, and the distribution of prediction error in the bottom plot. A significant factor in achieving a gain from dynamic management is the width of the predictor's error distribution being less than the width of the total demand distribution. See also the discussion of FIGS. 2 and 3 and Equation (4) and text proximate thereto. In discussing the data of FIG. 4 (corresponding to FIG. 7 ), it was noted that because of its strong variability and autocorrelation it would be a good candidate for dynamic migration. This is justified by the fact that the predictor's error distribution is much narrower than the demand distribution, as seen in FIG. 7 . A similar observation applies to FIGS. 6 and 9 , but not to FIGS. 5 and 8 . It is now possible to apply the analytical gain formula discussed above. The table below compares the results of the analytical formula with the results of simulations.
Configuration | Value of | Simulation | Relative | |
from | Equation (4) | result | error | |
FIG. 7 | 0.19 | 0.21 | 0.09 | |
FIG. 8 | −0.02 | −0.02 | 0.00 | |
FIG. 9 | 0.32 | 0.33 | 0.03 | |
Management Techniques
A significant management objective is to minimize the time-averaged number of active physical servers hosting virtual machines, subject to the constraint that the rate of demand overloading the resource capacity is bounded by a specified threshold p (i.e., related to an SLA agreement). For example, an SLA may require that p=0.05, which means that the demand exceeds the capacity in no more than 5% of measurement intervals. This is achieved, in one or more embodiments, by the dynamic remapping of VMs to PMs at each update interval R. Machines that are not assigned VMs are put in an off- or low-power-state, depending on capability of the particular type of server (a non-limiting example of which is the so-called “blade server”). Servers are reactivated when required by the forecasting and placement techniques. The minimum data collection interval and forecast window used in this non-limiting example is 15 minutes. It is to be emphasized that different windows may be appropriate in other circumstances, depending on factors such as the granularity of measurement data, time and cost to migrate virtual machines, disruption to operation introduced by migration, policies, and the like.
In some instances, a simplifying assumption can be made that VM migration and PM activation occur at shorter timescales.
Consider now the remapping techniques according to the constraints described above. The mapping problem is a version of a bin packing problem and is NP hard, thus an efficient heuristic is advantageously derived according to one or more aspects of the invention, based on a first-fit approximation. The skilled artisan is familiar with the term “NP hard,” which means the exact solution cannot be computed in a time that is a polynomial function of the size of the problem (in this number of machines), i.e., it takes too long to compute the exact solution.
Consider a hosting environment of N VMs and M PMs, each PM having capacity Cm. The remapping interval (i.e., the time between two successive reallocation actions) is denoted by R and expressed in terms of discrete units of measurement intervals. The resource demand time series of the nth VM is Ui n, with i being the time index. The distribution of demand corresponding to time series Ui n is un(x), and ƒi,k n is the forecast demand k units ahead of the current time i for VM n. As discussed above, the prediction error of each VM is approximated as a Gaussian distribution with mean μn and variance σn 2. Note that μn≈0 because the predictor is unbiased. The capacity needed to guarantee an error rate less than p for this Gaussian is cp(μ,σ2). It is computed from the well known error function of a normal distribution, erƒ(x). The notation is summarized in the table of FIG. 11 .
Simulation Studies
Purely for purposes of illustration and not limitation, simulation studies are presented, based on simulations driven by traces gathered from hundreds of production servers running multiple operating systems (e.g., AIX® (registered mark of International Business Machines), Linux, Microsoft Windows® (registered mark of Microsoft Corporation)) and a broad variety of applications (e.g., databases, file servers, mail servers, application servers, web servers, and so on). The traces contain data for CPU, memory, storage, and network utilization with a 15-minute sampling frequency; however the non-limiting example herein focuses on CPU utilization. The absolute gain formula (derived above) is used to identify the traces that can benefit from dynamic management.
The simulation studies:
-
- verify that the MFR meets SLA targets;
- quantify the reduction in number of SLA violations and the number of PMs used to support a workload;
- explore the relationship between the remapping interval and the gain from dynamic management; and
- perform measurements on the VMWare ESX testbed (available from VMWare Inc. of PaloAlto, Calif., USA, http://www.vmware.com/ to determine properties of a practical virtualization infrastructure with respect to migration of VMs.
This experiment shows that the MFR algorithm meets the SLA objective for four values of overflow target (0.10, 0.07, 0.04 and 0.01). For a given p a set of 10 simulations is executed, each using a combination of 10 VM's selected at random from the set of production traces. The minimum, maximum, and average rate of overload violations are computed based on the 10 runs. The results are presented in the table below (a comparison of target overflow percentile (p) with the simulation results averaged over the test configurations). The results show that the technique meets or exceeds its targets.
Target | Observed rate of overflows |
p | Min | Average | Max | |
0.10 | 0.02 | 0.03 | 0.04 | |
0.07 | 0.02 | 0.03 | 0.03 | |
0.04 | 0.01 | 0.02 | 0.03 | |
0.01 | 0.00 | 0.01 | 0.01 | |
MFR generally outperforms static consolidation as measured by the rate of SLA violations at a fixed number of PMs. FIG. 13 shows a typical result obtained by applying MFR and static allocation to map a single set of 25 VMs onto a set of PMs. The number of available PMs is varied from 5 to 8, and the length of the forecast/migration interval is equal to that of the measurement interval (15 minutes). The rate of capacity overflows is reduced tip to 20% at 6 PMs. Note that the curves are expected to converge in the limiting cases of large and small numbers of PMs. At large numbers of PMs overcapacity drives the overload rate to zero, while at small numbers the MFR can no longer compensate for lack of capacity by dynamic moves.
The next set of experiments, presented for illustrative purposes, explore how MFR behaves for longer remapping intervals. FIG. 16 is a simulation study of the relationship between the lengths of the remapping interval (τ) and the time-averaged number of used PMs. The horizontal axis represents a range of τ of 10 hours in 15-minutes measurement intervals. As the length of the remapping interval increases, the number of required PMs to support the workload with unchanged SLA guarantees increases. This is partially because the quality of the predictor decreases with the length of the prediction horizon, but also because the forecast is inherently conservative in that it sums the maximum of die forecast demand over R intervals for each VM independently. This exceeds the result if the forecasts were combined first prior to taking the maximum.
To quantify the time needed to migrate a VM, a series of experiments were performed. The testbed included three IBM Blade servers with VMWare ESX 2.5, available from VMware Inc. as discussed above. SDK, provided by VMWare, was used to programmatically execute the migrations. The VM's CPU utilization was varied while performing migrations. The migration time was found to be almost independent of the CPU utilization. The average VM migration time from source PM to target PM was 49.7 seconds. However, the machine remains active on the source PM until the final transfer of the state, which occurs within the last milliseconds of the migration.
Note that one of the mechanisms for resource allocation, useful in connection with one or more embodiments of the invention, is virtual machine migration, which allows for reallocation of an executing operating system between two physical machines without significant interruption (i.e., disruption of service on the order of milliseconds during the last phase of migration). An example of a technique that can be used to migrate VMs efficiently is described in C. Clark, K. Fraser, A. Hand, J. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield, Live Migration of Virtual Machines, in Proceedings of the Symposium on Networked Systems Design and Implementation, 2005.
By way of review, an exemplary management technique for dynamic allocation of virtual machines to physical servers is presented. The exemplary management technique pro-actively adapts to demand changes and migrates virtual machines between physical hosts, thus providing probabilistic SLA guarantees. Time series forecasting techniques and a bin packing heuristic are combined to minimize the number of physical machines required to support a workload. An exemplary method for characterizing the gain that a given virtual machine can achieve from dynamic migration is also presented. Experimental studies of the exemplary management technique and its applicability using traces from production data centers are shown. The exemplary management technique achieves significant reduction in resource consumption (up to 50% as compared to the static allocation) and also reduces the number of SLA violations. It is to be emphasized that the data presented herein is of an exemplary, non-limiting nature, and other instances of the invention may obtain different results.
In view of the above discussion, and with reference to the flow chart 1700 of FIG. 17 , an exemplary method (which can be computer-implemented) is described for managing service capacity in a computer server system 1008 having a plurality of physical machines 102, 104, 106 and a plurality of virtual machines 108, 110, 112, 114, 116 mapped to the plurality of physical machines according to an initial mapping. After starting at block 1702, the method includes measuring historical data for the computer server system, at block 1706 (optional step 1704 is discussed below). Step 1708 includes forecasting future demand for service in the computer server system based on the historical data. Step 1710 includes updating the mapping of the virtual machines to the physical machines based on the forecasting of the future demand. An additional step 1712 can include iterating the measuring, forecasting, and updating steps at regular successive time intervals, τ. Note that this terminology is also intended to encompass substantially continuous monitoring or measurement in block 1706.
In some instances, the demand is forecast in terms of a required number of the virtual machines, and the updating step 1710 includes determining a minimum number of the physical machines required to support the required number of virtual machines, subject to a constraint on a probability of overloading the physical machines during a given one of the successive time intervals, τ.
As noted, an optional step 1704 may be included, wherein it is determined whether a given one of the virtual machines may benefit from dynamic management. This can be done, for example, by applying formula (4) above.
With reference to the flow chart 1800 of FIG. 18 , in some instances, the demand forecasting step 1708 can include obtaining a demand time series Ui, as shown at block 1802. As at block 1803, the demand time series is decomposed into a sum of periodic components and residuals, while block 1812 includes modeling the residuals using an autoregressive process.
The residuals can be modeled as described above. The decomposing step 1803 can include smoothing the time series Ui by low-pass filtering to obtain a smoothed time series, as at block 1804, as well as subdividing the smoothed time series into contiguous intervals over a learning history, as at block 1806. At block 1808, the intervals can be averaged to form average values, and at block 1810, the average values can be subtracted from corresponding values of the time series to obtain values of the residual terms ri−1 and ri−2.
Giving attention now to flow chart 1900 of FIG. 19 , in some instances the updating step 1710 includes sorting the virtual machines in descending order to obtain an ordered list, as at block 1902. At block 1904, remove each given one of the virtual machines from the ordered list and attempt to place each given one of the virtual machines on the physical machines, treating each of the physical machines as a target physical machine, in a sequential fashion. At block 1906, for each of the target physical machines, compute a distribution of a sum of resource demands of all of the virtual machines allocated to the target physical machine. At decision block 1908, compare a p-percentile of the distribution of the sum to a capacity of the target physical machine. As per the “YES” branch, if the p-percentile is no greater than the capacity, assign the given one of the virtual machines to the target physical machine, at block 1910.
Conversely, if decision block 1908 yields a “NO,” try any additional available physical machines, as at block 1912, where if there are more such machines available, steps 1904, 1906, and 1908 can be repeated. However, if no more machines are available, as per the “NO” branch of block 1912, then none of the target physical machines satisfy the condition that the p-percentile is no greater than the capacity. In such a case, as at block 1914, assign the given one of the virtual machines to one of the target physical machines having a smallest difference between the p-percentile of the distribution of the sum and the capacity of the one of the target physical machines.
By way of review, with regard to FIG. 10 , an exemplary apparatus 1000 is provided for managing service capacity in a computer server system 1008 having a plurality of physical machines 102, 104, 106 and a plurality of virtual machines 108, 110, 112, 114, 116 mapped to the plurality of physical machines according to an initial mapping (for example, in the absence of initial load data, virtual machines could be equally apportioned across physical machines.). Apparatus 1000 includes measurement module 1002 configured to measure historical data for the computer server system 1008; forecasting module 1004 configured to forecast future demand for service in the computer server system 1008, based on the historical data; and placement module 1006 configured to update the mapping of the virtual machines to the physical machines based on the forecast of the future demand. The modules 1002, 1004, 1006 may be cooperatively configured to iterate the measurement, forecast, and update at regular successive time intervals, τ, and to carry out one or more other method steps set forth herein.
Demand can be forecast in terms of a required number of the virtual machines 108, 110, 112, 114, 116 and placement module 1006 may be configured to update the mapping by determining a minimum number of the physical machines required to support the required number of virtual machines, subject to a constraint on a probability of overloading the physical machines during a given one of the successive time intervals, τ. Placement module 1006 may also be configured to determine whether a given one of the virtual machines may benefit from dynamic management; for example, by applying equation (4).
Aspects of the invention thus provide a method for characterizing the benefit from dynamic management of resources in a computer system based on parameters relating to performance and power management, as well as a method for characterizing the benefit from dynamic management of resources in a virtualized server environment based on time-series of resource utilization and/or properties of the virtualization infrastructure. Also provided is a method for characterizing the benefit from dynamic management of resources in a virtualized server environment with p-percentile tolerance for resource overflow based on the mean of resource demand, P-percentile of the resource demand, P-percentile of the demand prediction error, and/or time required to migrated virtual machines between physical hosts.
In other aspects, a method is provided for stochastic forecasting of power consumption in a computing system (e.g., virtualized server environment) for the purpose of power management, including one or more steps as shown in FIGS. 17-19 . The resource allocation can be modified to enhance and even optimize power consumption and performance. Prediction may involve, for example, computing and subtracting the seasonal components, and predicting the residual process using an Autoregressive Moving Average process.
In a still further aspect, a method is provided for determining the benefit of modifying the virtualization infrastructure to decrease power consumption, accounting for statistical properties of resource demand, migration time required to move virtual machine from one physical host to another, variability of resource demand and quality of state-of-the art predictor for the demand, and/or migration time required to move virtual machine from one physical host to another.
Exemplary System and Article of Manufacture Details
A variety of techniques, utilizing dedicated hardware, general purpose processors, firmware, software, or a combination of the foregoing may be employed to implement the present invention or components thereof. One or more embodiments of the invention, or elements thereof, can be implemented in the form of a computer product including a computer usable medium with computer usable program code for performing the method steps indicated. Furthermore, one or more embodiments of the invention, or elements thereof, can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps. The aforementioned modules 1002, 1004, and 1006 can be implemented, for example, in hardware, software, a combination thereof, as one or more processors running software in one or more memories, and so on.
One or more embodiments can make use of software running on a general purpose computer or workstation. With reference to FIG. 20 , such an implementation might employ, for example, a processor 2002, a memory 2004, and an input/output interface formed, for example, by a display 2006 and a keyboard 2008. The term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other forms of processing circuitry. Further, the term “processor” may refer to more than one individual processor. The term “memory” is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, diskette), a flash memory and the like. In addition, the phrase “input/output interface” as used herein, is intended to include, for example, one or more mechanisms for inputting data to the processing unit (for example, mouse), and one or more mechanisms for providing results associated with the processing unit (for example, printer). The processor 2002, memory 2004, and input/output interface such as display 2006 and keyboard 2008 can be interconnected, for example, via bus 2010 as part of a data processing unit 2012. Suitable interconnections, for example via bus 2010, can also be provided to a network interface 2014, such as a network card, which can be provided to interface with a computer network, and to a media interface 2016, such as a diskette or CD-ROM drive, which can be provided to interface with media 2018.
Accordingly, computer software including instructions or code for performing the methodologies of the invention, as described herein, may be stored in one or more of the associated memory devices (for example, ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (for example, into RAM) and executed by a CPU. Such software could include, but is not limited to, firmware, resident software, microcode, and the like.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium (for example, media 2018) providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer usable or computer readable medium can be any apparatus for use by or in connection with the instruction execution system, apparatus, or device. The medium can store program code to execute one or more method steps set forth herein.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid-state memory (for example memory 2004), magnetic tape, a removable computer diskette (for example media 2018), a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code includes at least one processor 2002 coupled directly or indirectly to memory elements 2004 through a system bus 2010. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards 2008, displays 2006, pointing devices, and the like) can be coupled to the system either directly (such as via bus 2010) or through intervening I/O controllers (omitted for clarity).
Network adapters such as network interface 2014 may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
In any case, it should be understood that the components illustrated herein may be implemented in various forms of hardware, software, or combinations thereof; for example, application specific integrated circuit(s) (ASICS), functional circuitry, one or more appropriately programmed general purpose digital computers with associated memory, and the like. Given the teachings of the invention provided herein, one of ordinary skill in the related art will be able to contemplate other implementations of the components of the invention.
It will be appreciated and should be understood that the exemplary embodiments of the invention described above can be implemented in a number of different fashions. Given the teachings of the invention provided herein, one of ordinary skill in the related art will be able to contemplate other implementations of the invention. Indeed, although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.
Claims (18)
1. A computer-implemented method for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to said plurality of physical machines according to an initial mapping, said method comprising the steps of:
measuring historical data for said computer server system;
forecasting future demand for service in said computer server system based on said historical data, wherein said future demand is forecast in terms of a required number of said virtual machines;
updating said mapping of said virtual machines to said physical machines based on said forecasting of said future demand, wherein said updating step comprises determining a minimum number of said physical machines required to support said required number of virtual machines, subject to a constraint on a probability of overloading said physical machines during a given one of regular successive time intervals, τ; and
iterating said measuring, forecasting, and updating steps at said regular successive time intervals, τ.
2. The method of claim 1 , further comprising the additional step of determining whether a given one of said virtual machines may benefit from dynamic management.
3. The method of claim 2 , wherein said determining comprises applying the approximation formula:
G(τ)≈1−(E[U]+E p(τ))/L p, where:
G(τ)≈1−(E[U]+E p(τ))/L p, where:
G(τ) is an expected gain from said dynamic management;
Lp is p-percentile distribution of demand probability density;
Ep(τ) is p-percentile distribution of predictor error; and
E[U] is a mean of said predictor error.
4. The method of claim 1 , wherein said demand forecasting step comprises:
obtaining a demand time series Ui;
decomposing said demand time series into a sum of periodic components and residuals; and
modeling said residuals using an autoregressive process.
5. The method of claim 4 , wherein said residuals are modeled by:
r i=α1 r i−1+α2 r i−2+εi, for i=0, 1, . . . , and where:
r i=α1 r i−1+α2 r i−2+εi, for i=0, 1, . . . , and where:
εi are error terms; and
αi and α2 are estimated from data.
6. The method of claim 5 , wherein said decomposing step comprises:
smoothing said time series Ui by low-pass filtering to obtain a smoothed time series;
subdividing said smoothed time series into contiguous intervals over a learning history;
averaging said intervals to form average values; and
subtracting said average values from corresponding values of said time series to obtain values of said residual terms ri−1 and ri−2.
7. The method of claim 1 , wherein said updating step comprises:
sorting said virtual machines in descending order to obtain an ordered list;
removing each given one of said virtual machines from said ordered list and attempting to place each given one of said virtual machines on said physical machines, treating each of said physical machines as a target physical machine, in a sequential fashion;
for each of said target physical machines, computing a distribution of a sum of resource demands of all of said virtual machines allocated to said target physical machine;
comparing a p-percentile of said distribution of said sum to a capacity of said target physical machine; and
if said p-percentile is no greater than said capacity, assigning said given one of said virtual machines to said target physical machine.
8. The method of claim 1 , wherein said updating step comprises:
sorting said virtual machines in descending order to obtain an ordered list;
removing each given one of said virtual machines from said ordered list and attempting to place each given one of said virtual machines on said physical machines, treating each of said physical machines as a target physical machine, in a sequential fashion;
for each of said target physical machines, computing a distribution of a sum of resource demands of all of said virtual machines allocated to said target physical machine;
comparing a p-percentile of said distribution of said sum to a capacity of said target physical machine; and
if none of said target physical machines satisfy a condition that said p-percentile is no greater than said capacity, assigning said given one of said virtual machines to one of said target physical machines having a smallest difference between said p-percentile of said distribution of said sum and said capacity of said one of said target physical machines.
9. An apparatus for managing service capacity in a tangible computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping, said apparatus comprising:
a measurement module configured to measure historical data for the computer server system;
a forecasting module configured to forecast future demand for service in the computer server system based on said historical data, wherein said future demand is forecast in terms of a required number of said virtual machines;
a placement module configured to update said mapping of said virtual machines to the physical machines based on said forecast of said future demand by determining a minimum number of said physical machines required to support said required number of virtual machines, subject to a constraint on a probability of overloading said physical machines during a given one of regular successive time intervals, τ, wherein said modules are cooperatively configured to iterate said measurement, forecast and update at said regular successive time intervals, τ.
10. The apparatus of claim 9 , wherein said placement module is configured to determine whether a given one of said virtual machines may benefit from dynamic management.
11. The apparatus of claim 10 , wherein said placement module is configured to make said determination by applying the approximation formula:
G(τ)≈1−(E[U]+E p(τ))/L p, where:
G(τ)≈1−(E[U]+E p(τ))/L p, where:
G(τ) is an expected gain from said dynamic management;
Lp is p-percentile distribution of demand probability density;
Ep(τ) is p-percentile distribution of predictor error; and
E[U] is a mean of said predictor error.
12. The apparatus of claim 9 , wherein said forecasting module is configured to:
obtain a demand time series Ui;
decompose said demand time series into a sum of periodic components and residuals; and
model said residuals using an autoregressive process.
13. The apparatus of claim 12 , wherein said residuals are modeled by:
r i=α1 r i−1+α2 r i−2+εi, for i=0, 1, . . . , and where:
r i=α1 r i−1+α2 r i−2+εi, for i=0, 1, . . . , and where:
εi are error terms; and
α1 and α2 are estimated from data.
14. The apparatus of claim 13 , wherein said forecasting module is configured to decompose said demand time series by:
smoothing said time series Ui by low-pass filtering to obtain a smoothed time series;
subdividing said smoothed time series into contiguous intervals over a learning history;
averaging said intervals to form average values; and
subtracting said average values from corresponding values of said time series to obtain values of said residual terms ri−1 and ri−2.
15. The apparatus of claim 9 , wherein said placement module is configured to update said mapping by:
sorting said virtual machines in descending order to obtain an ordered list;
removing each given one of the virtual machines from said ordered list and attempting to place each given one of the virtual machines on the physical machines, treating each of the physical machines as a target physical machine, in a sequential fashion;
for each of the target physical machines, computing a distribution of a sum of resource demands of all of the virtual machines allocated to the target physical machine;
comparing a p-percentile of said distribution of said sum to a capacity of the target physical machine; and
if said p-percentile is no greater than said capacity, assigning the given one of the virtual machines to the target physical machine.
16. The apparatus of claim 9 , wherein said placement module is configured to update said mapping by:
sorting the virtual machines in descending order to obtain an ordered list;
removing each given one of the virtual machines from said ordered list and attempting to place each given one of the virtual machines on the physical machines, treating each of the physical machines as a target physical machine, in a sequential fashion;
for each of the target physical machines, computing a distribution of a sum of resource demands of all of the virtual machines allocated to the target physical machine;
comparing a p-percentile of said distribution of said sum to a capacity of the target physical machine; and
if none of the target physical machines satisfy a condition that said p-percentile is no greater than said capacity, assigning the given one of the virtual machines to one of the target physical machines having a smallest difference between said p-percentile of said distribution of said sum and said capacity of the one of the target physical machines.
17. An apparatus for managing service capacity in a tangible computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping, said apparatus comprising:
means for measuring historical data for the computer server system;
means for forecasting future demand for service in the computer server system based on said historical data, wherein said future demand is forecast in terms of a required number of said virtual machines;
means for updating said mapping of the virtual machines to the physical machines based on said forecast of said future demand by determining a minimum number of said physical machines required to support said required number of virtual machines, subject to a constraint on a probability of overloading said physical machines during a given one of regular successive time intervals, τ, wherein said means are cooperatively configured to iterate said measurement, forecast and update at said regular successive time intervals, τ.
18. A computer program product comprising a non-transitory computer usable readable recordable medium tangibly storing computer usable program code for managing service capacity in a computer server system having a plurality of physical machines and a plurality of virtual machines mapped to the plurality of physical machines according to an initial mapping, said computer program product including:
computer usable program code for measuring historical data for said computer server system;
computer usable program code for forecasting future demand for service in said computer server system based on said historical data, wherein said future demand is forecast in terms of a required number of said virtual machines;
computer usable program code for updating said mapping of said virtual machines to said physical machines based on said forecasting of said future demand by determining a minimum number of said physical machines required to support said required number of virtual machines, subject to a constraint on a probability of overloading said physical machines during a given one of regular successive time intervals, τ; and
computer usable program code for iterating said measuring, forecasting, and updating steps at said regular successive time intervals, τ.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/043,260 US8291411B2 (en) | 2007-05-21 | 2008-03-06 | Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93915107P | 2007-05-21 | 2007-05-21 | |
US12/043,260 US8291411B2 (en) | 2007-05-21 | 2008-03-06 | Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080295096A1 US20080295096A1 (en) | 2008-11-27 |
US8291411B2 true US8291411B2 (en) | 2012-10-16 |
Family
ID=40073608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/043,260 Expired - Fee Related US8291411B2 (en) | 2007-05-21 | 2008-03-06 | Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) |
Country Status (1)
Country | Link |
---|---|
US (1) | US8291411B2 (en) |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210873A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Re-tasking a managed virtual machine image in a virtualization data processing system |
US20090300173A1 (en) * | 2008-02-29 | 2009-12-03 | Alexander Bakman | Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network |
US20090307597A1 (en) * | 2008-03-07 | 2009-12-10 | Alexander Bakman | Unified management platform in a computer network |
US20100251254A1 (en) * | 2009-03-30 | 2010-09-30 | Fujitsu Limited | Information processing apparatus, storage medium, and state output method |
US20110239215A1 (en) * | 2010-03-24 | 2011-09-29 | Fujitsu Limited | Virtual machine management apparatus |
US20110264805A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Policy-driven capacity management in resource provisioning environments |
US20120016990A1 (en) * | 2010-07-15 | 2012-01-19 | Bhaskar Jayaraman | System and method for managing computer applications running among computing systems based on their resource usage volatility |
US20120030349A1 (en) * | 2010-07-28 | 2012-02-02 | Fujitsu Limited | Control device, method and program for deploying virtual machine |
US20130041977A1 (en) * | 2011-08-11 | 2013-02-14 | Fujitsu Limited | Computer product, migration executing apparatus, and migration method |
US20130346969A1 (en) * | 2012-06-21 | 2013-12-26 | Vmware, Inc. | Opportunistically Proactive Resource Management Using Spare Capacity |
US20140019961A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and Method for Automated Assignment of Virtual Machines and Physical Machines to Hosts |
US20140019964A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and method for automated assignment of virtual machines and physical machines to hosts using interval analysis |
US20140019965A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing |
US8738972B1 (en) | 2011-02-04 | 2014-05-27 | Dell Software Inc. | Systems and methods for real-time monitoring of virtualized environments |
US20140192670A1 (en) * | 2011-12-02 | 2014-07-10 | Verizon Patent And Licensing Inc. | Intelligent connection manager |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9245246B2 (en) | 2010-04-22 | 2016-01-26 | International Business Machines Corporation | Capacity over-commit management in resource provisioning environments |
US20160098297A1 (en) * | 2013-06-14 | 2016-04-07 | Cirba Inc. | System and Method for Determining Capacity in Computer Environments Using Demand Profiles |
US20160162309A1 (en) * | 2009-04-10 | 2016-06-09 | Microsoft Technology Licensing, Llc | Virtual machine packing method using scarcity |
US20160162308A1 (en) * | 2013-08-26 | 2016-06-09 | International Business Machines Corporation | Deploying a virtual machine in a computing environment |
US9378044B1 (en) * | 2015-03-28 | 2016-06-28 | Vmware, Inc. | Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer |
US9391919B2 (en) | 2013-08-14 | 2016-07-12 | International Business Machines Corporation | Adaptive algorithm for cloud admission policies |
US9417923B2 (en) | 2013-12-17 | 2016-08-16 | International Business Machines Corporation | Optimization of workload placement |
US9495222B1 (en) | 2011-08-26 | 2016-11-15 | Dell Software Inc. | Systems and methods for performance indexing |
US9588815B1 (en) | 2015-06-17 | 2017-03-07 | EMC IP Holding Company LLC | Architecture for data collection and event management supporting automation in service provider cloud environments |
US9851726B2 (en) | 2013-09-04 | 2017-12-26 | Panduit Corp. | Thermal capacity management |
US9930115B1 (en) | 2014-12-18 | 2018-03-27 | EMC IP Holding Company LLC | Virtual network storage function layer comprising one or more virtual network storage function instances |
US9928100B2 (en) | 2015-06-23 | 2018-03-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US9935865B2 (en) | 2014-06-23 | 2018-04-03 | Infosys Limited | System and method for detecting and preventing service level agreement violation in a virtualized environment |
US9940393B2 (en) | 2015-06-03 | 2018-04-10 | International Business Machines Corporation | Electronic personal assistant privacy |
US20180121242A1 (en) * | 2015-09-30 | 2018-05-03 | Huawei Technologies Co., Ltd. | Computer and Quality of Service Control Method and Apparatus |
US10055307B2 (en) | 2015-06-30 | 2018-08-21 | Vmware, Inc. | Workflows for series of snapshots |
US20180246766A1 (en) * | 2016-09-02 | 2018-08-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and Methods of Managing Computational Resources |
US10168953B1 (en) | 2016-05-20 | 2019-01-01 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
US10356169B1 (en) | 2014-12-23 | 2019-07-16 | EMC IP Holding Company LLC | Virtual content delivery network |
US10361925B1 (en) | 2016-06-23 | 2019-07-23 | Nutanix, Inc. | Storage infrastructure scenario planning |
US10437624B2 (en) | 2014-06-10 | 2019-10-08 | Hewlett Packard Enterprise Development Lp | Service level based categorization of virtual machines |
US10445339B1 (en) | 2014-05-28 | 2019-10-15 | EMC IP Holding Company LLC | Distributed contextual analytics |
US10484301B1 (en) * | 2016-09-30 | 2019-11-19 | Nutanix, Inc. | Dynamic resource distribution using periodicity-aware predictive modeling |
US10505862B1 (en) * | 2015-02-18 | 2019-12-10 | Amazon Technologies, Inc. | Optimizing for infrastructure diversity constraints in resource placement |
US10621002B2 (en) * | 2014-02-28 | 2020-04-14 | Pivotal Software, Inc. | Iterative task centric resource scheduling for a user program between different computing frameworks |
US10620987B2 (en) | 2018-07-27 | 2020-04-14 | At&T Intellectual Property I, L.P. | Increasing blade utilization in a dynamic virtual environment |
US10691491B2 (en) | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
US10778601B1 (en) | 2014-12-23 | 2020-09-15 | EMC IP Holding Company LLC | Automated assurance analysis providing feedback to orchestration of resources in virtualization infrastructure |
US10902324B2 (en) | 2016-06-13 | 2021-01-26 | Nutanix, Inc. | Dynamic data snapshot management using predictive modeling |
US11520627B2 (en) * | 2019-03-03 | 2022-12-06 | British Telecommunications Public Limited Company | Risk-aware virtual machine scheduling |
US11715025B2 (en) | 2015-12-30 | 2023-08-01 | Nutanix, Inc. | Method for forecasting distributed resource utilization in a virtualization environment |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009037915A1 (en) * | 2007-09-18 | 2009-03-26 | Nec Corporation | Server recombination support system and server reassignment support method |
US8539098B2 (en) * | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
JP2009176033A (en) * | 2008-01-24 | 2009-08-06 | Hitachi Ltd | Storage system and power consumption reduction method for the same |
GB2476606B (en) | 2008-09-08 | 2012-08-08 | Virginia Tech Intell Prop | Systems, devices, and methods for managing energy usage |
JP2010108409A (en) * | 2008-10-31 | 2010-05-13 | Hitachi Ltd | Storage management method and management server |
US8214829B2 (en) | 2009-01-15 | 2012-07-03 | International Business Machines Corporation | Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost |
US8789043B2 (en) * | 2009-03-24 | 2014-07-22 | International Business Machines Corporation | Optimized placement planning for virtual machines in a network by breaking relocation graph into one or more cores to apply different solutions |
US9396042B2 (en) | 2009-04-17 | 2016-07-19 | Citrix Systems, Inc. | Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine |
US8291416B2 (en) * | 2009-04-17 | 2012-10-16 | Citrix Systems, Inc. | Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution |
US20100281478A1 (en) * | 2009-05-01 | 2010-11-04 | Microsoft Corporation | Multiphase virtual machine host capacity planning |
US8768976B2 (en) * | 2009-05-15 | 2014-07-01 | Apptio, Inc. | Operational-related data computation engine |
US9069730B2 (en) * | 2009-06-29 | 2015-06-30 | Hewlett-Packard Development Company, L. P. | Coordinated reliability management of virtual machines in a virtualized system |
US8832683B2 (en) * | 2009-11-30 | 2014-09-09 | Red Hat Israel, Ltd. | Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine |
US8327060B2 (en) * | 2009-11-30 | 2012-12-04 | Red Hat Israel, Ltd. | Mechanism for live migration of virtual machines with memory optimizations |
US8589921B2 (en) * | 2009-11-30 | 2013-11-19 | Red Hat Israel, Ltd. | Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm |
US8533711B2 (en) * | 2009-11-30 | 2013-09-10 | Red Hat Israel, Ltd. | Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount |
US8478451B2 (en) * | 2009-12-14 | 2013-07-02 | Intel Corporation | Method and apparatus for dynamically allocating power in a data center |
US8346934B2 (en) | 2010-01-05 | 2013-01-01 | Hitachi, Ltd. | Method for executing migration between virtual servers and server system used for the same |
US8402140B2 (en) * | 2010-01-13 | 2013-03-19 | Nec Laboratories America, Inc. | Methods and apparatus for coordinated energy management in virtualized data centers |
US9122538B2 (en) | 2010-02-22 | 2015-09-01 | Virtustream, Inc. | Methods and apparatus related to management of unit-based virtual resources within a data center environment |
US9027017B2 (en) | 2010-02-22 | 2015-05-05 | Virtustream, Inc. | Methods and apparatus for movement of virtual resources within a data center environment |
US8473959B2 (en) * | 2010-02-22 | 2013-06-25 | Virtustream, Inc. | Methods and apparatus related to migration of customer resources to virtual resources within a data center environment |
JP5585140B2 (en) * | 2010-03-18 | 2014-09-10 | 富士通株式会社 | Virtual computer system management program, management apparatus, and management method |
FR2959089B1 (en) * | 2010-04-16 | 2012-08-03 | Inst Nat Rech Inf Automat | COMPUTER RESOURCE AND INFRASTRUCTURE MANAGEMENT TOOL AND NETWORKS |
US8745633B2 (en) * | 2010-05-11 | 2014-06-03 | Lsi Corporation | System and method for managing resources in a partitioned computing system based on resource usage volatility |
US8224957B2 (en) * | 2010-05-20 | 2012-07-17 | International Business Machines Corporation | Migrating virtual machines among networked servers upon detection of degrading network link operation |
DE102010029209B4 (en) * | 2010-05-21 | 2014-06-18 | Offis E.V. | A method for dynamically distributing one or more services in a network of a plurality of computers |
US8423998B2 (en) | 2010-06-04 | 2013-04-16 | International Business Machines Corporation | System and method for virtual machine multiplexing for resource provisioning in compute clouds |
US8826292B2 (en) | 2010-08-06 | 2014-09-02 | Red Hat Israel, Ltd. | Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines |
US8380557B2 (en) * | 2010-08-27 | 2013-02-19 | Nec Laboratories America, Inc. | Multi-tenant database management for service level agreement (SLA) profit maximization |
US20120084445A1 (en) * | 2010-10-05 | 2012-04-05 | Brock Scott L | Automatic replication and migration of live virtual machines |
US8626902B2 (en) | 2010-12-03 | 2014-01-07 | International Business Machines Corporation | Modeling and reducing power consumption in large IT systems |
US8516495B2 (en) | 2010-12-09 | 2013-08-20 | International Business Machines Corporation | Domain management and integration in a virtualized computing environment |
US8745234B2 (en) * | 2010-12-23 | 2014-06-03 | Industrial Technology Research Institute | Method and manager physical machine for virtual machine consolidation |
US9250863B1 (en) * | 2010-12-28 | 2016-02-02 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9098214B1 (en) * | 2010-12-28 | 2015-08-04 | Amazon Technologies, Inc. | Managing virtual machine migration |
US8615579B1 (en) | 2010-12-28 | 2013-12-24 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9020830B2 (en) | 2011-03-08 | 2015-04-28 | Apptio, Inc. | Hierarchy based dependent object relationships |
US8601483B2 (en) * | 2011-03-22 | 2013-12-03 | International Business Machines Corporation | Forecasting based service for virtual machine reassignment in computing environment |
US8701107B2 (en) | 2011-06-14 | 2014-04-15 | Vmware, Inc. | Decentralized management of virtualized hosts |
US8856784B2 (en) * | 2011-06-14 | 2014-10-07 | Vmware, Inc. | Decentralized management of virtualized hosts |
US9026630B2 (en) | 2011-06-14 | 2015-05-05 | Vmware, Inc. | Managing resources in a distributed system using dynamic clusters |
CN103649910A (en) | 2011-07-11 | 2014-03-19 | 惠普发展公司,有限责任合伙企业 | Virtual machine placement |
EP2748705A4 (en) | 2011-08-25 | 2015-05-20 | Virtustream Inc | Systems and methods of host-aware resource management involving cluster-based resource pools |
US11568331B2 (en) | 2011-09-26 | 2023-01-31 | Open Text Corporation | Methods and systems for providing automated predictive analysis |
DE102012217202B4 (en) | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Method and system for optimizing the placement of virtual machines in cloud computing environments |
US9275050B2 (en) | 2011-10-24 | 2016-03-01 | Apptio, Inc. | Global dictionaries using universal primitives |
US8863141B2 (en) * | 2011-12-14 | 2014-10-14 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
US9055086B2 (en) * | 2011-12-28 | 2015-06-09 | Alcatel Lucent | System and method for managing data transfer from a data center including bandwidth limits and a flex parameter indicating bandwidth variation between data transfer periods |
US8739172B2 (en) * | 2012-01-16 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Generating a virtual machine placement plan for an identified seasonality of segments of an aggregated resource usage |
US8930542B2 (en) * | 2012-01-23 | 2015-01-06 | International Business Machines Corporation | Dynamically building a set of compute nodes to host the user's workload |
US20130201193A1 (en) | 2012-02-02 | 2013-08-08 | Apptio, Inc. | System and method for visualizing trace of costs across a graph of financial allocation rules |
US8862744B2 (en) * | 2012-02-14 | 2014-10-14 | Telefonaktiebolaget L M Ericsson (Publ) | Optimizing traffic load in a communications network |
US9092265B2 (en) * | 2012-02-26 | 2015-07-28 | Palo Alto Research Center Incorporated | Long-term resource provisioning with cascading allocations |
US8762525B2 (en) * | 2012-03-08 | 2014-06-24 | International Business Machines Corporation | Managing risk in resource over-committed systems |
TW201337766A (en) * | 2012-03-15 | 2013-09-16 | Hon Hai Prec Ind Co Ltd | System and method for integrating resources of virtual machines |
US9928107B1 (en) | 2012-03-30 | 2018-03-27 | Amazon Technologies, Inc. | Fast IP migration in a hybrid network environment |
US20130268940A1 (en) * | 2012-04-04 | 2013-10-10 | Daniel Juergen Gmach | Automating workload virtualization |
US20150150004A1 (en) * | 2012-04-30 | 2015-05-28 | Patrick Charles McGeer | Determining virtual machine placement |
KR101859115B1 (en) | 2012-06-18 | 2018-05-17 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | Virtual machine migration in a cloud fabric |
WO2013190649A1 (en) * | 2012-06-20 | 2013-12-27 | 富士通株式会社 | Information processing method and device related to virtual-disk migration |
JP6044131B2 (en) * | 2012-06-25 | 2016-12-14 | 富士通株式会社 | Program, management server, and virtual machine migration control method |
US9164791B2 (en) | 2012-07-02 | 2015-10-20 | International Business Machines Corporation | Hierarchical thresholds-based virtual machine configuration |
US9176762B2 (en) | 2012-07-02 | 2015-11-03 | International Business Machines Corporation | Hierarchical thresholds-based virtual machine configuration |
US10679131B2 (en) * | 2012-07-12 | 2020-06-09 | Eaton Intelligent Power Limited | System and method for efficient data collection in distributed sensor measurement systems |
US10127081B2 (en) | 2012-08-30 | 2018-11-13 | International Business Machines Corporation | Efficient resource management in a virtualized computing environment |
US9507612B1 (en) * | 2012-08-31 | 2016-11-29 | United Services Automobile Association (Usaa) | Managing dedicated and floating pool of virtual machines based on demand |
US9047111B2 (en) * | 2012-09-06 | 2015-06-02 | International Business Machines Corporation | Resource allocation in a virtualized computing environment |
JP6245175B2 (en) * | 2012-09-13 | 2017-12-13 | 日本電気株式会社 | Risk analysis apparatus, risk analysis method and program |
US9244718B2 (en) * | 2012-09-19 | 2016-01-26 | Nec Corporation | Virtual machine resource allocation based on connection time coverage exceeding a minimum threshold |
US9189260B2 (en) | 2012-09-27 | 2015-11-17 | International Business Machines Corporation | Resource allocation for virtual machines and logical partitions |
WO2014055486A1 (en) | 2012-10-01 | 2014-04-10 | Cooper Technologies Company | System and method for support of one-way endpoints in two-way wireless networks |
US20140136295A1 (en) * | 2012-11-13 | 2014-05-15 | Apptio, Inc. | Dynamic recommendations taken over time for reservations of information technology resources |
US20140278807A1 (en) * | 2013-03-15 | 2014-09-18 | Cloudamize, Inc. | Cloud service optimization for cost, performance and configuration |
US9183034B2 (en) * | 2013-05-16 | 2015-11-10 | Vmware, Inc. | Managing availability of virtual machines in cloud computing services |
US10417591B2 (en) | 2013-07-03 | 2019-09-17 | Apptio, Inc. | Recursive processing of object allocation rules |
US9218207B1 (en) * | 2013-07-09 | 2015-12-22 | Ca, Inc. | Configuring virtualization environments |
CN103455373A (en) * | 2013-09-18 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | Dynamic migration security framework of virtual machine |
US10325232B2 (en) | 2013-09-20 | 2019-06-18 | Apptio, Inc. | Allocating heritage information in data models |
US9870568B2 (en) * | 2013-11-19 | 2018-01-16 | Xerox Corporation | Methods and systems to price customized virtual machines |
US9495238B2 (en) | 2013-12-13 | 2016-11-15 | International Business Machines Corporation | Fractional reserve high availability using cloud command interception |
US9246840B2 (en) * | 2013-12-13 | 2016-01-26 | International Business Machines Corporation | Dynamically move heterogeneous cloud resources based on workload analysis |
US9699708B2 (en) | 2014-01-17 | 2017-07-04 | Cooper Technologies Company | Dynamically-selectable multi-modal modulation in wireless multihop networks |
US9686207B2 (en) * | 2014-01-29 | 2017-06-20 | Vmware, Inc. | Application service level objective aware demand estimation |
US11244364B2 (en) | 2014-02-13 | 2022-02-08 | Apptio, Inc. | Unified modeling of technology towers |
JP6323101B2 (en) * | 2014-03-20 | 2018-05-16 | 富士通株式会社 | Arrangement control program, method and apparatus |
US11489749B2 (en) * | 2018-06-06 | 2022-11-01 | Eino, Inc. | Mobile telecommunications network capacity simulation, prediction and planning |
US11909616B2 (en) * | 2014-04-08 | 2024-02-20 | Eino, Inc. | Mobile telecommunications network capacity simulation, prediction and planning |
US9606826B2 (en) * | 2014-08-21 | 2017-03-28 | International Business Machines Corporation | Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies |
CN105700955A (en) * | 2014-11-28 | 2016-06-22 | 英业达科技有限公司 | Resource allocation method for server system |
US10228958B1 (en) * | 2014-12-05 | 2019-03-12 | Quest Software Inc. | Systems and methods for archiving time-series data during high-demand intervals |
JP6495645B2 (en) * | 2014-12-19 | 2019-04-03 | 株式会社東芝 | Resource control apparatus, method, and program |
US9921866B2 (en) * | 2014-12-22 | 2018-03-20 | Intel Corporation | CPU overprovisioning and cloud compute workload scheduling mechanism |
US20160344597A1 (en) * | 2015-05-22 | 2016-11-24 | Microsoft Technology Licensing, Llc | Effectively operating and adjusting an infrastructure for supporting distributed applications |
US9350561B1 (en) | 2015-05-27 | 2016-05-24 | Apptio, Inc. | Visualizing the flow of resources in an allocation model |
US10228969B1 (en) * | 2015-06-25 | 2019-03-12 | Amazon Technologies, Inc. | Optimistic locking in virtual machine instance migration |
US10970110B1 (en) | 2015-06-25 | 2021-04-06 | Amazon Technologies, Inc. | Managed orchestration of virtual machine instance migration |
WO2017003496A1 (en) | 2015-06-30 | 2017-01-05 | Apptio, Inc. | Infrastructure benchmarking based on dynamic cost modeling |
US10268979B2 (en) | 2015-09-28 | 2019-04-23 | Apptio, Inc. | Intermediate resource allocation tracking in data models |
US10387815B2 (en) | 2015-09-29 | 2019-08-20 | Apptio, Inc. | Continuously variable resolution of resource allocation |
US20200034745A1 (en) * | 2015-10-19 | 2020-01-30 | Nutanix, Inc. | Time series analysis and forecasting using a distributed tournament selection process |
US9384511B1 (en) | 2015-12-16 | 2016-07-05 | Apptio, Inc. | Version control for resource allocation modeling |
US9529863B1 (en) | 2015-12-21 | 2016-12-27 | Apptio, Inc. | Normalizing ingested data sets based on fuzzy comparisons to known data sets |
US10726367B2 (en) | 2015-12-28 | 2020-07-28 | Apptio, Inc. | Resource allocation forecasting |
US10474974B2 (en) | 2016-09-08 | 2019-11-12 | Apptio, Inc. | Reciprocal models for resource allocation |
US10157083B2 (en) * | 2016-09-14 | 2018-12-18 | Microsoft Technology Licensing, Llc | Outage detection and compute resource protection in a computer service environment |
US10936978B2 (en) * | 2016-09-20 | 2021-03-02 | Apptio, Inc. | Models for visualizing resource allocation |
CN107025107A (en) * | 2016-10-24 | 2017-08-08 | 阿里巴巴集团控股有限公司 | The detection method and device of a kind of page reorientation circulation |
US10482407B2 (en) | 2016-11-14 | 2019-11-19 | Apptio, Inc. | Identifying resource allocation discrepancies |
WO2018099538A1 (en) | 2016-11-29 | 2018-06-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Distribution of resources among actor instances |
US10157356B2 (en) | 2016-12-14 | 2018-12-18 | Apptio, Inc. | Activity based resource allocation modeling |
US11206193B2 (en) * | 2017-11-09 | 2021-12-21 | Futurewei Technologies, Inc. | Method and system for provisioning resources in cloud computing |
EP3724760A1 (en) * | 2017-12-14 | 2020-10-21 | Telefonaktiebolaget LM Ericsson (publ.) | Dynamic adjustment of workload forecast |
US10324951B1 (en) | 2017-12-29 | 2019-06-18 | Apptio, Inc. | Tracking and viewing model changes based on time |
US11775552B2 (en) | 2017-12-29 | 2023-10-03 | Apptio, Inc. | Binding annotations to data objects |
US10268980B1 (en) | 2017-12-29 | 2019-04-23 | Apptio, Inc. | Report generation based on user responsibility |
CA3102846C (en) * | 2018-06-06 | 2023-04-04 | The Joan and Irwin Jacobs Technion-Cornell Institute | Telecommunications network traffic metrics evaluation and prediction |
US10956230B2 (en) * | 2018-10-01 | 2021-03-23 | Vmware, Inc. | Workload placement with forecast |
US11115478B2 (en) * | 2018-11-19 | 2021-09-07 | Citrix Systems, Inc. | Computer system and methods providing virtual computing session connections and re-directs based upon ordered list of virtual delivery agents |
US11704617B2 (en) * | 2019-06-20 | 2023-07-18 | Stripe, Inc. | Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems |
JP7514662B2 (en) * | 2020-06-17 | 2024-07-11 | 株式会社日立製作所 | Burstable instance recommendation device, method, and program |
US20230401103A1 (en) * | 2022-06-09 | 2023-12-14 | Microsoft Technology Licensing, Llc | System and method of dynamically adjusting virtual machines for a workload |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108712A1 (en) | 2003-11-14 | 2005-05-19 | Pawan Goyal | System and method for providing a scalable on demand hosting system |
US20050256759A1 (en) * | 2004-01-12 | 2005-11-17 | Manugistics, Inc. | Sales history decomposition |
US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
US20060184937A1 (en) | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US20060230407A1 (en) | 2005-04-07 | 2006-10-12 | International Business Machines Corporation | Method and apparatus for using virtual machine technology for managing parallel communicating applications |
US20060242647A1 (en) | 2005-04-21 | 2006-10-26 | Kimbrel Tracy J | Dynamic application placement under service and memory constraints |
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
-
2008
- 2008-03-06 US US12/043,260 patent/US8291411B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
US20050108712A1 (en) | 2003-11-14 | 2005-05-19 | Pawan Goyal | System and method for providing a scalable on demand hosting system |
US20050256759A1 (en) * | 2004-01-12 | 2005-11-17 | Manugistics, Inc. | Sales history decomposition |
US20060184937A1 (en) | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US20060230407A1 (en) | 2005-04-07 | 2006-10-12 | International Business Machines Corporation | Method and apparatus for using virtual machine technology for managing parallel communicating applications |
US20060242647A1 (en) | 2005-04-21 | 2006-10-26 | Kimbrel Tracy J | Dynamic application placement under service and memory constraints |
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
Non-Patent Citations (38)
Title |
---|
Abdelzaher et al., Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach, in Proceedings of the IEEE Transactions on Parallel and Distributed Systems, 2002. |
Almeida et al. Resource Management in the Autonomic Service-Oriented Architecture. [online] (Jun. 16, 2006). IEEE, pp. 84-92. Retrieved From the Internet . * |
Almeida et al. Resource Management in the Autonomic Service-Oriented Architecture. [online] (Jun. 16, 2006). IEEE, pp. 84-92. Retrieved From the Internet <http://ieeexplore.ieee.org/xpls/abs—all.jsp?arnumber=1662385>. * |
Alvarez et al., Minerva: An Automated Resource Provisioning Tool for Large-Scale Storage Systems, in Proc. of ACM Transactions on Computer Systems, 2001. |
Banga et al., Resource Containers: A New Facility for Resource Management in Server Systems. in Proceedings of the Symposium on Operating Systems Design and Implementation, 1999. |
Barham et al. Xen 2002. Technical Report UCAM-CL-TR-553, University of Cambridge, Computer Laboratory, 2003. |
Bin packing problem-Wikipedia, http://en.wikipedia.org/wiki/Bin-packing, pp. 1-3. Dec. 18, 2009. |
Chandra et al., Dynamic Resource Allocation for Shared Data Centers using Online Measurements. in Proceedings of the IEEE International Workshop on Quality of Service, 2003. |
Chase et al., Managing Energy and Server Resources in Hosting Centres. in Proceedings of the ACM Symposium on Operating Systems Principles, pp. 103-116, 2001. |
Clark et al., Live Migration of Virtual Machines, in Proceedings of the Symposium on Networked Systems Design and Implementation, 2005. |
Creasy et al., The Origin of the VM/370 Time-Sharing System. IBM Journal of Research and Development, 1981. |
Dragovic et al., Xen and the Art of Visualization. In Proceedings of the ACM Symposium on Operating Systems Principles, 2003. |
Faerman, M, et al "Adaptive Performance Prediction for Distributed Data Intensive Applications" Jan. 1999, Proceedings of the 1999 ACM/IEEE Conference on Supercomputing (COROM). |
Goel et al., Stochastic Load Balancing and Related Problems. in Proceedings of Annual Symposium on Foundations of Computer Science, 1999. |
Goldberg, Survey of Virtual Machine Research. in IEEE Computer Magazine, 1974. |
Govil et al., Cellular Disco: Resource Management using Virtual Management using Virtual Machines on Shared Memory Multiprocessors. in Proceedings of Symposium on Operating Systems Principles, 1999. |
Gum, System/370 Extendable Architecture: Facilities for Virtual Machines. IBM Journal of Research and Development, 1983. |
Huang et al., Multi-Dimensional Storage Virtualization. in Proceedings of Sigmetrics Performance Evaluation Review, 2004. |
Huang, Stonehenge: A High Performance Virtualized Storage Cluster with QoS Guarantee. Technical Report TR-138, ECSL, Computer Science Department, Suny Stony Brook, 2003. |
IBM Corporation. Advance POWER Virtualization on IBM System p5. http://www.redbooks.ibm.com/abstracts/sg247940.html, May 2008. |
IBM Corporation. SAN vol. Controller. http://www.ibm.com/servers/storage/software/virtualization/svc, 2009. |
Jeffrey S Chase, Darrell C Anderson, Prachi N Thakar, Amin Vandat, and Ronald P Doyle Managing Energy and Server Resources in Hosting Centres in Proceedings of the ACM Symposium on Operating Systems Principles, pp. 103{umlaut over (n)}116, 2001. |
Khanna et al., Dynamic Application Management to Address SLAs in a Virtualized Server Environment, in Proceedings of IEEE/IFIP Network Operations and Management Symposium, 2006. |
Kimbrel et al., Dynamic Application Placement under Service and Memory Constraints. in Proceedings of International Workshop on Efficient and Experimental Algorithms, 2005. |
Kimbrel et al., Minimizing Migration in Fair Multiprocessor Scheduling of Persistent Tasks. in Proceedings of Annual ACM-SIAM Symposium on Discrete Algorithms, 2004. |
Meiosys. http://www.meiosys.com, 2005. |
Pacifici et al., Performance Management for Cluster Based Web Services. in Proceedings of the IEEE/IFIP Symposium on Integrated Management, 2003. |
Rolia et al., Statistical Service Assurances for Applications in Utility Grid Environments. Performance Evaluation Journal, 58(2+3):319-339, 2004. |
Sapuntzakis et al., Optimizing the Migration of Virtual Computers. in Proceedings of the Symposium on Operating Systems Design and Implementation, 2002. |
Shahabuddin et al., Stream-Packing: Resource Allocation in Web Server Farms with a QoS Guarantee. Lecture Notes in Computer Science, 2001. |
Shen et al., Integrated Resource Management for Cluster-based Internet Services. in Proceedings of the USENIX Symposium on Operating Systems Design and Implementation, 2002. |
Shen et al., Predictive Models for Proactive Network Management: Application to a Production Web Server. in Proceedings of the IEEE/IFIP Network Operations and Management Symposium, 2000. |
Sugerman et al., Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor. in Proceedings of USENIX, 2001. |
Time Series-Wikipedia, http://en.wikipedia.org/wiki/Time-series-analysis, pp. 1-5, Dec. 16, 2009 |
Urgaonkar et al., Resource Overbooking and Application Profiling in Shared Hosting Platforms. in Proceedings of the Symposium on Operating Systems Design and Implementation, 2002. |
VMWare EMC. http://www.vmware.com, 2008. |
Waldspurger et al., Memory Resource Management in VMware ESX Server. in Proceedings of the Symposium on Operating Systems Design and Implementation, 2002. |
Xen. http://www.xensource.com, 2008. |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210873A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Re-tasking a managed virtual machine image in a virtualization data processing system |
US20090300173A1 (en) * | 2008-02-29 | 2009-12-03 | Alexander Bakman | Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network |
US8903983B2 (en) * | 2008-02-29 | 2014-12-02 | Dell Software Inc. | Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network |
US20090307597A1 (en) * | 2008-03-07 | 2009-12-10 | Alexander Bakman | Unified management platform in a computer network |
US8935701B2 (en) | 2008-03-07 | 2015-01-13 | Dell Software Inc. | Unified management platform in a computer network |
US20100251254A1 (en) * | 2009-03-30 | 2010-09-30 | Fujitsu Limited | Information processing apparatus, storage medium, and state output method |
US20160162309A1 (en) * | 2009-04-10 | 2016-06-09 | Microsoft Technology Licensing, Llc | Virtual machine packing method using scarcity |
US20110239215A1 (en) * | 2010-03-24 | 2011-09-29 | Fujitsu Limited | Virtual machine management apparatus |
US8839263B2 (en) * | 2010-03-24 | 2014-09-16 | Fujitsu Limited | Apparatus to manage virtual machine migration to a best fit server based on reserve capacity |
US20130019011A1 (en) * | 2010-04-22 | 2013-01-17 | International Business Machines | Policy-driven capacity management in resource provisioning environments |
US9245246B2 (en) | 2010-04-22 | 2016-01-26 | International Business Machines Corporation | Capacity over-commit management in resource provisioning environments |
US20110264805A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Policy-driven capacity management in resource provisioning environments |
US8732310B2 (en) * | 2010-04-22 | 2014-05-20 | International Business Machines Corporation | Policy-driven capacity management in resource provisioning environments |
US20120016990A1 (en) * | 2010-07-15 | 2012-01-19 | Bhaskar Jayaraman | System and method for managing computer applications running among computing systems based on their resource usage volatility |
US8745207B2 (en) * | 2010-07-15 | 2014-06-03 | Lsi Corporation | System and method for managing computer applications running among computing systems based on their resource usage volatility |
US20120030349A1 (en) * | 2010-07-28 | 2012-02-02 | Fujitsu Limited | Control device, method and program for deploying virtual machine |
US8694679B2 (en) * | 2010-07-28 | 2014-04-08 | Fujitsu Limited | Control device, method and program for deploying virtual machine |
US8738972B1 (en) | 2011-02-04 | 2014-05-27 | Dell Software Inc. | Systems and methods for real-time monitoring of virtualized environments |
US9183060B2 (en) * | 2011-08-11 | 2015-11-10 | Fujitsu Limited | Computer product, migration executing apparatus, and migration method |
US20130041977A1 (en) * | 2011-08-11 | 2013-02-14 | Fujitsu Limited | Computer product, migration executing apparatus, and migration method |
US9495222B1 (en) | 2011-08-26 | 2016-11-15 | Dell Software Inc. | Systems and methods for performance indexing |
US20140192670A1 (en) * | 2011-12-02 | 2014-07-10 | Verizon Patent And Licensing Inc. | Intelligent connection manager |
US9026595B2 (en) * | 2011-12-02 | 2015-05-05 | Verizon Patent And Licensing Inc. | Intelligent connection manager |
US8930948B2 (en) * | 2012-06-21 | 2015-01-06 | Vmware, Inc. | Opportunistically proactive resource management using spare capacity |
US20130346969A1 (en) * | 2012-06-21 | 2013-12-26 | Vmware, Inc. | Opportunistically Proactive Resource Management Using Spare Capacity |
US20140019964A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and method for automated assignment of virtual machines and physical machines to hosts using interval analysis |
US9152443B2 (en) * | 2012-07-13 | 2015-10-06 | Ca, Inc. | System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing |
US9043787B2 (en) * | 2012-07-13 | 2015-05-26 | Ca, Inc. | System and method for automated assignment of virtual machines and physical machines to hosts |
US20140019961A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and Method for Automated Assignment of Virtual Machines and Physical Machines to Hosts |
US20140019965A1 (en) * | 2012-07-13 | 2014-01-16 | Douglas M. Neuse | System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing |
US20160098297A1 (en) * | 2013-06-14 | 2016-04-07 | Cirba Inc. | System and Method for Determining Capacity in Computer Environments Using Demand Profiles |
US10491538B2 (en) | 2013-08-14 | 2019-11-26 | International Business Machines Corporation | Adaptive algorithm for cloud admission policies |
US9860190B2 (en) | 2013-08-14 | 2018-01-02 | International Business Machines Corporation | Adaptive algorithm for cloud admission policies |
US9391919B2 (en) | 2013-08-14 | 2016-07-12 | International Business Machines Corporation | Adaptive algorithm for cloud admission policies |
US9846590B2 (en) * | 2013-08-26 | 2017-12-19 | International Business Machines Corporation | Deploying a virtual machine in a computing environment |
US20160162308A1 (en) * | 2013-08-26 | 2016-06-09 | International Business Machines Corporation | Deploying a virtual machine in a computing environment |
US10303500B2 (en) * | 2013-08-26 | 2019-05-28 | International Business Machines Corporation | Deploying a virtual machine in a computing environment |
US10831517B2 (en) * | 2013-08-26 | 2020-11-10 | International Business Machines Corporation | Deploying a virtual machine in a computing environment |
US9851726B2 (en) | 2013-09-04 | 2017-12-26 | Panduit Corp. | Thermal capacity management |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9417923B2 (en) | 2013-12-17 | 2016-08-16 | International Business Machines Corporation | Optimization of workload placement |
US10102490B2 (en) | 2013-12-17 | 2018-10-16 | International Business Machines Corporation | Optimization of workload placement |
US10621002B2 (en) * | 2014-02-28 | 2020-04-14 | Pivotal Software, Inc. | Iterative task centric resource scheduling for a user program between different computing frameworks |
US10445339B1 (en) | 2014-05-28 | 2019-10-15 | EMC IP Holding Company LLC | Distributed contextual analytics |
US10437624B2 (en) | 2014-06-10 | 2019-10-08 | Hewlett Packard Enterprise Development Lp | Service level based categorization of virtual machines |
US9935865B2 (en) | 2014-06-23 | 2018-04-03 | Infosys Limited | System and method for detecting and preventing service level agreement violation in a virtualized environment |
US9930115B1 (en) | 2014-12-18 | 2018-03-27 | EMC IP Holding Company LLC | Virtual network storage function layer comprising one or more virtual network storage function instances |
US10778601B1 (en) | 2014-12-23 | 2020-09-15 | EMC IP Holding Company LLC | Automated assurance analysis providing feedback to orchestration of resources in virtualization infrastructure |
US10356169B1 (en) | 2014-12-23 | 2019-07-16 | EMC IP Holding Company LLC | Virtual content delivery network |
US10505862B1 (en) * | 2015-02-18 | 2019-12-10 | Amazon Technologies, Inc. | Optimizing for infrastructure diversity constraints in resource placement |
US9378044B1 (en) * | 2015-03-28 | 2016-06-28 | Vmware, Inc. | Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer |
US9940393B2 (en) | 2015-06-03 | 2018-04-10 | International Business Machines Corporation | Electronic personal assistant privacy |
US9588815B1 (en) | 2015-06-17 | 2017-03-07 | EMC IP Holding Company LLC | Architecture for data collection and event management supporting automation in service provider cloud environments |
US9946564B2 (en) | 2015-06-23 | 2018-04-17 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US9928100B2 (en) | 2015-06-23 | 2018-03-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US11455183B2 (en) | 2015-06-23 | 2022-09-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US10055307B2 (en) | 2015-06-30 | 2018-08-21 | Vmware, Inc. | Workflows for series of snapshots |
US10169089B2 (en) * | 2015-09-30 | 2019-01-01 | Huawei Technologies Co., Ltd. | Computer and quality of service control method and apparatus |
US20180121242A1 (en) * | 2015-09-30 | 2018-05-03 | Huawei Technologies Co., Ltd. | Computer and Quality of Service Control Method and Apparatus |
US11715025B2 (en) | 2015-12-30 | 2023-08-01 | Nutanix, Inc. | Method for forecasting distributed resource utilization in a virtualization environment |
US11586381B2 (en) | 2016-05-20 | 2023-02-21 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
US10168953B1 (en) | 2016-05-20 | 2019-01-01 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
US10902324B2 (en) | 2016-06-13 | 2021-01-26 | Nutanix, Inc. | Dynamic data snapshot management using predictive modeling |
US10361925B1 (en) | 2016-06-23 | 2019-07-23 | Nutanix, Inc. | Storage infrastructure scenario planning |
US10474505B2 (en) * | 2016-09-02 | 2019-11-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods of managing computational resources |
US20180246766A1 (en) * | 2016-09-02 | 2018-08-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and Methods of Managing Computational Resources |
US10484301B1 (en) * | 2016-09-30 | 2019-11-19 | Nutanix, Inc. | Dynamic resource distribution using periodicity-aware predictive modeling |
US10691491B2 (en) | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
US10620987B2 (en) | 2018-07-27 | 2020-04-14 | At&T Intellectual Property I, L.P. | Increasing blade utilization in a dynamic virtual environment |
US11275604B2 (en) | 2018-07-27 | 2022-03-15 | At&T Intellectual Property I, L.P. | Increasing blade utilization in a dynamic virtual environment |
US11625264B2 (en) | 2018-07-27 | 2023-04-11 | At&T Intellectual Property I, L.P. | Increasing blade utilization in a dynamic virtual environment |
US11520627B2 (en) * | 2019-03-03 | 2022-12-06 | British Telecommunications Public Limited Company | Risk-aware virtual machine scheduling |
Also Published As
Publication number | Publication date |
---|---|
US20080295096A1 (en) | 2008-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291411B2 (en) | Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) | |
Bobroff et al. | Dynamic placement of virtual machines for managing SLA violations | |
Witt et al. | Predictive performance modeling for distributed batch processing using black box monitoring and machine learning | |
Garg et al. | Energy and resource efficient workflow scheduling in a virtualized cloud environment | |
US9396008B2 (en) | System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts | |
US7552152B2 (en) | Risk-modulated proactive data migration for maximizing utility in storage systems | |
Hermenier et al. | Entropy: a consolidation manager for clusters | |
US10789102B2 (en) | Resource provisioning in computing systems | |
Gulati et al. | Vmware distributed resource management: Design, implementation, and lessons learned | |
US9043787B2 (en) | System and method for automated assignment of virtual machines and physical machines to hosts | |
US9471394B2 (en) | Feedback system for optimizing the allocation of resources in a data center | |
CN105843683B (en) | Method, system and apparatus for dynamically optimizing platform resource allocation | |
US20150161385A1 (en) | Memory Management Parameters Derived from System Modeling | |
Basireddy et al. | AdaMD: Adaptive mapping and DVFS for energy-efficient heterogeneous multicores | |
Kochut et al. | On strategies for dynamic resource management in virtualized server environments | |
US10198295B2 (en) | Mechanism for controlled server overallocation in a datacenter | |
US9547520B1 (en) | Virtual machine load balancing | |
Wang et al. | Research on virtual machine consolidation strategy based on combined prediction and energy-aware in cloud computing platform | |
Breitgand et al. | An adaptive utilization accelerator for virtualized environments | |
Omara et al. | Optimum resource allocation of database in cloud computing | |
RahimiZadeh et al. | Design and evaluation of a joint profit and interference-aware VMs consolidation in IaaS cloud datacenter | |
Mariani et al. | Design-space exploration and runtime resource management for multicores | |
US20110191094A1 (en) | System and method to evaluate and size relative system performance | |
CN111373374B (en) | Automatic diagonal scaling of workloads in a distributed computing environment | |
Hedwig et al. | Towards autonomic cost-aware allocation of cloud resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEATY, KIRK A.;BOBROFF, NORMAN;KOCHUT, ANDRZEJ;REEL/FRAME:020607/0950 Effective date: 20080305 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20161016 |