Swift (parallel scripting language)
Swift[1] is an implicitly parallel programming language that allows programmers to write parallel scripts that distribute program execution across distributed computing resources, including clusters, clouds, grids, and supercomputers[2]. Rapid dispatch of parallel tasks to a wide range of resources is supported through the Coasters task dispatch mechanism[3]. An MPI-based implementation of the language[4] supports very high task execution rates on large clusters and supercomputers.
Language Features
Swift is implicitly parallel, meaning that program statements will automatically run in parallel unless there is a data dependency between them. 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 and Swift 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 similar way to scalar variables and functions.
References
- ^ http://swift-lang.org/
- ^ Wilde, Michael, Mihael Hategan, Justin M. Wozniak, Ben Clifford, Daniel S. Katz, and Ian Foster. "Swift: A language for distributed parallel scripting." Parallel Computing 37, no. 9 (2011): 633-652
- ^ Hategan, Mihael, J. Wozniak, and Ketan Maheshwari. "Coasters: uniform resource provisioning and access for scientific computing on clouds and grids." Proc. Utility and Cloud Computing (2011)
- ^ Wozniak, Justin M., Timothy G. Armstrong, Michael Wilde, Daniel S. Katz, Ewing Lusk, and Ian T. Foster. "Swift/T: Large-scale Application Composition via Distributed-memory Dataflow Processing." In Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, pp. 95-102. IEEE, 2013