IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes between Version 5 and Version 6 of External_Supercomputing_Notes


Ignore:
Timestamp:
Dec 18, 2013, 12:40:12 PM (13 years ago)
Author:
watersc1
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • External_Supercomputing_Notes

    v5 v6  
    5454}}}
    5555in my .cshrc.
     56
     57== IPP Running ==
     58
     59There is no database running on SEC_HOST, which impacts how the IPP can be run.  The ippScripts assume a database exists that can be probed to determine what should be executed.  In addition, the detrend information is stored in the database, which means processing raw images will need to have detrends specified manually.
     60
     61Despite this issue, I was able to test that the IPP build does work.  Running ppImage
     62{{{
     63> ppImage -file o5303g0240o.ota67.fits test.out -recipe PPIMAGE CHIP -Db PHOTOM F -Db DARK F -Db FLAT F -Db NOISEMAP F -threads 1 -trace config 89 -Db MASK F -Db NONLIN F -log test.log -tracedest test.trace
     64Number of leaks to display: 500
     65}}}
     66produced all expected outputs from the recipe (taking into account the command line option changes).  For this test, I disabled the detrending manually to avoid having to specify a series of -mask/-dark/-flat options.
     67
     68== Parallelization ==
     69
     70The supercomputing resources are managed by Moab, for which I've been using [https://computing.llnl.gov/tutorials/moab/ this page] as documentation.  Briefly, a job script is constructed that outlines the resources required for completion, and this is submitted to the moab scheduler.  The resources are allocated, the job is run, and the job terminates.  This is significantly different than the standard IPP scheduling system, which assumes full access to the computing hardware.
     71
     72=== stask ===
     73
     74The example stask scripts seem to provide a path around this limitation.  From my reading of the scripts:
     75
     761. A call to the {{{stask.py}}} python script is defined in the {{{stask}}} shell script.  This script also defines a task list.  {{{stask}}} is then submitted to moab as a job.
     771. The moab job constructs a list of nodes allocated to the job.
     781. The moab job passes this node list and the task list to the python script.
     791. The python script (running under moab) connects to the individual node via ssh, changes to the appropriate workdir, and runs the shell script {{{mult.sh}}} with the task parameters.
     801. The shell script (under python as a moab job, on the individual node) runs the requested job under the [http://www.gnu.org/software/parallel/parallel_tutorial.html GNU parallel] framework.
     811. Python completes when the shell scripts are finished on all nodes, clearing the moab job to complete and release the resources requested.
     82
     83As of 2013-12-18, I have not run an IPP command through this stask scripts.