{
  "schema": "stable-upstream-prefix-cache-routing-benchmark-v1",
  "date": "2026-08-10",
  "topology": {
    "endpoint_picker_replicas": 1,
    "model_replicas": 2,
    "gpus_per_model_replica": 1
  },
  "hardware": {
    "gpu_per_model_replica": "NVIDIA H100"
  },
  "model_service": {
    "model": "GPT-OSS 20B",
    "runtime": "Red Hat AI Inference Server vLLM",
    "tensor_parallel_size": 1,
    "max_model_len": 32768,
    "max_num_batched_tokens": 8192,
    "max_num_seqs": 128,
    "gpu_memory_utilization": 0.9,
    "prefix_cache": "enabled"
  },
  "endpoint_picker": {
    "version": "llm-d Endpoint Picker v0.9.0",
    "flow_control_gate": "enabled",
    "detector": "request-concurrency",
    "max_concurrency": 128,
    "headroom": 0.1,
    "priority_bands": [
      100,
      50,
      0,
      -10
    ],
    "fairness": "round-robin within each priority band",
    "routing_arms": [
      {
        "name": "random routing",
        "picker": "random",
        "prefix_cache_scorer": "present but picker ignores scores"
      },
      {
        "name": "prefix-aware routing",
        "picker": "max-score",
        "prefix_cache_scorer": "approx-prefix-cache-producer with block-size 64 tokens",
        "lru_capacity_per_server": 31250,
        "max_prefix_tokens_to_match": 32768
      }
    ]
  },
  "traffic": {
    "name": "prefix-cache-routing-comparison",
    "duration_s": 180,
    "analysis_windows": [
      {
        "name": "baseline",
        "start_s": 20,
        "end_s": 55
      },
      {
        "name": "surge",
        "start_s": 80,
        "end_s": 135
      },
      {
        "name": "recovery",
        "start_s": 155,
        "end_s": 175
      }
    ],
    "tenants": [
      {
        "fairness_id": "realtime-chat",
        "priority": 100,
        "input_tokens": 1024,
        "output_tokens": 128,
        "phases": [
          {
            "start_s": 0,
            "duration_s": 60,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 20,
            "rate_amplitude": 5,
            "period_s": 37,
            "phase_offset": 0.0,
            "rate_noise": 1.0,
            "rate_spike_probability": 0.02
          },
          {
            "start_s": 60,
            "duration_s": 90,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 50,
            "rate_amplitude": 10,
            "period_s": 31,
            "phase_offset": 0.0,
            "rate_noise": 2.5,
            "rate_spike_probability": 0.02,
            "ramp_s": 10
          },
          {
            "start_s": 150,
            "duration_s": 30,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 15,
            "rate_amplitude": 3.5,
            "period_s": 23,
            "phase_offset": 0.0,
            "rate_noise": 0.75
          }
        ]
      },
      {
        "fairness_id": "agentic",
        "priority": 50,
        "input_tokens": 4096,
        "output_tokens": 512,
        "phases": [
          {
            "start_s": 0,
            "duration_s": 60,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 2.5,
            "rate_amplitude": 0.6,
            "period_s": 41,
            "phase_offset": 0.2,
            "rate_noise": 0.125,
            "rate_spike_probability": 0.02
          },
          {
            "start_s": 60,
            "duration_s": 90,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 9.0,
            "rate_amplitude": 2.0,
            "period_s": 29,
            "phase_offset": 0.2,
            "rate_noise": 0.45,
            "rate_spike_probability": 0.02,
            "ramp_s": 10
          },
          {
            "start_s": 150,
            "duration_s": 30,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 1.5,
            "rate_amplitude": 0.4,
            "period_s": 19,
            "phase_offset": 0.2,
            "rate_noise": 0.075
          }
        ]
      },
      {
        "fairness_id": "standard-long-context",
        "priority": 0,
        "input_tokens": 20000,
        "output_tokens": 128,
        "phases": [
          {
            "start_s": 0,
            "duration_s": 60,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 0.25,
            "rate_amplitude": 0.075,
            "period_s": 43,
            "phase_offset": 0.4,
            "rate_noise": 0.0125,
            "rate_spike_probability": 0.02
          },
          {
            "start_s": 60,
            "duration_s": 90,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 1.75,
            "rate_amplitude": 0.4,
            "period_s": 33,
            "phase_offset": 0.4,
            "rate_noise": 0.0875,
            "rate_spike_probability": 0.02,
            "ramp_s": 10
          },
          {
            "start_s": 150,
            "duration_s": 30,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 0.25,
            "rate_amplitude": 0.075,
            "period_s": 21,
            "phase_offset": 0.4,
            "rate_noise": 0.0125
          }
        ]
      },
      {
        "fairness_id": "batch-long-context",
        "priority": -10,
        "input_tokens": 20000,
        "output_tokens": 128,
        "phases": [
          {
            "start_s": 0,
            "duration_s": 60,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 1.5,
            "rate_amplitude": 0.4,
            "period_s": 47,
            "phase_offset": 0.6,
            "rate_noise": 0.075,
            "rate_spike_probability": 0.02
          },
          {
            "start_s": 60,
            "duration_s": 90,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 3.0,
            "rate_amplitude": 0.7,
            "period_s": 35,
            "phase_offset": 0.6,
            "rate_noise": 0.15,
            "rate_spike_probability": 0.02,
            "ramp_s": 10
          },
          {
            "start_s": 150,
            "duration_s": 30,
            "rate_pattern": "noisy_sinusoidal",
            "rate_center": 0.5,
            "rate_amplitude": 0.15,
            "period_s": 25,
            "phase_offset": 0.6,
            "rate_noise": 0.025
          }
        ]
      }
    ]
  },
  "execution": {
    "arrival": "open-loop Poisson replay with noisy sinusoidal phases",
    "duration_seconds": 180,
    "production_repeats_per_arm": 3,
    "matched_deterministic_trace": true,
    "load_generator": "GuideLLM",
    "cache_mode": "on",
    "shared_prefix_fraction_per_tenant": 0.75
  },
  "runner": {
    "scenario_source": "pipeline/benchmark.py",
    "sha256": "3811ec26c46bf3a26fa643698ec54bf569bb4bc99c3ea22ca18f805cb077b8e0",
    "traffic_driver": "GuideLLM",
    "guidellm_version": "0.7.0",
    "trace_compiler": "pipeline/guidellm_trace.py",
    "launcher": "pipeline/run_guidellm_scenario.py",
    "scenario_file": "scenario.json"
  }
}
