Resource allocation in a parallel processing system
OwnerIsuru Herath, Richard Broadhurstinventors
Life of this patent
Estimating the term…
Abstract
A method of resource allocation in a parallel processing system is described. The method comprises receiving a request to allocate resources to a task, where the request identifies an amount of resources required to execute a next chunk of the task only, and when available, allocating to the task, the amount of resources required to execute the next chunk of the task.
Claims18
A method of allocating resource to a task in a parallel processing system, the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program, and the method comprising:
- receiving a request to allocate resources to a task, the request identifying an amount of resources required to execute a next chunk of the task only and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;
- determining whether the amount of resources required to execute the next chunk of the task is available;
- in response to determining that the amount of resources required to execute the next chunk of the task is not available, pausing the task;
- and
- in response to determining that the amount of resources required to execute the next chunk of the task is available, allocating the resources to the task.
A parallel processing system comprising:
- one or more resources for use when executing a task, the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program, and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;
- a task scheduler arranged to receive a request to allocate resources to a task, the request identifying an amount of resources required to execute a next chunk of the task only, determine whether the amount of resources required to execute the next chunk of the task is available, in response to determining that the amount of resources required to execute the next chunk of the task is not available, pause the task, and in response to determining that the amount of resources required to execute the next chunk of the task is available, allocate the resources to the task;
- and
- one or more execution modules arranged to execute each chunk of the task.
A non-transitory computer storage medium having stored thereon computer readable code configured to cause a method of allocating resources to a task in a parallel processing system to be performed when the code is run, the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program, and the method comprising:
- receiving a request to allocate resources to a task, the request identifying an amount of resources required to execute a next chunk of the task only and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;
- determining whether the amount of resources required to execute the next chunk of the task is available;
- in response to determining that the amount of resources required to execute the next chunk of the task is not available, pausing the task;
- and
- in response to determining that the amount of resources required to execute the next chunk of the task is available, allocating the resources to the task.
Dependencies are inferred from the claim text.