Argonne National Laboratory

Swift: A Language for Distributed Parallel Scripting

TitleSwift: A Language for Distributed Parallel Scripting
Publication TypeJournal Article
Year of Publication2011
AuthorsWilde, M, Hategan, M, Wozniak, JM, Clifford, B, Katz, DS, Foster, IT
JournalParallel Computing
Date Published09/2011
Other NumbersANL/MCS-P1818-0111

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.