Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

22
Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP

Transcript of Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Page 1: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Sistemas Concorrentes

Capítulo 03 – OMP

Page 2: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Roteiro

• Conceitos

• Exemplo de Compilação

• For paralelo

• Seções paralelas

Page 3: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Open MP

• Fornece uma opção de linguagem paralela

• Através da inclusão de diretivas de compilação

• E da compilação através de um compilador OMP

Page 4: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Open MP

Page 5: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Open MP

Page 6: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Open MP - JOMP

• Middleware – Jomp1.0b.jar• Compilador – ConversorJomp3.java• Diretivas paralelas:

• Shared = variáveis compartilhadas (default)

• Private = variáveis exclusivas

Page 7: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Montando o Ambiente

• http://www.inf.furb.br/~paulofernando/disciplinas/SC-Sistemas_Concorrentes/3-OMP/

• Faça o download de Jomp1.0b.jar• Adicione a seu projeto, como biblioteca• Faça o download de ConversorJomp3.java

• Implemente o exemplo do próximo slide

Page 8: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Ambiente Resultante

Page 9: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Convertendo seu projeto

• Execute o ConversorJomp3• informe hello_normal.java como entrada

Page 10: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Executando seu projeto

• Execute hello_normal_jomp.java

Page 11: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Reduções

Page 12: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.1

Desenvolva um exemplo que faça a soma dos elementos de uma matriz em paralelo usando o recurso de reduções e o bloco paralelo simples.

Page 13: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.2

Desenvolva uma funcionalidade de Paralelismo de Dados (SIMD) no cenário de seu projeto, usando bloco paralelo simples.

Page 14: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

O for paralelo JOMP

Page 15: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

O for paralelo

• Converta o exemplo• Execute a versão paralela

Page 16: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.3

Desenvolva um exemplo que faça a soma dos elementos de uma matriz em paralelo usando o recurso de reduções e o for paralelo.

Page 17: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.4

Desenvolva uma funcionalidade de Paralelismo de Dados (SIMD) no cenário de seu projeto, usando For Paralelo.

Page 18: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Seção Paralela

Page 19: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.5

Desenvolva uma função de Paralelismo Funcional (MISD ou MIMD) no cenário de seu projeto, usando Seções Paralelas.

Page 20: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Exclusão Mútua – Critical

Page 21: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Atividade 3.6

Desenvolva uma função com critical no cenário de seu projeto, combinado com bloco paralelo simples, for paralelo ou seções paralelas.

Page 22: Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

Projeto de OMP

• Desenvolva seu projeto aplicando os conceitos de OMP

• Requisitos:– Bloco paralelo simples– For paralelo– Seção paralela– Uso de Critical e Reduction– Conhecimento \ Complexidade– Plus