Escolar Documentos
Profissional Documentos
Cultura Documentos
Computação Paralela
Computação Paralela
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;
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;
Exemplos
Algoritmo
Sequencial;
Exemplos
Algoritmo
Concorrente;
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.
Histria
Introduzido
no CDC 6600 em 1964, pela empresa CDC (Control Data Corporation); Considerado o melhor computador do mundo at 1968;
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) ;
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;
Categorias de Arquiteturas
SISD
- Nunca implementada;
MIMD
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.
11
Modelos de criao
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.
13
Memria Distribuda
Dois
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;
15
Memria Compartilhada
Dois
- 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
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
18
19
Tipos de Paralelismo
Paralelismo
-
Implcito; Explcito;
Paralelismo
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;
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;
24
Duvidas?
25