[Swift-commit] r3853 - text/parco10submission

noreply at svn.ci.uchicago.edu noreply at svn.ci.uchicago.edu
Wed Jan 5 13:19:19 CST 2011


Author: wilde
Date: 2011-01-05 13:19:19 -0600 (Wed, 05 Jan 2011)
New Revision: 3853

Modified:
   text/parco10submission/paper.pdf
   text/parco10submission/paper.tex
Log:
Edits to abstract and intro.

Modified: text/parco10submission/paper.pdf
===================================================================
(Binary files differ)

Modified: text/parco10submission/paper.tex
===================================================================
--- text/parco10submission/paper.tex	2011-01-05 18:33:54 UTC (rev 3852)
+++ text/parco10submission/paper.tex	2011-01-05 19:19:19 UTC (rev 3853)
@@ -97,26 +97,22 @@
 
 Swift is a scripting language designed for composing
 application programs into distributed,
-parallelized applications for execution on grids and supercomputers
+parallelized applications for execution on clusters, grids, clouds and supercomputers
 with tens to hundreds of thousands of processors.  It is intended to
 serve as a higher level framework for composing the interaction of
-concurrently executing programs and scripts, sitting above (and
-utilizing) existing scripting languages and applications. Swift
+concurrently executing programs (even parallel ones) and scripts written in other scripting languages. Swift
 scripts express the execution of programs to produce datasets using a C-like syntax
 consisting of function definitions and expressions, but with 
-dataflow-driven semantics and implicit parallelism. The application programs executed by a
-Swift script can be binary executables (even parallel ones) or can be scripts written in
-any other scripting language.
+dataflow-driven semantics and implicit parallelism.
 
 The emergence of large-scale production computing infrastructure such
-as clusters, grids and high-performance computing (HPC), and the
+as clusters, grids and supercomputers, and the
 inherent complexity of programming on these systems, necessitates a
 new approach.
-
-Swift was developed to create a higher-level language
+Swift is a higher-level language
 that focuses not on the details of executing sequences or
-``pipelines'' of programs, but rather on specific issues that arise
-from the concurrent execution of disparate computational tasks at
+pipelines of programs, but rather on the issues that arise
+from the concurrent execution, composition, and coordination of many independent computational tasks at
 large scale.
 
 While many application needs involve the execution of a single large
@@ -128,21 +124,19 @@
 them. Scaling up requires the distribution of such workloads among
 many computers or clusters and hence a ``grid'' approach. Even if
 a single large parallel cluster suffices, users will not always have
-access to the same system (i.e., big machines may be congested, or temporarily unavailable). This leads to the need to be able to utilize
+access to the same system (i.e., big machines may be congested, or temporarily unavailable to a user due to maintenance or allocation depletion). This leads to the need to be able to utilize
 whatever resource happens to be available or economical at the moment
-when the user needs to perform intensive computation -- without continued
-reprogramming or adjustment of scripts.
+when the user needs to perform intensive computation -- without the need to continually
+reprogram or adjust execution scripts.
 
 Swift's contribution and primary value is that it provides a simple,
 minimal set of language constructs to specify how applications are
 glued together and executed in parallel at large scale.
+It regularizes and
+abstracts notions of processes and external data for distributed
+parallel execution of application programs. Swift scripts are location-independent and automatically parallelized by exploiting the maximal concurrency permitted by their data dependencies and by resource availability.
 
-Swift regularizes and
-abstracts notions of external data and processes for distributed
-parallel execution of application programs. Swift scripts are location-independent and automatically parallelized by exploiting the maximal concurrency permitted by their data dependencies.
-
 As a language, Swift is simpler than most scripting languages because it does not replicate the capabilities that existing scripting languages like Perl, Python, and shells do very well, but instead makes it easy to call such scripts as small applications.
-
 Swift can execute scripts that perform tens of thousands of program
 invocations on highly parallel resources, and handle the unreliable
 and dynamic aspects of wide-area distributed resources. Such issues are handled by Swift's runtime system, and are not manifest in the user's scripts.
@@ -156,9 +150,9 @@
 automated site selection, data management, and reliability.
 
 Swift has been described previously~\cite{Swift_2007};
-this paper goes into greater depth in describing the Swift language, how
+this paper goes into greater depth in describing the parallel aspects of the Swift language, how
 its implementation handles large-scale and distributed execution
-environments, and its contribution to distributed and parallel computing.
+environments, and its contribution to distributed and parallel programming models.
 
 The remainder of this paper is organized as follows.
 Section~\ref{Rationale} explains the motivation for the Swift programming model.




More information about the Swift-commit mailing list