A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tópicos em redes e sistemas distribuídos

Apresentações semelhantes


Apresentação em tema: "Tópicos em redes e sistemas distribuídos"— Transcrição da apresentação:

1 Tópicos em redes e sistemas distribuídos
Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

2 Performance em programas paralelos

3 Existem múltiplas alternativas para a avaliar o desempenho de programas paralelos:
Tempo de execução Eficiência Escalabilidade Requisitos de memória Custos de projeto, desenvolvimento e implementação, Portabilidade, Potencial de reutilização Etc. Geralmente o peso de cada um dos elementos anteriores varia de aplicação para aplicação.

4 Tempo de Execução O tempo de execução de um programa pode ser definido como o tempo que decorre desde que o primeiro processador inicia a execução até o último processador terminar. O tempo de execução pode ser decomposto no tempo de computação, de comunicação e no tempo ocioso: Texec = Tcomp + Tcomn + Tocioso O tempo de computação é o tempo despendido na computação, excluindo o tempo de comunicação e ocioso O tempo ocioso surge quando um processador fica sem tarefas, podendo ser minimizado com uma distribuição de carga adequada ou sobrepondo a computação com a comunicação O tempo de comunicação é o tempo que o algoritmo despende a enviar e receber mensagens

5 Speedup Speedup: aumento de velocidade observado quando se executa um determinado processo em p processadores em relação à execução deste processo em 1 processador. Então, tem-se: Onde: T1 = tempo de execução em 1 processador Tp = tempo de execução em p processadores Idealmente, o ganho de speedup deveria tender a p, que seria o seu valor ideal 1.

6 Speedup Amdahl's Law speedup = 1 / ( 1 - f )
A lei de Amdahl's determina o potencial de aumento de velocidade a partir da porcentagem paralelizável de um programa ( f ): speedup = 1 / ( 1 - f ) Num programa, no qual não ocorra paralização, f=0, logo, speedup=1 ( Não existe aumento na velocidade de processamento ); Num programa, no qual ocorra paralelização total, f=1, logo, speedup é infinito ( Teoricamente ).

7 Speedup (cont.) Três fatores podem ser citados que influenciam essa relação, gerando sobrecargas que diminuem o valor de speedup ideal: sobrecarga da comunicação entre os processadores, nível de paralelismo utilizado (em virtude do uso de granulação inadequada à arquitetura partes do código executável estritamente seqüenciais (Amdahl’s Law)

8 Lei de Amdahl Numa aplicação existe sempre uma parte que não pode ser paralelizada Se s for a parte de trabalho seqüencial (1-s) será a parte susceptível de ser paralelizada Mesmo que a parte paralela seja perfeitamente escalável, o desempenho (Speedup) está limitado pela parte seqüencial A lei de Amdahl impõe um limite no Speedup que pode ser obtido com P processadores: Mostra que para obter ganhos elevados é necessário reduzir ou eliminar os blocos seqüenciais do algoritmo.

9 Eficiência Outra medida importante é a eficiência, que trata da relação entre o speedup e o número de processadores. No caso ideal (speedup = p), a eficiência seria máxima e teria valor 1 (100%).

10 Escalabilidade Um algoritmo paralelo é escalável quando o número de processadores cresce se sua eficiência for constante quando o problema cresce

11 Balanceamento de Carga ("Load Balancing")
A distribuição das tarefas por entre os processadores, deverá ser, de maneira que o tempo da execução paralela seja eficiente; Se as tarefas não forem distribuídas de maneira balanceada, é possível que ocorra a espera pelo término do processamento de uma única tarefa, para dar prosseguimento ao programa.

12 Granularidade ("Granularity")
É a razão entre computação e comunicação: Fine-Grain Tarefas executam um pequeno número de instruções entre ciclos de comunicação; Facilita o balanceamento de carga; Baixa computação, alta comunicação; É posível que ocorra mais comunicação do que computação, diminuindo a performance. Coarse-Grain Tarefas executam um grande número de instruções entre cada ponto de sincronização; Difícil de se obter um balanceamento de carga eficiente; Alta computação, baixa comunicação; Possibilita aumentar a performance.


Carregar ppt "Tópicos em redes e sistemas distribuídos"

Apresentações semelhantes


Anúncios Google