# Generated from run-config.json. Contains no credentials or cluster endpoints.
schema_version: 1
source: "run-config.json"
tested_configuration:
  schema: "stable-upstream-mixed-workload-benchmark-v1"
  date: "2026-08-10"
  topology:
    endpoint_picker_replicas: 1
    model_replicas: 1
    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: "disabled"
  endpoint_picker:
    version: "llm-d Endpoint Picker v0.9.0"
    flow_control_gate: "enabled"
    picker: "random"
    priority_bands:
      - 100
      - 50
      - 0
      - -10
    fairness: "round-robin within each priority band"
    admission_arms:
      - name: "request-count admission"
        concurrency_mode: "requests"
        max_concurrency: 128
        headroom: 0.1
      - name: "input-token admission"
        concurrency_mode: "tokens"
        max_token_concurrency: 75000
        estimated_output_tokens_included: false
        headroom: 0.0
  traffic:
    name: "mixed-production-workload"
    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: 4
            rate_amplitude: 1
            period_s: 37
            phase_offset: 0.0
            rate_noise: 0.2
            rate_spike_probability: 0.02
          - start_s: 60
            duration_s: 90
            rate_pattern: "noisy_sinusoidal"
            rate_center: 10
            rate_amplitude: 2
            period_s: 31
            phase_offset: 0.0
            rate_noise: 0.5
            rate_spike_probability: 0.02
            ramp_s: 10
          - start_s: 150
            duration_s: 30
            rate_pattern: "noisy_sinusoidal"
            rate_center: 3
            rate_amplitude: 0.7
            period_s: 23
            phase_offset: 0.0
            rate_noise: 0.15
      - fairness_id: "agentic"
        priority: 50
        input_tokens: 4096
        output_tokens: 512
        phases:
          - start_s: 0
            duration_s: 60
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.5
            rate_amplitude: 0.12
            period_s: 41
            phase_offset: 0.2
            rate_noise: 0.025
            rate_spike_probability: 0.02
          - start_s: 60
            duration_s: 90
            rate_pattern: "noisy_sinusoidal"
            rate_center: 1.8
            rate_amplitude: 0.4
            period_s: 29
            phase_offset: 0.2
            rate_noise: 0.09
            rate_spike_probability: 0.02
            ramp_s: 10
          - start_s: 150
            duration_s: 30
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.3
            rate_amplitude: 0.08
            period_s: 19
            phase_offset: 0.2
            rate_noise: 0.015
      - 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.05
            rate_amplitude: 0.015
            period_s: 43
            phase_offset: 0.4
            rate_noise: 0.0025
            rate_spike_probability: 0.02
          - start_s: 60
            duration_s: 90
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.35
            rate_amplitude: 0.08
            period_s: 33
            phase_offset: 0.4
            rate_noise: 0.0175
            rate_spike_probability: 0.02
            ramp_s: 10
          - start_s: 150
            duration_s: 30
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.05
            rate_amplitude: 0.015
            period_s: 21
            phase_offset: 0.4
            rate_noise: 0.0025
      - 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: 0.3
            rate_amplitude: 0.08
            period_s: 47
            phase_offset: 0.6
            rate_noise: 0.015
            rate_spike_probability: 0.02
          - start_s: 60
            duration_s: 90
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.6
            rate_amplitude: 0.14
            period_s: 35
            phase_offset: 0.6
            rate_noise: 0.03
            rate_spike_probability: 0.02
            ramp_s: 10
          - start_s: 150
            duration_s: 30
            rate_pattern: "noisy_sinusoidal"
            rate_center: 0.1
            rate_amplitude: 0.03
            period_s: 25
            phase_offset: 0.6
            rate_noise: 0.005
  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"
    worker_processes_per_tenant: 4
    cache_mode: "off"
  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"
