Begins executing the graph coordinate system embedding in a distributed environment.
Begins executing the graph coordinate system embedding in a distributed environment.
Making this call will spawn a "Master" on the same JVM. It is expected that before this call is made, all machines that have been specified in the configuration file list gcs.deploy.active have sand.gcs.system.distributed.Worker running.
Once the Master is spawned, it will begin embedding the landmarks in a single threaded fashion. Once the landmarks are embedded, it will send a message to all Workers which triggers them to spawn Worker actors and load the partially completed GCS in memory. The number of Worker actors spawned is specified in configuration under gcs.deploy.[worker address].nr-of-workers. This means for each worker in the gcs.deploy.active list there must be a corresponding entry in gcs.deploy.[worker address].nr-of-workers.
Each Worker will then send a message to the Master notifying the Master of the Worker's existence, and the Master will begin sending the Workers one non-landmark ID at a time.
Once all non-landmark ID's have been distributed and the results received, this will trigger the Master to write the result to disk, and gracefully shutdown the entire system.
Graph Coordinate System instance to embed with
Container that holds the requisite distances to embed
A sequence of non-landmark IDs to embed (the "work")
Name of the file to write the results of the embedding to
Helper object for distributed implementations of graph coordinate systems.