Trisha Shetty (Editor)

Swift (parallel scripting language)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Typing discipline
  
Platform
  
Cross-platform: Java

First appeared
  
2007; 10 years ago (2007)

Stable release
  
0.96.2 / August 5, 2015; 19 months ago (2015-08-05)

Swift is an implicitly parallel programming language that allows writing scripts that distribute program execution across distributed computing resources, including clusters, clouds, grids, and supercomputers. Swift implementations are open-source software under the Apache License, version 2.0.

Contents

Language features

A Swift script describes strongly typed data, application components, invocations of applications components, and the inter-relations in the dataflow between those invocations. The program statements will automatically run in parallel unless there is a data dependency between them, given sufficient computing resources. The design of the language guarantees that results of a computation are deterministic, even though the order in which statements executes may vary. A special file data type is built into Swift. It allows command-line programs to be integrated into a program as typed functions. This allows programmers to write programs that treat command-line programs and files in the same way as regular functions and variables. A concept of mapping is used to store and exchange complex data structures using a file system structure with files and directories.

Rapid dispatch of parallel tasks to a wide range of resources is implemented through a mechanism called Coasters task dispatch. A Message Passing Interface based implementation of the language supports very high task execution rates (e.g., 3000 tasks per second) on large clusters and supercomputers.

Area of applications

Application examples:

  • Climate modelling
  • Economic modelling
  • Biochemical protein modelling
  • Magnetic resonance imaging (MRI) analysis in neuroscience
  • References

    Swift (parallel scripting language) Wikipedia


    Similar Topics