4. 物理机场景

4.1. 基本原理

MetaX GPU卡的Warm Reset是指在不重启主机电源或操作系统的情况下进行GPU卡的复位。在确认GPU卡空闲无任务运行的情况下,通过mx-smi工具下发Warm Reset命令来触发GPU卡的复位,目前支持以下使用部署场景:

  • 单主机GPU卡无互联环境,如图 4.1,即GPU卡之间没有通过MetaXLink互联。

    直接使用mx-smi对出现问题的GPU卡进行Warm Reset复位。

    ../_images/image4.png

    图 4.1 单主机无互联

  • 单主机多GPU卡互联环境,如图 4.2,即GPU卡之间通过MetaXLink互联。

    Warm Reset在执行过程中会将MetaXLink硬件复位,GPU卡之间的MetaXLink会和对端GPU卡断开连接。在有MetaXLink互联的单机多卡环境中,如果有GPU卡需要Warm Reset,互联群组内所有GPU卡都需要同时进行Warm Reset。

    使用mx-smi下发Warm Reset命令时,KMD驱动会判断GPU卡是否存在MetaXLink互联并自动完成互联群组内所有GPU卡的Warm Reset,且在Warm Reset完成后,KMD会自动恢复群组内所有GPU卡的MetaXLink互联。

    ../_images/image5.png

    图 4.2 单主机多卡互联

  • 多主机多GPU卡互联环境,如图 4.3,即整个GPU卡的互联群组分布在多台主机上。单主机内的GPU卡之间有MetaXLink互联,不同主机上的GPU卡之间也存在MetaXLink互联。

    Warm Reset在执行过程中会将MetaXLink硬件复位,GPU卡之间的MetaXLink会和对端GPU卡断开连接。 在有MetaXLink互联的多机多卡环境中,如果有GPU卡需要Warm Reset,可以对互联群组内多台主机上的所有GPU卡都进行Warm Reset,也可以仅对出现GPU异常的主机上的所有GPU进行Warm Reset,再对跨机互联的MetaXLink端口进行单独处理。 其中,对互联群组内多台主机上的所有GPU卡都进行Warm Reset的运维影响比较大。

    • 若选择对互联群组内多台主机上的所有GPU卡都进行Warm Reset

      在每台主机上,选一张卡下发Warm Reset命令,同一主机上有MetaXLink互联的其它GPU卡会自动进行Warm Reset。 等所有主机都完成Warm Reset之后,各主机内的MetaXLink会自动恢复连接,跨主机之间的MetaXLink则按需下发连接命令来实现跨主机之间的MetaXLink互联。

    • 若选择仅对出现GPU异常的主机上的所有GPU进行Warm Reset

      在出现GPU异常的主机上,选一张卡下发Warm Reset命令,这台主机上有MetaXLink互联的其它GPU卡会自动进行Warm Reset。 等完成Warm Reset之后,出现GPU异常的主机内的MetaXLink会自动恢复连接。跨主机之间的MetaXLink则需要在其他无GPU卡异常的主机上先发送连接断开命令,然后再按需下发连接命令来实现跨主机之间的MetaXLink互联。

    ../_images/image6.png

    图 4.3 多主机多卡互联

4.2. 操作步骤

单主机上,带MetaXLink互联与不带MetaXLink互联的GPU卡在执行Warm Reset时的操作步骤相同。多主机上,若不同主机上的GPU卡间存在MetaXLink互联,可以按照单主机的方式仅在出现GPU异常的主机上执行Warm Reset,也可以在所有主机上同时执行Warm Reset。

  1. 确保当前环境下没有业务在使用metax驱动。通过 mx-smi 查看是否有进程在运行。

    mx-smi
    

    或者查询GPU驱动引用计数。执行以下命令,确认metax引用行的最后一列是否显示为0。若不为0,则表示还有业务在引用metax驱动,需要将业务强制退出。

    lsmod | grep metax
    
  2. 通过错误日志或者mx-smi定位出错GPU卡的node ID。

    mx-smi -L
    
  3. 通过mx-smi工具,执行Warm Reset。

    mx-smi -r -i <node ID>
    

    备注

    • 执行Warm Reset命令需要root权限。

    • 有MetaXLink互联的GPU卡群组可以指定群组内的任意node ID。

    • 如果不知道node ID,可直接使用 mx-smi -r -i all 命令对所有GPU卡进行Warm Reset。

    • 如果执行Warm Reset命令后console显示了错误信息,或者该命令无法结束,请重启主机。

  4. 等待最长90秒钟后Warm Reset命令会执行结束。查看GPU卡是否复位成功,执行以下命令查看所有GPU卡是否都可用。

    mx-smi -L
    

    备注

    • 执行Warm Reset命令后的90秒等待时间内,不要对GPU再下发任何其他操作,等检查到GPU复位完成后再进行操作。

    • 如果Warm Reset完成后,通过mx-smi命令查看的拓扑连接不正常,或者dmesg有错误日志,请冷重启主机。

  5. (可选)多主机MetaXLink互联环境下,如果仅在出现GPU异常的主机上执行了Warm Reset,需要在其他无GPU异常的互联主机上发送MetaXLink连接断开命令。连接断开命令可通过管理软件自动下发,也可手动下发。以下为手动下发的命令:

    metalink_train 7
    

    备注

    如果条件允许,多主机MetaXLink互联环境中,请尽量选择对所有主机同时执行Warm Reset的方式,可靠性相对更高。

  6. 多主机MetaXLink互联环境下完成Warm Reset后,按需进行MetaXLink的跨机互联,操作步骤和冷重启主机后一样。