Execution-driven tools for parallel simulation of parallel architectures and applications

EPG-sim is a newly-developed set of tools that performs execution-driven critical path simulation, trace generation, and simulation for serial, optimistically parallelized, and parallel application codes. These capabilities are integrated within a single framework through the use of intelligent source-level instrumentation. The ability to perform execution-driven simulations driven by optimistically parallelized codes, the ability to execute these simulations on parallel hosts, the use of source-level instrumentation, and the integration of the capabilities provided by EPG-sim are among the novel contributions of this work. EPG-sim has important uses in studying parallel architectures, parallelizing compilers, and parallel applications.