Report Number: CSL-TR-92-546
Institution: Stanford University, Computer Systems Laboratory
Title: The accuracy of trace-driven simulations of multiprocessors
Author: Goldschmidt, Stephen R.
Author: Hennessy, John L.
Date: September 1992
Abstract: In trace-driven simulation, traces generated for one set of
machine characteristics are used to simulate a machine with
different characteristics. However, the execution path of a
multiprocessor workload may depend on the ordering of events
on different processors, which in turn depends on machine
characteristics such as memory system timings. Trace-driven
simulations of multiprocessor workloads are inaccurate unless
the timing-dependencies are eliminated from the traces. We
measure such inaccuracies by comparing trace-driven
simulations to direct simulations of the same workloads. The
results were identical only for workloads whose timing
dependencies were eliminated from the traces. The remaining
workloads used either first-come first-served scheduling or
non-deterministic algorithms; these characteristics resulted
in timing-dependencies that could not be eliminated from the
traces. Workloads which used task-queue scheduling had
particularly large discrepancies because task-queue
operations, unlike other synchronization operations, were not
abstracted. Two types of simulation results had especially
large discrepancies: those related to synchronization latency
and those derived from relatively small numbers of events.
Studies that rely on such results should use timing-
independent traces or direct simulation.