Advanced Issues on Grid Technologies, Aristotle Univ. of Thessaloniki, 2008/04/07
The Message Passing Interface (MPI) The Message Passing Interface (MPI) and its integration with the EGEE Grid and its integration with the EGEE Grid
Vangelis Koukis Vangelis Koukis HG
HG- -01 01- -GRNET and HG GRNET and HG- - 06- 06 -EKT admin team EKT admin team [email protected]
[email protected]
Presentation Outline Presentation Outline
Parallel Programming
Parallel architectures
Parallel programming models and MPI
Introduction to basic MPI services
MPI demonstration on a dedicated cluster
Integration of MPI jobs on the EGEE Grid
MPI job submission to HG-01-GRNET
Discussion / Q&A Session
The lifetime of a serial job on the Grid The lifetime of a serial job on the Grid
RB CE
UI
LRMS (Torque / PBS)
allocation of a single processor
Worker Node
The need for MPI apps on the Grid The need for MPI apps on the Grid
The Grid offers very large processing capacity:
How can we best exploit it?
Thousands of processing elements / cores
The easy way: The EP way
Submit a large number of independent (serial) jobs, to process distinct parts of the input workload concurrently
What about dependencies?
What if the problem to be solved is not
“Embarassingly Parallel”;
Presentation Outline Presentation Outline
Parallel Programming
Parallel architectures
Parallel programming models and MPI
Introduction to basic MPI services
MPI demonstration on a dedicated cluster
Integration of MPI jobs on the EGEE Grid
MPI job submission to HG-01-GRNET
Discussion / Q&A Session
Parallel Architectures (1) Parallel Architectures (1)
Distributed Memory Systems
(e.g., Clusters of Uniprocessor Systems)
Parallel Architectures Parallel Architectures (2) (2)
Shared Memory Architectures (e.g., Symmetric Multiprocessors)
Parallel Architectures Parallel Architectures (3) (3)
Hybrid – Multilevel Hierarchies
(e.g., Clusters of SMPs, Multicore/SMT Systems)
One model: The Message
One model: The Message- -Passing Paradigm Passing Paradigm
MPI_Recv MPI_Send
Presentation Outline Presentation Outline
Parallel Programming
Parallel architectures
Parallel programming models and MPI
Introduction to basic MPI services
MPI demonstration on a dedicated cluster
Integration of MPI jobs on the EGEE Grid
MPI job submission to HG-01-GRNET
Discussion / Q&A Session
What Is MPI?
What Is MPI?
A standard, not an implementation
An app library for message-passing
Following a layered approach
Offering standard language bindings at the highest level
Managing the interconnect at the lowest level
Offers C, C++, Fortran 77 and F90 bindings
Lots of MPI implementations Lots of MPI implementations
MPICH
http://www-unix.mcs.anl.gov/mpi/mpich
MPICH2
http://www-unix.mcs.anl.gov/mpi/mpich2
MPICH-GM
http://www.myri.com/scs
LAM/MPI
http://www.lam-mpi.org
LA-MPI
http://public.lanl.gov/lampi
Open MPI
http://www.open-mpi.org
SCI-MPICH
http://www.lfbs.rwth-aachen.de/users/joachim/SCI-MPICH
MPI/Pro
http://www.mpi-softtech.com