Você está na página 1de 25

Bruno Azevedo Costa - BSI10

Introduo
As

linguagens podem ser classificadas em sequenciais, concorrentes, ou paralelas; Paralelismo permite acelerar a resoluo de um problema; Vrios clculos so realizados simultaneamente; Crescimento devido limitaes fsicas que restringem o aumento de freqncia de processamento;

Bruno Azevedo Costa - BSI10

Paralelismo x Concorrncia
Execuo

concorrente est ligada ao modelo de um processador atendendo a vrios processos atravs de uma poltica de escalonamento no tempo; Execuo paralela est associada ao modelo de vrios processadores atendendo a vrios processos simultaneamente no tempo;

Bruno Azevedo Costa - BSI10

Exemplos
Algoritmo

Sequencial;

-Abrir refrigerador; -se estiver vazio -ento v ao restaurante;

-seno preparar salada


-preparar carne -preparar sobremesa -comer.

Bruno Azevedo Costa - BSI10

Exemplos
Algoritmo

Concorrente;

-Abrir refrigerador -Se estiver vazio -ento v ao restaurante;

-seno lavar a alface


-colocar de molho -temperar a carne -colocar a carne para cozinhar -preparar a sobremesa -escorrer a alface -temperar a alface -retirar a carne do forno -comer.
Bruno Azevedo Costa - BSI10 5

Exemplos
Algoritmo
-Fernando: -Abrir refrigerador -se estiver vazio -se estiver vazio

Paralelo;
-Marina:

-ento v ao restaurante;
-seno -temperar a carne -preparar a sobremesa -retirar a carne do forno -comer.

-ento v ao restaurante;
-seno -preparar a salada -colocar a carne para assar -comer.

Bruno Azevedo Costa - BSI10

Histria
Introduzido

no CDC 6600 em 1964, pela empresa CDC (Control Data Corporation); Considerado o melhor computador do mundo at 1968;

Bruno Azevedo Costa - BSI10

Objetivos do Paralelismo
Diminuio

de custos; Poder executar vrios processos simultaneamente; Otimizar o tempo ocioso (idle time) das CPUs; Reduzir o tempo total de processamento (wallclock time) ;

Bruno Azevedo Costa - BSI10

Utilizao
Situaes

em que um grande esforo computacional exigido; Ex: - Previses meteorolgicas; - Simulaes de engenharia; - Clculos numricos como resoluo de sistemas lineares de grande porte; - Explorao de petrleo;

Bruno Azevedo Costa - BSI10

Categorias de Arquiteturas
SISD

- Arquitetura de von Neumann;


SIMD

(Single Instruction Single Data): (Single Instruction Multiple Data):

- Supercomputadores clssicos (Computadores vetoriais);


MISD

- Nunca implementada;
MIMD

(Multiple Instruction Single Data):

- Arquiteturas formada por processadores que executam instrues independentemente;

(Multiple Instruction Multiple Data):

Bruno Azevedo Costa - BSI10

10

Modelos de criao
Ambientes

de memria compartilhada utilizam um paralelismo explcito, j que podem-se valer desta memria para ativar os processos paralelos. Ambientes de memria distribudas devem utilizar um modelo chamado troca de mensagens para comunicao e sincronizao das tarefas.

Bruno Azevedo Costa - BSI10

11

Modelos de criao

Bruno Azevedo Costa - BSI10

12

Memria Distribuda
Comunicao

mensagens. Tarefas so mapeadas em processos, cada um com sua memria privada. Processos podem ser criados de forma esttica ou dinmica. Sincronizao feita de forma implcita pela troca de mensagens.

atravs do envio explcito de

Bruno Azevedo Costa - BSI10

13

Memria Distribuda
Dois

principais modelos de troca de mensagens:

- PVM (Parallel Virtual Machine) :


Conjunto integrado de bibliotecas e ferramentas de software, que permite que uma rede de computadores heterogneos possa ser utilizada para a realizao de computao paralela.

- MPI (Message Passing Interface):


Padro de interface de troca de mensagens para aplicaes.

Bruno Azevedo Costa - BSI10

14

Memria Compartilhada
A

mesma memria acessada pelos mltiplos processadores; Sincronizao entre tarefas feita por escrita/leitura na memria; Um lugar da memria no pode ser modificado por uma tarefa enquanto outra o estiver acessando; Comunicao entre tarefas rpida;

Bruno Azevedo Costa - BSI10

15

Memria Compartilhada
Dois

principais modelos de memria compartilhada:

- OpenMP
Interface simples e flexvel para o desenvolvimento de aplicaes paralelas, de memria compartilhada, para as plataformas que vo dos computadores de escritrio at os supercomputadores..

- PThreads:
Interface que define um conjunto de funes e tipos em linguagem C que permitem a manipulao de threads.
Bruno Azevedo Costa - BSI10 16

Granularidade de cdigo
Emprego

do paralelismo pode ser feito em diferentes nveis; nveis so estabelecidos com base na quantidade de cdigo que passvel de ser paralelizada;

Os

Bruno Azevedo Costa - BSI10

17

Nveis de Paralelismo
Granularidade
Muito Fina Fina Mdia Grande

Unidade de Cdigo
Instruo Loop/Bloco de instruo Funo Processo ou Tarefa

Nveis de Paralelismo
Instruo Dados Controle Tarefa

Bruno Azevedo Costa - BSI10

18

Etapas da Criao de Uma Aplicao em Paralelo


Decomposio;
Comunicao; Aglomerao; Mapeamento;

Bruno Azevedo Costa - BSI10

19

Tipos de Paralelismo
Paralelismo
-

Efetuado pelo compilador.

Implcito; Explcito;

Paralelismo

- Efetuado pelo programador. (melhores resultados)

Bruno Azevedo Costa - BSI10

20

Avaliao de Desempenho
Speed-up (Acelerao):
S(n) = T(1)/T(n)

Onde: n = nmero de processadores; S(n) = acelerao de acordo com o n de processadores; T(1) = tempo gasto para execuo de um algoritmo com um nico processador; T(n) = tempo gasto na execuo com n processadores;
Bruno Azevedo Costa - BSI10 21

Avaliao de Desempenho
Eficincia

:
E(n) = S(n)/n

Onde: n = nmero de processadores; E(n) = Eficincia de acordo com o n de processadores; S(n) = Acelerao da aplicao de acordo com o n de processadores;
Bruno Azevedo Costa - BSI10 22

Avaliao de Desempenho
O

aumento de desempenho com n processadores pode ser no mximo igual a n; Na prtica o ganho ser bem menor. - o balano de carga entre os processadores nem sempre perfeito; - problemas de conflito no acesso a recursos compartilhados pelos processadores; - algoritmos ineficientes que no aproveitam o paralelismo do hardware;

Bruno Azevedo Costa - BSI10

23

Concluso
Computao

paralela a forma mais acessvel de se resolver problemas que exigem muita computao;

Est se

difundindo cada vez mais por causa das limitaes fsicas que previnem o aumento de processamento e a maior preocupao com o consumo de energia dos computadores;

Bruno Azevedo Costa - BSI10

24

Duvidas?

Bruno Azevedo Costa - BSI10

25

Você também pode gostar