39
Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva [email protected]

Armazenamento, Redes e Outros Periféricos André Luis Meneses Silva [email protected]

Embed Size (px)

Citation preview

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

Armazenamento, Redes e Outros Periféricos

André Luis Meneses [email protected]

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

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

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

Interface entre processadores e periféricos

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

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.

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

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.

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.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.Cilindro: Conjunto de trilhas com um mesmo número nos vários discos.

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

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

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

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.

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

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.

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

Exemplo Barramento Síncrono - AMBASensível a subida de

ciclo.Sensível a subida de ciclo.

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

Exemplo Barramento Assíncrono

1. Memória vê a ReadReq, lê o endereço em Data e levanta Ack.2. O processador 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 DataRdy5. Processador vê DataRdy, lê os dados em Data e levanta Ack6. Memória vê Ack, abaixa DataRdy e libera Data.7. Processador vê DataRdy baixar, abaixa a linha Ack.

1. Memória vê a ReadReq, lê o endereço em Data e levanta Ack.2. O processador 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 DataRdy5. Processador vê DataRdy, lê os dados em Data e levanta Ack6. Memória vê Ack, abaixa DataRdy e libera Data.7. Processador vê DataRdy baixar, abaixa a linha Ack.

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

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.

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

Exemplo AMBA

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

Intel Pentium IV

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

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.

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

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.

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

Multiprocessadores e Clusters

André Luis Meneses [email protected]

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

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.

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

Introdução

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

54012...

54

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

Compartilhamento de dados

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

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

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.

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

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.

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

Compartilhamento de dados

• Troca de Mensagens– Utilizadas em máquinas com memória privadas,

como por exemplo, clusters.

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

Como eles são implementados

• Conectados por um único barramento.• Conectados por uma rede.

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

Multiprocessadores Conectados por um único barramento

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

Multiprocessadores Conectados por um único barramento

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

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

Coerência de Cache

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

012...

54

Lê 54 da posição 0

• Exemplo de plataforma (caches write back)

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

• Exemplo de plataforma

Coerência de Cache

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

54012...

54

Lê 54 da posição 0

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

Coerência de Cache

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

54012...

30

Escreve 30 na posição 0

• Exemplo de plataforma

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

Coerência de Cache

• Exemplo de plataforma

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

54012...

30

P2 estará trabalhando com um valor inconsistente, visto que o mesmo foi alterado por P1

P2 estará trabalhando com um valor inconsistente, visto que o mesmo foi alterado por P1

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

Solução - Snoop

Processador 1

Cache

Processador 2

Cache

Memória Externa

01...31

5410...33

Barramento

012...

54012...

30 Valid Invalid

Snoop Snoop

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

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

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

Multiprocessadores conectados por rede

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

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.

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

FIM