Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[scheduler] add topological extender type #537

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

miklezzzz
Copy link
Contributor

@miklezzzz miklezzzz commented Dec 6, 2024

Enhances the scheduler to support an additional type of extenders which can alter the graph's structure with topological hints, implementing tighter dependency (comparing to weight-based dependency) between vertices/modules.

Overview

What this PR does / why we need it

Provides two new extender types:
Stateful extender (instead of Ressetable extender) is a type of extenders that requires to have the current state of vertices (during the calculation) in order to make a decision if a module has to be enabled/disabled (for example, script enabled extender works this way. This state is shared among all Stateful extenders meaning that two or more extenders are able to follow the changes other extenders apply when filtering.

Topological extender, provides additional connections between vertices by means of GetTopologicalHints method. These hints are used when the graph is being built and could represent additional dependencies between vertices (modules). If a module has a dependency from another module, this module's weight has no effect anymore and the module's run during the converge process takes place right after the latest dependency run.

Some other minor changes like using custom BFS method for traversing the graph, and so on.

Special notes for your reviewer

@miklezzzz miklezzzz added the enhancement New feature or request label Dec 6, 2024
@miklezzzz miklezzzz self-assigned this Dec 6, 2024
@miklezzzz miklezzzz force-pushed the scheduler-add-topological-hints branch 3 times, most recently from ba6920f to e651226 Compare December 12, 2024 08:22
@miklezzzz miklezzzz force-pushed the scheduler-add-topological-hints branch 2 times, most recently from 75ed637 to 54715d5 Compare December 13, 2024 13:29
Signed-off-by: Mikhail Scherba <[email protected]>
@miklezzzz miklezzzz force-pushed the scheduler-add-topological-hints branch from 54715d5 to cc7128a Compare December 13, 2024 13:34
@miklezzzz miklezzzz marked this pull request as ready for review December 16, 2024 06:43
@miklezzzz miklezzzz changed the title [scheduler] add topology hints [scheduler] add topological extender type Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants