Patents by Inventor Haoqiang Zheng
Haoqiang Zheng has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10776151Abstract: Systems and methods for performing selection of non-uniform memory access (NUMA) nodes for mapping of virtual central processing unit (vCPU) operations to physical processors are provided. A CPU scheduler evaluates the latency between various candidate processors and the memory associated with the vCPU, and the size of the working set of the associated memory, and the vCPU scheduler selects an optimal processor for execution of a vCPU based on the expected memory access latency and the characteristics of the vCPU and the processors. The systems and methods further provide for monitoring system characteristics and rescheduling the vCPUs when other placements provide improved performance and efficiency.Type: GrantFiled: March 5, 2019Date of Patent: September 15, 2020Assignee: VMWARE, INC.Inventors: Seongbeom Kim, Haoqiang Zheng, Rajesh Venkatasubramanian, Puneet Zaroo
-
Patent number: 10691495Abstract: The disclosure provides techniques for scheduling a jitterless workload on a virtual machine (VM) executing on a host comprising one or more pCPUs comprising a first subset of the one or more pCPUs and a second subset of the one or more pCPUs. The techniques further include creating a jitterless zone, wherein the jitterless zone includes the first subset of the one or more pCPUs. The techniques further include determining whether a vCPU of the VM is used to execute a jitterless workload or a non-jitterless workload. The techniques further include allocating by a CPU scheduler to the vCPU at least one of the pCPUs in the jitterless zone when the vCPU of the VM is used to execute a jitterless workload. The techniques further include scheduling the jitterless workload for execution by the vCPU on the allocated at least one of the pCPUs in the jitterless zone.Type: GrantFiled: July 25, 2018Date of Patent: June 23, 2020Assignee: VMware, Inc.Inventors: Xunjia Lu, Haoqiang Zheng, Bi Wu
-
Publication number: 20200065126Abstract: Disclosed are various embodiments for distributing the load of a plurality of virtual machines across a plurality of hosts. A potential new host for a virtual machine executing on a current host is identified. A gain rate associated with migration of the virtual machine from the current host to the potential new host is calculated. A gain duration associated with migration of the virtual machine from the current host to the potential new host is also calculated. A migration cost for migration of the virtual machine from the current host to the potential new host, the migration cost being based on the gain rate and the gain duration is determined. It is then determined whether the migration cost is below a predefined threshold cost. Migration of the virtual machine from the current host to the optimal host is initiated in response to a determination that the migration cost is below the predefined threshold.Type: ApplicationFiled: August 24, 2018Publication date: February 27, 2020Inventors: Haoqiang Zheng, Fei Guo, Zhelong Pan
-
Publication number: 20200065125Abstract: Disclosed are various embodiments for distributing the load of a plurality of virtual machines across a plurality of hosts. A first plurality of efficiency ratings for a current host of a virtual machine are calculated. A second plurality of efficiency ratings for a potential new host of the virtual machine are also calculated. The first plurality of efficiency ratings are compared to the second plurality of efficiency ratings to determine that the potential new host for the virtual machine is an optimal host for the virtual machine. Then migration of the virtual machine from the current host to the optimal host is initiated.Type: ApplicationFiled: August 24, 2018Publication date: February 27, 2020Inventors: Haoqiang Zheng, Fei Guo, Zhelong Pan
-
Patent number: 10572282Abstract: Techniques for implicit coscheduling of CPUs to improve corun performance of scheduled contexts are described. One technique minimizes skew by implementing corun migrations, and another technique minimizes skew by implementing a corun bonus mechanism. Skew between schedulable contexts may be calculated based on guest progress, where guest progress represents time spent executing guest operating system and guest application code. A non-linear skew catch-up algorithm is described that adjusts the progress of a context when the progress falls far behind its sibling contexts.Type: GrantFiled: April 21, 2017Date of Patent: February 25, 2020Assignee: VMware, Inc.Inventors: Haoqiang Zheng, Carl A. Waldspurger
-
Publication number: 20200059513Abstract: Load balancing across hosts in a computer system is triggered based on pairwise comparisons of resource utilization at different host. A method for load balancing across hosts includes the steps of determining a resource utilization difference between first and second hosts, wherein the first host has a higher resource utilization than the second host, comparing the resource utilization difference against a threshold difference, and upon determining that the resource utilization difference exceeds the threshold difference, selecting a workload executing in the first host for migration to the second host.Type: ApplicationFiled: July 31, 2019Publication date: February 20, 2020Inventors: Badhrinath Sampathkumar, Zhelong Pan, Haoqiang Zheng, Fei Guo, Sabareesh Subramaniam
-
Publication number: 20200034202Abstract: The disclosure provides a method of performing a workload on a virtual machine (VM) executing on a host comprising one or more physical central processing units (pCPUs) is provided. The method further includes setting a quality of service (QoS) metric associated with the VM, the QoS metric indicating a time period. The method further includes setting a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage. The method further includes allocating by a central processing unit (CPU) scheduler to a virtual CPU (vCPU) of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric. The method further includes executing the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.Type: ApplicationFiled: July 25, 2018Publication date: January 30, 2020Inventors: Xunjia LU, Haoqiang ZHENG, Bi WU
-
Publication number: 20200034201Abstract: The disclosure provides techniques for scheduling a jitterless workload on a virtual machine (VM) executing on a host comprising one or more pCPUs comprising a first subset of the one or more pCPUs and a second subset of the one or more pCPUs. The techniques further include creating a jitterless zone, wherein the jitterless zone includes the first subset of the one or more pCPUs. The techniques further include determining whether a vCPU of the VM is used to execute a jitterless workload or a non-jitterless workload. The techniques further include allocating by a CPU scheduler to the vCPU at least one of the pCPUs in the jitterless zone when the vCPU of the VM is used to execute a jitterless workload. The techniques further include scheduling the jitterless workload for execution by the vCPU on the allocated at least one of the pCPUs in the jitterless zone.Type: ApplicationFiled: July 25, 2018Publication date: January 30, 2020Inventors: Xunjia LU, Haoqiang ZHENG, Bi WU
-
Publication number: 20190370053Abstract: A technique is described for managing processor (CPU) resources in a host having virtual machines (VMs) executed thereon. A target size of a VM is determined based on its demand and CPU entitlement. If the VM's current size exceeds the target size, the technique dynamically changes the size of a VM in the host by increasing or decreasing the number of virtual CPUs available to the VM. To “deactivate” virtual CPUs, a high-priority balloon thread is launched and pinned to one of the virtual CPUs targeted for deactivation, and the underlying hypervisor deschedules execution of the virtual CPU accordingly. To “activate” virtual CPUs, the number of virtual CPUs, the launched balloon thread may be killed.Type: ApplicationFiled: August 20, 2019Publication date: December 5, 2019Inventor: Haoqiang ZHENG
-
Patent number: 10452572Abstract: 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.Type: GrantFiled: December 15, 2016Date of Patent: October 22, 2019Assignee: VMware, Inc.Inventors: Xunjia Lu, Haoqiang Zheng
-
Patent number: 10430226Abstract: A technique is described for managing processor (CPU) resources in a host having virtual machines (VMs) executed thereon. A target size of a VM is determined based on its demand and CPU entitlement. If the VM's current size exceeds the target size, the technique dynamically changes the size of a VM in the host by increasing or decreasing the number of virtual CPUs available to the VM. To “deactivate” virtual CPUs, a high-priority balloon thread is launched and pinned to one of the virtual CPUs targeted for deactivation, and the underlying hypervisor deschedules execution of the virtual CPU accordingly. To “activate” virtual CPUs, the number of virtual CPUs, the launched balloon thread may be killed.Type: GrantFiled: October 9, 2017Date of Patent: October 1, 2019Assignee: VMware Inc.Inventor: Haoqiang Zheng
-
Patent number: 10382535Abstract: Load balancing across hosts in a computer system is triggered based on pairwise comparisons of resource utilization at different host. A method for load balancing across hosts includes the steps of determining a resource utilization difference between first and second hosts, wherein the first host has a higher resource utilization than the second host, comparing the resource utilization difference against a threshold difference, and upon determining that the resource utilization difference exceeds the threshold difference, selecting a workload executing in the first host for migration to the second host.Type: GrantFiled: October 5, 2016Date of Patent: August 13, 2019Assignee: VMware, Inc.Inventors: Badhrinath Sampathkumar, Zhelong Pan, Haoqiang Zheng, Fei Guo, Sabareesh Subramaniam
-
Publication number: 20190205155Abstract: Systems and methods for performing selection of non-uniform memory access (NUMA) nodes for mapping of virtual central processing unit (vCPU) operations to physical processors are provided. A CPU scheduler evaluates the latency between various candidate processors and the memory associated with the vCPU, and the size of the working set of the associated memory, and the vCPU scheduler selects an optimal processor for execution of a vCPU based on the expected memory access latency and the characteristics of the vCPU and the processors. The systems and methods further provide for monitoring system characteristics and rescheduling the vCPUs when other placements provide improved performance and efficiency.Type: ApplicationFiled: March 5, 2019Publication date: July 4, 2019Inventors: Seongbeom Kim, Haoqiang Zheng, Rajesh Venkatasubramanian, Puneet Zaroo
-
Patent number: 10255091Abstract: Systems and methods for performing selection of non-uniform memory access (NUMA) nodes for mapping of virtual central processing unit (vCPU) operations to physical processors are provided. A CPU scheduler evaluates the latency between various candidate processors and the memory associated with the vCPU, and the size of the working set of the associated memory, and the vCPU scheduler selects an optimal processor for execution of a vCPU based on the expected memory access latency and the characteristics of the vCPU and the processors. The systems and methods further provide for monitoring system characteristics and rescheduling the vCPUs when other placements provide improved performance and efficiency.Type: GrantFiled: September 21, 2014Date of Patent: April 9, 2019Assignee: VMWARE, INC.Inventors: Seongbeom Kim, Haoqiang Zheng, Rajesh Venkatasubramanian, Puneet Zaroo
-
Patent number: 10073711Abstract: A host computer has a virtualization software that supports execution of a plurality of virtual machines, where the virtualization software includes a virtual machine monitor for each of the virtual machines, and where each virtual machine monitor emulates a virtual central processing unit (CPU) for a corresponding virtual machine. A virtual machine monitor halts execution of a virtual CPU of a virtual machine by receiving a first halt instruction from a corresponding virtual machine and determining whether the virtual machine is latency sensitive. If the virtual machine is latency sensitive, then a second halt instruction is issued from the virtual machine monitor to halt a physical CPU on which the virtual CPU executes. If the virtual machine is not latency sensitive, then a system call to a kernel executing on the host computer is executed to indicate to the kernel that the virtual CPU is in an idle state.Type: GrantFiled: April 12, 2016Date of Patent: September 11, 2018Assignee: WMware, Inc.Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
-
Patent number: 10061610Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of of the process corresponding to the container are then executed on the corresponding physical CPU.Type: GrantFiled: May 11, 2017Date of Patent: August 28, 2018Assignee: VMware, Inc.Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
-
Publication number: 20180129526Abstract: A technique is described for managing processor (CPU) resources in a host having virtual machines (VMs) executed thereon. A target size of a VM is determined based on its demand and CPU entitlement. If the VM's current size exceeds the target size, the technique dynamically changes the size of a VM in the host by increasing or decreasing the number of virtual CPUs available to the VM. To “deactivate” virtual CPUs, a high-priority balloon thread is launched and pinned to one of the virtual CPUs targeted for deactivation, and the underlying hypervisor deschedules execution of the virtual CPU accordingly. To “activate” virtual CPUs, the number of virtual CPUs, the launched balloon thread may be killed.Type: ApplicationFiled: October 9, 2017Publication date: May 10, 2018Inventor: Haoqiang ZHENG
-
Publication number: 20180101486Abstract: 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.Type: ApplicationFiled: December 15, 2016Publication date: April 12, 2018Inventors: Xunjia LU, Haoqiang ZHENG
-
Publication number: 20180097874Abstract: Load balancing across hosts in a computer system is triggered based on pairwise comparisons of resource utilization at different host. A method for load balancing across hosts includes the steps of determining a resource utilization difference between first and second hosts, wherein the first host has a higher resource utilization than the second host, comparing the resource utilization difference against a threshold difference, and upon determining that the resource utilization difference exceeds the threshold difference, selecting a workload executing in the first host for migration to the second host.Type: ApplicationFiled: October 5, 2016Publication date: April 5, 2018Inventors: Badhrinath SAMPATHKUMAR, Zhelong PAN, Haoqiang ZHENG, Fei GUO, Sabareesh SUBRAMANIAM
-
NETWORKING STACK OF VIRTUALIZATION SOFTWARE CONFIGURED TO SUPPORT LATENCY SENSITIVE VIRTUAL MACHINES
Publication number: 20170308394Abstract: A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container. If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first virtual machine is not latency sensitive, then the first data packet is queued and and processing of the packet handling interrupt is delayed.Type: ApplicationFiled: July 10, 2017Publication date: October 26, 2017Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH