domingo, 1 de marzo de 2015

Multiprocesadores y multicomputadores

Multiprocesadores y multicomputadores

Los multicomputadores propiamente dichos son los sistemas formados a partir de una granja de ordenadores, habitualmente con las mismas capacidades y características de rendimiento. De esta manera, las tareas se pueden distribuir entre los diferentes ordenadores que integran la granja y hacer el trabajo más rápido. Por ejemplo, en una productora de cine de animación por ordenador, una escena se podría dividir en pequeños trozos, y cada uno de ellos pasaría a ser tratado por un ordenador. Por otra parte, con sistemas multicomputador se pueden llegar a atender peticiones de miles de usuarios. Por ejemplo, los grandes servicios de búsqueda de Internet disponen de decenas de miles de ordenadores para atender los millones de peticiones que reciben cada minuto.


Ejemplo de multicomputación

Los ordenadores personales con procesadores de varios núcleos son un ejemplo de multicomputación. Un microprocesador de doble núcleo contiene duplicados muchos de los elementos que forman un procesador, es decir, es como tener dos microprocesadores en uno. De esta manera, si se están realizando dos tareas al mismo tiempo (por ejemplo, trabajando con el campus virtual de la UOC y generando un pase de fotografías para ser registrado en un DVD), cada uno de los procesadores se dedicará a una de las tareas. En un sistema con un único procesador, al igual que los primeros ordenadores principales, se tardaría mucho más tiempo que con dos núcleos.

Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores (CPUs).
Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.
Los ordenadores multiprocesador presentan problemas de diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dosprogramas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
  • La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria.
  • La arquitectura SMP, donde todos los procesadores comparten toda la memoria.


Esta última debe lidiar con el problema de la coherencia de caché. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una dirección de memoria, lo hace únicamente sobre su copia local en caché. Si otro microprocesador tiene almacenada la misma dirección de memoria en su caché, resultará que trabaja con una copia obsoleta del dato almacenado.
Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseñado para ello. La mayoría de los sistemas operativos actuales poseen esta capacidad.

No hay comentarios.:

Publicar un comentario