You are on page 1of 19

Introduccin a la

Computacin Paralela
Necesidad de la computacin paralela
Qu es la programacin paralela?
Modelos de computadores
Evaluacin de los computadores
paralelos

Necesidad de la
Computacin Paralela
O La velocidad de los computadores

secuenciales convencionales se ha
incrementado continuamente para
adaptarse a las necesidades de las
aplicaciones

O Simultneamente hay una demanda

continua de un poder computacional


superior
O Modelado y simulacin numrica de

problemas en ciencias e ingeniera


O Costosos clculos iterativos sobre

grandes cantidades de datos y fuertes


restricciones temporales:

O Ejemplos: prediccin meteorolgica,

biocomputacin, astrofsica
O Son sistemas cada vez ms

complejos que requieren mayor


tiempo de cmputo

Necesidad de la
Computacin Paralela
O Siempre habr aplicaciones que

requieren ms poder computacional


O La relacin coste/prestaciones se

hace desfavorable si se pretende


incrementar ms an la potencia de
los computadores secuenciales.

O Adems, el rendimiento de los

computadores secuenciales est


comenzando a saturarse.
O En todo caso hay lmites para una

nica CPU
Memoria disponible
Prestaciones
O Solucin: Usar varios procesadores.

Sistemas paralelos Con la tecnologa


VLSI, el costo de los procesadores es
menor

O Muchas posibilidades:

Pipeline
Cachs
Paralelismo a nivel de instruccin
Ejecucin fuera de orden
Especulacin
Varios procesadores en un chip
LAN de altas prestaciones

Qu es la programacin
paralela?
O Uso de varios procesadores

trabajando juntos para resolver una


tarea comn
O El modo de uso de los procesadores

puede ser diseado por el


programador:

O Cada procesador trabaja en una

porcin del problema.


O Los procesos pueden intercambiar

datos, a travs de la memoria o por


una red de interconexin.

Ventajas de la Computacin
Paralela
O La programacin paralela permite:
O Resolver problemas que no caben en

una CPU
O Resolver problemas que no se

resuelven en un tiempo razonable

Aspectos a considerar
O Diseo de computadores paralelos.

Escalabilidad y Comunicaciones.
O Diseo de algoritmos eficientes. No

hay ganancia si los algoritmos no se


disean adecuadamente.

O Mtodos para evaluar los algoritmos

paralelos:
O Cmo de rpido se puede resolver

un problema usando una mquina


paralela?
O Con qu eficiencia se usan esos

procesadores?

O Lenguajes para computadores

paralelos, flexibles para permitir una


implementacin eficiente y que sean
fciles de programar.
O Herramientas para la programacin

paralela.
O Programas paralelos portables.
O Compiladores paralelizantes.

Tipos de computadores
O SISD: Computador secuencial. Un

procesador y una memoria. Computador


secuencial.
O SIMD: Mquina con varios procesadores

pero una nica Unidad de Control.


Computador vectorial.
O MIMD: Mquina con varios procesadores

completos. Computador paralelo.

You might also like