AI开发平台MODELARTS-Tensorflow:Tensorflow框架启动原理
Tensorflow框架启动原理
规格和节点个数
下面以选择“GPU: 8*GP-Vnt1 | CPU: 72核 | 内存:512GB”规格为例,介绍在单机和分布式场景下ModelArts规格资源的分配情况。
单机作业时(即选择的节点数为1),ModelArts只会在一个节点上启动一个训练容器,该训练容器独享节点规格的可使用资源。
分布式作业时(即选择的节点数大于1),ModelArts会优先在相同节点上启动一个parameter server(以下简称ps)和一个worker,其中ps将分配一半的CPU和内存资源,即ps拥有“CPU: 36核 | 内存:256GB”的计算资源,worker拥有“GPU: 8*GP-Vnt1 | CPU: 36核 | 内存:256GB”的计算资源。
需要注意的是ps只会分配到CPU和内存资源,而worker除CPU和内存外,还可能分配到加速卡(纯CPU规格除外)。如本例中,每个worker将分配到八张GP Vnt1加速卡,如果ps和worker在相同节点上启动,则磁盘资源由ps和worker共享。
网络通信介绍
- 单机作业不涉及网络通信情况。
- 分布式作业的涉及网络通信则可以分为节点内网络通信和节点间网络通信。
节点内网络
节点内网络通信即同一个节点上的ps和woker间的网络通信,又可以分为两种情况:容器网络和主机网络。
- 在使用公共规格进行训练时,使用的是容器网络。
- 在使用专属池训练时,如果节点配置的是RoCE网卡,使用的是主机网络;如果节点配置的是Infiniband网卡,使用的是容器网络。
节点间网络
分布式作业存在节点间ps和worker的通信,当前ModelArts主要提供了Infiniband网卡或RoCE网卡,带宽高达100Gb/s。