Abstract:
Workloads are scheduled on a common set of resources distributed across a cluster of hosts using at least two schedulers that operate independently. The resources include CPU, memory, network, and storage, and the workloads may be virtual objects, including VMs, and also operations including live migration of virtual objects, network file copy, reserving spare capacity for high availability restarts, and selecting hosts that are to go into maintenance mode. In addition, the at least two independent schedulers are assigned priorities such that the higher priority scheduler is executed to schedule workloads in its inventory on the common set of resources before the lower priority scheduler is executed to schedule workloads in its inventory on the common set of resources.
Abstract:
Updates to nonvolatile memory pages are mirrored so that certain features of a computer system, such as live migration of applications, fault tolerance, and high availability, will be available even when nonvolatile memory is local to the computer system. Mirroring may be carried out when a cache flush instruction is executed to flush contents of the cache into nonvolatile memory. In addition, mirroring may be carried out asynchronously with respect to execution of the cache flush instruction by retrieving content that is to be mirrored from the nonvolatile memory using memory addresses of the nonvolatile memory corresponding to target memory addresses of the cache flush instruction.
Abstract:
A technique for efficient swap space management creates a swap reservation file using thick provisioning to accommodate a maximum amount of memory reclamation from a set of one or more associated virtual machines (VMs). A VM swap file is created for each VM using thin provisioning. When a new block is needed to accommodate page swaps to a given VM swap file, a block is removed from the swap reservation file and a block is added to the VM swap file, thereby maintaining a net zero difference in overall swap storage. The removed block and the added block may be the same storage block if a block move operation is supported by a file system implementing the swap reservation file and VM swap files. The technique also accommodates swap space management of resource pools.
Abstract:
A method of preserving the contiguity of large pages of a workload during migration of the workload from a source host to a destination host includes the steps of: detecting at the destination host, receipt of a small page of zeros from the source host, wherein, at the source host, the small page is part of one of the large pages of the workload; and upon detecting the receipt of the small page of zeros, storing, at the destination host, all zeros in a small page that is part of one of the large pages of the workload.
Abstract:
A method of preserving the contiguity of large pages of a workload during migration of the workload from a source host to a destination host includes the steps of: detecting at the destination host, receipt of a small page of zeros from the source host, wherein, at the source host, the small page is part of one of the large pages of the workload; and upon detecting the receipt of the small page of zeros, storing, at the destination host, all zeros in a small page that is part of one of the large pages of the workload.
Abstract:
Disclosed are various embodiments for optimizing the migration of processes or virtual machines in cluster memory systems. To begin, a first computing device can identify a set of pages allocated to a process or virtual machine hosted by the first computing device. Then, the first computing device can identify a subset of the allocated pages that have been accessed with a least a predefined frequency. Next, the first computing device can copy the subset of the allocated pages to a second computing device. Subsequently, the first computing device can copy a page mapping table to the second computing device, the page mapping table specifying which pages in the set of pages allocated to the process or virtual machine are stored by a memory host. Finally, the first computing device can copy remaining ones of the allocated pages to the second computing device.
Abstract:
The disclosure provides an approach for the dynamic configuration of virtualized objects. A virtual object may be associated with a desired state defining a first plurality of resources for allocating to the virtual object. The first plurality of resources correspond to one or more resource types. Techniques include determining that each of a plurality of hosts does not have sufficient available resources to allocate the first plurality of resources to the virtual object according to the desired state. Techniques include selecting, a first host of the plurality of hosts to run the virtual object. Techniques include allocating a second plurality of resources to the virtual object from the first host, wherein the second plurality of resources is less than the first plurality of resources, and running the virtual object in the first host.
Abstract:
An example method of page sharing in a host computer having virtualization software that supports execution of a plurality of virtualized computing instances includes identifying, by the virtualization software, duplicate memory pages in system memory of the host computer. The method further includes sharing a memory page of the duplicate memory pages among the plurality of virtualized computing instances. The method further includes monitoring reads by a first virtualized computing instance targeting the shared memory page. The method further includes creating a private copy of the shared memory page for the first virtualized computing instance in response to the reads satisfying a threshold read pattern.
Abstract:
In a virtualized computer system, guest memory pages are mapped to disk blocks that contain identical contents and the mapping is used to improve management processes performed on virtual machines, such as live migration and snapshots. These processes are performed with less data being transferred because the mapping data of those guest memory pages that have identical content stored on disk are transmitted instead of the their contents. As a result, live migration and snapshots can be carried out more quickly. The mapping of the guest memory pages to disk blocks can also be used to optimize other tasks, such as page swaps and memory error corrections.
Abstract:
A system and related method of operation for migrating the memory of a virtual machine from one NUMA node to another. Once the VM is migrated to a new node, migration of memory pages is performed while giving priority to the most utilized pages, so that access to these pages becomes local as soon as possible. Various heuristics are described to enable different implementations for different situations or scenarios.