System Configuration Files

System configuration files inform DOGMA about resources available for its use.  There are two types of configuration files: master configuration files, and regular configuration files.  These files have the same format, but serve slightly different purposes.

The master configuration file resides on the master node and informs the master node about basic system information. The master node must be included in the cluster and family sections of the file.

Regular configuration files are used by Configuration Managers to inform DJMManager about additional capabilites that are accessible when the Configuration Manager is started.  The master node must not be included in the cluster and family sections of the file.
 
 

Example Configuration File

// Note that the master installation is on node ernie.cs.byu.edu.
// All other nodes are node installations.

////////////////////////////
// clusters

// clusters specify machine physical locality

cluster muppets {
        bert.cs.byu.edu
        ernie.cs.byu.edu
}
 
cluster mountains {
        everest.cs.byu.edu
        k2.cs.byu.edu
}
 
////////////////////////////
// families

// families specify machine characteristics

family linux_PPro_200 {
        bert.cs.byu.edu
        everest.cs.byu.edu
        CAPACITY 4.2
        // CAPACITY defines the computational power of the node
}
 
family NT_P2_266 {
        ernie.cs.byu.edu
        k2.cs.byu.edu
        CAPACITY 5.4
        // SUBNODES 2
        // SUBNODES defines the number of processors on a machine
        // it is not officially supported, but you may try it for fun

 

////////////////////////////
// family commands

// Start commands are used to start remote nodes.
// Note that "NODE_NAME", "DJM_MANAGER_HOST_NAME", and "DOGMA_CODEBASE",
// ".SQ.", and ".DQ." are all automatically defined variables
// in start commands and clean commands
// Use .SQ. for single quotes and .DQ. for double quotes.      
// The system will fill in these variables at runtime
// You could hardcode in these values if you wish

// Note that the linux start command example below includes
// NODE_NAME as a third parameter to startNode.  This is
// because machines in this family have a shared file system
// and the environment variable DOGMA_HOSTNAME is not defined
// correctly for these machines.

// The NT example also includes NODE_NAME as a third parameter to
// startNode.  This is not necessary if DOGMA_HOSTNAME is set.

// Note also DOGMA scripts assume you are using csh as your shell.
// In order for startNode to work correctly from rsh, you must
// have both DOGMA_HOME and JDK_HOME set correctly.  This
// is most easily done by sourcing the "setenvs" file that
// was created by the DOGMA install program.

// The NT start command does not include NODE_NAME as a final
// parameter because the environment variable DOGMA_HOSTNAME
// is set correctly for each machine.

// IMPORTANT! - YOU SHOULD ALWAYS TEST YOUR START COMMAND SETTINGS
// BY HAND BEFORE PUTTING THEM IN THE CONFIGURATION FILE.
// Note, however, that DOGMA will tokenize the start command and
// exec it using java.lang.Runtime.exec(String cmdarray[]).
// DOGMA breaks up tokens by whitespace.  You may use single
// quotes to force DOGMA to group everything inside as one token.
// The configuration file generated by the install program has
// several examples in it for you to use. 

startCommands {
        linux_PPro_200 "/usr/bin/rsh NODE_NAME $DOGMA_HOME/bin/startNode
                         DJM_MANAGER_HOST_NAME DOGMA_CODEBASE NODE_NAME
                         >&/dev/null </dev/null &"
       NT_P2_266      "rsh NODE_NAME 'start cmd /c
                         %DOGMA_HOME%\bin\startNode.bat
                         DJM_MANAGER_HOST_NAME DOGMA_CODEBASE NODE_NAME'"
}
 

// Clean commands are used to kill zombie java processes on remote nodes.

cleanCommands {
        linux_PPro_200        "rsh NODE_NAME killAllVMs"
}
 

////////////////////////////
// CodeServers

codeServers {
        http://ernie.cs.byu.edu:8180/DOGMA/codebase/
        http://daffy.cs.byu.edu/jdoe/codebase/
}
 

codeServerPackages {
        http://ernie.cs.byu.edu/Dogma/codebase/ "dogma.examples"
        http://daffy.cs.byu.edu/jdoe/codebase/  "jdoe"
}

///////////////////////////
// DJM_MANAGER_HOST_NAME

DJM_MANAGER_HOST_NAME ernie.cs.byu.edu