csWMPI System Services

csWMPI includes three services, namely the csWMPI Service, the Publisher Service, and the License Server. The csWMPI Service is installed on all machines where the csWMPI runtime files are installed. The Publisher Services should be installed on at least one machine but possibly more, while the License Server should only be installed on a single machine.

On Linux there is one start-up script for each of the services is run at boot (runlevel 3 and 5 on most systems). The Linux service start-up scripts are found in /etc/init.d on all distributions except from on Slackware, where they are found in /etc/rc.d. Each of the services can be run in a shell from the root account. From the root account the services can be started and stopped like any other daemon. Please consult the documentation for your distribution on how to do this.

The services need not be started through the start-up scripts, they can also be started directly. If a service executable is run without any arguments the service will start as a daemon (detach from the console), however if run with a -c, e.g.:

[root@node007 root]# csWMPIserviced -c

the service will remain attached to the console and display information, which can help when trying to locate the source of a problem (remember to stop the service before restarting it in a console!).

On Windows each of the services are installed as system services.

Each of the services will be explained in more detail in the following sections. The description of the services applies to both Linux and Windows, whereas the configuration options apply to Windows only. Currently, the Linux services do not require any configuration.


csWMPI Service

The csWMPI Service is automatically installed on each machine where the csWMPI II runtime files are installed. The service is responsible for starting and monitoring processes. You can alternatively use the csWMPI Daemon (found in the csWMPI Start Menu Folder), where you can easily access the MPI Processes consoles and look for detailed information on processes creation and monitoring.

Note: The csWMPI Daemon and the csWMPI Service cannot run at the same time.

The following list contains the options available for you to configure both csWMPI Service and csWMPI Daemon:

Option: Description:
-showconsole Processes created by the csWMPI Service/Daemon will have their console displayed. This is default behavior for csWMPI Daemon
To have the consoles shown by the Service, one needs to also configure aditional options in the service. This is described later in this section.
-noconsole Processes created by the csWMPI Service/Daemon will not have their console displayed. This is default behavior for csWMPI Service
-logfile <logfile> csWMPI Service/Daemon will log execution information <logfile>, that it's convenient to be a fully qualified filename. This can be helpfull during configuration problem solving.
-floodtimeout <timeout-ms> When an abort happens, csWMPI Service/Daemon floods the abort notification to all nodes in the aborted computation. In case not all nodes reply within the floodtimeout (in milliseconds), csWMPI Service/Daemon starts asking processes to gracefully die.
Default value is: 10000ms (10 seconds)
-aborttimeout <timeout-mss> When an abort happens, csWMPI Service/Daemon floods the abort notification to all nodes in the aborted computation and afterwards asks every mpi process to die gracefully. After aborttimeout (in milliseconds), the csWMPI Service/Daemon will check if the processes are dead, and terminates them in case not. This ensures that no process is left behind.
Default value is: 15000ms (15 seconds)

Setting options for csWMPI Service

There are two ways of starting the service with options:

Temporary options

On the csWMPI Service properties (found under the Start Menu -> Settings -> Control Panel -> Administrative tools -> Services, select "csWMPI Service" and choose "Action" on the menu bar and then "Properties")
  1. Stop the Service, in case it's running
  2. Set the options in "Start Parameters"
  3. Start the Service, clicking the start button
NOTICE: these arguments will only be passed to the service this time. If you restart the csWMPI Service this otpions will be lost.

Permanent options

  1. Open the Services Control Manager Window, found under the Start Menu -> Settings -> Control Panel -> Administrative tools -> Services
  2. Stop the csWMPI Service, in case it is running
  3. Open a command line and uninstall the service running:
    > csWMPI_service remove
  4. Install the service with new options running:
    > csWMPI_service install [options]
  5. Start the csWMPI Service
NOTICE: options will passed to csWMPI Service each time it's started.

Configure csWMPI Service to show process consoles

By default, Microsoft Windows do not allow services to interact with the desktop, which means that console windows for processes created by the service will not be displayed. To get the processes consoles displayed when running csWMPI Service, you have to start the service with -showconsole option (described previously in this section) and set the "Log On" properties for the csWMPI Services (found under the Start Menu -> Settings -> Control Panel -> Administrative tools -> Services, select "csWMPI Service" and choose "Action" on the menu bar and then "Properties"). The "Log On" properties should be set so that the csWMPI Services logs on as a "Local System account" and "Allow service to interact with desktop" should be checked:

All errors that occur within csWMPI Service execution scope are logged to the Microsoft Windows Event Logging system in the Application Log.

csWMPI Daemon

Please remember that alternatively, you can use the "csWMPI Daemon" found in the installation directory under bin\. The csWMPI Daemon has the same functionality as the csWMPI Service, thus it creates and monitors processes.

Note: The csWMPI Daemon and the csWMPI Service cannot run at the same time.

When the csWMPI Daemon is used instead of the csWMPI Service, console windows are displayed. Moreover, when using the csWMPI Daemon you can monitor connections to the Daemon:

To start the csWMPI Daemon with options, just start the executable and pass the options. Example:
> "csWMPI Daemon.exe" [options]


The Publisher Service

The Publisher Service, available only in csWMPI II, enables csWMPI II applications to publish and lookup service names in order for independently started computations to connect at runtime (See "Establishing Communication" section 5.4 page 94 of the MPI-2 standard). When you publish, unpublish, or lookup up a service name (through MPI_PUBLISH_NAME, MPI_UNPUBLISH_NAME, and MPI_LOOKUP_NAME, respectively) you have to provide the Windows Computer Name or IP address of a machine running a Publisher Service. This is done through a key named publisher_host in the Info passed to the functions.

In some cases when multiple developers are working on the same application, it might be convenient for each developer to connect to different Publisher Services in order to avoid conflicts.

The "Publisher Administration" application (accessible from the csWMPI II program folder), is a small utility which connects to the Publisher Service on some machine and monitors port publications/unpublications. Moreover, the utility allows you to "Clear Ports", that is unpublishes all ports. This functionality useful during development and debugging, where an application might unpublish incorrectly or not at all.

A screenshot of the Publisher Administration application is shown below:


The License Server

The License Server should be installed on one machine only. The License Server should always be running and all the machines in your cluster should be able to contact and communicate with the license server at all times while a csWMPI application is running.




© 2009 Critical Software SA. All trademarks and copyrights on this page are owned by their respective owners.
cscsWMPI II™, cscsWMPI™ and PatentMPI™ are trademarks of Critical Software SA. All Rights Reserved.