CXLMemSim  by SlugLab

Performance simulation for CXL 3.0 memory systems

Created 3 years ago
1,078 stars

Top 34.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

CXLMemSim provides a practical performance simulator for CXL 3.0 memory systems, targeting engineers and researchers. It enables detailed characterization of memory system performance by modeling CPU-level effects like ROB and cacheline penalties, offering insights into application-level behavior.

How It Works

The simulator models the CPU perspective of CXL memory interactions, incorporating penalties derived from the Reorder Buffer (ROB) and various cacheline states. It allows fine-grained configuration of system parameters, including DRAM latency, read/write bandwidth and latency, memory capacity, and a heuristic-based bandwidth calculation. The system topology is defined using Newick tree syntax, enabling flexible representation of complex interconnects.

Quick Start & Requirements

  • Primary Install/Run: Execute via bash, e.g., LOGV=1 ./CXL-MEM-Simulator -t <path_to_executable> -i <interval_ms> -c <cpu_set> -d <dram_latency_ns> -b <bw_read,bw_write> -l <lat_read,lat_write> -c <capacity_local,capacity_remote> -w <weights> -o "<topology_newick>".
  • Prerequisites: bash shell. The example suggests potential NUMA node configuration (/sys/devices/system/node/node1/cpu*/online).
  • Dependencies: Specific executable for simulation (-t).
  • Links: None provided in the README.

Highlighted Details

  • CPU-centric simulation approach focusing on latency and cache effects.
  • Extensive parameterization for DRAM latency, bandwidth, capacity, and custom bandwidth heuristics.
  • Support for defining complex system topologies using Newick tree syntax.
  • Configurable logging levels via the LOGV environment variable.

Maintenance & Community

No information regarding contributors, sponsorships, community channels (Discord/Slack), or roadmaps is present in the provided README.

Licensing & Compatibility

No license information is specified in the provided README. Compatibility for commercial use or closed-source linking cannot be determined.

Limitations & Caveats

The simulator focuses on performance characterization rather than cycle-accurate simulation. Setup requires specific command-line arguments and potential system configuration adjustments (e.g., NUMA node management), indicating a non-trivial setup process. The README does not detail unsupported platforms or known bugs.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
11 stars in the last 30 days

Explore Similar Projects

Starred by Lysandre Debut Lysandre Debut(Chief Open-Source Officer at Hugging Face), Omar Sanseviero Omar Sanseviero(DevRel at Google DeepMind), and
2 more.

local-gemma by huggingface

0.3%
384
CLI tool for local Gemma-2 inference
Created 2 years ago
Updated 1 year ago
Feedback? Help us improve.