
PST TUSC local configuration modules
====================================

This document is part of the Practical Supercomputing Toolkit (PST).

The files in this subdirectory specify how the PST TUSC utilities
(archive and qprep) perform site-specific operations.


Sample Local Configuration Modules for Archive:
...............................................

  local.pm.ahpcrc: for AHPCRC
  local.pm.asc   : for ASC
  local.pm.erdc  : for ERDC
  local.pm.navo  : for NAVO
  local.pm.psc   : for PSC
  local.pm.test  : for fake archive system


Sample Local Configuration Modules for Qprep:
.............................................

  localQprep-GRD.pm              : for GRD (e.g., at ARL)
  localQprep-LoadLeveler.pm      : for LoadLeveler (e.g., on IBM SP2).  OLD
  localQprep-LoadLeveler-MHPCC.pm: from Lance Terada at Maui
  localQprep-LSF-ERDC.pm         : for LSF at ERDC (thnx Dan Duffy)
  localQprep-PBS-ERDC.pm         : for Portable Batch System at ERDC
  localQprepTest.pm              : "qprep" config module for fake queue system

PBS administrators will probably want to start with the
localQprep-PBS-ERDC.pm module since that is in production.  The
localQprep-PBS.pm was an earlier prototype.

The GRD module was made with the help of Steve Thompson at ARL.

Dr. Dan Duffy contributed helpful modifications to localQprep-PBS-ERDC.pm.
If you have questions about that module, contact him at this address:
<Daniel.Q.Duffy@erdc.usace.army.mil>


websites
........

AHPCRC: http://www.arc.umn.edu/
ASC   : http://www.asc.hpc.mil/
ERDC  : http://www.wes.hpc.mil/
NAVO  : http://www.navo.hpc.mil/
PSC   : http://www.psc.edu/




local.pm: local configuration Perl module for archive
-----------------------------------------------------

To use "archive" on a site, that site must define a number of Perl
subroutines that perform elementary operations to access the archive
file system for the site.  Those subroutines reside in the Perl module
file file named "local.pm" in the TUSC subdirectory.

Most or all of these subroutines contains only a few lines of code.

    site_get: get a file from archive file system
    site_files_are_same: verify sameness of local and remote files
    site_unglob_files: expand file glob wildcards
    site_put: put a local file on the ASF.
    site_directory_exists: Determine whether a remote directory exists.
    site_file_exists: Determine whether a remote file exists.
    site_link_exists: Determine whether a remote link exists.
    site_follow_link: return the name of a file pointed to by a link.
    site_mkdir: Create a remote directory.
    site_migrate: Migrate a remote file.
    site_ls: perform an ls on remote files.
    site_get_archive_home: Get home directory on mass store for a user.
    site_get_archive_host: Return name of mass store hosts for a user.
    site_get_archive_check_status_and_time: Return a flag that determines
    site_get_archive_note: Return a help message string.
    site_get_site: Return name of the local site.  Used in installation.
    site_get_file_mode: Return the octal access mode of a file
    site_file_is_migrated: Determine whether a remote file has been migrated
    site_archive_system_status:

For details, see the header comments for each subroutine in the "local.pm"
file.




localQprep.pm: local configuration Perl module for qprep
--------------------------------------------------------

To use "qprep" on a site, that site must define some Perl subroutines
that complete a translation table and perform auxiliary operations for
situations when the translation table fails to suffice.  Those subroutines
reside in the Perl module file file named "localQprep.pm" in the TUSC
subdirectory.

    qprepInitCallback: initialization callback for qprep
    qprepPreTranslationCallback: directive pre-translation callback for qprep
    qprepPostTranslationCallback: directive post-translation callback for qprep
    qprepFinishPreambleCallback: post-preamble callback for qprep
    qprepFinishScriptCallback: post-input script callback for qprep

For details, see the header comments for each subroutine in the
"localQprepTest.pm" file.



