Es un sistema de cómputo en el que dos o más CPUs comparten todo el acceso a una RAM común.
Hardware de multiprocesador
UMA
Multiprocesadores UMA con
arquitecturas basadas en bus
Dos o más CPUs y
uno o más módulos
de memoria utilizan
el mismo bus para
comunicarse.
Los
multiprocesadores
más simples se
basan en un solo
bus
Multiprocesadores UMA que
utilizan interruptores de
barras cruzadas
Los interruptores de barras
cruzadas se han utilizado por
décadas en los puntos de
intercambio de los
conmutadores telefónicos
para conectar un grupo de
líneas entrantes a un
conjunto de líneas salientes
de manera arbitraria.
Hay un punto de cruce,
el cual es un pequeño
interruptor que puede
estar abierto o cerrado
en sentido eléctrico,
Multiprocesadores
UMA que utilizan
redes de conmutación
multietapa
Nuestros conmutadores de
2 2 se pueden organizar
de muchas formas para
construir redes de
conmutación multietapa
más grandes
El patrón de cableado de la red
omega se conoce comúnmente
como barajado perfecto
NUMA
Las máquinas NUMAposeen tres
características clave que, en conjunto, las
distinguen de otros multiprocesadores
1. Hay un solo espacio de
direcciones visible para todas las
CPUs. 2. El acceso a la memoria
remota es mediante
instrucciones LOAD y STORE. 3.
El acceso a la memoria remota
es más lento que el acceso a la
memoria local.
Chips multinúcleo
A los chips multinúcleo se les
conoce algunas veces como
CMPs
los CMPs no son en realidad tan
distintos de los multiprocesadores
basados en bus, o de los
multiprocesadores que utilizan
redes de conmutación
Tipos de sistemas operativos multiprocesador
Cada CPU tiene su propio
sistema operativo
Las n CPUs operan
entonces como n
computadoras
independientes.
Multiprocesadores
maestro-esclavo
La CPU 1 es el
maestro y todas
los demás son los
esclavos.
Multiprocesadores
simétricos
Equilibra los procesos y la
memoria en forma dinámica, ya
que sólo hay un conjunto de
tablas del sistema operativo.
Sincronización de multiprocesadores
Se necesitan primitivas de sincronización apropiadas
Comparación entre espera activa
y conmutación
La espera activa desperdicia ciclos de la
CPU de manera directa; evaluar un
bloqueo en forma repetida no es un
trabajo productivo
Planificación de multiprocesadores
Planificacion por pandilla
La planificación por
pandilla consta de tres
partes:
1. Los grupos de hilos relacionados se
programan como una unidad, o pandilla. 2.
Todos los miembros de una plantilla se
ejecutan en forma simultánea, en distintas
CPUs de tiempo compartido. 3. Todos los
miembros de la pandilla inician y terminan
sus intervalos en conjunto.
Espacio compartido
A la planificación de varios hilos al mismo
tiempo, esparcidos sobre varias CPUs, se le
conoce como espacio compartido
Tiempo compartido
un hilo que adquiere un bloqueo de espera activa
establece una bandera a nivel de proceso, para
mostrar que actualmente tiene un bloqueo de espera
activa