Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

113
Arquiteturas Não Convencionais de Computadores

Transcript of Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Page 1: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Arquiteturas Não Convencionais de Computadores

Page 2: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Interligando Processador e Periféricos

Page 3: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Roteiro da Aula• Sistema de Entrada/Saída

– Conceitos básicos• Discos• Barramento

– Características– Sincronização– Arbitragem

• Implementando Entrada/Saída– Suporte do S.O.– Suporte do processador– Tipos de Entrada/Saída

• Projetando um sistema de Entrada/Saída• RAID: Melhorando o Desempenho dos Discos

Page 4: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Sistema de E/S

• Dependentes da tecnologia• Considerações de projeto:

– a possibilidade de expandir o sistema– o comportamento no caso de falhas– o desempenho

Page 5: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Sistema de E/S

Mainmemory

I/Ocontroller

I/Ocontroller

I/Ocontroller

Disk Graphicsoutput

Network

Memory– I/O bus

Processor

Cache

Interrupts

Disk

Page 6: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Sistema de E/S

• Desempenho– tempo de acesso (latência)– taxa de transferência (throughput)– Dependência:

• características do dispositivo• conexão com o sistema• hierarquia de memória• sistema operacional (software de I/O)

Page 7: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Desempenho com E/S

• Aplicação: – tempoexecução=100 seg– CPU = 90 seg, E/S = 10 seg– tempoexecução= tempoCPU+ tempoE/S

• desempenho da CPU melhora de 50% a cada ano e o do sistema de E/S não– tn=to/(1+c)n

• Quanto mais rápida será a aplicação daqui a 5 anos?

Page 8: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Desempenho com E/S

N anos TempoCPU TempoE/S Tempototal % tempoI/O

0 90 10 100 101 90/1.5=60 10 70 142 40 10 50 203 27 10 37 274 18 10 28 365 12 10 22 45

Melhora do DesempenhoCPU=7.5

Melhora do TempoTotal=4.5

Page 9: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Desempenho de E/S

• Métricas– depende da aplicação

• Taxa de transferência– Quantidade de dado transferido– Quantidade de operações de E/S

• Tempo de resposta

Page 10: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Organização de Sistemas Computacionais(Típico)

Memory

I/O

Registers

Cache

ProcessorRegisters

Cache

ProcessorRegisters

Cache

ProcessorRegisters

Cache

Processor

Page 11: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Desempenho de E/S

• Métricas– depende da aplicação

• Taxa de transferência– Quantidade de dado transferido– Quantidade de operações de E/S

• Tempo de resposta

Page 12: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Dispositivos de E/S

• Comportamento– Entrada (read once)– Saída (write only)– Armazenamento( Podem ser re-lidos e re-

escritos)• Taxa de Transferência de Dados

Page 13: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Dispositivos de E/S

Page 14: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Tecnologia dos Dispositivos

• Dirigidos pelo Paradigma de Computação Vigente– 1950s: migração de batch para processamento on-line– 1990s: migração para computação ubíqua (unipresente)

• Computação em telefones, livros, carros, vídeo, câmeras, …• Rede de fibra optica internacionais• wireless

• Efeitos na Indústria de Dispositivos de Armazenagem:– Embedded storage

• pequeno, barato, mais confiável, baixo consumo– Dados

• Alta capacidade, gerenciamento hierarquico do armazenamento

Page 15: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Dispositivos de Armazenamento• Finalidade:

– Longa duração, armazenamento não volátil– Grande, barato, usado nos níveis mais baixo da hierarquia

• Bus Interface:– IDE– SCSI – Small Computer System Interface– Fibre Channel– …..

• Taxa de Transfêrencia– Cerca de 120 Mbytes/second através da Interface de Barramento.– Cerca de 5 Mbytes/second por Heads.– Dados são movidos em Blocos

• Capacidade– Mais de 500 Gigabytes– Quadruplica a cada 3 anos – Podem ser agrupados para armazenarem Terabytes de Dados.

Page 16: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disk Drivers:Terminologia

• Vários pratos, com a informação armazenada magneticamente em ambas superfícies (usual)

• O Atuador move a cabeça (fim do braço,1/superfície) sobre a trilha (“seek”), seleciona a superfície, espera pelo setor passar sob a cabeça, então lê ou escreve

– “Cilindro”: todas as trilhas sob as cabeças

• Bits armazenados em trilhas, que por sua vez são divididas em setores (e.g., 512 Bytes)

Platter

OuterTrack

InnerTrackSector

Actuator

HeadArm

Page 17: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Foto: Braço, Cabeça, Atuador e Pratos

Atuador

Braço Cabeça

Pratos (12)

{Eixo

Page 18: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Discos: Exemplos

Seagate Cheetah ST3146807FC147 Gigabytes

10,000 RPM

4.7 ms avg seek time.

Fibre Channel

$499.00

http://www.seagate.com/cda/products/discsales/marketing/detail/0,1121,355,00.html

4 disks, 8 heads

290,000,000 Total Sectors

50,000 cylinders

Average of 6,000 sectors/cylinder or 800 sectors / track (but different amounts on each track.)

MTBF = 1,200,000 hours

Page 19: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Discos: Exemplos

Barracuda Cheetah ST320822A

200 Gigabytes

7,200 RPM

8.5 ms avg seek time.

ATA

$299.00

http://www.seagate.com/support/disc/manuals/fc/100195490b.pdf

2 disks, 4 heads

390,000,000 Total Sectors

24,000 cylinders

Average of 16,000 sectors/cylinder or 400 sectors / track (but different amounts on each track.)

MTBF = ???????????? hours

Page 20: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disk Device: Desempenho

Platter

Arm

Actuator

HeadSectorInnerTrack

OuterTrack

• Disk Latency = Seek Time + Rotation Time + Transfer Time + Controller Overhead

• Seek Time? Depende do no. de trilhas e velocidade de seek do disco

• Rotation Time? depende da velocidade de rotação do disco• Transfer Time? depende do data rate (bandwidth) do disco

(densidade dos bits), tamanho da requisição

ControllerSpindle

Page 21: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disk Device: Desempenho• Distância Média do setor à Cabeça?

• 1/2 tempo de uma Rotação– 10000 Revoluções Por Minuto: 166.67 Rev/sec– 1 revolução = 1/ 166.67 seg: 6.00 millisegundos– 1/2 rotação (revolução): 3.00 ms

• No Médio de Trilhas Saltadas pelo Braço?– Soma das distâncias de todos seeke possíveis a

partir de todas as trilhas possíveis / # possibilidades • Assume-se distribuição randômica

– Indústria usa benchmark padrão

Page 22: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disco Magnético SectorTrack

Cylinder

HeadPlatter

• Propósito:– Longo tempo, não volátil– Grande, barato, baixo nível na

hierarquia de memória

• Characterísticas:– Seek Time (~8 ms avg)

• latência posicional• latência rotacional

• Taxa de Transferência– 10-40 MByte/sec– Blocos

• Capacidade– Gigabytes– 4X a cada 3 anos

Tempo de Resposta (Response time) = Queue + Controller + Seek + Rot + Xfer

Service time

Read Cache

Write Cache

Electronics (controller)

Data Control

Page 23: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disco: Modelo de Desempenho

• Capacidade+ 100%/ano (2X / 1.0 ano)

• Transfer rate (BW)+ 40%/ano (2X / 2.0 anos)

• Tempo de Rotação + Seek– 8%/ ano (1/2 em 10 anos)

• MB/$> 100%/ano (2X / 1.0 ano)

Page 24: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Densidade em Área

• Os Bits estão armazenados ao longo da trilha– Métrica: Bits Per Inch (BPI)

• Número de trilhas por superfície – Métrica: Tracks Per Inch (TPI)

• Projetistas de Discos falam em densidade de bits por área– Métrica: Bits Per Square Inch– Denominado: Areal Density– Areal Density = BPI x TPI

Page 25: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Densidade por ÁreaYear Areal Density

1973 1.71979 7.71989 631997 30902000 17100

1

10

100

1000

10000

100000

1970 1980 1990 2000

Year

Area

l Den

sity

Areal Density = BPI x TPI

Page 26: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

História

fonte: New York Times, 2/23/98, page C3, “Makers of disk drives crowd even mroe data into even smaller spaces”

Data densityMbit/sq. in.

Capacity ofUnit ShownMegabytes

1973:1. 7 Mbit/sq. in140 MBytes

1979:7. 7 Mbit/sq. in2,300 MBytes

Page 27: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

História

1989:63 Mbit/sq. in60,000 MBytes

1997:1450 Mbit/sq. in2300 MBytes

1997:3090 Mbit/sq. in8100 MBytes

fonte: New York Times, 2/23/98, page C3, “Makers of disk drives crowd even more data into even smaller spaces”

Page 28: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Históriadisk drive de 1 inch

• 2000 IBM MicroDrive:– 1.7” x 1.4” x 0.2” – 1 GB, 3600 RPM,

5 MB/s, 15 ms seek– Digital camera, PalmPC?

• 2006 MicroDrive?• 9 GB, 50 MB/s!

– Assumindo que tenham encontrado um nicho

e o produto é um sucesso– Assumindo que as tendências de 2000 continuem

Page 29: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Arquitetura Não Convencional de Computadores

Densidade dos Discos• Bits armazenados por trilha

– Bits Per Inch (BPI)• Número de Trilhas por superfície

– Tracks Per Inch (TPI)• Densidade de Bits por Unidade de Área

– Bits Per Square Inch: Areal Density = BPI x TPIYear Areal Density1973 2 1979 8 1989 63 1997 3,090 2000 17,100 2006 130,000

1

10

100

1,000

10,000

100,000

1,000,000

1970 1980 1990 2000 2010

Year

Are

al D

ensi

ty

Page 30: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Tendências do tamanho e desempenho dos discos

• Avanço contínuo de capacidade (60%/yr) e taxa de transferência (40%/yr)

• Melhora lenta em seek, rotation (8%/yr)• Tempo de leitura de um disco

Year Sequentially Randomly (1 sector/seek)1990 4 minutes 6 hours2000 12 minutes 1 week(!)2006 56 minutes 3 weeks (SCSI)2006 171 minutes 7 weeks (SATA)

Page 31: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Custo vs.Desempenho dos Discos

Page 32: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Discos

Page 33: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Discos

Page 34: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Melhora da Latência e Taxa de Transferência

• Enquanto as taxas de transferência dos discos estão duplicando a latência melhora de um fator de 1.2 a 1.4

0

20

40

60

80

100

1983 1990 1994 1998 2003Year of Introduction

Bandwidth (MB/s)

Latency (msec)

Page 35: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Dependability

Page 36: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Dependability, Reliability, Availability

• Reliability –medida pelo mean time to failure (MTTF).• Interrupção de serviço é medida pelo mean time to

repair (MTTR)• Availability – medida do tempo para terminar o serviço

Availability = MTTF/(MTTF + MTTR)

• Para aumentar MTTF, deve-se melhorar a qualidade dos componentes ou projetar o sistema para continuar operando no caso de falha.1. Fault avoidance: previne a ocorrência de falha por construção2. Fault tolerance: uso de redundancia ou bypass de

componentes com falhas.l Detecção da Falha vs. correção da Falhal Falhas permanentes vs. Faltas transientes

Page 37: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

História• 1956 IBM Ramac — early 1970s Winchester

– Desenvolvido para mainframes, interfaces proprietárias– Redução de tamanho : 27 in. to 14 in.

• Tamanho e capacidade orientam o mercado mais que desempenho

• 1970s desenvolvimento– 5.25 inch floppy disk (microcódigo nos mainframe)– Emergencia da indústria de padrão de interfaces para discos

• Início dos anos 1980s: PCs e primeiras gerações de workstations

• Meados dos anos 1980s: Computação Client/server – Armazenamento centralizado no servidor

• Redução do tamanho dos discos (8 inch para 5.25)– Mercado de discos se estabiliza

• Padrões industriais : SCSI, IPI, IDE• Drives para PCs 5.25 inch para 3.5 fim das interfaces proprietárias

• 1900s: Laptops => 2.5 inch drives• 2000s: Quais dispositivos demandarão novos drives?

Page 38: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Uso de Arrays de Discos Pequenos?

14”10”5.25”3.5”

3.5”

Disk Array: 1 disk design

Convencional: 4 disk designs

Low End High End

•Katz e Patterson perguntaram 1987: •Seria possível usar discos pequenos para reduzir gap de desempenho entre discos e CPUs?

Page 39: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Substituição de Poucos discos Grandes por Muitos Discos Pequenos (1988 Disks)

Capacity Volume PowerData Rate I/O Rate MTTF Cost

IBM 3390K20 GBytes97 cu. ft.

3 KW15 MB/s

600 I/Os/s250 KHrs

$250K

IBM 3.5" 0061320 MBytes

0.1 cu. ft.11 W

1.5 MB/s55 I/Os/s50 KHrs

$2K

x7023 GBytes11 cu. ft.

1 KW120 MB/s

3900 IOs/s??? Hrs$150K

Arrays de Discos tem potencial para altas taxas de transferência e grande capacidade de armazenamento (high MB per cu. ft., high MB per KW) Mas e a Confiabilidade???

9X

3X

8X

6X

Page 40: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Confiabilidade de Array

• Confiabilidade de N discos = Confiabilidade de 1 Disco ÷ N

50,000 Horas ÷ 70 discos = 700 horas

MTTF do sistema: Reduz de 6 anos para 1 mes!

• Arrays (sem redundância) pouco confiável para ser usado!

Page 41: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Redundant Arrays of (Inexpensive) Disks

• Arquivos são distrbuídos "striped" entre múltiplos discos

• Redundância garante disponibilidade do dado– Disponibilidade: serviço fornecido ao usuário

mesmo no caso de falha de algum componente.• Discos vão falhar• Conteúdo reconstruído a partir de dados

redundante armazenado no array.-Penalidade na capacidade pela informação

redundante-Penalidade na taxa de transferência pela

atualização da informação redundante

Page 42: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAIDs: Disk Arrays

• Arrays de discos pequenos e baratos– Aumento da taxa de transferência

• Dado espalhado sobre múltiplos discos• Acessos múltiplos são feitos a vários discos simultâneamente

• Confiabilidade é menor que num disco UNICO• MAS disponibilidade pode ser melhorada pela adição de

discos redundantes(RAID)– Informação perdida pode ser recuperada através da informação

redundante– MTTR: tempo de reparo é da ordem de horas– MTTF: tempo para acontecer uma falha é dezenas de anos.

Redundant Array of Inexpensive Disks

Page 43: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 0 (No Redundancy; Striping)

• Discos pequenos múltiplos em vez de um grande disco– Espalhamento de blocos sobre discos múltiplos– striping –

significa que múltiplos blocos podem ser acessados em paralelo aumentando o desempenho.

• Um sistema de 4 discos resulta em uma taxa 4X maior que a de um disco único.

– Mesmo custo que um disco grande

• Nenhuma redundancia, e se um disco falhar?– Falha em um ou mais discos é mais provável a medida que o

número de discos aumenta.

blk1 blk3blk2 blk4

Page 44: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 1: Disk Mirroring/Shadowing

• Cada disco é duplicado no disco espelho “mirror” • Redução da taxa na escrita:

Necessidade de duas escritas• Leituras são otimizadas

• Solução de alto custo: 100% overhead de capacidade

recoverygroup

Page 45: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 1 (Redundancy via Mirroring)

• Use o dobro de discos de RAID 0 (e.g., 8 pequenos discos com um segundo conjunto de 4 duplicata de primeiro conjunto) existe uma cópia do dado.– # discos redundantes = # de discos de dados – então o custo

duplica• Escrita deve ser feita em ambos conjunto então o desempenho cai

pela metade.

• E se um disco falha?– O sistema acessa o disco “espelho” para acessar o dado.

blk1.1 blk1.3blk1.2 blk1.4 blk1.1 blk1.2 blk1.3 blk1.4

redundant (check) data

Page 46: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 0+1 (Striping with Mirroring)

• Combina o melhor de RAID 0 e RAID 1, dado é espalhado entre quatro discos e espelhado nos outros quatro discos. – Melhora taxa de 4X (devido espalhamento)– # discos redundantes = # discos de dado (2X o custo de um

disco grande)• Escrita deve ser feita nos dois conjuntos (metade do desempenho

de RAID 0)

• E se um disco falha?– O sistema acessa o disco “espelho” para acessar o dado.

blk1 blk3blk2 blk4 blk1 blk2 blk3 blk4

redundant (check) data

Page 47: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 2 (Redundancy via ECC)

blk1,b0 blk1,b2blk1,b1 blk1,b3Checks 4,5,6,7

Checks 2,3,6,7

Checks 1,3,5,7

3 5 6 7 4 2 1

10 0 0 11

ECC disks0

ECC discos 4 e 2 aponta para o disco 6 ou 7, MAS disco ECC disco 1 informa que disco 7 está OK, então disco 6 deve ter falha.

1

Infra-estrutura de Hardware 2009

• ECC discos contem a paridade de um conjunto de discos diferentes e com sobreposição– # discos redundantes = log (# total de discos de dado) quase o

dobro do custo de um disco grande.• Escrita requer computar a paridade para escrever nos discos ECC• Leitura requer ler disco ECC e confirmar a paridade.

• Pode tolerar falha limitada, desde que o dado pode ser reconstruído.

Page 48: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 3: Parity Disk

P101000111100110110100011

. . . registro lógico 1

0100011

11001101

10100011

11001101

P contem a soma dos discos por stripe mod 2 (“parity”).Se disco falha,basta subtrair P da soma dos outros discos para recuperarInformação

Striped registrosfísicos

Page 49: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 3

• Soma calculada para o grupo de recuperação para proteger contra falhas de disco rígido, armazenado em disco P

• Suporta grande capacidade e alta taxa de transferência do disco: bom para transferências de grande quantidade de dados

• Arrays grandes reduzem os custos de capacidade, mas diminui a disponibilidade

• 33% do Custo da sua capacidade para a paridade se três discos de dados e um disco de paridade

Page 50: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 3 (Bit-Interleaved Parity)blk1,b0 blk1,b2blk1,b1 blk1,b3

10 01(odd)

bit parity disk

Infra-estrutura de Hardware 2009

• Custo de ter disponibilidade é reduzido a 1/N onde N é o número de discos em um protection group– # discos redundantes = 1 × # grupos de proteção

• Escrita requer escrita do dado no disco de dado assim como computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser reconstruído.

• Leitura requer a leitura de todos os discos operacionais assim como o disco de paridade para calcular o dado desaparecido que estava armazenado no disco com falha.

Page 51: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 3 (Bit-Interleaved Parity)

• Custo de alta availability é reduzido a 1/N onde N é o número de discos em um protection group– # discos redundantes = 1 × # grupos se proteção

• Escrita requer escrita do dado no disco de dado assim como computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser reconstruído.

• Leitura requer a leitura de todos os discos operacionais assim como o disco de paridade para calcular o dado desaparecido que estava armazenado no disco com falha.

blk1,b0 blk1,b2blk1,b1 blk1,b3

10 0 1(odd)

bit parity diskdisk fails

1

Page 52: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Inspiração para RAID 4• RAID 3 baseia-se no disco de

paridade para descobrir erros na leitura

• Mas cada setor tem um campo de detecção de erros

• Para detectar erros na leitura, poderia usar o campo de detecção de erros em vez do disco de paridade

• Suporta leituras independentes de discos diferentes simultaneamente

Page 53: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 4: High I/O Rate Parity

D0 D1 D2 D3 P

D4 D5 D6 PD7

D8 D9 PD10 D11

D12 PD13 D14 D15

PD16 D17 D18 D19

D20 D21 D22 D23 P...

.

.

.

.

.

.

.

.

.

.

.

.Disk Columns

IncreasingLogical

Disk Address

Stripe

Interior de 5 discos

Exemplo:small read D0 & D5, large write D12-D15

Page 54: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 4 (Block-Interleaved Parity)

• Custo para maior disponibilidade permanece 1/N mas a paridade é armazenada como blocos associados com conjuntos de blocos de dados– Desempenho 4X maior (striping)– # discos redundantes = 1 × # de grupos de proteção– Suporta “small reads” e “small writes” (leituras e escritas que acessam

apenas um disco no grupo de proteção) • Olhando os bits modificados quando ecrevendo uma nova informação,

necessita apenas mudar bits correspondentes no disco de paridade.• O disco de paridade deve ser atualizado a cada escrita, tornando-se um

bottleneck.

• Pode tolerar falha limitada desde que o dado pode ser reconstruído

blockparity disk

blk1 blk2 blk3 blk4

Page 55: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 3 vs RAID4

Page 56: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pequenas Escritas• RAID 3 small writes

New D1 data

D1 D2 D3 D4 P

D1 D2 D3 D4 P

3 leituras e 2 escritas

envolvendo todos os discos

• RAID 4 small writesNew D1 data

D1 D2 D3 D4 P

D1 D2 D3 D4 P

2 leituras e 2 escritas envolvendo apenas dois discos

Page 57: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Inspiração para RAID 5• RAID 4 funciona bem para leituras de blocos pequenos• Escrita de poucos blocos :

– Opção 1: leitura dos outros discos, calcula nova soma e escreve para Parity Disk

– Opção 2: Como P tem a soma antiga, compare dado antigo com dado novo e adicione a diferença a P

• Small writes são limitadas pelo Parity Disk: Escrita de D0, D5 mas ambos escrevem no disco P

D0 D1 D2 D3 P

D4 D5 D6 PD7

Page 58: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID 5: High I/O Rate Interleaved Parity

Escritas independentes devido a paridade entrelaçada

D0 D1 D2 D3 P

D4 D5 D6 P D7

D8 D9 P D10 D11

D12 P D13 D14 D15

P D16 D17 D18 D19

D20 D21 D22 D23 P...

.

.

.

.

.

.

.

.

.

.

.

.Disk Columns

IncreasingLogical

Disk Addresses

Exemplo: Escrita a D0, D5 usa discos 0, 1, 3, 4

Page 59: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

RAID: Level 5 (Distributed Block-Interleaved Parity)

• Custo para maior availability permanece 1/N mas o bloco de paridade pode ser localizado em qualquer um dos discos (sem bottleneck para escritas)– 4X mais desempenho (striping)– # discos redundantes = 1 × # grupos de proteção– Suporta “small reads” e “small writes” (leituras e escritas em um

(ou poucos) discos de dados em um grupo de proteção.)– Permite escrita múltiplas e simultâneas desde que blocos de

paridade não estejam localizados no mesmo disco.

• Pode tolerar falha limitada desde que o dado pode ser reconstruído

one of these assigned as the block parity disk

Page 60: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Distributing Parity Blocks

• Se distribuirmos os blocos de paridades por todos os discos, escritas poderão se feitas em paralelo.

1 2 3 4 P0

5 6 7 8 P1

9 10 11 12 P2

13 14 15 16 P3

RAID 4 RAID 5

1 2 3 4 P0

5 6 7 P1 8

9 10 P2 11 12

13 P3 14 15 16

Page 61: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Comparando…

Page 62: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.
Page 63: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Berkeley History: RAID-I

• RAID-I (1989) – Sun 4/280 workstation com 128 MB de DRAM, quatro dual-string SCSI controllers, 28 5.25-inch SCSI disks and specialized disk striping software

• Em 2006 RAID representava indústria de $24 billion dollar, 80% dos discos nonPC vendidos como RAIDs

Page 64: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramentos

CPU Memória I/O

Barramento de endereçosBarramento de dados

Barramento de controle

Vantagens: -versatilidade - baixo custo

Desvantagens: - limita taxa de transmissão

- # de dispositivos - tamanho do barramento

Page 65: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disco lendo memória

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i sk s

a

.

b .

c .

M e m o r y

envio endereço

Leitura dos dados

Page 66: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Disco escrevendo em memória

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

a .

b .

M e m o r y

envio endereço

Escrita dos dados

Page 67: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Tipos de barramentos

Processor Memory

Backplane bus

a. I/O devices

• Processador-memória– curtos e de alta velocidade– específicos

Page 68: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Tipos de barramentos

Processor Memory

Processor-memory bus

b.

Busadapter

Busadapter

I/Obus

I/Obus

Busadapter

I/Obus

• I/O– longos– compatíveis com vários dispositivos

(padronizados)

Page 69: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Tipos de barramentos

Processor MemoryProcessor-memory bus

c.

Busadapter

Backplanebus

Busadapter

I/O bus

Busadapter

I/O bus

• Backplane (CPU, memória, I/O)– padronizados – baixo custo

Page 70: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Temporização

• Barramento síncrono• Este tipo de barramento exige que todo o

tráfego de dados e controle seja sincronizado sob uma mesma base de tempo (clock)

• Vantagens:– simplicidade– desempenho

• Problemas:– dispositivos devem ter a mesma frequência do

clock– curtas distancias

• Processador-memória

Page 71: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Síncrono

Ciclo de leitura

relógio

endereço

dados

MREQ

RD

dados

endereço de memória

T1 T2 T3

T1 - CPU ativasinais de controlee endereço

T2 - Endereço estável no barra-mento

T3 - Memória li-bera dados nobarramento

-Dados são lidospela CPU-CPU desabilitacontrole

MREQ - 0RD - 0

Memória deco-difica endereço

Memória colocadados no barra -mento de dados

MREQ - 1RD - 1

Page 72: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento -Temporização

• Barramento assíncrono• Este barramento não possui um relógio mestre. Os

ciclos de barramentos podem ter qualquer duração e não precisam ser iguais para todas as situações.

• Podem incluir vários dispositivos• Necessita de protocolo de handshake• Pode ser longo• Barramento de I/O

Page 73: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Protocolo de Barramento Assíncrono

7. I/O device vê DataRdy deastivado e desativa Ack

Leitura da memória por um I/O device

I/O device sinaliza requisição ativando ReadReq e colocando addr nas linhas de dados.

12

3

ReadReq

Data

Ack

DataRdy

addr data

4

56

7

1. Memória vê ReadReq, lê addr da linha de dados e ativa Ack

2. I/O device vê Ack e desativa ReadReq e linhas de dados3. Memory vê ReadReq e desativa Ack4. Quando dado da memória está pronto disponibiliza e ativa DataRdy5. I/O device vê DataRdy, lê dado e ativa Ack6. Memória vê Ack, libera linhas de dados e desativa DataRdy

Page 74: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Melhorando o desempenho

• Aumentar barramento de dados• Separar linhas de dados e endereços• Transferência em blocos

Maior custoMaior tempo de resposta

Page 75: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Acessando o barramento

• Mestre do barramento– inicia e controla todas as requisições ao

barramento• Quem pode ser mestre?

– Processador– Dispositivo de I/O

Page 76: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Mestre único (processador)

Memory Processor

Bus request lines

Bus

Disks

Bus request lines

Bus

Disks

Processor

Bus request lines

Bus

Disks

a.

b.

c.

ProcessorMemory

Memory

Page 77: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Mestre único (processador)

• Vantagem:– simplicidade

• Desvantagem:– Processador coordena todas as transações

de barramento– degradação do desempenho

Page 78: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Múltiplos Mestres

• Processador e dispositivos de E/S podem se tornar mestres

• Necessidade de protocolo– request– granted– bus-release

• Necessidade de esquema de arbitragem

Page 79: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Arbitragem

• O que acontece quando dois ou mais dispositivos querem se tornar mestres do barramento ao mesmo tempo?

• A arbitragem decide qual mestre terá o controle do barramento num dado instante

– Arbitragem centralizada– Arbitragem descentralizada

Page 80: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Arbitragem Centralizada

Árbitro PCI GN

TR

EQ

GN

TR

EQ

GN

TR

EQ

Disp.PCI A

Disp.PCI B

Disp.PCI C

Arbitragem no barramento PCI (centralizado) Exemplo para três dispositivos O árbitro decide qual mestre controla o barramento Desvantagem:

dependência do árbitro

Page 81: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Arbitragem Híbrido

(centralizada e distribuída)

• Barramento de um nível usando daisy-chaining

• Características• 1. Todos os dispositivos são ligados em série, assim a permissão, dada

pelo árbitro, pode ou não se propagar através da cadeia.• 2. Cada dispositivo deve solicitar acesso ao barramento.• 3. O dispositivo mais próximo do árbitro tem maior prioridade.

Device n

Lowest priority

Device 2Device 1

Highest priority

Busarbiter

GrantGrant Grant

Release

Request

Page 82: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Arbitragem Híbrida(centralizada e distribuída)

Arbitragem com dois níveis de prioridade

• Características• 1. Cada dispositivo se liga a um dos níveis de requisição.• 2. Os dispositivos com tempos mais críticos se ligam aos níveis de

maior prioridade.• 3. Se múltiplos níveis de prioridade são requeridos ao mesmo tempo,

o árbitro solta a • permissão apenas para os de prioridade mais alta.

Árbitro

D1 D2 D3 D4

permissão 1permissão 2

requisição nível 1requisição nível 2

Page 83: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Arbitragem Descentralizada • Arbitragem distribuída por seleção própria– múltiplas linhas de requisição– dispositivos requisitantes determinam quem vai usar o barramento (prioridade)– Ex: NuBus (Macintosh)• Arbitragem distribuída com detecção de colisão– requisições independentes– colisões são detectadas e resolvidas– Ex: Ethernet

Page 84: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Aspectos de projeto

• Considerações na implementação de do barramento do sistema:

Opções Alta Performance Baixo custo

Largura do barramento Endereços e dados separados Multiplexação das linhas deendereço/dados

Largura de dados 16 bits, 32 bits, ... (Quantomaior mais rápido)

Menor, mais barato

Transações por pacotes Múltiplas palavras menosoverhead

Transferência por palavraé mais simples

Barramentos masters Múltiplos mestres (requerarbitragem)

Apenas um mestre (semarbitragem)

Relógio (Clocking) Síncrono Assíncrono

Page 85: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - PadrõesCaracterística PCI SCSITipo Backplane I/OLargura (dados) 32-64 8-32Multiplexaçãoend/dados?

multiplexado Multiplexado

Número mestres múltiplos MúltiplosArbitragem Centralizada Self-selectionRelógio Síncrono(33-66

MHz)Assíncrono ousíncrono(5-10MHz)

Bandwith(teórica) 133-512 MB/seg 5-40MB/SegBandwith(medida) 80 MB/seg 2.5 – 40 ou 1.5

MB/Seg(ass.)Número de dispo. 1024 7-31Comprimento 0.5 metro 25 metrosNome PCI ANSI X3.31

Page 86: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Barramento - Padrões

Page 87: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Executando operações de E/S

• Comunicação com os dispositivos de E/S:– envio de comandos aos dispositivos– transferência de dados de/para dispositivos– análise do status dos dispositivos e da

transmissão• Interface entre usuário e dispositivo

– Sistema Operacional

Page 88: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Suporte do S.O. a E/S

• Proteção– garante o acesso a dispositivos/dados para os

quais se tenha permissão• Abstração (dispositivo)

– possui rotinas específicas com detalhes de cada dispositivo

• Gerenciamento– trata as interrupções causadas pelos

dispositivos• Escalonamento

– controla a utilização de dispositivos compartilhados entre processos

Page 89: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Software de E/S

• Organizado em camadas

Processo(usuário)

Rotinas indep.do dispositivo.

Device drivers

Interrupt handler

Tradução de símbolos (dispositivos,tam.etc.)

Código dependentedo dispositivo

Page 90: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Implementando E/S

• Instruções especiais– Registradores especiais

• status dos dispositivos• dado a ser recebido/transmitido

– Proteção• instruções privilegiadas (só podem ser executadas

via S.O.)

Page 91: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Implementando E/S

• E/S mapeada em memória– Range de endereços de memória para

armazenar status e dados– Instruções de E/S : instruções de acesso à

memória– Proteção:

• tradução do endereço

Page 92: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Implementando E/S

• Pooling

CPU DISPOSITIVO

1- lê status do disp. 2- envia status

3- Inspeciona status,se não está pronto va para 1

4- escreve no reg. dado 5- aceita dado, status=ocupado até escrita terminada6- se existe mais dados vápara 1

Page 93: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling

• Vantagens:– E/S controlada pela CPU– simplicidade de implementação– Dispositivos que iniciam E/S:

• Mouse• Impressora

• Problema:– CPU fica esperando pelo dispositivo

Page 94: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling - Overhead

• #ciclospooling=400, clock= 500 MHz• Qual a fração de tempo da CPU em cada

um dos casos:– Mouse deve ser verificado 30 vezes/seg– Floppy transfere palavras de 16 bits a uma

taxa de 50 KB/seg– O disco rígido transfere blocos de 4 palavras

a uma taxa de 4MB/seg.

?

Page 95: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling

• Vantagens:– E/S controlada pela CPU– simplicidade de implementação– Dispositivos que iniciam E/S:

• Mouse• Impressora

• Problema:– CPU fica esperando pelo dispositivo

Page 96: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling - Overhead

• #ciclospooling=400, clock= 500 MHz• Qual a fração de tempo da CPU em cada

um dos casos:– Mouse deve ser verificado 30 vezes/seg– Floppy transfere palavras de 16 bits a uma

taxa de 50 KB/seg– O disco rígido transfere blocos de 4 palavras

a uma taxa de 4MB/seg.

?

Page 97: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling - Overhead

• Mouse:– #ciclos = 30 x #ciclospooling= 30 x 400 = 12000

ciclos– FraçãoCPU = 12000x102/500x106 =0.002%

• Floppy:– (50 KB/seg)/2 bytes = 25K pooling/seg– #ciclos=25K x 400 = 10x106

– FraçãoCPU = 10x106 x102/500x106 =2%

Page 98: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Pooling - Overhead

• Disco rígido:– (4MB/seg)/16 bytes = 250K pooling/seg– #ciclos=250K x 400 = 100x106

– FraçãoCPU = 100x106 x102/500x106 =20%

Page 99: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Interrupt-driven I/O

• CPU executa outras instruções enquanto espera E/S

• Sincronização: interrupção– disp. E/S está pronto para nova transferência– operação de E/S terminou– ocorreu erro

• Vantagem:– melhor utilização da CPU

Page 100: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Interrupt-driven Overhead

• Exemplo anterior: Disco rígido• transferência em 5% do tempo

– Overheadinterrupção= 500 ciclos– (4MB/seg)/16 bytes = 250K transf./seg– #ciclos=250K x 500 = 125x106

– FraçãoCPU = 125x106 x102/500x106 =25% como o disco só transmite em 5% do tempo:

– FraçãoCPU =25% x 5% = 1.25%Vantagem: Ausência de overhead quando dispositivo não está transmitindo

Page 101: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

DMA(transf. autonoma)

• Transferência de blocos de dados– 80 a 512 bytes

• E/S controlada pelo dispositivo de E/S – parametros:

• end. memória• tamanho blocos• end. Dispositivo

• Interrupção da CPU quando DMA termina

Page 102: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

DMA Overhead

• Exemplo anterior: Disco rígido• Blocos => 8KB • transmissão em 100% do tempo

– Setup=1000 ciclos– Overheadinterrupção= 500 ciclos

– TempoDMA= 8KB/(4MB/seg)=2x10-3 seg– #ciclos/seg= (1000+500)/ 2x10-3=750x103

– FraçãoCPU = 750x103 x102/500x106 =0,2%

Page 103: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

• Restrições de projeto:– latência– taxa de transferência

• Latência:– tempo de resposta admitido pela aplicação– simplicidade:

• não considera a carga do sistema

Page 104: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

• Taxa de Transferência– taxa do componente mais “lento”– outros componentes devem ser configurados

de forma a trabalhar nesta taxa

Page 105: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

CPU Memóriabackplane

SCSI

...

SCSI

...

...

Page 106: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

CPU Memóriabackplane

SCSI

...

SCSI

...

...

Projetando um Sistema de E/S

• CPU– 3000x106 instr./seg– I/O => 100x103 instr. do S.O

• Bus - taxa=1000 MB/seg• SCSI

– taxa=320MB/seg– até 7 discos

• Discos– taxa=75MB/seg– seek+rotational=6ms

Page 107: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

CPU Memóriabackplane

SCSI

...

SCSI

...

...

Projetando um Sistema de E/S

• Workload (aplicação)– 64KB de leituras– prog. Usuário => 200x 103

instruções

Qual a taxa de I/O do sistema e quantos discos pode ter de forma que esta taxa seja mantida?

Page 108: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

• Taxa_I/OCPU= (# instr./seg)/(instr. I/O/seg) = 3000x106

/(200+100)x103=10.000 I/O/seg • Taxa_I/Obus=taxa/bytes por I/O = 1000x106

/640x103=15625 I/O/seg

CPU tem a menor taxa

Configurar o resto do sistema de forma a se ter esta taxa de I/O.

Page 109: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

• Tempo_I/Odisco= seek+rotational+transf.= 6+64K/75MB= 6,9 ms

• Taxa_I/Odisco= 1000ms/6,9ms = 146 I/O/seg• # discos = 10.000/146 = 69 discos

Quantos discos podemos ter no sistema?

Page 110: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Projetando um Sistema de E/S

• # discos = 69 discos• Taxadisco= tam.bloco/tempo = 64KB/6,9 ms = 9,56 MB/seg

• TaxaSCSI=320MB/seg => pode ter 7 discos por barramento• #Bus_SCSI= 69/7 = 10

Quantos barramentos SCSI?

Page 111: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

E/S Macintosh 7200

Mainmemory

I/Ocontroller

I/Ocontroller

Graphicsoutput

PCI

CDROM

Disk

Tape

I/Ocontroller

Stereo

I/Ocontroller

Serialports

I/Ocontroller

Appledesktop bus

Processor

PCIinterface/memory controller

EthernetSCSI bus

outputinput

Page 112: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Resumindo

• Entrada/Saída– Desempenho: latência e taxa de transferência– Dependability

• Discos e RAID• Barramento

– Síncrono e assíncrono– Arbitragem

Page 113: Arquiteturas Não Convencionais de Computadores. Interligando Processador e Periféricos.

Resumindo

• Implementando operações de E/S– Software de E/S– Instruções do processador

• Tipo de E/S– Pooling– Interrupção– DMA

• Redundância e Disponibilidade • Projetando um sistema de E/S