Multi-processor scheduling kernel
AssigneeNovell, Inc.
InventorBruce K. Gillespie
Life of this patent
Estimating the term…
Abstract
A scheduling kernel provides fair share scheduling of several virtual machines by a multi-processor scheduling module scheduling the virtual machines across the several processors of the multi-processor. A virtual machine scheduling module schedules threads of a virtual machine, and provides an independent scheduling policy for a virtual machine. Execution exclusion sets may be created and enforced by an execution exclusion set module to limit execution to a single thread at a time out of any particular execution exclusion set of threads.
Claims39
A multi-processor comprising:
- a memory device storing data structures for supporting execution of a multi-processor, the data structures including:
- a multi-processor scheduling kernel executable by the multi-processor, and
- a plurality of virtual machines, each virtual machine comprising a group of threads to be executed by a processor of the multi-processor;
- and
- a plurality of processors, operably connected to the memory device, each processor being programmed to execute a selected thread and to execute an instance of the scheduling kernel to schedule the execution of the selected thread, the instance of the scheduling kernel comprising:
- a multi-processor scheduling module for providing to the processor an order of execution for the each virtual machine, and
- a virtual machine scheduling module for providing to the multi-processor scheduling module, an order of execution for each thread of the group of threads.
A method for fair-share scheduling of a multi-processor, the method comprising:
- providing a multi-processor;
- providing a multi-processor scheduling module, executable by the multi-processor for scheduling execution, by the multi-processor, of threads;
- providing fair-share scheduling information for controlling scheduling of the threads;
- and
- executing the multi-processor scheduling module to schedule the threads according to the fair-share scheduling information.
A method for scheduling virtual machines on a multi-processor, the method comprising:
- providing a multi-processor;
- providing a plurality of virtual machines, each comprising threads executable by the multi-processor;
- providing a virtual machine scheduling module, executable by the multi-processor for scheduling the plurality of virtual machines for execution;
- providing a multi-processor scheduling module, executable by the multi-processor for scheduling execution, by the multi-processor, of the threads;
- executing the virtual machine scheduling module to schedule the plurality of virtual machines;
- and
- executing the multi-processor scheduling module to schedule the threads within each of the virtual machines.
Dependencies are inferred from the claim text.