Keypoints:

  • Sparse definision from optimizer view
  • Better communication algorithm with sparse data
  • Overlap intra/inter node communication with innet-computing

PCIe 带宽为 $a$ RDMA 网卡带宽为 $b$ NVLink 带宽为 $c$ 卸载部分占原来所有参数总量的 $x (0\le x \le 1)$ 优化目标:

$$CostTime = \max{(\frac{1-x}{b} + \frac{1}{b}, \max(\frac{x}{a}+\frac{1-x}{a}+\frac{1}{a}, \frac{x}{c} + \frac{1}{c}))} = \max (\frac{2 - x}{b}, \frac{2}{a})$$ 解得 $$ x = 2(1 - \frac{b}{a})$$ 要求 $a \le 2b$

代回得 $$CostTime_{min} = \frac{2}{a}$$ 原本的时长为 $$CostTime_{ori}\frac{2}{b}$$ 优化比例 $$rate = \frac{CostTime_{ori} - CostTime_{min}}{CostTime_{ori}} = 1 - \frac{b}{a}$$

PCIe\以太网带宽 10 Gbps 25 Gbps 40 Gbps 100 Gbps 200 Gbps 400 Gbps
PCIe 3.0 (16x) 0.00 0.37 0.50 0.50 0.50 0.50
PCIe 4.0 (16x) 0.00 0.00 0.21 0.50 0.50 0.50
PCIe 5.0 (16x) 0.00 0.00 0.00 0.37 0.50 0.50
PCIe 6.0 (16x) 0.00 0.00 0.00 0.00 0.37 0.50

干扰:heartbeat 和 checkpoint,这部分会让 $a$ 和 $b$ 同时下降,有利于设计

网卡(以太网)

  • 10GbE (10 Gigabit Ethernet): 10 Gbps
  • 25GbE: 25 Gbps
  • 40GbE: 40 Gbps
  • 100GbE: 100 Gbps
  • 200GbE: 200 Gbps
  • 400GbE: 400 Gbps

PCIe (Peripheral Component Interconnect Express)

PCIe的带宽取决于版本和通道数量(lane count)。以下是一些典型配置的带宽:

  • PCIe 3.0 x16: 约为 15.75 GB/s (每个方向)
  • PCIe 4.0 x16: 约为 31.5 GB/s (每个方向)
  • PCIe 5.0 x16: 约为 63 GB/s (每个方向)
  • PCIe 6.0 x16 (新发布的标准): 理论上可以达到 126 GB/s (每个方向)

上述PCIe的带宽计算基于128/130b编码方案,其中128位的数据被编码成130位进行传输。

$$$$