Modern architecture research relies heavily on detailed pipeline
simulation. A time consuming part of building a simulator is correctly
emulating the operating system effects when performing application-level
simulation. This requires hand coding the emulation of any system effect
(e.g., system call, interrupts, DMA transfers) used by the workload. This can
be tedious, especially when having to support running the simulator on
completely different operating systems or different versions of the operating
system. Once a simulator has correctly emulated the system effects, it can
also be costly to maintain this emulation, since the emulation can break with
new versions of the operating system the simulator is running on. In addition,
system effect emulation can cause some variance in simulation results. In this
paper we describe an approach that automatically logs operating system effects
to guide architecture simulation of user code. The benefit of this approach is
that (a) we do not have to build or support any infrastructure for emulating
operating system effects, and (b) the system effect logs provide deterministic
simulation in the presence of these system effects.
Pre-2018 CSE ID: CS2005-0840