Client - Server Model

In order to effectively monitor and control the execution of a parallel application running on a remote cluster we implement a client-server scheme. In this approach there is a single client running on a local workstation and server process running on a remote cluster. The local client process can initiate the following actions:

The server process is executed as part of the remote parallel application initiated by the client. The server processes is then waiting to respond to client's requests.


Computer simulation reproduces the behavior of a dynamic system described by a certain physical model. Solver is a numerical implementation of the physical model. The server running on the cluster is implemented as a set of functions that can be linked with a variety of continuum or discrete solvers, thus enabling one to control the simulation performed by the solver from a remote client. Client and server exchange information on parameters, variables and domains, which represent generic data types used by most continuum and discrete dynamics solvers.


Each parameter stores a single value attributed to the given model or to the simulation as a whole. Examples of parameters are total current through the system, ambient temperature, number of processors, data sampling interval, etc.


Variable is represented by a set of multi-dimensional values (scalars, vectors, etc.) with each element of the set attributed to one element of the domain. For example, distributions of temperature, current, chemical species, etc.


Domain is a connected region of space assigned to a specific physical model. For the purposes of numerical integration each domain is discretized by decomposing it into smaller and geometrically simple regions (elements), where physical laws are considered to be homogeneous and isotropic.

As can be seen, the introduction of the Domain class provides the basis for muti-physics simulations, where different physical models can be assigned to the different regions of space.