ARQUITECTURA DE COMPUTADORES CAPÍTULO V AULA III



Documentos relacionados
REDES DE COMPUTADORES. Detecção e Correção de Erros

Códigos de Detecção e Correcção de Erros

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Comunicação de Dados

Sistemas Operativos I

ARQUITETURA DE COMPUTADORES

Sistema de Memórias de Computadores

Sistemas Operacionais. Prof. André Y. Kusumoto

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

Descrição do Serviço Diagnóstico no Local

Guia de utilização da notação BPMN

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Tolerância a Falhas 1

RAID Redundat Arrays of Inexpensive Disks

Redes de Computadores II

FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Tecnologias de Redes Informáticas (6620)

Paralelismo a Nível de Instrução

EA960 Redundância e Confiabilidade: RAID

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

Redes e Conectividade

Introdução à estrutura e funcionamento de um Sistema Informático

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Motivos para você ter um servidor

2. ModelHumanProcessor

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

Resolução de sistemas lineares

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

UNIDADE 6 - PROGRAMAÇÃO MODULAR

Um jogo de preencher casas

FMEA (Failure Model and Effect Analysis)

Representação de Informação -- Texto -- Representação de Informação. Representação de Caracteres

Portal do Projeto Tempo de Ser

O Manual do ssc. Peter H. Grasch

Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES

Camada de Ligação de Dados

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

Princípios do teste de software

Objetivo principal: aprender como definir e chamar funções.

Aula 06. Memórias RAM

A importância do Software Livre no mundo de hoje

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Denise Fernandes CARETTA Prefeitura Municipal de Taubaté Denise RAMOS Colégio COTET

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

MATEMÁTICA FINANCEIRA BÁSICA

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Departamento de Informática

UNIDADE III Aula 6 Cálculo do CRC. Fonte: Othon M. N. Batista

MODELAGEM E SIMULAÇÃO

Redes de Computadores

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

13/10/11 TIPOS DE UTILITÁRIOS UTILITÁRIOS 0798 INTRODUÇÃO À PROGRAMAÇÃO TIPOS DE UTILITÁRIOS TIPOS DE UTILITÁRIOS

Medição tridimensional

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Curso: Redes II (Heterogênea e Convergente)

TÉCNICAS DE PROGRAMAÇÃO

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Comunicações Digitais Manual do Aluno Capítulo 7 Workboard PCM e Análise de Link

Memória cache. Prof. Francisco Adelton

Admistração de Redes de Computadores (ARC)

Montagem e Manutenção. Luís Guilherme A. Pontes

Programação Concorrente

Gerência de Memória. Paginação

Computador Digital Circuitos de um computador (Hardware)

Introdução às Bases de Dados

Data 23/01/2008. Guia do Professor. Introdução

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Ética no exercício da Profissão

Sistemas Tolerantes a Falhas

16.36: Engenharia de Sistemas de Comunicação Aula 14: Códigos cíclicos e detecção de erros

Load Balance Benefícios e vantagens dessa funcionalidade.

PROJETO DE REDES

11. NOÇÕES SOBRE CONFIABILIDADE:

Auditoria nos termos do Regulamento da Qualidade de Serviço Relatório resumo EDP Serviço Universal, S.A.

Avaliação de Desempenho de Sistemas

Capítulo 4 Gerenciamento de Memória

Qualidade de Software

Sistemas de Telecomunicações I

CAPÍTULO 4 Interface USB

Capítulo 4 Gerenciamento de Memória

Aula 14: Instruções e Seus Tipos

Aux.Magazine Bilbao, Vizcaya, Espanha,

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Departamento de Informática

Manual Web.Newhotel Configuração NewHotel

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 12

Cópia de Segurança e Recuperação Manual do utilizador

CARTILHA SOBRE DIREITO À APOSENTADORIA ESPECIAL APÓS A DECISÃO DO STF NO MANDADO DE INJUNÇÃO Nº 880 ORIENTAÇÕES DA ASSESSORIA JURIDICA DA FENASPS

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Transcrição:

ARQUITECTURA DE COMPUTADORES CAPÍTULO V AULA III

Índice Hierarquia de memória Fiabilidade e disponibilidade Detecção e correcção de erros Memória Virtual Paralelismo e Hierarquia de memória

Hierarquia de Memória Segurança Nas aulas anteriores vimos como é que a hierarquia de memória funciona, considerando-a quase como infalível. Porém, as memórias não são infalíveis e como tal devem ser implementados mecanismos de redundância e recuperação de erros. Para tal devemos começar por definir o que é uma falha.

Hierarquia de Memória Segurança Considere-se dois estados: 1. Serviço concluído 2. Serviço interrompido A passagem do estado 1 para o estado 2 constituí uma falha. A passagem inversa, do estado 2 para o estado 1 constitui um restauro. As falhas podem ser permanentes ou intermitentes. Falhas permanentes são fáceis de detectar. Falhas intermitentes são difíceis de detectar.

Hierarquia de Memória Segurança O conceito de falhas e redundância leva a outros dois conceitos: Disponibilidade Fiabilidade A fiabilidade é medida pelo tempo continuo durante o qual todo o serviço é concluído. Mean Time To Failure (MTTF) é a métrica utilizada. Annual Fair Rate (AFR) é a percentagem de dispositivos que se espera que falhem num ano, considerando um determinado MTTF.

Hierarquia de Memória Segurança Actualmente, os discos rígidos anunciam qualquer coisa como 1 000 000 horas MTTF. Ou seja, 1 000 000 /(24 * 365) = ~114 anos (garantia vitalícia) No entanto, se considerarmos um conjunto de 50 000 servidores com 2 discos cada, qual será a média de falhas por ano? 24 * 365 = 8760 horas / 1 000 000 = 0.876% Em 50 000 x 2 = 100 000 discos, existe a probabilidade de ocorrer uma falha em 876 discos por ano, ou seja, 2.4 discos por dia.

Hierarquia de Memória Segurança Sempre que ocorre uma falha, existe interrupção do serviço. Essa interrupção é medida pelo mean time to repair (MTTR) (tempo médio para recuperar). O tempo médio entre falhas (mean time between failures - MTBF) é a soma do MTTF com o MTTR. Assim, a disponibilidade é calculada segundo a seguinte formula: Disponibilidade = MTTF MTTF+MTTR

Hierarquia de Memória Segurança etc A fiabilidade e a disponibilidade são mais do que meros substantivos. São características mensuráveis. A disponibilidade deverá ser a máxima possível, sendo a mesma caracterizada atribuindo a técnica dos nove. Considerando os 365 dias/ano e os 520 000 minutos contidos nos mesmos: 1 nove : 90% = 36,5 dias em reparação/ano 2 noves: 99% = 3,65 dias em reparação/ano 3 noves: 99,9% = 526 minutos em reparação/ano 4 noves: 99,99% = 52,6 minutos em reparação/ano 5 noves: 99,999% = 5,26 minutos em reparação/ano

Hierarquia de Memória Correcções de erros I cnduo t bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg the icndeblire pweor of the hmuan mnid, aocdcrnig to rseecrah at Cmabrigde Uinervtisy, it dseno t mttaer in waht oderr the lterets in a wrod are, the olny irpoamtnt tihng is taht the frsit and lsat ltteer be in the rhgit pclae. The rset can be a taotl mses and you can sitll raed it whoutit a pboerlm. Tihs is bucseae the huamn mnid deos not raed ervey ltteer by istlef, but the wrod as a wlohe.aaznmig, huh? Yaeh and I awlyas tghhuot slelinpg was ipmorantt! See if yuor fdreins can raed tihs too. languagehat.com (original source unknown)

Hierarquia de Memória Detecção de erros É comum que a ordem dos bits seja trocada durante transmissões. Por exemplo, podem ser transmitidos os bits 1101001, mas o receptor receber 0101011. Se adicionarmos redundância conseguimos detectar e talvez corrigir alguns erros deste tipo. A abordagem mais simples será repetir cada bit, ou seja, se enviamos o bit x, passamos a enviar xx. Assim, caso os bits sejam diferentes, sabemos que ocorreu um erro. Outra abordagem é transmitir não duas vezes, mas três vezes cada bit, ou seja, em vez de x, transmitir xxx.

Hierarquia de Memória Detecção de erros Parity Check Code Diz-se que uma sequência de bits é impar sempre que o número de 1s for impar. Em contrapartida, diz-se que uma sequência é par, sempre que o número de 1s for par. 0110011 ou 0100010 são sequências pares 0100000 ou 0111000 são sequências impares Exemplo: Considere-se a transmissão de w = 100011, utilizando-se um bit de paridade α, onde wα = 1000111. Assumindo que o bit de paridade alinhava sempre a transmissão a uma sequência par, se o resultado recebido fosse impar significava que tinha existido um erro, e pedia-se retransmissão.

Hierarquia de Memória Detecção de erros Single Parity Check Code Sempre que um bloco wα de paridade impar contem um número par de bits errados, não é possível detectar o erro. Seja p a probabilidade de um bit estar errado, a probabilidade de ocorrer um flip entre dois bits de uma sequência é dada por: n 2 p2 (1 p) n 2 A probabilidade de cada bit estar errado. A probabilidade dos restantes estarem correctos.

Hierarquia de Memória Detecção de erros 2D Parity Check Os blocos de bits são organizados em linhas e colunas, ou seja, matrizes m x n. O bit de paridade de cada linha é calculado e acoplado a cada linha antes da transmissão. A paridade de cada coluna e o bit de paridade da matriz são também calculados previamente e transmitidos. Assim, são calculados m x n + 1 bits de paridade E, são transmitidos mn x m x n +1 bits. 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0

Hierarquia de Memória Detecção de erros Checksums Uma técnica mais avançada do que os bits de paridade, é a inserção de checksums para detectar erros. Uma forma mais básica de checksum é somar toda a word e concatenar o resultado à mesma. Existem checksums bem conhecidos tais como: CRC - Cyclic Redundancy Check MD5 Message Digest 5 Checksum do BI

Hierarquia de Memória Detecção de erros Distância de Hamming Inventado por Richard Hamming, a técnica da distância de hamming permite detectar erros em sequências de bits transmitidas, conseguindo, ao contrário das técnicas de paridade, corrigi-los. Distância de Hamming é igual ao número de bits distintos entre duas cadeias. 0 1 0 0 1 0 1 1 0 0 0 1 Distância = 3

Hierarquia de Memória Considere o seguinte código: Detecção de erros Distância de Hamming A 0 0 0 0 0 0 B 0 0 1 1 1 1 C 0 1 0 0 1 1 D 0 1 1 1 0 0 E 1 0 0 1 1 0 F 1 0 1 0 0 1 G 1 1 0 1 0 1 H 1 1 1 0 1 0 A distância mínima entre cada sequência é no mínimo 3. Significa que consigo detectar e corrigir 1 bit. Significa que consigo detectar 2 bits mas não consigo corrigir. Significa que não consigo nem detectar nem corrigir mais que 2 bits errados.

Hierarquia de Memória Considere o seguinte código: Detecção de erros Distância de Hamming A 0 0 0 0 0 0 B 0 0 1 1 1 1 C 0 1 0 0 1 1 D 0 1 1 1 0 0 E 1 0 0 1 1 0 F 1 0 1 0 0 1 G 1 1 0 1 0 1 H 1 1 1 0 1 0 Se recebermos a sequência 011000 detectamos que existe um erro e dada a distância mínima, vemos que a sequência D (distância = 1) é a mais adequada. A técnica da distância de Hamming é utilizada nas memórias ECC Error Correction Code, ou Hamming Error Correction Code

Índice Hierarquia de memória Fiabilidade e disponibilidade Detecção e correcção de erros Memória Virtual Paralelismo e Hierarquia de memória

Memória Virtual Tal como vimos que a cache servia de suporte intermédio entre os registos e a memória principal, também a memória principal pode servir de cache entre esta e os discos rígidos. A esta técnica é chamada memória virtual. Historicamente, existem duas razões principais para utilizar memória virtual: 1. Para permitir a partilha de recursos entre programas diferentes, tal como acontece entre diferentes máquinas virtuais presentes hoje em dia na cloud. 2. Para agilizar a programação, permitindo ultrapassar o limite físico de memória principal.

Memória Virtual A partilha de recursos obriga a que cada programa/máquina virtual tenha os seus recursos bem definidos, de modo a proteger as leituras e escritas. No entanto, essa definição é dinâmica, variando em runtime de máquina virtual para máquina virtual. Dada tamanha flexibilização é necessário compilar cada programa para um excerto de memória próprio, que depois será transcrito pela memória virtual, para endereços físicos.

Memória Virtual O processo de transcrição obriga a um sistema de protecção. O sistema de protecção previne que ocorram iteracções, intencionais ou não, entre processos que partilham o mesmo processador, memória, I/O, protegendo os dados e recursos referentes a cada um.

Memória Virtual A segunda razão para utilizar memória virtual é permitir a utilização de mais memória do que a que realmente existe fisicamente. Esta agilização torna-se possível ao construir blocos de memória virtual de grandes dimensões, que na prática são constituídos por memória física DRAM e pelos discos rígidos. Ao funcionar como cache, a DRAM, permite que não se note problemas de performance.

Memória Virtual Um bloco de memória virtual é chamado page. Um miss em memória virtual é chamado page fault. A memória virtual está organizada em endereços virtuais que depois são traduzidos para endereços físicos através de um processo de mapeamento de endereços.

Memória Virtual Em memória virtual um endereço é divido em virtual page number e page offset.

Índice Hierarquia de memória Fiabilidade e disponibilidade Detecção e correcção de erros Memória Virtual Paralelismo e Hierarquia de memória

Paralelismo e Hierarquia Coerência da Cache Com o aumento do número de processadores, surgiu um novo problema de coerência nos dados entre as caches e a memória. Dado que a memória é uma só, é muito fácil diferentes processadores operarem sobre os mesmos endereços, mantendo incoerência nos dados, tanto nas caches como na DRAM.

Paralelismo e Hierarquia Coerência da Cache Assim, podemos assumir que existe coerência nos dados quando: 1.O processador P1 escreve para X e depois lê X, sem que entretanto X tenha sido rescrito por outro processador. 2.O processador P1 escreve para X e, seguidamente o processador P2 lê X, garantindo que lê os últimos dados escritos por P1. 3.As escritas para a mesma localização são serializadas, ou seja, a ordem de escrita é vista igualmente por todos os processadores.

Paralelismo e Hierarquia Forçar Coerência da Cache Num sistema multiprocessador com coerência de caches, estas fornecem mecanismos de migração e replicação de dados partilhados. Manter os dados partilhados entre processadores coerentes é de tal forma importante, que estes implementam um protocolo próprio para o efeito, conhecido como protocolo de coerência de cache. O protocolo mais conhecido para manter a coerência de caches é o protocolo de snooping (bisbilhotar). Para cada bloco na cache, é guardada a informação se esse bloco está partilhado com outras caches ou não. Os controladores de caches bisbilhotam as caches em modo broadcast para verificar se determinado bloco está partilhado ou não.

ARQUITECTURA DE COMPUTADORES 1314 MATÉRIA CONCLUÍDA OBRIGADO PELA ATENÇÃO PRESTADA DURANTE O SEMESTRE BOM ESTUDO RMS

Dúvidas e Questões Junho 2014