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: 10691495
    Abstract: 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: Grant
    Filed: July 25, 2018
    Date of Patent: June 23, 2020
    Assignee: VMware, Inc.
    Inventors: Xunjia Lu, Haoqiang Zheng, Bi Wu
  • Publication number: 20200065125
    Abstract: 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: Application
    Filed: August 24, 2018
    Publication date: February 27, 2020
    Inventors: Haoqiang Zheng, Fei Guo, Zhelong Pan
  • Publication number: 20200065126
    Abstract: 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: Application
    Filed: August 24, 2018
    Publication date: February 27, 2020
    Inventors: Haoqiang Zheng, Fei Guo, Zhelong Pan
  • Patent number: 10572282
    Abstract: 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: Grant
    Filed: April 21, 2017
    Date of Patent: February 25, 2020
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Carl A. Waldspurger
  • Publication number: 20200059513
    Abstract: 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: Application
    Filed: July 31, 2019
    Publication date: February 20, 2020
    Inventors: Badhrinath Sampathkumar, Zhelong Pan, Haoqiang Zheng, Fei Guo, Sabareesh Subramaniam
  • Publication number: 20200034202
    Abstract: 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: Application
    Filed: July 25, 2018
    Publication date: January 30, 2020
    Inventors: Xunjia LU, Haoqiang ZHENG, Bi WU
  • Publication number: 20200034201
    Abstract: 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: Application
    Filed: July 25, 2018
    Publication date: January 30, 2020
    Inventors: Xunjia LU, Haoqiang ZHENG, Bi WU
  • Publication number: 20190370053
    Abstract: 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: Application
    Filed: August 20, 2019
    Publication date: December 5, 2019
    Inventor: Haoqiang ZHENG
  • Patent number: 10452572
    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.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: October 22, 2019
    Assignee: VMware, Inc.
    Inventors: Xunjia Lu, Haoqiang Zheng
  • Patent number: 10430226
    Abstract: 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: Grant
    Filed: October 9, 2017
    Date of Patent: October 1, 2019
    Assignee: VMware Inc.
    Inventor: Haoqiang Zheng
  • Patent number: 10382535
    Abstract: 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: Grant
    Filed: October 5, 2016
    Date of Patent: August 13, 2019
    Assignee: VMware, Inc.
    Inventors: Badhrinath Sampathkumar, Zhelong Pan, Haoqiang Zheng, Fei Guo, Sabareesh Subramaniam
  • Publication number: 20190205155
    Abstract: 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: Application
    Filed: March 5, 2019
    Publication date: July 4, 2019
    Inventors: Seongbeom Kim, Haoqiang Zheng, Rajesh Venkatasubramanian, Puneet Zaroo
  • Patent number: 10255091
    Abstract: 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: Grant
    Filed: September 21, 2014
    Date of Patent: April 9, 2019
    Assignee: VMWARE, INC.
    Inventors: Seongbeom Kim, Haoqiang Zheng, Rajesh Venkatasubramanian, Puneet Zaroo
  • Patent number: 10073711
    Abstract: 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: Grant
    Filed: April 12, 2016
    Date of Patent: September 11, 2018
    Assignee: WMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Patent number: 10061610
    Abstract: 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: Grant
    Filed: May 11, 2017
    Date of Patent: August 28, 2018
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Publication number: 20180129526
    Abstract: 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: Application
    Filed: October 9, 2017
    Publication date: May 10, 2018
    Inventor: Haoqiang ZHENG
  • Publication number: 20180101486
    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.
    Type: Application
    Filed: December 15, 2016
    Publication date: April 12, 2018
    Inventors: Xunjia LU, Haoqiang ZHENG
  • Publication number: 20180097874
    Abstract: 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: Application
    Filed: October 5, 2016
    Publication date: April 5, 2018
    Inventors: Badhrinath SAMPATHKUMAR, Zhelong PAN, Haoqiang ZHENG, Fei GUO, Sabareesh SUBRAMANIAM
  • Publication number: 20170308394
    Abstract: 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: Application
    Filed: July 10, 2017
    Publication date: October 26, 2017
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Patent number: 9785460
    Abstract: 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 and increase the number of virtual CPUs available to the VM, the launched balloon thread may be killed.
    Type: Grant
    Filed: May 3, 2013
    Date of Patent: October 10, 2017
    Assignee: VMware, Inc.
    Inventor: Haoqiang Zheng