Distributed workload reassignment following communication failure
US-11882011-B2 · Jan 23, 2024 · US
US9756118B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9756118-B2 |
| Application number | US-201414263640-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 28, 2014 |
| Priority date | Apr 28, 2014 |
| Publication date | Sep 5, 2017 |
| Grant date | Sep 5, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention claimed is: 1. A virtualization, layer comprising computer instructions, stored in a memory within a virtualized computer system that includes one or more processors, one or more memories, and one or more physical data-storage devices, that, when executed by one or more of the one or more processors, control the virtualized computer system to: provide a virtual hardware interface to one or more virtual machines that each includes a guest operating system and one or more application programs that execute within an execution environment provided by the guest operating system; and provide, as a component of the virtual hardware interface, a set of virtual performance monitoring registers that can be accessed by the one or more of the guest operating systems and that differ in one or more of number and function from the hardware-level performance monitoring registers provided by any one of the one or more processors; wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrence of a specified type of event over a monitoring time interval by: time multiplexing a hardware-level performance monitoring register in order to collect and accumulate counts of the occurrences of the specified type of event from the hardware-level performance monitoring register during multiple time intervals each shorter than the monitoring time interval and that together represent a total accumulated time less than the monitoring time interval. 2. The virtualization layer of claim 1 wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrences of a specified type of event over a monitoring time interval by: computing, from the values provided by one or more hardware-level performance monitoring registers, a count of the occurrence of the specified type of event. 3. The virtualization layer of claim 1 wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrences of a specified type of event over a monitoring time interval by: computing, from the values provided by one or more hardware-level performance monitoring registers, an estimation of the count of the occurrence of the specified type of event. 4. The virtualization layer of claim 1 wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrences of a specified type of event over a monitoring time interval according to a selectable monitoring mode, selected from among modes that specify counting of the occurrences of the specified type of event under specific operational characteristics of a processor and a virtual machine executed by the processor. 5. The virtualization layer of claim 4 wherein the specific operational characteristics of a processor and a virtual machine executed by the processor include: current execution of the virtual machine on a particular hardware thread; current execution of virtualization-layer instructions; current execution of virtual-machine instructions; current execution of guest-operating-system instructions; current execution of application-program instructions; current execution of any of virtualization-layer instructions, virtual-machine instructions, guest-operating-system instructions, and application-program instructions; current execution of any of virtualization-layer instructions, virtual-machine instructions, and guest-operating-system instructions; and current execution of any of virtualization-layer instructions and virtual-machine instructions. 6. The virtualization layer of claim 1 wherein the virtualization layer further comprises virtualization-layer components that include logical, physically mapped performance monitoring counter registers that each stores accumulated counts for a specific type of events and performance monitoring event-selection registers that each, when written with an event type, selects for accumulation of counts for the written event type in a corresponding performance monitoring counter register. 7. The virtualization layer of claim 1 wherein the virtualization layer further comprises virtualization-layer components that include virtual access instructions and virtual interrupt vectors. 8. The virtualization layer of claim 1 wherein the virtualization layer further comprises virtualization-layer components that include logical counters that store accumulated counts of the occurrences of virtual event types, the accumulated counts of the occurrences of virtual event types computed exactly or estimated from accumulated counts of events stored in logical, physically mapped performance monitoring counter registers. 9. The virtualization layer of claim 1 wherein the virtualization layer further comprises virtualization-layer components that include a map, each entry of which associates a logical counter with a logical, physically mapped performance monitoring counter register. 10. The virtualization layer of claim 1 wherein the virtualization layer further comprises virtualization-layer components that include an event table, each entry of which includes an event code, an indication of whether or not the event is monitored by a hardware-level performance monitoring counter, and a pointer, for computed and approximated events, to a corresponding count-computation that includes the logic to compute the computed or approximated event. 11. A method for monitoring processor events within a virtualized computer system that includes one or more processors, one or more memories, one or more physical data-storage devices, and a virtualization layer that provides a virtual hardware interface to one or more virtual machines that each includes a guest operating system and one or more application programs that execute within an execution environment provided by the guest operating system, the method comprising: providing, as a component of the virtual hardware interface, a set of virtual performance monitoring registers that can be accessed by the one or more of the guest operating systems and that differ in one or more of number or and function from the hardware-level performance monitoring registers provided by any one of the one or more processors; and using the virtual performance monitoring registers to accumulate counts of events that can be interpreted by performance monitoring tools which display performance monitoring data and graphical representations to human users, the events selected from among events that include virtual events and hardware-level-monitored events; wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrence of a specified type of virtual event over a monitoring time interval by: time multiplexing a hardware-level performance monitoring register in order to collect and accumulate counts of the occurrences of the specified type of virtual event from the hardware-level performance monitoring register during multiple time intervals each shorter than the monitoring time interval and that together represent a total accumulated time less than the monitoring time interval. 12. The method of claim 11 wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrences of a specified type of virtual event over a monitoring time interval by: computing, from the values provided by one or more hardware-level performance monitoring registers, a count of the occurrence of the specified type of virtual event. 13. The method of claim 11 wherein the virtualization layer provides a virtual performance monitoring register that counts the occurrence
Arrangements for monitoring or testing data switching networks · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.