<<

Message Passing Interface for ROOT

Omar Zapata Gerardo Gutiérrez http://oproject.org/ROOTMpi Outline

Message Passing Interface ROOTMpi

MPI Current status and future

Implementation with ROOT Conclusions

2 Message Passing Interface

Standard of communication for HPC/Grid Widely used in the scientific community. Implementations

OpenMPI, MPICH, IBM, etc.. Support for:

RMA (Remote Memory Access)

Checkpointing

P2P and collective communication  under development http://mpi-forum.org/mpi-40

3 ROOTMpi

Integration of MPI and ROOT technologies in a framework for . Motivation:

Communicate ROOT objects

through processes.

Implement MPI with a better design for ROOT.

Create an interface that uses the new ++ features to write parallel code.

Implement ROOT in parallel for HPC/Grid systems.

4 ROOTMpi

Prototype is going under development with the next features already implemented

Peer to Peer communication

Some collective operation implemented

Gather/AllGtaher

Scatter/AllScatter

Redude/AllReduce

Bcast

Communicators

IntraCommunicator

InterCommunicator

Blocking and non-blocking communication.

Tested with OpenMPI and MPICH

5 ROOTMpi Design

6 ROOTMpi Design

7 ROOTMpi Design Comparison with C

Pointer Size Predefined Message MPI Tag id to void of the array MPI datatype destination Communicator

8 ROOTMpi Design Comparison with C

Send in ROOTMpi

Global Template Any serializable Message Communicator Method object destination Tag id

9 ROOTMpi Design

10 Example Peer to Peer

11 Example Peer to Peer output

12 Current Status

Feature Description Status TCommunicator Base class for all DONE communcators, to perform p2p and collective TIntraComminicator Class to do Almost DONE communication in the same context TInterCommunicator Class to perform DONE communication between different contexts. TCartCommunicator Cartesian TODO Communicator TGraphComminicator Graph communicator TODO

13 Current Status

Feature Description Status Request Classes Classes to handle non- DONE blocking communication TEnvironment Class initialize/finalize DONE communication system TInterCommunicator Class to perform DONE communication between different contexts. Checkpointing Feature to save the TODO need design state of the execution and restore it. Fault Tolerance Feature to continue TODO MPI-4 comming execution in case of soon. fault.

14 Current Status

FeatureCl Description Status Serialization for Made with the classes DONE communication TmpiMessage and TMpiMessageInfo Error Handling MPI error are very hard TODO need design to understant also for MPI experts, improbe the error handling. MPI Files Class manage TODO need design distribute file

Memory Window Class to shared regions TODO need design of memory with Remote Access Memory

15 Conclusions

MPI standard have all need HPC/

Shared/

Checkpointing

Fault tolerance under development ROOTMpi is

A modern interface for MPI that uses powerful C++ design

A great communication system through serialization.

An easy way to parallelize codes in ROOT for HPC/Grid computing.

16 More Information

Website http://oproject.org

17 To finish

Thanks !

18