SlideShare a Scribd company logo
Swift Parallel Scripting for
High-Performance Workflow
April 16, 2015
Michael Wilde wilde@anl.gov
Daniel S. Katz dsk@uchicago.edu
http://swift-lang.org
Domain of Interest
“Time”
“Complexity”
Increasing capabilities in computational science
Workflow needs
 Application Drivers
– Applications that are many-task in nature: parameters sweeps, UQ,
inverse modeling, and data-driven applications
– Analysis of capability application outputs
– Analysis of stored or collected data
– Increase productivity at major experiment facilities (light source, etc.)
– Urgent computing
– These applications are all many-task in nature
 Requirements
– Usability and ease of workflow expression
– Ability to leverage complex architecture of HPC and HTC systems
(fabric, scheduler, hybrid node and programming models), individually
and collectively
– Ability to integrate high-performance data services and volumes
– Make use of the system task rate capabilities from clusters to
extreme-scale systems
 Approach
– A programming model for programming in the large
3
When do you need HPC workflow?
Example application: protein-ligand docking for drug screening
(B)
O(100K)
drug
candidates
…then hundreds of
detailed MD
models to find
10-20 fruitful
candidates for
wetlab & APS
crystallography
O(10) proteins
implicated in a disease
= 1M
docking
tasks…
X
…
5
For protein docking workflow:
foreach p, i in proteins {
foreach c, j in ligands {
(structure[i,j], log[i,j]) =
dock(p, c, minRad, maxRad);
}
scatter_plot = analyze(structure)
To run:
swift –site tukey,blues dock.swift
Expressing this many task workflow in Swift
The Swift runtime system has drivers and algorithms to efficiently support and aggregate diverse runtime environments
Swift enables execution of simulation campaigns across
multiple HPC and cloud resources
6
Local datamarkApps
Swift host: login node, laptop, …
Scripts
Data servers
Data servers
Data servers
Campus systems
Cloud resources
Petascale systems
National infrastructure
Swift in a nutshell
 Data types
string s = “hello world”;
int i = 4;
int A[];
 Mapped data types
type image;
image file1<“snapshot.jpg”>;
 Mapped functions
app (file o) myapp(file f, int i)
{ mysim "-s" i @f @o; }
 Conventional expressions
if (x == 3) {
y = x+2;
s = @strcat(“y: ”, y);
}
 Structured data
image A[]<array_mapper…>;
 Loops
foreach f,i in A {
B[i] = convert(A[i]);
}
 Data flow
analyze(B[0], B[1]);
analyze(B[2], B[3]);
Swift: A language for distributed parallel scripting, J. Parallel Computing, 2011
Pervasively parallel
 Swift is a parallel scripting system for grids, clouds and clusters
 F() and G() are computed in parallel
– Can be Swift functions, or leaf tasks (executables or scripts in shell, python, R,
Octave, MATLAB, ...)
 r computed when they are done
 This parallelism is automatic
 Works recursively throughout the program’s call graph
(int r) myproc (int i)
{
int f = F(i);
int g = G(i);
r = f + g;
}
Pervasive parallel data flow
Data-intensive example:
Processing MODIS land-use data
analyze
colorize
x 317
landUse
x 317
mark
Swift loops process hundreds of images in parallel
assemble
Image processing pipeline for land-use data from the MODIS satellite instrument…
Processing MODIS land-use data
foreach raw,i in rawFiles {
land[i] = landUse(raw,1);
colorFiles[i] = colorize(raw);
}
(topTiles, topFiles, topColors) =
analyze(land, landType, nSelect);
gridMap = mark(topTiles);
montage =
assemble(topFiles,colorFiles,webDir);
Example of Swift’s implicit parallelism:
Processing MODIS land-use data
analyze
colorize
x 317
landUse
x 317
mark
Swift loops process hundreds of images in parallel
assemble
Image processing pipeline for land-use data from the MODIS satellite instrument…
Swift provides 4 important benefits:
13
Makes parallelism more transparent
Implicitly parallel functional dataflow programming
Makes computing location more transparent
Runs your script on multiple distributed sites and
diverse computing resources (desktop to petascale)
Makes basic failure recovery transparent
Retries/relocates failing tasks
Can restart failing runs from point of failure
Enables provenance capture
Tasks have recordable inputs and outputs
Swift/T: productive extreme-scale scripting
 Script-like programming with “leaf” tasks
– In-memory function calls in C++, Fortran, Python, R, … passing in-memory objects
– More expressive than master-worker for “programming in the large”
– Leaf tasks can be MPI programs, etc. Can be separate processes if OS permits.
 Distributed, scalable runtime manages tasks, load balancing, data movement
 User function calls to external code run on thousands of worker nodes
Swift
control
process
Swift
control
process
Parallel
evaluator
and
data store
Swift worker process
C C++ Fortran
Swift worker process
C C++ Fortran
Swift worker process
C C++ Fortran
MPI
Scripts
Parallel tasks in Swift/T
 Swift expression: z = @par=32 f(x,y);
 ADLB server finds 8 available workers
– Workers receive ranks from ADLB server
– Performs comm = MPI_Comm_create_group()
 Workers perform f(x,y)communicating on comm
LAMMPS parallel tasks
 LAMMPS provides a
convenient C++ API
 Easily used by Swift/T
parallel tasks
foreach i in [0:20] {
t = 300+i;
sed_command = sprintf("s/_TEMPERATURE_/%i/g", t);
lammps_file_name = sprintf("input-%i.inp", t);
lammps_args = "-i " + lammps_file_name;
file lammps_input<lammps_file_name> =
sed(filter, sed_command) =>
@par=8 lammps(lammps_args);
}
Tasks with varying sizes packed into big MPI run
Black: Compute Blue: Message White: Idle
Swift/T-specific features
 Task locality: Ability to send a task to a process
– Allows for big data –type applications
– Allows for stateful objects to remain resident in the workflow
– location L = find_data(D);
int y = @location=L f(D, x);
 Data broadcast
 Task priorities: Ability to set task priority
– Useful for tweaking load balancing
 Updateable variables
– Allow data to be modified after its initial write
– Consumer tasks may receive original or updated values when they emerge
from the work queue
17
Wozniak et al. Language features for scalable distributed-memory
dataflow computing. Proc. Dataflow Execution Models at PACT, 2014.
Swift/T: scaling of trivial foreach { } loop
100 microsecond to 10 millisecond tasks
on up to 512K integer cores of Blue Waters
18
Large-scale applications using Swift
 Simulation of super-
cooled glass materials
 Protein and biomolecule
structure and interaction
 Climate model analysis and
decision making for global
food production & supply
 Materials science at the
Advanced Photon Source
 Multiscale subsurface
flow modeling
 Modeling of power grid
for OE applications
All have published science
results obtained using
Swift
E
C
A
B
A
B
C
D
E
F
F
D
Assess
Red indicates higher statistical
confidence in data
Impact and Approach Accomplishments ALCF Contributions
• HEDM imaging and analysis
shows granular
material structure, of
non-destructively
• APS Sector 1 scientists use
Mira to process data from live
HEDM experiments, providing
real-time feedback to correct
or improve in-progress
experiments
• Scientists working with
Discovery Engines LDRD
developed new Swift analysis
workflows to process APS data
from Sectors 1, 6, and 11
• Mira analyzes experiment in
10 mins vs. 5.2 hours on APS
cluster: > 30X improvement
• Scaling up to ~ 128K cores
(driven by data features)
• Cable flaw was found and
fixed at start of experiment,
saving an entire multi-day
experiment and valuable user
time and APS beam time.
• In press: High-Energy Synchrotron X-
ray Techniques for Studying Irradiated
Materials, J-S Park et al, J. Mat. Res.
• Big data staging with MPI-IO for
interactive X-ray science, J Wozniak et
al, Big Data Conference, Dec 2014
• Design, develop, support, and trial
user engagement to make Swift
workflow solution on ALCF
systems a reliable, secure and
supported production service
• Creation and support of the Petrel
data server
• Reserved resources on Mira for
APS HEDM experiment at Sector
1-ID beamline (8/10/2014 and
future sessions in APS 2015 Run 1)
Boosting Light Source Productivity with Swift ALCF Data Analysis
H Sharma, J Almer (APS); J Wozniak, M Wilde, I Foster (MCS)
Analyze
Fix
Re-analyze
Valid
Data!
2 3
4
5
1
Conclusion: parallel workflow scripting is practical,
productive, and necessary, at a broad range of scales
 Swift programming model demonstrated feasible and
scalable on XSEDE, Blue Waters, OSG, DOE systems
 Applied to numerous MTC and HPC application domains
– attractive for data-intensive applications
– and several hybrid programming models
 Proven productivity enhancement in materials,
genomics, biochem, earth systems science, …
 Deep integration of workflow in progress at XSEDE, ALCF
Workflow through implicitly parallel dataflow is
productive for applications and systems at many scales,
including on highest-end system
What’s next?
 Programmability
– New patterns ala Van Der Aalst et al (workflowpatterns.org)
 Fine grained dataflow – programming in the smaller?
– Run leaf tasks on accelerators (CUDA GPUs, Intel Phi)
– How low/fast can we drive this model?
 PowerFlow
– Applies dataflow semantics to manage and reduce energy usage
 Extreme-scale reliability
 Embed Swift semantics in Python, R, Java, shell, make
– Can we make Swift “invisible”? Should we?
 Swift-Reduce
– Learning from map-reduce
– Integration with map-reduce
GeMTC: GPU-enabled Many-Task Computing
Goals:
1) MTC support 2) Programmability
3) Efficiency 4) MPMD on SIMD
5) Increase concurrency to warp level
Approach:
Design & implement GeMTC middleware:
1) Manages GPU 2) Spread host/device
3) Workflow system integration (Swift/T)
Motivation: Support for MTC on all accelerators!
S. J. Krieder, J. M. Wozniak, T. Armstrong, M. Wilde, D. S. Katz, B. Grimmer, I. T. Foster, I. Raicu, "Design and Evaluation of
the GeMTC Framework for GPU-enabled Many-Task Computing,” HPDC'14
Further research directions
 Deeply in-situ processing for extreme-scale analytics
 Shell-like Read-Evaluate-Print Loop ala iPython
 Debugging of extreme-scale workflows
Deeply in-situ analytics of a
climate simulation
25
U . S . D E P A R T M E N T O F
ENERGY
Swift gratefully acknowledges support from:
http://swift-lang.org
Ad

More Related Content

What's hot (20)

Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
Danish Javed
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dos
vanamali_vanu
 
Course outline of parallel and distributed computing
Course outline of parallel and distributed computingCourse outline of parallel and distributed computing
Course outline of parallel and distributed computing
National College of Business Administration & Economics ( NCBA&E)
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
Dr Sandeep Kumar Poonia
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentation
Ahmed Mamdouh
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
Hariharan Ganesan
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 
Linux opearting system ppt
Linux opearting system pptLinux opearting system ppt
Linux opearting system ppt
OECLIB Odisha Electronics Control Library
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
Prakhar Maurya
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
Ashok Kumar
 
Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management
Ahmed El-Arabawy
 
System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro calls
SARASWATHI S
 
Networking in linux
Networking in linuxNetworking in linux
Networking in linux
Varnnit Jain
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
Computer Measures of Performance
Computer Measures of PerformanceComputer Measures of Performance
Computer Measures of Performance
Forrester High School
 
Parallel Algorithms
Parallel AlgorithmsParallel Algorithms
Parallel Algorithms
Dr Sandeep Kumar Poonia
 
Apache web server
Apache web serverApache web server
Apache web server
zrstoppe
 
operating system structure
operating system structureoperating system structure
operating system structure
Waseem Ud Din Farooqui
 
Cpu scheduling in operating System.
Cpu scheduling in operating System.Cpu scheduling in operating System.
Cpu scheduling in operating System.
Ravi Kumar Patel
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
Danish Javed
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dos
vanamali_vanu
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentation
Ahmed Mamdouh
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
Hariharan Ganesan
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
Prakhar Maurya
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
Ashok Kumar
 
Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management
Ahmed El-Arabawy
 
System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro calls
SARASWATHI S
 
Networking in linux
Networking in linuxNetworking in linux
Networking in linux
Varnnit Jain
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
Apache web server
Apache web serverApache web server
Apache web server
zrstoppe
 
Cpu scheduling in operating System.
Cpu scheduling in operating System.Cpu scheduling in operating System.
Cpu scheduling in operating System.
Ravi Kumar Patel
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
 

Similar to Swift Parallel Scripting for High-Performance Workflow (20)

David Kelly SWIFT
David Kelly SWIFTDavid Kelly SWIFT
David Kelly SWIFT
David LeBauer
 
Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.
Nagasuri Bala Venkateswarlu
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
jsvetter
 
Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...
Rusif Eyvazli
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
Geoffrey Fox
 
2017 nov reflow sbtb
2017 nov reflow sbtb2017 nov reflow sbtb
2017 nov reflow sbtb
mariuseriksen4
 
Scientific
Scientific Scientific
Scientific
marpierc
 
Many Task Applications for Grids and Supercomputers
Many Task Applications for Grids and SupercomputersMany Task Applications for Grids and Supercomputers
Many Task Applications for Grids and Supercomputers
Ian Foster
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
Jim Dowling
 
Big data at experimental facilities
Big data at experimental facilitiesBig data at experimental facilities
Big data at experimental facilities
Ian Foster
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
RAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme ScalesRAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme Scales
Ian Foster
 
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei ZahariaDeep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
GoDataDriven
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Herman Wu
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introduction
Hektor Jacynycz García
 
Boulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Boulder/Denver BigData: Cluster Computing with Apache Mesos and CascadingBoulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Boulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Paco Nathan
 
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop ClustersHDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
Xiao Qin
 
OpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroomOpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroom
Facultad de Informática UCM
 
Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...
Anubhav Jain
 
Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.
Nagasuri Bala Venkateswarlu
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
jsvetter
 
Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...
Rusif Eyvazli
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
Geoffrey Fox
 
Scientific
Scientific Scientific
Scientific
marpierc
 
Many Task Applications for Grids and Supercomputers
Many Task Applications for Grids and SupercomputersMany Task Applications for Grids and Supercomputers
Many Task Applications for Grids and Supercomputers
Ian Foster
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
Jim Dowling
 
Big data at experimental facilities
Big data at experimental facilitiesBig data at experimental facilities
Big data at experimental facilities
Ian Foster
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
RAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme ScalesRAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme Scales
Ian Foster
 
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei ZahariaDeep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
GoDataDriven
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Herman Wu
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introduction
Hektor Jacynycz García
 
Boulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Boulder/Denver BigData: Cluster Computing with Apache Mesos and CascadingBoulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Boulder/Denver BigData: Cluster Computing with Apache Mesos and Cascading
Paco Nathan
 
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop ClustersHDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
HDFS-HC: A Data Placement Module for Heterogeneous Hadoop Clusters
Xiao Qin
 
OpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroomOpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroom
Facultad de Informática UCM
 
Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...
Anubhav Jain
 
Ad

More from Daniel S. Katz (20)

Research software susainability
Research software susainabilityResearch software susainability
Research software susainability
Daniel S. Katz
 
Software Professionals (RSEs) at NCSA
Software Professionals (RSEs) at NCSASoftware Professionals (RSEs) at NCSA
Software Professionals (RSEs) at NCSA
Daniel S. Katz
 
Parsl: Pervasive Parallel Programming in Python
Parsl: Pervasive Parallel Programming in PythonParsl: Pervasive Parallel Programming in Python
Parsl: Pervasive Parallel Programming in Python
Daniel S. Katz
 
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Daniel S. Katz
 
What is eScience, and where does it go from here?
What is eScience, and where does it go from here?What is eScience, and where does it go from here?
What is eScience, and where does it go from here?
Daniel S. Katz
 
Citation and Research Objects: Toward Active Research Objects
Citation and Research Objects: Toward Active Research ObjectsCitation and Research Objects: Toward Active Research Objects
Citation and Research Objects: Toward Active Research Objects
Daniel S. Katz
 
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
Daniel S. Katz
 
Fundamentals of software sustainability
Fundamentals of software sustainabilityFundamentals of software sustainability
Fundamentals of software sustainability
Daniel S. Katz
 
Software Citation in Theory and Practice
Software Citation in Theory and PracticeSoftware Citation in Theory and Practice
Software Citation in Theory and Practice
Daniel S. Katz
 
URSSI
URSSIURSSI
URSSI
Daniel S. Katz
 
Research Software Sustainability: WSSSPE & URSSI
Research Software Sustainability: WSSSPE & URSSIResearch Software Sustainability: WSSSPE & URSSI
Research Software Sustainability: WSSSPE & URSSI
Daniel S. Katz
 
Software citation
Software citationSoftware citation
Software citation
Daniel S. Katz
 
Expressing and sharing workflows
Expressing and sharing workflowsExpressing and sharing workflows
Expressing and sharing workflows
Daniel S. Katz
 
Citation and reproducibility in software
Citation and reproducibility in softwareCitation and reproducibility in software
Citation and reproducibility in software
Daniel S. Katz
 
Software Citation: Principles, Implementation, and Impact
Software Citation:  Principles, Implementation, and ImpactSoftware Citation:  Principles, Implementation, and Impact
Software Citation: Principles, Implementation, and Impact
Daniel S. Katz
 
Summary of WSSSPE and its working groups
Summary of WSSSPE and its working groupsSummary of WSSSPE and its working groups
Summary of WSSSPE and its working groups
Daniel S. Katz
 
Working towards Sustainable Software for Science: Practice and Experience (WS...
Working towards Sustainable Software for Science: Practice and Experience (WS...Working towards Sustainable Software for Science: Practice and Experience (WS...
Working towards Sustainable Software for Science: Practice and Experience (WS...
Daniel S. Katz
 
20160607 citation4software panel
20160607 citation4software panel20160607 citation4software panel
20160607 citation4software panel
Daniel S. Katz
 
20160607 citation4software opening
20160607 citation4software opening20160607 citation4software opening
20160607 citation4software opening
Daniel S. Katz
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
Daniel S. Katz
 
Research software susainability
Research software susainabilityResearch software susainability
Research software susainability
Daniel S. Katz
 
Software Professionals (RSEs) at NCSA
Software Professionals (RSEs) at NCSASoftware Professionals (RSEs) at NCSA
Software Professionals (RSEs) at NCSA
Daniel S. Katz
 
Parsl: Pervasive Parallel Programming in Python
Parsl: Pervasive Parallel Programming in PythonParsl: Pervasive Parallel Programming in Python
Parsl: Pervasive Parallel Programming in Python
Daniel S. Katz
 
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Daniel S. Katz
 
What is eScience, and where does it go from here?
What is eScience, and where does it go from here?What is eScience, and where does it go from here?
What is eScience, and where does it go from here?
Daniel S. Katz
 
Citation and Research Objects: Toward Active Research Objects
Citation and Research Objects: Toward Active Research ObjectsCitation and Research Objects: Toward Active Research Objects
Citation and Research Objects: Toward Active Research Objects
Daniel S. Katz
 
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
FAIR is not Fair Enough, Particularly for Software Citation, Availability, or...
Daniel S. Katz
 
Fundamentals of software sustainability
Fundamentals of software sustainabilityFundamentals of software sustainability
Fundamentals of software sustainability
Daniel S. Katz
 
Software Citation in Theory and Practice
Software Citation in Theory and PracticeSoftware Citation in Theory and Practice
Software Citation in Theory and Practice
Daniel S. Katz
 
Research Software Sustainability: WSSSPE & URSSI
Research Software Sustainability: WSSSPE & URSSIResearch Software Sustainability: WSSSPE & URSSI
Research Software Sustainability: WSSSPE & URSSI
Daniel S. Katz
 
Expressing and sharing workflows
Expressing and sharing workflowsExpressing and sharing workflows
Expressing and sharing workflows
Daniel S. Katz
 
Citation and reproducibility in software
Citation and reproducibility in softwareCitation and reproducibility in software
Citation and reproducibility in software
Daniel S. Katz
 
Software Citation: Principles, Implementation, and Impact
Software Citation:  Principles, Implementation, and ImpactSoftware Citation:  Principles, Implementation, and Impact
Software Citation: Principles, Implementation, and Impact
Daniel S. Katz
 
Summary of WSSSPE and its working groups
Summary of WSSSPE and its working groupsSummary of WSSSPE and its working groups
Summary of WSSSPE and its working groups
Daniel S. Katz
 
Working towards Sustainable Software for Science: Practice and Experience (WS...
Working towards Sustainable Software for Science: Practice and Experience (WS...Working towards Sustainable Software for Science: Practice and Experience (WS...
Working towards Sustainable Software for Science: Practice and Experience (WS...
Daniel S. Katz
 
20160607 citation4software panel
20160607 citation4software panel20160607 citation4software panel
20160607 citation4software panel
Daniel S. Katz
 
20160607 citation4software opening
20160607 citation4software opening20160607 citation4software opening
20160607 citation4software opening
Daniel S. Katz
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
Daniel S. Katz
 
Ad

Recently uploaded (20)

Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 

Swift Parallel Scripting for High-Performance Workflow

  • 1. Swift Parallel Scripting for High-Performance Workflow April 16, 2015 Michael Wilde [email protected] Daniel S. Katz [email protected] http://swift-lang.org
  • 2. Domain of Interest “Time” “Complexity” Increasing capabilities in computational science
  • 3. Workflow needs  Application Drivers – Applications that are many-task in nature: parameters sweeps, UQ, inverse modeling, and data-driven applications – Analysis of capability application outputs – Analysis of stored or collected data – Increase productivity at major experiment facilities (light source, etc.) – Urgent computing – These applications are all many-task in nature  Requirements – Usability and ease of workflow expression – Ability to leverage complex architecture of HPC and HTC systems (fabric, scheduler, hybrid node and programming models), individually and collectively – Ability to integrate high-performance data services and volumes – Make use of the system task rate capabilities from clusters to extreme-scale systems  Approach – A programming model for programming in the large 3
  • 4. When do you need HPC workflow? Example application: protein-ligand docking for drug screening (B) O(100K) drug candidates …then hundreds of detailed MD models to find 10-20 fruitful candidates for wetlab & APS crystallography O(10) proteins implicated in a disease = 1M docking tasks… X …
  • 5. 5 For protein docking workflow: foreach p, i in proteins { foreach c, j in ligands { (structure[i,j], log[i,j]) = dock(p, c, minRad, maxRad); } scatter_plot = analyze(structure) To run: swift –site tukey,blues dock.swift Expressing this many task workflow in Swift
  • 6. The Swift runtime system has drivers and algorithms to efficiently support and aggregate diverse runtime environments Swift enables execution of simulation campaigns across multiple HPC and cloud resources 6 Local datamarkApps Swift host: login node, laptop, … Scripts Data servers Data servers Data servers Campus systems Cloud resources Petascale systems National infrastructure
  • 7. Swift in a nutshell  Data types string s = “hello world”; int i = 4; int A[];  Mapped data types type image; image file1<“snapshot.jpg”>;  Mapped functions app (file o) myapp(file f, int i) { mysim "-s" i @f @o; }  Conventional expressions if (x == 3) { y = x+2; s = @strcat(“y: ”, y); }  Structured data image A[]<array_mapper…>;  Loops foreach f,i in A { B[i] = convert(A[i]); }  Data flow analyze(B[0], B[1]); analyze(B[2], B[3]); Swift: A language for distributed parallel scripting, J. Parallel Computing, 2011
  • 8. Pervasively parallel  Swift is a parallel scripting system for grids, clouds and clusters  F() and G() are computed in parallel – Can be Swift functions, or leaf tasks (executables or scripts in shell, python, R, Octave, MATLAB, ...)  r computed when they are done  This parallelism is automatic  Works recursively throughout the program’s call graph (int r) myproc (int i) { int f = F(i); int g = G(i); r = f + g; }
  • 10. Data-intensive example: Processing MODIS land-use data analyze colorize x 317 landUse x 317 mark Swift loops process hundreds of images in parallel assemble Image processing pipeline for land-use data from the MODIS satellite instrument…
  • 11. Processing MODIS land-use data foreach raw,i in rawFiles { land[i] = landUse(raw,1); colorFiles[i] = colorize(raw); } (topTiles, topFiles, topColors) = analyze(land, landType, nSelect); gridMap = mark(topTiles); montage = assemble(topFiles,colorFiles,webDir);
  • 12. Example of Swift’s implicit parallelism: Processing MODIS land-use data analyze colorize x 317 landUse x 317 mark Swift loops process hundreds of images in parallel assemble Image processing pipeline for land-use data from the MODIS satellite instrument…
  • 13. Swift provides 4 important benefits: 13 Makes parallelism more transparent Implicitly parallel functional dataflow programming Makes computing location more transparent Runs your script on multiple distributed sites and diverse computing resources (desktop to petascale) Makes basic failure recovery transparent Retries/relocates failing tasks Can restart failing runs from point of failure Enables provenance capture Tasks have recordable inputs and outputs
  • 14. Swift/T: productive extreme-scale scripting  Script-like programming with “leaf” tasks – In-memory function calls in C++, Fortran, Python, R, … passing in-memory objects – More expressive than master-worker for “programming in the large” – Leaf tasks can be MPI programs, etc. Can be separate processes if OS permits.  Distributed, scalable runtime manages tasks, load balancing, data movement  User function calls to external code run on thousands of worker nodes Swift control process Swift control process Parallel evaluator and data store Swift worker process C C++ Fortran Swift worker process C C++ Fortran Swift worker process C C++ Fortran MPI Scripts
  • 15. Parallel tasks in Swift/T  Swift expression: z = @par=32 f(x,y);  ADLB server finds 8 available workers – Workers receive ranks from ADLB server – Performs comm = MPI_Comm_create_group()  Workers perform f(x,y)communicating on comm
  • 16. LAMMPS parallel tasks  LAMMPS provides a convenient C++ API  Easily used by Swift/T parallel tasks foreach i in [0:20] { t = 300+i; sed_command = sprintf("s/_TEMPERATURE_/%i/g", t); lammps_file_name = sprintf("input-%i.inp", t); lammps_args = "-i " + lammps_file_name; file lammps_input<lammps_file_name> = sed(filter, sed_command) => @par=8 lammps(lammps_args); } Tasks with varying sizes packed into big MPI run Black: Compute Blue: Message White: Idle
  • 17. Swift/T-specific features  Task locality: Ability to send a task to a process – Allows for big data –type applications – Allows for stateful objects to remain resident in the workflow – location L = find_data(D); int y = @location=L f(D, x);  Data broadcast  Task priorities: Ability to set task priority – Useful for tweaking load balancing  Updateable variables – Allow data to be modified after its initial write – Consumer tasks may receive original or updated values when they emerge from the work queue 17 Wozniak et al. Language features for scalable distributed-memory dataflow computing. Proc. Dataflow Execution Models at PACT, 2014.
  • 18. Swift/T: scaling of trivial foreach { } loop 100 microsecond to 10 millisecond tasks on up to 512K integer cores of Blue Waters 18
  • 19. Large-scale applications using Swift  Simulation of super- cooled glass materials  Protein and biomolecule structure and interaction  Climate model analysis and decision making for global food production & supply  Materials science at the Advanced Photon Source  Multiscale subsurface flow modeling  Modeling of power grid for OE applications All have published science results obtained using Swift E C A B A B C D E F F D
  • 20. Assess Red indicates higher statistical confidence in data Impact and Approach Accomplishments ALCF Contributions • HEDM imaging and analysis shows granular material structure, of non-destructively • APS Sector 1 scientists use Mira to process data from live HEDM experiments, providing real-time feedback to correct or improve in-progress experiments • Scientists working with Discovery Engines LDRD developed new Swift analysis workflows to process APS data from Sectors 1, 6, and 11 • Mira analyzes experiment in 10 mins vs. 5.2 hours on APS cluster: > 30X improvement • Scaling up to ~ 128K cores (driven by data features) • Cable flaw was found and fixed at start of experiment, saving an entire multi-day experiment and valuable user time and APS beam time. • In press: High-Energy Synchrotron X- ray Techniques for Studying Irradiated Materials, J-S Park et al, J. Mat. Res. • Big data staging with MPI-IO for interactive X-ray science, J Wozniak et al, Big Data Conference, Dec 2014 • Design, develop, support, and trial user engagement to make Swift workflow solution on ALCF systems a reliable, secure and supported production service • Creation and support of the Petrel data server • Reserved resources on Mira for APS HEDM experiment at Sector 1-ID beamline (8/10/2014 and future sessions in APS 2015 Run 1) Boosting Light Source Productivity with Swift ALCF Data Analysis H Sharma, J Almer (APS); J Wozniak, M Wilde, I Foster (MCS) Analyze Fix Re-analyze Valid Data! 2 3 4 5 1
  • 21. Conclusion: parallel workflow scripting is practical, productive, and necessary, at a broad range of scales  Swift programming model demonstrated feasible and scalable on XSEDE, Blue Waters, OSG, DOE systems  Applied to numerous MTC and HPC application domains – attractive for data-intensive applications – and several hybrid programming models  Proven productivity enhancement in materials, genomics, biochem, earth systems science, …  Deep integration of workflow in progress at XSEDE, ALCF Workflow through implicitly parallel dataflow is productive for applications and systems at many scales, including on highest-end system
  • 22. What’s next?  Programmability – New patterns ala Van Der Aalst et al (workflowpatterns.org)  Fine grained dataflow – programming in the smaller? – Run leaf tasks on accelerators (CUDA GPUs, Intel Phi) – How low/fast can we drive this model?  PowerFlow – Applies dataflow semantics to manage and reduce energy usage  Extreme-scale reliability  Embed Swift semantics in Python, R, Java, shell, make – Can we make Swift “invisible”? Should we?  Swift-Reduce – Learning from map-reduce – Integration with map-reduce
  • 23. GeMTC: GPU-enabled Many-Task Computing Goals: 1) MTC support 2) Programmability 3) Efficiency 4) MPMD on SIMD 5) Increase concurrency to warp level Approach: Design & implement GeMTC middleware: 1) Manages GPU 2) Spread host/device 3) Workflow system integration (Swift/T) Motivation: Support for MTC on all accelerators! S. J. Krieder, J. M. Wozniak, T. Armstrong, M. Wilde, D. S. Katz, B. Grimmer, I. T. Foster, I. Raicu, "Design and Evaluation of the GeMTC Framework for GPU-enabled Many-Task Computing,” HPDC'14
  • 24. Further research directions  Deeply in-situ processing for extreme-scale analytics  Shell-like Read-Evaluate-Print Loop ala iPython  Debugging of extreme-scale workflows Deeply in-situ analytics of a climate simulation
  • 25. 25 U . S . D E P A R T M E N T O F ENERGY Swift gratefully acknowledges support from: http://swift-lang.org