Arquitectura de Computadores II Clases #10

Arquitectura de Computadores II Clases #10 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos…  E/S a

9 downloads 165 Views 2MB Size

Recommend Stories


Arquitectura de Computadores II Clase #9
Arquitectura de Computadores II Clase #9 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos…  Rendimie

Arquitectura de Computadores II Clase #3
Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos    Regis

Story Transcript

Arquitectura de Computadores II Clases #10 Facultad de Ingeniería Universidad de la República

Instituto de Computación Curso 2009

Veremos… 

E/S avanzada  



DMA Procesadores de E/S

Periféricos  

Interfaces de alta velocidad Almacenamiento

E/S: características generales 

Conexión de memoria y E/S 



Direccionamiento  



Buses del sistema E/S aislada E/S mapeada en Memoria

Estructuras de Control de E/S  

Polling Interrupciones

Técnicas para leer un bloque de datos de entrada

Transferencia de datos basada en interrupciones CPU (1) Int. de E/S Memoria

C. E/S dispositivo



Ejemplo

programa de usuario

(2) salvar PC (3) Dirección del servicio de Int.

• 1000 transferencias de 1000 bytes, vel de transf. del dispositivo = 10 MBytes/s => 1000 bytes = 100 µseg(4) • 1000 transferencias x 100 µsecs = 100 ms = 0.1 segundos de CPU • C/int (contexto + handler) = 100µseg • 1000 interrupciones = 0.1 segundos de CPU 

add sub and or nop

2x overhead en las interrupciones!

read store ... rti memoria

rutina de servicio de la Int.

Una posible solución: Direct Memory Access 

E/S programada y por interrupciones requieren la intervención activa de la CPU 





Limita la velocidad de transferencia CPU “queda atada” a la E/S

Alternativa DMA 



Módulo adicional (hardware) en el bus El controlador de DMA “sustituye” a la CPU en tareas de E/S

Direct Memory Access: Cómo funciona? 

La CPU programa el controlador de DMA:    

Lectura/Escritura Dirección del dispositivo Dirección de comienzo del bloque de memoria Cantidad de datos a transferir



La CPU hace otra tarea mientras el controlador de DMA se encarga de la transferencia El controlador de DMA interrumpe cuando finaliza



“Robo” de ciclos del DMA



  

Por cada palabra transferida, el DMA se adueña del bus No es una interrupción (no hay que cambiar de contexto) La CPU queda suspendida antes de acceder al bus • Ej. Antes de leer o escribir en memoria



Enlentece la CPU, pero no tanto como si hiciera la transferencia

Breakpoints del DMA e Interrupciones durante el Ciclo de Instrucción

Direct Memory Access: Conexión al bus (i)

  

Como afecta el cache al DMA? Buses? Un solo Bus, controlador de DMA desacoplado 

Cada transferencia usa el bus dos veces • E/S a DMA, DMA a memoria



CPU suspendida dos veces!

Direct Memory Access: Conexión al bus (ii)



Un solo Bus, controlador de DMA integrado con E/S  

El controlador puede soportar más de un dispositivo Cada transferencia usa el bus una sola vez • DMA a memoria



CPU suspendida una sola vez

Direct Memory Access: Conexión al bus (iii)



Bus de E/S separado 

Permite escalar el DMA • El bus soporta todos los dispositivos que usan el DMA



Cada transferencia usa el bus una sola vez • DMA a memoria



CPU suspendida una sola vez

Ejemplo: controlador DMA Intel 8237   

Interfaz con DRAM y familia 80x86 Cuando el módulo de DMA necesita el bus manda señal HOLD al procesador CPU responde con HLDA (hold acknowledge) 



Módulo DMA puede usar el bus

Ej. transferencia de datos de memoria a disco 1. 2. 3.

4. 5.

6.

El dispositivo requiere servicio del DMA mediante DREQ (DMA request) DMA pide el bus mediante HRQ (hold request), CPU finaliza el ciclo de bus actual (no necesariamente la instrucción) y entrega el bus mediante HDLA (hold acknowledge). HOLD se mantiene activo durante el servicio del DMA DMA activa DACK (DMA acknowledge) para que el dispositivo inicia la transferencia DMA arranca la transferencia poniendo la dirección del primer byte en el bus de direcciones y activando MEMR; luego activa IOW para escribir al periférico. El DMA decrementa en countador E incrementa el puntero de direcciones hasta que el contador llega a cero DMA desactiva HRQ, y devuelve el bus a la CPU

DMA Intel 8237: uso del bus

Direct Memory Access: Ejemplo 

En el ejemplo anterior: 

  

1000 transferencias x 100 µsecs = 100 ms = 0.1 segundos de CPU 1 secuencia de Inicialización del DMA = 50 µsec 1 interrupción = 100µseg .00015 segundos de CPU! • (más el robo de ciclos)



Mas eficiente para transferir bloques de datos contiguos!

Procesadores de Entrada/Salida (i) 

Sofisticación de los dispositivos de E/S 



Ej. placa de gráficos 3D

CPU requiere transferencia al controlador de E/S 

El controlador de E/S es capaz de ejecutar instrucciones especializadas • Es un computador en si mismo • Procesador • Puede tener memoria local

 



Canales Procesadores

La velocidad mejora  

Descarga de la CPU El procesador dedicado es más veloz

Procesadores de Entrada/Salida (ii) CPU

D1

IOP

bus de memoria principal Mem bus E/S (1)

CPU IOP (3)





dispositivo destino

D2

donde están los comandos

. . . Dn

(4) manda instrucción al IOP

OP disp. Dirección se buscan los comandos en memoria

interrumpe cuando (2) completa memoria

Transferencias entre el dispositivo y memoria son controladas por el IOP directamente El IOP roba ciclos de memoria

OP Addr Cnt Otros que hacer donde poner los datos

cuanto

Relación con la Arquitectura del Procesador 

Los Caches requeridos para la performance del procesador causan problemas a la E/S  

Vaciado es caro, la E/S “ensucia” el cache Existe una solución desarrollada para multiprocesadores con memoria compartida: "snooping"



La Memoria Virtual “frustra” el DMA



La inclusión de Procesadores de E/S tiene consecuencias visibles al programador   

Altera la arquitectura! (ISA) Debe mantenerse a futuro… Qué pasa si las CPUs mejoran su performance más rápido que los IOP?

Interfaces de alta velocidad  

El objetivo es conectar dispositivos a alta velocidad Históricamente:   



Extensiones de IP/Ethernet para SANs (Storage Area Networks)  



Procesador/memoria/buses dedicados Ethernet, ATM (WAN) Evolución Ethernet: 1Gbps, 10Gbps…

iSCSI i Fibre Channel

Otras tecnologías…   

Myrinet, bonding: usada en clusters HPC FireWire InfiniBand

IEEE 1394 FireWire 

Bus serial de alta performance    

 

Rápido Bajo costo Fácil de implementar También usado en cámaras digitales, VCRs y TV

Tasas de tranferencia desde 25 a 400Mbps Similar a USB. Veamos… 

  

USB 2.0 (2001) llega a 480 Mbps. USB 2.0 host-based FireWire peer-to-peer FireWire IEEE 1394b: tasas > 800 Mbps, fibra óptica

IEEE 1394 FireWire: Configuración

     

Daisy chain Hasta 63 dispositivos en cada puerto Hasta 1022 buses usando puentes Configuración automática No se necesitan terminadores de bus Soporta estructura de árbol

InfiniBand (i) 

Especificación de E/S para servidores “high end”  

 

Arquitectura y especificación para flujo de datos entre la CPU y dispositivos de E/S inteligentes Reemplazo de PCI en servidores 



Unión de “Future I/O” (Cisco, HP, Compaq, IBM) y “Next Generation I/O” (Intel) Version 1 publicada en 2001, Implementación futura

Existen adaptadores InfinibandPCI-X

Compite con (y es capaz de transportar)  

Gigabit Ethernet Fibre Channel

InfiniBand (ii) 

Almacenamiento remoto, conectividad entre servidores 

   

Mayor densidad de servidores “Data center” escalable Nodos independientes se pueden agregar en demanda Distancias de la E/S al servidor   



La idea es interconectar servidores, almacenamiento y dispositivos remotos a un switch común

17m en cobre 300m fibra multimodo 10km fibra monomodo

Hasta 30 Gbps

InfiniBand:

I/O Area Network

  

Convergencia de clusters, redes y almacenamiento (SANs) en una sola “switch fabric” IAN (I/O Area Network) Se usa básicamente en clusters HPC

InfiniBand Switch Fabric

Interfaces de alta velocidad: una observación final 

En las últimas décadas la performance de las interfaces de alta velocidad ha crecido en varios órdenes de magnitud 

 

Ethernet, Fast Ethernet, Gigabit Ethernet, 10Gbit Ethernet, Infiniband, etc etc….

Pero la performance de E/S no ha crecido comparativamente! Qué pasa? 



Desde los 80’s de usa TCP/IP, casi sin cambios ni optimizaciones! Qué hacer?

Tipos de Memoria Externa 

Discos Magnéticos  



Discos Ópticos    



RAID Removible CD-ROM CD-Recordable (CD-R) CD-R/W DVD

Cinta Magnética

Recordemos: por qué interesa la E/S?  

Performance CPU: >60% por año Performance de E/S (discos) limitada por retardos mecánicos 



Recordar la Ley de Amdahl: la aceleración del sistema limitada por la parte más lenta!  



10% E/S & 10x CPU => 5x Performance (se pierde 50%) 10% E/S & 100x CPU => 10x Performance (se pierde 90%)

Cuello de botella de la E/S:  



< 10% por año (E/S por segundo)

Disminuye fracción del tiempo de uso de la CPU Disminuye el valor de tener CPUs más rápidas

Obs: la gente se preocupa más por almacenar y comunicar información que por el cálculo   

"Information Technology" vs. "Computer Science" 1960s - 1980s: Computing Revolution 1990s - 2000s: Information Age

Discos Magnéticos 

Sustrato cubierto por material magnetizable (p.ej. óxido de hierro)



Mecanismos de lectura y escritura 

Grabado y recuperación mediante una cabeza magnética • Puede haber una cabeza de lectura/escritura o separadas

 

Durante la lectura/escritura la cabeza está fija y rotan los platos Escritura • Corriente en la cabeza produce un campo magnético • Se aplican pulsos de corriente en la cabeza • Patrón magnético grabado en la superficie



Lectura • El campo magnético debido al movimiento relativo a la cabeza induce corriente • Actualmente se usan cabezas de lectura magneto-resistivas • Permiten mayor frecuencia de operación • Mejor densidad de almacenamiento y más velocidad de acceso

Discos Magnéticos:

Escritura inductiva, lectura MR

Discos Magnéticos:

Formato y organización de los datos 

Anillos concéntricos o tracks    



“Gaps” entre tracks Gap más pequeño -> mayor capacidad Igual cantidad de bits por track (densidad variable) Velocidad angular constante

Tracks divididas en sectores  

“Block size” mínimo es un sector Puede haber más de un sector por bloque

Discos Magnéticos: Múltiples platos 

Una cabeza por lado 

Cabezas se alinean juntas



Traks alineadas n cada plato forman cilindros



Los datos son repartidos por cilindro  

Reduce movimiento de las cabezas Aumenta velocidad (tasa de transferencia)

Discos Magnéticos: Cilindros

Discos Magnéticos: De la vida real…

Actuador

Cabeza Platos (12)

{

Discos Magnéticos: Performance (i) 

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

Seek Time • Situar cabeza en el track correcto



Rotation Time • Esperar que los datos roten debajo de la cabeza



Transfer Time • Depende de la tasa de transferencia del disco (ancho de banda, “bit density”), tamaño del bloque requerido



Parámetros que interesan    

Capacidad: 100%/año (2X / año) Tasa de Transferencia (BW): 40%/año (2X / 2 años) Rotation + Seek time: 8%/ year (1/2 en 10 años) MB/$: 100%/año (2X / año) • Agrupar funciones en chips + densidad

Discos Magnéticos: Performance (ii) 

Estado del Arte: Barracuda 180 • • • • • • • •



181.6 GB, 3.5 inch disk 12 platos, 24 superficies 24,247 cilindros 7,200 RPM; (4.2 ms avg. latency) 7.4/8.2 ms avg. seek (r/w) 64 to 35 MB/s (interno) 0.1 ms controller time 10.3 watts (idle)

Calcular tiempo para leer 64 KB (128 sectores) 

Disk latency = average seek time + average rotational delay + transfer time + controller overhead • = 7.4 ms + 0.5 * 1/(7200 RPM) + 64 KB / (65 MB/s) + 0.1 ms • = 7.4 ms + 0.5 /(7200 RPM/(60000ms/M)) + 64 KB / (65 KB/ms) + 0.1 ms • = 7.4 + 4.2 + 1.0 + 0.1 ms = 12.7 ms

Discos Magnéticos: Historia (i) Data density Mbit/sq. in. Capacity of Unit Shown Megabytes

1973: 1. 7 Mbit/sq. in 140 MBytes

1979: 7. 7 Mbit/sq. in 2,300 MBytes

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

Discos Magnéticos: Historia (ii)

1989: 63 Mbit/sq. in 60,000 MBytes

1997: 1450 Mbit/sq. in 2300 MBytes

1997: 3090 Mbit/sq. in 8100 MBytes

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

Discos Magnéticos: Historia (iii) 

2000 IBM MicroDrive   



1.7” x 1.4” x 0.2” 1 GB, 3600 RPM, 5 MB/s, 15 ms seek Cámaras digitales, PalmPC?

2009 MicroDrive 

3-8 GB, 10 MB/s • (se pronosticaba 9GB y 50MB/s)



Flash Cards     

Almacenamiento de decenas de MBs Random access a los datos “Wake-up time” instantáneo desde standby Tolerante a choques y vibraciones 2008/2009: Apple y Dell -> notebooks con disco de estado sólido de hasta 256 GB. Experimentales de 1TB!

Discos Magnéticos: Historia (iv) -> 2005 

Travelstar C4K60 Slim hard disk drives    

Capacidad: 60, 20, 30, 20 (GB), 4200 RPM Interface transfer rate (MB/sec, max): 100 Ultra DMA mode-5 Tamaño (mm): 8.0 x 54 x 71, Peso (g): 60 Aplicaciones: • • • •



Digital video camera (DVC) Portable digital audio / video (MP3, PMP) -> iPOD Portable digital video (PMP) Handheld navigation

Hitachi Microdrive 3K8 digital media hard disk drives    

Capacidad: 8 GB, 3600 RPM Interface transfer rate (MB/sec, max) 33 Ultra DMA mode-2 Tamaño (mm): 5 x 40 x 30, Peso (g): 13 Aplicaciones: teléfonos móviles, Portable Digital Audio (MP3), Fotografía Digital…

Array de discos pequeños? 

Katz & Patterson, 1987: podemos usar discos pequeños para cerrar la brecha de performance con la CPU?

Conventional: 4 disk 3.5” 5.25” designs Low End Disk Array: 1 disk design 3.5”

10”

14”

High End

Array de discos pequeños? (Discos de 1988) Capacity Volume Power Data Rate I/O Rate MTTF Cost 

IBM 3.5" 0061 320 MBytes 0.1 cu. ft. 11 W 1.5 MB/s 55 I/Os/s 50 KHrs $2K

x70 23 GBytes 11 cu. ft. 1 KW 120 MB/s 3900 IOs/s ??? Hrs $150K

Interesante… pero que pasa con la confiabilidad?  



IBM 3390K 20 GBytes 97 cu. ft. 3 KW 15 MB/s 600 I/Os/s 250 KHrs $250K

Confiabilidad de N discos = Confiabilidad de 1 Disco ÷ N 50,000 Horas ÷ 70 discos = 700 horas -> MTTF baja de 6 años a 1 mes!

Arrays (sin redundancia) muy poco confiables….

9X 3X 8X 6X

RAID  

Redundant Array of Independent (Inexpensive) Disks Conjunto de discos físicos vistos como un solo volumen lógico por el Sistema Operativo 

Datos distribuidos en los discos físicos Se usa capacidad redundante para almacenar información de paridad



Los archivos se “parten” en múltiples discos





Redundancia -> alta disponibilidad 



Disponibilidad: se mantiene el servicio al usuario aunque algunos componentes fallen

Discos fallan… 

Información se reconstruye a partir de la redundancia almacenada en el array • Penalización de capacidad x redundancia • Penalización de Ancho de Banda para actualizar información redundante

RAID 0  

No tiene redundancia Datos distribuidos en todos los discos 



Stripping Round Robin

Mejora velocidad 

 

Es probable que requerimientos múltiples no estén en el mismo disco Búsqueda en paralelo Conjunto de datos repartido en muchos discos

Data Mapping en RAID 0

RAID 1 

RAID 1: Discos espejados (“mirrored”)    

Los datos son distribuidos en los discos 2 copias de cada “tira” de datos en discos separados Se puede leer de cualquiera Se escribe en ambos • Sacrificio de Ancho de banda • Escritura Lógica = dos escrituras físicas



Recuperación es simple  

 

Cambiar disco fallado y re-mirror No hay “down time”

Caro! Obs: la figura es RAID 0+1

RAID 2  

Discos sincronizados Stripes muy pequeños 

  

Por ej. byte/word

Corrección de errores se calcula usando bits correspondientes en los discos Múltiples discos de paridad almacenan código de Hamming para la corrección de errores Mucha redundancia 

 

# discos redundantes proporcional a logaritmo del # discos de datos Caro No se usa

RAID 3 

RAID 3: Solo un disco redundante por array 







Se calcula y almacena el bit de paridad en el disco P Los datos del disco fallado se pueden reconstruir a partir de la información sobreviviente y el disco P

Lógicamente se dispone de un disco de alta capacidad y alta tasa de transferencia Array ancho reduce costo/capacidad, pero baja la disponibilidad

P 1 0 1 0 0 0 1 1

1 1 0 0 1 1 0 1

1 0 1 0 0 0 1 1

1 1 0 0 1 1 0 1

RAID 4   

En RAID 3 cada acceso necesita todos los discos: paridad de bit RAID 4 opera sobre bloques Cada disco puede operar en forma independiente  



Bueno para “pequeñas lecturas” Altas tasas de acceso de E/S

Penalización de RAID 4: escrituras 

Cuando se actualiza un bloque, se deben leer todos los bloques de una tira para actualizar el bit de paridad

RAID 3 & 4

Problema del RAID: Small Writes D0' new data 

RAID-5: Algoritmo para “Small Write” 

1 Logical Write = 2 Physical Reads + 2 Physical Writes

D0

D1

D2

D3

old data (1. Read)

P old (2. Read) parity

+ XOR + XOR

(3. Write) D0'

D1

(4. Write) D2

D3

P'

RAID 5 (y 6)  

Igual a RAID 4 Mejora: paridad repartida en todos los discos 







Paridad se escribe en round robin

Elimina cuello de botella del disco de paridad Comunmente usado en servidores de red RAID 6: doble paridad, no se usa

Resumen RAID 



El objetivo era mejorar la performance, popular gracias a confiabilidad del almacenamiento Disk Mirroring, Shadowing (RAID 1)   



Parity Data Bandwidth Array (RAID 3)  



Cada disco es duplicado en su “espejo” Escritura lógica = dos escrituras físicas 100% overhead de capacidad Cálculo de Paridad horizontal Lógicamente un solo disco de gran ancho de banda

High I/O Rate Parity Array (RAID 5)   

Bloques de Paridad “interleaved” Lecturas y escrituras independientes Escritura lógica = 2 lecturas + 2 escrituras

1 0 0 1 0 0 1 1

1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1

1 1 0 0 1 1 0 1

1 0 0 1 0 0 1 1

0 0 1 1 0 0 1 0

Disponibilidad a nivel del sistema host I/O Controller

host Fully dual redundant I/O Controller

Array Controller ...

Array Controller ... ... ...

Objetivo: evitar punto de falla único

... Recovery Group

. . .

Con caminos duplicados, se tiene mayor Performance mientras no haya fallas

Discos Removibles 

Pen-drive USB Discos externos USB, Firewire



Histórico





ZIP • Barato • Solo 100MB



JAZ • No es barato • 1G



L-120 (a: drive) • También lee 3.5” floppy



Lo más usado: CD-R y CD-R/W

Almacenamiento Óptico: CD-ROM    

Originalmente para audio 650Mbytes, 70 minutos de audio Polycarbonato revestido de material reflejante, usualmente aluminio Datos se almacenan como “huecos”  

Se leen mediante un laser que refleja Densidad y velocidad constante

Velocidades del CD-ROM 

El audio tiene una velocidad única    



Velocidad lineal constante 1.2 m/s Track (espiral) tiene 5.27km de largo 4391 segundos de audio = 73.2 minutos

Otras velocidades se notan como múltiplos  

Ej. 48x Este número es el máximo

Otros Almacenamientos Ópticos 

CD-Recordable (CD-R)  



WORM Compatible con CD-ROM drives

CD-RW    

Borrable Cada vez más barato Normalmente compatible con CD-ROM drive Funciona porque el material tiene diferente reflectividad en distintas fases

DVD 

La sigla… 

Digital Video Disk • Reproductor de películas



Digital Versatile Disk • Disco genérico para computador



DVD - tecnología   

Multi-capa Alta capacidad (4.7G por capa) Película completa en un disco • Compresión MPEG • Codificación x región



Blu-ray  

25GB x capa Video de alta definición, PS3

Cinta Magnética (i)



Acceso serial Lento Barato Respaldo, archivo



Ejemplo

  

 

7.7 feet 8200 pounds, 1.1 kilowatts 10.7 feet

Robot de almacenamiento StorageTek Powderhorn 9310 6000 x 50 GB 9830 cintas = 300 TBytes (sin comprimir) • Obs: todos los libros de la Biblioteca del Congreso USA son 30 TB ASCII

 

Puede cambiar 450 cintas por hora 1.7 a 7.7 Mbyte/seg por lectorr, hasta 10 lectores

Cinta Magnética (ii) 

Digital Audio Tape (DAT)   

Usa cabeza rotativa (como el video) Alta capacidad en cinta pequeña. Originalmente: • 4Gbyte sin comprimir • 8Gbyte comprrimido

 

Actualmente llega a 20G/40G Respaldo de PCs/servidores

Próxima clase 

Rendimiento

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.