拓扑对比 PoC: N=32/64 (Phase 3)
由 perfmodel.topology 模块枚举产出(spec v1.3.0 Accepted)。
脚本:docs/validation/拓扑生成PoC/scripts/compare_topologies_n32_n64.py
验证目标
本 PoC 验证新模块可作为下游路由对比的输入源:
- 9 族 enumerate 接口工作正常
- 派生 $C_{\text{board}}$ 与 endpoint 数公式一致
- 拓扑元数据 (diameter / bisection / path_diversity) 已计算
family_attrs含下游路由策略需要的字段(D-mod-k 的w_levels/p_levels、 DOR 的dimension_sizes、UGAL 的a/p/h/g等)
不在本 PoC 范围:实际 G5 仿真 / 流量模式对比 / 路由算法延迟数值评估 (spec 范围之外,留 Phase 4+ 评估)。
对比矩阵
| N | scope | family | params | C_board | N_endpoint | status | diameter | path_div | links |
|---|---|---|---|---|---|---|---|---|---|
| 32 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=2, n_spi... | 8 | 4 | recommended | 6 | 2 | 120 |
| 32 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=4, n_spi... | 4 | 8 | recommended | 6 | 2 | 64 |
| 32 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=8, n_spi... | 2 | 16 | recommended | 6 | 2 | 48 |
| 32 | intra-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 1 | 32 | recommended | 10 | 4 | 52 |
| 32 | intra-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 2 | 32 | recommended | 10 | 4 | 52 |
| 32 | intra-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 2 | 32 | recommended | 10 | 4 | 52 |
| 32 | intra-rack | dragonfly | a=4, p=2, h=1, g=2 | 2 | 16 | edge-case | 7 | 1 | 45 |
| 32 | intra-rack | dragonfly | a=4, p=2, h=1, g=4 | 1 | 32 | edge-case | 5 | 1 | 62 |
| 32 | intra-rack | dragonfly | a=4, p=2, h=2, g=2 | 2 | 16 | edge-case | 7 | 2 | 46 |
| 32 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=2, n_spi... | 8 | 4 | recommended | 6 | 2 | 120 |
| 32 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=4, n_spi... | 4 | 8 | recommended | 6 | 2 | 64 |
| 32 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=8, n_spi... | 2 | 16 | recommended | 6 | 2 | 48 |
| 32 | inter-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 1 | 32 | recommended | 10 | 4 | 52 |
| 32 | inter-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 2 | 32 | recommended | 10 | 4 | 52 |
| 32 | inter-rack | torus | n_dims=2, shape=[4, 8], board_shape=[... | 2 | 32 | recommended | 10 | 4 | 52 |
| 32 | inter-rack | dragonfly | a=4, p=2, h=1, g=2 | 2 | 16 | edge-case | 7 | 1 | 45 |
| 32 | inter-rack | dragonfly | a=4, p=2, h=1, g=4 | 1 | 32 | edge-case | 5 | 1 | 62 |
| 32 | inter-rack | dragonfly | a=4, p=2, h=2, g=2 | 2 | 16 | edge-case | 7 | 2 | 46 |
| 64 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=2, n_spi... | 16 | 4 | recommended | 6 | 2 | 488 |
| 64 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=4, n_spi... | 8 | 8 | recommended | 6 | 2 | 240 |
| 64 | intra-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=8, n_spi... | 4 | 16 | recommended | 6 | 2 | 128 |
| 64 | intra-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 1 | 64 | recommended | 18 | 4 | 108 |
| 64 | intra-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 2 | 64 | recommended | 18 | 4 | 108 |
| 64 | intra-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 2 | 64 | recommended | 18 | 4 | 108 |
| 64 | intra-rack | dragonfly | a=4, p=2, h=1, g=2 | 4 | 16 | edge-case | 7 | 1 | 125 |
| 64 | intra-rack | dragonfly | a=4, p=2, h=1, g=4 | 2 | 32 | edge-case | 7 | 1 | 94 |
| 64 | intra-rack | dragonfly | a=4, p=2, h=2, g=2 | 4 | 16 | edge-case | 7 | 2 | 126 |
| 64 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=2, n_spi... | 16 | 4 | recommended | 6 | 2 | 488 |
| 64 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=4, n_spi... | 8 | 8 | recommended | 6 | 2 | 240 |
| 64 | inter-rack | fat-tree | k=4, layers=2, osr=1, n_leaf=8, n_spi... | 4 | 16 | recommended | 6 | 2 | 128 |
| 64 | inter-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 1 | 64 | recommended | 18 | 4 | 108 |
| 64 | inter-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 2 | 64 | recommended | 18 | 4 | 108 |
| 64 | inter-rack | torus | n_dims=2, shape=[4, 16], board_shape=... | 2 | 64 | recommended | 18 | 4 | 108 |
| 64 | inter-rack | dragonfly | a=4, p=2, h=1, g=2 | 4 | 16 | edge-case | 7 | 1 | 125 |
| 64 | inter-rack | dragonfly | a=4, p=2, h=1, g=4 | 2 | 32 | edge-case | 7 | 1 | 94 |
| 64 | inter-rack | dragonfly | a=4, p=2, h=2, g=2 | 4 | 16 | edge-case | 7 | 2 | 126 |
family_attrs 抽样(下游路由消费)
fat-tree family_attrs = {"k": 4, "layers": 2, "osr": 1, "w_levels": [2, 2], "p_levels": [1, 1]}
torus family_attrs = {"dimension_sizes": [4, 8], "board_shape": [1, 1]}
dragonfly family_attrs = {"a": 4, "p": 2, "h": 1, "g": 2}
总结
产出 36 条拓扑对比记录,覆盖 3 个族 × 2 种规模 × 2 种 scope。 新模块通过此 PoC:可直接 import + enumerate + 元数据消费,无需任何 frontend 依赖。