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