Skip to content
mli edited this page Dec 31, 2014 · 5 revisions

Setup the parameter server

Build from sources

Requirements

  • Compiler: gcc >= 4.7.2 (prefer >=4.9) or llvm >= 3.4
  • OS: Should work on both linux and mac. Tested on Ubuntu 12.10, 13.10, 14.04, RHEL 4U3, Mac OS X 10.9
  • Dependent libraries: zeromq, gflags, glogs, gtest, protobuf, zlib, snappy, and eigen3.

Build parameter server

First checkout the codes:

git clone https://github.com/mli/parameter_server

Next install the dependent libraries. They can be installed by packaging tools such as apt-get and yum. They can also be built from sources:

./parameter_server/script/build_third.sh

Then build the system

cd parameter_server
make 

Some options

  • Use a different library location: make THIRD_PARTY=/usr/local/bin
  • Statically link the dependent libraries: make STATIC_THIRD_LIB=1
  • Statically link gcc libraries: make STATIC_GCC=1

Docker images

There are several available docker images, such as https://registry.hub.docker.com/u/qicongc/ps/

Setup on Amazon ec2.

Setup on bros.ml.cmu.edu

Bros is a private cluster at cmu. Send an email to [email protected] and cc Alex Smola for creating an account here. You need to provide your SCS account. If you don’t have one, apply a cluster only account here.

Both gcc-4.8.1 and dependent third party libraries are available at /home/pserver. You can use them by adding the following lines into ~/.bashrc

module load pserver-modules
module load gcc4.9
module load third-lib

The recent codes of the parameter server are available at github. Fork it to your own github account, and then clone it to your favorite place at bros. If you are not familiar with git, you can find information at help.github.com.

Next you can link the dependent libraries if you don’t want to build them:

ln -s /home/pserver/third_party /your/parameter/server/dir/third_party

Then you can compile the codes using 8 threads: make -j8

You may want to explore the test data under /home/pserver/data.

Clone this wiki locally