1. A computer-implemented method for configuring a system that does not include hardware support for providing cache coherence among respective caches of computation units by maintaining consistency of data stored in the respective caches according to a coherence protocol, the system comprising a plurality of such computation units interconnected by an interconnection network, the method comprising: forming subsets of instructions corresponding to different portions of a program, the subsets of instructions being related according to a control flow graph; forming one or more memory analysis regions that include one or more of the subsets of instructions, where each subset of instructions is included in a single memory analysis region; analyzing, by one or more computers, each memory analysis region to partition memory objects and instructions that access the memory objects into equivalence classes such that instructions within an equivalence class only access objects in the same equivalence class; inserting, by the one or more computers, initialization instructions before each memory analysis region identified as a critical region and inserting, by the one or more computers, finalization instructions after each memory analysis region identified as a critical region, the initialization instructions comprising instructions for copying memory objects into private memory accessible to a single computation unit, and the finalization instructions comprising instructions for copying memory objects out of the private memory; and assigning, by the one or more computers, sets of instructions corresponding to the memory analysis regions to respective computation units for execution on the assigned computation units, with sets of instructions that include memory access instructions belonging to different equivalence classes assigned to different ones of the computation units.