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

Documentos relacionados
EJERCICIOS DEL TEMA 4

Organización lógica Identificación de bloque

Memoria Cache. Departamento de Arquitectura de Computadores

1) Se dispone de un computador de 32 bits con la siguiente estructura:

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Características de los Canales de E/S

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Jerarquía de memoria - Motivación

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Introducción a la arquitectura de computadores

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Memoria. Organización de memorias estáticas.

Manejo de Entrada-Salida. Arquitectura de Computadoras

Redes de Interconexión

Tema 6: Periféricos y entrada-salida

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

MEMORIA EJERCICIO 1 EJERCICIO 2

TEMA 6.- INTERFACES PARA DISCOS DUROS. nexo de conexión que facilita la comunicación entre dos dispositivos

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Práctica 7 - Buses. Organización del Computador 1 1er. Cuatrimestre 2006

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo.

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Manejo de Entrada-Salida. Arquitectura de Computadoras

Introducción a los sistemas de entrada/salida Profesores y tutorías

Estructura del Computador

ARQUITECTURA E INGENIERÍA DE LOS COMPUTADORES

8.3. Introducción a las E/S del sistema

Tema: Microprocesadores

Bus I 2 C. Introducción

Tema 5: Memorias. Espacio reservado para notas del alumno

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Redes de nivel de campo

Tema 10. Sistemas Multiprocesadores Multiprocesadores Simétricos (SMP) SISTEMAS ELECTRÓNICOS PARA EL TRATAMIENTO DE LA INFORMACIÓN

Organización del Computador 1 Memoria Cache

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

Qué es una subárea? Contenido. Introducción. prerrequisitos. Requisitos

Sistemas operativos. Tema 10: Sistemas de ficheros

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro

Tema 1: Arquitectura de ordenadores, hardware y software

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Plataformas paralelas

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Examen de Estructura de Computadores ( ) Solución teoría

III Unidad Planificación y diseño de una red (LAN)

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

Administración de Redes Locales EPET Nº3

Unidad I: Organización del Computador. Ing. Marglorie Colina

Herramientas Informáticas I Software: Sistemas Operativos

SISTEMAS OPERATIVOS Arquitectura de computadores

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 1: Arquitectura de Redes de Comunicaciones

4.2 Servicio de exploración de E/S

Bloque IV: El nivel de red. Tema 12: ICMP

Definición de Memoria

Organización del Computador. Memorias

El ordenador. Codificación binaria. Código ASCII

Estructura y Tecnología de Computadores. Módulo D. Buses del computador

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

Universidad Central de Venezuela. Facultad de Ciencias. Escuela de Computación. Proyecto #1 (Simulación de caché)

Arquitectura de los Ordenadores (Teoría) Final Junio Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE

Memoria Virtual. Memoria Virtual

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

}Transparencias de clase en

Tema 6 (II) Jerarquía de Memoria

(7) Unidad 7. Buses básicos de la arquitectura 80x86 SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Fundamentos de Hardware: Arquitectura de un ordenador

Conceptos generales de sistemas distribuidos

El ordenador. Llamamos ordenador a una máquina capaz de procesar información, es decir, de recibir datos, almacenarlos, hacer

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

Ejercicios de Arquitectura de Computadoras

Arquitectura de Computadores II Clase #7

La memoria del ordenador

Electrónica Digital II

CICLOS DEL PROCESADOR

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Arquitectura (Procesador familia 80 x 86 )

Lusitania. Pensando en Paralelo. César Gómez Martín

Arquitectura de Computadores. Apellidos, Nombre:

Funcionamiento de la computadora

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

Sistemas Operativos. Daniel Rúa Madrid

TEMA 4. PROCESO UNIFICADO

TEMA 8. REGISTROS Y CONTADORES.

Guía práctica Windows 7 Registro y configuración Francisco Charte Ojeda

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Modelo OSI y TCP/IP. Teleprocesamiento Ing. Zoila Marquez.

Manual imprescindible Windows 8 registro y configuracio n (c) Francisco Charte Ojeda

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

DIRECCIONAMIENTO IP TECNOLOGÍA E INFORMÁTICA (ONCE)

Transcripción:

TEMA 1 Arquitecturas multiprocesador: MIMD de memoria compartida (multiprocesadores) V 2.0 José M. Cámara (checam@ubu.es)

Multiprocesadores y multicomputadores Multiprocesadores: son sistemas formados por un cierto número de procesadores que trabajan en paralelo. La comunicación entre ellos se realiza mediante el empleo de variables en memoria compartida. Multicomputadores:en este caso los procesadores que trabajan en paralelo disponen de una memoria totalmente independiente del resto. Se caracterizan por tanto por emplear un sistema de memoria distribuida. La intercomunicación se realiza mediante paso de mensajes entre ellos.

Memoria compartida UMA Procesador 1 Procesador 2 SISTEMA DE CONEXIÓN MEMORIA COMPARTIDA Procesador n

Memoria compartida NUMA Procesador 1 Memoria Local 1 Procesador 2 Memoria Local 2 SISTEMA DE CONEXIÓN Procesador n Memoria Local n

Memoria compartida Problemas de coherencia por: Compartición de datos Migración de procesos Entrada-salida Se debe cumplir: Propagación de escritura: las operaciones de escritura son vistas por todos los procesadores. Serialización de escritura: las operaciones de escritura son vistas por todos en el mismo orden.

Coherencia de cache Protocolos de observación del bus (snoopy): De escritura invalidación De escritura-actualización Protocolos basados en directorios: De mapeo completo Limitados Encadenados

Observación del bus: Invalidación: Write-trough Write-back Bus MEMORIA COMPARTIDA MSI MESI Procesa dor Cache Controlador de cache Procesa dor Cache Controlador de cache MOESI* MESIF* Actualización: Firefly Dragon * No implican la existencia de un bus, sino conexiones punto a punto

Write through PRr PRw Bw PRr Br PRw V I Bw Br PRr PRw

Protocolo MSI Contenido multimedia disponible

Protocolo MESI Contenido multimedia disponible

Protocolo Dragon Contenido multimedia disponible

Directorios Almacenados en memoria principal. Permiten al controlador de memoria mantener constancia de las copias presentes en las cache locales. A cada línea de cache se le asocia una etiqueta. Existen 3 posibilidades de implementación: Directorios de mapeo completo Directorios limitados Directorios encadenados

Directorios de mapeo completo La etiqueta incluye un campo de un bit por cada posible poseedor de copia (todos los nodos de la máquina). Un campo adicional de un bit indica si existe permiso de escritura. Si es así, solamente se encontrará activado el bit correspondiente al nodo que lo ha solicitado. Antes de conceder el permiso de escritura, el controlador de memoria invalida las copias existentes hasta ese momento. Los directorios de mapeo completo tienen un problema de escalabilidad: El tamaño de las etiquetas crece proporcionalmente al número de nodos de la máquina > mucho espacio de memoria principal dedicado al directorio. Etiqueta N procesadores en el sistema M líneas de cache en memoria principal Directorio: M etiquetas N campos de 1 bit 1 bit de permiso de escritura

Directorios limitados No existe un campo para cada nodo, sino para unos pocos. Los campos necesitan los bits suficientes para codificar a qué nodo representan: log 2 (nº de nodos). También existe un campo para señalar si se ha concedido permiso de escritura. Si se reduce mucho el nº de campos es posible minimizar el tamaño del directorio. En contrapartida, se limita el número de posibles poseedores de copia. Si todos los campos están utilizados y aparece un nuevo peticionario, hay que retirar alguna copia. Esto provoca intercambios adicionales y la implementación de una política de intercambio que permita decidir qué copia se retira. Etiqueta N procesadores en el sistema M líneas de cache en memoria principal Directorio: M etiquetas campos de log2(n) bits 1 bit de permiso de escritura

Ejemplo directorios Máquina con 256 nodos y 2 Gbytes de memoria principal por nodo. Líneas de cache de 64 bytes. Directorio de mapeo completo: 512GB/64bytes = 2 39 /2 6 =2 33 líneas de cache = etiquetas Cada etiqueta 256 + 1 bits 2 8 bits = 2 5 bytes 2 33 etiquetas * 2 5 bytes/etiqueta = 2 38 bytes para directorio Directorio limitado (con 4 posibles poseedores de copia simultáneos): 512GB/64bytes = 2 39 /2 6 =2 33 líneas de cache = etiquetas Cada etiqueta (log 2 (256))* 4 campos + 1 bits 32 bits = 4 bytes 2 33 etiquetas * 2 2 bytes/etiqueta = 2 35 bytes para directorio

Directorios encadenados Sólo se conserva un campo en la etiqueta para apuntar al último poseedor de copia. Cada poseedor de copia dispone de un puntero al anterior de la lista. Un nuevo peticionario se coloca al final de la lista y el controlador de memoria le entrega un puntero al que le precedía. Una eventual petición de escritura debe propagarse por toda la lista invalidando cada copia y avisando al anterior. Solo cuando el primero confirma su invalidación, se puede conceder el permiso de escritura. Etiqueta Directorio: M etiquetas 1 campo de log2(n) bits Cache N procesadores en el sistema M líneas de cache en memoria principal Cache Cache Se trata de un procedimiento lento. Se minimiza el almacenamiento en memoria principal pero se distribuye entre los diferentes nodos.

Ejemplo de bus: TLSB Implementado en máquinas de Alpha como el Alphaserver 8400. Segunda mitad de los 90s. Bus síncrono con buses de datos y direcciones separados. Bus de datos de 256 bits. BW máximo de 3,2 Gbytes/s: Bus de datos de 256 bits.

TLSB: Direccionamiento I Direccionamiento geográfico de los módulos conectados mediante 3 líneas. Se pueden conectar hasta 9 módulos ya que la dirección 000 es ocupada por el dispositivo 0 y el 8 que tiene que ser de e/s obligatoriamente. Direccionamiento virtual para dispositivos como bancos de memoria o CPUs que, de esta manera adquieren una dirección propia en el sistema. Cada módulo puede albergar hasta 8 direcciones virtuales.

TLSB: Direccionamiento II Hasta 1 TB de memoria es direccionado mediante direcciones de 40 bits. La dirección es decodificada por el solicitante para extraer la dirección virtual del banco de memoria. Hasta 16 bancos de memoria son soportados por el sistema. Las transferencias emplean líneas de cache de 64 bytes. El solicitante puede lanzar una petición de bus al mismo tiempo que compara la etiqueta de cache local. Si se produce un hit, la petición se anula.

TLSB: Direccionamiento III De los 40 bits de direcciones, se toman los bits 6-39 como dirección de línea de 64 bytes. 2 34 líneas de cache x 2 34 bytes /Línea = 2 40 bytes direccionables. El bit 5 se emplea para definir la secuencia en que los dos bloques de 32 bytes aparecen en el bus: High>low o Low>high. Los 5 bits restantes codifican la dirección virtual (hasta 16 CPUs y hasta 16 bancos de memoria).

TLSB: Arbitraje Cualquier transacción en el bus debe iniciarse con una petición por parte del módulo interesado. El arbitraje es distribuido, lo cual implica que no existe un dispositivo que actúe de arbitro. La contienda tiene que ser resuelta entre los distintos módulos. La prioridad de los nodos se inicializa a su dirección geográfica. En tiempo de funcionamiento, se emplea un mecanismo de Round Robin para actualizar la prioridad.

TLSB: Transferencias I Cuando un nodo esclavo está listo para proporcionar los datos que le han sido requeridos, toma control del bus. El esclavo activa la línea denominada TLSB_SEND_DATA, a lo que todos los dispositivos tienen tiempo para activar las líneas TLSB_SHARED o TLSB_DIRTY. TLSB_SHARED activada indica que algún dispositivo dispone de copia válida y desea seguir disponiendo de ella. Esta línea puede ser activada por cualquier dispositivo en respuesta a cualquier comando.

TLSB: Transferencias II TLSB_DIRTY activa indica que hay un dispositivo cuya copia es más reciente que la que hay en memoria. En tal caso, él se encargará de volcar los datos al bus. TLSB_DIRTY sólo puede ser activada en respuesta a comandos de lectura. Las especificaciones del protocolo no establecen el protocolo de coherencia, sino sólo el funcionamiento de las líneas.

Referencias K. whang. Advances Computer Architectures. McGraw Hill. Alphaserver8400 system hadbook.

Compartición de datos Escenario P1 P2 Cache Cache Memoria 1. P1 y P2 leen la misma variable (). P1 P2 2. P1 modifica. P1 P2 La cache de P2 queda obsoleta, en un sistema write back la memoria también. 2. P1 modifica. Volver a memoria compartida Volver a observación del bus P1 P2 La cache de P2 queda obsoleta, en un sistema write through la memoria es actualizada.

Migración de procesos P1 Escenario P2 1. P1 y P2 leen la misma variable (). P1 P2 2. P1 modifica. P1 P2 Cache Cache Memoria Volver 3. El proceso en P1 migra a P2 (WB). P1 P2 3. El proceso en P1 migra a P2 (WT). P1 P2 El proceso se encuentra en el nuevo procesador con un valor obsoleto de, tanto en write back como en write through.

Entrada salida Escenario P1 P2 Cache Cache 1. P1 y P2 leen la misma variable (). P1 P2 2. E/S introduce un cambio en memoria vía DMA. P1 P2 Ambas caches quedan obsoletas Memoria E/S Volver El valor devuelto por memoria a E/S es obsoleto. Sólo en write back. 2. P1 modifica, E/S lee vía DMA. P1 P2