Parallelization

Calibration and Uncertainty analysis using PEST often requires a large number of model runs, especially where high parameterization is applied.

Fortunately, PEST and PEST++ have features to distribute the workload amongst different Computers efficiently (BeoPEST and PANTHER, respectively). These may be located in the local network, an HPC cluster or cloud-based computers, or a combination of these.

FePEST provides further feature to reduce the effort of deploying BeoPEST/PANTHER setups across multiple PC. After FEFLOW is installed and FePEST is launched into Server mode, the transfer of model files and deployment of PEST on can be remote controlled from a single master machine provided the machines can communicate with network (TCP/IP).

Parallelization is activated with the following steps:

Prepare the Workers

Make sure that FEFLOW and the PEST Utilities are installed on each computer. Make sure that all machines use the same release of both packages (otherwise, a warning will be issued). All FEFLOW installations should use the same license server to avoid using multiple network licenses during the PEST run. If your model uses any plugins, these must be registered in the local FEFLOW installation as well.

See also installation instructions for parallel computing

Activate Parallelisation in the FePEST Setup

Open your FePEST Problem, and go to the Parallelisation Section of the Problem Settings Dialog. Check the Parallelisation option.

Port Number

The port denotes the network (IP) port of the local computer (Host) that FePEST uses for communication. In most cases, you do not need to change the default value. If the default settings conflicts with a different application, choose a different port number. Make sure that no router, firewall or anti-virus software blocks the network connection even if no remote comĀ­puters are involved (localhost only).

Master

By default, the computer from where the simulation is started automatically acts as the master. If activating the Master checkbox, you can choose one of the workers to act as master. This is useful if you work from a computer with intermittend network access - usually your notebook. Activate the Polling option allows to remotely monitor the progress. You will to retrieve updates at the given intervall (15 seconds mininmum).

Workers

Below is the list of workers where you specify the servers that are used to solve model run jobs during the PEST run, including the master computer if it should be used. Servers can be added/removed to/from the list, and/or the settings of existing entries can be edited.

Host name

The host name specifies the host name or IP-Address of the server computer. Enter "localhost" to add the local computer to the list.

Note that FePEST has to be started in server mode on all remote servers (except the local computer) before commencing the PEST run.

No. of Workers

The number of workers is the number of models that will be run simultaneously on the computer. In many cases, this should be set according to the number of available CPU cores on that computer (Taking into account that multiple Cores may be used by each model depending on the Threads setting, see below).

Threads*

The number of cores used by each model instance. This should be balanced with the No. of workers and the available CPU cores on the remote machine. If not set, the locally configured threads is used.

Active

The active check box provides a convenient way of removing one slave definition from the parallelization options temporarily, with out deleting it completely.

License*

The locally configured maybe overridden by enabling the license option and supplying a valid license host specification.

Example1: mylicensehost

Example2: server=mylicensehost

Modules*

Specify IFM plug-ins to attach while running the model. The IFM plug-ins must be available on the server.

*  These options are analogous to the command line options -license <license>, -threads <threads> and -ifmattach -modules <modules>

ParallelizationMenu.png 

The paralellization page contains the workers running FePEST in server mode.

 

FePEST must be started and set to server mode on each of the slave servĀ­ers.

 

When running in server mode, the current computer acts as a slave server that can receive run jobs from another computer.

 

Note that it is not normally possible to start two instances of FePEST in server mode on the same computer. If this is attempted a message: Socket error: Failed to start server! will be displayed. This message may also appear if a previous FePEST server session terminated. In this case the user should first terminate any running FePEST processes manually with the Windows Task Manager.

If it is explicitly required to run more than one FePEST server on the same computer, a different server port must be chosen. This can be achieved with the advanced options dialogue by clicking on the menu item Tools / Options and then clicking on the Advanced node.

 

Parallelization using Microsoft Azure Cloud

Beside the parallelization using a computer clusters and local machines, FePEST offers the possibility of a full parallelization based on cloud infrastructure. Microsoft Azure services are used for this purpose.

In the Parallelization section of the Problem Settings dialog, the definition of the cloud parallelization can be easily included via the Import button. This requires a so-called Host file (*.hosts). You can find more information about preparation settings under the Cloud Parallelization page.

 

Table of Contents

Index

Glossary

-Search-

Back