Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Slides:



Advertisements
Presentaciones similares
Introducción Principios del Software E/S Principios del Hardware E/S
Advertisements

Protocolos de Inter-red
MEJOR COMUNICACIÓN, ALTA EFICIENCIA, MEJOR DISTRIBUCIÓN DE LOS DATOS
Computadores de alta velocidad (la lista top500).
II. ARQUITECTURAS PARALELAS
Multiprocesadores 3.1 Dominios de aplicación
IBM 360.
Hardware.
¿Qué es CASE? UNIDAD EDUCATIVA «LICEO NAVAL JAMBELÍ» ING.SIST. WELLINGTON GRANDA.
Arquitectura informatica
CONCEPTOS BASICOS DE REDES
Ana Lucia Farfan Estrada. Angela Aybar Rengifo.
Direccionamiento IP Ing. Nicolás Bulla Cruz
RESUMEN: Softmicro de 8 bits Xilinx
Introducción a los Sistemas Operativos Memoria Virtual
En las redes de clase A Los primeros 8 bits de la dirección son usados para identificar la red Mientras los otros tres segmentos de 8 bits cada uno.
MEMORIA 1.
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
PROGRAMACIÓN DE SISTEMAS DE MEMORIA COMPARTIDA (SMP):
UPV-EHU / ATC Arquitecturas Paralelas Sincronización de procesos en sistemas SMP - Introducción - Exclusión mutua - Sincronización mediante eventos.
Arquitecturas Paralelas 12-13
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
Componentes de la computadora
Gustavo Andrés Uribe Gómez
Direcciones físicas y direcciones virtuales (lógicas)
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
PROCESAMIENTO PARALELO
SENA BIENVENIDOS REDES DE DATOS.
Arquitectura del Computador
ISA (Instruction Set Architecture)
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Introducción INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Arquitecturas de.
Redes Metropolitanas IEEE (DQDB).
Diseño y Mantenimiento de un cluster para la dinámica de fluidos
Sebastián Sánchez Prieto
CONCEPTOS FUNDAMENTALES FORMAS DE ALMACENAR INFORMACION UNIDAD BASE DE INFORMACION: BIT BYTE = 8 BITS UN KILOBYTE = 1024 BYTES UN MEGABYTE = 1024 KILOBYTES.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
El proceso de arranque Windows NT/2000/XP El proceso de arranque Windows Vista/Windows 7.
SISTEMAS OPERATIVOS →¿Qué es un sistema operativo?
TEMA 2: Organización de computadores
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Arquitecturas Paralelas
Rafael contreras Rodríguez Carlos Perdomo Carvajal Ciro Antonio ríos rodríguez José Norberto villa nueva.
Arquitectura de Von Neumann
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
COMPONENTES DEL SISTEMA OPERATIVO.
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 5: Multiprocesadores
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
Introducción. ¿Que es una computadora? Maquina electrónica capaz de resolver problemas ejecutando las instrucciones de un programa: 1.recibe datos, 2.los.
Amoeba. Maestría en Sistemas Computacionales. Sistemas Operativos. Rodolfo González Garrido, Marzo, del 2008.
 El término topología se refiere a la forma en que está diseñada la red, bien físicamente (rigiéndose de algunas características en su hardware) o bien.
Protocolos de Sondeo SNOOPY
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
Unidad 3 Dispositivos de red
Arquitectura de Computadores I
o Es un conjunto de operaciones distribuidas, con la finalidad de compartir hardware y software o Permite el intercambio de información ente ordenadores.
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Introducción a las redes de computadores
Introducción a la Base de Datos Profesora: Nelwi Báez.
UNIDAD I INTRODUCCION A LOS S.O..  HARDWARE  SOFTWARE.
*UNIVERSIDAD JUARES DEL ESTADO DE DURANGO “EXPOSICIÓN” *ERICK DE JESUS MONTIEL REYES *JORGE LUIS FLORES NEVARES *1-F TURNO VESPERTINO.
El Computador. Computador. Máquina compuesta de elementos físicos (en su mayoría de origen electrónico) capaz de aceptar unos datos de entrada, realizar.
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
Transcripción de la presentación:

Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC - Problemas: tráfico y atomicidad - Protocolo de coherencia Origin - Protocolo SCI (NUMA-Q)

Arquitecturas Paralelas IF - EHU CD-DSM 27 Coherencia de los datos en sistemas de memoria compartida SMP (red de comunicación, un bus) > Snoopy > Estados / estados transitorios... ¿Y en sistemas DSM (mallas...)? >La memoria es compartida, pero está físicamente distribuida entre los nodos del sistema. >La red no es un bus. Por tanto, snoopy ?? Introducción

Arquitecturas Paralelas IF - EHU CD-DSM 37 El hardware no asegura la coherencia de los datos (es responsabilidad del programador) : NUMA El hardware sí asegura la coherencia de los datos: cc-NUMA Introducción ¿Cómo se mantiene la coherencia de los datos en los sistemas DSM? ¿Cómo? Directorios de coherencia.

Arquitecturas Paralelas IF - EHU CD-DSM 47 El directorio de coherencia guarda información sobre los bloques de datos: - estado (estables o transitorios) - dónde están las copias Problemas: - tamaño del directorio. - tráfico generado para mantener la coherencia. - atomicidad de las operaciones. El directorio está repartido entre los procesadores (no es un dispositivo central). Introducción

Arquitecturas Paralelas IF - EHU CD-DSM 57 Lugar y estructura del directorio: -junto a la MP, una palabra de coherencia por cada bloque de datos: full bit vector limited bit vector - distribuido entre las MC (+MP), formando listas ligadas con la información de cada bloque: SCI, scalable coherent interface Introducción

Arquitecturas Paralelas IF - EHU CD-DSM Full bit vector (MESI) Estructura del directorio -un bit por procesador (1/0) para indicar si tiene o no copia del bloque. -bits para indicar el estado del bloque (los habituales). Directorios de coher.: MP > E > S > M > I > no (MESI) P 0 P 1 P 2 P 3 Es

Arquitecturas Paralelas IF - EHU CD-DSM 77 Problemas El tamaño del directorio crece linealmente con el número de procesadores. - bloques de 64 bytes: P = bits(8 bytes) P = bits (32 bytes) P = bits(128 bytes) +200% ! Directorios de coher.: MP

Arquitecturas Paralelas IF - EHU CD-DSM 87 Para reducir el tamaño de la palabra de coherencia: -bloques de 128 bytes / 4 proc. por nodo: P = (256x4) 257 bits (32 bytes) +25% 1.Usar bloques de datos más grandes 2.Reducir el número de nodos (estructura jerárquica: snoopy SMP + directorio) Directorios de coher.: MP

Arquitecturas Paralelas IF - EHU CD-DSM 97 2.Limited bit vector - se limita el número de copias de un bloque: sólo se admiten k copias. - se guardan en la palabra de coherencia de cada bloque las direcciones (log 2 P bits) de los procesadores que tienen una copia: k × log 2 P << P Directorios de @k, estado

Arquitecturas Paralelas IF - EHU CD-DSM procesadores por nodo bloques de 128 bytes / 5 copias P = 256 (64x4) 5 x = 31 bits 4 bytes + 3% P = (256x4) 5 x = 41 bits 5 bytes + 4% Directorios de coher.: MP

Arquitecturas Paralelas IF - EHU CD-DSM bit por proc.estado M L CC = controlador de comunic. D = directorio de coherencia L = local H = home R= remote H P C CC DMP R LD A 1S Directorios de coher.: MP

Arquitecturas Paralelas IF - EHU CD-DSM … 1 …1 0 S otras dos copiasestado ST A 0 …0 0 M L CC = controlador de comunic. D = directorio de coherencia L = local H = home R= remote H P C CC DMP Directorios de coher.: MP R1 R2

Arquitecturas Paralelas IF - EHU CD-DSM 137 Directorios en MC: e structura La información sobre cada bloque de datos no se concentra en una sola palabra en el directorio junto a MP, sino que reparte entre el directorio junto a MP y las caches, en los directorios de éstas. La información de coherencia de cada bloque se estructura en forma de listas ligadas. Directorios de coher.: MC

Arquitecturas Paralelas IF - EHU CD-DSM 147 Información de coherencia (por bloque) Directorios de coher.: 1 / estado i-1 i+1 / estado MC

Arquitecturas Paralelas IF - EHU CD-DSM 157 ¿Cómo se organiza la información en colas ligadas? Home (memoria principal) Pj (cache)Pk (cache)Pi (cache) Directorios de coher.: MC Pk *, * bl. datos MPD bl. datos *,Pj *,Pk Pi,Pk Pj,* Pj Pi

Arquitecturas Paralelas IF - EHU CD-DSM MP 5 copias, 3 bits de estado Palabra de coherencia:5 x = 53 bits Directorio (nodo): 53 bit x 1 M bloque = 53 Mb 2. MC En MP: = 13 bits En caches: 2 x bit = 23 bits Total (nodo): 13 x 1 M + 23 x 4 k = 13,1 Mb Directorios de coher.: MC P = / MP = 128 MB / MC = 512 kB / bl = 128 bytes

Arquitecturas Paralelas IF - EHU CD-DSM 177 Mantener la coherencia debe generar el menor tráfico posible, tanto de paquetes de control como de paquetes de datos. Las operaciones de coherencia deben tener la menor latencia posible. Para ello hay que - Minimizar el número de mensajes (tráfico). - Reducir el camino crítico (latencia) de la operación. Problemas: tráfico de coh.

Arquitecturas Paralelas IF - EHU CD-DSM 187 Ejemplo: el procesador L lee una variable que no está en su cache, y que corresponde a un bloque sito en la memoria del procesador H, bloque que está modificado en la cache del procesador R. Tres protocolos para efectuar las operaciones de coherencia: 1. Pregunta / Respuesta 2. Intervention Forwarding 3. Reply Forwarding Problemas: tráfico de coh.

Arquitecturas Paralelas IF - EHU CD-DSM Pregunta / Respuesta L H I R 1. Petición 2. Respuesta 4a. Respuesta (Bloque) 4b. Bloque (actual.) 3. Petición mensajes: 5 camino crítico: / M M Problemas: tráfico de coh.

Arquitecturas Paralelas IF - EHU CD-DSM Intervention Forwarding L H I R 1. Petición 4. Respuesta (Bloque) mensajes: 4 camino crítico: 4 2. Petición 3. Respuesta (Bloque) 0100 / M M Problemas: tráfico de coh.

Arquitecturas Paralelas IF - EHU CD-DSM Reply Forwarding L H I R 1. Petición 3a. Respuesta (Bloque) 3b. Bloque (actual.) 2. Petición mensajes: 4 camino crítico: / M M Problemas: tráfico de coh.

Arquitecturas Paralelas IF - EHU CD-DSM 227 Las operaciones de coherencia tienen que realizarse de forma atómica, sin interferencias entre ellas. Problemas: atomicidad 1a. INV 2b. Respuesta 1b. INV ? R1 H S R2 S / S 2a / M M?? M

Arquitecturas Paralelas IF - EHU CD-DSM 237 Para asegurar la atomicidad Problemas: atomicidad +Hay que utilizar estados transitorios, busy, en las caches y en el directorio. +Si no se pueden procesar las peticiones o son incoherentes: -se rechazan mediante paquetes tipo NACK. -o se guardan en un búfer para procesarlas más tarde.

Arquitecturas Paralelas IF - EHU CD-DSM 247 Dos ejemplos: 1. Computadores Origin MP 2. Protocolo SCI (Numa-Q) MC Protocolos comerciales

Arquitecturas Paralelas IF - EHU CD-DSM nodos / procesadores / hipercubo Encaminamiento adaptativo / canales virtuales Invalidación / MESI (en cache) / write-back Full bit vector / 7 estados en MP I / S / E cuidado: E = E o M (una copia única) 3 estados busy 1 para otras cosas Reply forwarding / NACK Paquetes de control: Rd / INV / RdEx / ACK / NACK / Wr Origin 2000 Algunas características de los computadores Origin 2000

Arquitecturas Paralelas IF - EHU CD-DSM 267 Hay que analizar tres operaciones para ver cómo mantener la coherencia de los datos: Lectura de una variable (fallo) Escritura de una variable (acierto / fallo) Reemplazo de un bloque (actualizar MP) Origin 2000

Arquitecturas Paralelas IF - EHU CD-DSM 277 Lectura (fallo) Dir. = I/S L H 1b. Rd A 0000 / I I E/S / S 2b. Bloque 1a busy 2a 0001 / E 1101 / S Origin 2000

Arquitecturas Paralelas IF - EHU CD-DSM 287 LH 1000 / E I S 4 E/M 1a busy 2a 1001 / busy R 1b. Rd A 2c. Rd A 3b. ACK / Bloque 3c. ACK / Wr (Bl.) 1001 / S 4 3a S 2b. Bloque (espec.) Origin 2000 Lectura (fallo) Dir. = E

Arquitecturas Paralelas IF - EHU CD-DSM 297 Lectura (fallo) Dir. = busy L H 1b. Rd A xxxx / busy I 2. NACK 1a busy Origin 2000

Arquitecturas Paralelas IF - EHU CD-DSM 307 Escritura (acierto-INV / fallo-RdEx) Dir.: busy L H 1b. INV A / RdEx A xxxx / busy S/I 2. NACK 1a busy Origin 2000

Arquitecturas Paralelas IF - EHU CD-DSM 317 L H S/I M 5 1a busy 2a 0001 / E R1 1b. INV A / RdEx A 2b. n.cop. / +Bloque 2c. INV A 3b. ACK 4a S I 1101 / S 1100 / S R2 4b. ACK 2d. INV A 3a S I eficiencia ¡cuidado carreras! Origin 2000 Escritura (acierto-INV / fallo-RdEx) Dir.: S

Arquitecturas Paralelas IF - EHU CD-DSM 327 L H S/I 1a busy 2a 0001 / E R1 1b. INV A / RdEx A 2b. n.cop. / +Bloque 2c. INV A 1101 / S 1100 / S R2 2d. INV A ¡Ojo! carreras R3 R4 NACK eficiencia: guardar, no rechazar Rd A ? 0011 / busy Origin 2000 Escritura (acierto-INV / fallo-RdEx) Dir.: S

Arquitecturas Paralelas IF - EHU CD-DSM 337 L H 1000 / E I M 4 E/M 1a busy 2a 0001 / busy R 1b. RdEx A 2c. RdEx A 3b. ACK / Bloque 3c. ACK / Wr (Bloque) 0001 / E 4 3a I 2b. n.cop. + Bloque (espec.) Origin 2000 Escritura (fallo-RdEx) Dir.: E

Arquitecturas Paralelas IF - EHU CD-DSM 347 L H 1b. INV A 1000 / E S 2. NACK 1a busy Origin 2000 Escritura (acierto-INV) Dir.: E

Arquitecturas Paralelas IF - EHU CD-DSM 357 L H 1b. RdEx A 0000 / I I M 3 2b. Bloque 1a busy 2a 0001 / E Origin 2000 Escritura (fallo-RdEx) Dir.: I

Arquitecturas Paralelas IF - EHU CD-DSM 367 L H 1b. INV A 0000 / I S 2. NACK 1a busy Origin 2000 Escritura (acierto-INV) Dir.: I

Arquitecturas Paralelas IF - EHU CD-DSM 377 L H 1b. Wr (Bloque) 0001 / E M x 3 2b. ACK 1a busy 2a 0000 / I Origin 2000 Reemplazo – actualizar MP Dir.: E

Arquitecturas Paralelas IF - EHU CD-DSM 387 L H 0001 / E x 4 I 2a 1001 / busy R 3c. ACK 1b. Rd A 2b. Bloque (espec) 1000 / E 3a 1a busy 4 E 2c. Rd A M 2 busy 2d. Wr (Bloque) 3b. Bloque Origin 2000 Reemplazo – actualizar MP Dir.: busy

Arquitecturas Paralelas IF - EHU CD-DSM 397 Numa-Q Estructura del multiprocesador NUMA-Q PCPC M S/I PCI S/I IQ link D PCPC PCPC PCPC 4P

Arquitecturas Paralelas IF - EHU CD-DSM x 4 procesadores / bus (snoopy) IQ-link remote access cache Invalidación / MOESI / write-back / encolado de peticiones Listas doblemente ligadas en las caches: directorio (MP):estado 1 directorio MC: estado i-1 i+1 SCI scalable coherent interface Numa-Q Estructura del multiprocesador NUMA-Q

Arquitecturas Paralelas IF - EHU CD-DSM 417 Estados de los bloques: En MC: - posición:Only, Head, Mid, Tail - estado:Dirty (M), Fresh (S), Valid (S), Exclusive (E) Ej.: Only-Fresh, Head-Fresh, Head-Dirty, Mid-Valid... - y estados busy En MP: Home (I), Fresh (E, S), Gone (M, O) Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 427 Tres funciones para mantener la coherencia de los datos: List Construction Para cargar un bloque de datos en la cache (Rd) y ponerlo en cabeza de la lista de copias. Roll-out Para eliminar un bloque de la cache (reemplazo), y quitarlo de la lista de copias. Purge Para modificar una variable (Wr), y, por tanto, invalidar el resto de copias y actualizar la lista. Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 437 Lectura: List Construction (Home) L H 1b. LC (Rd A) 2b. Bloque 1a busy 2a F I Dir (MC) H | * Dir (MP) O-F|*-* 3 Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 447 ¿qué cambiaría si estuviera en Gone? L H 1b. LC (Rd A) I H-F | 5 2b. Bloque 1a busy 2a F Dir (MC) F Dir (MP) R 3. New Head 4b. ACK T-V 4a Dir (MC) O-F | *-* H-F | M-V | Protocolo de coh. SCI Lectura: List Construction (Fresh/Gone)

Arquitecturas Paralelas IF - EHU CD-DSM 457 Escrituras: ¡sólo en la copia de la cabecera! acierto / head Purge fallo List Construction + Purge acierto / no head Roll-Out + L. Const. + Purge Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 467 Purge (Only-Fresh) L H 1b. Wr (est. A) 2b. ACK 1a busy 2a G O-F | *-* Dir (MC) F Dir (MP) O-D | *-* 3 Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 477 L H R1 1b. Wr (est. A) 2b. ACK 3. INV A 4b. ACK R2 6b. ACK + * 5. INV A Purge (Head-Fresh) F Dir (MP) G 2a 1a busy H-F | Dir (MC) O-D | *-* 7 M-V Dir (MC) I | *-* 4a T-V I | *-* 6a Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 487 Roll-Out (Wr / reempl.) L R2 1c. RO A 3b. ACK 3a T-V T-V Dir (MC) R1 1b. RO A 2b. ACK 2a H-D | H-D | Dir (MC) 1a busy M-V | Dir (MC) 4 busy / I | *-* Protocolo de coh. SCI

Arquitecturas Paralelas IF - EHU CD-DSM 497 Protocolo de coh. SCI Problemas: atomicidad (i) Dir (MP) G H R1R2 T-V busy L1 Dir (MP) G H L1 NewHead H L2 busy Dir (MP) G HH L1 H L2 NewHead HH H R1 L1 Ack + bl H-D | L1 L2 Ack + bl H-D | R1

Arquitecturas Paralelas IF - EHU CD-DSM 507 Protocolo de coh. SCI Problemas: atomicidad (ii) R Dir (MP) F H O-F | *-* L busy LC busy Wr Dir (MP) F ?? NACK

any questions? Arquitecuras Paralelas IF - EHU CD - DSM | Protocolo de coh. SCI R H O-F | *-* L busy LC busy Wr Dir (MP) F ?? NACK Problemas: atomicidad (ii)