目录文档-技术白皮书07-EFT.WP.Core.Threads v1.0

第2章 执行图与调度


I. 范围与目标


II. 执行图模型与基本对象

  1. 图与节点
    • G = (V,E) 为有向无环图(DAG);dep(u,v) 表示从 u 到 v 的先行约束;源集合 Src(G),汇集合 Sink(G)。
    • 节点属性:w(v)(执行成本)、affinity(v)、quota(v) ⊆ {R_cpu,R_mem,R_io}、deadline(v)|None、prio(v)|None。
  2. 边与转移
    e = (u -> v) ∈ E,边成本 c(e)(数据传输或同步开销);边标签:size(e)、locality(e)、sem(e)(消息语义)。
  3. 就绪集与事件
    就绪条件:pred(v) ⊆ Done ⇒ v ∈ Ready(t);事件 eid 记于 TS.*,因果以 hb 记录。

III. 成本模型与 makespan(S72 系列)

  1. 工作量与跨度
    • 总工作量:W_tot(G) = ( ∑_{v∈V} w(v) ) + ( ∑_{e∈E} c(e) )。
    • 跨度(关键路径代价):Span(G) = ( ∑_{v∈crit(G)} w(v) ) + ( ∑_{e∈crit(G)} c(e) )。
  2. 最小方程(核心近似)
    • S72-1(关键路径近似):T_make(G) approx Span(G)。
    • S72-2(工作–跨度下界):T_p(G) >= max( W_tot(G) / p_eff , Span(G) ),其中 p_eff <= K_thr_total 且受就绪宽度约束。
    • S72-3(开销校正):T_make(G) approx T_p(G) + alpha * |V| + beta * ctx_switch + gamma * migrations。
  3. 并行度与可达上限
    • 平均并行度:A(G) = W_tot(G) / Span(G);理论上 T_p(G) >= W_tot(G) / min(p_eff, A(G))。
    • 局部资源束缚:若某类资源 R_k 为主导,则 p_eff <= floor( capacity(R_k) / demand_max_k )。
  4. 流式稳态与 Little 定律
    对于 steady-state stage,L = lambda * W,要求 rho = lambda / mu < 1;W 以 tau_mono 计量。

IV. 公设与约束(P72-*)


V. 调度目标与代价函数

  1. 目标族
    minimize T_make(G);满足 deadline(v) 与 SLO;maximize utilization;bounded memory;minimize cross-host traffic。
  2. 统一评分
    • score(v, w_i) = a * rank_cp(v) - b * slack(v) - d * penalty_loc(v, w_i) - m * mem_pressure(w_i) + r * reuse_cache(v, w_i)。
    • slack(v) = deadline(v) - est_finish(v);rank_cp(v) 为关键路径向后层级(见下节)。

VI. 优先级启发式与算法

  1. 拓扑就绪队列(基础)
    Ready(t) 以拓扑序维护;就绪节点按 prio(v) 或 rank_cp(v) 选择;空闲 worker 立即抢占就绪集头部。
  2. 关键路径排序(CP/HEFT 风格)
    • 递推定义 rank_cp(v) = w(v) + max_{(v->u)∈E}( c(v,u) + rank_cp(u) );无后继时取 rank_cp(v)=w(v)。
    • 策略:就绪集中优先较大 rank_cp 的节点;异构放置选 EFT 最小的 worker。
  3. 最长处理时间优先(LPT)
    当 deadline=None 时,LPT 近似最小化 makespan:就绪集中按 w(v) 降序投放。
  4. 截止期驱动(EDF)
    对存在 deadline(v) 的节点,按最早截止期优先;可用 slack(v) 协助打分。
  5. 本地性与批合并
    对高 c(e) 边,倾向将相邻节点同放;对微任务可按 batch_size 合并为单工作单元。

VII. 资源绑定与放置


VIII. 背压、限流与队列稳定


IX. 截止期、超时与重试


X. 图规范与不变量

  1. 规格字段(建议最小集)
    • nodes: [ {id, w_est, affinity?, quota?, deadline?, prio?, tags?} ]
    • edges: [ {from, to, c_est, size?, sem?, locality?} ]
    • graph: {gid, name, version, created_ts}
  2. 不变量
    acyclic(G)=true;gid 全局唯一;∑ demand(mem) on worker_i <= mem_i;跨卷字段以 TS.* 落库。

XI. 调度流程 Mx-1(标准化)


XII. 观测与度量(TS. 对齐)*

  1. 关键字段
    • TS.sli.queue_time_ms、TS.sli.run_time_ms、TS.sli.latency_ms、TS.sli.p99_ms、TS.sli.err_rate、TS.sli.qps。
    • TS.thr.K_thr、TS.chan.cap、TS.backpressure.level、TS.retry.count、TS.timeout.count、TS.drop.count。
  2. 关联关系
    Span(G) 的在线估计可由 trace_span 的最长链路近似;W_tot(G) 由所有 w(v) 与 c(e) 的滑窗和估计。

XIII. 策略模板(可直接套用)


XIV. 跨卷绑定与到达时引用

  1. 若以传播到达时 T_arr 做时序校准或网络传播估计,采用两口径:
    • 常量外提:T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
    • 一般口径:T_arr = ( ∫ ( n_eff / c_ref ) d ell )
  2. 差异报告:delta_form = | ( 1 / c_ref ) * ( ∫ n_eff d ell ) - ( ∫ ( n_eff / c_ref ) d ell ) |。
  3. 路径与测度:声明 gamma(ell) 与 d ell,避免与执行图 G 混淆。

XV. 契约与测试要点

assert_thread_contract(G, tests) 至少覆盖:

XVI. 出厂条件与交付件


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/