Patent Document ID: 20150378696
Application ID: 14317016
Patent Flag: 0

Claim One:
1. A method comprising: receiving program code containing at least one parallel for statement having a plurality of iterations; determining a parallel execution plan for the program code; according to the parallel execution plan, partitioning the plurality of iterations into a plurality of tasks, each task comprising at least one iteration, the iterations of each task being independent; providing each of the plurality of tasks to one of a plurality of parallel workers, wherein providing each of the plurality of tasks to one of the plurality of parallel workers comprises: determining first data required by a first of the plurality of tasks; determining that the first data is locally available to a first of the plurality of parallel workers; and providing the first of the plurality of tasks to the first of the plurality of parallel workers; receiving from each of the plurality of parallel workers a result; and aggregating the results from each of the plurality of parallel workers.