Sei sulla pagina 1di 9

MULTIPROCESADORES SIMTRICOS

Hasta hace poco, prcticamente todos los computadores personales y


estaciones de trabajo utilizaban un nico microprocesador de uso general. A
medida que aumenta la demanda de mayores prestaciones y dado que el coste
de los microprocesadores contina reducindose, los fabricantes han
introducido los sistemas SMP. El trmino SMP se refiere a la arquitectura
hardware del computador y tambin al comportamiento del sistema operativo
que utiliza dicha arquitectura. Un SMP puede definirse como un computador
con las siguientes caractersticas:
1. Hay dos o ms procesadores similares de capacidades comparables.
2. Estos procesadores comparten la memoria principal y las E/S y estn
interconectados mediante un bus u otro tipo de sistema de interconexin, de
forma que el tiempo de acceso memoria es aproximadamente el mismo para
todos los procesadores.
3. Todos los procesadores comparten los dispositivos de E/S, bien a travs de
los mismos canales mediante canales distintos que proporcionan caminos de
acceso al mismo dispositivo.
4. Todos los procesadores pueden desempear las mismas funciones (de ah el
trmino simtrico).
5. El sistema est controlado por un sistema operativo integrado que
proporciona la interaccin entre los procesadores y sus programas a los niveles
de trabajo, tarea, fichero y datos.

El sistema operativo de un SMP planifica la distribucin de procesos o hilos


entre todos los procesadores. Un SMP tiene las siguientes ventajas potenciales
con respecto a una arquitectura Monoprocesador:
Prestaciones: si el trabajo a realizar por un computador puede organizarse de
forma que
Partes del mismo se puedan realizar en paralelo, entonces un sistema con
varios procesadores
Proporcionar mejores prestaciones que uno con un solo procesador del mismo
tipo.

Disponibilidad: en un multiprocesador simtrico, 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 aadiendo ms procesadores.
Escalado: los fabricantes pueden ofrecer una gama de productos con
precios y prestaciones Diferentes en funcin del nmero de procesadores que
configuran el sistema. Es importante resaltar que los anteriores son beneficios
potenciales ms que beneficios garantizados. El sistema operativo debe
disponer de herramientas y funciones que permitan explotar el paralelismo
presente en un SMP. Una caracterstica atractiva de un SMP es que la existencia
de varios procesadores es transparente al usuario. El sistema operativo se
encarga de la sincronizacin entre los procesadores y de la planificacin de los
hilos o de los procesos, asignndolos a los distintos procesadores.
ORGANIZACIN
En la siguiente imagen describe en trminos generales la organizacin de un
sistema multiprocesador. Hay dos o ms procesadores. Cada procesador es
autnomo, incluyendo una unidad de control, una ALU,
Registros y, posiblemente, cach. Cada procesador tiene acceso a una
memoria principal compartida y
A los dispositivos de E/S a travs de alguna forma de mecanismo de
interconexin. Los procesadores pueden comunicarse entre s a travs de la
memoria (mensajes e informacin de control almacenada en reas comunes
para datos). Tambin es posible que los procesadores intercambien seales
directamente. La memoria a menudo se organiza de forma que sean posibles
los accesos simultneos a bloques de memoria separados. En algunas
configuraciones, cada procesador puede tener tambin su propia memoria
principal privada y sus canales de E/S, adems de los recursos compartidos.

BUS DE TIEMPO COMPARTIDO


La organizacin ms comn en los computadores personales, estaciones de
trabajo y servidores es el bus de tiempo compartido. El bus de tiempo
compartido es el mecanismo ms simple para construir un sistema
multiprocesador (Figura 18.5). La estructura y las interfaces son bsicamente
las mismas que las de un sistema de un nico procesador que utilice un bus
para la interconexin. El bus consta de lneas de control, direccin y datos. Para
facilitar las transferencias de DMA con los procesadores de E/S, se
proporcionan los elementos para el:
Direccionamiento: debe ser posible distinguir los mdulos del bus para
determinar la fuente
Y el destino de los datos.
Arbitraje: cualquier mdulo de E/S puede funcionar temporalmente como un
maestro. Se proporciona un mecanismo para arbitrar entre las peticiones
que compiten por el control del bus, utilizando algn tipo de esquema de
prioridad.

Tiempo Compartido: cuando un mdulo est controlando el bus, los otros


mdulos no tienen acceso al mismo y deben, si es necesario, suspender su
operacin hasta que dispongan del bus.
Estas caractersticas monoprocesador son utilizables directamente en una
configuracin de SMP.En este caso, hay varias CPU adems de varios
procesadores de E/S que intentan tener acceso a uno o ms mdulos de
memoria a travs del bus.
La organizacin del bus presenta varias caractersticas atractivas:
Simplicidad: es la aproximacin ms simple para organizar el
multiprocesador. La interfaz fsica y la lgica de cada procesador para el
direccionamiento, el arbitraje y para compartir el tiempo del bus es el mismo
que el de un sistema con un solo procesador.
Flexibilidad: es generalmente sencillo expandir el sistema conectando ms
procesadores al bus.
Fiabilidad: el bus es esencialmente un medio pasivo, y el fallo de cualquiera
de los dispositivos conectados no provocara el fallo de todo el sistema.

La principal desventaja de la organizacin de bus son las prestaciones. Todas


las referencias a Memoria pasan por el bus. En consecuencia, la velocidad del
sistema est limitada por el tiempo de ciclo. Para mejorar las prestaciones, es
deseable equipar a cada procesador de una memoria cach. Esta reducira
dramticamente el nmero de accesos. Tpicamente, los PC y las estaciones de
trabajo de tipo SMP tienen dos niveles de cach, una cach L1 interna (en el
mismo chip que el procesador) y una cach L2 extema o interna. Algunos
procesadores actuales tambin utilizan una memoria cach L3. El uso de
cachs introduce algunas consideraciones de diseo nuevas. Puesto que cada
cach local contiene una imagen de una parte de la memoria, si se altera una
palabra en una cach,es concebible que eso podra invalidar una palabra en
otra cach. Para evitarlo, se debe avisar a los otros procesadores de que se ha
producido una actualizacin de memoria. Este problema se conoce como
problema de coherencia de cach, que es resuelto tpicamente por el hardware
ms que por el sistema operativo. La Seccin 18.3 trata este punto.

CONSIDERACIONES DE DISEO DE UN SISTEM A OPERATIVO


DE MULTIPROCESADOR
Un sistema operativo de SMP gestiona los procesadores y dems recursos del
computador para que el usuario perciba un solo sistema operativo controlando
los recursos del sistema. De hecho, el computador debera parecer un sistema
monoprocesador con multiprogramacin. Tanto en un SMP como en un sistema
monoprocesador, pueden estar activos varios trabajos o procesos al mismo
tiempo, y es responsabilidad del sistema operativo planificar su ejecucin y
asignar los recursos. Un usuario puede desarrollar aplicaciones que utilizan
varios procesos o varios hilos dentro de un proceso sin tener en cuenta si se
dispone de uno o de varios procesadores. As, un sistema operativo de
multiprocesador debe proporcionar toda la funcionalidad de un sistema
operativo con multiprogramacin ms, las caractersticas adicionales que
permitan utilizar varios procesadores. Entre los puntos clave de diseo estn:
Procesos concurrentes simultneos: las rutinas del sistema operativo
deben ser reentrantes para permitir que varios procesadores puedan ejecutar
simultneamente el mismo cdigo IS paralelo Con varios procesadores
ejecutando la misma o distintas partes del sistema operativo, las tablas y las
estructuras de gestin del sistema operativo deben manejarse apropiadamente
para evitar bloqueos u operaciones no vlidas.
Planificacin: la planificacin puede realizarla cualquier procesador, por lo
que deben evitrselos conflictos. El planificador debe asignar los procesos
preparados a los procesadores disponibles.
Sincronizacin: puesto que hay varios procesos que pueden acceder a
espacios de memoria ya recursos de E/S compartidos, debe proporcionarse una
sincronizacin efectiva. La sincronizacin asegura la exclusin mutua y la
ordenacin de eventos.

Gestin de memoria: la gestin de memoria en un multiprocesador debe


comprender todos los aspectos propios de los computadores
monoprocesadores, discutidos en el Captulo 8. Adems, el sistema operativo
debe explotar el paralelismo que proporciona el hardware, por ejemplo las
memorias multipuerto, para obtener mejores prestaciones. Los mecanismos de
paginacin en procesadores distintos deben coordinarse para mantener la
consistencia cuando varios procesadores comparten una pgina o un segmento
y para decidir sobre el reemplazo de pginas.
Fiabilidad y tolerancia a fallos: el sistema operativo debera hacer posible
una degradacin gradual cuando se produce un fallo en un procesador. El
planificador y otros elementos del sistema operativo deben reconocer la
prdida de un procesador y reestructurar las tablas de gestin en
consecuencia.
UN SMP COMO GRAN COM PUTADOR
La mayora de los PC y estaciones de trabajo de tipo SMP utilizan una
estrategia de interconexin basada en un bus tal y como muestra la Figura
18.6. Resulta ilustrativo analizar una aproximacin alternativa, que se utiliza en
las implementaciones ms recientes de la familia de grandes computadores
(mainframes) IBM series [SIEG04, MAK04] denominada z990. Esta familia de
sistemas incluye desde computadores monoprocesador con un mdulo de
memoria principal hasta sistemas con 48 procesadores y ocho mdulos de
memoria. Los componentes clave de la configuracin son los siguientes:
Chip con dos ncleos de procesamiento (dual-core): cada
microprocesador incluye dos procesadores
idnticos denominados procesadores centrales (Central Processors, CP). Un CP
es
un microprocesador CISC en el que la mayora de las instrucciones se
encuentran cableadas
mientras que las restante se ejecutan mediante un microcdigo vertical. Cada
CP incluye
cachs L1 separados para datos e instrucciones de 256 Kbytes cada una.
Cach L2: cada cach L2 contiene 32 Mbytes. Las cachs L2 se organizan en
grupos de
cinco, de forma que cada grupo recibe accesos de ocho microprocesadores
duales y proporciona
acceso a todo el espacio de memoria principal.
Elemento de Control de Sistema (System Control Element, SCE): se
encarga del arbitraje
de la comunicacin en el sistema y tiene un papel central e el mantenimiento
de la coherencia
de cach.
Control de almacenamiento principal (Main Store Control, MSC):
interconecta las cachs
L2 y la memoria principal.
6 7 8 Organizacin y arquitectura de computadores
CP = Procesador central SCE = Elemento de control de sistema
MBA = Adaptador de bus de memoria SMI = Interfaz de memoria sncrona
MSC = Control de almacenamiento principal
Figura 18.6. Estructura del m u ltip roce sad or IB M z990.
Mdulos de memoria: cada mdulo dispone de 32 GB de memoria. La
memoria mxima que
se puede configurar consta de ocho mdulos de memoria, con lo que se tiene
una capacidad
mxima de 256 GB. Los mdulos de memoria se conectan al MSC a travs de
interfaces de
memoria sncronos (Synchronous Memory Interfaces, SMI).
Adaptador de bus de memoria (Memory Bus Adapter\ MBA): el MBA
proporciona una
interfaz a diversos canales de E/S. El trfico a, o desde, esos canales atraviesa
directamente la
cach L2.
El procesador utilizado en el z990 es relativamente peculiar si se compara con
otros procesadores
actuales debido a que, aunque es superescalar, ejecuta las instrucciones en el
orden estricto que marca
la arquitectura. Sin embargo, para compensar esto utiliza un cauce ms corto y
cachs y TLB mucho
Procesamiento paralelo 6 7 9
mayores que otros procesadores, junto con otras caractersticas que
contribuyen a mejorar las prestaciones.
El sistema z990 incluye entre uno y cuatro libros. Cada libro es una unidad que
consta de hasta
doce procesadores y hasta 64 GB de memoria, adaptadores de E/S y un
elemento de control de sistema
(SCE) que los conecta. El SCE que incluye cada libro tiene una cach L2 de 32
MB que acta
como punto de coherencia central para ese libro particular. Los procesadores y
los adaptadores de E/S
de cada libro tienen acceso tanto a la cach L2 como a la memoria principal de
ese libro o de cualquiera
de los otros tres que componen el sistema. El SCE y los chips de cach L2
tambin se conectan
con los elementos correspondientes de los otros libros a travs de conexiones
configuradas en anillo.
Hay una serie de caractersticas interesantes en el SMP z990 que pasamos a
discutir:
Interconexin conmutada.
Cachs L2 compartidas.
Interconexin conmutada. En los PC y las estaciones de trabajo de tipo SMP es
comn utilizar
una organizacin basada en un nico bus compartido (Figura 18.5). Con esta
organizacin, el
bus pasa a ser un cuello de botella que afecta a la escalabilidad (escalado de
las prestaciones cuando
se ampla el sistema) del diseo. El z990 se enfrenta a este problema de dos
formas. En primer
lugar, la memoria principal se distribuye en cuatro mdulos, cada una con su
propio controlador de
almacenamiento que puede gestionar los accesos a memoria a velocidades
elevadas. El trfico
de cargas desde memoria se reduce, gracias a los caminos independientes que
hay a las reas distintas
en las que se ha dividido la memoria. Cada bloque incluye dos mdulos de
memoria, con un
total de ocho mdulos en la configuracin mxima. En segundo lugar, la
conexin entre los procesadores
(desde la cach L2) y un mdulo de memoria no se lleva a cabo a travs de un
bus sino
mediante enlaces punto a punto. Cada microprocesador tiene un enlace a cada
una de las cachs L2
del libro, y cada cach L2 tiene un enlace, va MSC, a cada uno de los dos
mdulos de memoria del
mismo libro.
Cada cach L2 solo se conecta a los dos mdulos de memoria de su libro. El
controlador de sistema
proporciona los enlaces (que no se representan en la figura) a los otros libros
de la configuracin,
de forma que se pueda acceder a toda la memoria principal desde cualquier
procesador.
Las conexiones a los canales de E/S tambin se realizan a travs de enlaces
punto a punto en vez
de mediante buses. La cach L2 de cada libro se conecta al MBA de dicho libro.
A su vez, el MBS se
conecta a los canales de E/S.
Cachs L2 compartidas. E un esquema tpico de cach de dos niveles para un
SMP, cada procesador
tiene una cachs L1 y L2 propias. En los ltimos aos, ha aumentado el inters
en el concepto
de utilizar una cach L2 compartida. En una de las primeras versiones de sus
grandes SMP,
conocida como generacin 3 (G3), IBM utilizaba cachs L2 especficas para
cada procesador. En las
versiones ms recientes (G4, G5, y serie z900) se utilizan cachs L2
compartidas. Dos consideraciones
han causado este cambio:
1. En el cambio de la versin G3 a la G4, IBM pas a utilizar microprocesadores
con el doble
de velocidad. Si se hubiese mantenido la organizacin G3, se hubiese
producido un incremento
significativo del trfico a travs del bus. Al mismo tiempo, se deseaba utilizar
tantos
6 8 0 Organizacin y arquitectura de computadores
componentes de las versiones G3 como fuese posible. A no ser que se
mejorase significativamente
el bus, el MSC podra llegar a ser un cuello de botella.
2. El anlisis de las cargas de trabajo tpicas mostraba un nivel elevado de
instrucciones y datos
compartidos por los procesadores.
Estas consideraciones llevaron al equipo de diseo de la versin G4 a
considerar el uso de una o
ms cachs L2 compartidas por varios procesadores (cada procesador dispone
de una cach Ll interna).
A primera vista, compartir la cach L2 podra parecer una mala idea. El acceso
a memoria desde
los procesadores podra ser ms lento debido a que los procesadores deben
pugnar por el acceso a la
cach L2. Sin embargo, si de hecho varios procesadores comparten un elevado
volumen de datos, una
cach compartida puede incrementar el rendimiento en lugar de disminuirlo,
ya que los datos compartidos
que se encuentran en la cach compartida se obtienen ms rpidamente que si
se debiera
acceder a ellos a travs del bus. 4

Potrebbero piacerti anche