Skip to content

feat(llmd): improvements to capture runtime configuration, refactor telemetry-collector, and fix for load-balancer time-out on large benchmarks - #536

Open
syeda-anjum wants to merge 11 commits into
mainfrom
sanjum-llmd-bench
Open

feat(llmd): improvements to capture runtime configuration, refactor telemetry-collector, and fix for load-balancer time-out on large benchmarks#536
syeda-anjum wants to merge 11 commits into
mainfrom
sanjum-llmd-bench

Conversation

@syeda-anjum

Copy link
Copy Markdown
Collaborator

Key Changes

  1. Address timeout issue on Load balancer and run_benchmark.sh for long running multi-stage benchmarks:
    • add GCPBackendPolicy override setting timeoutSec to 3600s across all 3 well-lit path gateway modules
    • Override upstream llm-d Gateway default 300s timeout with 3600s (1 hour) for InferencePool services
    • Ensures large multi-stage and high-concurrency benchmark runs do not fail with HTTP 504 Gateway Timeout
  2. Fix MAX_MODEL_LEN ceiling in tune_workload.py, by storing model specific context lengths in model_specs.json
  3. Modular Telemetry Architecture (telemetry-collector.yaml & run_benchmark.sh):
    • Replaces the standalone kind: Pod and inline multiline Python args: with a Kubernetes ConfigMap (telemetry-collector-script) and a native batch Job (telemetry-collector, apiVersion: batch/v1).
  4. Automates latency and throughput PNG chart generation (inference-perf -a) prior to GCS upload
  5. Dedicated Workload Config & Architecture Capture (capture_vllm_config.py):
    • Live Cluster Node Querying: Inspects the scheduled Kubernetes Node (spec.nodeName) to extract GKE NAP labels (cloud.google.com/compute-class: gpu-h100-80gb-high-x1 and cloud.google.com/gke-accelerator: nvidia-h100-80gb)
    • Architecture & Offloading Detection: Automatically identifies the GKE Accelerated Platforms reference architecture manifest path
    • Scaling State & HPA: Captures configured vs. ready replicas (dep.status.readyReplicas) and detects active HorizontalPodAutoscaler targets.

- Add --wait-timeout ${WAIT_TIMEOUT:-21600} to Stage 7,8 execution in run_benchmark.sh to prevent default 1-hour timeout on large sweeps
- Add HINT diagnostic message when endpoint preflight fails with HTTP 503 or 'unconditional drop overload'
- Add TIP to SKILL.MD regarding GCP Gateway 30s Load Balancer timeouts on large multi-stage sweeps
… across all 3 well-lit path gateway modules

- Override upstream llm-d Gateway default 300s timeout with 3600s (1 hour) for InferencePool services
- Ensures large multi-stage and high-concurrency benchmark runs do not fail with HTTP 504 Gateway Timeout
- Applies cleanly to optimized-baseline, precise-prefix-cache-routing, and predicted-latency-routing
…s tpu-v6e-2x4 across all three llm-d guides

- Set TENSOR_PARALLEL_SIZE=8 in runtime.env
- Set compute-class to tpu-v6e-2x4 in patch-nodeselector.yaml
- Set TPU resource requests and limits to 8 in patch-resources.yaml
- Applies to optimized-baseline, precise-prefix-cache-routing, and predicted-latency-routing
…d MAX_MODEL_LEN ceiling in tune_workload.py

- Fix Kustomize JSON patch path to target container index 0 instead of non-existent container index 1
- Include prompt (input) sequence length in KV cache memory calculation (max_in + max_out)
- Remove quantization calculation and FP8 fallback logic from automatic tuning
- Replace hardcoded 32,768 ceiling on MAX_MODEL_LEN with 131,072 to support modern 128k context models
…model_specs.json max context ceiling and accurate KV cache sizing

- Document 6-element tuple in model_specs.json hosting model max supported context length
- Explain KV cache memory sizing against total sequence length (max_in + max_out)
- Clarify Kustomize extra args injection targeting container index 0 (modelserver)
- Update run_benchmark.sh warning message for agentic_code_generation long-context workloads
… ceiling to skills TROUBLESHOOTING.md

- Document HTTP 504 Gateway Timeout symptom, 300s upstream default cause, and GCPBackendPolicy timeout resolution
- Document VLLMValidationError / broken pipe symptom on long-context prompts, artificial ceiling cause, and model_specs.json max context resolution
…e and automate DCGM telemetry collection in run_benchmark.sh
…tecture and Managed Prometheus container accelerator metrics
…esolved runtime ConfigMap envs (TP, KV offloading) and well-lit path guide name
…ive node label architecture detection, scaling state, and multi-pass substitution
@syeda-anjum
syeda-anjum marked this pull request as ready for review August 7, 2026 00:47

@alizaidis alizaidis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

# limitations under the License.
apiVersion: v1
kind: Pod
kind: ConfigMap

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

highly recommend to make this a separate script :)

use_kustomize = true
}

resource "local_file" "llmd_ob_gcp_backend_policy_override" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be done via kustomization overlay.

use_kustomize = true
}

resource "local_file" "llmd_ppcr_gcp_backend_policy_override" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be done via kustomization overlay.

use_kustomize = true
}

resource "local_file" "llmd_plr_gcp_backend_policy_override" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be done via kustomization overlay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants