ancient-wolf-19325
08/01/2024, 1:10 PMRUNNING executions are allowed at a given time for my workflow and despite following these steps and setting max_parallelism = 3 in both my launch plan and a config.yaml that I’m using, flyte propeller still seems to still allow as many as 20 executions to be in a RUNNING state at once.
Is max_parallelism not doing what I think it does? Or is there another way of limiting how many executions can be run at once?
# Answer
The max_parallelism setting in Flyte is intended to limit the number of task nodes that can run concurrently within a single workflow execution, not across multiple workflow executions. This might be why you're seeing more than the expected number of RUNNING executions.
According to this GitHub issue, there have been reports of max_parallelism not being respected in certain scenarios, such as within dynamic workflows or subworkflows. Additionally, this discussion suggests that max_parallelism might not work as expected for tasks in dynamic workflows.
To limit the number of concurrent workflow executions, you might need to implement a custom throttling mechanism. One approach is to use a "resource lock" task at the beginning of your workflow to control the number of concurrent executions, as described in this GitHub issue.
Would you like more details or a specific example on how to set up such a throttling mechanism?
Sources:
- GitHub Issue on max_parallelism
- Flyte Discussion on max_parallelism
- GitHub Issue on Workflow Level Throttling
Slack Link
https://flyte-org.slack.com/archives/CP2HDHKE1/p1722517788.205759 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.