Skip to content
About
Main content
Trade-off

Simplicity vs. adaptivity

Where you meet it: static plans vs. adaptive execution.

What it is

Static versus dynamic scheduling is a choice between simplicity and adaptivity. Static scheduling fixes the assignment of tasks to workers before execution, using the planner's estimates. What it buys is co-optimization: all decisions are made together, with global knowledge of the plan. You can place tasks near their data, gang-schedule stages that must run at the same time, reserve memory coherently, and pay zero runtime overhead.

From Execution Engine Runtime › Stealing and speculation

Branching defeats static analysis of the graph. Before the run you can no longer compute the critical path (the longest chain of dependent tasks), the expected resource use, or the set of outputs that will be produced. Anything that wanted to plan against the DAG shape (cost estimates, capacity reservation, DAG-aware scheduling) degrades to a guess. Simplicity versus adaptivity has a precise price here: adaptivity costs the plannability of everything upstream of the decision.

From Orchestration & Workflow › Branching

Where it appears

In 6 mechanisms. Each says what the mechanism is about, then how this trade-off shows up there, in its own words.

Made on the same pages most often.