A computer implemented method for parallel processing of computer instructions on a plurality of processors located in one or more physical machines (120, 130, 140, 150, 160) that are communicatively coupled with each other via a communication infrastructure, wherein the computer instructions are stored on a computer readable medium accessible by one or more of the processors, the method comprising: mapping a plurality of virtual processors to a plurality of processors; creating a parallel processing session comprising the plurality of virtual processors; executing a tracker module (310; 401) within said parallel processing session on one of said plurality of virtual processors, the tracker module (310; 401) configured to coordinate the assignment of process resources for execution of tasks in accordance with a predetermined policy and coordinate communication between tasks being evaluated; executing a plurality of task schedulers (306A, 306B, 306C; 804, 806) within said parallel processing session on said plurality of virtual processors, each task scheduler (306A, 306B, 306C; 804, 806) configured to obtain resource processes from the tracker module (310; 401), said resource processes configured to evaluate one or more tasks, wherein each task scheduler (306A, 306B, 306C; 804, 806) operates according to a predetermined policy; executing one or more task evaluators in one or more of the resource processes within said parallel processing session and under control of a task scheduler (306A, 306B, 306C; 804, 806) and its predetermined policy, wherein a task evaluator executes a set of instructions that comprise a task and wherein parallel processing occurs in said parallel processing session by executing the tracker module (310; 401) to track available resource processes and executing the plurality of task schedulers (306A, 306B, 306C; 804, 806) to schedule and control the one or more task evaluators to evaluate tasks in accordance with a plurality of predetermined policies; going offline with a first task scheduler when execution of a last task evaluator under control of the first task scheduler is complete while continuing execution of the tracker module (310; 401) within the parallel processing session; and going online with a second task scheduler while continuing execution of the tracker module (310; 401) within the parallel processing session. mapping a plurality of virtual processors to a plurality of processors; creating a parallel processing session comprising the plurality of virtual processors; executing a tracker module (310; 401) within said parallel processing session on one of said plurality of virtual processors, the tracker module (310; 401) configured to coordinate the assignment of process resources for execution of tasks in accordance with a predetermined policy and coordinate communication between tasks being evaluated; executing a plurality of task schedulers (306A, 306B, 306C; 804, 806) within said parallel processing session on said plurality of virtual processors, each task scheduler (306A, 306B, 306C; 804, 806) configured to obtain resource processes from the tracker module (310; 401), said resource processes configured to evaluate one or more tasks, wherein each task scheduler (306A, 306B, 306C; 804, 806) operates according to a predetermined policy; executing one or more task evaluators in one or more of the resource processes within said parallel processing session and under control of a task scheduler (306A, 306B, 306C; 804, 806) and its predetermined policy, wherein a task evaluator executes a set of instructions that comprise a task and wherein parallel processing occurs in said parallel processing session by executing the tracker module (310; 401) to track available resource processes and executing the plurality of task schedulers (306A, 306B, 306C; 804, 806) to schedule and control the one or more task evaluators to evaluate tasks in accordance with a plurality of predetermined policies; going offline with a first task scheduler when execution of a last task evaluator under control of the first task scheduler is complete while continuing execution of the tracker module (310; 401) within the parallel processing session; and going online with a second task scheduler while continuing execution of the tracker module (310; 401) within the parallel processing session.