Resource management in a virtual machine cluster
AssigneeScale Computing, Inc.
InventorsAaron Pagl, Nate Hardt
Life of this patent
Estimating the term…
Abstract
Managing resources in a VM cluster; allocation of resources among competing VMs. Assigning VMs to real devices, responsive to needs for resources: processor usage, disk I/O, network I/O, memory space, disk space. Assigning VMs responsive to needs for cluster activity: network response latency, QoS. Using predictive models of resource usage by VMs. Transferring VMs, improving utilization. Failing-soft onto alternative VM resources. Providing a resource buffer for collective VM resource demand. Transferring VMs to a cloud service that charges for resources.
Claims10
A method, including steps of,
- in a cluster including a plurality of processors and an inter-node switch, each processor having assigned thereto a separate memory, each separate memory separately coupled to its assigned processor and to the inter-node switch, each processor capable of directly accessing memory assigned to each other processor using the inter-node switch and without using the other processor, whereby the assigned memories are shared,
- whereby the plurality of processors and their assigned memories form a distributed fault-tolerant multiprocessor cluster capable of continuing operation after failure to access one of the processors or failure to access either a portion or all of one of the memories,
- identifying a category of application programs into which a selected virtual machine fits, and identifying a current workplace usage associated with the distributed fault-tolerant multiprocessor cluster, to provide a preferred set of real devices on which to execute the selected virtual machine;
- transferring one or more virtual machines, including the selected virtual machine, between real devices in the distributed fault-tolerant multiprocessor cluster, in response to time-changing resource requirements;
- measuring use of a plurality of different resources by the selected virtual machine;
- providing a model of future actual resource usage by the selected virtual machine in response to the steps of measuring, wherein the steps of identifying a category are responsive to the model of future resource usage by the selected virtual machine;
- and
- predicting said time-changing resource requirements in response to a result of the steps of identifying a category and the current workplace usage.
A non-transitory storage medium, including instructions interpretable by
- a plurality of processors disposed in a cluster, each processor having assigned thereto a separate memory, each processor capable of directly accessing memory assigned to other processor, whereby the assigned memories are shared and each processor having direct local access to each separate memory without using the other processors, whereby the plurality of processors and their assigned memories form a distributed fault-tolerant multiprocessor cluster capable of continuing operation after failure to access one of the processors or failure to access either a portion or all of one of the memories, to:
- identify a category of application programs into which a selected virtual machine fits, and identifying a current workplace usage associated with the distributed fault-tolerant multiprocessor cluster, to provide a preferred set of real devices on which to execute the selected virtual machine;
- transfer one or more virtual machines, including the selected virtual machine, between real devices in the distributed fault-tolerant multiprocessor cluster, in response to time-changing resource requirements;
- measure use of a plurality of different resources by the selected virtual machine;
- provide a model of future actual resource usage by the selected virtual machine in response to the steps of measuring, wherein the steps of identifying a category are responsive to the model of future resource usage by the selected virtual machine;
- and
- predict said time-changing resource requirements in response to a result of the steps of identifying a category and the current workplace usage.
Dependencies are inferred from the claim text.