机器学习平台

PS-Lite使用

2019-03-16  本文已影响0人  王勇1024

入门

调试PS-Lite

一种调试方式是记录所有的通信日志。可以通过指定\color{red}{PS_VERBOSE}环境变量来实现:

export PS_VERBOSE=1; ./local.sh 1 1 ./test_connection

可能会有如下输出

[19:57:18] src/van.cc:72: Node Info: role=schedulerid=1, ip=127.0.0.1, port=8000
[19:57:18] src/van.cc:72: Node Info: role=worker, ip=128.2.211.110, port=58442
[19:57:18] src/van.cc:72: Node Info: role=server, ip=128.2.211.110, port=40112
[19:57:18] src/van.cc:336: assign rank=8 to node role=server, ip=128.2.211.110, port=40112
[19:57:18] src/van.cc:336: assign rank=9 to node role=worker, ip=128.2.211.110, port=58442
[19:57:18] src/van.cc:347: the scheduler is connected to 1 workers and 1 servers
[19:57:18] src/van.cc:354: S[8] is connected to others
[19:57:18] src/van.cc:354: W[9] is connected to others
[19:57:18] src/van.cc:296: H[1] is stopped
[19:57:18] src/van.cc:296: S[8] is stopped
[19:57:18] src/van.cc:296: W[9] is stopped

这里\color{red}{H},\color{red}{S}\color{red}{W}分别表示scheduler,server和worker。

使用特定的网络接口

默认情况下PS-Lite会自动选择一个可用的网络接口。但是,对于有多个网络接口的机器,我们可以通过环境变量\color{red}{DMLC_INTERFACE}来指定网络接口。例如,要使用无限带\color{red}{ib0}接口,我们可以采用如下方式:

export DMLC_INTERFACE=ib0; commands_to_run

如果所有的PS-Lite节点都运行在同一台机器上,我们可以通过设置\color{red}{DMLC_LOCAL}来使用内存拷贝取代本地网络接口来提高性能:

export DMLC_LOCAL=1; commands_to_run

启动PS-Lite的环境变量

如果我们想将PS-Lite移植到除\color{red}{ssh}\color{red}{mpirun}\color{red}{yarn}\color{red}{sge}之外的其它集群资源管理器上,本章将会很有用。
要想启动PS-Lite,我们需要提供为下面的环境变量提供正确的值:

不可靠网络下的重传

网络传输中出现消息丢失是比较常见的现象,当一个重要的消息传递失败时,程序会挂起。这时,可以让PS-Lite为每一个消息发送一个额外的ACK,如果在指定时间内没有收到ACK,则重传这条消息。要想启动这个功能,我们可以设置下面的环境变量:

上一篇 下一篇

猜你喜欢

热点阅读