vllm-project / vllm-project/aibrix
Implement BucketServe-style bucket-based dynamic batching in AIBrix
- Dominant language
- Go
- Stars
- 5.1k
- Forks
- 694
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 98
Description
### 🚀 Feature Description and Motivation
The recent paper “BucketServe: Bucket-Based Dynamic Batching for Smart and Efficient LLM Inference Serving” proposes a bucket-based dynamic batching framework built on vLLM, designed to handle heterogeneous sequence lengths and mixed workloads. It groups requests into sequence-length–homogeneous buckets, dynamically splits/merges buckets, and chooses batch sizes based on GPU memory constraints to avoid OOM while improving throughput and SLO attainment
Implementing a BucketServe-style bucketizer in the AIBrix gateway would:
- Reduce padding overhead for mixed short/long prompts.
- Improve GPU utilization under heterogeneous workloads and high concurrency.
- Provide a clean interface to plug in SLO-aware scheduling (e.g., “RPS mode” vs “throughput mode”).
But this is not just gateway works, we need to make sure underneath deployment have different configuration as well, aligned with autoscaling settings.
Reference
BucketServe: Bucket-Based Dynamic Batching for Smart and Efficient LLM Inference Serving https://arxiv.org/abs/2507.17120
### Use Case
reduce cost and improve throughput
### Proposed Solution
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.