Giter VIP home page Giter VIP logo

ps-lite's Introduction

Parameter Server

[![Build Status](https://travis-ci.org/dmlc/ps-lite.svg?branch=master)](https://travis-ci.org/dmlc/ps-lite)

Introduction

ps-lite is a high-performance implementation of the parameter server framework. It provides simple yet powerful APIs. For example, a worker node can communicate with the server nodes via

  • Push(keys, values): push a list of (key, value) pairs to the server nodes
  • Pull(keys): pull the values from servers for a given key list
  • Wait: wait a push or pull finished.

A simple example:

  std::vector<uint64_t> key = {1, 3, 5};
  std::vector<float> val = {1, 1, 1};
  std::vector<float> recv_val;

  ps::KVWorker<float> w;
  w.Wait(w.Push(key, val));
  w.Wait(w.Pull(key, &recv_val));

More features:

  • Flexible and high-performance communication: zero-copy push/pull, supporting dynamic length value, user-defined filters for communication compression
  • Server-side programming: supporting user-defined handles on server nodes
  • Flexible data consistency control via dependency DAG, allowing various consistency models such as eventual consistency, bounded delay, and BSP.

ps-lite is a part of the DMLC project. It is licensed under Apache 2.0.

How to build

ps-lite requires a C++11 compiler such as g++ >= 4.8 and git. You can install them via

sudo apt-get update && sudo apt-get install -y build-essential git

for Ubuntu >= 13.10. Instructions for older Ubuntu, Centos, Mac Os X.

Then clone and build

git clone https://github.com/dmlc/ps-lite
cd ps-lite && make deps -j4 && make -j4

Documents

ps-lite's People

Contributors

mli avatar travisbarrydick avatar yajiedesign avatar shilad avatar

Watchers

James Cloos avatar Chao Qin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.