从零开始搭建mxnet on mpi训练集群

一. 深度学习平台的特性

深度学习应用越来越多,也有越来越多的平台开源出来。我个人看好tensorflow,mxnet和百度的paddle。机器学习平台不同于之前的mapreduce和spark的模型,主要由于以下2点:

  1. 数据依赖性很强,运算过程中参与计算的各个机器之间经常需要交换大量的数据。通讯有可能成为集群线性性能增长的瓶颈
  2. 处理复杂,主要表现在整个处理过程需要反复地迭代计算,需要解决复杂计算依赖的问题

二. MPI环境搭建

mpi:message passing interface。 其支持千兆的网络(RDMA)和资源的调度。很适合深度学习的应用。
其架构如下图:

mpi架构

说明:

  1. submit_server: 提交/查询job的机器,一般会有权限验证
  2. head_node:头结点,一般会启动pbs_server和job调度进程pbs_sched
  3. compute_node:工作节点:需要启动pbs_mom进程,在实际的深度学习训练中,机器一般会配置gpu卡
    具体的安装配置可以参考最后的参考资料1,主要的点有:
  4. 配置pbs_server,使其知道管理compute_node 资源数量

node001 np=24 gpu=4 cluster_online
其中node001 是compute node 的hostname
np=24,cpu的个数
gpu=4,gpu的个数
cluster_online, 自定义标签,在提交job的时候可以根据该标签过滤

  1. 测试配置的是否正确
    在submit_server上提交一个简单的job,得到如下信息,表示配置已经是正确的

su - testuser
echo "sleep 30" | qsub


job信息列表

五. 参考资料

  1. 【torque admin手册@百度云】
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容