Multi-processor task scheduling
AssigneeAdvanced Micro Devices, Inc.
InventorEvandro Menezes
Life of this patent
Estimating the term…
Abstract
An information processing system is configured to schedule tasks to a plurality of processors using processor performance information. For example, the maximum performance level of each of the processors, the current performance level of each of the processors, and the number of processors can be used to schedule tasks to one or more of the processors. A task distribution frequency which takes this information into account can be useful. One such task distribution frequency fi is calculated so that fi=Di/ΣDi where i ranges from 1-N and Di=MPi/CPi/N, where MPi is a maximum performance level for the processor i, CPi is a current performance level for the processor i, and N is the number of processors. Tasks are distributed according to the task distribution frequency fi.
Claims24
A method of scheduling tasks in a multi-processor system, the method comprising:
- computing a task distribution frequency for each of a plurality of processors of the multi-processor system thereby generating computed task distribution frequencies, wherein the task distribution frequency for each of the plurality of processors is computed based, at least in part, on a number of the plurality of processors, an individual maximum performance level for each of the plurality of processors, an individual current performance level for each of the plurality of processors, and a relative maximum performance level for each of the plurality of processors;
- scheduling tasks to the plurality of processors in accordance with the computed task distribution frequencies;
- and
- wherein the relative maximum performance level of each of the processors is determined using the individual maximum performance level of each of the processors and a reference performance level.
A method in a multiprocessor system comprising:
- determining performance information regarding each of a plurality of processors, wherein the performance information includes a current performance level for each processor;
- determining a relative maximum performance level for each of the processors using respective individual maximum performance levels for each for the processors and a reference performance level;
- determining respective task distribution values for respective ones of the processors according to, at least in part, the relative maximum performance level of each processor, the current performance level of each processor, and a number of processors in the multiprocessor system;
- determining a task distribution frequency for each of the processors according to the task distribution values;
- and
- scheduling tasks to each of the processors based at least in part on the performance information and the relative maximum performance level for each of the processors and according to the task distribution frequency for each processor.
A computer program product encoded in one or more computer storage media for executing by a computer, the computer program product comprising:
- instructions for determining respective task distribution values for each of a plurality of processors of a multi-processor system according to, at least in part, a relative maximum performance level of each processor, a current performance level of each processor, and a number of processors in the multiprocessor system, wherein the relative maximum level for each of the processors determined using an individual maximum performance level for each of the processors and a reference performance level;
- instructions for determining as a scheduling value for each processor a task distribution frequency for each of the processors according to the task distribution values;
- and
- instructions for scheduling tasks to the plurality of processors of the multi-processor system according to the scheduling value for each processor.
A multi-processor system comprising:
- a plurality of processors;
- and
- a scheduler coupled with the plurality of processors, the scheduler operable to schedule tasks to the processors in accordance with, at least in part, a current performance level for each processor and a relative maximum performance level for each processor, the relative maximum performance level for each processor based on a reference performance level and an individual maximum performance level for each processor;
- wherein the scheduler is operable to schedule tasks, at least in part, according to a task distribution frequency for each of the processors, each task distribution frequency determined using a task distribution value of each processor, each said task distribution value determined, at least in part, according to the relative maximum performance level of each processor, the current performance level of each processor, and a number of processors in the multiprocessor system.
Dependencies are inferred from the claim text.