Está en la página 1de 3

http://ferestrepoca.github.io/paradigmas-de-programacion/paralela/paralela_teoria/index.

html
 Técnicas de compilación para mejorar el paralelismo entre instrucciones
 Ganancia de velocidad y prestaciones
El incremento de velocidad de un programa utilizando múltiples procesadores
en computación paralela está limitada por la fracción secuencial del programa.
Sea f el porcentaje paralelizado del programa expresado en decimal, la ley de
Amdahl dice que llega un punto en el cual sin importar que el numero de
procesadores sea muy alto , el speedup se va a comportar de manera lineal ;
esto de acuerdo al porcentaje que este paralelizado el codigo.

 Sistemas multiprocesador

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 dos programas 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.
 Sistemas de paso de mensajes

El modelo de paso de mensajes es el que define los métodos y funciones para poder
llevar a cabo el envío de un mensaje de un proceso emisor a un destinatario. Supone un
enfoque opuesto al paradigma tradicional en el cual los procesos, funciones y subrutinas
sólo podían ser llamados directamente a través de su nombre.

 Sistema de memoria compartida


Sistemas de memoria compartida: Todos los procesadores comparten una zona de memoria. Los
datos escritos en ella por un procesador son visibles al resto. Utilizan un modelo de programación
“de variables compartidas”.

 Comparación entre el paso de mensajes y la memoria compartida

También podría gustarte