【边缘计算实战】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 可观测诊断

相关推荐
oioihoii4 分钟前
三步改掉 AI 味,附可直接复制的去 AI 味提示词
人工智能
阿乔外贸日记5 分钟前
全球电子产业高度集中:中、韩、日和中国台湾地区占全球数字硬件产能八成
大数据·服务器·人工智能·物联网·云计算
曹牧11 分钟前
AI Skill
人工智能
品牌常新16 分钟前
巡查机器人推荐:楼宇园区仓储怎么选
人工智能
OnlineProxy17 分钟前
如何生成无限电子邮件:实现无封锁、无验证码的可扩展邮局注册架构
人工智能·proxy模式
`流年づ20 分钟前
VGG、AlexNet、GoogLeNet对比
人工智能·深度学习
马剑威(威哥爱编程)23 分钟前
【AI全栈后端12-08】Spring Boot 用 MCP 统一接入内部系统:让 AI 接一次,全公司复用
java·人工智能·spring boot
oooost28 分钟前
RecFno
人工智能·机器学习
屹立芯创ELEADTECH33 分钟前
先进封装RDL制程中的Build-up Film:关键应用、工艺挑战与发展趋势
大数据·人工智能·microsoft
bst@微胖子36 分钟前
Spring AI (5) : MCP 深度实战:从工具抽取到鉴权,SSE 与 STDIO
人工智能·spring·dubbo