Highlights
Scale on real serving-engine signals instead of proxying GPU utilization, plus MIG-aware collection and a native gRPC health check.
Added
- Inference-server scaling — vLLM queue depth & KV-cache usage (#28), Triton queue-wait & request-rate (#111), and a TGI
tgi-inferenceprofile (#64) — read directly from each engine's/metricsendpoint. - MIG per-instance metrics — one entry per MIG compute instance via NVML (
is_mig_instance,parent_index,mig_profile), withCUDA_VISIBLE_DEVICESMIG-UUID resolution for SLURM/Flux. - gRPC health checking (#109) — implements the gRPC Health Checking Protocol; a background checker polls NVML every
--health-check-interval(default30s) and reportsSERVING/NOT_SERVING. p95/p99multi-GPU aggregation (#69) — percentile reduction so one hot GPU doesn't dominatemax.- Flux shell plugin (#60) —
deploy/flux/gpu-monitor.luaauto-starts/stopsgpu-metricsalongside a Flux job.
Fixed
gpuIndexvalues below-1are now rejected with a clear error (#128).
Upgrade note
Helm liveness/readiness probes now default to the native gRPC probe type (probes.type: grpc, requires Kubernetes 1.24+). On older clusters set probes.type: http to keep the previous /healthz / /readyz probes.
Install
helm install keda-gpu-scaler oci://ghcr.io/pmady/charts/keda-gpu-scaler --version 0.6.0Contributors
@venkata22a — inference-server scalers, MIG metrics, and gRPC health checking
Full Changelog: v0.5.0...v0.6.0