Skip to content

Commit fe4211f

Browse files
committed
feat(flowcontrol): add VTC fairness policy with token-based cost and starvation prevention
Signed-off-by: Guangya Liu <gyliu513@gmail.com>
1 parent d46a87e commit fe4211f

4 files changed

Lines changed: 828 additions & 0 deletions

File tree

cmd/epp/runner/runner.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ import (
7373
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/globalstrict"
7474
programaware "github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/program-aware"
7575
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/roundrobin"
76+
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/vtc"
7677
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/ordering/edf"
7778
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/ordering/fcfs"
7879
slodeadline "github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/ordering/slodeadline"
@@ -588,6 +589,7 @@ func (r *Runner) registerInTreePlugins() {
588589
fwkplugin.Register(globalstrict.GlobalStrictFairnessPolicyType, globalstrict.GlobalStrictFairnessPolicyFactory)
589590
fwkplugin.Register(roundrobin.RoundRobinFairnessPolicyType, roundrobin.RoundRobinFairnessPolicyFactory)
590591
fwkplugin.Register(programaware.ProgramAwarePluginType, programaware.ProgramAwarePluginFactory)
592+
fwkplugin.Register(vtc.VTCFairnessPolicyType, vtc.VTCFairnessPolicyFactory)
591593
fwkplugin.Register(fcfs.FCFSOrderingPolicyType, fcfs.FCFSOrderingPolicyFactory)
592594
fwkplugin.Register(edf.EDFOrderingPolicyType, edf.EDFOrderingPolicyFactory)
593595
fwkplugin.Register(slodeadline.SLODeadlineOrderingPolicyType, slodeadline.SLODeadlineOrderingPolicyFactory)

pkg/epp/framework/plugins/flowcontrol/fairness/functional_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
fwkplugin "github.com/llm-d/llm-d-router/pkg/epp/framework/interface/plugin"
2929
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/globalstrict"
3030
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/roundrobin"
31+
"github.com/llm-d/llm-d-router/pkg/epp/framework/plugins/flowcontrol/fairness/vtc"
3132
)
3233

3334
// TestFairnessPolicyConformance is the main conformance test suite for FairnessPolicy implementations.
@@ -39,6 +40,7 @@ func TestFairnessPolicyConformance(t *testing.T) {
3940
policies := map[string]fwkplugin.FactoryFunc{
4041
globalstrict.GlobalStrictFairnessPolicyType: globalstrict.GlobalStrictFairnessPolicyFactory,
4142
roundrobin.RoundRobinFairnessPolicyType: roundrobin.RoundRobinFairnessPolicyFactory,
43+
vtc.VTCFairnessPolicyType: vtc.VTCFairnessPolicyFactory,
4244
}
4345

4446
for name, f := range policies {

0 commit comments

Comments
 (0)