Glint is a high-performance parameter server compatible with Spark. It provides a high-level API in Scala making it easy for users to build machine learning algorithms with the parameter server as a concurrency model.
A parameter server is a specialized key-value store for mathematical data structures such as matrices and vectors. It has been succesfully applied in both industry and academia as a tool for distributing the model space of machine learning algorithms to many machines.
The software is currently still in alpha. Refer to the compile section in order to compile and build the software manually. As we move to beta this page will provide versioned executables ready to download.
Glint uses sbt as a package manager. To compile, run the following commands from a command-line
git clone firstname.lastname@example.org:rjagerman/glint.git cd glint sbt compile assembly
This will (by default) compile for Scala version 2.10. If you wish to compile binaries for both 2.10 and 2.11, use:
sbt "+ compile" "+ assembly"
A binary jar file is produced in
To run the parameter server on your localhost, you have two options: Either compile and run the .jar file or use
sbt run. To start a master node, use one of the following commands:
java -jar target/scala-2.10/Glint-assembly-0.1-SNAPSHOT.jar master
sbt "run master"
To start a parameter server node, use one of the following commands:
java -jar target/scala-2.10/Glint-assembly-0.1-SNAPSHOT.jar server
sbt "run server"