WAT Distributed Compute Controller Configurations

The distributed compute works through a controller node and compute nodes. The controller node needs to be set up in a slightly different way than the compute nodes. This configuration set defines the controller node configurations.

The Controller Node Distributed Compute package can be downloaded here.  Extract the folder in "C:\Programs"

Personal Configuration file

The HEC-WAT-Personal.config needs to be in "C:\Users\<USERNAME>\AppData\Roaming\HEC\HEC-WAT". If a personal configuration file already exists, the contents of this file can be added to the contents of the existing file as long as none of the vmparam settings override one another.

An example of a Personal Config file can be downloaded: HEC-WAT-Personal.config-Controller.7z


If this is your first time using HEC-WAT, you will need to first download the HEC-WAT software and open the program before you will see "HEC-WAT" in the Roaming\HEC directory.  

WAT Settings

Confirm that the DSS debug level is not set higher than 2, under "Tools → Options" menu, on the "Debug" tab.  Without changing this setting, the DSS log on the controller node may grow extremely large during the compute.

Distributed Compute Dependencies

The distributed compute relies on Apache Ignite and a few jars developed by RMA to manage the interaction of HEC-WAT with the ignite capabilities. All of the distributed compute dependencies need to live in "C:\Programs\DC"

The following files and jars as part of the download package are described below.

default-config.xml

This xml file contains the details of how the ignite grid will function. There are many variations that can be placed in this xml file. This file needs to be placed in "C:\Programs\DC". A few important settings typically need to be adjusted by the user:

  • The port the compute nodes listen on and the controller broadcasts on.  The port number must be consistent between the controller and computes nodes.  Port numbers must also be unique amongst controller-compute nodes. If a port number is used elsewhere, the distributed compute will fail
  • The working directory for the models.  The distributed compute outputs will be send back to this location.  The WAT project needs to be staged here

dcmerge.jar

The dcmerge.jar merges simulated results from the compute nodes after simulation completes.  It is placed in "C:\Programs\DC\Plugin".  No edits need to be performed.

gridgaincompute.jar

The gridgaincompute.jar manages the integration of ignite and HEC-WAT dependencies. It is developed as a plugin in HEC-WAT that adds the necessary UI components to start a distributed compute and to manage the compute. It is placed in "C:\Programs\DC\Plugin". No edits need to be performed.

rmiServer.jar

The rmiServer.jar manages the communication across processes using Remote invocation (RMI).  It is placed in "C:\Programs\DC\RMI".  No edits need to be performed.

Ignite Controller Resource files

The ignite package for the controller is placed in "C:\Programs\DC\sys" it will contain all of the ignite jars necessary to find the compute nodes.  This ignite package is NOT the same as the compute node ignite package.  No edits need to be performed.