Publicado el 27 de Julio del 2017
661 visualizaciones desde el 27 de Julio del 2017
1,5 MB
14 paginas
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Tema 10
Sistemas Multiprocesadores
10.1 Multiprocesadores Simétricos (SMP)
A medida que aumenta la siempre creciente demanda de mayores prestaciones, y conforme el
coste de los microprocesadores se reduce, los fabricantes han introducido los sistemas SMP. El
término SMP, sistema multiprocesador simétrico, se refiere a la arquitectura hardware del
sistema multiprocesador y al comportamiento del sistema operativo que utiliza dicha
arquitectura. Un SMP es un computador con las siguientes características:
1) Tiene dos o más procesadores similares de capacidades comparables.
2) Los procesadores comparten la memoria principal y la E/S, y están interconectados
mediante un bus u otro tipo de sistema de interconexión, de manera que el tiempo de
acceso a memoria es aproximadamente el mismo para todos los procesadores.
3) Todos los procesadores comparten los dispositivos de E/S, pero pueden hacerlo bien a
través de los mismos canales, o bien a través de otros caminos de acceso al mismo
dispositivo.
4) Todos los procesadores pueden desempeñar las mismas funciones (de ahí el término
simétrico).
5) El sistema está controlado por un sistema operativo que posibilita la interacción entre
los procesadores y sus programas.
La última de las características anteriores apunta a una de las diferencias de los SMP respecto
a los sistemas multiprocesadores débilmente acoplados, como son los ‘clusters’. En estos, la
unidad de interacción es normalmente un mensaje o un fichero completo. Sin embargo, en un
SMP, la interacción se puede producir a través de elementos de datos individuales, y puede
existir un elevado nivel de cooperación entre procesadores. De ahí que esten clasificados como
sistemas fuertemente acoplados.
A continuación se relacionan las ventajas potenciales de un SMP respecto a una arquitectura
monoprocesador:
• Prestaciones: Si el trabajo a realizar por un computador puede organizarse de forma que
diferentes partes puedan realizarse en paralelo, concurrentemente, entonces un sistema
10. 1
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
con varios procesadores proporcionará mejores prestaciones que uno con un sólo
procesador del mismo tipo.
• Disponibilidad: Como en un SMP 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 diferentes precios
y prestaciones, en función del número de procesadores que configuran el sistema.
Sin embargo, los beneficios anteriores no son beneficios garantizados, sino potenciales. Por su
parte, el sistema operativo debe proporcionar herramientas y funciones que permitan explotar el
paralelismo del programa y proyectarlo sobre los diferentes procesadores de un SMP.
Los sistemas SMP poseen una característica muy atractiva, y es que la existencia de varios
procesadores es transparente al usuario. Es el sistema operativo el que posibilita la sincronización
entre los procesadores, y la planificación de los hilos o de los procesos, puesto que es el
responsable de asignarlos a los distintos procesadores.
10.1.1. Organización
figura 10.1. Diagrama de bloques de un sistema multiprocesador.
Existen dos o más CPUs, cada una de las cuales contiene: a) unidad de control, b) ALU, c)
registros y d) posiblemente caché. Cada CPU tiene acceso a una memoria principal compartida y
a los dispositivos I/O a través de un mecanismo de interconexión. Los procesadores pueden
10. 2
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
comunicarse entre ellos a través de la memoria (mensajes e información de estados almacenados
en áreas comunes). También pueden intercambiar directamente señales, indicadas por las líneas
punteadas en la figura 10.1. La memoria se organiza frecuentemente de manera que se pueden
realizar accesos simultáneos a bloques independientes. En algunas configuraciones, cada CPU
puede tener también su memoria principal privada y canales I/O además de los recursos
compartidos.
La organización de un sistema multiprocesador puede clasificarse de la siguiente forma:
• Tiempo compartido o Bus Común.
• Memoria Multipuerto.
• Unidad de Control Central.
10.1.1.1. Bus de tiempo compartido
Es el mecanismo más simple para implementar un sistema multiprocesador. La estructura e
interfaces son básicamente los mismos de un sistema con un procesador único. Para facilitar las
transferencias DMA desde los procesadores de I/O, se añaden las siguientes características:
• Direccionamiento: Se pueden distinguir los módulos del bus para determinar la
fuente y el destino de los datos.
• Arbitraje: Existe un mecanismo para arbitrar peticiones de control del bus, utilizando
algún tipo de esquema de prioridades. Los módulos I/O también pueden funcionar
temporalmente como master.
• Tiempo Compartido: Cuando un módulo está controlando el bus, los módulos
restantes no están autorizados y deben suspender, si es necesario, la operación hasta
que se les asigne el acceso al bus.
Las principales ventajas de esta estructura son:
• Simplicidad, ya que la estructura es la misma que en un sistema uniprocesador.
• Flexibilidad: Es fácil expandir el sistema añadiendo más CPUs.
• Fiabilidad: El bus es esencialmente un medio pasivo, por lo que en principio no debe
producir fallos en el sistema.
La principal desventaja consiste en que todas las referencias a memoria pasan a través de un
bus común, por lo que la velocidad del sistema está limitada por el ciclo de bus. Para mejorar
esto, es conveniente equipar cada CPU con una memoria caché. Ésta reduce significativamente
el número de accesos.
10. 3
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
figura 10.2. Diagrama de bloques de un sistema multiprocesador.
Si se utiliza memoria caché, se necesitan algunas consideraciones de diseño. Puesto que cada
caché contiene datos tomados de la memoria compatida, si se altera un dato en una caché
después de un resultado, virtualmente esto puede invalidar el dato de otra caché. Para prevenir
esto, las restantes CPUs deben ser alertadas de ello y tomar las medidas necesarias (problema de
la coherencia de la caché).
10.1.1.2. Memoria multipuerto
La aproximación de memoria multipuerto permite el acceso independiente y directo a los
módulos de memoria principal por parte de cada CPU y módulo I/O. Se necesita una lógica
asociada a la memoria para resolver conflictos de acceso. El método más utilizado es asignar
permanentemente prioridades designadas a cada puerto de memoria.
figura 10.3. Diagrama de bloques de un sistema multiprocesador.
10. 4
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Esta aproximación es más compleja que la aproximación de bus, requiriendo gran cantidad de
lógica añadida al sistema. Las características de funcionamiento son mejores puesto que cada
procesador y cada I/O disponen de caminos independientes a cada módulo de memoria. Otra
ventaja es la posibilidad de configurar porciones de memoria como ‘privadas’ de una CPU y/o
un módulo I/O. Esto permite incrementar la seguridad contra accesos no autorizados y para el
almacenamiento de rutinas de recuperación en áreas de memoria no modificables por otros
procesadores.
En esta estructura, sólo puede utilizarse el método ‘write through’ (que se verá más adelante)
ya que no puede alertarse a los otros procesadores de modificaciones en una caché.
10.1.1.3. Unidad de Control Central
La unidad de control central proporciona canales de datos separados para cada sentido entre
módulos independientes: CPU, memoria y I/O. El controlador memoriza las peticiones e
implementa funciones de arbitraje y temporización. Puede pasar también mensajes de control y
estado entre CPUs, y alertar de modificación de cachés.
Puesto que toda la lógica de coordinación del multiprocesador está concentrada en la unidad
de control, los interfaces de I/O, memoria y CPU se descargan prácticamente de estas funciones,
lo que le proporciona la flexibilidad y simplicidad de la aproximación de bus. La principal
desventaja es la complejidad de la unidad de control, y la posibilidad de convertirse en un ‘cuello
de botella’.
Esta estructura es usual en sistemas multiprocesadores con mainframes.
10. 5
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
10.2. Grandes Computadores SMP (IBM S/390)
La mayoría de los PC y estaciones de trabajo de tipo SMP utilizan una estrategia de
interconexión basada en bus. Sin embargo, existen otro tipo de organizaciones donde el
mecanismo de interconexión no es un bus. Por ello, resulta ilustrativo analizar una aproximación
alternativa al bus común, que se utiliza en las implementaciones más recientes de la familia de
grandes computadores (mainframes) IBM S/390.
La figura 10.4 muestra un esquema que corresp
Comentarios de: Tema 10 - Sistemas Multiprocesadores (0)
No hay comentarios