Swift: A language for distributed parallel scripting

Michael Wilde, Mihael Hategan, Justin M. Wozniak, Ben Clifford, Daniel S. Katz, Ian Foster

Research output: Contribution to journalArticlepeer-review


Scientists, engineers, and statisticians must execute domain-specific application programs many times on large collections of file-based data. This activity requires complex orchestration and data management as data is passed to, from, and among application invocations. Distributed and parallel computing resources can accelerate such processing, but their use further increases programming complexity. The Swift parallel scripting language reduces these complexities by making file system structures accessible via language constructs and by allowing ordinary application programs to be composed into powerful parallel scripts that can efficiently utilize parallel and distributed resources. We present Swift's implicitly parallel and deterministic programming model, which applies external applications to file collections using a functional style that abstracts and simplifies distributed parallel execution.

Original languageEnglish (US)
Pages (from-to)633-652
Number of pages20
JournalParallel Computing
Issue number9
StatePublished - Sep 2011
Externally publishedYes


  • Dataflow
  • Parallel programming
  • Scripting
  • Swift

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence


Dive into the research topics of 'Swift: A language for distributed parallel scripting'. Together they form a unique fingerprint.

Cite this