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

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

Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva

Apresentações semelhantes


Apresentação em tema: "Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva"— Transcrição da apresentação:

1 Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva andreLuis.ms@gmail.com

2 Introdução Projeto de E/S é afetado por muitos fatores externos (expansibilidade, resiliência). Desempenho: Latência Vazão Conexão entre os dispositivos e o sistema Hierarquia de Memória O Sistema Operacional – Uma variedade de usuários diferentes (por exemplo, bancos, supercomputadores, engenheiros).

3 Interface entre processadores e periféricos

4 Discos Magnéticos Elementos de Armazenamento não volátil Formado por uma pilha de pratos que gira entre 5.400 a 15.000 rpm. Alta capacidade de armazenamento, pouco veloz.

5 Discos Magnéticos Track (trilha): círculos concêntricos que começam no final do disco e vão se tornando menores conforme se aproximam do centro. Cada trilha possui um número de endereçamento. A mais externa é 0. As sucessoras 1, 2, 3... Track (trilha): círculos concêntricos que começam no final do disco e vão se tornando menores conforme se aproximam do centro. Cada trilha possui um número de endereçamento. A mais externa é 0. As sucessoras 1, 2, 3... Sector (setor): Unidade que compõe as trilhas, armazenam dados, guardando, em geral, 512 bytes de informação. Entre cada trilha, setor, existem marcas especiais que orientam as cabeças magnéticas para sinalizar o início/fim de uma trilha ou setor. Cilindro: Conjunto de trilhas com um mesmo número nos vários discos.

6 Discos Magnéticos Para acessar dados: – Seek Ato de posicionar a cabeça sobre a trilha apropriada. (3 a 14 ms) – Latência ou atraso racional Período de espera até que o setor desejado gire sob a cabeça de leitura/escrita. (0,5 rpm) – Tempo de transferência Tempo para transferir um bloco de bits. (30 a 80 MB/seg)

7 Confiança, Confiabilidade, Disponibilidade “Confiança de um sistema computacional é a qualidade do serviço entregue de modo que a confiança possa ser justificadamente depositada sobre esse serviço”. “O serviço entregue por um sistema é o seu comportamento real observado como percebido por outro(s) sistema(s) interagindo com os usuários desse sistema”. “Cada módulo possui um comportamento especificado ideal, no qual uma especificação de serviço é uma descrição combinada do comportamento esperado”. “Uma falha do sistema ocorre quando o comportamento real se desvia do comportamento especificado”. Laprie, 1985

8 Confiança, Confiabilidade, Disponibilidade Estados possíveis de um sistema: – Realização do serviço O serviço é entregue conforme especificado. – Interrupção do serviço O serviço entregue é diferente do especificado.

9 Confiança, Confiabilidade, Disponibilidade Confiabilidade (MTTF) – Medida da realização contínua do serviço, ou seja, do tempo para a falha. Tempo médio para o reparo (MTTR) – Tempo necessário para reparo, após ocorrer uma falha. Disponibilidade – É uma medida da realização do serviço com relação à alternância entre os dois estados de realização e interrupção.

10 Aumentando a Disponibilidade RAID (Redudant Arrays of Inexpensive Disks) – Organização de discos que usa um array de discos pequenos e baratos para aumentar o desempenho e confiabilidade. – Existem 7 tipos de RAID

11 RAID RAID 0 – Não possui redundância. – Dados são espalhados por vários discos (striping), melhora desempenho devido ao paralelismo. RAID 1 – Segue a idéia do RAID 0 – Muda pois possui redundância implementada através de espelhamento (shadowing). Utiliza o dobro de quantidade de discos do RAID 0. Dados são duplicados. Se o sistema falhar, utiliza o espelho

12 RAID RAID 2 – Emprega esquemas de detecção e correção de erros. – Pouco usado. RAID 3 – Utiliza paridade intercalada por bit. – Leituras/escritas vão para todos os discos do grupo. – Utiliza redundância, mas só armazenado quantidade suficiente de dados para se recuperar de uma falha. – Ao acontecer uma falha, é subtraído todos os dados nos discos bons do disco de paridade; a informação restante deverá ser a informação que falta.

13 RAID RAID 4 – Utiliza paridade intercalada por bloco. – Usa a mesma razão de discos de dados e de verificação do RAID 3 – Acessos podem ir a um subconjunto de discos, permitindo paralelismo. RAID 5 – Similar ao RAID 4 – Paridade distribuída intercalada por bloco. – Informação de paridade é espalhada por todos os discos.

14 RAID RAID 6 – Redundância P + Q – Recebe este nome pois utiliza dupla redundância.

15 Barramentos Link de comunicação compartilhado (um ou mais fios). Projeto difícil: – Pode ser gargalo – Extensão do barramento – Número de dispositivos – Negociações (buffers para largura de banda maior aumenta a latência) – Suporte para muitos dispositivos diferentes – Custo.

16 Barramentos Tipos de barramento: – Processador-memória curto, projeto personalizado e de alta velocidade. Conecta processador a memória. – Backplane Alta velocidade,freqüentemente padronizado Podem ser utilizados como um barramento intermediário, que liga a memória a outros barramentos de dispositivos mais lentos. Exemplo: PCI. – Barramento de E/S – Longos, conectam diferentes dispositivos – Exemplos: USB, FIREWIRE.

17 Barramentos Quanto a forma de comunicação: – Síncrono Inclui um clock nas linhas de controle e um protocolo fixo para comunicação, que é relativo ao clock. Cada dispositivo precisa operar na mesma velocidade Devido ao clock, quanto mais longo for o barramento, menor será sua velocidade. – Assíncrono Utiliza um protocolo de handshaking para coordenar o uso. – Série de etapas em que o emissor e o receptor prosseguem para a próxima etapa apenas quando as duas partes concordarem. Acomoda uma grande variedade de dispositivos de diferentes velocidades.

18 Exemplo Barramento Síncrono - AMBA Sensível a subida de ciclo.

19 Exemplo Barramento Assíncrono 1. Memória vê a ReadReq, lê o endereço em Data e levanta Ack. 2. O dispositivo de E/S vê a linha Ack e libera as linhas ReadReq e Data. 3. Memória vê ReadReq baixo e abaixa a linha Ack. 4. Quando a memória possuir dados prontos, coloca os dados em Data e levanta DataRdy 5. Dispositivo de E/S vê DataRdy, lê os dados em Data e levanta Ack 6. Memória vê Ack, abaixa DataRdy e libera Data. 7. Dispositivo de E/S vê DataRdy baixar, abaixa a linha Ack. 1. Memória vê a ReadReq, lê o endereço em Data e levanta Ack. 2. O dispositivo de E/S vê a linha Ack e libera as linhas ReadReq e Data. 3. Memória vê ReadReq baixo e abaixa a linha Ack. 4. Quando a memória possuir dados prontos, coloca os dados em Data e levanta DataRdy 5. Dispositivo de E/S vê DataRdy, lê os dados em Data e levanta Ack 6. Memória vê Ack, abaixa DataRdy e libera Data. 7. Dispositivo de E/S vê DataRdy baixar, abaixa a linha Ack.

20 Arbitragem O barramento pode ter mais de um elemento de processamento ligado a ele. Caso dois elementos desejem utilizar o barramento: – Quem decidirá qual receberá o direito de uso? – Quem é responsável por escalonar o uso entre os elementos de processamento? Barramentos mais modernos possui um árbitro interno responsável por realizar estas funções.

21 Exemplo AMBA

22 Intel Pentium IV

23 Interface dos dispositivos de E/S com processador, memória e sistema operacional As responsabilidades do S.O. com os dispositivos de E/S surgem de três características que eles apresentam: – Diversos programas usando o processador compartilham o sistema de E/S – Os sistemas de E/S normalmente usam interrupções para comunicar informações de E/S (modo supervisor). – O controle de baixo nível de um dispositivo de E/S é complexo, pois exige o gerenciamento de um conjunto de eventos simultâneos ou possui um alto grau de detalhamento.

24 Interface dos dispositivos de E/S com processador, memória e sistema operacional Sistema Operacional: – Garante que um programa de usuário acessa apenas as partes de um dispositivo de E/S para as quais o usuário possui direitos. – Oferece abstrações para acessar dispositivos fornecendo rotinas que tratam as operações de baixo nível. Testem copiar um.wav ou.pcm para /dev/dsp no linux. – O sistema operacional trata as interrupções geradas pelo dispositivo de E/S, assim como trata as exceções geradas pelo programa. – O sistema operacional tenta oferecer acesso equilibrado aos recursos de E/S, além de escalonar acessos a fim de melhorar a vazão do sistema.

25 Dando comandos a dispositivos de E/S Processadores se comunicam com dispositivos de E/S através de dois diferentes métodos: – E/S mapeada em memória: Partes do espaço de endereçamento são atribuídas a dispositivos de E/S. Leituras e escritas para esses endereços são interpretadas como comandos aos dispositivos de E/S

26 Dando comandos a dispositivos de E/S Processadores se comunicam com dispositivos de E/S através de dois diferentes métodos: – Instruções de E/S especiais: Uma instrução dedicada, usada para dar um comando a um dispositivo de E/S e que especifica o número do dispositivo e a word de comando (ou o local da word de comando na memória). Em geral, não disponíveis no modo usuário.

27 Comunicação com o processador O processador precisa saber quando o dispositivo de E/S está pronto para realizar uma nova operação. – Para solicitar uma nova operação. – Para recolher os dados processados pelo dispositivo. – Estes dois passos são muito empregados na transferência de dados entre dois dispositivos de armazenamento. Existem três abordagens para tratar desta comunicação.

28 Comunicação com o processador Pooling – O processador verifica periodicamente o status de um dispositivo de E/S para determinar a necessidade de atender ao dispositivo. – Problemas Processador precisa ficar a todo momento verificando disponibilidade do dispositivo. Processador participa diretamente da transferência de dados. E/S controlada por interrupção – Um esquema de E/S que emprega interrupções para indicar ao processador que um dispositivo de E/S precisa de atenção. – Problemas Processador participa diretamente da transferência de dados.

29 Comunicação com o processador DMA – Um mecanismo que oferece a um controlador de dispositivo a capacidade de transferir dados diretamente da memória ou para ela sem envolver o processador.

30 Comunicação com o processador DMA – Passos: Processador configura o DMA, fornecendo a identidade do dispositivo, a operação a realizar no dispositivo, o endereço de memória que é a origem ou o destino dos dados a ser transferidos. O DMA inicia a operação no dispositivo e arbitra o acesso ao barramento. Quando a transferência de DMA termina, o controlador interrompe o processador. O processador pode interrogar o DMA sobre o sucesso ou não da operação.

31 Multiprocessadores e Clusters André Luis Meneses Silva andreLuis.ms@gmail.com

32 Introdução A motivação para o desenvolvimento de sistemas multiprocessados é a idéia de desenvolver computadores poderosos a partir de computadores menores e baratos. – Boa notícia Funciona para compartilhamento de tempo (melhor que um supercomputador). Má notícia: É muito difícil escrever bons programas concorrentes, muitas falhas comerciais.

33 Introdução

34 Compartilhamento de dados Como os processadores paralelos compartilham dados? – Memória Compartilhada – Transferência de mensagens

35 Compartilhamento de dados Memória Compartilhada – Processadores se comunicam através de variáveis compartilhadas na memória. Processadores possuem espaço de endereçamento comum.

36 Compartilhamento de dados Memória Compartilhada – Podem ser: UMA (Uniform Memory Access) ou SMP (Symetric Multiprocessor) – Leva o mesmo tempo para acessar a memória principal independente do processador ou word requisitada. NUMA (Non Uniform Memory Access) – Alguns acessos a memória podem ser mais rápidos que outros.

37 Compartilhamento de dados Troca de Mensagens – Utilizadas em máquinas com memória privadas, como por exemplo, clusters.

38 Coordenação dos processadores Como os processadores operando em paralelo normalmente compartilham dados, eles também precisam sincronizar, ou seja, coordenar quando estão operando em dados compartilhados. Quando o compartilhamento é suportado por um único espaço de endereçamento, é usado loc. – Mecanismo de sincronização que permite acesso a dados apenas um processador de cada vez.

39 Como eles são implementados Conectados por um único barramento. Conectados por uma rede.

40 Multiprocessadores Conectados por um único barramento

41 Características: – O tráfego por processador e a largura de banda do barramento determinam o número útil de processadores. – As caches reduzem o tráfego de barramento, permitindo o convívio entre mais de um processador. – No entanto, pode aparecer problemas relativos a a coerência dos dados presente na cache.

42 Coerência de Cache Lê 54 da posição 0 Exemplo de plataforma (caches write back)

43 Exemplo de plataforma Coerência de Cache Lê 54 da posição 0

44 Coerência de Cache Escreve 30 na posição 0 Exemplo de plataforma

45 Coerência de Cache Exemplo de plataforma P 2 estará trabalhando com um valor inconsistente, visto que o mesmo foi alterado por P 1

46 Solução - Snoop Introdução de módulos vigilantes (snoop) que notifica o processador sobre as alterações de dados.

47 Coerência de Cache Visão Processador Visão Barramento

48 Multiprocessadores conectados por rede

49 Topologias de Rede Representação da estrutura física da rede. Mostra a ligação existente entre os componentes computacionais. Em uma topologia, os arcos representam os links da rede. Um quadrado preto representa o nó processador-memória A chave é representada por um círculo cinza. – A chave define a forma de ligação.

50 Topologias de Redes

51 Clusters Construídos a partir de computadores inteiros. Redes independentes e escaláveis Vantagens: – Muitas aplicações receptivas a máquinas frouxamente agrupadas. – Exploram redes locais. – Econômicos, fáceis de expandir Desvantagens – Custos de administração não são necessariamente baixos – Conectados usando um barramento de E/S. – A aplicação que executa em uma dada máquina utiliza apenas 1/n do poder de processamento do cluster (n = n. de máquinas) Altamente disponível devido a separação das memórias.

52 Multithreading – Várias threads compartilhando as unidades funcionais. – Cada thread possui 1 cópia do PC, 1 cópia do TLB e 1 cópia do banco de registradores.

53 Multithreading Pode ser: – Fine grained Comuta entre threads a cada instrução. Resulta em execução intercalada entre threads. A troca de threads é feita a cada ciclo de clock. Torna mais rápida a execução de conjunto de threads. Torna mais lenta a execução de threads individuais. – Coarse grained Comuta threads apenas entre stalls onerosos. A execução de uma thread individual é muito mais rápida. É perdido muito tempo em stalls curtos.

54 Multithreading SMT – Paralelismo em nível de instrução e de thread. – Une os conceitos de despacho múltiplo dinâmico ao conceito de multithreading. – Tecnologia existente nos processadores que possuem recurso hyperthreading.

55 FIM


Carregar ppt "Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva"

Apresentações semelhantes


Anúncios Google