Multiprocesamiento

17
Multiprocesamiento

description

Esta presentacion explica un poco sobre multiprocesamiento.

Transcript of Multiprocesamiento

Page 1: Multiprocesamiento

Multiprocesamiento

Page 2: Multiprocesamiento

Multiprocesamiento

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).

Page 3: Multiprocesamiento

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. 

Page 4: Multiprocesamiento
Page 5: Multiprocesamiento

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.

Page 6: Multiprocesamiento
Page 7: Multiprocesamiento

Multithreading

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.

Page 8: Multiprocesamiento

División de las Tareas

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.

Page 9: Multiprocesamiento

Hardware

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

Page 10: Multiprocesamiento
Page 11: Multiprocesamiento
Page 12: Multiprocesamiento

APIC Intel

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.

Page 13: Multiprocesamiento

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

Page 14: Multiprocesamiento

Migrando de una CPU para dos

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.

Page 15: Multiprocesamiento

Escalonabilidad

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.

Page 16: Multiprocesamiento

Memória para SMP

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.

Page 17: Multiprocesamiento

Procesadores

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.