DOC PREVIEW
UTK CS 594 - Beyond MPI-1.X

This preview shows page 1-2-3-4-5-6 out of 19 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1G.E.Fagg UTK-CS594 Spring2003 1Beyond MPI-1.XDr Graham E FaggCS-594Spring 2003G.E.Fagg UTK-CS594 Spring2003 2What we are here for? All the stuff extra stuff in the MPI-2 Spec and a few things in the MPI-1 Spec you have not thought about yet? MPI 2 is it really out there ?? Do you trust your implementation ?? Some of this is a warm up for the MetaComputing- GRID classes coming up later..G.E.Fagg UTK-CS594 Spring2003 3Overview? MPI-1 what it missed out? And why…? MPI-2 what it included? Language issues? Process Management? Establishing Communication G.E.Fagg UTK-CS594 Spring2003 4Overview? MPI-2 what it included? Single sided Communication? Intercommunicator Collective Operations ? I/O including Parallel IO (PIO)G.E.Fagg UTK-CS594 Spring2003 5Overview? MPI-1 the other things? How profiling works? Using profiling libraries such as JUMPSHOT? Building a library yourself? How do collectives work? Using communicators for distributed computingG.E.Fagg UTK-CS594 Spring2003 6What MPI-1 Missed out? A lot of things that were hard to agree on for a standard? Anything that might not run well on a early 90s late 80s MPP? Remember who made the standard? NEC, IBM, SGI, Intel, HP…..2G.E.Fagg UTK-CS594 Spring2003 7Basics of MPI-1? All characteristics of message passing are contained within communicators? Communicators contain:? Process lists or groups? Connection/communication structures topologies? System derived message tags/envelopes to separate messages from each otherG.E.Fagg UTK-CS594 Spring2003 8MPI-1 internals Communicators? All processes in an MPI-1 application belong to a global communicator called MPI_COMM_WORLD? All other communicators are derived from this global communicator.? Communication can only occur within a communicator.? Safe communicationG.E.Fagg UTK-CS594 Spring2003 9MPI-1 InternalsProcesses? All process groups are derived from the membership of the MPI_COMM_WORLD communicator.? i.e.. no external processes.? MPI-1 process membership is static not dynamic like PVM or LAM 6.X? simplified consistency reasoning? fast communication (fixed addressing) even across complex topologies.? interfaces well to simple run-time systems as found on many MPPs.G.E.Fagg UTK-CS594 Spring2003 10MPI-1 ApplicationMPI_COMM_WORLDDerived_CommunicatorG.E.Fagg UTK-CS594 Spring2003 11Disadvantages of MPI-1? Static process model? If a process fails, all communicators it belongs to become invalid. I.e. No fault tolerance.? Dynamic resources either cause applications to fail due to loss of nodes or make applications inefficient as they cannot take advantage of new nodes by starting/spawning additional processes.? When using a dedicated MPP MPI implementation you cannot usually use off-machine or even off-partion nodes.G.E.Fagg UTK-CS594 Spring2003 12Disadvantages of MPI-1? Multi-language operation is not supported? MPI specifies both ANSI C and F77 binding? No agreed standard for data type conversions between languages even upon the same architecture? Communicators cannot be passed between different language modules due to their representation? In F77 a communicator is an INTEGER? In C it is usually a pointer to a structure? non standard methods exist in different implementations3G.E.Fagg UTK-CS594 Spring2003 13MPI-2? Problem areas and needed additional features identified in MPI-1 are being addressed by the MPI-2 forum.? These include:? inter-language operation? dynamic process control / management? parallel IO? extended collective operations? Support for inter-implementation communication/control is not being considered.? See the MetaComputing lectures for more…G.E.Fagg UTK-CS594 Spring2003 14MPI-2: Language Issues? Think back to MPI-1? What is a communicator in ‘C’ ? What is a communicator in ‘Fortran’? Does it depend on the implementation ?? How could I write a program in both ‘C’ and ‘Fortran’ and have them pass communicators?G.E.Fagg UTK-CS594 Spring2003 15MPI-2: Language Issues? MPI-2 Handle conversion? Fortran to C/C++? ‘C’ Wrappers convert Fortran handles? C/C++ to Fortran? Not supported? Why do you think not ??? C to C++? Overloading C++ operators called on the C++ side? C++ to C? Not supported? Want to write a new C++ compiler ??G.E.Fagg UTK-CS594 Spring2003 16MPI-2: Language Issues? All wrappers of the form:? MPI_<C_CLASS> MPI_<CLASS>_f2c (MPI_Fint handle)? All handles in fortran are integers (INT*4)G.E.Fagg UTK-CS594 Spring2003 17MPI-2: Language Issues! FORTRAN PROCEDURESUBROUTINE MPI_SEND_ONEINT (COMM, I, IERR)INTEGER COMM, I, IERRCALL C_ROUTINE (COMM, I, IERR)RETURNENDG.E.Fagg UTK-CS594 Spring2003 18MPI-2: Language Issuesvoid c_routine (MPI_Fint *fh, MPI_Fint *i, MPI_Fint *ierr){MPI_Comm fcom;mycom = MPI_Comm_f2c (fh);MPI_Send (i, 1, MPI_INT, 1, 1, mycom); }4G.E.Fagg UTK-CS594 Spring2003 19MPI-2: Language Issues? Added a C++ binding? Constants and names the same as C except when they have been made into an object or special classG.E.Fagg UTK-CS594 Spring2003 20MPI-2: Language Issues? C++ binding? C++ has types C does not such as? MPI::COMPLEX, MPI::BOOL etc? Uses a namespace called MPI that contains all object types such as:? Class comm; class Cartcomm, class Datatype..G.E.Fagg UTK-CS594 Spring2003 21MPI-2: Process Management? In MPI-1? You get a set of process after you call MPI_Init ()? You keep them until you call MPI_Finalize? Or you halt…G.E.Fagg UTK-CS594 Spring2003 22MPI-2: Process Management? How do you add more nodes to an already running MPI-1 application ??G.E.Fagg UTK-CS594 Spring2003 23MPI-2: Process Management? How would we handle a node failure ??G.E.Fagg UTK-CS594 Spring2003 24MPI-2: Process Management? How could we couple two or more applications ??5G.E.Fagg UTK-CS594 Spring2003 25MPI-2: Process Management? How could we couple two or more applications ??? Running using two or more different MPI implementations, such as one on an IBM SP and the other on a SGI/Cray ??G.E.Fagg UTK-CS594 Spring2003 26MPI-2: Process Management ? MPI-2 provides both a Spawn (or remote start) call? Depending on the implementation you have LAM 6.X+ does MPICH 1.3.1 does not? Different vendor versions do? Such as NEC/SUNG.E.Fagg UTK-CS594 Spring2003 27MPI-2: Process Management ? Two flavors? MPI_Comm _spawn ( )? Starts new processes from a single binary and returns an intercommunicator to them? MPI_Comm_spawn_multiple ( )? Starts new processes from more than one binaryG.E.Fagg UTK-CS594 Spring2003 28MPI-2: Process Management G.E.Fagg UTK-CS594 Spring2003 29MPI-2:


View Full Document

UTK CS 594 - Beyond MPI-1.X

Documents in this Course
Load more
Download Beyond MPI-1.X
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Beyond MPI-1.X and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Beyond MPI-1.X 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?