4. 物理机场景
4.1. 基本原理
MetaX GPU卡的Warm Reset是指在不重启主机电源或操作系统的情况下进行GPU卡的复位。在确认GPU卡空闲无任务运行的情况下,通过mx-smi工具下发Warm Reset命令来触发GPU卡的复位,目前支持以下使用部署场景:
单主机GPU卡无互联环境,如图 4.1,即GPU卡之间没有通过MetaXLink互联。
直接使用mx-smi对出现问题的GPU卡进行Warm Reset复位。
图 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互联。
图 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互联。
图 4.3 多主机多卡互联
4.2. 操作步骤
单主机上,带MetaXLink互联与不带MetaXLink互联的GPU卡在执行Warm Reset时的操作步骤相同。多主机上,若不同主机上的GPU卡间存在MetaXLink互联,可以按照单主机的方式仅在出现GPU异常的主机上执行Warm Reset,也可以在所有主机上同时执行Warm Reset。
确保当前环境下没有业务在使用metax驱动。通过
mx-smi查看是否有进程在运行。mx-smi
或者查询GPU驱动引用计数。执行以下命令,确认metax引用行的最后一列是否显示为0。若不为0,则表示还有业务在引用metax驱动,需要将业务强制退出。
lsmod | grep metax
通过错误日志或者mx-smi定位出错GPU卡的node ID。
mx-smi -L通过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显示了错误信息,或者该命令无法结束,请重启主机。
等待最长90秒钟后Warm Reset命令会执行结束。查看GPU卡是否复位成功,执行以下命令查看所有GPU卡是否都可用。
mx-smi -L备注
执行Warm Reset命令后的90秒等待时间内,不要对GPU再下发任何其他操作,等检查到GPU复位完成后再进行操作。
如果Warm Reset完成后,通过mx-smi命令查看的拓扑连接不正常,或者dmesg有错误日志,请冷重启主机。
(可选)多主机MetaXLink互联环境下,如果仅在出现GPU异常的主机上执行了Warm Reset,需要在其他无GPU异常的互联主机上发送MetaXLink连接断开命令。连接断开命令可通过管理软件自动下发,也可手动下发。以下为手动下发的命令:
metalink_train 7
备注
如果条件允许,多主机MetaXLink互联环境中,请尽量选择对所有主机同时执行Warm Reset的方式,可靠性相对更高。
多主机MetaXLink互联环境下完成Warm Reset后,按需进行MetaXLink的跨机互联,操作步骤和冷重启主机后一样。