Cloud compute scheduling using a heuristic contention model

US9871742B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9871742-B2
Application numberUS-201615388843-A
CountryUS
Kind codeB2
Filing dateDec 22, 2016
Priority dateDec 24, 2013
Publication dateJan 16, 2018
Grant dateJan 16, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9871742B2 cover?
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 c…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).