You are on page 1of 2

ANLISIS

1. Comunicaciones
En la programacin paralela algunos programas se pueden
descomponer y ejecutar paralelamente sin que las tareas
estn compartiendo datos. Se determinan las comunicaciones
necesarias (en forma de estructuras de datos necesarias,
protocolos, y algoritmos), para coordinar la ejecucin de las
tareas.

Las comunicaciones generan una sobrecarga, por lo que


requieren un tipo de sincronizacin entre tareas, para que
estas no estn inactivas al momento de que exista una
comunicacin. Existen dos tipos de comunicacin:
comunicacin sncrona y comunicacin asncrona. En las
comunicaciones sncronas las tareas deben esperar a que las
comunicaciones terminen y en las comunicaciones asncronas
no es necesario esperar, ya que se pueden realizar las tareas
mientras haya comunicaciones.

Existe la latencia frente al ancho de banda en las


comunicaciones, y esta consiste en el tiempo que tarda una
comunicacin en enviar cierta cantidad de informacin.
Tambin est el mbito en las comunicaciones, que son de
punto a punto y colectivas El mbito punto a punto es una
comunicacin desde un participante emisor a otro como
receptor y el mbito colectivo comparte datos entre varias
tareas mientras se encuentren en un mismo grupo.

2. Sincronizacin
La sincronizacin implica ejecutar o esperar en un orden
determinado para que no se ejecuten ciertas tareas en partes
primordiales de un programa. Por esta razn es necesario que
un hilo espere a que el otro hilo realice su ejecucin en la
seccin crtica de un programa.

Una barrera implica que todas las tareas estn involucradas.


Cuando las tareas alcanzan la barrera, estas se paran o
bloquean, y una vez que la ltima tarea alcanza la barrera,
esto significa que todas las tareas estn sincronizadas.

Un cerrojo o semforo implica a varias tareas, lo que significa


que una sola tarea utiliza en cada momento un semforo. Una
vez que la primera tarea consigue un cerrojo, lo marca, y de
esta forma la tarea puede acceder de manera segura al
cdigo protegido.

3. Dependencias de datos
Se entiende que existe cierta dependencia entre las acciones
que realiza un programa durante su ejecucin, ya que estas
mismas acciones pueden comprometer la estabilidad de un
programa. Es por esto que es importante mencionar que si
varias tareas hacen usos mltiples de las mismas direcciones
de almacenamiento, esto quiere decir que existe una
dependencia de datos.

Las dependencias son los que evitan una alteracin en un


programa paralelo. Cabe mencionar que los bucles de datos
son los principales objetivos de los trabajos paralelos, y por
esta razn es importante que las dependencias se guen en
ellos.

You might also like