Patent ID: 8255889

Claim:
A device for performing parallel processing, the device comprising: a processor to: receive a program, analyze the program, when analyzing the program, the processor is further to: determine one or more variables associated with an inner context of the program and an outer context of the program, determine the inner context and the outer context of the program based on the analysis of the program, define an idle sub-pool of two or more labs, determine a desired number of labs for parallel execution of one or more portions of the inner context of the program, allocate the one or more portions of the inner context of the program to the desired number of labs from a portion of the idle sub-pool of labs, allocate a remaining portion of the idle sub-pool of labs to the desired number of labs for future use, receive one or more results, associated with the parallel execution of the one or more portions of the inner context of the program, from the portion of the idle sub-pool of labs, provide the one or more results to the outer context of the program, and restore the idle sub-pool of labs after parallel execution of the one or more portions of the inner context of the program.