Meta-scheduler with meta-contexts

US9367350B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9367350-B2
Application numberUS-24496608-A
CountryUS
Kind codeB2
Filing dateOct 3, 2008
Priority dateOct 3, 2008
Publication dateJun 14, 2016
Grant dateJun 14, 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 process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: providing a first quantum of execution on a first meta-virtual processor to a first scheduler-context of a first scheduler in a meta-scheduler created by a process executing on a computer system; and providing a second quantum of execution on the first meta-virtual processor to a second scheduler-context of a second scheduler in the meta-scheduler subsequent to the first quantum of execution on the first meta-virtual processor, the first and second quantum being expressed in terms of a number of tasks to be executed, the first scheduler including a first plurality of virtual processors, the second scheduler including a second plurality of virtual processors, the first scheduler excluding the second plurality of virtual processors, the second scheduler excluding the first plurality of virtual processors, the first meta-virtual processor being one of a plurality of meta-virtual processors, the plurality of meta-virtual processors, the first plurality of virtual processors, and the second plurality of virtual processors having a same cardinality. 2. The method of claim 1 wherein the first scheduler-context is attached to a first virtual processor of the first scheduler, and wherein the second scheduler-context is attached to a second virtual processor of the second scheduler. 3. The method of claim 1 further comprising: identifying the first scheduler-context and the first scheduler in a dispatch aggregate prior to providing the first quantum of execution; and identifying the second scheduler-context and the second scheduler in the dispatch aggregate prior to providing the second quantum of execution, the second quantum of execution being extended to allow the second scheduler to execute the second scheduler-context without cooperatively yielding to a meta-context. 4. The method of claim 1 further comprising: providing a third quantum of execution on a second meta-virtual processor to a third scheduler-context of the first scheduler during the first quantum of execution; and providing a fourth quantum of execution on the second meta-virtual processor to a fourth scheduler-context of the second scheduler subsequent to the first quantum of execution on the second meta-virtual processor. 5. The method of claim 4 wherein the first scheduler-context is attached to a first virtual processor of the first scheduler, wherein the third scheduler-context is attached to a second virtual processor of the first scheduler, wherein the second scheduler-context is attached to a third virtual processor of the second scheduler, and wherein the fourth scheduler-context is attached to a fourth virtual processor of the second scheduler. 6. The method of claim 1 further comprising: detecting that a third scheduler is added to the meta-scheduler; and adding a third scheduler-context and the third scheduler to a dispatch aggregate corresponding to the first meta-virtual processor. 7. The method of claim 6 further comprising: providing a third quantum of execution on the first meta-virtual processor to the third scheduler-context of the third scheduler in the meta-scheduler subsequent to the second quantum of execution on the first meta-virtual processor. 8. The method of claim 1 further comprising: subsequent to providing the first quantum of execution, detecting that a virtual processor that executes the first scheduler-context has entered an idle state; and subsequent to providing the second quantum of execution, providing a third quantum of execution on the first meta-virtual processor to the second scheduler-context of the second scheduler in the meta-scheduler prior to providing a fourth quantum of execution on the first meta-virtual processor to the first scheduler subsequent to the first scheduler-context returning from the idle state. 9. A method performed by a process executing on a computer system, the method comprising: creating a meta-scheduler with first and second meta-virtual processors and corresponding first and second virtual processor contexts; creating a first scheduler with first and second virtual processors in the meta-scheduler and a second scheduler with third and fourth virtual processors in the meta-scheduler, the first scheduler including a first plurality of virtual processors, the first and second virtual processors being part of the first plurality of virtual processors, the second scheduler including a second plurality of virtual processors, the third and fourth virtual processors being part of the second plurality of virtual processors, the first scheduler excluding the second plurality of virtual processors, the second scheduler excluding the first plurality of virtual processors, the first and second meta-virtual processor being part of a plurality of meta-virtual processors, the plurality of meta-virtual processors, the first plurality of virtual processors, and the second plurality of virtual processors having a same cardinality, the first and second schedulers having different sets of scheduler policies: providing at least one quantum of execution to the meta-scheduler, the at least one quantum of execution expressed in terms of a number of tasks to be executed; and associating the first and the third virtual processors with the first meta-virtual processor and the second and the fourth virtual processors with the second meta-virtual processor. 10. The method of claim 9 further comprising: executing a first scheduler-context on the first virtual processor in response to receiving a first quantum of execution from the first meta-context; and subsequent to the first quantum of execution, executing a second scheduler-context on the third virtual processor in response to receiving a second quantum of execution from the first meta-context. 11. The method of claim 10 further comprising: yielding to the first meta-context in response to the first quantum of execution expiring; and receiving the second quantum of execution subsequent to yielding to the first meta-context. 12. The method of claim 10 further comprising: during the first quantum of execution, executing a third scheduler-context on the second virtual processor in response to receiving a third quantum of execution from the second meta-context; and subsequent the third quantum of execution, executing a fourth scheduler-context on the fourth virtual processor in response to receiving a fourth quantum of execution from the second meta-context. 13. The method of claim 12 further comprising: yielding to the second meta-context in response to the third quantum of execution expiring; and receiving the fourth quantum of execution subsequent to yielding to the second meta-context. 14. The method of claim 9 further comprising: executing a first scheduler-context on the first virtual processor in response to receiving a first quantum of execution from the first meta-context; notifying the first meta-context of a context switch from the first scheduler-context to a second scheduler-context on the first virtual processor; and executing the second scheduler-context on the first virtual processor in response to receiving a second quantum of execution from a third meta-context. 15. The method of claim 14 further comprising: during the first quantum of execution, executing a third scheduler-context on the second virtual processor in response to receiving a third quantum of execution from the second meta-context. 16. A computer readable storage medium comprising: a memory storing computer-executable instructions that, when executed by a computer system, perfo

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · 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 US9367350B2 cover?
A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution c…
Who is the assignee on this patent?
Ringseth Paul F, Messmer William R, Gustafsson Niklas, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 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).