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

[Core feature] Introduce configuration for max number of nodes per workflow mutation #2578

Open
2 tasks done
honnix opened this issue Jun 3, 2022 · 4 comments
Open
2 tasks done
Labels
enhancement New feature or request stale

Comments

@honnix
Copy link
Member

honnix commented Jun 3, 2022

Motivation: Why do you think this is important?

Today we have max-parallelism to control how many nodes will be started (asynchronously) per workflow mutation iteration. But in case of synchronous node this has no impact, because when node execution finishes, the state will be set to success that is a terminal state, which will not result in increment of parallelism; and the result is a worker hogging on a workflow.

This could be solve by turning node execution into asynchronous, but there are many cases a node execution cannot or does not make sense to be asynchronous, for example a node simply does a string processing in memory. For those cases, if the totally number of worker is small and there exists a few extremely big and heavy fan-out workflows, it is easy to have an unfair scheduling result where those workflows will keep all the workers busy while other small workflows will be waiting for long.

So it seems reasonable to have control of the max number of nodes being executed per workflow mutation iteration.

Goal: What should the final outcome look like, ideally?

This could either be achieved by changing semantics of max-parallelism for simplicity or introducing a new configuration for separation of concern.

Describe alternatives you've considered

We have considered turning some of the node executions into asynchronous, but there are node execution cannot or doesn't make sense to be asynchronous.

Propose: Link/Inline OR Additional context

No response

Are you sure this issue hasn't been raised already?

  • Yes

Have you read the Code of Conduct?

  • Yes
@honnix honnix added enhancement New feature or request untriaged This issues has not yet been looked at by the Maintainers labels Jun 3, 2022
@kumare3 kumare3 removed the untriaged This issues has not yet been looked at by the Maintainers label Jun 20, 2022
@github-actions
Copy link

github-actions bot commented Sep 3, 2023

Hello 👋, This issue has been inactive for over 9 months. To help maintain a clean and focused backlog, we'll be marking this issue as stale and will close the issue if we detect no activity in the next 7 days. Thank you for your contribution and understanding! 🙏

@github-actions github-actions bot added the stale label Sep 3, 2023
@github-actions
Copy link

Hello 👋, This issue has been inactive for over 9 months and hasn't received any updates since it was marked as stale. We'll be closing this issue for now, but if you believe this issue is still relevant, please feel free to reopen it. Thank you for your contribution and understanding! 🙏

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Sep 11, 2023
@honnix
Copy link
Member Author

honnix commented Sep 11, 2023

I don't exactly remember what this is :p, but it seems to be still relevant.

@eapolinario eapolinario reopened this Nov 2, 2023
@github-actions github-actions bot removed the stale label Nov 4, 2023
Copy link

github-actions bot commented Aug 1, 2024

Hello 👋, this issue has been inactive for over 9 months. To help maintain a clean and focused backlog, we'll be marking this issue as stale and will engage on it to decide if it is still applicable.
Thank you for your contribution and understanding! 🙏

@github-actions github-actions bot added the stale label Aug 1, 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 stale
Projects
None yet
Development

No branches or pull requests

3 participants