PRRTE DVM Configuration Tool

PRRTE Version vlatest DVM Configuration Tool

This configuration tool is intended to help system administrators create a PRRTE configuration file that sets important configuration parameters.

While every attempt is made to maintain compatibility of the PRRTE configuration tool and options across versions, we recommend that the configuration file be built using the tool distributed with the version being installed on your cluster. Some parameters will be set to default values, but you can manually edit the resulting prte.conf file as desired for greater flexibility. See the PRRTE documentation at https://docs.prrte.org, or your locally generated docs (if available), for more details about the configuration parameters for this version.

Note that while PRRTE daemons create log files and other files as needed, they treat the lack of parent directories (e.g., the specified "DVMTempDir") as a fatal error. This prevents the daemons from running if critical file systems are not mounted.

After you have filled in the fields of interest, use the "Submit" button on the bottom of the page to display the resulting prte.conf file. It will appear on your web browser. Save the file in text format as prte.conf for use by the DVM.

NOTE: Unless KeepFQDNHostnames is enabled, hostname values should be specified in short form (e.g. use foo rather than foo.bar.com). If KeepFQDNHostnames is enabled, specify fully qualified names consistently.

NOTE: This configuration file must be installed as prte.conf in the etc directory under the PRRTE installation location on all nodes in your cluster. For example, if PRRTE was installed in /prrte, then the configuration file must be stored as /prrte/etc/prte.conf so that all prted daemons can find it.

Supported Options

The following options are supported by PRRTE vlatest.

Bootstrap Options

ClusterName:
The name of the cluster upon which the DVM is executing. This is used by PRRTE to form the namespace for the DVM daemons, which is taken as -prte-dvm. Using different names for each of your clusters is important if you use a single database to record information from multiple PRRTE-managed clusters.

DVMControllerHost:
The host upon which the DVM controller will be executing. The prted that finds itself booting onto this host will declare itself to be the system controller and will initialize itself accordingly.

DVMPort:
The single well-known TCP port upon which every DVM process listens for its peers - the controller for connections from its prted daemons, and each prted for connections from its peer daemons.

DVMNodes:
Provides a regular expression identifying the nodes that upon which user applications can run. IP addresses can be provided in place of hostnames if desired.The regular expression can consist of a simple comma-delimited list of hostnames, or a comma-delimited list of hostname ranges (e.g., "linux0,linux[2-10]"), or a PMIx "native" regular expression.

DVMNetworks:
An optional comma-delimited list of networks or interfaces the runtime should use for inter-node (daemon-to-daemon) communication. Entries may be interface names or CIDR subnets (e.g., "eth0,10.0.0.0/8"). When empty, all available interfaces are considered. The CIDR entries also disambiguate which address a daemon uses to reach its tree parent or the controller: when a configured host resolves to several addresses, the CIDR selects the one on the DVM interconnect. A multi-homed host with no CIDR to choose among its addresses causes a startup error rather than an arbitrary guess; a single-homed host needs no entry here.

DVMNetmask:
The optional interface netmask associated with the inter-node network, used when constructing the contact information the DVM daemons exchange. The value follows the selected address family. When empty, the prefix of the matching DVMNetworks CIDR is used; absent that, reachability is left unrestricted.

DVMIPVersion:
The IP address family for inter-node communication: 4 (IPv4, the default) or 6 (IPv6-only). IPv6 requires that PRRTE was built with IPv6 support.

DVMRadix:
The radix of the routing tree that connects the daemons (default 64). Each daemon connects to its parent in this tree rather than directly to the controller, spreading the connection load across the DVM.

DVMRetryMaxDelay:
The maximum delay, in seconds, between a daemon's attempts to connect to the controller during bootstrap. Retries back off exponentially up to this cap and then continue at that steady rate until the controller answers.

DVMConnectMaxTime:
The maximum time, in seconds, a daemon will keep trying to reach its parent in the routing tree before healing up to the next ancestor. The controller itself is retried indefinitely. Set to 0 to disable healing and retry every parent forever.

KeepFQDNHostnames:
Whether host names are matched and stored fully qualified. When OFF (the default), names are compared in short form; when ON, fully qualified names are compared as-is. This must agree with how the DVMControllerHost and DVMNodes entries are written.

Operational Options

DVMTempDir:
The temporary directory that the DVM daemons and controller are to use as the base for their session directories. Working files/directories for the DVM will be placed under this location.

SessionTmpDir:
The temporary directory that the DVM daemons are to use as the base for session directories for all application sessions. Working files for each session will be placed under this location, separated out into a directory for each session.

Logging Options

ControllerLogJobState:
Directs the DVM controller to log each DVM-launched job state transition. Log entry includes the namespace of the job, the state to which it is transitioning, and the date/time stamp when the transition was ordered.

ControllerLogProcState:
Directs the DVM controller to log each process (in a DVM-launched job) state transition. Log entry includes the namespace and rank of the process, the state to which it is transitioning, and the date/time stamp when the transition was ordered.

ControllerLogPath:
Path to where the logs are to be written. If a relative path is provided, then the directory will be created under the DVMTempDir location. The path defaults to the specified SessionTmpDir in the absence of any input to this field. The log filename is formatted as prtectrlr--log.

PRTEDLogJobState:
Directs each prted in the DVM to log each DVM-launched job state transition. Log entry includes the namespace of the job, the state to which it is transitioning, and the date/time stamp when the transition was ordered.

PRTEDLogProcState:
Directs each prted in the DVM to log each process (in a DVM-launched job) state transition. Log entry includes the namespace and rank of the process, the state to which it is transitioning, and the date/time stamp when the transition was ordered.

PRTEDLogPath:
Path to where the logs are to be written. If a relative path is provided, then the directory will be created under the DVMTempDir location. The path defaults to the specified SessionTmpDir in the absence of any input to this field. The log filename is formatted as prted--log.