  Networking researchers are facing growing challenges in evaluating and
reproducing results for modern network systems. As systems rely on closer
integration of system components and cross-layer optimizations in the pursuit
of performance and efficiency, they are also increasingly tied to specific
hardware and testbed properties. Combined with a trend towards heterogeneous
hardware, such as protocol offloads, SmartNICs, and in-network accelerators,
researchers face the choice of either investing more and more time and
resources into comparisons to prior work or, alternatively, lower the standards
for evaluation.
  We aim to address this challenge by introducing SimBricks, a simulation
framework that decouples networked systems from the physical testbed and
enables reproducible end-to-end evaluation in simulation. Instead of
reinventing the wheel, SimBricks is a modular framework for combining existing
tried-and-true simulators for individual components, processor and memory, NIC,
and network, into complete testbeds capable of running unmodified systems. In
our evaluation, we reproduce key findings from prior work, including dctcp
congestion control, NOPaxos in-network consensus acceleration, and the Corundum
FPGA NIC.
