16-08-1999INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (1) Entrada/Saída em MPI Tópicos: Operações de E/S Sincronização de Processadores Referência:

Slides:



Advertisements
Apresentações semelhantes
TRATAMENTO DE ARQUIVOS EM C
Advertisements

Python: Entrada e Saída
Sistemas Operacionais
Métodos, Parâmetros, Argumentos e Contratos
MPI – Comunicações Com. Colectiva esquecida Barrier não há troca de dados, apenas sincroniza os processos int MPI_Barrier( MPI_Comm, comm) T com = T lat.
MPI - Introdução Message-Passing Model Task: código + memória (uma ou várias tasks no mesmo processador) Mensagem: as tasks comunicação entre si trocando.
Processos no Unix e Linux
Prof. Luis Otavio Alvares
LINGUAGEM ESTRUTURADA TURBO C
PROGRAMAÇÃO ou LINGUAGEM C?
Armazenamento de Dados em Arquivos
Armazenamento de Dados em Arquivos
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Tratamento de Ficheiros
Revisão da Linguagem C.
PROGRAMAÇÃO I UNIDADE 1.
Expansão dos Casos de Uso
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
PROGRAMAÇÃO ESTRUTURADA II
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 27 (1) Programação com MPI Tópicos: Modelo de Programação Funções de Ambiente Funções Básicas.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 6 (1) Reestruturação de Programas em Sistemas Vetoriais Tópicos: Técnicas de Otimização Notação.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 8 (1) Exploração de Paralelismo em Sistemas Vetoriais Tópicos: Vetorização Paralelização.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (1) Comunicação Coletiva em MPI Tópicos: Operação de Broadcast Operações de Redução Exemplo:
Airam J. Preto , Celso L. Mendes
Instruções condicionais
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
Introdução a Programação COM 100
Expansão dos Casos de Uso
Manipulação de Arquivos em C
Arquivos Continuação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
DAVID ANDERSON CARDOSO DANTAS
Estruturas de Dados Módulo 3 – Controle de Fluxo
Aula Prática 12 Operações com Arquivos Monitoria
Conteúdo Processos e threads Partes do processo
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 35 (1) Comunicação Avançada em MPI Tópicos: Exemplo: Difusão de Dados em Anel Armazenamento.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 5 (1) Análise de Dependência Tópicos: Restrições à Vetorização Detecção de Dependência Teste.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (1) Desempenho de Programas com MPI Tópicos: Exemplo: Integração Numérica Medição de Tempo.
Algoritmos - Propriedades Desejáveis (1)
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
Aula Prática 11 Operações com Arquivos Monitoria
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 24 (1) Redes de Interconexão Tópicos: Redes com Topologia Dinâmica Comparação entre Topologias.
Algoritmos e Estruturas de Dados
MPI - Message Passing Interface Mestrado em Matemática Computacional 2003.
Operações com Arquivos Monitoria A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho.
Aula prática 3 Aprofundando em Funções Parâmetros de uma função Uso do return Execução Variáveis Global, local e estática Monitoria de Introdução à.
Aula Prática 11 Operações com Arquivos Monitoria
Programação de Computadores I – Arquivos
MPI – Message Passing Interface Algumas Funções. Funções básicas As 6 funções que permitem escrever muitos dos programas: MPI_Init -- inicia a computação.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Salvando em Arquivos. Arquivos Um arquivo pode estar associado a qualquer dispositivo de entrada e saída, como por exemplo: teclado, video, impressora,
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Programação Computacional Aula 9: Meu primeiro programa em C
Linguagem de Programação I Parte IV
Felipe Nunes Flores – Programa de Educação Tutorial.
Linguagem de Programação
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (1) Análise de Desempenho em Programas Paralelos Tópicos: Introdução Aquisição de Dados.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Programação II Arquivos Autoria: Ernani Santos Modificação: Clebson Oliveira Adaptação: Claudia Boeres.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (1) Formas de Programação Paralela Tópicos: Compilação de Linguagens de Alto Nível Padrão.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 4 (1) Introdução à Programação de Processadores Vetoriais Tópicos: Conceitos Básicos Encadeamento.
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Arquivos textos (text)
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Transcrição da apresentação:

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (1) Entrada/Saída em MPI Tópicos: Operações de E/S Sincronização de Processadores Referência: Pacheco,P.S. Parallel Programming with MPI Morgan Kaufmann, San Francisco, 1997.

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (2) Operações de E/S Problema: Como associar stdin, stdout, stderr? Possibilidades: –Um único processador tem acesso (stdin=teclado, stdout/stderr=tela) –Todos os processadores têm acesso (como controlar?) –Nenhum dos processadores têm acesso! (I/O:arquivo) Na prática: –Forma de implementação depende de cada sistema –Primeira versão de MPI não assumia nenhum caso particular –Em geral, pelo menos um dos processadores tem acesso

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (3) Operações de E/S (cont.) Solução Típica: –Designar um dos processadores responsável por I/O –Entrada de Dados: Processador de I/O lê dados de entrada Processador de I/O faz um broadcast dos dados lidos Demais processadores recebem dados de entrada –Saída de Dados: Cada processador envia dados a serem armazenados Processador de I/O recebe dados de cada um dos demais Processador de I/O escreve dados de saída

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (4) Operações de E/S (cont.) Alternativas ao Uso de stdin/stdout: –Utilizar parâmetros de entrada na linha de comando Exemplo: Prog.Fonte: printf("[%d] argumentos: %s %s %s \n",my_rank,argv[0],argv[1],argv[2]); Execução: {aldebaran}/home/usuarios/celso/% mpiexec -n 4 teste arg1 arg2 [0] argumentos: /home/usuarios/celso/teste arg1 arg2 [2] argumentos: /home/usuarios/celso/teste arg1 arg2 [1] argumentos: /home/usuarios/celso/teste arg1 arg2 [3] argumentos: /home/usuarios/celso/teste arg1 arg2

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (5) Operações de E/S (cont.) (Mais) Alternativas ao Uso de stdin/stdout: –Utilizar arquivos de E/S –Problemas: Se há vários discos, um em cada processador : dados devem estar espalhados (pode ser necessário distribuir dados no início e reagrupar dados ao final do processamento) Se há um único disco, acessado por todos os processadores: dois ou mais processadores não podem abrir arquivos com mesmo nome –Soluções Típicas: Fazer E/S em arquivo por um único processador Cada processador abre um arquivo diferente

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (6) Operações de E/S (cont.) Exemplo: Prog.Fonte: FILE* my_fp; char filename[100]; int my_rank;... MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); sprintf(filename, arq.%d, my_rank) ; my_fp = fopen( filename, w );... Durante a Execução: Arquivos arq.0, arq.1, arq.2,..., arq.P-1 OBS: Arquivos podem ser combinados posteriormente

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (7) Sincronização de Processadores Objetivo: –Garantir que os processadores estão num ponto pré- determinado da execução, num certo instante Mecanismos de Sincronização em MPI: –Implícitos: funções send/recv síncronas ou c/ bloqueio –Explícitos: criação de barreiras (nenhum processador sai antes que todos tenham chegado) Implementação: int MPI_Barrier (MPI_Comm comm)

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (8) Sincronização de Processadores (cont.) Exemplo do Uso de Barreiras: /* Todos os processadores iniciam a execução juntos */ MPI_Init(...); MPI_Barrier(MPI_COMM_WORLD);... (Fase 1 do programa ) MPI_Barrier(MPI_COMM_WORLD);... (Fase 2 do programa ) MPI_Barrier(MPI_COMM_WORLD);... (Salva resultados) MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize( ); /* Todos os processadores terminam a execução juntos */