Interface between a resource manager and a scheduler in a process

US9378062B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9378062-B2
Application numberUS-48708409-A
CountryUS
Kind codeB2
Filing dateJun 18, 2009
Priority dateJun 18, 2009
Publication dateJun 28, 2016
Grant dateJun 28, 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.

An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer memory storing computer-executable instructions that, when executed by at least one computer system, perform a method comprising: registering at a resource manager a first scheduler, the first scheduler separate from the resource manager; receiving at the resource manager a request from the first scheduler for processing resources; receiving at the resource manager, first information that describes a first amount of use of a first set of resources allocated to the first scheduler of a first process; and adjusting, by the resource manager, the first set of resources allocated to the first scheduler in accordance with the first information, the resource manager adjusting processing resources to the first scheduler by providing an array of interfaces to a plurality of virtual processor roots and a count of a number of array element to the first scheduler; wherein the first scheduler creates a virtual processor for each interface to a virtual processor root and maps each virtual processor to a corresponding virtual processor root, wherein the virtual processor root maps to a respective hardware thread of the computer system. 2. The computer memory of claim 1 , the method further comprising: providing a first request for the first information to the first scheduler. 3. The computer memory of claim 1 , the method further comprising: providing a second request for second information to the first scheduler subsequent to receiving the first information; receiving the second information that describes a second amount of use of the first set of resources by the first scheduler; and adjusting the first set of resources in accordance with the first information and the second information. 4. The computer memory of claim 1 , the method further comprising: adjusting the first set of resources in accordance with the first information and a set of policies of the first scheduler. 5. The computer memory of claim 1 , wherein at least one resource in the first set of resources includes a virtual processor that maps to a hardware thread of the computer system. 6. The computer memory of claim 1 , the method further comprising: receiving second information that describes a second amount of use of a second set of resources by a second scheduler of the first process; and adjusting the second set of resources in accordance with the second information. 7. The computer memory of claim 1 , the method further comprising: receiving second information that describes a second amount of use of a second set of resources by a second scheduler of a second process that is executing concurrently with the first process; and adjusting the second set of resources in accordance with the second information. 8. The computer memory of claim 7 , the method further comprising: adjusting the first set of resources in accordance with the first information and the second information; and adjusting the second set of resources in accordance with the first information and the second information. 9. The computer memory of claim 1 , wherein the first set of resources include one or more of a processing resource, an execution context, a memory resource, and a network resource. 10. A method performed by at least one computer system, the method comprising: registering a first scheduler of a process with a resource manager, separate from the resource manager, to create a first interface in the resource manager; requesting from the resource manager processing resources; obtaining policy information about the first scheduler, in response to the request for processing resources; allocating, by the resources manager, a first set of processing resources to the first scheduler using a second interface in the first scheduler; requesting first information from the first scheduler that describes a first amount of processing performed by the first set of processing resources using the second interface; and adjusting, by the resource manager, according to the obtained policy information, a first number of processing resources allocated to the first scheduler in the first set in response to receiving the first information using the second interface, the resource manager adjusting processing resources to the first scheduler by providing an array of interfaces to a plurality of virtual processor roots and a count of a number of array element to the first scheduler; wherein the first scheduler creates a virtual processor for each interface to a virtual processor root and maps each virtual processor to a corresponding virtual processor root, wherein the virtual processor root maps to a respective hardware thread of the computer system. 11. The method of claim 10 further comprising: activating each of the first set of processing resources using the first interface; and dispatching a respective execution context on each of the first set of processing resources using the second interface in response to the activating. 12. The method of claim 10 further comprising: adjusting the first number of processing resources in the first set by adding a processing resource to the first set using the second interface. 13. The method of claim 10 further comprising: adjusting the first number of processing resources in the first set by removing a processing resource from the first set using the second interface. 14. The method of claim 10 further comprising: registering a second scheduler of the process with the resource manager to create a third interface in the resource manager; allocating a second set of processing resources to the second scheduler using a fourth interface in the second scheduler; requesting second information that describes a second amount of processing performed by the second set of processing resources using the fourth interface; and adjusting a second number of processing resources in the second set in response to receiving the second information using the fourth interface. 15. The method of claim 14 further comprising: creating a scheduler bundle using the first interface; and adding the first and the second schedulers to the scheduler bundle using the first interface. 16. A computer memory storing computer-executable instructions that, when executed on at least one computer system, perform a method comprising: requesting by a first scheduler or a second scheduler processing resources from a resource manager; receiving in response to the request, at the resource manager, first information that describes a first amount of processing performed by a first set of processing resources in the first scheduler of a process and receiving, at the resource manager, a first set of policies of the first scheduler; receiving in response to the request, at the resource manager, second information that describes a second amount of processing performed by a second set of processing resources in the second scheduler of the process and receiving, at the resource manager, a second set of policies of the second scheduler; adjusting, by the resource manager, a first number of processing resources in the first set and a second number of processing resources in the second set in accordance with the first information, the second information, the first set of policies, and the second set of policies, wherein the resource manager adjusts processing resources to the first or the second scheduler by providing an array of interfaces to a plurality of virtual processor roots and a count of a number of array elements to the first or second scheduler; and creating by either the first or the second sched

Assignees

Inventors

Classifications

  • Partitioning or combining of resources · CPC title

  • Workload threshold · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • involving task migration · CPC title

  • G06F9/505Primary

    considering the load · 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 US9378062B2 cover?
An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The re…
Who is the assignee on this patent?
Ringseth Paul F, Messmer William R, Gustafsson Niklas, and 3 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 Jun 28 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).