1. A method of executing a program on a computer, the program having computational operations accessing data in parallel using multiple processors, the method comprising the steps of: (a) identifying multiple data elements each with a write token; (b) contemporaneously with execution of each given computational operation writing to a given data element, checking to see if a write token for the given data element is available and (i) when the write token is available, taking the write token, and permitting the given computational operation to be executed on a processor; (ii) when the write token is not available, preventing the given computational operation from being executed on a processor until the write token is available; and (c) upon completion of execution of the given computational operation, returning the write token.