Swift is parallel-- it runs multiple programs concurrently as soon as their inputs are available, reducing the need for complex parallel programming.
Swift is easy-- short, simple scripts can do large-scale work. The same script runs on multicore computers, clusters, grids, clouds, and supercomputers.
B. How to download Swift
To use (or test) swift, you will need a copy of it from: http://swift-lang.org/packages/swift-0.96.2.tar.gz
Once you've extracted it, add it to your PATH (.bashrc example):
C. Example setup
Swift example configuration files are attached to this page.
Swift runs from a login node (and starts some java threads). The overhead seems to be low for java and it can retry if there's a problem with the workflow, or it will provide detailed log and stderr output if there is a problem. The sample job setup looked like this when run from jyc where queue wait time is nearly zero, and this workflow ran on 2 nodes:
The workDirectory defined in your swift.conf will contained the results from running your swift workflow. In the example here, notice there's a separate directory for each of the -n=32 tasks specified on the swift command line above. In each of those directories, further log, stderr and output may be found. The filesystem organization can be configured with changes to swift.conf.
Also corresponding to each run of swift (and task) is a directory hierarchy in the directory where you submitted the workflow. Very detailed logs will be stored there along with the job script that was built and submitted to the batch system.
D. Read more about Swift.