Memoria compartida distribuida

Documentos relacionados
Memoria compartida simétrica

Memoria caché básica

Introducción a los multiprocesadores

Optimizaciones avanzadas de memoria caché

Ejercicios de jerarquía de memoria

Modelos de consistencia de memoria

Sincronización. Arquitectura de Computadores

Memoria Virtual. Memoria Virtual

Tema 5. El Sistema de Memoria

Arquitectura de Computadoras para Ingeniería

EJERCICIOS DEL TEMA 4

TEMA 4 PROCESAMIENTO PARALELO

Arquitectura de computadores I

TEMA 12: MEJORA DE LAS PRESTACIONES DE LA MEMORIA

Tema 1. Arquitecturas multiprocesador: MIMD de memoria compartida (multiprocesadores) V 1.1

TEMA 1. Arquitecturas multiprocesador: MIMD de memoria compartida (multiprocesadores) V 2.0

Introducción a memorias cache

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

Soluciones a ejercicios de Fundamentos

MULTIPROCESADORES COMERCIALES. José M. Cámara v. 2.0

Ejercicios de Paralelismo a Nivel de Instrucción

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

Organización lógica Identificación de bloque

APLICACIONES DE INTERNET: SOAP

Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles

Coherencia de cachés

MEMORIA CACHÉ PRINCIPIOS BASICOS

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

MULTIPROCESADORES COHERENCIA DE CACHÉ

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Mapa de memoria. memoria CACHÉ

Introducción a los Sistemas Operativos y Redes. Clase 2: Topologías de Redes

ORGANIZACIÓN DE COMPUTADORES I

Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché

Introducción a las Computadoras. Capítulo 3 Buses del Sistema

Soluciones a ejercicios de multiprocesadores

Memoria Cache. Departamento de Arquitectura de Computadores

Tema II. Unidad de memoria

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA ELECTRÓNICA E INFORMÁTICA SÍLABO

Explotación del paralelismo a nivel de instrucción

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

QUÉ ES LA MEMORIA CACHÉ?

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Arquitectura de Computadoras para Ingeniería

Arquitectura de Computadoras

Pipeline de instrucciones

Comentarios sobre la bibliografía

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS

Guía de ejercicios # 11 - Jerarquía de memoria

Tema 7. Entrada / Salida

Bases de Datos Distribuidas. Carlos A. Olarte BDII

Plataformas paralelas

TEMA 2: PROGRAMACIÓN PARALELA (I)

Arquitectura de Computadores

ARQUITECTURA E INGENIERÍA DE LOS COMPUTADORES

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Bases de Datos Paralelas. Carlos A. Olarte BDII

GUÍA DOCENTE Arquitecturas Avanzadas de Computadores

Sistemas Operativos Distribuidos. Sistemas Operativos Una visión aplicada

PROCESAMIENTO DISTRIBUIDO

1. Escalabilidad de transacciones de un motor de búsqueda Web.

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Arquitectura de Computadoras

Tema 6 (II) Jerarquía de Memoria

Transcripción:

Memoria compartida distribuida Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de Informática Universidad Carlos III de Madrid cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 1/23

Introducción a memoria compartida distribuida 1 Introducción a memoria compartida distribuida 2 Bases del protocolo de directorio 3 Protocolo basado en directorio 4 Conclusión cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 2/23

Introducción a memoria compartida distribuida Protocolos de espionaje y escalabilidad Problemas de protocolos de espionaje. Requiere comunicación con todas las cachés: En cada fallo de caché. En cada escritura de dato compartido. Qué ventaja tienen los protocolos de espionaje? Ausencia de estructura de datos centralizada. Bajo coste de implementación. Qué inconveniente tiene los protocolos de espionaje? Ausencia de estructura de datos centralizadas. Comunicaciones limitan la escalabilidad. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 3/23

Introducción a memoria compartida distribuida Modelo básico de DSM P1 P2 Mem E/S Mem E/S Red de interconexión Mem E/S Mem E/S P3 P4 Necesidad de eliminar tráfico de coherencia. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 4/23

Introducción a memoria compartida distribuida Clases de protocolos de coherencia Espionaje (snooping): Cada caché mantiene el estado de compartición de cada bloque que tiene. Las cachés accesibles mediante medio de multidifusión (bus). Todas las cachés monitorizan si tienen una copia del bloque. Basados en directorio: El estado de compartición se mantiene en un directorio. SMP: Directorio centralizado en memoria o en caché de más alto nivel. DSM: Para evitar cuello de botella se usa un directorio distribuido (más complejo). cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 5/23

Introducción a memoria compartida distribuida Protocolo basado en directorio Idea: Mantener el estado de cada bloque de caché. Qué cachés tiene copia del bloque? Bits de estado del bloque. Multicores con caché externa compartida. Vector de bits de longitud igual a número de cores. Indica que cachés privadas pueden tener copia del bloque. Solamente se envía invalidación a cachés marcadas en mapa de bits. Esquema funciona bien dentro de un único multicore. Ejemplo: Intel Core i7. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 6/23

Introducción a memoria compartida distribuida Directorio centralizado y escalabilidad Un directorio centralizado evita broadcast pero Se convierte en cuello de botella. Problema de escalabilidad con número de procesadores. Solución: Directorio distribuido. Distribuir el directorio con la memoria. Cada directorio tiene información de la memoria local asociada. Siempre se sabe a qué directorio ir. Distintas peticiones de coherencia van a distintos directorios. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 7/23

Introducción a memoria compartida distribuida Direcotrio distribuido P1 P2 Mem E/S Mem E/S Dir Dir Red de interconexión Dir Dir Mem E/S Mem E/S P3 P4 cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 8/23

Bases del protocolo de directorio 1 Introducción a memoria compartida distribuida 2 Bases del protocolo de directorio 3 Protocolo basado en directorio 4 Conclusión cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 9/23

Bases del protocolo de directorio Directorio Operaciones básicas. Tratamiento de fallo de lectura. Tratamiento de escritura en un bloque compartido limpio. El directorio debe mantener el estado de cada bloque: Compartido: Uno o más nodos tienen el bloque en caché y el valor en memoria está actualizado. No cacheado: Ningún nodo tiene una copia del bloque. Modificado: Solamente un nodo tiene copia del bloque en caché y lo ha escrito. Valor en memoria no actualizado. Además: Mapa de bits con información de nodos que tienen copias del bloque. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 10/23

Bases del protocolo de directorio Mensajes Mensaje Fuente Destino Contenido Función Fallo Caché Directorio P,A P tiene fallo de lectura en A. lectura local local Pedir dato y P compartidor. Fallo Caché Directorio P,A P tiene fallo de escritura en A. escritura local local Pedir dato y P propietario. Invalidación Caché Directorio A Invalidar A en todas las cachés. local local Invalidación Caché Directorio A Invalidar copia compartida. local remota Captación Directorio Caché A Capta bloque. local remota Estado a compartido. Captación/ Directorio Caché A Capta bloque. Innvalidación local remota Invalida bloque. Respuesta Directorio Caché D Devolver valor a directorio. valor dato local local Post-escritura Caché Directorio A,D Post-escritura de dato. dato remota local P Nodo, A Dirección, D Dato cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 11/23

Protocolo basado en directorio 1 Introducción a memoria compartida distribuida 2 Bases del protocolo de directorio 3 Protocolo basado en directorio 4 Conclusión cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 12/23

Protocolo basado en directorio Transición de estados En chips multicore: La coherencia interna se mantiene mediante directorio centralizado. El mismo directorio puede actuar como directorio local en DSM. Implementación del protocolo: Transición de estados de caché local. Envían peticiones a directorio local. Transición de estados del directorio. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 13/23

Protocolo basado en directorio Transición de estados de caché individual Acierto lectura Acierto escritura Modificado (Solo lect) Captar/Invalidar Post-escritura Escritura CPU Enviar mens fallo escritura Inválido (I) Fallo lectura Post-escritura y leer fallo Captar Post-escritura Lectura CPU Enviar mens. fallo lectura Invalidar Compartido (Lect/Escr) Acierto lectura Fallo escritura Post-escritura Acierto escritura Enviar mens invalidación Fallo escritura Enviar mens fall escritura Fallo lectura Leer fallo cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 14/23

Protocolo basado en directorio Entrada no cacheada El valor de memoria está actualizado. Peticiones: Fallo de lectura: Se envía dato de memoria a nodo peticionario. Nodo peticionario es el único en estado compartido. Estado pasa a compartido. Fallo de escritura: Se envía dato de memoria a nodo peticionario. El bloque se pasa a estado exclusivo. Nodo peticionario es el propietario. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 15/23

Protocolo basado en directorio Entrada compartida El valor de memoria está actualizado. Peticiones: Fallo de lectura: Se envía el dato de memoria al nodo peticionario. El nodo peticionario se añade al conjunto de nodos de la entrada. Fallo de escritura: Se envía el dato de memoria al nodo peticionario. Se envían mensajes de invalidación al conjunto de nodos de la entrada. Se activa en el conjunto solamente el nodo peticionario. Se pasa a estado exclusivo. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 16/23

Protocolo basado en directorio Entrada exclusiva El valor del bloque se encuentra en caché en el nodo identificado por el conjunto (nodo porpietario). Peticiones: Fallo de lectura: Se envía mensaje de captación a propietario. Se escribe dato en memoria. Se envía dato a nodo peticionario. Se añade nodo peticionario a conjunto de nodos. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 17/23

Protocolo basado en directorio Entrada exclusiva Peticiones: Post-escritura: Ocurre cuando el propietario hace post-escritura del bloque. El bloque pasa a estado no cacheado. Se vacía el conjunto de la entrada. Fallo de escritura: El bloque tiene nuevo propietario. Se invalida bloque en antiguo propietario y se obtiene valor. Se envía valor a nodo peticionario. Se activa en el conjunto solamente el nuevo peticionario. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 18/23

Protocolo basado en directorio Transición de estados del directorio No cacheado Fallo escritura Captr/Invalidar Respuesta dato Nodo={P} Exclusivo (Lect/Escr)) Post-escritura Nodos={} Fallo escritura Respuesta dato; Nodos={P} Fallo lectura Fallo escritura Fallo lectura Respuesta dato; Nodos={P} Captar;Respuesta dato;nodo=nodo+{p} Invalidar; Nodos={P}; Respuesta dato Compartido (Solo lectura) Fallo lectura Nodos=Nodos+{P} cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 19/23

Conclusión 1 Introducción a memoria compartida distribuida 2 Bases del protocolo de directorio 3 Protocolo basado en directorio 4 Conclusión cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 20/23

Conclusión Resumen Problemas de escalabilidad en protocolos de espionaje. Alternativas de protocolos basados en directorio: Directorio centralizado en SMP. Directorio distribuido en DSM. En chips multicore: Coherencia interna mediante directorio centralizado. Usado como directorio local en DSM. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 21/23

Conclusión Referencias Computer Architecture. A Quantitative Approach 5th Ed. Hennessy and Patterson. Secciones: 5.4. Ejercicios recomendados: 5.9, 5.10, 5.11, 5.12. cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 22/23

Conclusión Memoria compartida distribuida Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de Informática Universidad Carlos III de Madrid cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 23/23