MPI - Sophia Antipolis

Download Report

Transcript MPI - Sophia Antipolis

Programming Models for Future Systems
vs. MPI
Denis Caromel
OASIS Team
INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis -- IUF
IPDPS 2003
Nice Sophia Antipolis, April 23 2003
Overview:
1. What is the question ?
2. What is the context ?
3. Is current MPI the answer ?
Denis Caromel
1
All said in the Titles ?
When asked to participate:
Programming Models for Future Systems
so it was clear at the beginning that it will have nothing to do with MPI!
But then, on the IPDPS web page it turned to be:
MPI Programming
so I guess the question is:
Is MPI the Programming Model
for Future Systems ?
Denis Caromel
2
What is the context ?
Grid computing … of course …, but can we live with just
self-contained loosely coupled (MPI) applications
running on a set of parallel machines, or clusters ?
I believe the real challenge for GRID is:
Global resource management, with Global dynamic allocation,
with communicating tasks distributed over the world !
(Right now, we are solving the simplest problems: infrastructure, admin, … !)
===> Adaptive Middleware
So, is MPI well equipped for that ?
Denis Caromel
3
MPI Communication primitives
For some (historical) reasons, MPI has many com. Primitives:
MPI_Send
MPI_Ssend
MPI_Bsend
MPI_Rsend
MPI_Isend
MPI_Ibsend, …
Std
Synchronous
Buffer
Ready
Immediate, async/future
MPI_Recv
Receive
MPI_Irecv
Immediate
… (any) source, (any) tag,
I’d rather put the burden on the implementation, not the Programmers !
How to do adaptive implementation in that context ?
Not talking about:
• the combinatory that occurs between send and receive
• the semantic problems that occur in distributed implementations
Is Recv at all needed ? First adaptive feature: Dynamic Control Flow of Mess.
Denis Caromel
4
Fault Tolerance and Dynamicity
If future GRID is really to be 5 000 to 200 000 machines:
• machine failure is part of the figure, full time!
==> Dynamic management of processes
MPI, I believe, was designed with a very static picture in mind
Can it scale up to Dynamic setting ?
Interesting work by B. Gropp et al. on Topology-Aware Collective Op.
How dynamic ?
==> Checkpointing + Message Logging
Is MPI model adapted to WAN checkpointing ?
The richness of Com. Primitive seems to make it very hard to achieve:
coordinated, communication induced, coherent checkpoints + Log
Pessimistic Message Logging seems to be the realistic option,
due to the complexity of Optimistic strategies (richness of Com. Prim.)
Denis Caromel
5
Sum up
A simple communication model, with simple communication
primitive(s):
• no receive but data flow synchronization,
• adaptive implementation for // machines, LAN, WAN,
• heterogeneous groups,
• think dynamic and hierarchic from the beginning.
Adaptive to:
• application behavior,
• mapping and physical network,
• network conditions.
Denis Caromel
6
Adaptive GRID
The need for adaptive middleware is now acknowledged,
with dynamic strategies at various points in containers, proxies, etc.
Can we afford adaptive GRID ?
with dynamic strategies at various points
(communications, groups, checkpointing, reconfiguration, …)
for various conditions (LAN, WAN, network, P2P, ...)
HPC vs. HPC
High Performance Components vs. High Productivity Components
Denis Caromel
7
Building CCM Applications =
Assembling CORBA Component Instances
Denis Caromel
8