A computing device-implemented method, comprising: receiving a program; allocating the program to a first software unit of execution and a second software unit of execution (230-2, 230-3, 230-4), where the program includes a first portion and a second portion, and the first portion differs from the second portion; and executing the first portion of the program with the first and second software units of execution (230-1, 230-2, 230-3, 230-4) in parallel, characterized in that the method further comprises: determining, by the first software unit of execution, whether an error is detected during execution of the first portion of the program by the second software unit of execution (230-2, 230-3, 230-4), sending, by the first software unit of execution, a signal to the second software unit of execution (230-2, 230-3, 230-4), to execute the second portion of the program, where the sending is further in response to the determining, executing, by the second software unit of execution (230-2, 230-3, 230-4), the second portion of the program, in response to receiving the signal, and providing for display of information associated with executing the first portion and executing the second portion of the program by the first and second software units of execution (230-1, 230-2, 230-3, 230-4). receiving a program; allocating the program to a first software unit of execution and a second software unit of execution (230-2, 230-3, 230-4), where the program includes a first portion and a second portion, and the first portion differs from the second portion; and executing the first portion of the program with the first and second software units of execution (230-1, 230-2, 230-3, 230-4) in parallel, characterized in that the method further comprises: determining, by the first software unit of execution, whether an error is detected during execution of the first portion of the program by the second software unit of execution (230-2, 230-3, 230-4), sending, by the first software unit of execution, a signal to the second software unit of execution (230-2, 230-3, 230-4), to execute the second portion of the program, where the sending is further in response to the determining, executing, by the second software unit of execution (230-2, 230-3, 230-4), the second portion of the program, in response to receiving the signal, and providing for display of information associated with executing the first portion and executing the second portion of the program by the first and second software units of execution (230-1, 230-2, 230-3, 230-4). determining, by the first software unit of execution, whether an error is detected during execution of the first portion of the program by the second software unit of execution (230-2, 230-3, 230-4), sending, by the first software unit of execution, a signal to the second software unit of execution (230-2, 230-3, 230-4), to execute the second portion of the program, where the sending is further in response to the determining, executing, by the second software unit of execution (230-2, 230-3, 230-4), the second portion of the program, in response to receiving the signal, and providing for display of information associated with executing the first portion and executing the second portion of the program by the first and second software units of execution (230-1, 230-2, 230-3, 230-4).