Swift: Fast Parallel Scripting Language

Variable-sized tasks produce trailing tasks; Swift exposes task priorities.

Variable-sized tasks produce trailing tasks; Swift exposes task priorities.

Swift is a system for the rapid and reliable specification, execution, and management of large-scale science and engineering workflows. It supports applications that execute many tasks coupled by disk-resident datasets - as is common, for example, when analyzing large quantities of data or performing parameter studies or ensemble simulations.

  • The open source Swift software combines: A simple scripting language to enable the concise, high-level specifications of complex parallel computations, and mappers for accessing diverse data formats in a convenient manner.
  • An execution engine that can manage the dispatch of many (10,000) tasks to many (100) processors, whether on parallel computers, campus grids, or multi-site grids.

Swift users span the physical sciences, biological sciences, social sciences, humanities, computer science, and education. Swift users have achieved multiple-order-of-magnitude savings in program development and execution time.

Swift builds on and includes technology previously distributed as the GriPhyN Virtual Data System.

The Swift project is supported by the National Science Foundation with additional support from NIH and the Argonne National Laboratory and the University of Chicago Computation Institute.