A Performance Simulation Technique for Distributed Programs: Application to an SOR Iterative Solver