Scheduling Tasks in a Processor
AssigneeImagination Technologies Limited
InventorsIsuru Herath, Richard Broadhurst
Life of this patent
Estimating the term…
Abstract
A method of scheduling tasks in a processor comprises receiving a plurality of tasks that are ready to be executed, i.e. all their dependencies have been met and all the resources required to execute the task are available, and adding the received tasks to a task queue (or “task pool”). The number of tasks that are executing is monitored and in response to determining that an additional task can be executed by the processor, a task is selected from the task pool based at least in part on a comparison of indications of resources used by tasks being executed and indications of resources used by individual tasks in the task pool and the selected task is then sent for execution.
Claims19
A computer-implemented method of scheduling tasks in a processor, the method comprising:
- in response to determining that an additional task can be executed by the processor, selecting a task from a plurality of received tasks that are ready to be executed based at least in part on a comparison of indications of resources used by tasks being executed and indications of resources used by individual tasks in the plurality of received tasks;
- and
- executing the selected task.
A parallel processing unit comprising:
- a scheduler;
- and
- a processing block;
- wherein the scheduler comprises logic arranged to:
- in response to determining that an additional task can be executed by the processing block, select a task from a plurality of received tasks that are ready to be executed based at least in part on a comparison of indications of resources used by tasks being executed and indications of resources used by individual tasks in the plurality of received tasks;
- and
- output the selected task for execution.
A non-transitory computer readable storage medium having stored thereon computer readable code configured to perform a computer-implemented method of scheduling tasks in a processor, comprising:
- in response to determining that an additional task can be executed by the processor, selecting a task from a plurality of received tasks that are ready to be executed based at least in part on a comparison of indications of resources used by tasks being executed and indications of resources used by individual tasks in the plurality of received tasks;
- and
- executing the selected task.
Dependencies are inferred from the claim text.