• Nenhum resultado encontrado

Considerações de desempenho

N/A
N/A
Protected

Academic year: 2021

Share "Considerações de desempenho"

Copied!
34
0
0

Texto

(1)

Considera¸ c˜ oes de desempenho

• M´ etricas de desempenho

• Escalabilidade

• Elimina¸ c˜ ao de atrasos

• Escalonamento eficiente

(2)

M´ etricas de Desempenho

• Speedup

• Eficiˆ encia

• Redundˆ ancia

• Utiliza¸ c˜ ao

• Qualidade

2

(3)

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 //

(4)

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

(5)

M´ etricas

(6)

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

(7)

Escalabilidade

• Modelos de aplicacoes

• Limites algor´ıtmicos

• Limites arquiteturais

(8)

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

(9)

Modelos de Aplica¸ c˜ oes

Incluir figura 3.6 do Hwang.

(10)

Limites Algor´ıtmicos

• Falta de paralelismo

• Frequˆ encia de sincroniza¸ c˜ ao

• Padr˜ ao de comunica¸ c˜ ao/acesso

• Escalonamento deficiente

10

(11)

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

(12)

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

(13)

Amdahl’s Law

Incluir figura 3.8 do Hwang.

(14)

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

(15)

Gustafson’s Law

Incluir figura 3.9 do Hwang.

(16)

Mem´ oria Fixa

Incluir figura 3.10 do Hwang.

16

(17)

Speedup Superlinear

• Overhead reduzido (escalonamento, por exemplo)

• Mais mem´ oria/cache

• Tolerˆ ancia a latˆ encia

• Randomiza¸ c˜ ao (problemas de otimiza¸ c˜ ao)

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

NCP 2 : Arquitetura da 1a. vers˜ ao

Protocol Controller Network

Interface

Cache L2 PCI Bridge DRAM

Microprocessor

Network PCI Bus

Memory Bus

(26)

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

(27)

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

(28)

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

8

Overlap 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

(29)

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

(30)

Sum´ ario de Resultados

(31)

Resultados para TM Modificado

0 50 100 150 200 250 300 350 400 450 500

(%)

Best Running Time

100 149

621 ^

100 134

672 ^

100 117 1141 ^

busy

data

synch

ipc

others

(32)

NCP 2 : Tecnologias

Hardware

• Placas m˜ ae baseadas no Power PC 604

• Rede de interconex˜ ao Myrinet

• Processador i960 no CP

• Tecnologia: EPLDs Software

• Linux

• TreadMarks modificado

• DSMs desenvolvidos na COPPE/UFRJ

31

(33)

Escalonamento Eficiente

Time slicing em geral tem p´ essimo desempenho para maquinas paralelas Op¸ c˜ oes:

• Affinity scheduling

• Gang scheduling

• Hardware partitions

(34)

Escalonamento Eficiente

Time slicing: Unix para multiprocs Affinity scheduling: roda processo em processador “afim”

Gang scheduling: todos os processos de uma aplica¸ c˜ ao rodam juntos

Hardware partitions: parti¸ c˜ ao reservada para cada aplica¸ c˜ ao

Process control: aplica¸ c˜ ao se adapta a parti¸ c˜ oes mutantes

33

Referências

Documentos relacionados

Revisão geral do procedimento para incluir como a DIRF fará a gestão no ciclo de um novo radiofármaco (Transferência de Tecnologia da Função Pesquisa e Desenvolvimento para

Salvador de Madariaga, tan adepto a la prafundiza- cion en el caracter, como 10 demostr6 en otros trabajos, sobre todo ensayos -me refiera a Gufo dellec/Qr del

The consumption of alcohol is perceived by professionals without taking into consideration the social and cultural logic of consumption es- tablished by the indigenous people

Para a etapa de análise de dados do presente trabalho, foi realizado um recorte do banco de dados do estudo maior, utilizando-se apenas as respostas dos 373 municípios

Trata-se de uma análise transversal de dados coletados no período pós-parto do estudo prospectivo observacional longitudinal intitulado “Impacto das variações do ambiente

A fim de informar ao gestor sobre as perdas ocorridas no processo produtivo, podendo este controlá-las e reduzi-las, este trabalho tem como objetivo principal