csWMPI II System Services

csWMPI II includes three services, namely the csWMPI II Service, the Publisher Service, and the License Server. The csWMPI II Service is installed on all machines where the csWMPI II 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]# csWMPI II2serviced -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 II Service

The csWMPI II 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 II Daemon (found in the csWMPI II 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 II Daemon and the csWMPI II Service cannot run at the same time.

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

Option: Description:
-showconsole Processes created by the csWMPI II Service/Daemon will have their console displayed. This is default behavior for csWMPI II 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 II Service/Daemon will not have their console displayed. This is default behavior for csWMPI II Service
-logfile <logfile> csWMPI II 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 II 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 II Service/Daemon starts asking processes to gracefully die.
Default value is: 10000ms (10 seconds)
-aborttimeout <timeout-mss> When an abort happens, csWMPI II 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 II 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 II Service

There are two ways of starting the service with options:

Temporary options

On the csWMPI II Service properties (found under the Start Menu -> Settings -> Control Panel -> Administrative tools -> Services, select "csWMPI II 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 II 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 II Service, in case it is running
  3. Open a command line and uninstall the service running:
    > csWMPI II_ii_service remove
  4. Install the service with new options running:
    > csWMPI II_ii_service install [options]
  5. Start the csWMPI II Service
NOTICE: options will passed to csWMPI II Service each time it's started.

Configure csWMPI II 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 II Service, you have to start the service with -showconsole option (described previously in this section) and set the "Log On" properties for the csWMPI II Services (found under the Start Menu -> Settings -> Control Panel -> Administrative tools -> Services, select "csWMPI II Service" and choose "Action" on the menu bar and then "Properties"). The "Log On" properties should be set so that the csWMPI II Services logs on as a "Local System account" and "Allow service to interact with desktop" should be checked:

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

csWMPI II Daemon

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

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

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

To start the csWMPI II Daemon with options, just start the executable and pass the options. Example:
> "csWMPI II 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 II application is running.




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