实例互联进行分布式训练

更新时间:
复制为 MD 格式

DSW提供了多实例互联的功能,帮助您在DSW中实现多机多卡的分布式开发和训练。

前提条件

  • 基于通用计算资源组或灵骏智算资源组的多个实例,且位于相同VPC中;

  • 实例所属资源组的公网访问网关配置为专有网关

  • 实例位于相同的集群(如:灵骏实例和通用计算资源实例无法互通);

  • 仅部分机器规格支持RDMA/eRDMA能力,详情请参见默认变量(平台预置)使用限制

    DSWDLCRDMA/eRDMA上功能一致,因此您可以参考DLC相关文档。

支持功能

  • 预置适配不同资源和网络架构的高性能网络环境变量。

  • 在支持RDMA的规格节点上,支持通过RDMA/eRDMA进行互连。

  • 通过DNS域名产品化实例互访方式,实例间可以通过实例ID进行互连。

    root@dsw-1194983-84bb46b99b-jqqpm:/mnt/workspace# ping dsw-l28wnjxxx
    PING dsw-l28wnjdlyzf332fjj5.svc.cluster.local.c5333f3848f1f46328bed0fb647781d21.t1157703270994901 (10.244.48.2) 56(84) bytes of data.
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=1 ttl=64 time=0.018 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=2 ttl=64 time=0.019 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=3 ttl=64 time=0.018 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=4 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=5 ttl=64 time=0.016 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=6 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=7 ttl=64 time=0.020 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=8 ttl=64 time=0.020 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=9 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=10 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=11 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=12 ttl=64 time=0.021 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=13 ttl=64 time=0.019 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=14 ttl=64 time=0.039 ms
    64 bytes from 10.244.48.2 (10.244.48.2): icmp_seq=15 ttl=64 time=0.020 ms

基于以上能力,您可以在DSW中实现多机多卡任务的开发和调试。

操作步骤

  1. 使用DSW实例克隆的功能,按需启动多个相同环境的实例。

  2. (按需)在实例中安装RDMA/eRDMA库。

    1. 灵骏资源:使用包含RDMA的镜像,详情请参见配置镜像

    2. 通用资源:安装eRDMA

  3. 从实例A ping 实例B的实例ID验证网络连通性,例如:ping dsw-l28wnjdlyzj*********

  4. 按照实际使用的分布式框架配置并调试多机任务。