DWDP: Distributed Weight Data Parallelism for High-Performance LLM Inference on NVL72
DWDP: Distributed Weight Data Parallelism for High-Performance LLM Inference on NVL72
作者/机构: Wanqian Li, Jintao Peng, Zongfei Jing, Tianyu Zhang, Ze Long, Xianjie Qiao, Xiaoming Chen, Dongxu Yang, Kefeng Duan, June Yang1 (NVIDIA)
A1 主要贡献
核心问题: 现有的大语言模型(LLM)推理并行化策略(如专家并行、张量并行、流水线并行)在每层都需要进行跨GPU的同步协调。在真实的LLM服务场景中,由于请求级别的负载不均衡(不同请求的序列长度、KV-Cache命中率不同)和权重级别的负载不均衡(例如MoE模型中路由不均导致某些专家更热门),各个GPU上的工作负载很少是平衡的。这种层级同步机制会将局部的延迟差异放大为全局的等待时间,导致端到端吞吐量受限于最慢的GPU。如图1所示,在一个结合了注意力数据并行和专家并行的配置(DEP)中,当每个rank的序列长度变异系数为20%时,同步开销可达到约12%。
研究目标: 提出一种新的推理并行化策略,旨在消除推理关键路径上的集体跨GPU同步,从而减轻由负载不均衡导致的性能损失,提高LLM推理的端到端性能。
创新点:
1. 提出DWDP (Distributed Weight Data Parallelism):这是一种结合了数据并行和基于GPU的权重卸载的推理并行化策略。DWDP消除了推理关键路径上的集体跨GPU同步,允许每个GPU独立执行推理,不受其他GPU进度的影响。
2. 识别并解决关键挑战: 论文识别了实现DWDP时面临的两个主要挑战:由权重卸载引起的分散权重管理开销,以及异步远程权重预取过程中的通信端性能损失。针对这两个问题,论文提出了相应的优化措施,并分析了通信-计算重叠所导致的残余干扰。
3. 实现与评估: 在TensorRT-LLM中实现了DWDP,并使用DeepSeek-R1模型在GB200 NVL72平台上进行了评估。在典型的8K输入/1K输出、20-100 TPS/user的服务场景中,DWDP在保持相当的TPS/user水平下,将端到端的输出TPS/GPU提升了8.8%,并将性能前沿推向了更优的区域。
图1. DEP中由工作负载不均衡导致的同步开销。(a) 展示了请求级和权重级不均衡在DEP中如何转化为等待时间。(b) 定量分析了DEP下不均衡导致的同步开销的内核分解。配置:在GB200上运行DeepSeek-R1,输入/输出序列长度(ISL/OSL)= 8K/1,输入比例0.8,意味着输入长度范围为0.8×8K到8K。
A2 方法细节
2 方法论概述
DWDP核心思想。图2阐释了DWDP在一个基于MoE的LLM上的核心思想。为了容纳整个模型,DWDP在各个rank之间保持数据并行执行,同时将MoE权重卸载到对等的GPU上。该设计主要针对MoE权重,因为它们占据了模型内存的大部分,而注意力权重只占相对较小的一部分。
图2. DWDP概述,DWDP组大小为4。
权重划分与获取。在一个DWDP组内,注意力权重在每个rank上都完全复制,而每个MoE层中的专家则在各个rank之间进行分区。因此,每个rank只永久存储其本地的专家,其余的专家则驻留在对等的GPU上。在执行一个MoE层之前,该rank会按需获取缺失的远程专家,以组装该层所需的权重。
运行时机制。在运行时,DWDP将第 L+1 层缺失的远程专家的异步预取与第 L 层的MoE块以及第 L+1 层的注意力块的计算重叠。这两个计算块共同提供了隐藏远程权重预取所需的计算窗口。在执行第 L+1 层的MoE块之前,rank会等待所有远程专家都已到达。该层计算完成后,预取来的远程专家权重将被释放。为了在所有层之间维持这种流水线操作,DWDP使用了双缓冲进行预取。
异步通信实现。为了在推理过程中消除集体的跨rank同步,DWDP避免使用基于NCCL 【索引编号22,NCCL: NVIDIA collective communications library+2015+https://github.com/NVIDIA/nccl】的集体通信操作(如all-gather)来收集远程权重。除了其同步语义外,基于NCCL的传输还会消耗流式多处理器(SM)资源,从而可能干扰计算。取而代之的是,每个rank通过基于复制引擎 的cudaMemcpyAsync从对等GPU拉取远程专家,这种方式不占用SM资源。这些传输被发起为串行的点对点拉取操作,从而避免了在rank之间引入同步。因此,一旦某一层所需的专家到达,每个rank就可以独立执行推理,无需等待其他rank。从分解式服务【索引编号14,Mooncake: Trading more storage for less computation — a KVCache-centric architecture for serving LLM chatbot+2025+FAST’25】、【索引编号19,DistServe: Disaggregating prefill and decoding for goodput-optimized large language model serving+2024+OSDI’24】、【索引编号20,Splitwise: Efficient generative LLM inference using phase splitting+2024+ISCA’24】的角度来看,每个rank仍然是一个独立的推理工作单元,可以独立接收请求并返回响应。
专家放置灵活性。除了实现完全异步推理外,DWDP还在专家放置方面提供了更大的灵活性。因为每个rank在执行其MoE块之前只需要获取一层的权重,所以DWDP不要求专家数量必须能被DWDP组大小整除,也不要求专家在各个rank之间进行完全不相交的划分。相反,可以为每个rank配置相同数量的本地专家,并在必要时允许冗余的专家放置,例如,为了支持不能整除专家数量的组大小。这种宽松的放置约束使得资源配置可以达到单rank的粒度。当内存允许时,同样的冗余也可以通过增加每个rank上的本地专家数量来减少远程预取的开销。
新挑战。总而言之,完全异步推理和灵活的专家放置是DWDP的两个主要优点。然而,这种新策略也带来了新的挑战。由于权重被分为本地专家和远程专家,DWDP需要高效的分散权重管理。此外,异步的远程权重预取可能会引入通信端的开销,包括通信-计算干扰和在源rank上的多对一争用。第4节将详细介绍相应的优化措施。
3 初步分析
分析模型。我们使用一个逐层的roofline模型【索引编号23,Roofline: An insightful visual performance model for multicore architectures+2009+Communications of the ACM】来识别DWDP在何种情况下能优于DEP,并探究其增益的根本限制。在此分析中,我们专注于GB200上DeepSeek-R1的上下文(context)阶段,并比较DWDP4与DEP4。从宏观上看,DWDP可以重叠远程专家预取与计算,而DEP则是同步执行计算和专家并行通信。因此,我们将DWDP的每层延迟建模为 $T_{DWDP} = \max(T_{compute}, T_{prefetch})$,将DEP的延迟建模为 $T_{DEP} = T_{compute} + T_{all2all}$,其中 $T_{prefetch}$ 表示获取缺失的远程专家权重的时间,$T_{all2all}$ 表示专家并行的all-to-all延迟。
计算延迟估计。为了估算 $T_{compute}$,我们首先使用标准的roofline近似来为层中的每个算子建模。对于一个具有FLOPs为 $F$ 和内存流量为 $M$ 的算子,我们估算其延迟为 $T_{op} = \max(F/P_{peak}, M/BW_{mem})$,其中 $P_{peak}$ 和 $BW_{mem}$ 分别是硬件的计算吞吐量和内存带宽。将Attention和MoE的算子时间相加,即可得到 $T_{compute}$。
关键指标与图示。基于此模型,我们关注两个派生指标:比率 $T_{compute}/T_{prefetch}$,它指示DWDP是否能隐藏远程权重预取;以及加速比 $T_{DEP}/T_{DWDP}$,它捕捉了DWDP相对于DEP的预期优势。图3绘制了在批处理大小为1时,这两个指标随输入序列长度(ISL)的变化情况。
图3. 基于Roofline模型对GB200上DeepSeek-R1上下文阶段的初步分析,比较了批处理大小为1时的DWDP4与DEP4。两个子图分别展示了计算与预取的时间比和DEP与DWDP的运行时间比。y=1的虚线标记了预取可以被完全隐藏以及DWDP开始优于DEP的边界。
性能拐点。我们观察到,DWDP在约16K个token时开始优于DEP。随着ISL的增加,$T_{compute}/T_{prefetch}$ 从小于1增长到大于1,这表明更长的上下文提供了足够大的计算窗口来分摊并最终隐藏远程预取的开销。这揭示了DWDP需要每层有足够的计算量来覆盖远程权重预取。这个16K的阈值是特定于批处理大小为1的设置。增加批处理大小会扩大计算窗口,并可能使DWDP即使在更短的上下文中也变得有益。
性能优势来源与瓶颈。DWDP相对于DEP的优势来自于从关键路径中消除了同步的all-to-all通信。然而,这种优势并非随ISL单调增长。一旦序列变得非常长,计算在两种方法中都占主导地位,因此同步all-to-all的开销在DEP的延迟中占比较小。因此,随着ISL的进一步增长,DWDP的边际加速比会减小。
模型局限性。此分析假设工作负载完全平衡。一方面,它没有捕捉到DWDP在不平衡工作负载下减少同步开销的额外好处。另一方面,它也忽略了实现DWDP时的实际问题,例如权重预取与计算重叠时的争用。我们将在下一节讨论这些问题及相应的优化。
4 设计挑战与优化
本节介绍了DWDP的关键实现开销以及我们用来解决这些问题的技术。具体来说,我们消除了分散权重合并的开销,并减轻了由异步预取引起的多对一源端通信争用。我们首先对基线实现进行内核分解和运行时追踪分析,然后根据此分析引入相应的优化。
4.1 基线实现与性能分析
4.1.1 内核分解分析
发现瓶颈。为了理解DWDP的实际瓶颈,我们首先评估了一个简单的基线实现。表1比较了DeepSeek-R1在DEP4和DWDP4下的仅上下文迭代延迟分解。该分解突显了DWDP的潜力和尚存的低效之处。相对于DEP,DWDP完全消除了同步成本,并将通信移出关键路径。这两个效应共同导致了迭代延迟21.86%的毛减少。然而,基线实现也表现出两个性能退化:首先,它引入了设备到设备(D2D)复制的开销;其次,像Attention和Others这样的计算类别变得更慢。这两个退化将实际收益减少到净11.69%的提升。
表1. 在GB200上,输入序列长度=8K、比例=0.8、上下文阶段最大token数=32768的条件下,DEP4和DWDP4对DeepSeek-R1的仅上下文迭代延迟分解。最后一列报告了各类别的增量,并以DEP4的迭代延迟为基准进行了归一化。
引出优化方向。这个分解为本节的其余部分提供了动力。首先,基线DWDP实现引入了34.00μs的D2D复制时间,因为本地权重和预取的远程权重必须在计算前合并到一个连续的缓冲区中;4.2节将解决这个开销。其次,Attention和Others时间的增加表明,将远程权重预取与计算重叠会引入不可忽略的通信-计算干扰。我们在附录A中分析了这种效应,并指出,在我们的设置中,主要原因是功率导致的频率节流。
4.1.2 运行时追踪分析
争用导致计算空泡。除了内核分解,我们进一步分析了基线DWDP实现的Nsight Systems运行时追踪。此分析揭示了异步远程权重拉取的一个实际问题:在每个MoE层中,不同的目标rank可能同时从同一个源rank拉取缺失的远程专家,从而在源端的复制引擎上造成多对一的通信争用。图4展示了一个代表性案例,其中逐层的计算窗口仅与远程权重预取时间相当。在这种情况下,源rank的序列化会拉长通信窗口,并在下一个计算区域开始前暴露出可见的计算空泡。尽管这种效应在表1中没有作为一个单独的类别出现,但它仍然会显著降低DWDP的实际收益。4.3节将通过一种时分复用方案来解决这种源端序列化问题。
图4. Nsight Systems追踪显示,在max_num_tokens=16384且输入序列长度从4K到8K的情况下,DWDP中存在多对一的源端通信争用。多个目标rank并发地从同一个源rank拉取远程权重,导致源端复制引擎对这些请求进行序列化,并暴露出计算空泡。
4.2 消除分散权重合并开销
问题描述。DWDP自然地为每个MoE层生成了分散的权重:每个rank永久存储其本地专家,并按需将缺失的远程专家获取到单独的缓冲区中。因此,MoE计算所需的权重并未存储在单一的连续缓冲区中。这种布局对于现有的MoE groupedGEMM内核是有问题的,因为它们通常假设权重缓冲区是单一且连续的。在一个直接的实现中,运行时必须在启动内核前,先通过一次启动前的设备到设备复制来合并本地和预取的远程权重。这个额外的步骤增加了内存带宽消耗和延迟开销。
解决方案。为了消除这种合并开销,我们扩展了MoE groupedGEMM内核,使其能直接消费多个权重缓冲区。具体来说,我们添加了基于TensorList的输入,这样内核可以在内部从本地和预取的远程缓冲区中进行选择,而不是依赖一个外部合并好的缓冲区。这种设计与现有的布局和分片方案保持兼容。虽然它引入了适度的额外索引和地址计算开销,但性能分析和端到端评估显示没有明显的性能退化。
4.3 缓解异步通信争用
4.3.1 理论分析
分析目标。4.1.2节的运行时追踪显示,完全异步的远程权重拉取会在源rank造成多对一的争用并暴露计算空泡。为了隔离这种争用的影响,我们分析了理想通信时间与逐层计算时间相当的边界情况。在这种情况下,如果没有争用,通信几乎可以被隐藏,所以关键问题是异步争用本身是否会将几乎隐藏的通信变成暴露的计算空泡。
模型设置。考虑一个有 $N$ 个rank的DWDP组。在一轮通信中,每个rank必须从其他 $N-1$ 个rank拉取远程权重。设无争用时的理想总通信时间为 $T$。由于每个rank发起 $N-1$ 次串行拉取,单次拉取的理想服务时间为:
$$\tau = \frac{T}{N-1}.$$随机状态模型。我们采用一个随机状态模型:每当一个rank准备好发起下一次拉取时,其源rank在其余对等体中均匀分布。对于一个标记的rank,在它选择了一个源之后,其他 $N-2$ 个rank中的每一个以 $1/(N-1)$ 的概率选择相同的源。因此,该源的竞争请求数为:
$$X \sim \text{Binomial}\left(N-2, \frac{1}{N-1}\right).$$争用概率。为简化模型,我们只计算争用概率。定义争用级别 $C$ 为并发指向同一源的总拉取数,包括标记的拉取本身。那么 $C = X + 1$。我们止步于争用概率,而不是将其转化为确切的通信时间。在一个完全序列化的等大小近似下,争用度为 $C$ 的拉取大约会产生 $C\tau$ 的延迟,但实际延迟取决于许多系统因素。我们这里的目标只是表明,低阶多对一争用会自然发生,因此应该被明确地缓解。表2总结了几个DWDP组大小的争用概率。
表2. 随机异步模型下的争用概率 Pr[$C=c$]。表项为百分比。
结果分析。这些结果表明,在随机异步执行下,最可能发生的是低阶争用,如 $C=1$ 和 $C=2$,但高阶争用的概率质量随着 $N$ 的增大而逐渐增长。因此,即使没有病态的调度,较大的DWDP组也自然会面临更高的多对一通信争用风险。这一观察启发我们提出一种缓解措施,以在常见的低阶争用情况下提高鲁棒性。
4.3.2 带时分复用的复制
解决方案:分片与轮询。为了解决源rank的多对一争用问题,我们将每次远程权重传输分割成固定大小的切片,并以轮询(round-robin)方式在所有活跃的目标rank之间调度这些切片。关键的架构观察是,复制引擎是流水线化的,对于足够小的请求,它可以保持小的切片在飞行中。假设切片大小为 $s$,并且 $s$ 小到足以让复制引擎同时保持两个切片在飞行中。在此假设下,一旦一个切片被发出,引擎可以在第一个切片完全完成前开始发出另一个小切片。因此,即使一个切片因通信争用而变慢,源端仍然可以在另一个请求上继续取得进展。换言之,分块将一个整体的拉取操作转换为一系列更小的DMA请求,而流水线执行使得它们之间可以部分重叠。
实现细节。我们的实现在每个源rank上为每个目标rank维护一个待处理切片队列。当一个rank需要拉取大小为 $S$ 的远程专家分片时,该分片被划分为 $n = S/s$ 个切片。源端调度器以轮询顺序服务所有非空队列,并在每一轮中从每个队列最多发出一个切片。代码清单1展示了构建这样一个批处理预取复制计划的伪代码。其核心思想是首先遍历切片偏移量,然后以轮询顺序遍历对等体,从而使来自不同源rank的切片在最终的DMA调度中交错进行。
copy_plan = []
for each parameter p:
M = prefetch_size(p)
for offset = 0 to M step s:
chunk = min(s, M - offset)
for peer in round_robin(remote_peers):
src = peer_ptr(peer, p) + src_offset(peer, p) + offset
dst = local_buffer(peer, p) + offset
copy_plan.append((dst, src, chunk))
return copy_plan
效果类比。从概念上讲,这种机制利用小请求的流水线执行来创建更细粒度的目标端流量划分。它不是让一个目标端用一个大的整体拉取来独占复制引擎,而是通过切片和轮询迫使源端以切片为粒度在多个目标端之间交错推进。这种效果在精神上类似于高性能网络中基于虚拟通道的隔离:当一个通道因争用而变慢时,其余通道仍然可以继续高效地利用网络。在这里,每个目标端的切片队列扮演了类似的角色,防止一个被阻塞的拉取操作拖延所有其他指向同一源端的拉取操作的进度。
鲁棒性分析。在这种设置下,一个特别重要的结果是:如果流水线引擎能同时保持两个小切片在飞行中,那么即使两个在飞行的请求各自都遇到2级的争用,rank级别的数据拉取也不会减速。等价地说,通信引起的减速仅在两个在飞行的切片同时遇到至少3级的争用时才会出现。这直观地解释了为什么双切片流水线对低阶争用具有鲁棒性:一个轻度争用的切片仍然可以保持端口繁忙,而另一个切片只是暂时延迟。同时,由于网络波动在实践中是不可避免的,小切片上的争用通常是短暂的,不太可能长时间阻塞网络。
A4 实验环境
硬件、软件栈与模型:
* 硬件: 所有实验均在GB200 NVL72【索引编号25,NVIDIA Blackwell Architecture Technical Overview+2024+https://resources.nvidia.com/en-us-blackwell-architecture/blackwell-architecture-technical-brief】平台上进行 。
* 软件: DWDP在TensorRT-LLM【索引编号26,TensorRT-LLM: A TensorRT toolbox for optimized large language model inference+2023+https://github.com/NVIDIA/TensorRT-LLM】推理框架中实现 。
* 模型: 评估使用DeepSeek-R1【索引编号1,DeepSeek-R1: Incentivizing reasoning capability in LLMs via reinforcement learning+2025+arXiv preprint arXiv:2501.12948】、【索引编号5,DeepSeek-V3 technical report+2024+arXiv preprint arXiv:2412.19437】,采用NVFP4检查点,其中MoE权重使用NVFP4精度进行量化,注意力模块使用FP8 KV缓存。
基线:
* 所有评估均在分解式服务(disaggregated serving)模式【索引编号14,Mooncake: Trading more storage for less computation — a KVCache-centric architecture for serving LLM chatbot+2025+FAST’25】、【索引编号19,DistServe: Disaggregating prefill and decoding for goodput-optimized large language model serving+2024+OSDI’24】、【索引编号20,Splitwise: Efficient generative LLM inference using phase splitting+2024+ISCA’24】下进行,DWDP应用于上下文服务器(context server)。
* 主要基线是在相同运行时和硬件约束下的传统DEP(数据并行+专家并行)配置。
评估指标:
* 仅上下文实验: 主要报告相比DEP基线的TPS/GPU(每秒处理token数/GPU)加速比和TTFT(首token时间)加速比。
* 端到端实验: 报告TPS/user(每秒每用户token数)、TPS/GPU(每秒每GPU token数)和TTFT。特别关注在特定TPS/user约束下的吞吐效率权衡。
* TTFT: 报告从请求到达至生成第一个token的中位时间,包含排队时间。
A4 实验结果
5.2 仅上下文(Context-Only)结果
实验设置: 使用Artificial Analysis数据集评估独立的上下文阶段。首先研究DWDP的性能增益如何随工作负载特性和服务器配置变化,然后单独评估第4节中两种优化的贡献。
工作负载与配置的消融研究:
* 与输入序列长度(ISL)的关系(表3a): 在ISL从1K到32K的范围内,DWDP实现了1.09-1.11倍的TPS/GPU加速和1.11-1.27倍的TTFT加速。当MNT(上下文阶段最大token数)固定且足够大时,性能加速比随ISL增加而下降,这与初步分析一致:序列越长,计算占比越大,减少同步通信的相对增益就越小。
* 与最大token数(MNT)的关系(表3b): 在不同MNT设置下,DWDP实现了1.01-1.10倍的TPS/GPU加速和1.07-1.16倍的TTFT加速。MNT越大,计算窗口越大,越有利于隐藏权重预取开销,从而带来更高的性能加速。
* 与工作负载不均衡度的关系(表3c): 随着输入序列长度标准差的增大,工作负载越不均衡,DWDP相对于DEP的加速比越高(从1.08倍到1.15倍的TPS/GPU加速),这验证了DWDP的核心动机:在负载不均衡时,其异步执行能有效避免DEP中日益增长的同步开销。
* 与DWDP组大小的关系(表3d): DWDP3和DWDP4提供了几乎相同的TPS/GPU加速比,表明DWDP的核心优势在较小组规模下也能保持。DWDP3的TTFT加速比较差,可能是因为较小的上下文端部署导致总吞吐量较低,排队延迟增加。该结果也凸显了DWDP支持更细粒度资源分配的优势。
优化措施评估:
* 消除分散权重合并开销: 与DWDP基线相比,此项优化通过从关键路径中移除D2D合并复制,使TPS/GPU提升了约3%。
* 缓解争用(表4): 在ISL=8K的工作负载下,与仅消除合并开销的DWDP相比,完整的DWDP(包含争用缓解)带来了额外的性能提升。这种增益在层级计算窗口较短时(即MNT较小、ISL比例较低)最为显著,因为它消除了随机的通信延迟。例如,在ISL比例=0.5、MNT=16K时,仅消除合并的DWDP性能略低于DEP,而完整DWDP则显著高于DEP。
表3(a). 性能加速比 vs. ISL (固定MNT=32768)。
表3(b). 性能加速比 vs. MNT (固定ISL=8192)。
表3(c). 性能加速比 vs. ISL/STD。
表3(d). 性能加速比 vs. DWDP组大小 (固定ISL=16384, MNT=32768)。
表4. 在ISL=8K工作负载下使用1MB切片时的仅上下文TPS/GPU,每行数据均对DEP进行归一化。最后两列比较了在消除分散权重合并后,有和没有争用缓解的DWDP性能。
5.3 端到端结果
实验设置: 在分解式服务下评估DWDP的端到端性能影响。使用SemiAnalysis数据集,最大输入长度8K,输出长度1K。评估DWDP是否能将基线的帕累托前沿推向更优区域(即在相似的TPS/user下实现更高的输出TPS/GPU)。
TPS/user与输出TPS/GPU分析(图5,表5):
* DWDP确实将端到端的帕累托点推向了更优的位置。在目标范围内的大部分区域,DWDP在相似的TPS/user下实现了比基线更高的输出TPS/GPU。
* 性能增益在低TPS/user区间最为显著。例如,在20-30 TPS/user范围内,DWDP实现了1.15倍的TPS/user加速和1.10倍的TPS/GPU加速。
* 这种增益主要来源于上下文GPU需求的减少。由于DWDP提升了每个上下文GPU的吞吐量,系统可以用更少的上下文GPU来维持相当的性能,从而提高了整体的输出TPS/GPU。
* 在高的TPS/user区间,系统受生成阶段瓶颈限制更严重,上下文阶段无法积累足够多的token来分摊DWDP的预取开销,因此效率提升较小,甚至可能略有下降。
首token时间(TTFT)分析(表6):
* 与基线相比,DWDP在所有评估的TPS/user范围内都增加了TTFT。
* 这并非表明DWDP的单GPU上下文效率更低,而是因为减少上下文GPU的数量会降低上下文阶段的总服务速率,导致上下文和生成阶段之间的速率匹配恶化,从而增加了排队延迟。
* 预计这个问题可以通过未来工作中更好的请求匹配来缓解,特别是考虑到DWDP支持更细粒度的上下文配置。
每用户吞吐量 vs 每GPU输出吞吐量
图5. 基线与DWDP的端到端帕累托前沿比较。
表5. DWDP在目标TPS/user范围内的端到端性能总结。
表6. 在目标TPS/user范围内的中位TTFT比较。
A5 结论
本文提出了DWDP,一种支持跨rank完全异步执行的推理并行策略。DWDP的吸引力体现在两方面:首先,随着现代LLM服务工作负载日益多样化和不均衡,其异步执行能力可以降低同步开销;其次,它支持更灵活的GPU数量配置,这在分解式服务中能够实现更细粒度的资源调配,并更好地匹配上下文和生成服务器之间的速率。
DWDP的一个关键要求是高带宽通信。像NVL72这样能在域内任意GPU对之间提供高带宽通信的系统,使得在计算背后隐藏远程权重预取成为可能。同时,DWDP也带来了新的设计挑战。一个高效的DWDP实现需要通信、内核和运行时的协同设计。我们将在未来的工作中继续提升DWDP的效率。
A6 附录
A 通信-计算干扰的深入分析
干扰来源。在DWDP中,远程权重预取与计算重叠。这种重叠会引入硬件争用,从而降低预期增益。如图6所示,目标GPU上的复制引擎(CE)通过NVLink从对等GPU拉取权重。CE是专用的数据移动引擎,不占用基于流式多处理器(SM)的计算资源。然而,传输仍然会经过两个GPU上的片上网络(NoC)、二级(L2)缓存和动态随机存取存储器(DRAM),而本地的SM内核同时也会发出并发的内存请求。因此,远程权重预取和计算可能在层级结构的多个层面产生干扰。
图6. 跨两个GPU由复制引擎驱动的远程权重拉取。传输跨越NVLink,并使用两个GPU上的NoC、L2缓存和DRAM。干扰源于共享的NoC路由、L2资源、DRAM带宽和功率预算。
干扰路径。在源GPU上,被请求的权重从DRAM中获取,经过L2和NoC,然后注入到NVLink中;在目标GPU上,数据被接收并写入其内存层次结构。这条路径可能通过NoC仲裁、L2压力、DRAM带宽争用和功率争用与计算产生干扰。最后一种效应在现代高功率GPU上尤其重要,这些GPU使用动态电压频率缩放(DVFS)根据总图形功率(TGP)来调整工作频率。因此,即使在内存带宽完全饱和之前,将通信与繁重的SM执行重叠也可能触发频率节流。根据计算工作负载的不同,干扰可大致分为两类:与内存密集型内核的争用和与计算密集型内核的争用。
A.1 与内存密集型内核的争用:内存带宽瓶颈
带宽争用分析。接下来我们分析通信与内存密集型内核重叠的影响。在通常处理大量token的上下文阶段,典型的内存密集型工作负载包括量化、复制和逐元素向量内核。在我们的DEP案例中,这些内核占上下文阶段开销的18.2%。在Blackwell上,峰值高带宽内存(HBM)带宽约为8 TB/s,而NVLink 5可以消耗高达1800 GB/s的总读/写带宽。这相当于总内存带宽的1.8/8 = 22.5%。因此,从DRAM的角度来看,当NVLink流量被充分利用时,一个内存密集型内核在最坏情况下可能会经历高达22.5%的减速。这个上限与表1中的端到端分解是一致的:以这类内存密集型内核为主的“Others”类别,从DEP4的241.69μs增加到DWDP4的284.32μs,相当于约17.6%的减速。观察到的减速小于22.5%的最坏情况估计,原因有二。首先,通信并非与所有计算内核重叠。其次,L2缓存可以吸收一部分激活流量。更普遍地说,复制引擎和SM都竞争访问HBM和共享的L2缓存,这会降低内核执行和数据传输的性能。
A.2 与计算密集型内核的争用:功率引起的频率瓶颈
功率瓶颈。对于高度计算密集型的工作负载,如上下文阶段的注意力模块,主要的干扰来源不是内存系统争用,而是功率引起的频率节流。如表1所示,DWDP4的Attention内核比DEP4慢了约1.19倍。这表明在将CE通信与繁重的SM执行重叠时存在严重干扰。
瓶颈分析:功率与频率争用。当繁重的计算和通信内核重叠时,总功耗很容易超过GPU的热设计功耗(TDP)限制。仅注意力模块就消耗了约96.7%的TDP限制,而双向通信消耗了约30.5%的TDP限制,其中包括约12.9%的TDP限制的空闲基线。因此,重叠期间的估计总功率约为96.7% + 30.5% - 12.9% = 114.4%的TDP限制,这超出了功率限制。这种功率上限触发了DVFS,并导致GPU频率显著降低。
重叠策略评估。为了理解这种争用的影响,我们评估了三种调度配置,它们仅在通信相对于注意力模块的安排上有所不同。图7说明了这些通信模式,并突出了无重叠、粗粒度重叠和细粒度重叠之间的区别:
1. 间歇性计算(Intermittent Compute): 在16K上下文设置下的DeepSeek R1注意力模块之间插入大的休眠间隙,确保每个模块在最佳功率余量下运行且无通信重叠。
2. 长时重叠(带间隙)(Long-Duration Overlap): 每个注意力模块与一个长时CE通信任务重叠,产生三种模式中最长的重叠,但相邻计算模块之间的大间隙仍为部分功率恢复留有空间。
3. 短时重叠(Short-Duration Overlap): 这种模式最接近真实的DWDP工作负载,其中紧密调度的注意力模块与较小的通信任务重叠。
图7. 我们重叠研究中使用的三种通信模式的图示。间歇性计算在DeepSeek R1注意力模块之间插入大的空闲间隙以最大化功率余量,长时重叠使用最长的通信窗口但仍在计算模块之间保留间隙,短时重叠模拟真实的DWDP工作负载,具有紧密调度的计算和较小的通信任务。
实验模式说明。在“间歇性计算”中,休眠间隔为DeepSeek R1注意力模块提供了最大的功率余量,并作为无重叠的基线。“长时重叠”最大化了重叠持续时间,但相邻计算模块之间的大间隙仍为部分功率恢复留有空间。“短时重叠”最能代表真实的DWDP执行模式:计算模块被紧密调度,通信被分解为更小的传输,争用被反复注入到一个已经功率受限的执行窗口中。
表7. DeepSeek R1注意力模块在三种通信重叠模式下的GPU指标。内核时间和GPU频率已对“间歇性计算”基线进行归一化。
关键观察。表7总结了GPU指标,并揭示了干扰行为的四个关键特性:
* 性能与GPU频率紧密相关。如表7所示,在“长时重叠”和“短时重叠”下,归一化的注意力内核运行时分别增加到1.049倍和1.226倍,而归一化的GPU频率则分别下降到0.963倍和0.798倍。图8显示了相同的趋势,表明注意力内核时间在所有三种模式下都与GPU频率保持一致。
* L2和DRAM带宽不是主要瓶颈。在表7中,所有三种模式下的最大内存利用率都保持在45%到50%的狭窄范围内,表明这两种资源在重叠期间都没有接近完全饱和。
* 重叠CE通信引入的L2未命中惩罚很小。如果CE流量显著降低了注意力内核的L2命中率,它将迫使更多流量在L2和DRAM之间传输。使用表7中的绝对计数器,我们从总的派生内存访问计数中减去NVLink通信足迹,得到三种模式下大约为1.7 GB、1.8 GB和1.6 GB。这些值保持紧密一致,而总的L2访问量约为24 GB,表明重叠通信造成的额外L2未命中惩罚很小。
* NVLink流量不是减速的主要来源。使用公开的性能分析工具如Nsight Systems和Nsight Compute,我们监控了NVLink利用率,发现当通信与注意力内核重叠时,瞬时NVLink吞吐量没有显示出明显的波动。换句话说,与注意力内核重叠并没有显著干扰NVLink传输速率;相反,有效的NVLink带宽仍然主要由系统频率决定。这一观察表明,NVLink或NoC争用不是减速的主要原因。
总结。总而言之,当繁重的计算与通信重叠时,证据指向功率引起的频率节流,而不是L2、DRAM或NVLink争用。这表明应避免会放大功率尖峰的细粒度重叠模式。
图8. 三种重叠模式下归一化的注意力内核运行时和GPU频率。两条曲线紧密跟随彼此。
💬 评论讨论
欢迎在这里分享您的想法和见解!