Processor performance monitoring unit synchronization
US-9626229-B1 · Apr 18, 2017 · US
US11722382B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11722382-B2 |
| Application number | US-202117494569-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 5, 2021 |
| Priority date | Sep 28, 2012 |
| Publication date | Aug 8, 2023 |
| Grant date | Aug 8, 2023 |
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.
In accordance with some embodiments, a cloud service provider may operate a data center in a way that dynamically reallocates resources across nodes within the data center based on both utilization and service level agreements. In other words, the allocation of resources may be adjusted dynamically based on current conditions. The current conditions in the data center may be a function of the nature of all the current workloads. Instead of simply managing the workloads in a way to increase overall execution efficiency, the data center instead may manage the workload to achieve quality of service requirements for particular workloads according to service level agreements.
Opening claim text (preview).
The invention claimed is: 1. A method implemented using a computer system, the computer system being for use in association with dynamic cloud-based workload and/or data center resource allocation, the computer system comprising multiple hardware central processing unit (CPU) cores associated with multiple server nodes, the multiple hardware CPU cores being associated with CPU performance monitoring hardware to generate cache utilization-related data and memory bandwidth utilization-related data associated with execution of workloads by the multiple CPU cores, the method comprising: collecting the cache utilization-related data and/or the memory bandwidth utilization-related data; generating, on a socket-by-socket-basis, socket-level workload performance-related data based upon the cache utilization-related data and/or the memory bandwidth utilization-related data; and dynamically modifying, based upon (1) quality of service data and (2) the cache utilization-related data and/or the memory bandwidth-related data, allocation of the workloads to resources of the multiple CPU cores so as to address socket-level workload resource contention; wherein: the dynamically modifying comprises changing at least one workload-to-CPU core placement, based upon the socket-level workload performance-related data, so as to address the socket-level workload resource contention. 2. The method of claim 1 , wherein: the dynamically modifying also comprises changing at least one workload-to-server-node placement. 3. The method of claim 2 , wherein: the collecting comprises reading, at regular intervals, CPU hardware performance counters (PMU); and the allocation of the workloads to the resources is implemented, at least in part, using a cloud-based scheduler. 4. The method of claim 3 , wherein: the resources of the multiple CPU cores comprise memory bandwidth and/or cache resources; and the dynamically modifying also comprises changing at least one memory bandwidth allocation and/or at least one cache resource allocation to at least one other of the workloads. 5. The method of claim 4 , wherein: the quality of service data is based, at least in part, upon service level agreement data; and one or more of the workloads are associated with one or more virtual machines and/or containers. 6. The method of claim 4 , further comprising: using memory bandwidth-based hints in allocating of the resources. 7. Computer system for use in association with dynamic cloud-based workload and/or data center resource allocation, the computer system comprising: multiple hardware central processing unit (CPU) cores associated with multiple server nodes, the multiple hardware CPU cores being associated with CPU performance monitoring hardware to generate cache utilization-related data and memory bandwidth utilization-related data associated with execution of workloads by the multiple CPU cores; and memory storing instructions to be executed by the computer system, the instructions when executed resulting in the computer system being configured for performance of operations comprising: collecting the cache utilization-related data and/or the memory bandwidth utilization-related data; generating, on a socket-by-socket-basis, socket-level workload performance-related data based upon the cache utilization-related data and/or the memory bandwidth utilization-related data; and dynamically modifying, based upon (1) quality of service data and (2) the cache utilization-related data and/or the memory bandwidth-related data, allocation of the workloads to resources of the multiple CPU cores so as to address socket-level workload resource contention; wherein: the dynamically modifying comprises changing at least one workload-to-CPU core placement, based upon the socket-level workload performance-related data, so as to address the socket-level workload resource contention. 8. The computer system of claim 7 , wherein: the dynamically modifying also comprises changing at least one workload-to-server-node placement. 9. The computer system of claim 8 , wherein: the collecting comprises reading, at regular intervals, CPU hardware performance counters (PMU); and the allocation of the workloads to the resources is implemented, at least in part, using a cloud-based scheduler. 10. The computer system of claim 9 , wherein: the resources of the multiple CPU cores comprise memory bandwidth and/or cache resources; and the dynamically modifying also comprises changing at least one memory bandwidth allocation and/or at least one cache resource allocation to at least one other of the workloads. 11. The computer system of claim 10 , wherein: the quality of service data is based, at least in part, upon service level agreement data; and one or more of the workloads are associated with one or more virtual machines and/or containers. 12. The computer system of claim 10 , wherein: the operations further comprise using memory bandwidth-based hints in allocating of the resources. 13. Computer system for use in association with dynamic cloud-based workload and/or data center resource allocation, the computer system comprising: multiple server nodes comprising multiple hardware central processing unit (CPU) cores, the multiple hardware CPU cores being associated with CPU performance monitoring hardware to generate cache utilization-related data and memory bandwidth utilization-related data associated with execution of workloads by the multiple CPU cores; at least one other node associated with at least one cloud-based scheduler; and memory storing instructions to be executed by at least certain of the nodes of the computer system, the instructions when executed resulting in the computer system being configured for performance of operations comprising: collecting the cache utilization-related data and/or the memory bandwidth utilization-related data from the multiple server nodes; generating, on a socket-by-socket-basis, at least in part by the at least one other node, socket-level workload performance-related data based upon the cache utilization-related data and/or the memory bandwidth utilization-related data; and dynamically modifying, by the at least one other node, based upon (1) quality of service data and (2) the cache utilization-related data and/or the memory bandwidth-related data, allocation of the workloads to resources of the multiple CPU cores so as to address socket-level workload resource contention; wherein: the dynamically modifying comprises changing at least one workload-to-CPU core placement, based upon the socket-level workload performance-related data, so as to address the socket-level workload resource contention. 14. The computer system of claim 13 , wherein: the dynamically modifying also comprises changing at least one workload-to-server-node placement. 15. The computer system of claim 14 , wherein: the collecting comprises reading, at regular intervals, CPU hardware performance counters (PMU); and the allocation of the workloads to the resources is implemented, at least in part, using the cloud-based scheduler. 16. The computer system of claim 15 , wherein: the resources of the multiple CPU cores comprise memory bandwidth and/or cache resources; and the dynamically modifying also comprises changing at least one memory bandwidth allocation and/or at least one cache resource allocation to at least one other of the workloads. 17. The computer system of claim 16 , wherein: the quality of service data is based, at least in part, upon service level agreement data; a
Network service management, e.g. ensuring proper service fulfilment according to agreements · CPC title
involving simulating, designing, planning or modelling of a network · CPC title
Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] · CPC title
by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.