Automatic system service resource management for virtualizing low-latency workloads that are input/output intensive
First Claim
1. In a host computer having a plurality of physical central processing units (CPUs) that support execution of virtual computing instances, a method for reducing latency and jitter of an input/output (I/O) intensive workload, comprising:
- identifying a first system context which is a hypervisor context distinct from virtual CPU contexts associated with the virtual computing instances and which services the I/O intensive workload that runs in one of the virtual computing instances;
responsive to determining that a predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has not been exceeded;
assigning the identified first system context to have exclusive affinity to one of the physical CPUs, wherein the assigning includes migrating running tasks and directing queued tasks and interrupt processing from the one of the physical CPUs to at least one other physical CPU of the physical CPUs, andincreasing a CPU reservation associated with the host computer by one physical CPU; and
responsive to determining that the predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has been exceeded;
not assigning the identified first system context to have exclusive affinity to any of the physical CPUs.
2 Assignments
0 Petitions
Accused Products
Abstract
An approach for providing low-latency and fast response times required by virtual machine (VM) telecommunication (telco) workloads is disclosed. In one embodiment, a kernel scheduler identifies hypervisor system contexts that are outside of traditional virtual central processing unit (CPU) contexts and servicing telco workloads. The scheduler grants each such context exclusive affinity to a respective physical CPU, up to a configurable maximum number of such grants. The scheduler also increases the CPU reservations in a system resource pool for the hypervisor by one CPU, indicating that there is one fewer physical CPU on which VMs may be placed or moved. The exclusive affinities and CPU reservations may be dynamically adjusted as, e.g., new latency-sensitive VMs are powered on with virtual CPUs that need to be granted exclusive affinity to physical CPUs or contexts no longer relevant to telco workloads are demoted to not have exclusive affinity to physical CPUs.
-
Citations
19 Claims
-
1. In a host computer having a plurality of physical central processing units (CPUs) that support execution of virtual computing instances, a method for reducing latency and jitter of an input/output (I/O) intensive workload, comprising:
-
identifying a first system context which is a hypervisor context distinct from virtual CPU contexts associated with the virtual computing instances and which services the I/O intensive workload that runs in one of the virtual computing instances; responsive to determining that a predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has not been exceeded; assigning the identified first system context to have exclusive affinity to one of the physical CPUs, wherein the assigning includes migrating running tasks and directing queued tasks and interrupt processing from the one of the physical CPUs to at least one other physical CPU of the physical CPUs, and increasing a CPU reservation associated with the host computer by one physical CPU; and responsive to determining that the predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has been exceeded; not assigning the identified first system context to have exclusive affinity to any of the physical CPUs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium comprising instructions executable by a host computer, the host computer having a plurality of physical central processing units (CPUs) that support execution of virtual computing instances, wherein the instructions, when executed, cause the host computer to perform a method for reducing latency and jitter of an input/output (I/O) intensive workload, the method comprising:
-
identifying a first system context which is a hypervisor context distinct from virtual CPU contexts associated with the virtual computing instances and which services the I/O intensive workload that runs in one of the virtual computing instances; responsive to determining that a predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has not been exceeded; assigning the identified first system context to have exclusive affinity to one of the physical CPUs, wherein the assigning includes migrating running tasks and directing queued tasks and interrupt processing from the one of the physical CPUs to at least one other physical CPU of the physical CPUs, and increasing a CPU reservation associated with the host computer by one physical CPU; and responsive to determining that the predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has been exceeded; not assigning the identified first system context to have exclusive affinity to any of the physical CPUs. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A host computer system, comprising:
-
a plurality of physical central processing units (CPUs) that support execution of virtual computing instances; a memory, wherein the memory includes an application program configured to perform operations for reducing latency and jitter of an input/output (I/O) intensive workload, the operations comprising; identifying a first system context which is a hypervisor context distinct from virtual CPU contexts associated with the virtual computing instances and which services the I/O intensive workload that runs in one of the virtual computing instances, responsive to determining that a predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has not been exceeded; assigning the identified first system context to have exclusive affinity to one of the physical CPUs, wherein the assigning includes migrating running tasks and directing queued tasks and interrupt processing from the one of the physical CPUs to at least one other physical CPU of the physical CPUs; and increasing a CPU reservation associated with the host computer by one physical CPU, and responsive to determining that the predefined maximum number of system contexts that can be assigned to have exclusive affinity to the physical CPUs has been exceeded; not assigning the identified first system context to have exclusive affinity to any of the physical CPUs.
-
Specification