Support generation peak throughput for Pulsar capacity weighting
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 218
- Forks
- 72
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 427
Description
Pulsar rendezvous weighting currently uses only the last mean input-token throughput reported for a cluster. That value can understate usable backend capacity for bursty workloads.
Allow operators to select either the existing mean input TPS or the maximum input TPS recorded during the current backend model generation as the rendezvous capacity weight. The maximum must be recorded at the backend, propagated with model stats, and aggregated only when every contributing backend reports a valid value.
Acceptance criteria:
- Existing mean-based behavior remains the default.
- A max-input-TPS option is available for Pulsar and Pulsar wait-and-widen.
- The maximum persists for the lifetime of a backend model generation and resets with the next generation.
- Mixed-version or incomplete cluster data does not silently fall back to the mean.
- Tests cover collection, generation reset, aggregation, selection, and cache invalidation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the backend model-stat collection and Pulsar rendezvous weighting entry points, tracing how input TPS is recorded, propagated, aggregated, and cached. Review the existing mean-based tests first, then cover collection, generation reset, aggregation validity, option selection, and cache invalidation for the max-input-TPS path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100