SimBricks Helps You ...

  • Design & Iterate Faster

    Virtual prototypes enable you to build hardware systems iteratively like software. Go from design to first full system tests and measurements in hours instead of months and then iterate.
  • Make Better Engineering Decisions

    Virtual prototypes allow you to reliably compare design and implementation changes based on their impact on the bottom line metrics: overall system performance.
  • Streamline Full Development Cycle

    Virtual prototyping is a valuable tool throughout your development, from early design, through implementation, and even for demos and sales.
  • Focus on Your Technology

    Easily build virtual prototypes by combining models for your new components with pieces from our catalog of pre-configured components.

Easy Virtual Prototyping with Modular Composition

Example of a heterogeneous system configuration with three hosts,
          a server with the DPU being built and an SSD and two clients with
          regular NICs. All hosts are connected to a network of just one
          switch.

⇓ from System to Virtual Prototype Simulation ⇓

Example of a SimBricks simulation configuration with three
          simulated hosts, a server and two clients. We simulate the server in
          gem5 and connect to an SSD simulated through FEMU and a Corundum FPGA
          NIC simulated through Verilator. The two clients are simulated in QEMU
          and connect to a PCIe behavioral NIC model. All three hosts are
          connected through a network simulated in ns-3.
  • Full-System
  • Fast
  • Scalable
  • Extensible
  • Easy

Frequently Asked Questions

  • What application domains is SimBricks suitable for?

    SimBricks enables virtual prototyping of heterogeneous computer systems. So far we have used it for network, storage, and distributed systems, as well as hardware accelerators. We have also used it for teaching.

  • Who are the target users for SimBricks?

    The main target users are system architects, as well as hardware and software engineers. Other users are instructors and technical sales teams.

  • How long does it take to set up SimBricks and start using it?

    We provide pre-built docker images for SimBricks. Setting up SimBricks for the first time can take as little as 5 minutes. More complex configurations with proprietary simulators may require more time.

  • Where does SimBricks run?

    The current version of SimBricks runs on your own computing infrastructure. Longer term we plan to offer a hosted version as well. Please reach out if you are interested.

  • How does SimBricks simulate virtual prototypes?

    SimBricks simulates virtual prototypes by combining and connecting multiple different simulators for individual system components into a complete system simulation.

  • How does SimBricks differ from other simulators?

    SimBricks aims to enable virtual prototyping of complete computer systems, rather than individual components. SimBricks also does not replace existing simulators for individual components, but instead enables users to connect together multiple existing simulators, even from different vendors and never designed to interoperate, into a complete system.

News

First official SimBricks release

2024-05-09

We’ve released SimBricks! The release includes new and updated ns3 and gem5 versions, plus a whole new repository with usage examples to help users get started with SimBricks.

AC/DSim wins 3rd at SOSP'23 SRC

2023-10-25

Jonas won third place at the SOSP’23 student research competition with AC/DSim.

AC/DSim poster at SOSP'23 SRC

2023-09-13

Jonas’ submission on full system energy estimation with modular simulation has passed stage 1 of the SOSP’23 student research competition.

Simics integrated into SimBricks

2023-05-09

Jonas successfully implemented SimBricks adapters in the Simics simulator for the PCI and memory protocols and we now merged this into our main branch.

SplitSim accepted at YArch'23

2023-02-23

Hejing will present her ongoing work on parallelizing sequential simulators through decomposition at YArch’23.

Memory Disaggregation in SimBricks

2023-02-14

We merged initial support for simulating disaggregated memory systems into our main branch.

Welcome Marvin

2023-01-27

Marvin joined the project for his MSc thesis.

Presented at WORDS'22

2022-11-18

Bin showcased SimBricks for disaggregated systems research at WORDS’22. Here is a video.

Welcome Jakob

2023-10-18

Jakob joined the project for his MSc thesis.

Presented at SIGCOMM'22.

2022-08-24

Hejing presented SimBricks at SIGCOMM’22 in Amsterdam. Here is a video of the presentation.

Artifact Evaluation Passed

2022-06-29

Our SIGCOMM’22 paper received all three artifact evaluation badges: available, functional, and reproduced.

Paper Accepted at SIGCOMM'22

2022-05-07

Our SimBricks paper will appear at SIGCOMM’22 in Amsterdam!