Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Desempenho da Computação Paralela em Ambientes Virtualizados
Paralelismo em Máquinas Multiprocessadas
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
OpenMP.
Arquiteturas de Barramento
Sistemas Operacionais - 3
ARQUITETURA DE COMPUTADORES II
ARQUITETURAS RISC E CISC
Multithreading e multiprocessamento
Para o público que ainda não conhece, vamos apresentar o Visualizador 3D v3o2 que está sendo desenvolvido na Petrobras, em parceria com a PUC-Tecgraf.
OpenMP MO801/MC972. Visão geral Biblioteca de mais alto nível para programação paralela Prevê memória compartilhada Requer suporte do compilador Exige.
Padrão MPI – Message Passing Interface
GPGPU.
Técnicas de processamento paralelo
Avaliação de Sistemas Operacionais
Algoritmo de Escalonamento para Aplicações em uma Grade Computacional Extensível aos Receptores Digitais de Televisão Bruno Guazzelli Batista Orientadora:
Arquitetura de Computadores
Maria Aparecida Castro Livi
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Projeto de Sistemas Operacionais
Uma estratégia para implementar Computação Paralela
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Arquitetura de Computadores
2- Entendendo o que é Arquitetura e Organização
Prof. André Leon S. Gradvohl, Dr.
PARALELISMO EM NÍVEL DE THREAD
SISTEMAS OPERACIONAIS
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
CUDA vs OpenCL Introdução.
Introdução a GPGPU CUDA: arquitetura de computação paralela para GPGPU.
Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Metodologia da Pesquisa em Ciência da Computação - INE – Luís Fernando Custódio Seminário de Metodologia GPU em Ambientes Compartilhados.
Solucionar de forma otimizada os problemas que exijam alto esforço computacional e assim assegurar a satisfação dos clientes.
Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
MapReduce Conceitos e Aplicações
TerraME HPA Saulo Henrique Cabral Silva BCC391 - Monografia II
Barramento Ermeson Andrade.
Sistemas Digitais e arquitectura de computadores
Computação de Alto Desempenho Utilizando Placas Gráficas Divino César S. Lucas Universidade Católica de Goiás
Artigos relacionados a POD: uma visão geral ao CCGRID POD – Programação de Objetos Distribuídos Professor Claudio Fernando Resin Geyer Aluno Emerson.
Universidade de Mogi das Cruzes Tec
Augusto Martins e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Utilização de Cluster de Computadores.
ARQUITETURA DE COMPUTADORES II
Uma Análise das plataformas CUDA e OpenCL usando MetaHeurísticas aplicadas no Problema do Caixeiro Viajante Aluno: Hedley Luna Gois Oriá Disciplina: Introdução.
Sistemas Operacionais
Experimentação Algorítmica
Paralelismo em Máquinas Multiprocessadas
CMP 167– Programação com Objetos Distribuídos Prof. Cláudio Geyer
1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo.
PLATAFORMAS MULTIMÍDIA
Linguagem de Programação IV Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Perspectivas NVidia para Desktop Tiago Carneiro Pessoa
SISTEMAS OPERACIONAIS MACH EPOS
A High Performance Java Middleware with a Real Application HUERT, Fabrice; CAROMEL, Denis; Bal, Henri E. Supercomputing 2004 Trabalho desenvolvido por:
Multiparadigma das Comunicações em Java para Grid Computing Fernanda R. Ramos Luiz Felipe Marco Eiterer Profº Alcides Calsavara, Ph.D.
Estrutura de Interconexão
Arquitetura de computadores
Introdução: Hardware de Computadores Placa-mãe
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.
Modelos de Sistema Prof. Dr. Norian Marranghello Grupo 6 Fábio Hitoshi Ide Gilson Watanabe.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Projeto do CBPF Grid SSOLAR Bruno Lima Felipe da Matta Roberto Kishi Thagor Baiocco Tiago Olimpio
Escalonamento de Operações de Reconfiguração Dinâmica Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Aluno: Ricardo Ferreira Orientador:
OpenCL Eliane Siegert. Estrutura – Princípio Geral de Funcionamento – Exemplos de Aplicações – Modelo de Programação – Linguagens Suportadas – Exemplos.
Introdução a GPU e CUDA.
Transcrição da apresentação:

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa Cruz

Cronograma

Introdução Serial vs Processamento Paralelo – Processamento Paralelo Resolução de problemas computacionais de grande porte. – Engenharias – Física Médica – Bioinformática – Genética » Fontes [Aiping D, 2011] [Alonso P. 2009], [Goddeke D. 2007] Redução de tempo – Cluster e Grides Fontes de processamento – CPU versus GPU

Processamento Paralelo MPI (Message Passing Interface) – Utiliza a CPU – Memória distribuída – Cooperação na realização da tarefa OpenMP (Open MultiProcessing) – Utiliza CPU multi-processada – Memória Compartilhada – Vários cores compartilhando memória na cumprimento da tarefa. CUDA (Computing Unified Device Architecture) – Utiliza a GPU (massivamente paralela) – Threads utilizam uma hierarquia de memória para a execução da tarefa.

Processamento Paralelo CaracterísticasMPIOpenMPCUDA FONTE DE PODER COMPUTACIONAL CPU GPU MEMÓRIA DISTRIBUÍDA SIMNÃOSIM MEMÓRIA COMPARTILHADA NÃOSIM

Problema Computacional

Algoritmo – Condições de parada ITR é a quantidade de iterações máxima Distância máxima da origem |2| – Retorna 0 ou i int conj_mandelbrot(complexo c){ int I = 0; ITR = 255; float x = 0; y =0; tmp = 0; enquanto(x² + y² < 2² && i < ITR){ tmp = x² - y² + c.real; y = 2 * y * x + c.img; i++; } Se (i<ITR) retorne i; Senão retorne 0; }

Problema Computacional Imagem produzida.

Resultados obtidos Configuração da estação de trabalho 1 ProcessadorIntel ® Core i7 CPU 860 2,8GHz Memória RAM8GB Placa Aceleradora GráficaGPU Nvidia GeForce 9800GT, 112 cores, 512 de RAM, 256bits PCI Express 16x Experimentos com as verõesSerial, OpenMP e CUDA Configuração da estação de trabalho 2 Processadores8 nós Genuine Intel ia-64, modelo Madison com 9M cachê Memória RAM16GB Compartilhada Experimentos com a versãoMPI

Resultados obtidos Gráfico 1 – Tempo de processamento das versões e diversos tamanhos de imagem com ITR = 4096.

Resultados obtidos Gráfico 2 – SpeedUP de processamento das versões em diversos tamanhos de imagem.

Conclusões Versões paralelas obtiveram melhor resultado na construção do fractal de alta resolução – Versão CUDA alcançou melhor tempo de processamento Justificativa – Arquitetura com grande quantidade de cores – Algoritmo altamente paralelizável (Independência dos dados) – Baixa transferência de dados – MPI SpeedUP parecido com o da versão OpenMP MPI ficando com melhor speedup quando comparado com OpenMP Justificativa – Configuração da estação de trabalho utilizada » Processadores do cluster mais robusto – Serial Fica claro que é a versão mais lenta obtendo os maiores tempos de processamento

Conclusões Observações sobre técnicas tradicionais (MPI e openMP) – Pontos fortes Obtiveram melhor resultado – Alto grau de independência dos dados – Baixa necessidade de comunicação – Sendo boas alternativas a serem exploradas Baixa curva de aprendizado (OpenMP) – Pontos fracos Custo do hardware (MPI) Grande espaço e outros recursos auxiliares (MPI) Alta curva de aprendizado (MPI)

Conclusões Observações sobre CUDA – Pontos fortes A técnica em GPU apesar de recente é altamente poderosa – Especialmente em aplicações altamente paralelizáveis – Baixa curva de aprendizagem – Menor custo e espaço pelo hardware – Pontos fracos Necessidade de um hardware habilitado para CUDA – Em contrapartida existe padronizações » OpenCL(Open Computing Language)

Trabalhos Futuros Melhorar e criar implementações – NVIDIA OpenCL Best Practices Guide – Versões híbridas OpenMP e MPI OpenMP e CUDA MPI e cuda MPI, OpenMP e CUDA Em desenvolvimento – Versão paralela em CUDA para o problema de escoamento monofásico de petróleo Fonte: [M. Santos, Dominguez e Orellana 2009]

Dúvidas