Skip to content

Mechanism for plugins to share state between extension points #1084

@liu-cong

Description

@liu-cong

We currently use a CycleState, which is a map for the scheduler plugins to put and get state info. This is mainly used by the prefix cache aware plugin to share states between the Score and PostCycle extension points.

And to deprecate the PostCycle extension point in favor of the PreRequest, we need a mechanism to share states between the scheduler and director layers.

From the discussion in #1062, there seems to be 2 major questions:

  1. The use of a generic CycleState map itself.

Do we need a safer mechanism rather than a generic map? Should different scheduling profiles share state and if so, how to make sure they don't corrupt each other?

  1. How to let plugins communicate across layers.

Specifically for the prefix cache plugin, how to share state between the Scorer and PreRequest extension points.

cc @nirrozenbaum @kfswain @ahg-g

@kfswain will take the AI to create a proposal.

Metadata

Metadata

Assignees

Labels

needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions