US2017353534A1PendingUtilityA1

Virtual performance monitoring decoupled from hardware performance-monitoring units

Assignee: VMWARE INCPriority: Apr 28, 2014Filed: Aug 25, 2017Published: Dec 7, 2017
Est. expiryApr 28, 2034(~7.8 yrs left)· nominal 20-yr term from priority
H04L 43/00H04L 67/10H04L 67/1097
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The current document is directed to virtualized PMUs provided by virtualization layers. The currently disclosed virtualized PMUs are decoupled from the underlying PMU hardware features of processors on which the virtualization layer executes. The decoupling is achieved, in part, by time multiplexing the underlying hardware PMU registers to provide a greater number of virtualized PMU registers than the number of hardware-PMU registers provided by at least some of the underlying hardware PMUs. The decoupling is also achieved by providing for monitoring, by the virtualized PMU registers, of computed processor events and approximated processor events in addition to the processor events monitored by the underlying hardware PMUs. In addition, the virtualized PMU registers are implemented, in certain implementations, to support a variety of different monitoring modes, including monitoring of processor events that occur only during execution of the virtualization layer and monitoring of hardware-thread-specific processor events.

Claims

exact text as granted — not AI-modified
1 . A cloud-computing facility comprising:
 multiple computer systems, each including
 one or more processors, 
 one or more memories, and 
 a virtualization layer comprising computer instructions, stored in a physical data-storage device within the computer system, that, when executed by one or more of the one or more processors, control the computer system to
 provide a virtual hardware interface to a virtual machine that includes a guest operating system; and 
 provide, as a component of the virtual hardware interface, a set of hardware-decoupled virtual performance monitoring registers that are accessed by the guest operating system, that are provided by the virtualization layers of the other of the multiple computer systems so that the guest operating system accesses the same set of hardware-decoupled virtual performance monitoring registers when the virtual machine migrates among the multiple computer systems, and that includes a hardware-decoupled virtual performance monitoring register that accumulates a count of the occurrence of an event of a type that is not accumulated by the hardware performance monitoring registers of one or more of the processors orfone or more of the multiple computer systems. 
 
   
     
     
         2 . The cloud-computing facility of  claim 1  wherein the hardware-decoupled virtual performance monitoring register that accumulates the count of the occurrence of the event of the type that is not accumulated by the hardware performance monitoring registers of one or more of the processors of one or more of the multiple computer systems accumulates a count of an event derived from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         3 . The cloud-computing facility of  claim 2  wherein the count of the event derived from counts accumulated by two or more hardware performance monitoring registers is derived by computing an exact count of the derived event from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         4 . The cloud-computing facility of  claim 2  wherein the count of the event derived from counts accumulated by two or more hardware performance monitoring registers is derived by computing an approximate count of the derived event from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         5 . The cloud-computing facility of  claim 1  wherein the set of hardware-decoupled virtual performance monitoring registers includes a larger number of hardware-decoupled virtual performance monitoring registers than a number of hardware performance monitoring registers of one or more of the one or more processors of the computer system on which the virtual machine is executing. 
     
     
         6 . The cloud-computing facility of  claim 5  wherein the counts accumulated by the hardware-decoupled virtual performance monitoring registers are obtained by time multiplexing the hardware performance monitoring registers. 
     
     
         7 . The cloud-computing facility of  claim 1  wherein the set of hardware-decoupled virtual performance monitoring registers includes a hardware-decoupled virtual performance monitoring register associated with a specifiable mode that controls the virtualization layer to count events during execution of a subset of the instructions executed by one or more of the one or more processors of the computer system on which the virtual machine is executing. 
     
     
         8 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions that implement a virtual machine and the virtualization layer. 
     
     
         9 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions other than those implement a virtual machine and the virtualization layer. 
     
     
         10 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions on behalf of a specific hardware thread. 
     
     
         11 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of virtualization-layer instructions. 
     
     
         12 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions that implement a specific virtual machine. 
     
     
         13 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions that implement a specific guest operating system. 
     
     
         14 . The cloud-computing facility of  claim 7  wherein the specifiable mode controls the virtualization layer to count events during execution of instructions that implement a specific application program. 
     
     
         15 . A method that provides for performance monitoring of a virtual machine as the virtual machine migrates among multiple computer systems of a cloud-computing facility, the method comprising:
 installing, within each of the multiple computer systems that each includes one or more processors and one or more memories, a virtualization layer comprising computer instructions, stored in a physical data-storage device within the computer system, that, when executed by one or more of the one or more processors, control the computer system to
 provide a virtual hardware interface to a virtual machine that includes a guest operating system; and 
 provide, as a component of the virtual hardware interface, a set of hardware-decoupled virtual performance monitoring registers that can be accessed by the guest operating system, that are commonly provided by the virtualization layers of the multiple computer systems; and 
   accumulating a count of the occurrence of an event of a type that is not accumulated by the hardware performance monitoring registers of one or more of the processors of one or more of the multiple computer systems in a hardware-decoupled virtual performance monitoring register.   
     
     
         16 . The method of  claim 15  wherein the hardware-decoupled virtual performance monitoring register that accumulates the count of the occurrence of the event of the type that is not accumulated by the hardware performance monitoring registers of one or more of the processors of one or more of the multiple computer systems accumulates a count of an event derived from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         17 . The method of  claim 16  wherein the count of the event derived from counts accumulated by two or more hardware performance monitoring registers is derived by computing an exact count of the derived event from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         18 . The method of  claim 16  wherein the count of the event derived from counts accumulated by two or more hardware performance monitoring registers is derived by computing an approximate count of the derived event from counts accumulated by two or more hardware performance monitoring registers. 
     
     
         19 . The method of  claim 15  wherein the set of hardware-decoupled virtual performance monitoring registers includes a larger number of hardware-decoupled virtual performance monitoring registers than a number of hardware performance monitoring registers of one or more of the one or more processors of the computer system on which the virtual machine is executing. 
     
     
         20 . The cloud-computing facility of  claim 19  wherein the counts accumulated by the hardware-decoupled virtual performance monitoring registers are obtained by time multiplexing the hardware performance monitoring registers.

Join the waitlist — get patent alerts

Track US2017353534A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.