Considera¸ c˜ oes de desempenho
• M´ etricas de desempenho
• Escalabilidade
• Elimina¸ c˜ ao de atrasos
• Escalonamento eficiente
M´ etricas de Desempenho
• Speedup
• Eficiˆ encia
• Redundˆ ancia
• Utiliza¸ c˜ ao
• Qualidade
2
Metricas
Speedup = grau de melhora de desempenho Eficiˆ encia = por¸ c˜ ao utilizada da capacidade Redundˆ ancia = aumento da carga qdo em p processadores
Utiliza¸ c˜ ao = utiliza¸ c˜ ao dos recursos durante computa¸ c˜ ao
Qualidade = importˆ ancia de utilizar
processamento //
Metricas
Speedup s(p) = T(1) / T(p), onde T(1) = tempo do melhor algoritmo sequencial
poss´ıvel e p = n´ umero de processadores Eficiˆ encia e(p) = s / p = T(1) / (p T(p)) Redundˆ ancia r(p) = O(p) / O(1), onde O(p)
= n´ umero total de ops em m´ aquina com p processadores
Utiliza¸ c˜ ao u(p) = r(p) e(p) = O(p) / (p T(p))
Qualidade q(p) = (s(p) e(p)) / r(n) = T 3 (1) / ( pT 2 ( p ) O ( p ))
4
M´ etricas
Outras M´ etricas
• MIPS
• MFLOPS
• Dhrystone = 100 comandos; CPU intensivo; ints
• Whetstone = FORTRAN; indexa¸ c˜ ao de arrays, chamadas de subrotinas, etc; ints e floats
• SPEC
• Perfect Club
6
Escalabilidade
• Modelos de aplicacoes
• Limites algor´ıtmicos
• Limites arquiteturais
Modelos de Aplica¸ c˜ oes
• Carga fixa = m´ aquinas maiores para computar + r´ apido
• Tempo fixo = m´ aquinas maiores para problemas maiores
• Mem´ oria fixa = m´ aquinas maiores para problemas que precisam de + mem
8
Modelos de Aplica¸ c˜ oes
Incluir figura 3.6 do Hwang.
Limites Algor´ıtmicos
• Falta de paralelismo
• Frequˆ encia de sincroniza¸ c˜ ao
• Padr˜ ao de comunica¸ c˜ ao/acesso
• Escalonamento deficiente
10
Limites Arquiteturais
• Latˆ encia/banda de comunica¸ c˜ ao
• Latˆ encia/banda de E/S
• Overhead de sincroniza¸ c˜ ao
• Overhead de coerˆ encia
• Capacidade de mem´ oria
Amdahl’s Law
Speedup s = T(1)/T(p)
Trabalho total c = T s + T p = T(1) T(p) = T s + T p /p
s = (T s + T p ) / (T s + T p /p) =
= c / (T s + T p /p) → c/T s qdo p → inf
12
Amdahl’s Law
Incluir figura 3.8 do Hwang.
Gustafson’s Law
Tempo total c = T s + T p , fixo
Trabalho total = T s + pT p , assumindo tam problema aumenta linear/
scaled speedup = trabalho total / tempo total
ss = (T s + pT p ) / (T s + T p ) =
= (T s + pT p )/c = (T s + p(c-T s ))/c =
= p + (T s (1-p))/c, linear em T s
14
Gustafson’s Law
Incluir figura 3.9 do Hwang.
Mem´ oria Fixa
Incluir figura 3.10 do Hwang.
16
Speedup Superlinear
• Overhead reduzido (escalonamento, por exemplo)
• Mais mem´ oria/cache
• Tolerˆ ancia a latˆ encia
• Randomiza¸ c˜ ao (problemas de otimiza¸ c˜ ao)
Tolerˆ ancia a Overheads
Id´ eia ´ e sobrepor overheads com computa¸ c˜ ao ou overheads com overheads
T´ ecnicas mais usadas
• Caches
• Prefetching
• Multithreading
• Consistˆ encia relaxada
• Protocolos baseados em updates
18
Prefetching
Procura trazer dados para perto do processador antecipadamente
Pode ser implementado em hardware,
software (compilador ou runtime system), ou de forma h´ıbrida (hybrid prefetching)
Algum prefetching j´ a ´ e feito por blocos de cache com mais de uma palavra, por page faults, etc
Ex: Numa cache miss, o hardware busca o
bloco que causou a miss e o pr´ oximo bloco
Multithreading
Procura esconder atrasos executando outra(s) thread(s)
Pode ser implementado em hardware ou software (runtime system)
Ex: Numa cache miss, o hardware pede o
bloco que causou a miss, troca de contexto e executa uma outra thread
Ex: Num bloqueio por mensagem, o software passa a executar outra thread
20
Consistˆ encia Relaxada
Procura permitir a buferiza¸ c˜ ao e pipeline de escritas para sistemas baseados em mem´ oria compartilhada, sem que haja necessidade
imediata de estabelecer a coerˆ encia dos dados escritos
Pode ser implementada em hardware ou software (runtime system)
Ex: Release Consistency como em DASH
Ex: Lazy Release Consistency como em
TreadMarks
Update Protocols
Evitam a latˆ encia de comunica¸ c˜ ao por n˜ ao invalidar dados compartilhados em sistemas baseados em mem´ oria compartilhada
Problema: comunica¸ c˜ ao excessiva de atualiza¸ c˜ oes (in´ uteis)
Alguns protocolos combinam atualiza¸ c˜ oes e invalida¸ c˜ oes para melhorar a performance Assim como outras t´ ecnicas de coerˆ encia, implementa¸ c˜ ao poss´ıvel em hardware ou software (compilador ou runtime system)
Ex: Munin (release consistency com updates atrasados)
Ex: Poststore na KSR
22
NCP 2 da COPPE/UFRJ
Mem´ oria compartilhada em SW com aux´ılio de HW (CP)
• Facilidade de programa¸ c˜ ao
• Baixo custo
• Alto desempenho
Facilidade de programa¸ c˜ ao: modelo de
mem´ oria compartilhada
Tolerˆ ancia a Overheads
CP gera diffs antecipadamente
CP busca dados remotos antecipadamente CP executa tarefas b´ asicas de comunica¸ c˜ ao e coerˆ encia
CP acumula diffs on-the-fly (gera¸ c˜ ao e aplica¸ c˜ ao em HW)
24
NCP 2 : Arquitetura da 1a. vers˜ ao
Protocol Controller Network
Interface
Cache L2 PCI Bridge DRAM
Microprocessor
Network PCI Bus
Memory Bus
NCP 2 : Arquitetura da 1a. vers˜ ao
DRAM PCI Bridge Protocol Controller
Engine DMA
Snoop Logic
Core RISC
Memory Bus
PCI Bus
Arquitetura do CP
26
NCP 2 : Software
Processador executa tarefas complicadas Controlador de Protocolos
• Busca e retorno de dados remotos
• Gera¸ c˜ ao e aplica¸ c˜ ao de diffs locais e remotos
• Controle de acesso a diret´ orios
Resultados para TM Modificado
Base I I+D P I+P I+P+D
0 1 2 3 4 5 6 7 8 9 10 x 10
8Overlap Mode
Number of Cycles
TreadMarks Running Time − Ocean
100%
95%
65%
71%
64%
49%
busy data synch ipc others
Compara¸ c˜ ao com TM Padr˜ ao
28
Resultados para TM Modificado
TSP Water Radix 0
10 20 30 40 50 60 70 80 90 100
Aplicacao
(%)
Tempo de Execucao Sob TreadMarks
100 96
100
89
100
71
busy data synch ipc others
70 80 90 100
Tempo de Execucao Sob TreadMarks
100
67
100 100
busy data synch ipc others