美文网首页机器学习平台
ps-lite相关环境搭建

ps-lite相关环境搭建

作者: NatsuYori | 来源:发表于2019-02-25 17:09 被阅读9次

    华丽丽跳坑了…今天用分布式的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进行数据的传递。

    相关文章

      网友评论

        本文标题:ps-lite相关环境搭建

        本文链接:https://www.haomeiwen.com/subject/wgjgyqtx.html