Você está na página 1de 54

Programação Concorrente e

Distribuída
Aula 5 – Avaliação de desempenho

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
ATIVIDA
DE
1. FPPQ some os números de um intervalo.

2. FPPQ some os números primos de um intervalo.

3. FPPQ identifique o maior valor de um vetor.

Sempre avaliar o desempenho e apresentar

RELATÓRIO

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação Prof. Edson Francisco da Fonseca
VOLUME DE TRABALHO

0 n

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
VOLUME DE TRABALHO
THREAD=4

Partes = n/THREAD
Partes = 25

0 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
VOLUME DE TRABALHO
THREAD=4

Partes = n/THREAD
Partes = 25

325 950 1575 2200


0 25 50 75 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
ATIVIDADE
2. FPPQ some os números primos de um intervalo.
Threads Tempo = Milisegundos Speedup
1 155.493 153.767 75.900 75.486 75.949 107.319
2 57.849 58.344 57.355 58.117 57.754 57.884 1,85
4 38.062 38.752 38.301 38.654 38.132 38.380 2,80
8 24.651 24.724 24.648 24.589 24.804 24.683 4,35
16 24.102 23.848 24.278 23.366 23.985 23.916 4,49
32 23.520 24.107 22.774 23.427 23.055 23.377 4,59
64 22.923 23.087 22.698 23.313 22.940 22.992 4,67
128 23.229 22.636 22.758 22.932 23.011 22.913 4,68
256 22.533 22.597 22.767 22.306 22.886 22.618 4,74

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
THREAD=4
VOLUME DE TRABALHO
𝑛𝑛 =100
𝑛𝑛 ∙ (𝑛𝑛 + 1)
𝑣𝑣𝑜𝑜𝑙𝑙𝑢𝑢𝑚𝑚𝑒𝑒 = 𝑖𝑖 = = 5050
2
𝑖𝑖=1

𝑣𝑣𝑜𝑜𝑙𝑙𝑢𝑢𝑚𝑚𝑒𝑒
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = = 1.262,5
𝑇𝑇𝐻𝐻𝑅𝑅𝐸𝐸𝐴𝐴𝐷𝐷

0 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = 1.262,5 VOLUME DE TRABALHO
𝑛𝑛=𝑥𝑥

𝑥𝑥 → 𝑖𝑖 = 1263
𝑖𝑖=1

0 x n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = 1.262,5
VOLUME DE TRABALHO
𝑥𝑥
𝑛𝑛=𝑥𝑥 x ∙ (x + 1) Somatório
𝑥𝑥 → 𝑖𝑖 = 1263 � 𝑖𝑖 =
2
𝑖𝑖=1
𝑖𝑖=1

𝑥𝑥. (𝑥𝑥 + 1) Progressão aritmética


1263 =
2

−1 + 12 − 4 ∗ 1 ∗ −2526 Equação de segundo


𝑥𝑥 = = 49,76 grau
2∗1

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = 1.262,5
VOLUME DE TRABALHO
−1 + 12 − 4 ∗ 1 ∗ −2526
𝑥𝑥 = = 49,76
2∗1

𝑥𝑥 ≅ 50

0 x = 50 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
VOLUME DE TRABALHO
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = 2526

−1 + 1 + 4 ∙ 1263 ∙ 2 + 51 ∙ 51 − 51
𝑥𝑥 =
2

𝑥𝑥 ≅ 71

0 50 71 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
VOLUME DE TRABALHO
𝑝𝑝𝑎𝑎𝑟𝑟𝑡𝑡𝑒𝑒 = 3789

−1 + 1 + 4 ∙ 1263 ∙ 2 + 72 ∙ 72 − 72
𝑥𝑥 =
2

𝑥𝑥 ≅ 87

0 50 71 87 n=100

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
ATIVIDADE
2. FPPQ some os números primos de um intervalo.
Threads Tempo = Milisegundos Speedup
1 615 617 619 613 613 615,4
2 331 338 336 345 346 339,2 1,81
4 205 225 202 204 209 209,0 2,94
8 149 165 165 155 160 158,8 3,88
16 144 157 150 144 149 148,8 4,14
32 147 146 150 151 151 149,0 4,13
64 144 143 144 146 146 144,6 4,26
128 155 158 160 156 155 156,8 3,92
256 180 183 179 177 171 178,0 3,45

Universidade Católica de Brasília Programação Concorrente e Distribuída


Ciência da Computação
Exercício
• Uma aplicação foi paralelizada e testada 5 vezes, gerando a seguinte tabela de
tempos de execução:

• Calcule os indicadores de speedup, eficiência, redundância, utilização e qualidade


considerando o tempo médio de cada tentativa de paralelização (a média dos
tempos de cada linha da tabela)
• Considere que cada thread rodou em um processador diferente
• Considere que 80% das operações foram paralelizadas
Lei de Amdahl:
Outra formulação:

1 Onde:
𝑆𝑆𝑝𝑝 =
1 − 𝑃𝑃 + 𝑃𝑃
 N = Número de processadores
𝑁𝑁  P = Percentual (1=100%)
paralelizável
Exercício
• Voltando à nossa aplicação que foi paralelizada e testada 5 vezes, gerando
a tabela de tempos de execução já mostrada:

• Calcule quanto deveria ser o speedup segundo a Lei de Amdahl para cada
caso
• Considere que cada thread rodou em um processador diferente
• Considere que 80% das operações foram paralelizadas
Exercício
• Voltando à nossa aplicação que foi paralelizada e testada 5 vezes, gerando
a tabela de tempos de execução já mostrada:

• Calcule quanto deveria ser o speedup segundo a Lei de Gustafson-Barsis


para cada caso
• Considere que cada thread rodou em um processador diferente
• Considere que 80% das operações foram paralelizadas

Você também pode gostar