【边缘计算实战】P3:把卸载策略接到线上——弱网 / 过载 / 节点宕机注入

【边缘计算实战】P3:把卸载策略接到线上------弱网 / 过载 / 节点宕机注入

系列 :巡检机器人边云协同(P1→P2→P3→P4)

代码仓库 :https://gitee.com/ghaweiuptgb/edge-computing

本篇目录 :projects/p03-online-offloading

前置:P1(策略)+ P2(Compose 运行时已启动)


一、P3 要解决什么?

导师项目标题里常有「复杂环境」四个字。如果只做实验室理想网络下的仿真,故事是不完整的。

P3 做三件事:

  1. 在线调度 :用 P1 策略选节点,真实调用 P2 /infer
  2. 工况注入:normal / weak_net / edge_overload / node_down
  3. online vs sim:承认差异,但讲清原因与相对结论

一句话:

让策略从「笔记本上的公式」走到「容器里的 HTTP」。


二、整体数据流

text 复制代码
任务流 (同 P1 的 seed 生成)
    → Offline Policy.select(nodes, network)
    → 故障注入(延迟 / 丢包 / 队列 hint / docker stop)
    → POST http://node/infer
    → JSON 结果 + 日志落盘
    → 与 P1 Simulator 对比

关键适配:P2 Registry 返回 JSON,需映射为 P1 的 ComputeNode;宿主机访问容器时,把 http://edge-node-a:8001 映射为 http://127.0.0.1:8001。


三、四种复杂环境工况

工况 在线怎么注入 目的
normal 无额外注入 基线
weak_net 云端额外延迟 + 小概率丢包 惩罚无脑上云
edge_overload 抬高边侧队列 hint 逼策略分流
node_down docker compose stop edge-node-a + alive=False 宕机容错

四、环境准备

bash 复制代码
# 1) 先启动 P2
cd edge-computing/projects/p02-edge-runtime
docker compose up -d

# 2) 跑 P3
cd ../p03-online-offloading
pip install -r requirements.txt
python -m pytest tests/ -v

五、快速实验

单工况对比(弱网)

bash 复制代码
python scripts/run_profile.py --profile weak_net --policy always_cloud --n-tasks 40
python scripts/run_profile.py --profile weak_net --policy greedy_min_latency --n-tasks 40

矩阵实验

bash 复制代码
python scripts/run_profile.py --matrix --profiles normal,weak_net,edge_overload --n-tasks 30

输出:

text 复制代码
experiments/results/summary.md
experiments/results/online_*.json
experiments/logs/*.log

总验收

bash 复制代码
python scripts/accept_p3.py

六、怎么读 online vs sim?(非常重要)

很多同学会慌:「为什么线上成功率和仿真不一样?」

请记住这张表:

维度 仿真 P1 在线 P3
执行 公式直接算 HTTP + 真实 sleep
网络 写进公式 额外 delay / 丢包
抖动 无 Docker / OS 调度
宕机 alive=False 可选真 stop 容器

正确读法:

  • 不要追求绝对数值相等
  • 要看策略 相对排序 是否大体同向
  • 差异写进报告,本身就是科研训练

仓库文档:docs/online-vs-sim.md


七、失败可观测

每次运行会写日志,例如:

text 复制代码
experiments/logs/weak_net_always_cloud.log

里面能看到:

  • dropped(注入丢包)
  • infer_fail / infer_exception
  • 选了哪个节点

这为 P4 的告警与诊断埋了伏笔。


八、组会怎么讲(40 秒)

P1 证明策略在仿真里有效;P3 把同一套策略接到真实边缘服务,并注入弱网、过载、节点宕机。

线上数字会和仿真有偏差,但相对结论仍然成立,说明方法经得起「复杂环境」。


九、小结与下期预告

P3 打通了「策略 → 运行时 → 工况」。

下一篇 【P4】可观测与运维诊断:做指标、告警、规则诊断,并给一个浏览器面板,注入故障后能「看到报告」。


标签建议 :边缘计算 计算卸载 故障注入 弱网 Docker 在线调度

系列导航 :P1 仿真 → P2 运行时 → P3 在线卸载(本篇) → P4 可观测诊断

相关推荐
深蓝AI7 分钟前
10 万星投给了记忆:claude-mem 把编码 Agent 的断片压进 SQLite,值不值得装
人工智能·程序员
limuyang24 小时前
我在 2核2G 云主机上跑 OpenViking:一次关于云主机、模型选型与长期成本的真实复盘
人工智能·开源·ai编程
Shulex6 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Java后端的Ai之路6 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
情 九6 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
码农小旋风6 小时前
Ray分布式计算引擎介绍
人工智能·架构
火山引擎和TA的超级拍档们6 小时前
产品情报局 08 | AI 内容助手:全网热点驱动,一站式打通内容生产全链路
人工智能
Binovate缤江数智7 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
素男7 小时前
两个月不是六十天
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍