HOME

TheInfoList



OR:

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 Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
under the Apache License, version 2.0.


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:Case studies on the official site
/ref> * Energy modelling *Climate modelling * Economic modelling * Biochemical protein modelling * Magnetic resonance imaging (MRI) analysis in neuroscience *Glass structure modelling


See also

*
Distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
* Parallel computing


References


External links

* {{Official website, swift-lang.org
Reference manual
Programming languages