Patent ID: 8255890

Claim:
One or more non-transitory computer-readable media storing instructions, the instructions comprising: one or more instructions which, when executed by at least one processor, cause the at least one processor to initiate a single programming language; one or more instructions which, when executed by the at least one processor, cause the at least one processor to identify, via the single programming language, one or more data distribution schemes for executing a program, the one or more instructions to identify the one or more data distribution schemes including: one or more instructions to receive a defined data distribution scheme; one or more instructions to create a class that is a subclass of one of a distributor object or a parallel distributor object; and one or more instructions to identify a parallel function of the parallel program based on the created class; one or more instructions which, when executed by the at least one processor, cause the at least one processor to transform, via the single programming language, the program into a parallel program, using the parallel function, with a data distribution scheme selected from the one or more identified data distribution schemes; one or more instructions which, when executed by the at least one processor, cause the at least one processor to allocate the parallel program to two or more labs for parallel execution; one or more instructions which, when executed by the at least one processor, cause the at least one processor to receive one or more results associated with the parallel execution of the parallel program from the two or more labs; and one or more instructions which, when executed by the at least one processor, cause the at least one processor to provide the one or more results to the program.