Background Information

The gridMathematica Server/Lightweight Grid Manager is used in smaller clusters, such as in an office or computing lab. A cluster is made up of multiple computers called hosts. A user logs into a client computer in order to access the resources provided by the host computers.

Parallelization in Mathematica uses the hub-and-spoke model in which a controlling kernel manages a number of subordinate kernels (subkernels). In a cluster environment, the client runs the controlling kernel and the hosts provide subkernels. Each client needs to have a version of Mathematica installed, while each host computer needs to have gridMathematica Server/Lightweight Grid Manager installed.

The gridMathematica Server/Lightweight Grid Manager combination product is made up of two components.

  1. The Lightweight Grid Manager runs as an Apache Tomcat server web application. It communicates to other open Mathematica sessions via port 3737. It shows remote Wolfram kernels that may be available for use. The Wolfram kernels are provided on a first-come, first-served basis.
  2. The gridMathematica Server component provides the Wolfram kernels. It needs to be installed in addition to any previously installed versions of Mathematica on the host computer.

gridMathematica Server/Lightweight Grid Manager does not include any local documentation in order to greatly reduce the overall memory requirement. The Mathematica installation on the client computer contains the local documentation.

Setup

  1. Install gridMathematica Server and configure the Lightweight Grid Manager on each host:
  2. Open Mathematica on a client computer.
  3. From the client computer, use the Lightweight Grid Client to set up the connections to the hosts’ kernels.
  4. From the client computer, verify the kernel configuration by evaluating $ConfiguredKernels.

The setup is now complete. From a Mathematica notebook, using the LaunchKernels[] function, or any other parallel functionality, will now include the configured gridMathematica Server kernels in parallel computations.