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

第10章 并行与执行(Threads 对接)


I. 范围与目标


II. 术语与符号

  1. 执行图与代价:G=(V,E),w(v)(节点计算代价,单位 s 或 CPU·s),m(并发资源数),C_p(G)(关键路径时长)。
  2. 调度与时限:T_make(G)(作业完工时长),D_k(第 k 个产物截止时间),slack_k = D_k - ( t_now + R_k ),R_k(关键路径剩余代价估计)。
  3. 队列与背压:Q_i(ts)(第 i 级队列深度,单位 item),r_in,i,r_out,i(输入/输出速率,单位 item/s),bp(背压信号)。
  4. 因果与时基:hb(happens-before),tau_mono(单调时基),ts = alpha + beta * tau_mono(与第8章一致)。
  5. 运行度量(TS.*,与《Core.Threads》一致口径)
    • TS.lat.p50,TS.lat.p99(端到端延迟)
    • TS.jitter.rms(周期抖动)
    • TS.backlog.max(最大队列深度)
    • TS.loss.rate(丢包率)
    • TS.hb.violations(因果违例计数)
    • TS.util.cpu,TS.util.mem(资源占用)
    • TS.makespan.last = T_make(G)
    • TS.cp.length = C_p(G),TS.cp.set(关键路径节点集)

III. 公设与最小方程


IV. 数据与清单口径

  1. 运行期扩展字段(建议并入 schema.core.drawing/v1 的 runtime.* 命名空间)
    • runtime.G.hash(执行图结构哈希)
    • runtime.T_make(s),runtime.C_p(s),runtime.cp.set(节点名列表)
    • runtime.queues[i].Q_max,Q_p95,drops,drop.policy
    • runtime.rate.in,runtime.rate.out(item/s)
    • runtime.TS.lat.p50,TS.lat.p99,TS.jitter.rms,TS.util.cpu,TS.util.mem,TS.hb.violations
    • runtime.alerts[](告警时间与类型)
  2. 与物理量的对齐
    series.* 的每个窗口 window.id 挂接 runtime.* 的同窗统计;频域派生 spectral.* 标注其生成作业 v_spectral 与其 w(v) 估计。

V. 算法与实现绑定

  1. I10-1 update_draw_state( state, bc:dict, dt:float ) -> StepReport
    线程安全:获取输入 v_in,v_out,T_fil 的时序切片,完成 lambda,s,A,rho_L,J 更新;提交以 hb(acquire)->hb(update) 顺序标记。
  2. I10-2 estimate_tension( lambda:float , s:float , params:dict ) -> float
    可并行批量化;若 params.model 含速率硬化项,需声明 w(v) 估计与 TS.util.cpu 上限。
  3. I10-3 compute_instability_metrics( state ) -> dict
    异步执行;若 TS.cp.length 超阈,降采样或切换轻量指标族。
  4. I10-4 calibrate_kinematics( trace:any , sensors:list , timebase:dict ) -> CalReport
    仅在 INIT/WARMUP 阶段上电执行;提供 alpha,beta 与 jitter_rms。
  5. I10-5 emit_metrics_drawing( state ) -> dict
    终端节点,满足 hb(update)->hb(emit),并写入 runtime.* 度量与 TS.* 聚合。
  6. 新增执行接口
    • I10-6 schedule_draw_graph( G , SLO:dict , resources:dict ) -> SchedPlan
    • I10-7 run_event_loop( plan:SchedPlan ) -> RuntimeReport
  7. 伪代码(核心循环)

I10-7 run_event_loop(plan):

state <- INIT

while state != STOP:

events <- poll(plan.inputs, plan.timeout)

for e in events:

tag_hb(e, "acquire")

if backlog_high(): issue_bp(); maybe_throttle()

submit(v_update, e.payload) # I10-1

if need_spectrum(): submit(v_spectral, window_id)

if need_risk(): submit(v_instab, snapshot) # I10-3

drain_ready_tasks_by_priority() # critical-path & slack-aware

for r in ready(v_emit):

tag_hb(r, "emit")

out <- I10-5(r.state)

publish(out)

  1. 状态机
    INIT -> WARMUP -> RUN -> DRAIN -> STOP;在 WARMUP 完成 I10-4 与资源探测,在 DRAIN 等待队列清空并确保 T_make(G) 收敛。

VI. 计量流程与运行图

  1. 运行图口径
    • 采集节点 v_acq(编码器/张力/环境)
    • 状态更新 v_update(I10-1)
    • 构成估计 v_tension(I10-2)
    • 频谱派生 v_spectral(第7章)
    • 失稳评估 v_instab(I10-3)
    • 清单汇总 v_emit(I10-5)
  2. 关键观测点
    在每个节点出口标注 TS.lat.node、TS.queue.len、TS.cpu.slice;在作业完成时更新 TS.makespan.last 与 TS.cp.set。
  3. 告警与回退
    当 TS.backlog.max > gate.backlog 或 TS.hb.violations > 0,触发 ALERT.PIPELINE_HB,进入降采样模式并冻结非关键派生(如高分辨率 spectral.*);当 slack_k <= 0,触发 ALERT.DEADLINE_MISS 并记录受影响窗口 window.id。

VII. 验证与测试矩阵

  1. 最小用例
    • 恒速拉伸:验证 hb 顺序与 T_make(G) 下界 S12-19。
    • 阶跃拉伸:验证 TS.jitter.rms 与背压闭环 S12-18 的稳定性。
    • 斜坡拉伸:验证 v_spectral 的并发扩展与 TS.util.cpu 上限。
  2. 极端场景
    • 传感器抖动放大与迟到包;
    • 队列容量上限与强迫丢弃策略;
    • 资源收缩(m 减半)下的 T_make(G) 与 SLO 保序。
  3. 守恒与门限
    并行执行不得破坏第3章守恒校核:eps_mass、eps_norm 在并发与降采样模式下仍须通过 qc.gate.*。

VIII. 交叉引用与依赖


IX. 风险、限制与开放问题


X. 交付件与版本管理

  1. 交付件
    • threads.drawing.v1.yaml(执行图、优先级与限流策略)
    • threads.drawing.metrics.json(TS.* 与 runtime.* 聚合)
    • threads.drawing.hbtrace(因果迹线,含 hb 标记)
  2. 版本与变更
    • 调度策略或 bp 口径变更标记 MOD,同步更新 runtime.* 字段说明;
    • 新增节点或并行分支标记 ADD,更新 G.hash 与基准作业的 T_make(G) 基线;
    • 任何影响 hb 语义的改动需发布兼容旗标与回归矩阵,并在 CHANGELOG.md 记录。

版权与许可(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/