Execution of work units in a heterogeneous computing environment
First Claim
1. A computer program product for facilitating execution of work units in a computing environment, said computer program product comprising:
- a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising;
analyzing, by an analyzer executing on a processor, one or more resource requirements of a work unit to be executed;
determining, based on the analyzing, whether the work unit is to be executed on the processor or an offload processing system different from the processor, the offload processing system and processor being heterogeneous of one another;
obtaining, based on the determining indicating the work unit is to be executed on the offload processing system, an indication of one or more offload processing systems satisfying one or more criteria for execution of the work unit;
checking whether at least one offload processing system of the indication of one or more offload processing systems has sufficient resources to execute the work unit;
selecting, based on the checking specifying at least one offload processing system that has sufficient resources, a selected offload processing system to execute the work unit; and
assigning the work unit to be executed on the selected offload processing system for execution, wherein the selected offload processing system has at least one of a different operating system, a different architecture or a different external attachment from the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Work units are transparently offloaded from a main processor to offload processing systems for execution. For a particular work unit, a suitable offload processing system is selected to execute the work unit. This includes determining the requirements of the work unit, including, for instance, the hardware and software requirements; matching those requirements against a set of offload processing systems with an arbitrary set of available resources; and determining if a suitable offload processing system is available. If a suitable offload processing system is available, the work unit is scheduled to execute on that offload processing system with no changes to the work unit itself. Otherwise, the work unit may execute on the main processor or wait to be executed on an offload processing system.
-
Citations
20 Claims
-
1. A computer program product for facilitating execution of work units in a computing environment, said computer program product comprising:
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; analyzing, by an analyzer executing on a processor, one or more resource requirements of a work unit to be executed; determining, based on the analyzing, whether the work unit is to be executed on the processor or an offload processing system different from the processor, the offload processing system and processor being heterogeneous of one another; obtaining, based on the determining indicating the work unit is to be executed on the offload processing system, an indication of one or more offload processing systems satisfying one or more criteria for execution of the work unit; checking whether at least one offload processing system of the indication of one or more offload processing systems has sufficient resources to execute the work unit; selecting, based on the checking specifying at least one offload processing system that has sufficient resources, a selected offload processing system to execute the work unit; and assigning the work unit to be executed on the selected offload processing system for execution, wherein the selected offload processing system has at least one of a different operating system, a different architecture or a different external attachment from the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A computer system for facilitating execution of work units in a computing environment, said computer system comprising:
-
a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising; analyzing, by an analyzer executing on a processor, one or more resource requirements of a work unit to be executed; determining, based on the analyzing, whether the work unit is to be executed on the processor or an offload processing system different from the processor, the offload processing system and processor being heterogeneous of one another; obtaining, based on the determining indicating the work unit is to be executed on the offload processing system, an indication of one or more offload processing systems satisfying one or more criteria for execution of the work unit; checking whether at least one offload processing system of the indication of one or more offload processing systems has sufficient resources to execute the work unit; selecting, based on the checking specifying at least one offload processing system that has sufficient resources, a selected offload processing system to execute the work unit; and assigning the work unit to be executed on the selected offload processing system for execution, wherein the selected offload processing system has at least one of a different operating system, a different architecture or a different external attachment from the processor. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of facilitating execution of work units in a computing environment, said method comprising:
-
analyzing, by an analyzer executing on a processor, one or more resource requirements of a work unit to be executed; determining, based on the analyzing, whether the work unit is to be executed on the processor or an offload processing system different from the processor, the offload processing system and processor being heterogeneous of one another; obtaining, based on the determining indicating the work unit is to be executed on the offload processing system, an indication of one or more offload processing systems satisfying one or more criteria for execution of the work unit; checking whether at least one offload processing system of the indication of one or more offload processing systems has sufficient resources to execute the work unit; selecting, based on the checking specifying at least one offload processing system that has sufficient resources, a selected offload processing system to execute the work unit; and assigning the work unit to be executed on the selected offload processing system for execution, wherein the selected offload processing system has at least one of a different operating system, a different architecture or a different external attachment from the processor. - View Dependent Claims (18, 19, 20)
-
Specification