Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Done
-
None
Description
A SpeculativeScheduler will be used if speculative execution is enabled. It extends AdaptiveBatchScheduler so that speculative execution can work along with the feature to adaptively tuning parallelisms for batch jobs.
The major differences of SpeculativeScheduler are:
- SpeculativeScheduler needs to be able to directly deploy an Execution, while AdaptiveBatchScheduler can only perform ExecutionVertex level deployment.
- SpeculativeScheduler does not restart the ExecutionVertex if an execution fails when any other current execution is still making progress
- SpeculativeScheduler listens on slow tasks. Once there are slow tasks, it will block the slow nodes and deploy speculative executions of the slow tasks on other nodes.
- Once any execution finishes, SpeculativeScheduler will cancel all the remaining executions of the same execution vertex.
Attachments
Issue Links
- requires
-
FLINK-28143 Introduce BlocklistHandler
- Closed
- links to