PGX 2.5.0
Documentation

PGX Usage Modes

In order to address different user requirements, PGX provides three different usage modes.

Local Shell Mode

The simplest usage mode is the local shell mode. As the name suggests, the user interacts with a PGX instance running locally on the same machine via a command-line shell interface. The PGX shell dynamically interprets and executes user commands to invoke the underlying PGX functionality.

The local shell mode is useful for the following situations:

  • The user wants to run some quick graph analyses on small graph data with his/her laptop or desktop. The PGX shell provides a lightweight way of running graph analysis immediately with PGX, without writing a Java application.

  • The user is currently exploring the data set and trying different graph algorithms on it whenever some idea occurs to him/her. The interactive nature of the PGX shell fits perfectly for such a user.

Local Shell Mode

Figure: PGX Local Shell Mode

Remote Shell Mode

In the remote shell mode, the main PGX execution engine is deployed as a RESTful application on a powerful server machine, while the PGX shell connects to it remotely from a client machine (e.g. laptop). The PGX shell is equally as powerful in remote mode as it is in local mode. Also, multiple clients can connect to the same PGX server at the same time. In the latter case, the PGX server is time-shared among these clients.

The remote mode is useful for the following situation:

  • The user wants to perform graph analysis on a large data set with a powerful server-class machine that has many cores and a large memory.
  • The server-class machine is (potentially) shared by multiple clients.

Remote Shell Mode

Figure: PGX Remote Shell Mode

Local Java Mode

PGX can be embedded into a user application as a normal Java library.

The embedded mode is useful for the following situation:

  • The user wants to build up a serious application (or service) where the graph analysis is a part of its functionality.

Local Java Mode

Figure: PGX Embedded Mode

See the PGX APIs.


Advanced: Remote Java Mode

In addition, it is also possible for the user to create his/her own Java application that connects to a PGX server and controls it as the PGX Shell does in the Server-Client mode.

See the PGX APIs.