La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

William Stallings Organización y Arquitectura de Computadores

Presentaciones similares


Presentación del tema: "William Stallings Organización y Arquitectura de Computadores"— Transcripción de la presentación:

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

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: Disponibilidad:
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
Red de interconexión E/S 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

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 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 Escribir en memoria la línea de cache modificada Invalidar transacción Lectura-para-modificación (RWITM) Cargar línea de cache

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

36 Configuraciones de “clusters”: disco compartido
Enlace de alta velocidad para mensajes E/S E/S E/S E/S E/S E/S


Descargar ppt "William Stallings Organización y Arquitectura de Computadores"

Presentaciones similares


Anuncios Google