PEST - Model-Independent Parameter Estimation and Uncertainty Analysis


BEOPEST: efficient parallel run management


BEOPEST was developed by Willem Schreuder of Principia Mathematica.

BeoPEST is a special version of Parallel PEST inspired by Beowulf Clusters. A Beowulf Cluster is simply a number of commodity computers that are tied together using a reasonably fast network. The name is derived from the original Beowulf computer built by Thomas Sterling and Donald Becker at NASA. Although strictly speaking a Beowulf Cluster runs a common operating system (typically Linux), the term is used much more loosely here. In fact, BeoPEST is actually designed to form an ad hoc cluster on the fly. The cluster can comprise any set of computers than are able to communicate via the internet.

BeoPEST differs from the the traditional Parallel PEST only in how it communicates with slaves and how slaves know what to do. In the traditional Parallel PEST, a master process creates files using a template and reads the results using the instruction file, in addition to performing the actual parameter estimation calculations. The slave simply executes the model runs. In BeoPEST, the master process still performs the parameter estimation calculations exactly as before, but instead of writing and reading files, it sends the set of parameters to be run to the slave, and receives observations from the slave in binary form over a TCP/IP connection. The BeoPEST slave is smart and creates the model input files from the parameters as instructed by the master, runs the model, extracts the observations from the model output files, and sends the resulting observations back to the master. Therefore as much of the work as is possible is offloaded to the slave, and the master only deals with the parameter estimation proper.

The BeoPEST implementation also has a number of cutting edge features for high performance computing. BeoPEST is distributed in the sense of grid computing. In particular, this means that the slaves does not need to be on the same local area network as the master. BeoPEST allows some of the slaves to be at the other side of an internet connection. In fact, BeoPEST can tie multiple machines or even multiple clusters of machines together.

BeoPEST scales well. BeoPEST can be run efficiently with hundreds or thousands of slaves serving a single master. The inherent granularity of the problem may restrict the number of slaves that can be used efficiently, but BeoPEST can generally achieve high efficiencies.

BeoPEST is fault tolerant. It gracefully recovers from failed nodes. In addition, new nodes can be dynamically added and removed from the slave pool.

BeoPEST supports heterogeneous environments. The slave pool can consist of a mix of operating systems and hardware. For example, some slaves may be run on Windows workstations, while others may be run on a Linux servers using Intel hardware, while yet other slaves run AIX on IBM Power hardware. BeoPEST will readily accommodate such a heterogeneous environment.

The same BeoPEST executable can be run in sequential, TCP parallel or MPI parallel mode based on command line switches. In sequential model, BeoPEST runs on a single machine. In TCP mode BeoPEST can be used to build an ad hoc cluster from a number of computers using TCP/IP connections over a local or wide area network. In MPI mode, BeoPEST can use the Message Passing Interface (MPI) infrastructure typically found on high performance parallel machines.

UNIX BEOPEST is distributed as source code. Click here to download UNIX BEOPEST.  General compilation instructions for the UNIX version of PEST can be obtained from the downloads page. Click here to obtain UNIX BEOPEST documentation.

BEOPEST for windows can be downloaded from the downloads page.

For those interested, BEOPEST is featured in the ground water literature. See:

Hunt, R.J., Luchette, J., Shreuder, W.A., Rumbaugh, J., Doherty, J., Tonkin, M.J. and Rumbaugh, D., 2010. Using the cloud to replenish parched groundwater modeling efforts. Rapid Communication for Ground Water, doi: 10.1111/j.1745-6584.2010.00699

Click here to download this article free of charge for a limited time.

C4SF Login | Web Site Managed via C4Site Factory,™ a trademark of Echo Valley Graphics, Inc.
©2014 Copyright Echo Valley Graphics, Inc. All Rights Reserved.