In computer science, trace-based simulation refers to system simulation performed by looking at traces of program execution or system component access with the purpose of performance prediction.
[1] Trace-based simulation may be used in a variety of applications, from the analysis of solid state disks to the message passing performance on very large computer clusters.
[1][2] Traced-based simulators usually have two components: one that executes actions and stores the results (i.e. traces) and another which reads the log files of traces and interpolates them to new (and often more complex) scenarios.
[2] For instance, in the case of large computer cluster design, the execution takes place on a small number of nodes, and traces are left in log files.
The simulator reads those log files and simulates performance on a much larger number of nodes, thus providing a view of the performance of very large applications, based on the execution traces on a much smaller number of nodes.