Shantenu Jha represented by Geoffrey Fox gcfindianaedu httpwwwinfomallorg httpwwwfuturegridorg httpsalsahpcindianaedu Director Digital Science Center Pervasive Technology Institute ID: 552663
Download Presentation The PPT/PDF document "Introduction to Programming Paradigms Ac..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Introduction to Programming Paradigms Activity at Data Intensive Workshop Shantenu Jha represented by
Geoffrey Fox
gcf@indiana.edu
http://www.infomall.org
http://www.futuregrid.org
http://salsahpc.indiana.edu/
Director, Digital Science Center, Pervasive Technology Institute
Associate Dean for Research and Graduate Studies, School of Informatics and Computing
Indiana University BloomingtonSlide2
Programming Paradigms for Data-Intensive Science: DIR Cross-Cutting Theme
No special/specific set speaker for this cross-cutting theme
Other than Introduction (this) and Wrap-Up (Fri)
No formal theoretical framework
Challenge is to understand through presentations/discussions:
High-level Questions (next slides)
In general: How data-intensive analysis, simulations are programmatically addressed (i.e. how implemented)?
Specifically: Understand which approaches were employed and why?
Which programming approaches work? Which don’t, e.g., X could have been used but wasn’t as it was out of fashion
Programming Paradigms includes languages and perhaps more importantly run-time as only with a great run-time can you support a great languageSlide3
Programming Paradigms for Data-Intensive Science: High-level Questions
Several
recent advances
towards programmatically
addressing
data-intensive applications requirements, e
.g.,
Dataflow, Workflow, Mash-up, Dryad, MapReduce,
Sawzall
, Pig (higher level MapReduce), etc
Survey of Existing and Emerging Programming Paradigms.
Advantages & Applicability of different programming approaches?
e.g. workflow tackles functional parallelism; MapReduce/MPI data parallelism?
A mapping between application requirements and existing programming approaches:
What is missing? How can these be met?
Which programming approaches are widely used? Which aren’t?
Is it clear what difficulties are we are trying to solve?
Ease of programming, performance (real-time latency, CPU use), fault tolerance, ease of implementation on dynamic distributed resources.
Do we need classic parallel computing or just pleasing parallel/MapReduce (cf. parallel R in Research Village)?
Many approaches are tied to a specific data model (e.g.,
Hadoop
with HDFS).
Is this lack of interoperability and extensibility a limitation and can it be overcome?
Or does it reflect how applications are developed i.e. that previous programming models tied compute to memory, not to file/database (? MPI-IO)Slide4Slide5
Dryad versus MPI for Smith Waterman
Flat is perfect scalingSlide6
MapReduce “File/Data Repository” Parallelism
Instruments
Disks
Map
1
Map
2
Map
3
Reduce
Communication
Map
= (data parallel) computation reading and writing data
Reduce
= Collective/Consolidation phase e.g. forming multiple global sums as in histogram
Portals
/Users
Iterative MapReduce
Map
Map
Map
Map
Reduce
Reduce
ReduceSlide7
DNA Sequencing Pipeline
Visualization
Plotviz
Blocking
Sequence
alignment
MDS
Dissimilarity
Matrix
N(N-1)/
2 values
FASTA File
N Sequences
Form block
Pairings
Pairwise
clustering
Illumina
/
Solexa
Roche/454 Life Sciences Applied
Biosystems
/
SOLiD
Internet
Read Alignment
~300 million base pairs per day leading to
~3000 sequences per day per instrument
? 500 instruments at ~0.5M
$ each
MapReduce
MPISlide8
Cheminformatics/Biology MDS and Clustering Results
Metagenomics
This visualizes results
fromdimension
reduction to 3D of 30000 gene sequences from an environmental sample. The many different genes are classified by clustering algorithm and visualized by MDS dimension reduction
Generative Topographic Mapping
GTM for 930k genes and diseases
Map 166 dimensional
PubChem
data to 3D to allow browsing. Genes (green color) and diseases (others) are plotted in 3D space, aiming at finding cause-and-effect relationships.
Currently parallel R. For 60M
PubChem
full data set will implement in C++Slide9
Application Classes(Parallel software/hardware in terms of 5 “Application architecture” Structures
)
1
Synchronous
Lockstep Operation as in SIMD architectures
2
Loosely Synchronous
Iterative Compute-Communication stages with independent compute (map) operations for each CPU.
Heart of most MPI jobs
3
Asynchronous
Compute Chess; Combinatorial Search often supported by dynamic threads
4
Pleasingly Parallel
Each component independent – in 1988,
Fox estimated at 20% of total number of applications
Grids
5
Metaproblems
Coarse grain (asynchronous) combinations of classes 1)-4).
The preserve of workflow
.
Grids
6
MapReduce
++
It describes file(database) to file(database) operations which has three subcategories.
Pleasingly Parallel Map Only
Map followed by reductions
Iterative “Map followed by reductions” – Extension of Current Technologies that supports much linear algebra and
dataminingCloudsSlide10
Applications & Different Interconnection Patterns
Map Only
Classic
MapReduce
Iterative
Reductions
Twister
Loosely Synchronous
CAP3
Analysis
Document conversion
(
PDF -> HTML)
Brute force searches in cryptography
Parametric sweeps
High Energy
Physics (
HEP
)
Histograms
SWG gene alignmentDistributed search
Distributed sorting
Information retrievalExpectation maximization algorithms
ClusteringLinear AlgebraMany MPI scientific applications utilizing wide variety of communication constructs including local interactions
- CAP3 Gene Assembly
- PolarGrid Matlab data analysis
- Information Retrieval - HEP Data Analysis
- Calculation of Pairwise Distances for ALU Sequences Kmeans
Deterministic Annealing
Clustering- Multidimensional Scaling
MDS
- Solving Differential Equations and
- particle dynamics with short range forces
Input
Output
map
Input
map
reduce
Input
map
reduce
iterations
Pij
Domain of MapReduce and Iterative Extensions
MPI
cf.
Szalay
comment on need for multi-resolution algorithms with dynamic stopping
http://www.iterative
mapreduce.org/Slide11
Tuesday: Roger Barga (Microsoft Research) on Emerging Trends and Converging Technologies in Data Intensive Scalable Computing
[Will partially cover Dryad] Cancelled
Thursday: Joel
Saltz
(Medical image process &
CaBIG
)
[workflow approaches]
Monday: Xavier
Llora
(Experience with
Meandre
)
Wednesday Afternoon Break Out: The aim of this session will be to take a mid-workshop stock of how the exchanges, discussions and proceedings so far, have influenced our perception of Programming Paradigms for data-intensive research. Many of the issues laid out in this opening talk (on Programming Paradigms) will be revisited. Friday Morning: The future of languages for DIR (Shantenu Jha)
Hopefully elements and insights into answers to High-level Questions (slide 3) addressed in many talks includingAlex Szalay (JHU) Strategies for exploiting large data;Thore
Graepel (Microsoft Research) on Analyzing large-scale complex data streams from online services; Chris Williams (University of Edinburgh) on The complexity dimension in data analysis; and Andrew McCallum (University of Massachusetts Amherst) on "Discovering patterns in text and relational data with Bayesian latent-variable models.
Programming Paradigms for Data-Intensive Science: DIR Cross-Cutting Theme