The Swift Parallel Scripting Language for ALCF Systems

Swift is an implicitly parallel functional language that makes it easier to script higher-level applications or workflows composed from serial or parallel programs.  Recently made available across ALCF systems, it has been used to script application workflows in a broad range of diverse disciplines from protein structure prediction to modeling global agriculture to processing data from APS beamline experiments.

Swift scripts can be written with little or no experience in parallel programming, enabling more scientists and engineers to leverage and integrate parallel systems such as ALCF systems, XSEDE resources, campus clusters, and clouds. It automates high-level parallelization, data movement, and failure recovery.

On ALCF systems, Swift can be used to automate workflows that run large ensembles of smaller parallel programs within Blue Gene/Q subjobs; to autmate workflows between multiple ALCF systems and external resources or data servers; and to compose very high performance applications running within a single large Blue Gene/Q job on Mira. Swift workflows can be launched on all these systems through the Galaxy web-based workflow management interface.

Primary Contact: 

Michael Wilde, wilde@anl.gov

Staff Involved: 

Michael Wilde, David Kelly, Ketan Maheshwari, Justin Wozniak

Other Collaborators: 

Timothy Armstrong, Mihael Hategan, Yadu Nand Babuji, Daniel S. Katz, Ian Foster

Funding: 
National Science Foundation and US Department of Energy Office of Science, with additional support from the National Institutes of Health, Argonne National Laboratory and the University of Chicago Computation Institute