Stampede (x86 cluster) ---------------------- Stampede is a cluster managed by the Texas Advanced Computing Center (TACC). It is a part of the XSEDE project. For more information about how to request an account, a project, how to log in and manage SSH keys, please see the More information about the system can be found in the https://portal.xsede.org/web/guest/tacc-stampede[Stampede User Guide]. Downloading and building Swift ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The most recent versions of Swift can be found at http://swiftlang.org/downloads/index.php[the Swift downloads page]. Follow the instructions provided on that site to download and build Swift. Overview of How to Run ~~~~~~~~~~~~~~~~~~~~~~ You will need to do the following steps in order to run. 1. Connect to a system that has the Globus myproxy-init command. This will be the system where Swift runs and from where Swift submits jobs to Stampede. 2. Obtain a grid certificate. 3. Run Swift with configuration files that define how to start remote jobs to Stampede via gram. Verify System Requirements and Environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The system where you run Swift needs to have the myproxy-init tool installed. Ideally it should also have globus-job-run for testing purposes. Swift uses two environment variables in order for remote job execution to work. They are $GLOBUS_HOSTNAME and $GLOBUS_TCP_PORT_RANGE. GLOBUS_HOSTNAME should contain the full hostname of the system where you are running. It may also contain the IP address of the machine. GLOBUS_TCP_PORT_RANGE defines a range of ports to which a remote system may connect. You will likely need this defined if you are behind a firewall with somewhat restricted access. Obtain a Grid Certificate ~~~~~~~~~~~~~~~~~~~~~~~~~ Once you have verified you have everything you need on the submit host where you are running, you can obtain an XSEDE grid certificate with following command: ----- $ myproxy-logon -l username -s myproxy.teragrid.org ----- Create sites.xml file ~~~~~~~~~~~~~~~~~~~~~ You may use the following example as a guide to run on Stampede. You will likely need to make a few modifications, as described below. ----- 16 16 3600 00:05:00 100 100 normal 1 1 yourproject .3199 10000 /scratch/01503/yourusername ----- You will need to modify the XSEDE project name to the match the name that has been allocated to you. In most cases you'll want to set the work directory to your Stampede scratch directory. This is defined, on Stampede, in the environment variable $SCRATCH. Running Swift ~~~~~~~~~~~~~ You may now run your Swift script exactly as you have before. ----- $ swift -sites.file sites.xml -tc.file tc -config cf myscript.swift ----- Debugging ~~~~~~~~~ If you are having problems getting this working correctly, there are a few places where you may look to help you debug. Since this configuration is slightly more complicated, there are several log files produced. 1. The standard swift log, created in your current working directory on the machine where you are running from. This will be named something along the lines of myscript-.log. 2. The bootstrap log. These are located on Stampede in your home directory and have the name coaster-bootstrap-.log. 3. The coaster log. This is located on Stampede in your $HOME/.globus/coasters/coasters.log. 4. The gram log. This is located on Stamped in $HOME/gram-.log. For help in getting this configuration working, feel free to contact the Swift support team at swift-support@ci.uchicago.edu.