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

emin gabrielyan roger d hersch cole polytechnique f d
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

.

Emin Gabrielyan, Roger D. Hersch École Polytechnique Fédérale de Lausanne, Switzerland {Emin.Gabrielyan,RD.Hersch}@epfl.ch SFIO

5th Workshop on Distributed Supercomputing: Scalable Cluster Software May 23-24, 2001, Sheraton Hyannis, Cape Cod, Hyannis Massachusetts, USA

slide-2
SLIDE 2

. contiguous in memory as well as in file noncontiguous in memory, contiguous in file contiguous in memory, noncontiguous in file noncontiguous in memory as well as 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. fragmentation in the memory

fragmentation of the view of file

contiguous in file non-contiguous in file contiguous in memory non-contiguous in memory Memory View File Memory View File Memory View File Memory View File

slide-3
SLIDE 3

.

BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE INTEGER INTEGER Vector Vector Vector Vector Contiguous Contiguous Structure Structure Contiguous

  • MPI-1 provides techniques for creating datatype
  • bjects 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.

slide-4
SLIDE 4

.

MPI-I/O Interface MPI-I/O Implementation 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.

Derived Datatype Flattening

slide-5
SLIDE 5

.

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. MPI_Send(source,size,MPI_BYTE,...) MPI_Recv(destination-LB,1,T4,...) Buffer of the Derived Buffer of the size Contiguous datatype datatype T4 size of the datatype T4

  • f T4’s extent
slide-6
SLIDE 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.

slide-7
SLIDE 7

.

  • Implementation of blocking collective file access
  • perations.
  • Implementation of non-blocking file access opera-

tions.

  • Integration to EPFL’s parallel file striping library

SFIO.

Thank You ! SFIO

The presented isolated MPI-I/O package automati- cally gives to every MPI-1 owner an MPI-I/O, with-

  • ut any requiring to change or modify his current

MPI-1 implementation.