HBFSim is a simulation framework for studying the architectural trade-offs of heterogeneous memory systems that integrate high-bandwidth memory (HBM) and high-bandwidth flash (HBF).
The engine models timing, capacity, data movement, flash translation, garbage
collection, persistence, thermal pacing, and accounting in one causal event
system. Workload and placement logic stay above the engine boundary: callers
submit explicit physical transactions and dependency edges through
SimulationSession.
src/physical/hbm/: HBM address mapping, command scheduling, timing, refresh, and accounting.src/physical/hbf/: HBF media timing, page mapping, mapping cache, write buffering, garbage collection, wear and thermal behavior, and persistent images.src/physical/external/: external backing controller/media timing and the CXL-SSD device model.src/physical/base_die_link.*: directional per-stack data-movement links.src/physical/simulation_session.*: persistent transaction-DAG execution, checkpoints, and explicit crash injection.src/app/: thehbfsimcommand-line engine, physical configuration parser, and session protocol.hbfsim_client/: Python contracts and client for persistent simulation sessions.configs/: a complete HBM+HBF system profile and composable physical-tier overlays.
Requirements: CMake 3.20+ and a C++20 compiler.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallelThis builds the hbfsim_core library and the hbfsim executable. Inspect the
resolved geometry of the included system profile with:
./build/hbfsim \
--system-config configs/systems/server-hbm128-hbf512.cfg \
--describe-systemPhysical overlays are applied in command-line order. For example, the following resolves the base system with CXL memory as an enabled external backing tier:
./build/hbfsim \
--system-config configs/systems/server-hbm128-hbf512.cfg \
--system-config configs/overlays/backing/cxl-memory.cfg \
--enable-external true \
--describe-systemRun ./build/hbfsim --help for the transaction-session options. The Python
client can be installed with python3 -m pip install -e ..
HBFSim is released under the MIT License. See LICENSE.
Jinheng Li (jinheng.li@mbzuai.ac.ae)