Arquitetura Avançada de Computadores
This presentation is the property of its rightful owner.
Sponsored Links
1 / 121

Arquitetura Avançada de Computadores PowerPoint PPT Presentation


  • 37 Views
  • Uploaded on
  • Presentation posted in: General

Arquitetura Avançada de Computadores. Prof. Felipe Ferreira de Oliveira [email protected] PGD - EMENTA.

Download Presentation

Arquitetura Avançada de Computadores

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Arquitetura avan ada de computadores

Arquitetura Avançada de Computadores

  • Prof. Felipe Ferreira de Oliveira

  • [email protected]


Arquitetura avan ada de computadores

PGD - EMENTA

  • Introdução a arquitetura de Computadores; Pipelining; Paralelismo a nivel de instrução; Multiprocessadores; Paralelismo a nível de thread; Hierarquia de Memória; Sistemas de armazenamento; Tendências atuais; Hardware reconfigurável;


Arquitetura avan ada de computadores

PGD - OBJETIVOS

  • Apresentar aos alunos conceitos avançados de arquitetura e organização de computadores de modo a aprofundar o conhecimento já estabelecido, principalmente nas tecnologias mais recentes.


Arquitetura avan ada de computadores

PGD – CONTEÚDO PROGRAMÁTICO

  • Introdução a arquitetura de Computadores

    • Introdução

    • Tipos de Computadores

    • Tendências

    • Análises quantitativas

  • Pipelining

    • Introdução

    • Pipeline Hazards

    • Como o pipeline é implementado?


Arquitetura avan ada de computadores

PGD – CONTEÚDO PROGRAMÁTICO

  • Paralelismo a nível de instrução

    • Conceitos

    • Técnicas de compilador

    • Redução de custos com predição

    • Agendamento dinâmico

    • Especulação baseada em Hardware

  • Limites de paralelismo a nivel de instrução

    • Introdução

    • Estudo das limitações

    • Especulação de hardware x software

    • Multithreading


Arquitetura avan ada de computadores

PGD – CONTEÚDO PROGRAMÁTICO

  • Multiprocessadores e paralelismo a nível de threads

    • Introdução

    • Arquitetura de memória compartilhada

    • Memória compartilhada distribuída

    • Sincronização

    • Consistência de dados

  • Hierarquia de memória

    • Introdução

    • Otimização de memória cache

    • Proteção: Memória virtual e Máquinas virtuais


Arquitetura avan ada de computadores

PGD – CONTEÚDO PROGRAMÁTICO

  • Sistemas de armazenamento

    • Introdução

    • Tópicos avançados em armazenamento em disco

    • Definições e exemplos de possíveis problemas

    • Estatísticas de perfomance de dispositivos de I/O

  • Tendências atuais e Hardware reconfiguráveis


Arquitetura avan ada de computadores

PGD – Metodologia e Avaliações

  • Aulas Expositivas através de slides

  • Provas escritas

  • Trabalhos e Seminários


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

Introdução

  • Paralelismo

    • Processadores

    • Memória

    • Computadores

    • Instruções (pipeline)

    • Cache

    • ULAs


Arquitetura avan ada de computadores

Introdução

  • Níveis de paralelismo

    • Paralelismo a nivel de instrução

    • Várias linhas de execução em um mesmo processador

    • Várias linhas de execução em diferentes processadores (dual, quad core)

    • Computadores paralelos interconectados com redes de alta velocidade

    • Cluster de Computadores

    • Computadores na internet


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

Exemplos: Computador Vetorial


Arquitetura avan ada de computadores

Exemplos: Cluster


Arquitetura avan ada de computadores

Exemplos: Server Farmer


Arquitetura avan ada de computadores

TOP 100 SUPERCOMPUTADORES


Arquitetura avan ada de computadores

Conceitos


Arquitetura avan ada de computadores

Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

Introdução


Arquitetura avan ada de computadores

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


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

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.


Arquitetura avan ada de computadores

Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Tipos de computadores

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).


Tipos de computadores1

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.


Tipos de computadores2

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.


Tipos de computadores3

Tipos de Computadores

  • Desktop

  • Servidores

  • Embarcados


Tipos de computadores desktop

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.


Tipos de computadores servidores

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


Tipos de computadores servidores1

Tipos de Computadores - SERVIDORES

  • CONFIABILIDADE !!!!!!!!


Tipos de computadores servidores2

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


Tipos de computadores servidores3

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.


Tipos de computadores servidores4

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


Tipos de computadores embarcados

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


Tipos de computadores embarcados1

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.


Tipos de computadores embarcados2

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


Arquitetura avan ada de computadores

Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Defini o da arquitetura do computador

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.


Defini o da arquitetura do computador conjunto de instru es

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

  • Instruction Set Architecture (ISA). ISA serve de fronteira entre hardware e software

  • 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.

  • Endereçamento de memória: Todos os computadores, incluindo 80x86 e MIPS,usam endereçamento por byte. No MIPS necessita-se fornecer o alinhamento.


Defini o da arquitetura do computador conjunto de instru es1

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


Defini o da arquitetura do computador conjunto de instru es2

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

  • 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


Defini o da arquitetura do computador conjunto de instru es3

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

  • 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.


Defini o da arquitetura do computador conjunto de instru es4

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

  • Operações: tranferência de dados, aritmético e lógico, controle e ponto flutuante. Ver Fig 1.5 na página 40.

  • Instruções de Controle de Fluxo: desvios condicionais, desvios incondicionais, chamada de procedimento e retorno.

  • 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.


Defini o da arquitetura do computador conjunto de instru es5

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


Defini o da arquitetura do computador conjunto de instru es6

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


A concep o da organiza o e hardware para atingir as metas e requisitos funcionais

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.

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)


Fundamentos de arquitetura de computadores

Fundamentos de Arquitetura de Computadores

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia


Tend ncias da tecnologia

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)


Tend ncias da tecnologia1

Tendências da Tecnologia

  • Quatro tecnologias são críticas para implementação modernas:

  • Tecnologia de Circuito Lógico Integrado: aumento de densidade (35%), diminuição de tamanho (10-20%)

  • Semicondutor DRAM (Dynamic random-access memory): aumento da capacidade (40%)

  • Tecnologia de Disco Magnético: aumento de densidade (30%)

  • Tecnologia de Rede: depende de switches e das tecnologias de transmissão


Tend ncias da tecnologia2

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).


Tend ncias de tecnologia

Tendências de Tecnologia


Tend ncias de tecnologia1

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).


Fundamentos de arquitetura de computadores1

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 energia de ci

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


Tend ncias em energia de ci1

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.


Tend ncias em energia de ci2

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


Tend ncias em energia de ci3

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.


Tend ncia em energia de ci

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.


Fundamentos de arquitetura de computadores2

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


Tend ncias em custo

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).


Tend ncias em custo1

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.


Tend ncias em custo2

Tendências em Custo

  • O circuito integrado possui o seu custo relativo ascendente.

  • Die=molde(processador), wafer=pastilha, yeld=rendimento


Tend ncias em custo3

Tendências em Custo


Tend ncias em custo4

Tendências em Custo


Tend ncias em custo5

Tendências em Custo


Tend ncias em custo6

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%


Tend ncias em custo7

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


Tend ncias em custo8

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.


Fundamentos de arquitetura de computadores3

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


Confiabilidade

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.


Confiabilidade1

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).


Confiabilidade2

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)


Confiabilidade3

Confiabilidade


Confiabilidade4

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.


Confiabilidade5

Confiabilidade

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


Fundamentos de arquitetura de computadores4

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


Medi o relat rios e resumindo o desempenho

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).


Medi o relat rios e resumindo o desempenho1

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.


Medi o relat rios e resumindo o desempenho2

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.


Medi o relat rios e resumindo o desempenho3

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.


Medi o relat rios e resumindo o desempenho4

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)


Medi o relat rios e resumindo o desempenho5

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.


Medi o relat rios e resumindo o desempenho6

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.


Medi o relat rios e resumindo o desempenho7

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.


Medi o relat rios e resumindo o desempenho8

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


Medi o relat rios e resumindo o desempenho9

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


Medi o relat rios e resumindo o desempenho10

Medição, relatórios e resumindo o desempenho

  • Desktop Benchmark


Medi o relat rios e resumindo o desempenho11

Medição, relatórios e resumindo o desempenho

  • Desktop Benchmark

  • O


Medi o relat rios e resumindo o desempenho12

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.


Medi o relat rios e resumindo o desempenho13

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.


Medi o relat rios e resumindo o desempenho14

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)


Medi o relat rios e resumindo o desempenho15

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.


Medi o relat rios e resumindo o desempenho16

Medição, relatórios e resumindo o desempenho

  • Servidor Benchmark

  • O


Fundamentos de arquitetura de computadores5

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


Princ pios quantitativos de um projeto de computador

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.


Princ pios quantitativos de um projeto de computador1

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.


Princ pios quantitativos de um projeto de computador2

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


Princ pios quantitativos de um projeto de computador3

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.


Princ pios quantitativos de um projeto de computador4

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.


Princ pios quantitativos de um projeto de computador5

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


Princ pios quantitativos de um projeto de computador6

Princípios quantitativos de um projeto de computador


Princ pios quantitativos de um projeto de computador7

Princípios quantitativos de um projeto de computador


Princ pios quantitativos de um projeto de computador8

Princípios quantitativos de um projeto de computador


Princ pios quantitativos de um projeto de computador9

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)


Princ pios quantitativos de um projeto de computador10

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


Princ pios quantitativos de um projeto de computador11

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.


Princ pios quantitativos de um projeto de computador12

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


Princ pios quantitativos de um projeto de computador13

Princípios quantitativos de um projeto de computador


Princ pios quantitativos de um projeto de computador14

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.


  • Login