前端功能版图头脑风暴
后端定位收敛到 G5(Rust 指令级事件驱动仿真),前端围绕它重新设计功能版图。整体叙事:前端从「配置提交 + 结果表格」升级为「仿真洞察工作台」——业界仿真器(ASTRA-sim / SimAI)只有 CLI 和论文图,G5 配上 trace 级可视化即形成差异化。
名词定义
评估路径
- Math 路径:代数性能模型,秒级出结果,用于设计空间粗筛。
- G5 路径:Rust 指令级事件驱动仿真,分钟级,产出微观事件流(链路传输、排队、指令执行),用于瓶颈分析。
可视化与诊断
- trace:仿真过程的事件级记录(时间戳 + 事件类型 + 资源),Perfetto 等工具的标准输入。
- 关键路径(critical path):端到端时延的决定性依赖链,缩短关键路径上的事件才能缩短总时延。
- Pareto 前沿:多目标(如成本 vs 性能)下不被任何其它方案全面支配的方案集合。
业界工具
- Perfetto:Google 开源 trace 分析平台,浏览器端可加载多 GB trace,支持时间线缩放与 SQL 查询。
- ASTRA-sim:分布式 ML 系统仿真器,用 Chakra 格式描述工作负载,支持分层网络建模。
- SimAI:阿里开源 LLM 训练全流程仿真器,覆盖框架、集合通信、网络三层。
现状基线
前端现有 8 个视图(Dashboard / 拓扑 / 部署评估 / 通信评估 / 结果 / 分析 / 主题等),图表以 Gantt + Roofline + 参数热力为主。薄弱点:
- G5 微观数据没接住:仿真产出事件级数据,前端只展示汇总指标和 op 级 Gantt。
- 通信评估可视化弱:只有数字结果,无链路动画、无拓扑高亮。
- 无对比视图:多方案只能开标签页人肉对比。
- 任务黑盒等待:G5 分钟级仿真无进度推送、无日志查看。
候选清单(按维度)
仿真洞察可视化(G5 独有价值)
- event-trace-timeline — G5 事件流导出 Perfetto 风格 trace,浏览器时间线缩放钻取到单条指令/单次链路传输
- link-utilization-replay — 3D 拓扑上按仿真时间轴回放链路占用热力动画
- queue-depth-view — 交换机/NIC 队列深度随时间曲线,定位排队拥塞点
- collective-animation — 集合通信在拓扑上的逐步动画演示
- dag-execution-view — 计算/通信 DAG 依赖图可视化,节点着色显示关键路径
- per-chip-occupancy — 每芯片算力/带宽/内存占用甘特叠加视图
- trace-sql-query — Perfetto 式 trace 查询界面
拓扑设计与编辑
- topology-canvas-editor — 拖拽式拓扑画布,所见即所得生成配置
- topology-diff-view — 两个拓扑版本的结构/带宽差异高亮
- link-failure-injection — 点掉链路/交换机触发降级仿真对比
- routing-path-inspector — 选中芯片对,高亮路由路径(含 ECMP 多路径)
- topology-template-gallery — fat-tree/torus/dragonfly/hyperX 模板库 + 参数化生成向导
设计空间探索
- pareto-frontier-view — 扫参结果的成本-性能 Pareto 前沿散点图
- side-by-side-compare — 2-4 个方案并排对比:KPI 差值、Gantt 对齐、瓶颈差异
- sweep-wizard — 扫参向导:选维度 → 估算 cell 数和耗时 → 提交批量任务
- constraint-solver-ui — 给定 SLO 反向搜索可行部署方案(对接长上下文部署搜索 spec)
- what-if-quick-estimate — 改参数时先用 Math 路径秒级预估
仿真任务工作流
- live-progress-stream — G5 仿真进度实时推送(已仿真时间/事件数/预计剩余)
- task-log-viewer — 任务日志/G5_DEBUG 跟踪输出前端可查看过滤
- batch-queue-manager — 批量任务优先级调整、失败重跑、部分取消
- math-prescreen-pipeline — Math 粗筛 → 圈选 top-k → G5 精仿的两级流水编排 UI
诊断与归因
- bottleneck-attribution — 自动归因报告:时延来自哪条链路/哪个 collective/哪段排队
- math-g5-diff-explain — Math 与 G5 结果差分视图,差异分解到 op 级
- critical-path-highlight — Gantt 上高亮关键路径,显示缩短收益
- slo-violation-drilldown — 指标违例一键下钻到事件区间
配置与资产管理
- preset-editor-ui — 芯片/模型/拓扑预设表单化编辑器(带 schema 校验)
- config-version-history — 预设修改历史与回滚
- experiment-snapshot-share — 实验 + 配置打包成可分享链接/文件
报告与协作输出
- one-click-report — 一键生成评估报告(HTML/PDF:KPI + 图表 + 配置快照)
- chart-export-suite — 图表 PNG/SVG 导出 + 链路动画导出 GIF/MP4
- annotation-on-charts — 图表标注钉,随实验保存
前后端架构重构
- gantt-data-protocol — 大 trace 分块/二进制传输(Arrow/protobuf)+ 按视口懒加载
- websocket-unification — 进度/日志/结果统一 WebSocket 通道
- frontend-route-split — 全挂载 viewMode 切换改真路由 + 状态持久化层
- chart-component-unification — 两处重复图表面板收敛为单一组件库
- topology-render-lod — 3D 渲染 LOD/instancing,支撑千卡级拓扑
业界对标
| 工具 | 值得借鉴的点 | 来源 |
|---|---|---|
| Perfetto | 浏览器端多 GB trace 时间线 + SQL 查询 | perfetto.dev |
| ASTRA-sim 2.0 | Chakra 标准工作负载格式、分层网络建模、瓶颈系统性探索 | astra-sim.github.io |
| SimAI | 框架 + 集合通信 + 网络全链路建模与端到端归因 | github.com/aliyun/SimAI |
收敛矩阵(RICE)
口径:R=使用频率(1-10),I=影响(0.25-3,放大 G5 独特价值加权),C=信心(0.5-1),E=工作量(人周)。分数 = R×I×C/E。
| 候选 | R | I | C | E | 分 | 理由 |
|---|---|---|---|---|---|---|
| live-progress-stream | 9 | 2 | 1.0 | 1 | 18.0 | 每次 G5 任务都用;分钟级仿真黑盒等待是当前最痛体验 |
| critical-path-highlight | 7 | 2 | 0.9 | 1.5 | 8.4 | Gantt 已有,加关键路径标注即可回答「优化哪里最值」 |
| side-by-side-compare | 8 | 2 | 1.0 | 2 | 8.0 | 评估平台本职是比方案,现在只能标签页人肉对比 |
| pareto-frontier-view | 6 | 2 | 0.9 | 1.5 | 7.2 | 扫参数据已有,缺一张图直接画出「哪个方案好」 |
| math-prescreen-pipeline | 7 | 2 | 0.9 | 2 | 6.3 | Math+G5 双路径是架构既有优势,UI 串起来即成杀手锏 |
| gantt-data-protocol | 6 | 2 | 0.9 | 2 | 5.4 | trace 类功能的地基,不做则 timeline 必卡 |
| routing-path-inspector | 6 | 1 | 0.9 | 1 | 5.4 | 路由表后端已预计算,前端高亮成本低 |
| event-trace-timeline | 8 | 3 | 0.8 | 4 | 4.8 | G5 微观事件是独有数据,现在完全没接住;Perfetto 格式可借 |
| link-utilization-replay | 5 | 3 | 0.7 | 3 | 3.5 | 链路时序数据独有,3D 回放是演示与诊断双杀 |
| collective-animation | 4 | 2 | 0.8 | 2 | 3.2 | 教学/汇报价值高,诊断价值中 |
| bottleneck-attribution | 6 | 3 | 0.6 | 4 | 2.7 | 价值最高但归因算法需后端配合,信心打折 |
| preset-editor-ui | 6 | 1 | 0.9 | 2 | 2.7 | 改 YAML 痛但用户少 |
| what-if-quick-estimate | 5 | 1 | 0.8 | 2 | 2.0 | math-prescreen 的子集,并入 |
| math-g5-diff-explain | 4 | 2 | 0.6 | 3 | 1.6 | 差分口径需先在后端对齐 |
| one-click-report | 4 | 1 | 0.8 | 2 | 1.6 | 汇报刚需但可先用图表导出顶 |
| link-failure-injection | 3 | 2 | 0.6 | 3 | 1.2 | 可靠性方向当前无需求 |
| dag-execution-view | 4 | 1 | 0.7 | 3 | 0.9 | 大图可读性差,关键路径高亮已覆盖 |
| topology-canvas-editor | 4 | 2 | 0.5 | 6 | 0.7 | 工作量大且与后端参数化生成路线冲突 |
| trace-sql-query | 2 | 2 | 0.5 | 4 | 0.5 | 先有 timeline 再谈查询 |
其余候选(diff-view / 模板库 / 版本历史 / 标注 / 路由重构 / LOD / WebSocket 统一 / 组件收敛 / 日志查看 / 批量队列 / 约束求解 / 分享 / 导出套件 / slo-drilldown)分数 <2 或依赖前置项,列入 deferred。
收敛结论:三波推进
| 波次 | 候选 | 主题 |
|---|---|---|
| Wave 1(体验止血) | live-progress-stream → critical-path-highlight → side-by-side-compare → pareto-frontier-view | 不动架构,兑现已有数据的价值 |
| Wave 2(G5 价值兑现) | gantt-data-protocol(地基)→ event-trace-timeline → link-utilization-replay | 把 G5 微观仿真数据变成核心卖点,对标 Perfetto |
| Wave 3(工作流闭环) | math-prescreen-pipeline → bottleneck-attribution | Math 粗筛 + G5 精仿 + 自动归因的完整方法论 |
开放问题
- trace 格式选型:自定义 JSON、Perfetto protobuf、还是 Chakra 格式?影响 gantt-data-protocol 与 event-trace-timeline 的设计,需在 spec 阶段冻结。
- frontend-route-split 时机:全挂载模式当前可用,但 Wave 2 新增 trace 视图后内存压力是否触发重构,待度量。
- bottleneck-attribution 的归因算法:关键路径分析在 Rust 端做还是 Python 端做,需 G5 后端配合评估。