Вы находитесь на странице: 1из 38

Sistema

que cuenta con mas de un microprocesador, funcionando de modo paralelo e independiente del resto, para la ejecucin de una o varias tareas, bajo el control de un nico sistema operativo. Una de las caractersticas mas interesantes de estos sistemas es el uso de memoria compartida, mediante el cual todos los procesadores disponen de un espacio de direccionamiento comn.

ARQUITECTURA

CENTRALIZADAS DE MEMORIA COMPARTIDA. DE MEMORIA

ARQUITECTURAS

DISTRIBUIDA.
Con memoria compartida Con memoria privada (milticomputadores)

Son mquinas que constan de varios procesadores (tpicamente un nmero pequeo). Como son pocos, la comunicacin a travs de un bus es econmica y eficiente. Cada procesador puede tener una memoria cach para reducir la cantidad de datos que viajan por el bus. La comunicacin entre procesadores es a travs de variables compartidas y zonas de memoria comunes.

Modelo

UMA Uniform Memory Access Modelo NUMA Non Uniform Memory Access

Modelo COMA Cache Only Memory Access

Memoria

fsica uniformemente compartida por todos los procesadores. Todos los procesadores presentan el mismo tiempo de acceso a todas las palabras de memoria. Cada procesador puede emplear una cach privada. Los perifricos se comparten de la misma manera.

Tiempo

de acceso depende de la ubicacin de la palabra de memoria. Locales (Forman el espacio de direccionamiento global). cach con directorios

Memorias

Coherencia

distribuidos.

Caso La No

especial del NUMA.

memoria principal se convierte a cach.

existe una jerarqua de memoria en cada procesador.

El problema de la coherencia Los procesadores del sistema guardan en cach los datos con los que trabajan.

Los datos se dividen en:


privados: slo los necesita un procesador. compartidos: los necesitan varios procesadores.

Los datos compartidos son, por lo tanto, utilizados por varios procesadores. El problema surge cuando un procesador modifica datos que otros tienen en sus cachs.

En un sistema de memoria centralizada, se suele usar la tcnica de snooping (fisgonear). Las cachs observan las transmisiones que se realizan en el bus, para saber cundo alguna de las otras cargue una lnea que tienen ellas. En el caso de que una de las cachs que tiene una copia de una lnea compartida la modifique, es necesario que el resto se entere.

Existen dos maneras de notificar las modificaciones en las lneas: Protocolo de invalidacin por escritura Cuando un procesador realiza una escritura en una lnea, esta accin invalida las copias de esa lnea en las otras cachs.

Protocolo de actualizacin en escritura Cuando un procesador realiza una escritura en una lnea, enva la nueva versin a las otras cachs.

Diferencias entre ambas opciones: Modificaciones sucesivas de un dato provocan el correspondiente envo de lneas a travs del bus si se usa el protocolo de actualizacin. Si no hay lecturas entre medias, el protocolo de invalidacin no supone trfico adicional. Modificaciones de varios datos en una misma lnea suponen otros tantos envos con actualizacin, por una nica recarga por invalidacin. La invalidacin de una lnea puede provocar retardos, ya que el fallo de lectura en la cach destino se detecta (por la invalidacin) en el momento de realizar el acceso. Con actualizacin no se produce el fallo.

Exclusin

de la coherencia cach.

Protocolos

basados en directorios (qu procesadores tienen copias de un bloque y estado del bloque) con invalidacin de escritura. Directorios distribuidos (como la memoria).

En una mquina de memoria distribuida un nodo no puede observar todas las transferencias entre los restantes nodos (en general, la topologa de la red no se lo va a permitir).

Por ello, si la memoria est distribuida se suele utilizar el protocolo de directorios.


En este protocolo, existe una estructura de datos, el directorio, que contiene informacin sobre el estado de cada bloque. Esta estructura tambin puede estar distribuida.

El

protocolo de directorios necesita que de cada bloque de memoria se tenga la siguiente informacin:
Estado del bloque. Procesadores que tienen el bloque en su cache.

La

cantidad de informacin que se almacena en el directorio, existen tres tipos de protocolos de directorios:
Completos Limitados Encadenados

Se

intercambia informacin de control Se usan mecanismos Hardware Puede durar algunos ciclos de bus. Para evitar esto se pueden usar mecanismos de interrupcin Como ejemplo, los procesos residentes en diferentes procesadores se pueden sincronizar usando barreras.

tomo: Objetos escribibles compartidos con 2 propiedades.


Slo son accesibles a la vez por 1 slo procesador Presentan accesos de lectura-modificacin-escritura indivisibles

Cmo se implementa el acceso a 1 slo de los tomos.


Sincronizacin por cerrojo. El proceso que accede cierra el cerrojo y no

lo abre hasta abandonar el tomo. Sincronizacin optimista. El tomo tiene una versin local y otra global. Entonces el proceso consiste en actualizar la versin local, comprobar que otro proceso no ha intentado acceder mientras tanto y si ha habido intentos, volver a empezar y si no actualizar la versin global. Sincronizacin por servidor. Un proceso servidor controla las peticiones de acceso al tomo. Los procesos servidores se ejecutan en procesadores especiales enganchados al mdulo de memoria que contiene al tomo.

Dos

posibilidades para incrementar la velocidad 1. Aumentar la velocidad de un procesador. 2. Dedicar muchos procesadores a una tarea.

En

cuanto al precio: Coste de incrementar la velocidad de un procesador x 10 >> Utilizar 10 procesadores. En cuanto al tiempo de desarrollo: Para conseguir un procesador 10 veces ms rpido que el actual, es necesario esperar unos 5 aos. Con la utilizacin de Multiprocesamiento slo el tiempo de implementacin necesario, para que paralelizar varios procesadores.

Reflejado

en la historia de los sistemas de altas prestaciones. Asociacin con distintos grados de paralelismo. Desde sistemas con pocos procesadores de tipo SIMD hasta sistemas con un nmero elevado de procesadores y de tipo MIMD.

Tiempos

preliminares: Desde 1972 hasta

1982. Primer periodo: Primera mitad de los aos 80. Segundo periodo: Segunda mitad de los aos 80. Tercer periodo: Primera mitad de los aos 90. Cuarto periodo: Segunda mitad de los aos 90.

Segunda

mitad de los aos 90.

Sistemas no escalables: Multiprocesadores vectoriales de memoria compartida: Cray T90 Multiprocesadores vectoriales de memoria distribuida: Fujitsu VPP700 Sistemas escalables: Multiprocesadores: Cray T3D y Cray T3E Multicomputadores MPP: IBM SP2

Evolucin

hacia sistemas escalables Tres tipos de sistemas todos de tipo MIMD:


Cluster: Multicomputador. Pocos Proc/nodo. MareNostrum Constelaciones: Multicomputador. N Proc./nodo > N nodos MPP: Sistemas masivamente paralelos. Multicomputadores y Multiprocesadores de tipo NUMA con hardware para la coherencia de cachs.

Mltiples

corrientes de Instrucciones sobre Mltiples corrientes de Datos.


Mltiples tareas simultneamente. Sincronizacin y comunicacin entre las tareas en

funcin del hardware y el software.


Dos tipos: Multiprocesadores: Un nico espacio de memoria Multicomputadores: Mltiples espacios de

memoria

Obviamente

el campo de aplicacin de los multiprocesadores ser aquel en el cual la complejidad de las operaciones que se quieren realizar aumenten de manera exponencial. Una solucin para disminuir el tiempo de computo es aadir mas procesadores.

Demandas

de velocidad de procesamiento Tambin demandas en cuanto a capacidad de almacenamiento Mltiples campos de aplicacin tanto en ciencias como en ingeniera. Destacan las aplicaciones de simulacin de modelos complejos.

Algunos

ejemplos de aplicacin:

Modelado de la evolucin global del clima en

periodos largos de tiempo. La evolucin de las galaxias. La estructura atmica de los materiales. La eficiencia de la combustin en motores. El flujo del aire sobre la superficie de vehculos. Resultados de impactos. El comportamiento de dispositivos electrnicos microscpicos.

Procesamiento

en tiempo real de la informacin procedente de los satlites artificiales precisa de un computador con una velocidad de procesamiento de 10^13 operaciones de punto flotante por segundo.

Para

que un equipo de cirujanos pudiera simular una intervencion quirurgica sin tocar al paciente (se entiende rotar imagen a gusto del operador, ver secciones transversales de ciertos organos, observar movimientos, simular operaciones sobre los organos) se precisarian del orden de 1000^13 operaciones por segundo.

As

como en la investigacin de nuevas medicinas, las pruebas de aviones, el anlisis de datos sismolgicos y geolgicos, la resolucin de sistemas de ecuaciones diferenciales para diversos campos (fsica atmica y nuclear, modelado del clima y de los ocanos).

Industrias

del petrleo (modelado de

reservas) Automocin (simulaciones de impactos, friccin, eficiencia en la combustin). Aeronutica (anlisis aerodinmico, eficiencia de los motores, estructura mecnica, compatibilidad electromagntica). Farmacutica (modelado molecular) Electrnica (CAD).

http://atc2.aut.uah.es/~nacho/AII/tema5.2.pdf http://www.esi.uem.es/gonzalo/arquitectura_c

omputadores/03%20Multiprocesadores%20a puntes.pdf http://www.fdi.ucm.es/profesor/llorente/AIC/Le ccion-11.pdf


http://www.esi.uem.es/gonzalo/arquitectura_c

omputadores/03%20Multiprocesadores%20a puntes.pdf

Вам также может понравиться