Resource allocation using traffic aggregability and future bandwidth availability in a network
US-2024292275-A1 · Aug 29, 2024 · US
US9871742B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9871742-B2 |
| Application number | US-201615388843-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 22, 2016 |
| Priority date | Dec 24, 2013 |
| Publication date | Jan 16, 2018 |
| Grant date | Jan 16, 2018 |
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.
Technologies for contention-aware cloud compute scheduling include a number of compute nodes in a cloud computing cluster and a cloud controller. Each compute node collects performance data indicative of cache contention on the compute node, for example, cache misses per thousand instructions. Each compute node determines a contention score as a function of the performance data and stores the contention score in a cloud state database. In response to a request for a new virtual machine, the cloud controller receives contention scores for the compute nodes and selects a compute node based on the contention score. The cloud controller schedules the new virtual machine on the selected compute node. The contention score may include a contention metric and a contention score level indicative of the contention metric. The contention score level may be determined by comparing the contention metric to a number of thresholds. Other embodiments are described and claimed.
Opening claim text (preview).
The invention claimed is: 1. A compute node of a cloud computing cluster, the compute node comprising: a data collection module to collect performance data indicative of cache memory contention of the compute node; a contention score determination module to determine a contention score as a function of the performance data, the contention score to include a contention metric and a contention score level indicative of the contention metric, wherein to determine the contention score comprises to determine the contention score level by comparison of a rate of cache misses per reference number of instructions to one or more threshold values, wherein to determine the contention score level further comprises to (i) compare the rate of cache misses per reference number of instructions to a low contention threshold value, (ii) set the contention score level to a low contention level in response to a determination that the rate is less than the low contention threshold value, (iii) compare the rate of cache misses per reference number of instructions to a high contention threshold value, (iv) set the contention score level to a medium contention level in response to a determination that the rate is greater than or equal to the low contention threshold value and less than the high contention threshold value, and (v) set the contention score level to a high contention level in response to a determination that the rate is greater than or equal to the high contention threshold value; and a communication module to store the contention score in a cloud state database, the cloud state database accessible by a cloud controller of the cloud computing cluster. 2. The compute node of claim 1 , wherein to determine the contention score comprises to determine the contention metric as a function of a number of cache misses of the compute node. 3. The compute node of claim 2 , wherein to determine the contention metric comprises to determine a rate of cache misses per reference number of instructions. 4. The compute node of claim 1 , further comprising a processor core including a performance monitoring unit, wherein to collect the performance data comprises to read the performance monitoring unit of the processor core. 5. The compute node of claim 1 , further comprising a processor including an uncore, the uncore including a performance monitoring unit, wherein to collect the performance data comprises to read the performance monitoring unit of the uncore of the processor. 6. The compute node of claim 1 , wherein to collect the performance data comprises to associate the performance data with one or more virtual machines executed by the compute node. 7. The compute node of claim 1 , wherein to determine the contention metric further comprises to aggregate the rate of cache misses per reference number of instructions for all processor cores of the compute node. 8. The compute node of claim 1 , wherein the low contention threshold value comprises 3 cache misses per thousand instructions, and wherein the high contention threshold value comprises 50 cache misses per thousand instructions. 9. A method for contention monitoring for cloud computing, the method comprising: collecting, by a compute node of a cloud computing cluster, performance data indicative of cache memory contention of the compute node; determining, by the compute node, a contention score as a function of the performance data, the contention score including a contention metric and a contention score level indicative of the contention metric, wherein determining the contention score comprises determining the contention score level by comparing the rate of cache misses per reference number of instructions to one or more threshold values; and storing, by the compute node, the contention score in a cloud state database, the cloud state database accessible by a cloud controller of the cloud computing cluster; wherein determining the contention score level further comprises: comparing the rate of cache misses per reference number of instructions to a low contention threshold value; setting the contention score level to a low contention level in response to determining that the rate is less than the low contention threshold value; comparing the rate of cache misses per reference number of instructions to a high contention threshold value; setting the contention score level to a medium contention level in response to determining that the rate is greater than or equal to the low contention threshold value and less than the high contention threshold value; and setting the contention score level to a high contention level in response to determining that the rate is greater than or equal to the high contention threshold value. 10. The method of claim 9 , wherein determining the contention score comprises determining the contention metric as a function of a number of cache misses of the compute node. 11. The method of claim 10 , wherein determining the contention metric comprises determining a rate of cache misses per reference number of instructions. 12. The method of claim 9 , wherein collecting the performance data comprises reading a performance monitoring unit of a processor core of the compute node. 13. The method of claim 9 , wherein collecting the performance data comprises reading a performance monitoring unit of an uncore of a processor of the compute node. 14. The method of claim 9 , wherein determining the contention metric further comprises aggregating the rate of cache misses per reference number of instructions for all processor cores of the compute node. 15. One or more computer-readable storage media comprising a plurality of instructions that in response to being executed cause a compute node of a cloud computing cluster to: collect performance data indicative of cache memory contention of the compute node; determine a contention score as a function of the performance data, the contention score including a contention metric and a contention score level indicative of the contention metric, wherein to determine the contention score comprises to determine the contention score level by comparing the rate of cache misses per reference number of instructions to one or more threshold values; and store the contention score in a cloud state database, the cloud state database accessible by a cloud controller of the cloud computing cluster; wherein to determine the contention score level further comprises to: compare the rate of cache misses per reference number of instructions to a low contention threshold value; set the contention score level to a low contention level in response to determining that the rate is less than the low contention threshold value; compare the rate of cache misses per reference number of instructions to a high contention threshold value; set the contention score level to a medium contention level in response to determining that the rate is greater than or equal to the low contention threshold value and less than the high contention threshold value; and set the contention score level to a high contention level in response to determining that the rate is greater than or equal to the high contention threshold value. 16. The one or more computer-readable storage media of claim 15 , wherein to determine the contention score comprises to determine the contention metric as a function of a number of cache misses of the compute node. 17. The one or more computer-readable storage media of claim 16 , wherein to determine the contention metric comprises to determine a rate of cache misses per reference number of
the resource being a machine, e.g. CPUs, Servers, Terminals · 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
Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title
Threshold monitoring · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.