Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make localhost testing easier #37

Open
rjagerman opened this issue Apr 14, 2016 · 1 comment
Open

Make localhost testing easier #37

rjagerman opened this issue Apr 14, 2016 · 1 comment

Comments

@rjagerman
Copy link
Owner

In order to facilitate an easier setup for localhost testing it would be nice to spawn a glint subsystem from within an application that uses the framework. E.g.:

val system = Client.localSystem( nrOfParameterServers: Int,  [optional configuration] )
// do work
system.shutdown()

It should then run a master node and the specified number of parameter server nodes. We could run all of them within the same JVM process, although the overhead might be a bit much.

This will make it easier to run localhost tests without having to start a master and server in separate terminal windows. The current automated tests do something similar already.

@rjagerman
Copy link
Owner Author

rjagerman commented Jun 28, 2016

First work-in-progress done in https://github.com/rjagerman/glint/tree/spark-integration. This branch actually facilitates easier testing with spark (not necessarily localhost). For example, when running within a spark shell (and/or having access to the spark context sc), we can now run:

import glint.Client
val client = Client.runOnSpark(sc)

This will boot up a parameter server on each of the spark workers that are reachable from the spark context (sc). This should make it much easier to test stuff out, since it is no longer necessary to manually run Glint master and Glint server nodes.

Since the parameter servers run in the same JVM as spark, there is an increased risk of failure (if Spark does something bad and the JVM crashes, so does the parameter server!). Hence, this method does come at an additional risk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant