Swift is a parallel scripting language Composes applications linked ...

trampknowledgeΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

116 εμφανίσεις


Swift

is a parallel scripting language


Composes applications linked by files

Easy to write: a simple, high
-
level language


Small Swift scripts can do large
-
scale work

Easy to run: on clusters, clouds and grids


Sends work to LCF BGs and
XEs
, Amazon,…

Fast and highly parallel


Runs a million tasks on thousands of cores


hundreds of tasks per second







Parallel Scripting

www.ci.uchicago.edu
/swift

swift
-
info@uchicago.edu

This research is supported in part by the National Science Foundation office of Cyberinfrastructure, the DOE Office of Scienc
e A
SCR X
-
Stack program, and by the DOE Office of Electricity Delivery and Energy Reliability.


Problem
:
How to compose large parallel
workflows from ordinary application programs,

to run fast and easily on a variety of platforms?

foreach

g,i

in
geos

{


land[i
] =
getLandUse
(g,1);

}

(
topSelection
, tiles) =


analyzeLandUse
(land
, type,
nTiles
);



foreach

g
,
i

in
geos

{


colorImage[i
] =
colorMODIS
(g
);

}

gridMap

=
markMap
(topSelection
);

montage =


assemble
(tiles,colorImage,webDir
);

Solution:

a compact, portable, parallel Swift script:

Run
Swift
:
across diverse parallel platforms

Use
Swift
:
across diverse science domains


Swift
makes hard problems transparent


Implicit parallelism


Transparent execution location


Automated failure recovery

In use by a growing community


Grid simulation, economics, climate, …





Worldwide Swift usage through Nov 2012