uw-cmg / MAST

MAterials Simulation Toolkit for use with pymatgen
17 stars 8 forks source link

Allow MAST to work where there is no shared home directory on the node #389

Closed cmgtam closed 8 years ago

cmgtam commented 10 years ago

This functionality would allow us to use MAST on a large number of nodes which have minimal support: no shared home directory with the submission headnode, no compilers.

  1. The VASP executable must be compiled as a static executable.
  2. MAST must not reference a $HOME directory. The MAST Monitor must be able to obtain all of its information on the node itself. The easiest logical route is to package up the entire $HOME/MAST/SCRATCH directory. This route would require packaging and sending potentially 100 GB or more of information every time the MAST monitor runs. Is this amount of data transfer feasible? Is there an option to split the MAST monitor so that it keeps resubmitting itself to the queue with a different recipe (so that only a single recipe directory has to be zipped and sent at a time), and resetting when all the recipes are complete?
  3. Individual ingredient directories, when submitted to the queue, should not be affected as long as they can be zipped and their output files unzipped to the appropriate place. The target for these changes is the Condor CHTC pool, but may be equally applicable to other single-node pools.
cmgtam commented 10 years ago

For packaging, pymatgen will probably be zipped up (2.7.9 version) and included with MAST instead of pip-installed. ASE imports have now been try/except escaped so that ASE does not necessarily have to be installed unless structopt is used. d3a7c86409a91c08575cdafdbec4d9cb3beff1e6

cmgtam commented 8 years ago

At one point the CHTC workflow was done as above. That solution was a little unstable since care had to be taken to make sure that only directories without active jobs running in them were checked and modified. Currently, there is no shared home directory only on the CHTC HTC, and in this case, submit/platforms/chtc_dagman has some scripts to create a dag, which is then managed by the CHTC DAGman. Closing.