William%20Stallings%20Organizaci - PowerPoint PPT Presentation

About This Presentation
Title:

William%20Stallings%20Organizaci

Description:

SISD: una secuencia de instrucciones y una secuencia de datos. ... Cargar l nea de cache. 33 'Clusters' Son la alternativa a los SMP. ... – PowerPoint PPT presentation

Number of Views:599
Avg rating:3.0/5.0
Slides: 37
Provided by: adria262
Category:

less

Transcript and Presenter's Notes

Title: William%20Stallings%20Organizaci


1
William Stallings Organización y Arquitectura de
Computadores
  • Capítulo 16
  • Procesamiento paralelo

2
Organizaciones Con Varios Procesadores
  • SISD una secuencia de instrucciones y una
    secuencia de datos.
  • SIMD una secuencia de instrucciones y múltiples
    secuencias de datos.
  • MISD múltiples secuencias de instrucciones y una
    secuencia de datos.
  • MIMD múltiples secuencias de instrucciones y
    múltiples secuencias de datos.

3
Una secuencia de instrucciones y una secuencia de
datos (SISD)
  • Un único procesador interpreta una única
    secuencia de instrucciones.
  • Datos almacenados en una única memoria.
  • Computadores monoprocesador.

4
Una secuencia de instrucciones y múltiples
secuencias de datos (SIMD)
  • Una única instrucción máquina controla paso a
    paso la ejecución simultánea de un cierto número
    de elementos de proceso.
  • Cada elemento de proceso tiene una memoria
    asociada.
  • Cada instrucción es ejecutada por cada
    procesador, con un conjunto de datos diferentes.
  • Procesadores vectoriales y matriciales.

5
(No Transcript)
6
Múltiples secuencias de instrucciones y una
secuencia de datos (MISD)
  • Se transmite una secuencia de datos a un conjunto
    de procesadores.
  • Cada procesador ejecuta una secuencia de
    instrucciones diferente.
  • Esta estructura nunca ha sido implementada.

7
Múltiples secuencias de instrucciones y múltiples
secuencias de datos (MIMD)
  • Un conjunto de procesadores ejecuta
    simultáneamente secuencias de instrucciones
    diferentes.
  • Conjuntos de datos diferentes.
  • Los SMP, los clusters, y los sistemas NUMA son
    ejemplos de esta categoría.

8
Taxonomía de las arquitecturas paralelas
Organizaciones de computadores
Una secuencia de instrucción, múltiples
secuencias de datos (SIMD)
Múltiples secuencias de instrucción, múltiples
secuencias de datos (MIMD)
Una secuencia de instrucción, una secuencia de
datos (SISD)
Múltiples secuencias de instrucción, una
secuencia de datos (MISD)
Monoprocesadores
Procesadores vectoriales
Procesadores matriciales
Memoria compartida (fuertemente acoplada)
Memoria distribuida (débilmente acoplada)
Clusters
Multiprocesador simétrico (SMP)
Acceso no uniforme a memoria (NUMA)
9
Organización MIMD
  • Son procesadores de uso general.
  • Cada uno es capaz de procesar todas las
    instrucciones necesarias para realizar las
    transformaciones apropiadas de los datos.
  • Se pueden subdividir, además, según la forma que
    tienen los procesadores para comunicarse.

10
SMP (fuertemente acoplado)(Symmetric
MultiProcessor)
  • Varios procesadores comparten una única memoria.
  • Los procesadores se comunican unos con otros a
    través de esa memoria compartida.
  • Características del multiprocesador simétrico
    (SMP)
  • Comparten la memoria principal.
  • Comparten un bus para acceder a la memoria.
  • El tiempo de acceso a memoria es aproximadamente
    el mismo para todos los procesadores.

11
NUMA (fuertemente acoplado)(NonUniform Memory
Access)
  • Acceso no uniforme a memoria.
  • El tiempo de acceso a zonas de memoria diferentes
    puede diferir en un computador NUMA.

12
Clusters (débilmente acoplados)
  • Un conjunto de computadores monoprocesador
    independientes, o de SMP, pueden interconectarse
    para formar un cluster.
  • La comunicación entre los computadores se realiza
    mediante conexiones fijas o mediante algún tipo
    de red.

13
Multiprocesadores simétricos
  • Un SMP es un computador autónomo con las
    siguientes características
  • Hay dos o más procesadores similares de
    capacidades comparables.
  • Estos procesadores comparten la memoria principal
    y las E/S.
  • Están interconectados mediante un bus u otro tipo
    de sistema de interconexión.
  • El tiempo de acceso a memoria es aproximadamente
    el mismo para todos los procesadores.
  • Todos los procesadores comparten los dispositivos
    de E/S, bien a través de los mismos canales, o
    bien mediante canales distintos que proporcionan
    caminos de acceso al mismo dispositivo.
  • Todos los procesadores pueden desempeñar las
    mismas funciones (de ahí el término simétrico).
  • El sistema está controlado por un sistema
    operativo integrado, que proporciona la
    interacción entre los procesadores y sus
    programas en los niveles de trabajo, tarea,
    archivo y datos.

14
Ventajas de un SMP
  • Prestaciones
  • Cuando el trabajo a realizar por un computador
    puede organizarse en paralelo.
  • Disponibilidad
  • Debido a que todos los procesadores pueden
    realizar las mismas funciones, un fallo en un
    procesador no hará que el computador se detenga.
  • Crecimiento incremental
  • Se pueden aumentar las prestaciones del sistema,
    añadiendo más procesadores.
  • Escalado
  • Los fabricantes pueden ofrecer una gama de
    productos con precios y prestaciones diferentes,
    en función del número de procesadores que
    configuran el sistema.

15
Diagrama de bloques genérico de un
multiprocesador fuertemente acoplado
Procesador
Procesador
Procesador
E/S
Red de interconexión
E/S
E/S
Memoria principal
16
Organización de los multiprocesadores simétricos
  • Bus de tiempo compartido o común.
  • Memoria multipuerto.
  • Unidad de control central.

17
Bus de tiempo compartido
  • Es el mecanismo más simple.
  • La estructura y las interfaces son básicamente
    las mismas que las de un sistema de un único
    procesador.
  • Se proporcionan los siguientes elementos para el
  • Direccionamiento distinción de los módulos del
    bus (origen y destino)
  • Arbitraje cualquier módulo puede funcionar
    temporalmente como maestro.
  • Tiempo compartido cuando un módulo está
    controlando el bus, los otros módulos tienen que
    esperar y, si es necesario, suspender su
    operación.
  • Existen varios procesadores, además de varios
    módulos de E/S.

18
Ventajas del bus de tiempo compartido
  • Simplicidad.
  • Flexibilidad.
  • Fiabilidad.

19
Desventajas del bus de tiempo compartido
  • La prestación está limitada por el tiempo de
    ciclo del bus.
  • Cada procesador debería estar equipado con una
    memoria cache para mejorar las prestaciones
  • Se reduciría el número de accesos.
  • Se pueden producir problemas de coherencia de
    cache
  • Este problema es resuelto por el hardware

20
(No Transcript)
21
Memoria multipuerto
  • Permite el acceso directo e independiente a los
    módulos de memoria desde cada uno de los
    procesadores.
  • Se necesita una cierta lógica para resolver los
    conflictos.
  • Se necesitan pocas o ninguna modificación en los
    procesadores o en los módulos.

22
M1
M2
Mk
P1
E/S 1
Pn
E/S m
Memorias multipuerto
23
Ventajas y desventajas de la memoria multipuerto
  • Más compleja
  • Se precisa añadir al sistema de memoria una buena
    cantidad de lógica.
  • Se consiguen mejores prestaciones.
  • Cada procesador tiene un camino dedicado a cada
    módulo de memoria.
  • Permite configurar partes de la memoria como
    privadas para uno o más procesadores
  • Incremento de la seguridad.
  • Se debe utilizar una estrategia de escritura
    directa para controlar la cache.

24
Unidad de control central
  • Encauza las distintas secuencias de datos entre
    los distintos módulos independientes.
  • Puede almacenar temporalmente peticiones.
  • Puede realizar las funciones de arbitraje y
    temporización.
  • Puede transmitir mensajes de estado y control
    entre los procesadores.
  • Puede alertar sobre los cambios en las caches.
  • Las interfaces de E/S, memoria y procesador no
    sufren cambios esenciales.
  • Ejemplo mainframe tipo S/370 de IBM.

25
Puntos clave de diseño de un sistema operativo
  • Procesos concurrentes simultáneos.
  • Planificación.
  • Sincronización.
  • Gestión de memoria.
  • Fiabilidad y tolerancia ante los fallos.

26
Soluciones software
  • El compilador y el sistema operativo se encargan
    del problema de la necesidad de circuitería y
    lógica hardware adicional.
  • La sobrecarga se transfiere para compilar el
    tiempo.
  • La complejidad del diseño se transfiere desde el
    hardware al software.
  • Por otra parte, el software tiende a tomar
    ciertas decisiones conservadoras
  • Utilización ineficiente de la cache.
  • Analizan el código para determinar periodos
    seguros para las variables compartidas.

27
Soluciones hardware
  • Generalmente se denominan protocolos de
    coherencia de cache.
  • Permiten reconocer dinámicamente, en el momento
    de la ejecución, problemas potenciales.
  • Permiten un uso más efectivo de las caches.
  • Aproximaciones transparentes para el programador.
  • Protocolos de directorio.
  • Protocolos de sondeo.

28
Protocolos de directorio
  • Recogen y mantienen la información acerca de las
    copias de las líneas en la cache.
  • El directorio se almacena en la memoria
    principal.
  • Las peticiones se comprueban comparándose con el
    directorio.
  • Se ejecutan las transferencias apropiadas.
  • Los esquemas de directorio tienen un cuello de
    botella central.
  • Son efectivos en sistemas a gran escala que
    poseen esquemas complejos de interconexión.

29
Protocolos de sondeo snoopy protocols
  • Distribuyen la responsabilidad de mantener la
    coherencia de cache entre todos los controladores
    de cache.
  • Una cache reconoce cuándo una línea está
    compartida con otras caches.
  • Las actualizaciones se anuncian a otras caches.
  • Se adaptan bien a multiprocesadores basados en un
    bus.
  • Incremento en el tráfico del bus.

30
Invalidar-si-escritura
  • Múltiples procesadores que leen, pero uno sólo
    que escribe.
  • Cuando se quiere hacer una escritura, se
    invalidan las otras caches de la línea.
  • El procesador que escribe tiene acceso exclusivo
    hasta que la línea sea requerida por otro
    procesador.
  • Se utiliza en los sistemas Pentium II y Power PC.
  • El estado de cada línea se marca como modificado,
    exclusivo, compartido, o no válido.
  • El protocolo de invalidar-si-escritura se llama
    MESI.

31
Actualizar-si-escritura
  • Varios procesadores que escriben y leen.
  • La palabra actualizada se distribuye a todos los
    procesadores.
  • Algunos sistemas implementan un sistema
    adaptativo con características de ambas
    soluciones.

32
Diagrama de transición de estados MESI
No válido
Compar- tido
No válido
Compar- tido
Modifi- cado
Exclu- sivo
Modifi- cado
Exclu- sivo
(a) Línea en el procesador que inicia la
transferencia
(a) Línea en una cache sondeando el bus
Escribir en memoria la línea de cache
modificada Invalidar transacción Lectura-para-mod
ificación (RWITM) Cargar línea de cache
Acierto de lectura Fallo de lectura,
compartida Fallo de lectura, exclusiva Acierto de
escritura Fallo de escritura Acierto de sondeo en
lectura Acierto de sondeo en escritura o
lectura-para-modificación
33
Clusters
  • Son la alternativa a los SMP.
  • Prestaciones y disponibilidad elevadas.
  • Aplicaciones propias de un servidor.
  • Un grupo de computadores completos
    interconectados que trabajan conjuntamente como
    un único recurso de cómputo, creándose la ilusión
    de que se trata de una sóla máquina.
  • Cada computador se denomina nodo.

34
Beneficios del cluster
  • Escalabilidad absoluta.
  • Escalabilidad incremental.
  • Alta disponibilidad.
  • Mejor relación precio/prestaciones.

35
Configuraciones de clusters servidor sin disco
compartido
Enlace de alta velocidad para mensajes
E/S
E/S
E/S
E/S
36
Configuraciones de clusters disco compartido
Enlace de alta velocidad para mensajes
E/S
E/S
E/S
E/S
E/S
E/S
Write a Comment
User Comments (0)
About PowerShow.com