HPC‐ABDS: The Case for an Integrating Apache Big Data Stack with HPC 1st JTC 1 SGBD Meeting SDSC San Diego March 19 2014 Judy Qiu Shantenu Jha (Rutgers) Geoffrey Fox [email protected]http://www.infomall.org School of Informatics and Computing Digital Science Center Indiana University Bloomington
22
Embed
HPC-ABDS: The Case for an Integrating Apache Big Data Stack with HPC
This proposes an integration of HPC and Apache Technologies. HPC-ABDS+ Integration areas include File systems, Cluster resource management, File and object data management, Inter process and thread communication, Analytics libraries, Workflow Monitoring
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
HPC‐ABDS: The Case for an Integrating Apache Big Data Stack
http://www.infomall.orgSchool of Informatics and Computing
Digital Science CenterIndiana University Bloomington
EnhancedApache Big Data Stack
ABDS• ~120 Capabilities• >40 Apache• Green layers have
strong HPC Integration opportunities
• Goal• Functionality of ABDS• Performance of HPC
Broad Layers in HPC‐ABDS• Workflow‐Orchestration• Application and Analytics• High level Programming• Basic Programming model and runtime
– SPMD, Streaming, MapReduce, MPI• Inter process communication
– Collectives, point to point, publish‐subscribe• In memory databases/caches• Object‐relational mapping• SQL and NoSQL, File management• Data Transport• Cluster Resource Management (Yarn, Slurm, SGE)• File systems(HDFS, Lustre …)• DevOps (Puppet, Chef …)• IaaS Management from HPC to hypervisors (OpenStack)• Cross Cutting
Getting High Performance on Data Analytics (e.g. Mahout, R …)
• On the systems side, we have two principles– The Apache Big Data Stack with ~120 projects has important broad
functionality with a vital large support organization– HPC including MPI has striking success in delivering high performance
with however a fragile sustainability model• There are key systems abstractions which are levels in HPC‐ABDS software
stack where Apache approach needs careful integration with HPC– Resource management– Storage– Programming model ‐‐ horizontal scaling parallelism– Collective and Point to Point communication– Support of iteration– Data interface (not just key‐value)
• In application areas, we define application abstractions to support– Graphs/network– Geospatial– Images etc.
4 Forms of MapReduce
7
(a) Map Only(d) Loosely
Synchronous(c) Iterative MapReduce
(b) Classic MapReduce
Input
map
reduce
Input
map
reduce
IterationsInput
Output
mapPij
BLAST Analysis
Parametric sweep
Pleasingly Parallel
High Energy Physics
(HEP) Histograms
Distributed search
Classic MPI
PDE Solvers and
particle dynamics
Domain of MapReduce and Iterative Extensions
Science Clouds
MPI
Giraph
Expectation maximization
Clustering e.g. Kmeans
Linear Algebra, Page Rank
(a) Map Only(d) Loosely
Synchronous(c) Iterative MapReduce
(b) Classic MapReduce
InputInput
mapmap
reducereduce
InputInput
mapmap
reducereduce
IterationsIterationsInputInput
OutputOutput
mapmapPij
BLAST Analysis
Parametric sweep
Pleasingly Parallel
High Energy Physics
(HEP) Histograms
Distributed search
Classic MPI
PDE Solvers and
particle dynamics
Domain of MapReduce and Iterative Extensions
Science Clouds
MPI
Giraph
Expectation maximization
Clustering e.g. Kmeans
Linear Algebra, Page Rank
MPI is Map followed by Point to Point or Collective Communication – as in style c) plus d)
HPC‐ABDSHourglass
HPC ABDSSystem (Middleware)
High performanceApplications
• HPC Yarn for Resource management• Horizontally scalable parallel programming model• Collective and Point to Point communication• Support of iteration
System Abstractions/standards• Data format• Storage
Hadoop 24 cores Harp 24 cores Hadoop 48 cores Harp 48 cores Hadoop 96 cores Harp 96 cores
Note compute same in each case as product of centers times points identical
Increasing
CommunicationIdentical Computation
Mahout and Hadoop MR – Slow due to MapReducePython slow as Scripting
Spark Iterative MapReduce, non optimal communicationHarp Hadoop plug in with ~MPI collectives
MPI fastest as C not JavaIncreasing
Communication
Identical Computation
Performance of MPI Kernel Operations
1
100
100000B 2B 8B 32B
128B
512B 2KB
8KB
32KB
128K
B
512K
BAverage tim
e (us)
Message size (bytes)
MPI.NET C# in TempestFastMPJ Java in FGOMPI‐nightly Java FGOMPI‐trunk Java FGOMPI‐trunk C FG
Performance of MPI send and receive operations
5
5000
4B 16B
64B
256B 1KB
4KB
16KB
64KB
256K
B
1MB
4MBAv
erage tim
e (us)
Message size (bytes)
MPI.NET C# in TempestFastMPJ Java in FGOMPI‐nightly Java FGOMPI‐trunk Java FGOMPI‐trunk C FG
Performance of MPI allreduce operation
1
100
10000
1000000
4B 16B
64B
256B 1KB
4KB
16KB
64KB
256K
B
1MB
4MBAv
erage Time (us)
Message Size (bytes)
OMPI‐trunk C MadridOMPI‐trunk Java MadridOMPI‐trunk C FGOMPI‐trunk Java FG
1
10
100
1000
10000
0B 2B 8B 32B
128B
512B 2KB
8KB
32KB
128K
B
512K
BAverage Time (us)
Message Size (bytes)
OMPI‐trunk C MadridOMPI‐trunk Java MadridOMPI‐trunk C FGOMPI‐trunk Java FG
Performance of MPI send and receive on Infiniband and Ethernet
Performance of MPI allreduce on Infinibandand Ethernet
Pure Java as in FastMPJslower than Java interfacing to C version of MPI
Use case 28: Truthy: Information diffusion research from Twitter Data
• Building blocks:– Yarn– Parallel query evaluation using Hadoop MapReduce– Related hashtag mining algorithm using Hadoop MapReduce: – Meme daily frequency generation using MapReduce over index tables– Parallel force‐directed graph layout algorithm using Twister (Harp) iterative MapReduce
Use case 28: Truthy: Information diffusion research from Twitter Data
Two months’ data loading for varied cluster size
Scalability of iterative graph layout algorithm on Twister
Hadoop‐FS not indexed
0
200
400
600
800
1000
1200
1400
1600
1800
2000
24 48 96
Total executio
n tim
e (s)
number of mappers
Different Kmeans ImplementationTotal execution time vs. mapper number
Spherical Phylogram from new MDS method visualized in PlotViz
Lessons / Insights• Integrate (don’t compete) HPC with “Commodity Big data” (Google to Amazon to Enterprise data Analytics) – i.e. improve Mahout; don’t compete with it– Use Hadoop plug‐ins rather than replacing Hadoop– Enhanced Apache Big Data Stack HPC‐ABDS has 120 members – please improve!
• HPC‐ABDS+ Integration areas include – file systems, – cluster resource management, – file and object data management, – inter process and thread communication, – analytics libraries, – Workflow– monitoring