Basic Tasks

Starting DOGMA

From the directory in which your configuration file resides use startDOGMA to start the system.

Starting a Node Manually

On the node you wish to start, go to the DOGMA_HOME\nodeRun directory and use startNode <local hostname> <configuration manager hostname> to start a node.

Starting a Browser-Based Node Manually

In order to use a browser-based node you must be using at least a JDK 1.1 compliant browser that allows applets to connect to any host.  The current recommended way to do this is to use appletviewer.  (Java Plug-In will allow use of Netscape Communicator and Internet Explorer in a future release of DOGMA.)

System security must first be set to allow network connections to any host.  DOGMA includes .java.policy files that do this in the nodeRun directories.  You may need to copy this file to your user home directory if you will be using rsh or a similar command to remotely launch nodes.

JDK 1.1.x: First you must view an applet (just to bring up appletviewer) and edit properties to allow network connections to any host.

JDK 1.2: Use policytool and add a permission entry for CODEBASE <all> (this is the default if you do not enter a URL).  The permission to add is SocketPermission, with the target * and the actions accept, connect, listen, resolve.

Now assuming the configuration manager is started on the master node myhost.foo.bar,
type: appletviewer http://myhost.foo.bar:8180/DOGMA/Node.html.
 

Compiling an application

In the directory in which the application resides type:  makeall
Or type: makeone MyApp (Do NOT include package names).

Note that DOGMA comes with several applications already compiled.

Running an application

Use the resources window application pane to run applications.  The submit button will submit the job to the system job queues, and the application will start as soon as the system is able to run it.

Stopping DOGMA

Close the main System Console window to shutdown DOGMA.

Editing Resource Definition Files

    Includes:
    Informing DOGMA of nodes available for its use
    Adding an application to a resource definition file

Running the IBM MPI Test Suite Examples

There are two methods of running the IBM Suite Suite Examples.

Running precompiled examples residing at BYU:

On the System Console go to the "Resource Definition Stores" tab and select the "IBM MPI Test Suite" resource link.  Then click on "Load From Link".  This should bring up a new resource defition store window which contains the test suite.  You may run the tests by selecting the appropriate test and clicking submit.

Running locally compiled examples:

First compile the applications by going to the DMaster/examples/ibmsuite and type makeall.

Now start DOGMA and load the resource definition file for the IBM Test Suite examples.  This is done by going to the ResourceDefinitionStores tab and then clicking on "Load From File" button.  Next select the file IbmSuite.txt which should be in the DMaster/run directory.

This should bring up a window which allows you to run any of the tests you wish.  Note that you must have enough nodes running for each test to run (2 nodes is usually the required number of nodes).

Additional Notes on Developing an Application

Currently, the major hindrance in developing an application is the fact that class unloading is not a standard Java feature (it is possible to kludge around this with multiple instances of class loaders, but this is very messy in a distributed setting).  The consequence of this is that DOGMA nodes that have run an application will need to be shutdown and restarted in order to make them "forget" the old version.  You do not need to shut down the configuration manager.

DOGMA can redirect stdout and stderr from nodes to the SysCon.  Screen-saver and browser based nodes, however, do not have stdout and stderr redirected. For this reason, the use of System.out is discouraged in DOGMA applications.  Instead, MPIApplication.out and <PENDING> should be used. (So applications may simply use out.println() instead of System.out.println().)

Also, development should rarely take place on screen-saver or browser based nodes.  This is for two reasons: 1) the class unloading limitation of the JVM means that nodes must be restarted every time application code is revised, and starting these nodes is usually less convenient than starting regular nodes.  2) stdout and stderr are not redirected for these nodes (due to security limitations) unless are using JDK 1.2 and relax security.  Note that the "out" member of both MPIApplication and <PENDING> will redirect output, but Exception.printStackTrace() and its relatives will not on browser-based nodes.