Jump to Content
Version 1.6.2-43  

Single Parameter Confidence Limits with PVM


Distributed Computation of Single-Parameter Confidence Limits

Computing single-parameter confidence limits for a number of free parameters can be time-consuming both because many model fits are required, and because the process often reveals deeper minima of the fit-statistic, making it necessary to restart the search from the beginning.

By distributing the confidence limit search over several CPUs, the entire process can often be greatly accelerated.

The script below uses the PVM module to assign each slave process the task of computing single-parameter confidence limits for one parameter. If an improved fit is discovered, the relevant slave process sends the location of this new best-fit back to the master process. If this improved fit represents the best fit-statistic yet encountered, the master process interrupts all the other slaves and re-starts them all at the new best-fit. Otherwise, it re-starts the single interrupted slave process. The master process collects the results of all the slave processes, saving intermediate results to disk in case something happens to interrupt the calculation. When all the single-parameter confidence limits have converged, the master process stops all the slave processes and exits.


After initializing the parallel virtual machine (PVM) with a suitable number of hosts, start the confidence limit search using cl_master:

./cl_master /nfs/path/to/work/directory
The script init.sl is used by each host to initialize the fit, loading all the necessary data files and instrument responses, defining the fit-function and setting initial parameter values. By default, confidence limits are derived for all free parameters. Otherwise, an optional command-line argument can be used to provide a list of parameters for which confidence limits are to be computed:
./cl_master /nfs/path/to/work/directory "[1,3,5,12]"

The output from the cl_master script is a list of single-parameter confidence limits, one for each free parameter, and a parameter file containing the best-fit parameters corresponding to the deepest minimum of the fit-statistic.

Note that this implementation assumes that all the hosts share access to a directory containing the script init.sl (e.g. all the hosts share an NFS-mounted disk).

Source code for the master and slave programs is available here (requires slang-2 and isis-1.3.1 or later):

Made with JED  |  Best Viewed with a Browser  |  Valid HTML 4.01  |  Valid CSS ]
This page is maintained by John C. Houck.   Last updated: Feb 2, 2019