emin gabrielyan roger d hersch cole polytechnique f d
play

Emin Gabrielyan, Roger D. Hersch cole Polytechnique Fdrale de - PDF document

5th Workshop on Distributed Supercomputing: Scalable Cluster Software May 23-24, 2001, Sheraton Hyannis, Cape Cod, Hyannis Massachusetts, USA Emin Gabrielyan, Roger D. Hersch cole Polytechnique Fdrale de Lausanne, Switzerland


  1. 5th Workshop on Distributed Supercomputing: Scalable Cluster Software May 23-24, 2001, Sheraton Hyannis, Cape Cod, Hyannis Massachusetts, USA Emin Gabrielyan, Roger D. Hersch École Polytechnique Fédérale de Lausanne, Switzerland {Emin.Gabrielyan,RD.Hersch}@epfl.ch SFIO .

  2. noncontiguous in memory, contiguous in memory contiguous in file as well as in file contiguous in memory Memory Memory View View fragmentation in the memory File File noncontiguous in memory contiguous in memory, noncontiguous in file as well as in file non-contiguous in memory Memory Memory View View File File fragmentation of the view of file contiguous in file non-contiguous in file The file view is a global concept, which influence all data access operations. Each process obtains its own view of the shared data file. In order to specify the file view the user creates a derived datatype. Since each access operation can use another derived datatype that specifies the fragmentation in memory, there are two orthogonal aspects to data access: the fragmentation in memory and the fragmentation of the file view. .

  3. Contiguous Structure Structure Contiguous Contiguous Vector Vector Vector Vector BYTE BYTE BYTE BYTE BYTE BYTE INTEGER BYTE BYTE BYTE BYTE BYTE BYTE INTEGER • MPI-1 provides techniques for creating datatype objects having an arbitrary data layout in memory. • A derived opaque datatype object can be used in various MPI operations. • But the layout information, once encapsulated in a derived datatype, can not be extracted with stand- ard MPI-1 functions. .

  4. MPI-I/O Interface MPI-I/O Implementation Derived Datatype Flattening MPI-1 Interface MPI-1 Implementation MPI-2 operations and the MPI-I/O subset in particular form an exten- sion to MPI-1. However a developer of MPI-I/O needs access to the source code of the MPI-1 implementation, on top of which he intends to implement MPI-I/O. For each MPI-1 implementation, a specific integration of MPI-I/O is required. .

  5. Buffer of the size Derived of T4 ’s extent Buffer of the datatype T4 size of the Contiguous datatype T4 datatype MPI_Send(source,size,MPI_BYTE,...) MPI_Recv(destination-LB,1, T4 ,...) MPI_Recv operation receives a contiguous network stream and distributes it in memory according to the data layout of the datatype. If the memory is pre- viously initialized with a “green colour”, and the network stream has a “red colour”, then analysis of the memory after data reception will give us the nec- essary information on the data layout. Instead of sending and receiving, it is possible to use the MPI_Unpack standard MPI-1 operation. .

  6. MPI-I/O Interface MPI-I/O Implementation Reverse Engineering MPI-1 Interface MPI-1 Implementation Once we have a tool for derived datatype decoding, it becomes possible to create an isolated MPI-I/O solution on top of any stand- ard MPI-1. The Argonne National Laboratory’s MPICH imple- mentation of MPI-I/O is used with our datatype reverse engineering technique and a limited subset of MPI-I/O operations has been implemented. .

  7. The presented isolated MPI-I/O package automati- cally gives to every MPI-1 owner an MPI-I/O, with- out any requiring to change or modify his current MPI-1 implementation. • Implementation of blocking collective file access operations. • Implementation of non-blocking file access opera- tions. • Integration to EPFL’s parallel file striping library SFIO. Thank You ! SFIO .

Recommend


More recommend