vllm-project / vllm-project/aibrix

Implement BucketServe-style bucket-based dynamic batching in AIBrix

Open
#1,817 1 comment 0 reactions 0 assignees View on GitHub
area/gateway
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.