Multiprocesadores


Un multiprocesador se puede ver como un computador paralelo compuesto por varios procesadores interconectados que pueden compartir un mismo sistema de memoria. Los procesadores se pueden configurar para que ejecute cada uno una parte de un programa o varios programas al mismo tiempo.

Generalidades de Multiprocesadores.

  • Pueden clasificarse en esta categoría muchos sistemas multiprocesadores y sistemas multicomputadores.
  • Un multiprocesador se define como una computadora que contiene dos o más unidades de procesamiento que trabajan sobre una memoria común bajo un control integrado.
  • Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simétrico; en el otro caso hablamos de multiprocesamiento asimétrico.
  • Todos los procesadores deben poder acceder y usar la memoria principal. De acuerdo a esta definición se requiere que la memoria principal sea común y solamente existen pequeñas memorias locales en cada procesador.
  • Si cada procesador posee una gran memoria local se lo puede considerar un sistema de multicomputadoras, el cual puede ser centralizado o distribuido.
  • Todos los procesadores comparten el acceso a canales de E/S, unidades de control y dispositivos.
  • Para el sistema de multiprocesamiento debe existir un sistema operativo integrado, el cual controla el hardware y el software y debe asegurar la interacción entre los procesadores y sus programas al nivel elemental de dato, conjunto de datos y trabajos.
  •  

    FORMAS DE ACOPLAMIENTO

    Existen dos modelos arquitectónicos diferentes para los sistemas multiprocesadores:

    Fuertemente acoplado y Débilmente acoplado.

    Los sistemas fuertemente acoplados se comunican a través de una memoria común. De allí que el promedio de velocidad con la cual un procesador puede comunicarse con otro es del orden del bandwidth de la memoria.


    Puede existir una pequeña memoria local o un buffer de alta velocidad (cache) en cada procesador.
    Existe una completa conectividad entre los procesadores y la memoria. Esta conectividad puede alcanzarse insertando una red de interconexión entre los procesadores y la memoria; o mediante una memoria multipuertas.


    Uno de los factores que limitan el crecimiento de los sistemas fuertemente acoplados es la degradación debido a la contención de memoria que ocurre cuando dos o más procesadores intentan acceder la misma unidad de memoria concurrentemente.


    Los sistemas multiprocesadores débilmente acoplados no tienen, en general, el grado de conflictos sobre la memoria de los fuertemente acoplados.


    En este sistema cada procesador tiene un conjunto de dispositivos de E/S y una gran memoria local a donde accede para obtener la mayoría de sus datos e instrucciones.


    Nos referiremos al procesador, sus dispositivos de E/S y su memoria local como al módulo computador.
    Los procesos que se ejecutan en diferentes procesadores se comunican intercambiando mensajes a través de un sistema de transferencia de mensajes.

    El grado de acoplamiento en tales sistemas es realmente muy débil, de allí que se los conozca también como sistemas distribuidos.
    Los sistemas débilmente acoplados son eficientes cuando la interacción entre las tareas es mínima.

    La figura siguiente muestra un ejemplo de un módulo computador de un multiprocesador débilmente acoplado no jerárquico. Consiste en un procesador, una memoria local, dispositivos de E/S locales y una interfase a otros módulos computadores.