Appearance
Execution Runtime
建立可恢复的 Run/Node 状态机、Scheduler、Replay、Worker ownership 与 durable wait。
推荐阅读顺序
1. 一次 Run 如何被推进:Lifecycle、State Machine 与 Node Transition
回答:一次 Run 从创建到终止经历哪些状态,Turn / Step / Node transition 怎样被 State Machine 约束?
2. Graph 怎样变成可执行依赖:Representation、Validation 与 Cycle Detection
回答:Execution Graph 需要保存哪些节点和依赖信息,怎样在调度前发现悬空依赖与 cycle?
3. DAG 怎么调度:Ready Queue、Parallel Execution 与 Scheduler
回答:DAG Scheduler 如何从依赖关系推导 ready queue,并在并行执行后持续推进图状态?
4. 运行中的并发怎么收住:Concurrency Limit、Cancellation 与 Deadline
回答:Runtime 如何同时限制并发、传播 cancellation 和收紧 deadline,而不留下后台任务?
5. 局部失败如何传播:Partial Failure 与 Runtime Invariants
回答:并行节点局部失败时,哪些成功结果应保留、失败怎样传播,哪些 invariant 绝不能被破坏?
6. Run 怎样安全暂停再继续:Pause、Checkpoint 与 Pending Writes
回答:一个 Run 怎样在一致边界暂停,Checkpoint 要记录哪些 pending work 才能安全 resume?
7. 历史执行怎样重放和分叉:Replay、Determinism、Fork 与 Time Travel
回答:Runtime 恢复历史执行时,哪些结果应复用、哪些代码会重新运行,如何避免非确定性控制流和真实副作用在 replay 中被再次触发?
8. 长 Run 什么时候必须停:Long-running Execution 与 Termination
回答:一个逻辑 Run 可以跨进程运行很久,但怎样避免它变成无限循环、无限等待或无限成本?
9. 多个 Worker 抢同一个 Run 怎么办:Claim、Lease、Heartbeat 与 Fencing
回答:当 Scheduler/Worker 横向扩展后,怎样保证同一个 Node 不会被两个 Worker 同时当成“自己拥有的工作”并提交冲突结果?
10. Run 等几个小时还能继续吗:Durable Wait、Timer 与 External Event
回答:一个 Run 等待人工输入、未来时间或外部系统事件时,怎样释放进程并在条件满足后可靠唤醒?
本模块学习边界
- 暂不展开:未到对应周不要一次读满 replay/fencing/durable wait 等高级机制