1. A computer implemented method for increasing performance of an operation on a distributed memory machine, the computer implemented method comprising: transforming asynchronous parallel steps in the operation into synchronous parallel steps; rearranging the synchronous parallel steps of the operation to generate an altered operation that schedules memory accesses for increasing locality of reference; mapping the altered operation that schedules memory accesses for increasing locality of reference onto the distributed memory machine; and executing the altered operation on the distributed memory machine to simulate local memory accesses with virtual threads to check cache performance within each node of the distributed memory machine.