US8806487B2 - Calculating virtual machine resource utilization information - Google Patents
Calculating virtual machine resource utilization information Download PDFInfo
- Publication number
- US8806487B2 US8806487B2 US13/246,298 US201113246298A US8806487B2 US 8806487 B2 US8806487 B2 US 8806487B2 US 201113246298 A US201113246298 A US 201113246298A US 8806487 B2 US8806487 B2 US 8806487B2
- Authority
- US
- United States
- Prior art keywords
- model
- virtual
- resource
- server
- physical resource
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Definitions
- the present invention relates to estimating virtual machine resource utilization information, and more particularly, to estimating physical resource utilization information for individual virtual machines running on a server.
- VM resource utilization information is important for performing a variety of management tasks. For example, when provisioning resources, resource utilization information is used as the basis for sizing virtual machines. For overload management tasks, virtual machine resource utilization information is used to select virtual machines which are to be migrated to another server, as well as the target servers which are to receive the virtual machines. For power management tasks, virtual machine resource utilization information is used to consolidate virtual machines. As another example, for application management, performance modeling uses resource utilization information to build the relationship between application performance and resource demand.
- resource virtualization and multiplexing operations present a number of issues which make it difficult for information technology (IT) systems to obtain accurate virtual machine resource utilization information.
- IT information technology
- One particular problem relates to profiling physical resource utilization for individual virtual machines.
- V2P virtual-to-physical
- a system for estimating physical resource utilization information for virtual machines.
- the system includes a model which indicates how virtual resource activities are transformed into physical resource activities for each virtual machine running on a server.
- a run-time calibrator utilizes the model to estimate physical resource utilization information for each individual virtual machine on the server.
- a method for estimating physical resource utilization information for virtual machines.
- the method includes constructing a model which indicates the manner in which virtual resource activities are transformed into physical resource activities for each virtual machine running on a server.
- physical resource utilization information is estimated for each individual virtual machine on the server using the model
- At least one directed factor graph indicates how virtual resource activities are transformed into physical resource activities for each virtual machine running on a server.
- a run-time calibrator is configured to estimate physical resource utilization information for each individual virtual machine on the server and modify the at least one directed factor graph upon detecting certain changes.
- FIG. 1 is a block/flow diagram illustrating a system for estimating physical resource utilization information for individual virtual machines in accordance with an embodiment of the present principles.
- FIG. 2 is a directed factor graph illustrating dependencies among different resources across virtual and physical layers in accordance with an embodiment of the present principles.
- FIG. 3 is block/flow diagram illustrating a method for estimating physical resource utilization for individual virtual machines in accordance with an embodiment of the present principles.
- FIG. 4 is block/flow diagram illustrating a method for estimating physical CPU utilization for individual virtual machines in accordance with an embodiment of the present principles.
- a resource management scheme in a virtualized data center for calculating physical resource utilization information for individual virtual machines (VMs).
- VMs virtual machines
- Providing accurate estimations regarding resource utilization information is important for performing a variety of management tasks in a virtualized data center (e.g., resource provisioning, overload management, power management, application management, etc.).
- management tasks e.g., resource provisioning, overload management, power management, application management, etc.
- certain decisions may be based on the virtual machine resource utilization information (e.g., information indicating the usage of CPU, memory, network, disk, etc.).
- a base model (e.g., a directed factor graph) may be constructed which embodies the dependencies among resources across virtual and physical layers.
- a run-time calibration procedure estimates physical resource utilization information for individual virtual machines (referred to herein as “per-VM physical resource utilization information”).
- the information output by the calibration procedure indicates the quantity of physical resources consumed or utilized by each virtual machine running on a server.
- the information may indicate the physical utilization of the CPU (e.g., utilization in terms of CPU cycles), memory (e.g., utilization in memory size), network (e.g., utilization in traffic volume), or disk (e.g., utilization in disk I/O or network storage traffic) for each virtual machine running on a server.
- the calibration procedure can modify the base model to adapt to the dynamics of the system.
- the remodeling procedure may be triggered if certain conditions or criteria are satisfied. For example, in one embodiment, the per-VM physical resource utilization information for each of the individual virtual machines is summed together to provide an estimate of the overall physical resource utilization of a server. This estimated server resource utilization information is then compared to resource utilization information which was collected directly from the server. If the discrepancy between the two values is larger than a specified threshold, the remodeling procedure is triggered. In this manner, the system can adapt to the dynamics of the system.
- Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements.
- the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
- a computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device.
- the medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
- the medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.
- a data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus.
- 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 to reduce the number of times code is retrieved from bulk storage during execution.
- I/O devices including but not limited to keyboards, displays, pointing devices, etc. may be coupled to the system either directly or through intervening I/O controllers.
- Network adapters 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.
- FIG. 1 a block/flow diagram illustrates a system 100 for estimating physical resource utilization information for individual virtual machines in accordance with an embodiment of the present principles.
- the system 100 includes a server 110 running a plurality of virtual machines 112 .
- the run-time calibrator 130 includes a per-VM estimator 134 which generates calibrated data 150 indicating the physical resource utilization for each individual virtual machine 112 running on the server 110 .
- the run-time calibrator 130 uses resource utilization information 120 , which is collected from the virtual machines 112 and the host server 110 , as well as the directed factor graph (DFG) 140 to estimate or calculate the calibrated data 150 .
- DFG directed factor graph
- the DFG 140 utilized by the run-time calibrator 130 models the multivariate dependence relationships among different resources across virtual and physical layers.
- the DFG 140 indicates the signal transformation and aggregation processes associated with providing a virtual platform on top of a set of physical resources.
- the DFG 140 can indicate the manner in which virtual resource activities are transformed into physical resource activities for each virtual machine, and how the physical resource activities for each virtual machine are aggregated together to determine the total physical resource activities of the server 110 .
- the run-time calibrator 130 is able to analyze and utilize this information embodied in the DFG 140 to determine the physical resources which are consumed by each individual virtual machine 112 running on the server 110 .
- DFG 140 A more detailed description regarding the implementation of the DFG 140 is provided below with reference to FIG. 2 .
- the run-time calibrator 130 also receives resource utilization information 120 from the server 110 as an input.
- the resource utilization information 120 may include virtual resource monitoring information 122 and physical server resource utilization information 124 .
- the virtual resource monitoring information 122 represents data observable from within the virtual machines 112 by the guest operating systems of the virtual machines 112 .
- the virtual resource monitoring information 122 may be collected by the system activity reporter (SAR) utility tool in the LINUX operating system (OS). Alternatively, in the monitoring framework provided by Xen, this information 122 can be obtained via the virtual machine monitor (VMM) located in the guest operating system which is designated “domain0” (or “domain0”).
- SAR system activity reporter
- VMM virtual machine monitor
- the virtual resource monitoring information 122 collected may include the following information:
- CPU Usage the percentage of time that a guest OS uses the CPU within a specified time interval.
- Memory Usage the percentage of used memory within a specified time interval, i.e., is the ratio of memory usage by the VM and the total memory assigned to the domain.
- bwrtn/s the total amount of data written to a virtual block device (VBD) in blocks per second;
- the physical server resource utilization information 124 includes data indicating the total usage of physical resources by a server 110 .
- this information 124 may be collected by the virtual machine monitor of “dom 0 ” in Xen.
- the physical server resource utilization information 124 may include the following information:
- CPU Usage the percentage of time the CPU is consumed by the privileged domain within a specified time interval.
- Memory Usage the ratio of memory usage in the privileged domain and total memory in privileged domain.
- Disk Usage the same four types of read and write metrics discussed above for the virtual disks may also be utilized on physical disks.
- the privileged domain i.e., “dom0”
- this data is available in “/sys/devices/xen-backend/vbd- ⁇ domid>- ⁇ devid>/statistics/” for virtual block devices.
- the above-described resource utilization information 120 is input to the run-time calibrator 130 .
- the per-VM estimator 134 uses the resource utilization information 120 and the information embodied in the DFG model 140 to estimate and output per-VM resource utilization information 150 .
- the per-VM resource utilization information 150 indicates the physical resources utilized by each individual virtual machine 112 running on the server 110 .
- the per-VM physical resource information 150 indicates the following information within a specified time interval: (1) utilization of the CPU for each virtual machine 112 in terms of CPU cycles; (2) utilization of memory for each virtual machine 112 in terms of memory size (e.g., in bytes); (3) utilization of the network for each virtual machine 112 in terms of traffic volume; and (4) disk utilization for each virtual machine 112 in terms of disk I/O or network storage traffic.
- the run-time calibrator 130 also includes a remodeler 150 .
- Changes in the relationship between a virtual resource activity and its overhead on physical resources may vary and depend on the workload content (e.g., may vary the mapping of the virtual I/O and physical I/O activities).
- the remodeler 130 can recognize these changes and update the DFG 140 accordingly to account for these changes.
- the remodeler 150 may be triggered to update the DFG 140 when certain criteria or conditions are satisfied, or when certain discrepancies are detected between variables.
- the data 150 output by the run-time calibrator 130 is summed together for each virtual machine 112 to estimate the overall physical resource utilization on the server 110 .
- the estimated physical CPU utilization for each virtual machine can be added together to estimate the overall CPU utilization of the server.
- the estimated physical network utilization for each virtual machine can be added together to estimate the overall network utilization for the virtual machines.
- the aggregated estimates can then be compared to physical server resource utilization data 124 which was collected from the server 110 .
- the physical server resource utilization data 124 may include data which indicates the total CPU usage or total memory usage on the server 110 .
- the aggregated estimates can be compared to this information. If the discrepancy between the two values is larger than a specified threshold, the remodeling procedure can be triggered.
- the remodeler 150 may employ a guided regression model to recalculate the functions in the DFG 140 , as well as the corresponding values of the nodes in the DFG 140 . In this manner, the system can adapt to the dynamics of the system.
- system 100 in FIG. 1 can be altered or supplemented in a number of different ways without departing from the present principles.
- the system in FIG. 1 is depicted as including a single server 110 , it should be recognized that the system 100 may include any number of servers 110 and each server 110 can execute any number of virtual machines 112 .
- the resource utilization information 120 which is collected from the server 110 and input to the run-time calibrator 130 may comprise additional information, other than the virtual resource utilization information 122 and physical resource utilization information 124 described above, and this additional information can also be used in the decision-making process of the run-time calibrator 130 . Further modifications can also be applied to the system 100 of FIG. 1 .
- an exemplary directed factor graph 140 illustrates dependence relationships among different resources across the virtual and physical layers.
- the notion of a directed factor graph, such as the DFG 140 in FIG. 2 can be formally defined as follows:
- V and F are two disjoint node sets.
- V is used to represent the set of variables
- F is used to represent the set of functions in a modeling process.
- One edge x->f in E connects a vertex x in V to one vertex f in F when x is an input parameter of the function represented by f.
- One edge f->y in E connects a vertex f in F to one vertex y in V when y is an output parameter of the function represented by h.
- the DFG depicted in FIG. 2 may serve as an initial base model for the calibration process.
- the DFG 140 includes two virtual machines, VM 1 and VM 2 , running on a server 110 . From left side to right side, the virtual resource activities of the virtual machines 112 are first transformed into the physical resource activities, and then the physical resource activities are aggregated to estimate the total physical resource activities of the server 110 .
- the left-most variable nodes 210 represent the virtual resource utilization information 122 which is collected from the virtual machines 112 on the server 110 and input to the run-time calibrator 130 .
- the right-most variable nodes 250 (e.g., CPU p , Mem p , Disk p and Network p ) represent estimates of the total server resource utilization information.
- nodes 250 indicate the sum total of all physical resource activities on the server 110 .
- CPU p represents the total estimated CPU utilization on the server 110
- Mem p represents the total estimated memory utilization on the server 110 .
- the intermediate variable nodes 230 e.g., CPU vm-1 p , Mem vm-1 p , Disk vm-1 p and Network vm-1 p ) indicate the physical consumption of resources for each particular virtual machine 112 .
- CPU vm-1 p represents the estimated CPU utilization of the virtual machine VM 1
- Disk vm-2 p represents the estimated disk utilization of the virtual machine VM 2 .
- the values of the intermediate nodes 230 represent the per-VM physical resource information 150 which is calculated by the per-VM estimator 134 in FIG. 1 . Conventional systems are not able to accurately compute this information.
- the DFG 140 includes two different sets of functions.
- the functions 220 on the left side of the DFG 140 e.g., a zoom, a zoom, a zoom, a zoom, a zoom, a zoom
- f cpu vm - 1 , f Mem vm - 1 , f Disk vm - 1 ⁇ ⁇ and ⁇ ⁇ f Network vm - 1 ) which are situated between the left-most nodes 210 and the intermediate nodes 230 , transform virtual resource activities into physical resource activities, thus generating the per-VM physical resource utilization information 150 . If the remodeler 132 is triggered in response to system changes (e.g., changes in workload), the remodeler 132 can modify these functions accordingly to adapt to these changes.
- the second set of functions 240 (e.g., ⁇ cpu , ⁇ Mem , ⁇ Disk and ⁇ Network ), located on the right side of the DFG 140 , aggregate the physical resource activities of all virtual machines 112 on the server 110 .
- CPU p may represent the total CPU utilization of all virtual machines 112 running on the server 110 .
- the remodeler 132 compares the physical server resource utilization information 124 collected directly from the server 110 with the aggregated estimates (e.g., CPU p , Mem p , Disk p and Network p ) represented by the right-most nodes 250 . If the discrepancy between the two values exceeds a predetermined threshold value, the remodeler 132 may be triggered to modify the DFG 140 . Modifying the DFG 140 may include remodeling the functions, remodeling the functions for a particular resource, or remodeling all of the functions 220 on the left side of the DFG 140 . Modifying the DFG 140 may also include recalculating the intermediate nodes 230 and the estimated, aggregated resource values in the right-most nodes 250 .
- the aggregated estimates e.g., CPU p , Mem p , Disk p and Network p
- a directed factor graph such as the DFG model 140 in FIG. 2
- different micro-benchmark and benchmark applications may be run in a guest domain to generate workloads on each virtualized resource separately.
- a DFG 140 may be comprised of a set of DFG sub-graphs built separately on each resource.
- the methodology for generating a DFG may comprise the following steps:
- a linear regression model may be utilized to approximate the functions which transform virtual resource activities into physical resource activities (e.g.,
- Stepwise regression is applied to the data to reduce the required number of measured variables, and to analyze and remove any co-linearity that might exist between the variables.
- Stepwise regression uses the same analytical optimization procedure as multiple regression, but differs from multiple regression in that only a subset of predictor variables are selected sequentially from a group of predictors by means of statistical testing of hypotheses.
- the method calculates the correlations of all the predictor variables with response and selects the variable with the highest correlation to the response as the first variable to enter the regression. Then, at each step, the p value of an F-statistic is computed to test models both with a potential variable and without a potential variable.
- the null hypothesis is that the variable would have a zero coefficient if added to the model. If there is sufficient evidence to reject the null hypothesis, the variable is added to the model. Conversely, if a variable is currently in the model, the null hypothesis is that the variable has a zero coefficient. If there is insufficient evidence to reject the null hypothesis, the variable is removed from the model.
- the method proceeds as follows:
- the method terminates when no single step improves the model.
- FIG. 3 is block/flow diagram illustrating a method 300 for estimating physical resource utilization for individual virtual machines 112 in accordance with an embodiment of the present principles.
- the functions for transforming per-VM virtual resource utilization information 122 into per-VM physical resource utilization information 150 are initialized.
- this may include initializing one or more of the function nodes labeled
- the initial parameter set for the model may be determined using benchmark based profiling, or obtained from offline application-specific profiling for calibrated VMs. While the latter method is expected to give a more accurate model than the former one, it comes with the extra profiling overhead.
- the per-VM virtual resource utilization information 122 for the virtual machines 112 running on a server 110 (represented by the left-most variable nodes 210 in FIG. 2 ) is input to the DFG 140 (block 320 ).
- the per-VM virtual resource utilization information 122 may represent data collected from within the operating systems associated with each virtual machine 112 , and may indicate the virtual usage of resources.
- the per-VM physical resource utilization information 150 for each virtual machine 112 is calculated, e.g., by the per-VM estimator 134 in FIG. 1 (block 330 ). That is, for each virtual machine, the method calculates the physical resource utilization for each of a plurality of resources (i.e., CPU, memory, network, disk, etc.)
- the per-VM physical resource utilization information 150 is represented by the intermediate variable nodes 230 in FIG. 2 .
- the per-VM physical resource utilization information 150 is aggregated to determine the total physical resource utilization of the server 110 (block 340 ). For example, to compute the total CPU utilization of the server 110 , the per-VM physical CPU utilization of each virtual machine can be summed together (e.g., CPU vm-1 p and CPU vm-2 p can be summed together in FIG. 2 ). This can be done for each resource.
- the right-most variable nodes 250 in FIG. 2 represent the aggregated resource utilization for the server 110 .
- the aggregated physical resource utilization information is compared with the physical server resource utilization information 124 collected directly from the server 110 . If the discrepancy between the two values exceeds a predetermined threshold, the remodeling process is triggered to modify the DFG 140 (block 360 ). Otherwise, the per-VM physical resource utilization information 150 is output.
- Block 350 provides a feedback control loop to make the calibration process adaptive to inevitable model dynamics, which may be caused by a change in workload patterns.
- the relationship between a virtual resource activity and the corresponding overhead on physical resources can vary and may depend on the workload content.
- the mapping of virtual I/O to physical I/O activities is one such example.
- the discrepancy can be calculated on the average of the estimation errors during a sliding window including the past K time points.
- the threshold can be chosen as ( ⁇ +Z ⁇ * ⁇ ), where ( ⁇ , ⁇ 2 ) is the mean and variance of the regression model estimation error from last remodeling process (or those learnt from the benchmark based profiling).
- Z ⁇ is the ⁇ -percentile in statistics.
- a large estimation error indicates the change of some factors or parameters in the virtualization environment, and triggers a remodeling process.
- y VM-j(i) ( ⁇ 1 VM-j x 1 VM-j(i) + . . . ⁇ p VM-j x p VM-j(i) ) is the latent variable for VM-j.
- the original regression modeling method for remodeling robustness can be enhanced.
- the modeling can be enhanced to account for the common run-time monitoring data error and noise (e.g., system noise, transient VM migration overhead, etc.) that might add transient perturbation onto otherwise stable resource relationships.
- the second enhancement recognizes the fact that some relationships (such as the relationship between virtual disk I/O and the corresponding resource overhead) are naturally dynamic due to their content dependence, and re-learning those models should not affect the modeling of other stable relationships.
- a guided regression process may be utilized to solve the model.
- Some constraints are added to describe the range of possible ⁇ values, and those constraints are embedded into the estimation process.
- the constraints may be derived from various sources (e.g., from the prior model knowledge based on the benchmark profiling, or from the model learned in the previous time period). By including this knowledge to guide the estimation, a more reliable solution can be obtained for the regression model.
- the mean ⁇ represents the prior expectation on the values of ⁇ . It is determined from the learned ⁇ values learned.
- the covariance ⁇ represents the confidence of the prior knowledge.
- the guided regression finds the solution by maximizing the following posterior distribution: P ( ⁇
- the first part (x T x+ ⁇ ⁇ 1 ) ⁇ 1 is a matrix computed from the measurement data and the covariance matrix ⁇ .
- each element c i determines how the prior knowledge on ⁇ i is tradeoff against the estimation from the latest observations.
- the value of c i can be tuned to balance the importance between those two components. For instance, by choosing small c, values, greater posterior weights can be placed on prior expectations in the final model.
- FIG. 4 is a block/flow diagram illustrating how the method in FIG. 3 can be applied to estimate physical CPU utilization for individual virtual machines executing on a server in accordance with an embodiment of the present principles.
- the physical CPU utilization for a single virtual machine i.e., VM- 1
- VM- 1 the physical CPU utilization for a single virtual machine
- VM- 2 the physical CPU utilization for a single virtual machine
- VM- 3 the physical CPU utilization for a single virtual machine
- FIG. 4 is a block/flow diagram illustrating how the method in FIG. 3 can be applied to estimate physical CPU utilization for individual virtual machines executing on a server in accordance with an embodiment of the present principles.
- the physical CPU utilization for a single virtual machine i.e., VM- 1
- VM- 2 the physical CPU utilization for every other virtual machine running on the server 110 with VM- 1 .
- the method 400 begins when an initializer module 410 initializes the function
- me initial parameters can be determined using benchmark-based profiling, or by offline application-specific profiling for calibrated virtual machines.
- virtual resource monitoring information 122 collected from the server 110 is input.
- the virtual resource monitoring information 122 indicates the virtual usage of resources by the virtual machines 112 running on a server 110 . Using this information 122 , the function
- f cpu vm - 1 computes the per-VM physical CPU utilization of VM- 1 (i.e., CPU vm-1 p ). Although it is not shown in FIG. 3 , the per-VM physical CPU utilization is also calculated for the other virtual machines 430 (e.g., VM- 2 , VM- 3 , etc.) as well.
- the function ⁇ cpu aggregates this information to estimate the overall physical CPU utilization of the server 110 . This aggregated estimate is represented by the node CPU p .
- a comparator 420 receives the aggregated estimate CPU p and compares this information to actual physical server resource usage data 124 collected directly from the server 110 . If the difference between the aggregated estimate CPU p and the physical server resource usage data 124 does not exceed a specified threshold, the method jumps to step (7) and the per-VM physical CPU usage data is output.
- Remodeling may include re-initializing the functions (i.e.,
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
which are situated between the
etc.). Let the monitoring data be D=[x, y], where x=[x(1), X(2), . . . x(n)]T, x(i)=[x1 (i), x2 (i), . . . xp (i)]and y=[y(1), y(2), . . . y(n)]T. A linear regression model assumes that the relationship between the dependent variable y and the p-vector of regressors x is approximately linear, and takes the form:
y (i)=β1 x 1 (i)+β2 x 2 (i)+ . . . +βp x p (i)+ε(i) , i=1, . . . , n (1)
where β=[β1, β2, . . . , βp] are the regression coefficients, and ε(i) is an unobserved random variable that adds noise to the linear relationship between the dependent variable and regressors.
where σ2 represents the noise of the measurement data.
{circumflex over (β)}=(x T x)−1 x T y. (3)
y (i)=(β1 VM-1 x 1 VM-1(i)+ . . . +βp VM-1 x p VM-1(i))+(β1 VM-m x 1 VM-m(i)+ . . . +βp VM-m x p VM-m(i)) (4)
where yVM-j(i)=(β1 VM-jx1 VM-j(i)+ . . . βp VM-jxp VM-j(i)) is the latent variable for VM-j.
where a, b are two parameters to control the shape and scale of the distribution, and Γ(a) is the gamma function of a.
P(β|x,y.σ 2)∝P(y|β, x)P(β|σ2)P(σ2) (7)
β*(x T x+Σ −1)−1(Σ−1
As explained above, me initial parameters can be determined using benchmark-based profiling, or by offline application-specific profiling for calibrated virtual machines.
computes the per-VM physical CPU utilization of VM-1 (i.e., CPUvm-1 p). Although it is not shown in
etc.) which transform the
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/246,298 US8806487B2 (en) | 2011-01-14 | 2011-09-27 | Calculating virtual machine resource utilization information |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161432905P | 2011-01-14 | 2011-01-14 | |
| US13/246,298 US8806487B2 (en) | 2011-01-14 | 2011-09-27 | Calculating virtual machine resource utilization information |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20120185851A1 US20120185851A1 (en) | 2012-07-19 |
| US8806487B2 true US8806487B2 (en) | 2014-08-12 |
Family
ID=46491737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/246,298 Expired - Fee Related US8806487B2 (en) | 2011-01-14 | 2011-09-27 | Calculating virtual machine resource utilization information |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US8806487B2 (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150277959A1 (en) * | 2014-03-31 | 2015-10-01 | Fujitsu Limited | Capture point determination method and capture point determination system |
| US20150363240A1 (en) * | 2013-02-01 | 2015-12-17 | Nec Corporation | System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program |
| US10375160B2 (en) * | 2017-05-16 | 2019-08-06 | Futurewei Technologies, Inc. | Mechanisms for programmable composition of factor graphs |
| JP2022098458A (en) * | 2020-12-21 | 2022-07-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method for estimating consumption of computing resource, computer program, and system |
| US20220308928A1 (en) * | 2019-12-16 | 2022-09-29 | Huawei Cloud Computing Technologies Co., Ltd. | Resource Adjustment Method and Apparatus |
| US12086464B2 (en) | 2022-06-27 | 2024-09-10 | Microsoft Technology Licensing, Llc | Storage policy change usage estimation |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5616523B2 (en) * | 2011-03-23 | 2014-10-29 | 株式会社日立製作所 | Information processing system |
| 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 |
| JP5748349B2 (en) * | 2012-03-16 | 2015-07-15 | 株式会社日立製作所 | Virtual computer control method and virtual computer system |
| JP5624084B2 (en) * | 2012-06-04 | 2014-11-12 | 株式会社日立製作所 | Computer, virtualization mechanism, and scheduling method |
| US9098617B1 (en) * | 2012-09-27 | 2015-08-04 | Emc Corporation | Data analytics lifecycle automation |
| US9262493B1 (en) | 2012-12-27 | 2016-02-16 | Emc Corporation | Data analytics lifecycle processes |
| US9471347B2 (en) | 2013-01-31 | 2016-10-18 | International Business Machines Corporation | Optimization of virtual machine sizing and consolidation |
| US9336031B2 (en) * | 2013-02-27 | 2016-05-10 | International Business Machines Corporation | Managing allocation of hardware resources in a virtualized environment |
| US9684866B1 (en) | 2013-06-21 | 2017-06-20 | EMC IP Holding Company LLC | Data analytics computing resource provisioning based on computed cost and time parameters for proposed computing resource configurations |
| US9235630B1 (en) | 2013-09-25 | 2016-01-12 | Emc Corporation | Dataset discovery in data analytics |
| US20150242226A1 (en) * | 2014-02-22 | 2015-08-27 | Vmware, Inc. | Methods and systems for calculating costs of virtual processing units |
| JP6303857B2 (en) * | 2014-06-20 | 2018-04-04 | 富士通株式会社 | Output program, output device, and output method |
| US11010196B2 (en) * | 2015-08-31 | 2021-05-18 | Vmware, Inc. | Capacity analysis using closed-system modules |
| CN105391651B (en) * | 2015-11-20 | 2021-06-22 | 北京邮电大学 | Virtual optical network multi-layer resource convergence method and system |
| US20180081629A1 (en) * | 2016-09-16 | 2018-03-22 | Sevone, Inc. | Method and apparatus for providing ordered sets of arbitrary percentile estimates for varying timespans |
| US10956196B1 (en) | 2017-01-19 | 2021-03-23 | Tintri By Ddn, Inc. | Load balancing VM selection and movement |
| US10564998B1 (en) | 2017-01-19 | 2020-02-18 | Tintri By Ddn, Inc. | Load balancing using predictive VM-based analytics |
| US10489074B1 (en) | 2017-01-19 | 2019-11-26 | Tintri By Ddn, Inc. | Access rate prediction in a hybrid storage device |
| US10509667B1 (en) * | 2017-01-19 | 2019-12-17 | Tintri By Ddn, Inc. | Modeling space consumption of a migrated VM |
| CN118246562A (en) * | 2017-12-14 | 2024-06-25 | 谷歌有限责任公司 | Qubit calibration |
| CN112445698B (en) * | 2019-09-04 | 2025-04-04 | 中国移动通信有限公司研究院 | Virtual service node performance testing method, device and computer-readable storage medium |
| US12293262B1 (en) * | 2019-09-27 | 2025-05-06 | Amazon Technologies, Inc. | Adaptive machine learning training via in-flight feature modification |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060200819A1 (en) * | 2005-03-02 | 2006-09-07 | Ludmila Cherkasova | System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine |
| US20100082320A1 (en) * | 2008-09-30 | 2010-04-01 | Wood Timothy W | Accuracy in a prediction of resource usage of an application in a virtual environment |
-
2011
- 2011-09-27 US US13/246,298 patent/US8806487B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060200819A1 (en) * | 2005-03-02 | 2006-09-07 | Ludmila Cherkasova | System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine |
| US20100082320A1 (en) * | 2008-09-30 | 2010-04-01 | Wood Timothy W | Accuracy in a prediction of resource usage of an application in a virtual environment |
Non-Patent Citations (3)
| Title |
|---|
| Gupta, D., et al. "Enforcing Performance Isolation Across Virtual Machines in Xen" Middleware 2006, ACM/IFIP/USENIX 7th International Middleware Conference. May 2006. (21 Pages). |
| Lu, L., et al. "Untangling Mixed Information to Calibrate Resource Utilization in Virtual Machines" 8th International ACM Conference on Autonomic Computing (ICAC '11). Jun. 2011. (10 Pages). |
| Wood, T., et al. "Profiling and Modeling Resource Usage of Virtualized Applications" Middleware 2008, ACM/IFIP/USENIX 9th International Middleware Conference. Dec. 2008. pp. 366-387. |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150363240A1 (en) * | 2013-02-01 | 2015-12-17 | Nec Corporation | System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program |
| US9740534B2 (en) * | 2013-02-01 | 2017-08-22 | Nec Corporation | System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program |
| US20150277959A1 (en) * | 2014-03-31 | 2015-10-01 | Fujitsu Limited | Capture point determination method and capture point determination system |
| US9547518B2 (en) * | 2014-03-31 | 2017-01-17 | Fujitsu Limited | Capture point determination method and capture point determination system |
| US10375160B2 (en) * | 2017-05-16 | 2019-08-06 | Futurewei Technologies, Inc. | Mechanisms for programmable composition of factor graphs |
| US20220308928A1 (en) * | 2019-12-16 | 2022-09-29 | Huawei Cloud Computing Technologies Co., Ltd. | Resource Adjustment Method and Apparatus |
| US12530243B2 (en) * | 2019-12-16 | 2026-01-20 | Huawei Cloud Computing Technologies | Resource adjustment method and apparatus |
| JP2022098458A (en) * | 2020-12-21 | 2022-07-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method for estimating consumption of computing resource, computer program, and system |
| US12086464B2 (en) | 2022-06-27 | 2024-09-10 | Microsoft Technology Licensing, Llc | Storage policy change usage estimation |
Also Published As
| Publication number | Publication date |
|---|---|
| US20120185851A1 (en) | 2012-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8806487B2 (en) | Calculating virtual machine resource utilization information | |
| US10452983B2 (en) | Determining an anomalous state of a system at a future point in time | |
| US9696786B2 (en) | System and method for optimizing energy consumption by processors | |
| US8818922B2 (en) | Method and apparatus for predicting application performance across machines with different hardware configurations | |
| Jeong et al. | Stable and efficient resource management using deep neural network on cloud computing | |
| US11614978B2 (en) | Deep reinforcement learning for workflow optimization using provenance-based simulation | |
| Aytac et al. | Characterization of demand for short life-cycle technology products | |
| US11748230B2 (en) | Exponential decay real-time capacity planning | |
| US20060010101A1 (en) | System, method and program product for forecasting the demand on computer resources | |
| US10909503B1 (en) | Snapshots to train prediction models and improve workflow execution | |
| Awad et al. | Hidden markov model | |
| CN109254865A (en) | A kind of cloud data center based on statistical analysis services abnormal root because of localization method | |
| US8762314B2 (en) | Predictions using aggregate information | |
| US20170082665A1 (en) | Detecting Non-Technical Losses in Electrical Networks Based on Multi-Layered Statistical Techniques from Smart Meter Data | |
| EP2924580B1 (en) | Operation management apparatus and operation management method | |
| WO2019153188A1 (en) | Gpu power modeling using system performance data | |
| Guzek et al. | A holistic model of the performance and the energy efficiency of hypervisors in a high‐performance computing environment | |
| WO2020206699A1 (en) | Predicting virtual machine allocation failures on server node clusters | |
| Wang et al. | Bayesian service demand estimation using gibbs sampling | |
| US10198295B2 (en) | Mechanism for controlled server overallocation in a datacenter | |
| US11263369B2 (en) | Workflow simulation using provenance data similarity and sequence alignment | |
| US11216312B2 (en) | Management of unit-based virtual accelerator resources | |
| US10248462B2 (en) | Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program | |
| KR20200126766A (en) | Operation management apparatus and method in ict infrastructure | |
| US11921735B2 (en) | Context-aware maintenance window identification |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NEC LABORATORIES AMERICA, INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, HUI;CHEN, HAIFENG;JIANG, GUOFEI;AND OTHERS;SIGNING DATES FROM 20110916 TO 20110926;REEL/FRAME:026975/0793 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEC LABORATORIES AMERICA, INC.;REEL/FRAME:034765/0565 Effective date: 20150113 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| 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: 20220812 |