A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 PGD – CONTEÚDO PROGRAMÁTICO 1)Introdução a arquitetura de Computadores 1)Introdução 2)Tipos de Computadores 3)Tendências 4)Análises quantitativas 2)Pipelining.

Apresentações semelhantes


Apresentação em tema: "1 PGD – CONTEÚDO PROGRAMÁTICO 1)Introdução a arquitetura de Computadores 1)Introdução 2)Tipos de Computadores 3)Tendências 4)Análises quantitativas 2)Pipelining."— Transcrição da apresentação:

1 1 PGD – CONTEÚDO PROGRAMÁTICO 1)Introdução a arquitetura de Computadores 1)Introdução 2)Tipos de Computadores 3)Tendências 4)Análises quantitativas 2)Pipelining 1)Introdução 2)Pipeline Hazards 3)Como o pipeline é implementado?

2 2 PGD – CONTEÚDO PROGRAMÁTICO 1)Paralelismo a nível de instrução 1)Conceitos 2)Técnicas de compilador 3)Redução de custos com predição 4)Agendamento dinâmico 5)Especulação baseada em Hardware 2)Limites de paralelismo a nivel de instrução 1)Introdução 2)Estudo das limitações 3)Especulação de hardware x software 4)Multithreading

3 3 PGD – CONTEÚDO PROGRAMÁTICO 1)Multiprocessadores e paralelismo a nível de threads 1)Introdução 2)Arquitetura de memória compartilhada 3)Memória compartilhada distribuída 4)Sincronização 5)Consistência de dados 2)Hierarquia de memória 1)Introdução 2)Otimização de memória cache 3)Proteção: Memória virtual e Máquinas virtuais

4 4 PGD – CONTEÚDO PROGRAMÁTICO 1)Sistemas de armazenamento 1)Introdução 2)Tópicos avançados em armazenamento em disco 3)Definições e exemplos de possíveis problemas 4)Estatísticas de perfomance de dispositivos de I/O 2)Tendências atuais e Hardware reconfiguráveis

5 5 PGD – Metodologia e Avaliações Aulas Expositivas através de slides Provas escritas Trabalhos e Seminários

6 6 PGD - BIBLIOGRAFIA Computer Architecture – a quatitative aproach. John L. Hennessy and David A. Patterson. 4ª ed. Arquitetura e Organização de Computadores. William Stalling. 5ª ed. Organização Estruturada de Computadores. Andrew S. Tanenbaum. 5ª ed. Internet Textos distribuídos pelo professor

7 7 Introdução Aumentando-se a velocidade do clock, aumenta-se o desempenho do sistema Einsten definiu o limite de velocidade (c=3x10^8 m/s). No fio de cobre o elétron viaja com velocidade igual a (2/3) * c Velocidade do elétron em um fio de cobre é de aproximadamente 20 cm/ns

8 8 Introdução Gargalo de von Neumann A estrutura tradicional de um computador com uma única CPU que envia requisições sequenciais através de um barramento para uma memória que responde uma requisição por vez tornou-se conhecida como gargalo de von Neumann.

9 9 Introdução Novas aplicações foram surgindo, exigindo cada vez mais desempenho dos sistemas de computadores. Como aumentar o desempenho, considerando que incremento via hardware já está saturado? PARALELISMO !!!!!!

10 10 Introdução Paralelismo Processadores Memória Computadores Instruções (pipeline) Cache ULAs

11 11 Introdução Níveis de paralelismo 1.Paralelismo a nivel de instrução 2.Várias linhas de execução em um mesmo processador 3.Várias linhas de execução em diferentes processadores (dual, quad core) 4.Computadores paralelos interconectados com redes de alta velocidade 5.Cluster de Computadores 6.Computadores na internet

12 12 Conceitos Granularidade Alta granularidade: execução de grandes porções de software em paralelo com pouca ou nenhuma comunicação entre elas Baixa granularidade: partes do computador trabalham juntas para resolver mesmo problema

13 13 Conceitos Acoplamento Fracamente acoplado: Sistemas com um número pequeno de CPUs grandes independentes que possuem conexões de baixa velocidade entre as CPUs Fortemente acoplado: Componentes geralmente pequenos, muito próximos e frequentemente se interagem através de redes de comunicação de alta velocidade Geralmente um sistema fracamente acoplado (hardware) é de alta granularidade (software) e vice-versa

14 14 Conceitos SISD (Single Instruction Single Data): Um único processador executa uma única sequencia de instruções, usando dados armazenados em uma única memória. Sistemas uniprocessadores. SIMD (Single Instrucion Multiple Data): Uma única instrução de máquina controla a execução simultânea de um certo número de elementos de processamento em passo de execução. Cada instrução é executada sobre um conjunto de dados diferentes. Processadores matriciais e vetoriais.

15 15 Conceitos MISD (Multiple Instruction Single Data): uma sequencia de dados é transmitida para um conjunto de processadores, cada um dos quais executa uma sequencia de instruções diferentes. Não existe. MIMD (Multiple Instruction Multiple Data): um conjunto de processadores executa simultaneamente sequencias diferentes de instruções, sobre conjunto de dados distintos. Os SMPs, clusters e sistemas NUMA.

16 16

17 17 Exemplos: Computador Vetorial

18 18 Exemplos: Cluster

19 19 Exemplos: Server Farmer

20 20 TOP 100 SUPERCOMPUTADORES

21 21 Conceitos Custo de comunicação Falhas Particionamen to Segurança Escalabilidad e Aplicações centralizadas Baixo Todo o sistema falha Não há Controle mais simples Limitada por natureza Aplicações distribuidas Mais alto Partes falham independent e-mente Partes podem ficar sem comunicação Vários pontos de entrada Depende do projeto adequado

22 22

23 23 Fundamentos de Arquitetura de Computador SUMÁRIO Introdução Tipos de computadores Definindo uma arquitetura de computadores

24 24 Introdução Incremento exponencial em desempenho de computadores $500 hoje = $1.000.000 em 1985 Primeiros 25 anos, crescimento de 25% ao ano Anos 70, crescimento de 35% ao ano graças ao microprocessador / circuito integrado Sucesso comercial dos computadores devido surgimento de linguagens de alto nível (até então era assembly) e introdução de sistemas operacionais independentes como o UNIX, diminuindo custo.

25 25 Introdução O fato de UNIX ser independente do fabricante do hardware obrigou maior padronização por hardware. Propiciando o surgimento de máquinas RISC. Com isso foca-se em dois ítens críticos de desempenho. Paralelismo a nível de instrução Memórias cache

26 26 Introdução

27 27 Introdução Aumento significativo no desempenho dos computadores pessoais (52%) Garantiu a supremacia dos microcomputadores baseados em um único processador (PCs). Minicomputadores foram substituidos por microcomputadores, Mainframes e até supercomputadores foram substituidos pela união de microcomputadores. A arquitetura de computares, portanto precisa se adequar as novas tendências

28 28 Introdução A partir de 2002, incremento foi de 20% ao ano devido: Superaquecimento, necessidade de ventilação Saturação do paralelismo a nivel de instrução Saturação da velocidade da memória Intel em 2004 anunciou que abandonou o projeto de novo processador mais veloz e passou a garantir maior perfomance através de múltiplos processadores por chip.

29 29 Introdução Portanto, as novas arquiteturas deixaram de focar em paralelismo a nível de instrução (ILP) para focar em paralelismo a nível de thread (TLP) e paralelismo a nível de dados (DLP) Atualmente o ILP é feito implicitamente, de modo transparente ao programador, diferentemente do TLP e DLP, onde o programador necessita explicitar.

30 30 Fundamentos de Arquitetura de Computador SUMÁRIO Introdução Tipos de computadores Definindo uma arquitetura de computadores

31 31 Tipos de Computadores Nos anos 60, os mais populares eram mainframes enormes, custando milhões de dólares, armazenados em uma sala e administrado por operadores. Basicamente para dados de empresas financeiras e computação científica. Nos anos 70 surge o minicomputador focado para aplicações científicas. Múltiplos usuários usavam-no através de terminais. Processamento compartilhado no tempo. Também surge os supercomputadores para aplicações científicas (mais raros, mas importantes).

32 32 Tipos de Computadores Nos anos 80, surgiu o microcomputador servindo como computador pessoal e workstations. Começa a decair o uso de sistemas em tempo compartilhado que é substituído por servidores (maior estabilidade, maior poder de processamento, maior memória). Nos anos 90 surge a internet e o worl wide web, os primeiros computadores pessoais de mão e consumidores de produtos eletrônicos de alto desempenho. A popularidade dos celulares permitiu o surgimento de computadores embarcados.

33 33 Tipos de Computadores Estas alterações no uso do computador levaram a três diferentes mercados de computação, cada um caracterizado por diferentes aplicações, requisitos e tecnologias de computação. No ano de 2005, venderam-se 3 bilhões de processadores embarcados, 200 milhões de desktops e 10 milhões de servidores.

34 34 Tipos de Computadores Desktop Servidores Embarcados

35 35 Tipos de Computadores - DESKTOP Ainda o mercado mais rentável da informática O consumidor tende a “olhar” para o custo- benefício em termos de desempenho. Os novos processadores de alto desempenho e baixo custo são lançados no modelo DESKTOP A diversidade de programas tende a ser um paradigma na arquitetura. E o aumento de aplicações voltadas para a web tendem a se mudar os critérios de análise de desempenho.

36 36 Tipos de Computadores - SERVIDORES Com a guinada para sistemas desktop, o papel de servidores cresceu para fornecer maior escalabilidade e mais confiabilidade aos arquivos e serviços de informática. O WWW acelerou essa tendência Tais servidores se tornaram a espinha dorsal da computação empresarial de grande escala, substituindo os tradicionais mainframes

37 37 Tipos de Computadores - SERVIDORES CONFIABILIDADE !!!!!!!!

38 38 Tipos de Computadores - SERVIDORES ESCALABILIDADE Servidores, muitas vezes, precisam crescer em resposta uma demanda maior de seus serviços. Assim, a capacidade de escalabilidade de poder de processamento, de memória, armazenamento e de I/O é crucial

39 39 Tipos de Computadores - SERVIDORES DESEMPENHO Responder a um usuário é importante, mas mais importante é responder a diversos usuários simultaneamente de modo a manter boa qualidade. Pode-se medir o desempenho através do número de requisições que consegue servir em um segundo.

40 40 Tipos de Computadores - SERVIDORES Supercomputadores. Eles são os computadores mais caros, custando dezenas de milhões de dólares, e eles enfatizam desempenho de pontos flutuantes. Clusters vêm crescendo imensamente. O número de supercomputadores está diminuindo, assim como as empresas que o usam

41 41 Tipos de Computadores - EMBARCADOS São os que crescem a taxas mais altas no mercado Exemplos: geladeira, máquina de lavar, microondas, switches, carros, celulares, PDAs, video-games, DVD, TV, etc. São processadores de 8 ou 16 bits que custam menos de $0,10, processadores de 32 bits que fazem 100 milhões de operações por segundo que custam menos de $5,00 e processadores de ponta que fazem 100 billhões de operações por segundo por $100

42 42 Tipos de Computadores - EMBARCADOS A meta principal dos sistemas embarcados é o PREÇO MÍNIMO possível. O desempenho não é tão essencial. Deve-se atentar para diversos sistemas onde o processamento deve ser em tempo real. O usuário não pode solicitar serviços que não possam ser fornecidos.

43 43 Tipos de Computadores - EMBARCADOS MINIATURIZAÇÃO DE MEMÓRIA – Memória interna ao chip ou externa EFICIÊNCIA ENERGÉTICA Balanceamento – eficiência energética x tamanho de memória

44 44 Fundamentos de Arquitetura de Computador SUMÁRIO Introdução Tipos de computadores Definindo uma arquitetura de computadores

45 45 Definição da Arquitetura do Computador A tarefa do designer de arquitetura de computador é complexo: determinar que atributos são importantes para um novo computador e projetá-lo de modo a maximizar desempenho considerando custos, poder e limitações de disponibilidade. Precisa-se definir o conjunto de instruções, organização funcional, projeto lógico e implementação. Deve-se atentar ainda para design de circuito, invólucro, energia e refrigeração.

46 46 Definição da Arquitetura do Computador – Conjunto de Instruções Instruction Set Architecture (ISA). ISA serve de fronteira entre hardware e software 1.Tipos de ISA: Alocados em registradores de uso geral e operandos em registradores ou memória externa. Acesso a memória através de load-store. Fig 1.4. 2.Endereçamento de memória: Todos os computadores, incluindo 80x86 e MIPS,usam endereçamento por byte. No MIPS necessita- se fornecer o alinhamento.

47 47 Definição da Arquitetura do Computador – Conjunto de Instruções

48 48 Definição da Arquitetura do Computador – Conjunto de Instruções 1.Modos de Endereçamento: Especifica o endereço na memória do objeto. MIPS usa o registro (reg1 := reg2 * reg3; ), direto para constantes (reg1 := reg2 + constant; ) e deslocamento (reg := RAM[base + offset]). O 80x86 usa os mesmos e mais três variações do deslocamento: Offset = 0, ou absoluto Dois registros, base é indexada com deslocamento Dois registros, onde um registro é multiplicado pelo tamanho do operando

49 49 Definição da Arquitetura do Computador – Conjunto de Instruções 1)Tipos e tamanhos dos operandos: MIPS and 80x86 suporta operandos de: 8 bits (código ASCII) 16 bits (Caracter Unicode ou half word) 32 bits (inteiro ou word) Temos ainda a representação em número em ponto flutuante com 32 ou 64 bits. O 80x86 ainda permite 80 bits para ponto flutuante.

50 50 Definição da Arquitetura do Computador – Conjunto de Instruções 1)Operações: tranferência de dados, aritmético e lógico, controle e ponto flutuante. Ver Fig 1.5 na página 40. 2)Instruções de Controle de Fluxo: desvios condicionais, desvios incondicionais, chamada de procedimento e retorno. 3)Codificação de ISA: Pode ser de tamanho fixo ou variável. Todas as instruções MIPS tem 32 bits. O 80x86 tem tamanho variável entre 1 e 18 bytes. Quando codificado para representação binária ocorrerá grandes diferenças. Fig 1.6.

51 51 Definição da Arquitetura do Computador – Conjunto de Instruções

52 52 Definição da Arquitetura do Computador – Conjunto de Instruções opcode: código da operação a ser efetuada rs, rt e rd: registradores shamt: deslocamento do registradore funct: variação da operação dita no opcode Immediate: endereço de memória

53 53 A concepção da organização e hardware para atingir as metas e requisitos funcionais Organização – Aspectos de alto nível – Sistema de memória – Interconexão entre memória – Arquitetura interna da CPU AMD Opteron 64 X Intel Pentium 4  Mesmo ISA, porém organização diferente (pipeline e organização da cache) Hardware – Especificações do Computador – Lógica interna – Tecnologia embutida Pentium 4 X Mobile Pentium 4  Quase mesma organização, porém diferente clock e sistema de memória.

54 54 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia

55 55 Tendências da Tecnologia Se uma ISA (Instruction Set Architecture) atinge o sucesso, ela deve ser feita de modo a sobreviver a rápidas mudanças de tecnologia. A ISA do processador do mainframe da IBM durou 40 anos. Um arquiteto de computadores, portanto, deve planejar de modo a aumentar a vida útil do seu projeto. Um projeto de sistema de computador demora 5 anos para entrar no mercado (2 anos de design e 3 anos de produção)

56 56 Tendências da Tecnologia Quatro tecnologias são críticas para implementação modernas: 1.Tecnologia de Circuito Lógico Integrado: aumento de densidade (35%), diminuição de tamanho (10-20%) 2.Semicondutor DRAM (Dynamic random-access memory): aumento da capacidade (40%) 3.Tecnologia de Disco Magnético: aumento de densidade (30%) 4.Tecnologia de Rede: depende de switches e das tecnologias de transmissão

57 57 Tendências da Tecnologia Bandwidth ou throughput ou Largura de banda é a quantidade de trabalho feito em determinado tempo (megabytes por segundo em tranferência de dados por disco) Latência ou tempo de resposta é o tempo entre o início e o fim de um evento (milisegundo para disco).

58 58 Tendências de Tecnologia

59 59 Tendências de tecnologia Um CI (fios e transistores) cada vez estão menores. Decremento linear causa aumento de densidade quadrática. A diminuição de tamanho dos transistores e fios reduz a tensão necessária e melhor o desempenho dos transistores, porém piora o desempenho dos fios,dificultando a propagação do sinal (latência).

60 60 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia – Tendências em Energia de CI

61 61 Tendências em Energia de CI A energia é levada para dentro do chip e distribuído internamente. Modernos microprocessadores contém centenas de pontos e várias camadas de interconexão. É gerado calor que deve ser dissipado

62 62 Tendências em Energia de CI Em chips CMOS, a maior parte do consumo de energia se dá no chaveamento feito pelo transistor. Potência Dinâmica (Watts) = ½ * Carga Capacitiva * Voltagem^2 * Freqüência de chaveamento Energia Dinâmica (Joules) = Carga Capacitiva * Voltagem^2 Voltagem diminuiu no decorrer dos anos A carga capacitiva é uma função do número de transistores conectados a uma saída e a tecnologia.

63 63 Tendências em Energia de CI Diminuição do CLOCK diminuiu a potência, mas não diminui a energia (para uma mesma tarefa). Para cálculo de vida de bateria, se considera energia. EXEMPLO: -15% V e -15% f

64 64 Tendências em Energia de CI Os primeiros microprocessadores dissipavam dezenas de watts O Pentium 4 extreme edition 3.2GHz consome 135 Watts. Portanto, estamos atingindo o limite de temperatura que pode ser dissipada por ar. Vários chips Intel possuem diodos de temperatura que diminuem a atividade do processador quando é atingida determinada temperatura. Diminuição de tensão, freqüência de clock.

65 65 Tendência em Energia de CI Potência é o maior fator limitante do uso de transistores. A maioria dos processadores inativam o clock de módulos para economizar energia e potência Apesar de potência dinâmica ser mais crítico, cada vez mais a potência estática torna-se cada vez mais crítico, devido aumento no número de transistores e consequente aumento na corrente de fuga.

66 66 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia – Tendências em Energia de CI – Tendências em Custo

67 67 Tendências em Custo Objetiva-se aqui discriminar os custos dos componentes de um sistema e detectar tendências. O princípio que guia os custos é a curva de tecnologia que é a performance. Memórias DRAM barateiam 40% ao ano, na mesma proporção que aumenta o desempenho. Outro fator é o volume do produto no mercado. Devido aumento de produtividade e de acumulo de experiência na produção (tecnologia).

68 68

69 69 Tendências em Custo O mercado de informática funciona como commodity. DRAMs, HDs, monitores, teclados, etc... Todos são padronizados e encontrados similares em qualquer canto e feito por qualquer fabricante. Nos últimos anos, muitos computadores pessoais viraram commodity focado em vender desktop e laptop com sistema microsoft windows. Como todos os vendedores vendem praticamente a mesma coisa, a competição é altíssima, o que diminui as margens de lucro. Fora o fato da demanda ser altíssima.

70 70 Tendências em Custo O circuito integrado possui o seu custo relativo ascendente. Die=molde(processador), wafer=pastilha, yeld=rendimento

71 71 Tendências em Custo

72 72 Tendências em Custo

73 73 Tendências em Custo

74 74 Tendências em Custo Tipicamente, alfa=4 (tecnologia de produção ou curva de aprendizagem). Em 2006 havia uma média de 0.4 cm^2. Considere Wafer yeld=100%

75 75 Tendências em Custo A maioria dos microprocessadores modernos de 32 e 64 bits possuem tamanhos entre 1 cm e 1,5 cm. Sistemas embarcados, possuem processadores entre 0.25 cm^2 e 0,1 cm^2 $$$$$$$$$$$$$$$$$$$$ Wafer de 300mm de diâmetro = $5000-6000 (2006) Se wafer=%5500, o custo de um die de 1cm^2 é de $13 e o de um de 2,25cm^2 é de $46

76 76 Tendências em Custo O die precisa ser testado, encapsulado, e novamente testado. Mask set é um processo fixo de produção de chips que é em torno de 1 milhão de doláres. Quanto menos chips produzidos, maior o custo relativo. Consistem em sobrepor camadas de metal. Portanto, precisamos atentar para o cuso benefício, já que maiores processadores implicam em maiores custos.

77 77 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia – Tendências em Energia de CI – Tendências em Custo – Confiabilidade

78 78 Confiabilidade Historicamente, o CI é o elemento mais confiável em sistema de computador. Pinos e comunicação são mais suceptíveis a falhas e a parte interna com erros baixíssimos. Essa convenção está mudando a medida que diminuímos os elementos abaixo de 65 nanômetros. A tendência é igualar os erros transitórios e permanentes.

79 79 Confiabilidade A confiabilidade tornou-se crítica com a popularização dos serviços de internet. Provedores fornecem Service Level Agreements (SLA) ou Service Level Objectives (SLO) para garantir confiabilidade. Dois estados de acordo com a SLA: 1. Service accomplishment (realizado), aonde o serviço é realizado conforme especificado 2. Service interruption (interrupção), aonde o serviço é diferente do SLA Transição entre os estados ocorrem devido a falhas (2 para 1) e devido a restaurações (1 para 2).

80 80 Confiabilidade Quantificação das transições Module reliability (Confiança): medida do tempo contínuo de serviço realizado Module availability (Disponibilidade): medida do serviço realizado em relação a falhas de acordo com a frequência de transições. Unidades: – MTTF (tempo médio para falha) – MTTR (tempo médio para reparo) – FIT (falhas por tempo)

81 81 Confiabilidade

82 82 Confiabilidade O que fazer para garantir maior confiabilidade? Rendundância!!!! – Tempo: repetir a operação para ver se o erro persiste – Recursos: ter outros dispositivos em caso de um falhar No exemplo anterior, vamos calcular os novos parâmetros quando duplicamos a fonte de energia.

83 83 Confiabilidade Portanto, ao fazermos redundância, teremos uma fonte 830.000.000/200.000=4150 vezes mais confiável

84 84 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia – Tendências em Energia de CI – Tendências em Custo – Confiabilidade – Medição, relatórios e resumindo o desempenho

85 85 Medição, relatórios e resumindo o desempenho “Meu computador é mais rápido que o seu!” O que isso significa? Para um usuário desktop significa que demora menos tempo para executar determinada tarefa Para o servidor da Amazon.com diz respeito ao número de transações por hora. Portanto, um usuário almeja a redução de tempo de resposta ou tempo de execução. Um administrador de grandes sistemas almeja aumentar o throughput (trabalho feito sobre tempo).

86 86 Medição, relatórios e resumindo o desempenho “O throughput d X é 1.3 vezes maior que Y.” Logo, X faz 1.3 tarefas enquanto Y faz 1.

87 87 Medição, relatórios e resumindo o desempenho Não se deve atentar apenas para velocidade dos dispositivos. A única medida consistente e confiável de desempenho é o tempo de execução de programas reais. Com a multiprogramação, o processador trabalha em outro programa enquanto espera por E/S e não necessariamente minimiza o tempo de resposta de um programa. O conceito mais elementar de tempo é chamada wall- clock time, tempo de resposta, ou tempo decorrido. Corresponde ao tempo de executar uma tarefa considerando acesso a discos, acesso a memória, atividades de E/S, desempenho de sistema operacional.

88 88 Medição, relatórios e resumindo o desempenho Como avaliar o desempenho de um computador? Uma medida simples consiste em considerar um usuário que costuma executar sempre os mesmos programas e começar a mensurar a resposta do sistema para esses processos do usuário. Deve-se, porém contar com outros métodos para medição de desempenho de um computador.

89 89 Medição, relatórios e resumindo o desempenho Benchmark Em computação, benchmark é o ato de executar um programa de computador, um conjunto de programas ou outras operações, a fim de avaliar a performance relativa de um objeto, normalmente executando uma série de testes padrões e ensaios nele. (wikipedia)

90 90 Medição, relatórios e resumindo o desempenho Benchmark A melhor forma é através de programas reais. Existem outros métodos que tentam facilitar... – Kernels – Programas simples – Benchmark sintéticos Porém, não são ideais, pois o programador pode conspirar para que o resultado de determinado sistema seja superior ou inferior.

91 91 Medição, relatórios e resumindo o desempenho Benchmark Existem, portanto, coleções de aplicações benchmark, chamados de benchmark suites. Contém inúmeros programas diferentes de modo a garantir uma análise baseada em cada caso. Cada programa terá características diferentes.

92 92 Medição, relatórios e resumindo o desempenho Benchmark EDN Embedded Microprocessor Benchmark Consortium é uma ferramenta com 41 kernels usados para analisar a performance de diferentes computadores embarcados. Conseguem apontar zonas onde não há melhoria e onde há grande melhoria de dezempenho. Utiliza o Dhrystone como programa sintético.

93 93 Medição, relatórios e resumindo o desempenho Benchmark Uma das tentativas mais bem sucedidas para criar aplicativos de referência padronizada tem sido o SPEC (Standard Performance Evaluation Corporation). Surgiu nos anos 80 para medir desempenho de workstations. Existem hoje benchmarks SPEC capazes de cobrir diferentes tipos de aplicação. www.spec.org

94 94 Medição, relatórios e resumindo o desempenho Desktop Benchmark Benchmarks de processamento intensivo Benchmarks de gráfico intensivo Convêm salientar, porém, que muitos de gráfico intensivo também são de processamento intensivo. SPEC benchmarks são programas reais modificados para serem portáteis e para minimizar o efeito de E/S no desempenho

95 95 Medição, relatórios e resumindo o desempenho Desktop Benchmark

96 96 Medição, relatórios e resumindo o desempenho Desktop Benchmark O

97 97 Medição, relatórios e resumindo o desempenho Servidor Benchmark Como cada servidor tem uma aplicação específica, existirá também diversos tipos de benchmarks. O modo mais simples de medição consiste no benchmark orientado a throughput de processador. Deve haver um benchmark para cada processador.

98 98 Medição, relatórios e resumindo o desempenho Servidor Benchmark Como muitos servidores mantém trafego intenso com rede e/ou periféricos (ex: hd). Portanto, existirá um benchmark SPEC para cada serviço. SPECSFS para serviço de servidor de arquivo, SPECWeb para servidor web.

99 99 Medição, relatórios e resumindo o desempenho Servidor Benchmark Processamento de transações (TP) benchmarks mede a capacidade de um sistema de lidar com as operações, que consistem em acessos de dados e atualizações. Intenso tráfego com banco de dados. Exemplos: Reserva de passagem aérea, transações bancárias. Dado em transações por tempo. Nos anos 80 surgiu o Transaction Processing Council (TPC) que busca um benchmark voltado para TP. (www.tpc.org)

100 100 Medição, relatórios e resumindo o desempenho Benchmark Para um relatório completo constado o desempenho deve ser considerado também o custo do sistema, para que se considere o custo/desempenho. Na prática de projeto de um computador, deve-se avaliar uma míriade de opções para se quantificar os benefícios relativos através de um conjunto de parâmetros relevantes.

101 101 Medição, relatórios e resumindo o desempenho Servidor Benchmark O

102 102 Fundamentos de Arquitetura de Computadores SUMÁRIO – Introdução – Tipos de computadores – Definindo uma arquitetura de computadores – Tendências de tecnologia – Tendências em Energia de CI – Tendências em Custo – Confiabilidade – Medição, relatórios e resumindo o desempenho – Princípios quantitativos de um projeto de computador

103 103 Princípios quantitativos de um projeto de computador Agora que vimos como definir, medir e resumir o desempenho, custo, confiabilidade, e potência, podemos explorar as orientações e princípios que são úteis no projeto e análise de computadores. Esta seção apresenta importantes observações sobre o projeto, bem como duas equações para avaliar alternativas.

104 104 Princípios quantitativos de um projeto de computador PARALELISMO!!! Paralelismo é um dos mais importantes métodos para melhorar desempenho. Cada capítulo do livro contém um exemplo de como usar paralelismo. – Paralelismo a nível de sistema (processadores e discos). Atentar para a escalabilidade. – Paralelismo a nível de instrução (pipeline). – Paralelismo a nível digital. Exemplo: procura paralela em memória, aumento de bits por operando.

105 105 Princípios quantitativos de um projeto de computador PRINCÍPIO DE LOCALIDADE Característica de programas. Um programa tende a reusar dados e instruções previamente usadas. Pode- se prever as próximas instruções e dados estatisticamente conhecendo-se o passado próximo. Essa característica é mais importante para tratar dados do que instruções. – Localidade Temporal – Localidade Espacial

106 106 Princípios quantitativos de um projeto de computador FOCO NO CASO COMUM Talvez o princípio mais importante em projeto de computadores. Ao projetar, dar ênfase a recursos que serão demasiadamente usadas pelos usuários. Exemplo: Somar. O overflow é raro, portanto, pode-se ignorar maior implementação para tratar overflow para se obter maior rendimento para uma soma sem overflow.

107 107 Princípios quantitativos de um projeto de computador FOCO NO CASO COMUM Lei de Amdahl: O ganho de performance que pode ser obtido aumentando desempenho de partes do sistema.

108 108 Princípios quantitativos de um projeto de computador FOCO NO CASO COMUM O ganho se dá por dois fatores: – A fração do tempo de computação no computador original que pode ser convertido para aproveitar o ganho. Sempre menor ou igual a 1. Exemplo: um processo demora 60 segundos, porém 20 segundos estão sujeitos a melhoria, logo teremos a fração de melhoria de 20/60 – A melhoria obtida pelo modo de execução melhorada, ou seja, quanto mais rápida a tarefa seria executada se o modo melhorado fosse usado no programa inteiro. Exemplo: um processo melhorado demora 2 segundos enquanto o origial demora 5 segundos, logo teremos speedup=5/2

109 109 Princípios quantitativos de um projeto de computador

110 110 Princípios quantitativos de um projeto de computador

111 111 Princípios quantitativos de um projeto de computador

112 112 Princípios quantitativos de um projeto de computador EQUAÇÃO DE DESEMPENHO DE PROCESSADOR Todos apresentam um clock. Ciclos de Clock. Duração de um ciclo de clock é dado em segundos. (1GHz = 1ns)

113 113 Princípios quantitativos de um projeto de computador CPI = Ciclos de Clock por instrução IPC = Instrução por ciclo de clock IC = Contador de instrução

114 114 Princípios quantitativos de um projeto de computador Desempenho do processador depende de frequência de clock, ciclos de clock por instrução e contador de instrução. E cada um desses três parâmetros tem pesos iguais. Uma melhoria de 10% em qualquer dos 3 itens leva a um ganho de 10% no tempo de processamento.

115 115 Princípios quantitativos de um projeto de computador representa o número de vezes que a instrução i em um programa representa a média do número de clocks por instrução para a instrução i

116 116 Princípios quantitativos de um projeto de computador

117 117

118 118 Princípios quantitativos de um projeto de computador A maioria dos modernos processadores incluem contadores de instruções executadas e de ciclos de clock. Monitorando esses parâmetros consegue-se uma boa análise quantitativa.


Carregar ppt "1 PGD – CONTEÚDO PROGRAMÁTICO 1)Introdução a arquitetura de Computadores 1)Introdução 2)Tipos de Computadores 3)Tendências 4)Análises quantitativas 2)Pipelining."

Apresentações semelhantes


Anúncios Google