Maximizing server utilization within a datacenter
Abstract
A method of maximizing server utilization within a datacenter comprising collocating a number of workloads to a subset of a number of physical servers within a datacenter, adjusting access to resources by critical and non-critical workloads, isolating a number of critical workloads that share resources to the subset of resource instances, and controlling resource utilization of the collocated workloads. A system for collocating workloads in a datacenter, the system comprising a number of servers communicatively coupled to each other and a collocation module that receives information from each server and decides whether to leave a workload running on one of any of the servers on that server, or migrate a workload running on one of the number of servers to another server.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of maximizing server utilization within a datacenter comprising:
detecting resource utilization among a number of virtual machines operating on a plurality of servers within the datacenter, migrating the number of virtual machines to a smaller set of the total number of servers based on the resource utilization of each of the virtual machines, wherein each of the migrated virtual machines process a number of critical and non-critical workloads; and adjusting resource utilization among the number of critical and non-critical workloads operating on the migrated virtual machines.
2 . The method of claim 1 , wherein adjusting resource utilization comprises adjusting virtual CPU shares used among each of the critical and non-critical workloads processed by each of the virtual machines.
3 . The method of claim 2 , wherein adjusting central processing shares of critical and non-critical workloads comprises assigning to a critical workload priority access to the number of resources relative to a number of non-critical workloads.
4 . The method of claim 1 , wherein adjusting resource utilization comprises isolating the number of virtual machines through virtual CPU confinement.
5 . The method of claim 4 , wherein adjusting resource utilization via virtual CPU confinement comprises isolating virtual machines processing critical workloads from virtual machines processing non-critical workloads.
6 . The method of claim 1 , wherein adjusting resource utilization comprises controlling virtual CPU utilization upper limits for the non-critical workloads by limiting virtual CPU usage to a minimum amount.
7 . The method of claim 1 further comprising:
comparing a utility metric of a critical workload with a service level agreement (SLA) associated with the critical workload;
wherein:
when the utility metric is within the defined SLA, an SLA violation counter is decremented for the critical workload; and
when the utility metric is not within the defined SLA, the SLA violation counter is incremented for the critical workload.
8 . The method of claim 7 , wherein:
if the number of SLA violations is zero, a random non-critical workload associated with the critical workload is chosen and has its access to resources increased; if the number of SLA violations is equal to or greater than a first threshold but less than a second threshold, a non-critical workload associated with the critical workload has its access to resources decreased if positive; if the number of SLA violations is equal to or greater than the second threshold but less than a third threshold, all non-critical workloads associated with the critical workload have their access to resources decreased if positive; and if the number of SLA violations is equal to or greater than the third threshold, all non-critical workloads associated with the critical workload have their access to resources decreased to zero if positive.
9 . A system for collocating workloads in a datacenter, comprising:
a number of servers communicatively coupled to each other; and a collocation module that:
receives information from a number of virtual machines operating on each server describing utility metrics describing the performance of each virtual machine; and
determines whether to migrate one of the number of virtual machines to another server based on the utility metrics.
10 . The system of claim 9 , wherein the number of servers further comprise:
a daemon to find and periodically create a report about each servers' resource utilization on that server and the utility metrics of each of the virtual machines operating on each of the servers; and a power measurement module to compile data defining the power consumption of each of the servers.
11 . The system of claim 9 , further comprising a network monitor operating on each of the servers that observes network communications between the servers by monitoring a mirror of the communications traversing a network switch associated with each of the servers.
13 . A computer program product for maximizing datacenter efficiency, the computer program product comprising:
a computer readable storage medium comprising computer usable program code embodied therewith, the computer usable program code that, when executed by a processor:
detects resource consumption among a number of workloads processed on a number of virtual machines operating on a plurality of servers within a datacenter;
determine which of the number of workloads are non-critical and critical workloads;
assign and migrate a number of the virtual machines operating the non-critical and critical workloads to a number of servers within the plurality of servers less than the total number of servers;
isolating any virtual machines processing critical workloads from any virtual machines processing non-critical workloads by virtual CPU confinement and, upon violation of an SLA associated with any critical workload, executing a SISGSTOP command such that any non-critical workload is paused until additional resources are available; and
stop use of any resources within any server not assigned a virtual machine.
14 . The computer program product of claim 13 , executing a SIGCONT command when additional resources are available to restart the paused non-critical workload from its paused state.
15 . The computer program product of claim 13 , wherein, after stopping use of any resources within any server not assigned a virtual machine, restarting any server not assigned a virtual machine and creating a virtual machine on the restarted servers to execute processes used to satisfy any SLA associated with each of the critical and non-critical workloads.Join the waitlist — get patent alerts
Track US2015312167A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.