next up previous contents pdf.png
Next: 7 Using ACIS Extract Up: 6 Installation Previous: 6.1 Unix Shells


6.2 Tips on Minimizing Execution Times

The AE program must spawn a large number of Unix shells to run Unix, HEASOFT (FTOOLS), and CIAO commands. At startup, AE will measure how long it takes to spawn a shell and warn you if it's longer than 1 second. If your Unix account automatically configures these (or any other) complex packages via your .cshrc file, then the speed of this program will be very significantly slowed. For your convenience, AE sets (to 1) an environment variable named FAST_START that you can use to skip over any slow portions of your .cshrc file. For example to configure the HEASOFT, and CIAO packages for normal shells but skip those time-consuming configurations for shells run by AE, .cshrc might contain lines similar to these:
    if ($?FAST_START == 0) source /usr/astro/cxc/bin/ciao.csh -o
    if ($?FAST_START == 0) source $HEADAS/headas-init.csh    
    ...
As of November 2007 the scisoft package seems to have a bug that requires the use of FAST_START to ensure that its configuration script is not run by every spawned shell.

Obviously, the CIAO and MARX commands AE spawns will run faster if CIAO, CALDB, and MARX are installed on a local disk rather than on a remote server, and if your data reside on a local disk.

In anticipation that some observers will process data stored on an NFS file system remote from the machine executing AE, AE has been designed to make heavy use of a ``scratch directory'', presumed to be on a disk physically in the computer running AE. This scratch directory is identified by calling the standard IDL function filepath(/TMP). Normally, this returns the standard ``temporary directory'' defined by the operating system, which is often /tmp/. IDL will however allow you to change the standard temporary directory via the standard shell environment variable IDL_TMPDIR, or via the IDL preference9IDL_TMPDIR.

In the course of an AE extraction a large number of files (both permanent and temporary) are created. If you have an anti-virus application on your computer (e.g. Norton Anti-Virus) and that application is configured to automatically scan every new file when it is created, then you many find that the anti-virus application is consuming a significant portion of your CPU resources during an AE extraction. Ideally, these anti-virus applications would be configured to run at low scheduling priority, so they do not slow down IDL and CIAO processes, however I cannot figure out how to do that for Norton Anti-Virus. Even if anti-virus software is running at low CPU priority, it will still compete for disk I/O bandwidth. The only solutions I've found are to either disable virus checking on files or to configure the virus checker preferences to ignore the parts of the file system used by AE (/tmp/ and the directory tree holding your ACIS data and extractions).

For reference, the ae_make_catalog plus ae_standard_extraction processing requires about 0.9 minutes per source per ObsId. The MERGE_OBSERVATION stage requires about 0.04 minutes per source. These times were measured under the following conditions:

If an extraction must be repeated (e.g. because the catalog has changed) then processing times will be much shorter because the expensive data products--PSF images at 5 energies and RMFs--are re-used.

When your project involves several ACIS observations a lot of time can be saved by running multiple instances of AE in parallel. See §A.

AE includes a number of undocumented capabilities that speed up processing for atypical projects:

If execution time is a significant concern for your large project, contact Patrick Broos to discuss undocumented options that may be useful.


next up previous contents pdf.png
Next: 7 Using ACIS Extract Up: 6 Installation Previous: 6.1 Unix Shells
Patrick Broos
Penn State Department of Astronomy
2009-08-12