El documento describe los conceptos de multiprocesamiento, incluyendo las ventajas de tener más de un procesador como aumento de capacidad de procesamiento, compartir periféricos y memoria, y tolerancia a fallas. Explica los diferentes tipos de multiprocesamiento como simétrico y asimétrico, y los requisitos para que un sistema operativo y hardware soporten multiprocesamiento de manera efectiva.
2. Mas de um procesador conectado al
barramento:
Aumento de capacidad de procesamiento.
Compartir periféricos y memoria.
Tolerancia a fallas.
Procesamiento Paralelo.
Sistema de detención de fallas:
Duplicación de hardware (2 procesadores).
3. Envuelve dos o mas procesadores fisicos o logicos
(procesador(es) con la tecnologia HyperThreading de Intel)
con el mismo poder computacional, y cada uno es capas de
ejecutar procesos autonomamente. Esto implica que no hay
ninguna unidad central de control; cada procesador
contiene su propia unidad de control. Asi, efectivamente,
la lógica de control es distribuida por el sistema.
Los procesadores comparten un unico espacio
de direccionamiento de memória.
El sistema de hardware es como un todo jerenciado por un
único sistema operacional.
El sistema operacional con soporte a multiprocesamiento debe
ser capaz de:
Soportar multitarea;
Manter múlltiples filas de procesos, una para cada
procesador.
4.
5. Multiprocesamiento Simétrico:
Copias del sistema operacional en cada procesador.
Comunicación entre los procesadores.
Escalonamiento de tareas para las CPU.
Multiprocesamiento Asimétrico:
Un procesador maestro controla el sistema.
Cada procesador con una tarea.
Los Procesadores pueden tener tareas pré-
definidas.
6.
7. Un thread es el conjunto de mensajes
desencadenados a partir de uno principal.
La prioridad de procesamiento de cada thread
depende del sistema operacional.
La posibilidad de crear subtareas dependen del
sistema operacional.
8. La ventaja de contar con mas de un procesador es
que habrá mas tempo de procesamiento disponible y,
además de eso, los threads podrán ser ejecutados
realmente de forma paralela.
Una línea de código tipo (a * b) + (c * d) pueden tener
los productos separados por el sistema operativo que
a su vez entrega cada operación a un procesador y
al final entrega la suma a uno de ellos
Desde que el sistema operativo sepa designar tareas
a cada procesador, múltiples aplicaciones en
ejecución (multitasking) serán beneficiadas.
9. Tanto los procesadores como la placa madre deben
ser adecuados para implementación de
multiprocesamiento.
En la placa-madre, la BIOS y el chipset necesitan ser
especialmente preparados, bien como diversas
interconexiones que serian desnecesarias en una
placa-madre para un único procesador. En el caso
de las placas madres con chipsets Intel, un nuevo
circuito es adicionado, la llamada IOAPIC
(Input/Output Advanced Programmable Interrupt
Controller – controladora de interrupciones
programables avanzada de entrada e salida). La
IOAPIC utilizada con los sistemas 486 y Pentium es
la de código 82849DX
10.
11.
12. En los sistemas con mas de un CPU, debe haber
una manera de interceptar o identificar las
interrupciones para los procesadores correctos.
Por ejemplo, cada presión de una tecla en el
teclado genera una interrupción.
En el proyecto de Intel, tanto la placa madre
como el procesador poseen APIC. Ambas se
comunican por medio de un barramento de dos
vías.
13. Todos los procesadores se conectan a este
barramento y es por medio de el que las APIC
locales saben cuando las informaciones son
direccionadas a determinada CPU. Otro objetivo
de la IOAPIC es el de seleccionar el procesador
mas desocupado para hacer que el se haga
cargo de la interrupción recién activada. La
IOAPIC 82903AA soporta hasta 15 procesadores
14. Cuando se tiene un SO con soporte a
multiprocesamiento ya instalado en un sistema de
monoprocesamiento con una placa madre que
soporta dos CPU, puede ocurrir problema al
incrementar el numero de procesadores, ya que
el reconocimiento no es automático y necesitara
reinstalar o hacer algunas configuraciones
manuales del SO.
15. El parámetro indica cuantos procesadores el
sistema soporta como máximo. Ella puede variar
con el hardware y también con el sistema
operativo.
Se dice que un sistema escalona bien hasta N
procesadores, en donde N é un limite superior.
Por ejemplo, según Red Hat (una distribuidora de
Linux), los sistemas Intel SMP escalonan bien
hasta 4 procesadores, a pesar del limite máximo
de la IOAPIC ser de 15 procesadores.
16. A pesar de compartida, la memoria que parece
ser suficiente para apenas un procesador puede
ser insuficiente para un sistema multiprocesado.
Algunos programas hasta poseen opciones para
activar soporte al multiprocesamiento, lo que
obviamente indica que la creación de mas
threads será incentivada.
Cualquier ganancia en la frecuencia del
barramento será bienvenida.
17. Además del soporte al compartimiento de
recursos, una exigencia casi siempre constante,
es que los procesadores sean lo mas idéntico
posible. En la mayoría de las placas madres eso
es forzado por el propio método de configuración.
Como consideración final, es bueno alertar que el
desempeño de un sistema multiprocesado puede
no compensar el poder de uno único y mas
potente.