MPI I/O
MPI I/O Introdução
Definição de um conjunto de rotinas
para transferência de dados, de e para,
meios externos de armazenamento.
O MPI I/O oferece várias vantagens
sobre as tradicionais linguagens de I/O.
MPI I/O Vantagens
Flexibilidade - MPI I/O fornece
mecanismos para o acesso coletivo
(muitos processos coletivamente lêem e
escrevem em um único arquivo, I/O
assíncrono e acesso strided.
Portabilidade - Muitas plataformas
suportam a interface MPI I/O
Arquivos escritos pelo MPI I/O são
portáveis entre plataformas.
MPI I/O Conceitos Fundamentais
 Um arquivo MPI é uma lista ordenada de estruturas de
dados MPI (MPI_CHAR, MPI_INT, etc)
 As rotinas MPI I/O suportam acesso seqüencial ou
randomico.
 Um arquivo pode ser aberto por qualquer processo MPI.
Qualquer operação de I/O pode ser executada pelo
pelos processos MPI relacionados, ou seja, este arquivo
é visível para o conjunto de processos.
MPI I/O
Views
Uma view define como os dados são
visiveis para cada processo.
Uma view é composta de:
Deslocamento
etype (Tipo elementar)
Filetype
MPI I/O Views - Estrutura
 Deslocamento: um deslocamento
medido em bytes, do inicio do
arquivo.
 ETYPE: define a unidade dos
dados acessados. Pode ser
predefinido ou derivado do MPI
 FILETYPE: define um “molde”
para o acesso ao arquivo.
MPI I/O Views - Filetype
 Consiste em um número de etypes e “furos” (os quais
são de tamanhos múltiplos do etype)
 Um filetype básico, repete estas estruturas várias vezes,
criando regiões de acesso permitidas (onde etypes são
definidos) e regiões de acesso negado (onde os “furos”
são definidos)
MPI I/O Views - Filetype
 É possível para diferentes processos definir diferentes
filetypes, com diferentes views. Ex:
MPI I/O Rotinas Básicas
MPI I/O Rotinas Básicas
MPI I/O Rotinas Básicas
MPI I/O Rotinas de Acesso
MPI I/O Rotinas de Acesso
MPI I/O Rotinas de Gerais
MPI I/O
Link’s
 http://www.mcs.anl.gov/romio
 http://www-unix.mcs.anl.gov/mpi/mpich/
 http://www.mpi-forum.org/docs/mpi20html/mpi2report.html
 http://www.mpi-forum.org/docs/docs.html
 http://wwwunix.mcs.anl.gov/romio/papers.html
 http://hpcf.nersc.gov/software/libs/io/mpiio.html
Download

MPI I/O