ps-lite相关环境搭建

华丽丽跳坑了…今天用分布式的ps跑了线性规划…前期环境的搭建踩了不少坑,在此记录一下。
环境:Mac OS 10.14, Linux14
用到的代码:https://github.com/xswang/xflow.git
需要注意的是这份代码用到的ps-lite是之前fork的,和官方的代码版本不一致。

遇到的环境问题

  1. linux上安装boost库:https://blog.csdn.net/this_capslock/article/details/47170313

  2. "make: warning: Clock skew detected. Your build may be incomplete.”错误:需要make clean

  3. linux下装protobuf:https://www.cnblogs.com/aelite/p/9026885.html

  4. linux下安装zeromq(zmq):https://www.cnblogs.com/wangzhongqiu/p/6542892.htmlhttp://zeromq.org/area:download(也可直接参照官网)

  5. ps-lite相关的入门教程:http://kimihe.com/2018/06/05/Parameter%20Server研究之ps-lite源码分析与开发/

  6. 在make ps-lite的时候,遇到Make Error: Undefined symbols for architecture x86_64:https://stackoverflow.com/questions/32063186/make-error-undefined-symbols-for-architecture-x86-64问题,解决通过:make -stdlib=libstdc++ -lstdc++

  7. 有时候遇到cannot find -lxxx的问题:https://blog.51cto.com/eminzhang/1285705(可尝试)

  8. 在linux下安装了zmq,编译的时候却找不到头文件:https://github.com/pebbe/zmq3/issues/5

  9. 在xflow编译的时候:【cmake ..】 之后要【cmake .】,然后【make】。然后还有的问题就是项目中用到的ps-lite和现在官方的ps-lite依赖包不一致,要用他自己fork的ps-lite版本

  10. 运行ps-lite的时候,出现bind fail的问题:换个端口……

遇到的代码问题

小白如我,ide和brew / apt-get不能解决的问题都是瞎子摸象一般的在尝试……由于参考的代码只给出了local的bash文件,分布式的运行方法说的有些模糊…于是我尝试了很多姿势终于有了结果…
在/build/test/src下的xflow_lr的可执行文件是用来运行各个任务的入口。在本地运行的时候,直接跑根目录下的那个start_ps_local.sh就可以。
想要分布式跑的时候,首先要把script下的bash文件看懂…(start_scheduler, start_server,start_worker)。在跑每个bash文件的时候参数要加上bin文件的路径,或者仿照start_ps_local添加bin的路径。凭需要在指定的机器上跑bash文件:schedule,server,worker。注意在独立跑的这些bash文件中都要指定这些参数。

export DMLC_PS_ROOT_URI='192.169.1.163'
export DMLC_PS_ROOT_PORT=8890
export DMLC_NUM_SERVER=1
export DMLC_NUM_WORKER=3

没有仔细了解过ps的架构原理,所以在分布式部署的时候一直非常不解,如果server和worker不在同一台机器上,不应该是需要指定某一方的ip地址才能进行通信的吗?然后研究了一下发现自己忽略了schedule…它是管理server和worker通信的,只要对server和worker指定schedule的地址,就能够通过schedule进行数据的传递。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Paramter Server ​ ...
    raincoffee阅读 11,034评论 0 4
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 13,444评论 3 53
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 8,144评论 1 3
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 6,595评论 0 3
  • 也许只因为喜欢登高望远 我沉迷多雨的夏天 很多的诗歌啊 荡漾着岁月的沧桑 记忆着时间的呼唤 真的渴望雨能下的久一点...
    诗酒人生阅读 825评论 0 1