前面聊了网卡、DMA和RDMA,接下来把视角拉到多机训练。

假设每台服务器上都有两张RDMA网卡,分别接到两个网络平面。网卡单独测都没问题,但放到NCCL里,数据到底会走哪张卡?两个平面能不能同时用?如果平面之间根本不通,又该怎么办?

这时候经常会碰到一个环境变量:NCCL_CROSS_NIC。名字里有个CROSS,很容易把它当成“多网卡开关”。但真按这个思路去配置,可能从第一步就理解偏了。

这篇就围绕这个参数展开,把0、1、2的区别,以及容易想当然的几个地方说清楚。

阅读全文 »

在多机训练场景下, 如何加速多机间的数据交换是绕不开的话题, 作者之前负责的集群是以IB网络为载体, 但由于其昂贵的成本及超高的专业性往往让人退而却步,基于以太网的RoCE则具有很高的性价比。
作者经过一段时间的学习及落地,也算是对RoCE(英文读音类Rocky)技术有些了解,简单记录一下。

阅读全文 »

在多机训练场景下, 如何加速多机间的数据交换是绕不开的话题, 作者之前负责的集群是以IB网络为载体, 但由于其昂贵的成本及超高的专业性往往让人退而却步,基于以太网的RoCE则具有很高的性价比。
作者经过一段时间的学习及落地,也算是对RoCE(英文读音类Rocky)技术有些了解,简单记录一下。

阅读全文 »

本篇内容主要围绕kubernetes中的各种内存,对以下灵魂话题进行深入剖析:

  1. 为什么容器没有到达limit后却被OOM了?
  2. 容器中产生的PageCache如何统计?
  3. 容器中emptydir类型为medium=Memory是否会引起OOM?
  4. 如何更好地监控容器内存?
  5. PageCache相关参数

说明: 为了方便,这里不对容器与pod进行区分.

阅读全文 »

在前东家的时候其实就有意将cilium强大的链路追踪能力集成到生产环境中,各种因素导致没有很大信心落地, 经过深入调研(也就把官网docs翻了四五遍)及测试, 终于有机会在生产kubernetes集群中(目前一个集群规模不算很大,2w+核心,持续增长)使用cilium做为cni,同时替换kube-proxy, 到现在已经有一段时间了,也算是有生产经验可以跟大家聊一聊这个工具,使用体验总结一句话: 轻松愉悦.
分享一下整个落地过程,同时也总结下方方面面, 工作之余尽量更新.
此篇归属于: cilium在kubernetes中的生产实践六(cilium排错指南)

阅读全文 »

volcano做为CNCF目前唯一一款应对大规模资源批调度工具被大家熟知.
作者负责的kubernetes集群每天都有大量的任务需要运行, GPU任务、短任务、长任务等等,同时还存在多租户场景、复杂的调度策略等, 依托volcano的高度可插拔能力, 同时结合业务场景进行相应的优化,极大提高了资源使用效率,结果导向明显
在此也分享一下整个落地过程,也做为现阶段的一个工作总结, 工作之余尽量更新.

注: 业务各有不同, 作者的选型及观点可能并不适用其它人
此篇为: volcano如何应对大规模任务系列之volcano插件系统

阅读全文 »
0%