34
Considera¸c˜ oes de desempenho etricas de desempenho Escalabilidade Elimina¸c˜ ao de atrasos Escalonamento eficiente 1

M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

  • Upload
    lenhi

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Consideracoes de desempenho

• Metricas de desempenho

• Escalabilidade

• Eliminacao de atrasos

• Escalonamento eficiente

1

Page 2: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Metricas de Desempenho

• Speedup

• Eficiencia

• Redundancia

• Utilizacao

• Qualidade

2

Page 3: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Metricas

Speedup = grau de melhora de desempenho

Eficiencia = porcao utilizada da capacidade

Redundancia = aumento da carga qdo em p

processadores

Utilizacao = utilizacao dos recursos durante

computacao

Qualidade = importancia de utilizar

processamento //

3

Page 4: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Metricas

Speedup s(p) = T(1) / T(p), onde T(1) =

tempo do melhor algoritmo sequencial

possıvel e p = numero de processadores

Eficiencia e(p) = s / p = T(1) / (p T(p))

Redundancia r(p) = O(p) / O(1), onde O(p)

= numero total de ops em maquina com p

processadores

Utilizacao u(p) = r(p) e(p) = O(p) / (p

T(p))

Qualidade q(p) = (s(p) e(p)) / r(n) =

T3(1)/(pT2(p)O(p))

4

Page 5: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Metricas

5

Page 6: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Outras Metricas

• MIPS

• MFLOPS

• Dhrystone = 100 comandos; CPU

intensivo; ints

• Whetstone = FORTRAN; indexacao de

arrays, chamadas de subrotinas, etc; ints

e floats

• SPEC

• Perfect Club

6

Page 7: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Escalabilidade

• Modelos de aplicacoes

• Limites algorıtmicos

• Limites arquiteturais

7

Page 8: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Modelos de Aplicacoes

• Carga fixa = maquinas maiores para

computar + rapido

• Tempo fixo = maquinas maiores para

problemas maiores

• Memoria fixa = maquinas maiores para

problemas que precisam de + mem

8

Page 9: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Modelos de Aplicacoes

Incluir figura 3.6 do Hwang.

9

Page 10: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Limites Algorıtmicos

• Falta de paralelismo

• Frequencia de sincronizacao

• Padrao de comunicacao/acesso

• Escalonamento deficiente

10

Page 11: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Limites Arquiteturais

• Latencia/banda de comunicacao

• Latencia/banda de E/S

• Overhead de sincronizacao

• Overhead de coerencia

• Capacidade de memoria

11

Page 12: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Amdahl’s Law

Speedup s = T(1)/T(p)

Trabalho total c = Ts + Tp = T(1)

T(p) = Ts + Tp/p

s = (Ts + Tp) / (Ts + Tp/p) =

= c / (Ts + Tp/p) → c/Ts qdo p → inf

12

Page 13: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Amdahl’s Law

Incluir figura 3.8 do Hwang.

13

Page 14: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Gustafson’s Law

Tempo total c = Ts + Tp, fixo

Trabalho total = Ts + pTp, assumindo tam

problema aumenta linear/

scaled speedup = trabalho total / tempo

total

ss = (Ts + pTp) / (Ts + Tp) =

= (Ts + pTp)/c = (Ts + p(c-Ts))/c =

= p + (Ts (1-p))/c, linear em Ts

14

Page 15: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Gustafson’s Law

Incluir figura 3.9 do Hwang.

15

Page 16: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Memoria Fixa

Incluir figura 3.10 do Hwang.

16

Page 17: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Speedup Superlinear

• Overhead reduzido (escalonamento, por

exemplo)

• Mais memoria/cache

• Tolerancia a latencia

• Randomizacao (problemas de otimizacao)

17

Page 18: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Tolerancia a Overheads

Ideia e sobrepor overheads com computacao

ou overheads com overheads

Tecnicas mais usadas

• Caches

• Prefetching

• Multithreading

• Consistencia relaxada

• Protocolos baseados em updates

18

Page 19: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

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 ja 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 proximo bloco

Ex: Compilador insere instrucao de prefetch

para dado acessado no futuro

19

Page 20: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

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

Page 21: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Consistencia Relaxada

Procura permitir a buferizacao e pipeline de

escritas para sistemas baseados em memoria

compartilhada, sem que haja necessidade

imediata de estabelecer a coerencia 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

21

Page 22: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Update Protocols

Evitam a latencia de comunicacao por nao

invalidar dados compartilhados em sistemas

baseados em memoria compartilhada

Problema: comunicacao excessiva de

atualizacoes (inuteis)

Alguns protocolos combinam atualizacoes e

invalidacoes para melhorar a performance

Assim como outras tecnicas de coerencia,

implementacao possıvel em hardware ou

software (compilador ou runtime system)

Ex: Munin (release consistency com updates

atrasados)

Ex: Poststore na KSR

22

Page 23: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

NCP2 da COPPE/UFRJ

Memoria compartilhada em SW com auxılio

de HW (CP)

• Facilidade de programacao

• Baixo custo

• Alto desempenho

Facilidade de programacao: modelo de

memoria compartilhada

Baixo custo: base em SW, HW independente

de plataforma, componentes off-the-shelf

Alto desempenho: tempo curto de projeto e

tolerancia a overheads de comunicacao e

coerencia

23

Page 24: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Tolerancia a Overheads

CP gera diffs antecipadamente

CP busca dados remotos antecipadamente

CP executa tarefas basicas de comunicacao e

coerencia

CP acumula diffs on-the-fly (geracao e

aplicacao em HW)

24

Page 25: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

NCP2: Arquitetura da 1a. versao

ProtocolController

NetworkInterface

Cache L2 PCI Bridge DRAM

Microprocessor

Network

PCI Bus

Memory Bus

Arquitetura de um No

25

Page 26: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

NCP2: Arquitetura da 1a. versao

DRAM

PCI Bridge

Protocol Controller

EngineDMA

SnoopLogic

CoreRISC

Memory Bus

PCI Bus

Arquitetura do CP

26

Page 27: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

NCP2: Software

Processador executa tarefas complicadas

Controlador de Protocolos

• Busca e retorno de dados remotos

• Geracao e aplicacao de diffs locais e

remotos

• Controle de acesso a diretorios

• Passagem de mensagens ativas

27

Page 28: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Resultados para TM Modificado

Base I I+D P I+P I+P+D0

1

2

3

4

5

6

7

8

9

10x 10

8

Overlap Mode

Num

ber

of C

ycle

s

TreadMarks Running Time − Ocean

100%95%

65%71%

64%

49%

busy data synch ipc others

Comparacao com TM Padrao

28

Page 29: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Resultados para TM Modificado

TSP Water Radix 0

10

20

30

40

50

60

70

80

90

100

Aplicacao

(%)

Tempo de Execucao Sob TreadMarks

10096

100

89

100

71busy data synch ipc others

Barnes Em3d Ocean 0

10

20

30

40

50

60

70

80

90

100

Aplicacao

(%)

Tempo de Execucao Sob TreadMarks

100

67

100

57

100

49

busy data synch ipc others

29

Page 30: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Sumario de Resultados

Page 31: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Resultados para TM Modificado

Barnes Em3d Ocean 0

50

100

150

200

250

300

350

400

450

500

Application

(%)

Best Running Time

100

149

621^

100

134

672^

100117

1141^

busy data synch ipc others

Comparacao com AURC

30

Page 32: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

NCP2: Tecnologias

Hardware

• Placas mae baseadas no Power PC 604

• Rede de interconexao Myrinet

• Processador i960 no CP

• Tecnologia: EPLDs

Software

• Linux

• TreadMarks modificado

• DSMs desenvolvidos na COPPE/UFRJ

31

Page 33: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Escalonamento Eficiente

Time slicing em geral tem pessimo

desempenho para maquinas paralelas

Opcoes:

• Affinity scheduling

• Gang scheduling

• Hardware partitions

• Process control

32

Page 34: M´etricas de desempenho Escalabilidade Elimina¸c˜ao de ...ines/aulas/CP/metricas.pdf · Metricas Speedup = grau de melhora de desempenho Eficiˆencia = por¸c˜ao utilizada da

Escalonamento Eficiente

Time slicing: Unix para multiprocs

Affinity scheduling: roda processo em

processador “afim”

Gang scheduling: todos os processos de uma

aplicacao rodam juntos

Hardware partitions: particao reservada para

cada aplicacao

Process control: aplicacao se adapta a

particoes mutantes

33