System and method for parallel execution of a program
AssigneeCodeplay Software Limited
InventorsAndrew Richards, Andrew Cook, Colin Riley
Life of this patent
Estimating the term…
Abstract
A computer system for executing a computer program on parallel processors, the system having a compiler for identifying within a computer program concurrency markers that indicate that code between them can be executed in parallel and should be executed with delayed side-effects; and an execution system that is operable to execute the code identified by the concurrency markers to generate a queue of side-effects and after execution of that code is completed, sequentially execute the queue of side-effects.
Claims20
A parallelization system for a computer program comprising:
- a compiler comprising a computing processor device configured for identifying within the computer program, execution regions in which computer program code should be executed with delayed side-effects, wherein at least one of the execution regions is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects;
- and
- an execution system comprising a computing processor device configured for executing the computer program code in the execution regions located between the concurrency markers identified by the compiler to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the execution regions located between the concurrency markers is completed, sequentially executing the queue of side-effects.
A compiler for use in a parallelization system, wherein the compiler comprises a computing processor device for identifying within a computer program code, execution regions in which the computer program code should be executed with delayed side-effects, wherein at least one of the execution regions is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects, such that an execution system in the parallelization system may execute the computer program code in the execution regions located between the concurrency markers identified by the compiler to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the execution regions located between the concurrency markers is completed, sequentially execute the queue of side-effects.
An execution system adapted for use in a parallelization system, wherein the parallelization system comprises a compiler for identifying within a computer program code, execution regions in which the computer program code should be executed with delayed side-effects, wherein at least one of the execution regions is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects, such that said execution system, comprising a computing processor device, may execute the computer program code in the execution regions located between the concurrency markers identified by the compiler to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the execution regions located between the concurrency markers is completed, sequentially execute the queue of side-effects.
A system for executing a computer program, the system comprising a computing processor device, wherein said computing processor device is configured to:
- identify within the computer program, execution regions in which computer program code should be executed with delayed side-effects, wherein at least one of the execution regions is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects;
- and
- execute the computer program code in the identified execution regions located between the concurrency markers to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the identified execution regions located between the concurrency markers is completed, sequentially execute the queue of side-effects.
A computer-implemented method for executing a selected computer program comprising:
- providing computer program code stored on a non-transitory computer-readable medium, said computer program code specifically configured to cause one or more computing processor devices to perform the following operations when executing the computer program code:
- identifying within the computer program code, execution regions in which the computer program code should be executed with delayed side-effects, wherein at least one of the execution regions is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects;
- and
- executing the computer program code in the identified execution regions located between the concurrency markers to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the identified execution regions located between the concurrency markers is completed, sequentially executing the queue of side-effects.
A computer program stored on a non-transitory computer readable medium, the computer program having at least one execution region in which computer program code should be executed with delayed side-effects, wherein the at least one execution region is defined by concurrency markers indicating that the computer program code located between the concurrency markers should be executed with delayed side-effects, wherein an execution system may execute the computer program code in the at least one execution region located between the concurrency markers to generate code to store a queue of side-effects for later execution, and after execution of the computer program code in the at least one execution region located between the concurrency markers is completed, sequentially execute the queue of side-effects.
Dependencies are inferred from the claim text.