Resource health based scheduling of workload tasks

US9329901B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9329901-B2
Application numberUS-201113315382-A
CountryUS
Kind codeB2
Filing dateDec 9, 2011
Priority dateDec 9, 2011
Publication dateMay 3, 2016
Grant dateMay 3, 2016

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.

A computer-implemented method for allocating threads includes: receiving a registration of a workload, the registration including a workload classification and a workload priority; monitoring statuses of a plurality of resources; identifying, by a computing device, a thread of a resource from the plurality of resources, the thread being programmed to execute a task associated with the workload; evaluating, by the computing device, the workload classification and the workload priority of the workload with workload classifications and workload priorities of other workloads requesting the thread; and allocating the thread to one of the workloads based on evaluation of the workload classification and the workload priority.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for allocating threads, the method comprising: maintaining a computer-readable registration of a first computer-executable workload, the registration of the first workload including a first workload classification, the first workload classification yielding a first workload priority level for the first workload; maintaining a computer-readable registration of a second computer-executable workload, the registration of the second workload including a second workload classification, the second workload classification yielding a second workload priority level for the second workload that is different from the first workload priority level; monitoring a status of a computer resource, the monitoring of the status comprising determining a health value representing a health status of the resource for performing workload operations; and allocating the computer resource to execute tasks from a plurality of workloads comprising the first workload and the second workload, the allocating comprising requiring the determined health value of the resource to be within a predetermined first value range to process tasks from workloads with the first workload priority level, and requiring the determined health value of the resource to be within a predetermined second value range to process tasks from workloads with the second workload priority level, the first value range being different from the second value range; wherein the allocating further comprises: determining that a thread allocation count parameter exceeds a threshold value, wherein the thread allocation count parameter quantifies a number of consecutive times a subject workload has been selected to have a task from the subject workload considered for allocation to one or more computer resources comprising the computer resource; and in response to the determining that the thread allocation count parameter exceeds the threshold, selecting a workload with a lesser priority than the subject workload. 2. The method of claim 1 , wherein the first workload classification is internal and the second workload classification is external. 3. The method of claim 2 , wherein the first workload classification and the second workload classification are specified by default. 4. The method of claim 1 , wherein the allocating is performed in a round-robin fashion when workload priorities are similar. 5. The method of claim 1 , wherein the allocating selects a preferred thread allocation when workload priorities are dissimilar. 6. The method of claim 1 , further comprising throttling the workload in response to a determination that the resource is overloaded. 7. The method of claim 1 , further comprising configuring the workload classification and the workload priority using an administrative interface. 8. The method of claim 1 , wherein the first predetermined value range is defined at least in part by a stored first threshold value, and wherein the second predetermined value range is defined at least in part by a stored second threshold value. 9. The method of claim 1 , wherein determining the health value comprises determining a first health value representing a health status of the resource at a first time and determining a second health value representing a health status of the resource at a second time, wherein the first health value and the second health value are both values that are within the second value range and outside the first value range, and wherein the allocating comprises: determining that the determined first health value is outside the first value range; in response to determining that the first health value is outside the first value range, declining to assign a task from the first workload to the computer resource for execution; determining that the determined second health value is within the second value range; and in response to determining that the second health value is within the second value range, assigning a task from the second workload to the computer resource for execution. 10. The method of claim 1 , wherein the first value range is defined at least in part by a first predetermined threshold value and wherein the second value range is defined at least in part by a second predetermined threshold value that is different from the first threshold value. 11. A computing system, comprising: at least one processing unit; and at least one system memory connected to the at least one processing unit, the at least one system memory including instructions that, when executed by the at least one processing unit, cause the at least one processing unit to perform acts comprising: maintaining a computer-readable registration of a first computer-executable workload, the registration of the first workload including a first workload classification, the first workload classification yielding a first workload priority level for the first workload; maintaining a computer-readable registration of a second computer-executable workload, the registration of the second workload including a second workload classification, the second workload classification yielding a second workload priority level for the second workload that is different from the first workload priority level; monitoring a status of a computer resource, the monitoring of the status comprising determining a health value representing a health status of the resource for performing workload operations; and allocating the computer resource to execute tasks from a plurality of workloads comprising the first workload and the second workload, the allocating comprising requiring the determined health value of the resource to be within a predetermined first value range to process tasks from workloads with the first workload priority level, and requiring the determined health value of the resource to be within a predetermined second value range to process tasks from workloads with the second workload priority level, the first value range being different from the second value range; wherein the allocating further comprises: determining that a thread allocation count parameter exceeds a threshold value, wherein the thread allocation count parameter quantifies a number of consecutive times a subject workload has been selected to have a task from the subject workload considered for allocation to one or more computer resources comprising the computer resource; and in response to the determining that the thread allocation count parameter exceeds the threshold, selecting a workload with a lesser priority than the subject workload. 12. The system of claim 11 , wherein the first workload classification is internal and the second workload classification is external. 13. The system of claim 11 , wherein the first workload classification and the second workload classification are specified by default. 14. The system of claim 11 , wherein the allocating is performed in a round-robin fashion when workload priorities are similar. 15. The system of claim 11 , wherein the allocating selects a preferred thread allocation when workload priorities are dissimilar. 16. One or more computer-readable storage media having computer-executable instructions that, when executed by a computing system, cause the computing system to perform acts comprising: maintaining a computer-readable registration of a first computer-executable workload, the registration of the first workload including a first workload classification, the first workload classification yielding a first workload priority level for the first workload; maintaining a computer-readable registration of a se

Assignees

Inventors

Classifications

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 US9329901B2 cover?
A computer-implemented method for allocating threads includes: receiving a registration of a workload, the registration including a workload classification and a workload priority; monitoring statuses of a plurality of resources; identifying, by a computing device, a thread of a resource from the plurality of resources, the thread being programmed to execute a task associated with the …
Who is the assignee on this patent?
Sterling David Andrew, Boctor Victor, Mathur Siddhartha, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 03 2016 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).