### Step 4 (Alternative): Run Benchmarks with Real Trace Data
The benchmark script generates:
Instead of synthetic benchmarks with controlled prefix ratios, you can benchmark using real trace data in [mooncake-style format](https://github.com/kvcache-ai/Mooncake/blob/d21da178bae8db9651cf18a76824c084145fc725/mooncake_trace.jsonl). This approach uses actual request patterns from production traces, potentially modified with synthesis parameters.
The script can apply various modifications on top of the original trace file to simulate different scenarios and workload conditions. This script accepts the same synthesis parameters as the [prefix data generator](../prefix_data_generator/README.md):
2.**Results summary** (`results_summary.json`):
**Key parameters:**
- Raw data for all prefix ratios tested
-`--num-requests`: Number of requests to synthesize from the trace (default: use all)
- Configuration parameters used
-`--speedup-ratio`: Speed up request arrival times (e.g., 2.0 makes requests arrive 2x faster)
-`--prefix-len-multiplier`: Scale the length of shared prefixes (e.g., 2.0 doubles prefix lengths)
-`--prefix-root-multiplier`: Replicate the prefix tree structure N times with different roots
-`--prompt-len-multiplier`: Scale the length of unique user prompts (e.g., 0.5 for shorter prompts)
-`--max-isl`: Filter out requests exceeding this input sequence length
3.**Detailed artifacts** (in subdirectories):
Examples:
- Full genai-perf profiling data for each run
```bash
# Use original trace file as-is (no synthesis parameters specified)