Closed
Description
Currently (scheduler) Plugins support a Name()
function.
The Name
effectively serves as their type (e.g., see config proposal #881).
Further, there is no support for instance specific name when the system is configured with multiple plugins of the same type (e.g., Prefix scorer in disaggregated P/D).
What would you like to be added:
- Extend the Plugin interface type with
Type() string
while repurposing the currentName()
function to indicate the specific instance name.
Why is this needed:
- support multiple Plugins of the same type with different instance names (e.g., for logging)
- align configuration file semantics to create and use named instance of a specific type
Alternatives:
- can retain the current
Name()
and add an (e.g.)InstanceName()
to minimize the code changes - use
Kind()
(or GKV if so inclined) for Kubernetes alignment - extend "Name()" to be a "namespaced name" in the format of
name
/
instance
(i.e., overload the name to include both the type and instance)
Would be happy to make that change if acceptable.