1. A method of distributed execution of one or more computational tasks by a plurality of processes, the method comprising: creating and storing, on a server computer, a process registry, said process registry comprising a table; registering each process of the plurality of processes in the process registry by storing at least unique identifiers corresponding to the plurality of processes in the table; transmitting a copy of the process registry to each process of the plurality of processes such that each process of the plurality of processes maintains a local copy of the process registry, wherein each process periodically transmits to the server computer and to each process of the plurality of processes a message indicating a status of the process; updating the process registry stored on the server computer in response to the received message; and removing a process from the registry if it is determined that the process is no longer running wherein each process of the plurality of processes is configured to periodically read the process registry stored on the server computer, and in response to determining that the process has been removed from the registry, select, using an algorithm, a master process from the plurality of processes.