• Nenhum resultado encontrado

Programação Paralela e Distribuída 2007/08. Métricas de Desempenho

N/A
N/A
Protected

Academic year: 2021

Share "Programação Paralela e Distribuída 2007/08. Métricas de Desempenho"

Copied!
22
0
0

Texto

(1)

Ricardo Rocha DCC-FCUP 1

Programação

Paralela e Distribuída

Métricas de Desempenho

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Desempenho

Desempenho

Dois dos principais objectivos do desenho de aplicações paralelas são:

Desempenho: a capacidade de reduzir o tempo de resolução do problema à medida que os recursos computacionais aumentam.

Escalabilidade: a capacidade de aumentar o desempenho à medida que a complexidade do problema aumenta.

Os factores que condicionam o desempenho e a escalabilidade de uma aplicação são: Limites Arquitecturais

(2)

Ricardo Rocha DCC-FCUP 3

Limites ao Desempenho

Limites ao Desempenho

Limites Arquitecturais

Latência e Largura de Banda Coerência dos Dados Capacidade de Memória Limites Algorítmicos

Falta de Paralelismo(código sequencial/concorrência) Frequência de Comunicação

Frequência de Sincronização

Escalonamento Deficiente(granularidade das tarefas/balanceamento de carga)

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métricas de Desempenho

Métricas de Desempenho

Existem 2 classes distintas de métricas de desempenho:

Métricas de Desempenho para Processadores: métricas que permitem avaliar a performance de um processador tendo por base a velocidade/número de operações que este consegue realizar num determinado espaço temporal.

Métricas de Desempenho para Aplicações Paralelas: métricas que permitem avaliar a performance de uma aplicação paralela tendo por base a comparação entre a execução com múltiplos processadores e a execução com um só processador.

No nosso caso, estamos obviamente mais interessados nas métricas que permitem avaliar o desempenho das aplicações paralelas.

(3)

Ricardo Rocha DCC-FCUP 5

Métricas de Desempenho para Processadores

Métricas de Desempenho para Processadores

Algumas das métricas mais conhecidas para medir o desempenho da arquitectura de um processador/computador são:

MIPS: acrónimo para Millions of Instructions Per Second.

FLOPS: acrónimo para FLoating point Operations Per Second.

SPECint: conjunto de programas de teste (benchmarks) da SPEC (Standard Performance Evaluation Corporation) que avaliam o desempenho do processador em aritmética de inteiros (1992).

SPECfp: conjunto de programas de teste da SPEC que avaliam o desempenho do processador em operações de vírgula flutuante (2000).

Whetstone: programa de teste sintético que avalia o desempenho do processador em operações de vírgula flutuante (1972).

Dhrystone: programa de teste sintético que avalia o desempenho do processador em aritmética de inteiros (1984).

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métricas de Desempenho para Aplicações Paralelas

Métricas de Desempenho para Aplicações Paralelas

Existem várias medidas que permitem medir/avaliar o desempenho duma aplicação paralela. As mais conhecidas são:

Speedup

Eficiência Redundância Utilização Qualidade

Existem igualmente várias leis/métricas que permitem balizar o comportamento duma aplicação paralela face ao seu potencial desempenho. As mais conhecidas são:

Lei de Amdahl

Lei de Gustafson-Barsis Métrica de Karp-Flatt Métrica de Isoeficiência

(4)

Ricardo Rocha DCC-FCUP 7

Speedup

Speedup

O speedup é uma medida do grau de desempenho. O speedup mede o rácio entre o tempo de execução sequencial e o tempo de execução em paralelo.

T(1) é o tempo de execução com um processador T(p) é o tempo de execução com p processadores

)

(

)

1

(

)

(

p

T

T

p

S

=

10,00 6,25 3,57 1,92 1 S(p) 100 160 280 520 1000 T(p) 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Eficiência

Eficiência

A eficiência é uma medida do grau de aproveitamento dos recursos computacionais. A eficiência mede o rácio entre o grau de desempenho e os recursos computacionais disponíveis.

S(p) é o speedup para p processadores

)

(

)

1

(

)

(

)

(

p

T

p

T

p

p

S

p

E

×

=

=

0,63 0,78 0,89 0,96 1 E(p) 10,00 6,25 3,57 1,92 1 S(p) 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

(5)

Ricardo Rocha DCC-FCUP 9

Redundância

Redundância

A redundância é uma medida do grau de aumento da computação. A redundância mede o rácio entre o número de operações realizadas pela execução paralela e pela execução sequencial.

O(1) é o número total de operações realizadas com 1 processador O(p) é o número total de operações realizadas com p processadores

)

1

(

)

(

)

(

O

p

O

p

R

=

1,50 1,23 1,10 1,03 1 R(p) 15000 12250 11000 10250 10000 O(p) 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Utilização

Utilização

A utilização é uma medida do grau de aproveitamento da capacidade computacional. A utilização mede o rácio entre a capacidade computacional utilizada durante a computação e a capacidade disponível.

)

(

)

(

)

(

p

R

p

E

p

U

=

×

1,50 1,23 1,10 1,03 1 R(p) 0,95 0,96 0,98 0,99 1 U(p) 0,63 0,78 0,89 0,96 1 E(p) 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

(6)

Ricardo Rocha DCC-FCUP 11

Qualidade

Qualidade

A qualidade é uma medida do grau de importância de utilizar programação paralela.

0,63 0,78 0,89 0,96 1 E(p) 1,50 1,23 1,10 1,03 1 R(p) 10,00 6,25 3,57 1,92 1 S(p) 4,20 3,96 2,89 1,79 1 Q(p) 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

)

(

)

(

)

(

)

(

p

R

p

E

p

S

p

Q

=

×

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Lei de

Lei de

Amdahl

Amdahl

A computação realizada por uma aplicação paralela pode ser divididas em 3 classes: C(seq): computações que só podem ser realizadas sequencialmente.

C(par): computações que podem ser realizadas em paralelo. C(com): computações de comunicação/sincronização/iniciação.

Usando estas 3 classes, o speedup de uma aplicação pode definido do seguinte modo:

)

(

)

(

)

(

)

(

)

(

)

(

)

1

(

)

(

com

C

p

par

C

seq

C

par

C

seq

C

p

T

T

p

S

+

+

+

=

=

(7)

Ricardo Rocha DCC-FCUP 13

Lei de

Lei de

Amdahl

Amdahl

Como C(com) ≥ 0 então:

Se f for a fracção da computação que só pode ser realizada sequencialmente então:

p

par

C

seq

C

par

C

seq

C

p

S

)

(

)

(

)

(

)

(

)

(

+

+

p

f

seq

C

seq

C

f

seq

C

p

S

par

C

seq

C

seq

C

f

⎟⎟

⎜⎜

×

+

+

=

1

1

)

(

)

(

)

(

)

(

e

)

(

)

(

)

(

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Lei de

Lei de

Amdahl

Amdahl

Simplificando:

p

f

f

p

S

p

f

f

p

S

p

f

seq

C

seq

C

f

seq

C

p

S

+

+

⎟⎟

⎜⎜

×

+

1

1

)

(

1

1

1

1

)

(

1

1

)

(

)

(

)

(

)

(

(8)

Ricardo Rocha DCC-FCUP 15

Lei de

Lei de

Amdahl

Amdahl

Seja 0 ≤ f ≤ 1 a fracção da computação que só pode ser realizada sequencialmente. A lei de Amdahl diz-nos que o speedup máximo que uma aplicação paralela com p processadores pode obter é:

A lei de Amdahl dá-nos uma medida do speedup máximo que podemos obter ao resolver um determinado problema com p processadores.

A lei de Amdahl também pode ser utilizada para determinar o limite máximo de speedup que uma determinada aplicação poderá alcançar independentemente do número de processadores a utilizar.

p

f

f

p

S

+

1

1

)

(

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Lei de

Lei de

Amdahl

Amdahl

Suponha que pretende determinar se é vantajoso desenvolver uma versão paralela de uma determinada aplicação sequencial. Por experimentação, verificou-se que 90% do tempo de execução é passado em procedimentos que se julga ser possível paralelizar. Qual é o speedup máximo que se pode alcançar com uma versão paralela do problema executando em 8 processadores?

E o limite máximo de speedup que se pode alcançar?

71

,

4

8

1

,

0

1

1

,

0

1

)

(

+

p

S

10

1

,

0

1

1

,

0

1

lim

=

+

∞ →

p

p

(9)

Ricardo Rocha DCC-FCUP 17

Limitações da Lei de

Limitações da Lei de Amdahl

Amdahl

A lei de Amdahl ignora o custo das operações de comunicação/sincronização associadas à introdução de paralelismo numa aplicação. Por esse motivo, a lei de Amdahl pode resultar em predições pouco realísticas para determinados problemas. Suponha que desenvolveu uma aplicação paralela cujo padrão de execução é o seguinte, em que n é o tamanho do problema:

Tempo de execução da parte sequencial (input e output de dados): Tempo de execução da parte paralelizável:

Total de pontos de comunicação/sincronização por processador: Tempo de execução por comunicação/sincronização:

log

n

100

2

n

n

+

000

.

18

10

log

000

.

10

×

p

+

n

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Limitações da Lei de

Limitações da Lei de Amdahl

Amdahl

Qual é o speedup máximo que se pode obter?

Utilizando a lei de Amdahl:

Utilizando a medida de speedup:

100

000

.

18

100

000

.

18

)

(

e

100

000

.

18

000

.

18

2 2 2

×

+

+

+

+

+

+

+

=

p

n

n

n

n

p

S

n

n

n

f

×

+

×

+

×

+

+

+

+

=

10

log

000

.

10

log

100

000

.

18

100

000

.

18

)

(

2 2

n

p

n

p

n

n

n

n

p

S

(10)

Ricardo Rocha DCC-FCUP 19

Limitações da Lei de

Limitações da Lei de Amdahl

Amdahl

Speedup Lei de Amdahl 14,82 7,71 3,94 1,99 1 n = 30.000 14,02 7,51 3,89 1,98 1 n = 20.000 2,57 2,22 2,11 1,61 1 n = 10.000 6,64 4,71 3,21 1,87 1 n = 20.000 11,36 6,72 3,70 1,95 1 n = 10.000 9,29 5,89 3,55 1,93 1 n = 30.000 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Lei de

Lei de Gustafson

Gustafson-

-Barsis

Barsis

Consideremos novamente a medida de speedup definida anteriormente:

Se f for a fracção da computação paralela realizada a executar computações sequenciais então:

p

par

C

seq

C

par

C

seq

C

p

S

)

(

)

(

)

(

)

(

)

(

+

+

(

)

p

C(par)

C(seq)

p

C(par)

f

p

par

C

seq

C

seq

C

f

+

=

+

=

e

1

)

(

)

(

)

(

(11)

Ricardo Rocha DCC-FCUP 21

Lei de

Lei de Gustafson

Gustafson-

-Barsis

Barsis

Logo: Simplificando:

⎟⎟

⎜⎜

+

×

×

=

⎟⎟

⎜⎜

+

×

=

p

par

C

seq

C

f

p

par

C

p

par

C

seq

C

f

seq

C

)

(

)

(

)

1

(

)

(

)

(

)

(

)

(

(

)

(

)

(

f

)

S

p

p

f

(

p

)

p

f

p

S

p

par

C

seq

C

p

par

C

seq

C

f

p

f

p

S

×

+

×

+

+

⎟⎟

⎜⎜

+

×

×

+

1

)

(

1

)

(

)

(

)

(

)

(

)

(

1

)

(

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Lei de

Lei de Gustafson

Gustafson-

-Barsis

Barsis

Seja 0 ≤ f ≤ 1 a fracção da computação paralela realizada a executar computações sequenciais. A lei de Gustafson-Barsis diz-nos que o speedup máximo que uma aplicação paralela com p processadores pode obter é:

Enquanto a lei de Amdahl parte do tempo de execução sequencial para estimar o speedup máximo passível de ser conseguido em múltiplos processadores, a lei de Gustafson-Barsis faz precisamente o contrário, ou seja, parte do tempo de execução em paralelo para estimar o speedup máximo comparado com a execução sequencial.

(

p

)

f

p

p

(12)

Ricardo Rocha DCC-FCUP 23

Lei de

Lei de Gustafson

Gustafson-

-Barsis

Barsis

Considere que uma determinada aplicação executa em 220 segundos em 64 processadores. Qual é o speedup máximo da aplicação sabendo que por experimentação verificou-se que 5% do tempo de execução é passado em computações sequenciais.

Suponha que uma determinada companhia pretende comprar um supercomputador com 16.384 processadores de modo a obter um speedup de 15.000 num problema de fundamental importância. Qual é a fracção máxima da execução paralela que pode ser passada em computações sequenciais de modo a se atingir o speedup pretendido?

85

,

60

15

,

3

64

)

64

1

(

)

05

,

0

(

64

)

(

p

+

×

=

=

S

084

,

0

384

.

1

383

.

16

)

384

.

16

1

(

384

.

16

000

.

15

×

×

+

f

f

f

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Limitações da Lei de

Limitações da Lei de Gustafson

Gustafson-

-Barsis

Barsis

Ao usar o tempo de execução em paralelo como o ponto de partida, em lugar do tempo de execução sequencial, a lei de Gustafson-Barsis assume que a execução com um só processador é no pior dos casos p vezes mais lenta que a execução com p processadores.

Isso pode não ser verdade se a memória disponível para a execução com um só processador for insuficiente face à computação realizada pelos p processadores. Por este motivo, o speedup estimado pela lei de Gustafson-Barsis é habitualmente designado por scaled speedup.

(13)

Ricardo Rocha DCC-FCUP 25

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Consideremos novamente a definição do tempo de execução sequencial e do tempo de execução em paralelo:

Seja e a fracção sequencial determinada experimentalmente duma computação paralela:

)

(

)

(

)

(

)

(

)

(

)

(

)

1

(

com

C

p

par

C

seq

C

p

T

par

C

seq

C

T

+

+

=

+

=

)

1

(

)

(

T

seq

C

e

=

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Logo:

Se considerarmos que C(com) é desprezável então:

Por outro lado:

)

1

(

)

1

(

)

(

)

1

(

)

(

T

e

par

C

T

e

seq

C

×

=

×

=

)

(

)

(

)

1

(

)

(

)

1

(

)

(

p

T

p

S

T

p

T

T

p

S

×

=

=

p

T

e

T

e

p

T

(

)

=

×

(

1

)

+

(

1

)

×

(

1

)

(14)

Ricardo Rocha DCC-FCUP 27

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Simplificando:

p

p

p

S

e

p

p

e

p

S

p

e

p

e

p

S

p

e

e

p

S

p

p

S

e

p

S

e

p

p

T

p

S

e

p

T

p

S

e

p

T

1

1

1

)

(

1

1

1

1

)

(

1

1

)

(

1

)

1

(

)

(

1

)

(

)

1

(

)

(

1

)

(

)

(

)

1

(

)

(

)

(

)

(

=

+

⎟⎟

⎜⎜

×

=

+

=

+

=

×

+

×

=

×

×

+

×

×

=

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Seja S(p) o speedup duma aplicação paralela com p > 1 processadores. A métrica de Karp-Flatt diz-nos que a fracção sequencial determinada experimentalmente é:

A métrica de Karp-Flatt é interessante porque ao desprezar o custo das operações de comunicação/sincronização/iniciação associadas à introdução de paralelismo numa aplicação, permite-nos determinar à posteriori qual a importância da componente C(com) no eventual decréscimo de eficiência da aplicação.

p

p

p

S

e

1

1

1

)

(

1

=

(15)

Ricardo Rocha DCC-FCUP 29

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Por definição, a fracção sequencial determinada experimentalmente é um valor constante que não depende do número de processadores.

Por outro lado, a métrica de Karp-Flatt é uma função do número de processadores.

)

1

(

)

(

T

seq

C

e

=

p

p

p

S

e

1

1

1

)

(

1

=

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Como a eficiência duma aplicação é uma função decrescente do número de processadores, a métrica de Karp-Flatt permite-nos determinar qual a importância da componente C(com) nesse decréscimo.

Se os valores de e forem constantes à medida que o número de processadores aumenta isso significa que a componente C(com) é também constante. Logo, o decréscimo da eficiência é devido à existência de pouco paralelismo no problema.

Se os valores de e aumentarem à medida que o número de processadores aumenta isso significa que o decréscimo é devido à componente C(com), ou seja, à existência de custos excessivos associados à computação em paralelo (custos de comunicação, sincronização e/ou iniciação da computação).

(16)

Ricardo Rocha DCC-FCUP 31

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Por exemplo, a métrica de Karp-Flatt permite-nos detectar fontes de ineficiência não consideradas pelo modelo que assume que p processadores executam a parte que pode ser paralelizável p vezes mais rápido do que a execução com um só processador.

Se tivermos 5 processadores para resolver um problema decomposto em 20 tarefas indivisíveis, todos os processadores podem executar 4 tarefas. Se todas as tarefas demorarem o mesmo tempo a executar então o tempo de execução em paralelo será uma razão de 4.

Por outro lado, se tivermos 6 processadores para resolver o mesmo problema, 4 processadores podem executar 3 tarefas mas dois deles terão necessariamente de executar 4. Isto faz com que o tempo de execução em paralelo seja igualmente uma razão de 4 e não uma razão de 20/6.

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Considere os seguintes speedups obtidos por uma determinada aplicação paralela:

Qual é a principal razão para a aplicação obter apenas um speedup de 4,71 com 8 processadores?

Como e não aumenta com o número de processadores, isso significa que a principal razão para o baixo speedup é a falta de paralelismo existente no problema.

0,100 0,100 0,100 0,100 0,100 0,100 0,099 e 4,71 4,38 4,00 3,57 3,08 2,50 1,82 S(p)

6 CPUs 7 CPUs 8 CPUs 5 CPUs

4 CPUs 3 CPUs

(17)

Ricardo Rocha DCC-FCUP 33

Métrica de

Métrica de Karp

Karp-

-Flatt

Flatt

Considere os seguintes speedups obtidos por uma determinada aplicação paralela:

Qual é a principal razão para a aplicação obter apenas um speedup de 4,71 com 8 processadores?

Como e aumenta ligeiramente com o número de processadores, isso significa que a principal razão para o baixo speedup são os custos associados à computação em paralelo.

4,71 4,46 4,14 3,73 3,23 2,61 1,87 S(p) 0,100 0,095 0,090 0,085 0,079 0,075 0,070 e

6 CPUs 7 CPUs 8 CPUs 5 CPUs

4 CPUs 3 CPUs

2 CPUs

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Eficiência e

Eficiência e Escalabilidade

Escalabilidade

Dos resultados anteriores podemos concluir que a eficiência duma aplicação é:

Uma função decrescente do número de processadores. Tipicamente uma função crescente do tamanho do problema.

(18)

Ricardo Rocha DCC-FCUP 35

Eficiência e

Eficiência e Escalabilidade

Escalabilidade

Uma aplicação é dita de escalável quando demonstra a capacidade de manter a mesma eficiência à medida que o número de processadores e a complexidade do problema aumentam proporcionalmente.

A escalabilidade duma aplicação reflecte a sua capacidade de utilizar mais recursos computacionais de forma efectiva.

Eficiência 0,16 0,28 0,53 0,81 1 n = 10.000 0,42 0,59 0,80 0,94 1 n = 20.000 0,58 0,74 0,89 0,96 1 n = 30.000 16 CPUs 8 CPUs 4 CPUs 2 CPUs 1 CPU

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de

Isoeficiência

Isoeficiência

A eficiência duma aplicação é tipicamente uma função crescente do tamanho do problema porque a complexidade de comunicação é habitualmente inferior à complexidade da computação, ou seja, a forma de manter o mesmo nível de eficiência quando aumentamos o número de processadores é aumentar o tamanho do problema. A métrica de isoeficiência formaliza esta ideia.

Consideremos novamente a medida de speedup definida anteriormente:

(

)

(

)

)

(

)

(

)

1

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

com

C

p

seq

C

p

par

C

seq

C

par

C

seq

C

p

com

C

p

par

C

seq

C

p

par

C

seq

C

p

com

C

p

par

C

seq

C

par

C

seq

C

p

S

×

+

×

+

+

+

×

=

×

+

+

×

+

×

=

+

+

+

=

(19)

Ricardo Rocha DCC-FCUP 37

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Seja T0(p) o tempo de execução dispendido pelos p processadores do algoritmo paralelo a realizar computações não realizadas pelo algoritmo sequencial:

Simplificando:

)

(

)

(

)

1

(

)

(

0

p

p

C

seq

p

C

com

T

=

×

+

×

(

)

)

1

(

)

(

1

1

)

(

)

(

)

(

1

1

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

0 0 0 0

T

p

T

par

C

seq

C

p

T

p

T

par

C

seq

C

par

C

seq

C

p

E

p

T

par

C

seq

C

par

C

seq

C

p

p

S

+

=

+

+

=

+

+

+

=

+

+

+

×

=

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Então:

Se pretendermos manter o mesmo nível de eficiência quando aumentamos o número de processadores então:

)

(

)

(

1

)

(

)

1

(

)

(

)

(

1

)

1

(

)

(

)

1

(

)

(

1

1

)

(

0 0 0

p

T

p

E

p

E

T

p

E

p

E

T

p

T

T

p

T

p

E

×

=

=

+

=

)

(

)

1

(

e

)

(

1

)

(

0

p

T

c

T

c

p

E

p

E

×

=

(20)

Ricardo Rocha DCC-FCUP 39

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Seja E(p) a eficiência duma aplicação paralela com p processadores. A métrica de isoeficiência diz-nos que para se manter o mesmo nível de eficiência quando aumentamos o número de processadores então o tamanho do problema deve ser aumentado de forma a que a seguinte desigualdade seja satisfeita:

A aplicação da métrica de isoeficiência pode depender da quantidade de memória disponível, pois o tamanho máximo do problema que pode ser resolvido é limitado por essa quantidade.

)

(

)

(

)

1

(

)

(

e

)

(

1

)

(

que

em

)

(

)

1

(

0 0

com

C

p

seq

C

p

p

T

p

E

p

E

c

p

T

c

T

×

+

×

=

=

×

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Suponha que a métrica de isoeficiência para um problema de tamanho n nos é dada por uma função do número de processadores p:

Se M(n) designar a quantidade de memória necessária para resolver o problema de tamanho n então:

Ou seja, para se manter o mesmo nível de eficiência, a quantidade de memória necessária por processador é:

)

( p

f

n

(

f

( p

)

)

M

n

(

)

p

p

f

M

(

)

(21)

Ricardo Rocha DCC-FCUP 41

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Eficiência não pode ser mantida e deve decrescer

Mem ó ria p o r pr ocessador Número de processadores Eficiência pode ser mantida limite de memória

p

p

c

×

×

log

p

c

×

c

p

c

×

log

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

Métrica de

Métrica de

Isoeficiência

Isoeficiência

Considere que a versão sequencial de uma determinada aplicação tem complexidade O(n3) e que o tempo de execução dispendido por cada um dos p processadores da

versão paralela em operações de comunicação/sincronização é O(n2 log p). Se a

quantidade de memória necessária para representar um problema de tamanho n for n2, qual é a escalabilidade da aplicação em termos de memória?

Logo, a escalabilidade da aplicação é baixa.

p

p

c

p

p

p

c

p

p

p

c

M

n

n

M

p

p

c

n

p

n

p

c

n

2 2 2 2 2 2 2 3

log

log

)

log

(

)

(

log

log

×

×

=

×

×

=

×

×

=

×

×

×

×

×

(22)

Ricardo Rocha DCC-FCUP 43

Speedup

Speedup

Superlinear

Superlinear

O speedup diz-se superlinear quando o rácio entre o tempo de execução sequencial e o tempo de execução em paralelo com p processadores é maior do que p.

Alguns dos factores que podem fazer com que o speedup seja superlinear são:

Custos de comunicação/sincronização/iniciação praticamente inexistentes. Tolerância à latência da comunicação.

Aumento da capacidade de memória (o problema passa a caber todo em memória). Subdivisão do problema (tarefas menores geram menos cache misses).

Aleatoriedade da computação em problemas de optimização ou com múltiplas soluções.

p

p

T

T

)

(

)

1

(

Programação Paralela e Distribuída 2007/08 Métricas de Desempenho

“Se um único computador (processador) consegue resolver um problema em N segundos, podem N computadores (processadores)

resolver o mesmo problema em 1 segundo?”

Speedup

Referências

Documentos relacionados

Se você mantiver o barco atracado na água, incline sempre o motor de popa para que a caixa de engrenagens fique completamente fora da água (exceto em temperaturas de

Para maiores detalhes acerca das Métricas Alternativas de Desempenho e Métricas Não-IFRS utilizadas, incluindo sua definição ou eventual reconciliação entre quaisquer

A ênfase deste estudo foi nos passos necessários para a fase inicial do processo de seleção dos indicadores de desempenho da P&D. Esta fase, antes da seleção efetiva das

As métricas estatísticas utilizadas possuem o objetivo de avaliar o desempenho e permitir uma comparação quantitativa e qualitativa entre os dados de precipitação

Quando o olhar é para a gestão de fornecedores, os critérios apontados como mais relevantes, ainda que em proporções diferentes, são praticamente os mes- mos que se destacam como

O presente estudo avaliativo do Projeto de Capacitação de Recursos Humanos para o Ensino de 1 o grau decorreu de convênio firmado entre o Departa- mento de Ensino Fundamental

Estes codificam para as proteínas hamartina e tuberina, respectivamente, que se associam formando um complexo macromolecular que regula funções como proliferação,

Convênio dos Estados Dest.. Convênio dos