Documentos de Académico
Documentos de Profesional
Documentos de Cultura
los Sistemas
Paralelos
Algoritmos
Concurrentes y
Paralelos
1
1. Introducción
Tradicionalmente, para resolver un problema el software se planteaba
dividiéndolo en una serie discreta de instrucciones que se ejecutaban
secuencialmente, en un solo procesador y donde solo se podía ejecutar una
instrucción en cada momento.
Una computadora
paralela está formada
por un conjunto de
procesadores que
pueden trabajar de
manera cooperativa en
la resolución de
problemas Fuente: elaboración propia.
computacionales que
requieren elevado
tiempo de cómputo. En la programación paralela se hace uso simultáneo de múltiples elementos
Esta definición es lo de procesamiento para resolver un problema a través de un software, es
suficientemente decir que para resolver un problema se divide en partes discretas e
amplia como para independientes, pero que pueden resolverse en forma simultánea. Cada
incluir
parte se resuelve mediante una serie de instrucciones que se ejecutan en
supercomputadoras
con múltiples forma simultánea al resto en procesadores diferentes y empleando un
procesadores, redes mecanismo general de control y coordinación. Las variantes de una
de estaciones de computadora con múltiples procesadores, varios ordenadores en red,
trabajo, estaciones de hardware especializado o cualquier combinación de los ejemplos anteriores
trabajo con múltiples
son algunas de las presentaciones de los recursos usados para el
procesadores y
sistemas integrados. procesamiento de estas partes en simultáneo.
Las computadoras
paralelas son
interesantes porque
Desde mediados de los 80 hasta el 2004, las mejoras en el rendimiento de
ofrecen la posibilidad las computadoras se basaron en el aumento de la frecuencia de reloj. Este
de concentrar los aumento de frecuencia de reloj, manteniendo todo lo demás constante,
recursos reduce a su vez el tiempo medio en que se ejecuta una instrucción y, en
computacionales, ya consecuencia, se reduce el tiempo de ejecución de los programas. El tiempo
sean procesadores,
memoria o ancho de
de ejecución de un programa se obtiene como producto entre el tiempo
banda, sobre todo en promedio por instrucción y el número de instrucciones que tiene el
problemas programa.
computacionales
importantes.
2
Ahora bien, el aumento de la frecuencia del procesador trae como
consecuencia el aumento de la cantidad de energía necesaria para el
procesador. El fin del paradigma dominante en la arquitectura de las
computadoras fue la cancelación en 2004 de los proyectos de Intel
conocidos como procesadores Tejas y Jayhawk, por considerar inviable la
cantidad de energía que utilizaban estos procesadores.
3
L1, caché L2, rama, captación previa, decodificación, punto flotante,
procesamiento de gráficos [GPU], entero, etc.), múltiples unidades o núcleos
de ejecución, múltiples hilos de hardware, etcétera.
4
Figura 4: Cluster de computadoras
5
2. Razones de la computación
paralela
El mundo real es paralelo, muchos eventos complejos e interrelacionados
están sucediendo al mismo tiempo, pero dentro de una secuencia temporal.
En comparación con la computación en serie, la computación en paralelo es
mucho más adecuada para modelar, simular y comprender fenómenos
complejos del mundo real.
1
Ver más en https://en.wikipedia.org/wiki/Grand_Challenges
6
ejemplo es el de los buscadores web o las bases de datos que procesan
millones de transacciones cada segundo.
Durante los últimos 20 años o más, las tendencias en redes cada vez más
rápidas, los sistemas distribuidos y las arquitecturas de computadora
multiprocesador (incluso a nivel de escritorio) muestran claramente que el
paralelismo es el futuro de la computación.
7
3. Aplicaciones de la
computación paralela
Históricamente, la computación paralela ha sido considerada como el
extremo superior de la computación y se la ha utilizado para modelar
problemas difíciles en muchas áreas de la ciencia y la ingeniería, tales como:
Fuente: [Imagen sin título sobre aplicaciones de la computación paralela]. (s. f.). Recuperada de
https://goo.gl/Ga8KZb
8
La computación paralela se está utilizando en todo el mundo, en una amplia
variedad de aplicaciones. Las aplicaciones comerciales proporcionan una
fuerza motriz en el desarrollo de computadoras más rápidas. Estas
aplicaciones requieren el procesamiento de grandes cantidades de datos de
manera sofisticada:
9
Referencias
[Imagen sin título sobre aplicaciones de la computación paralela]. (s. f.).
Recuperada de
https://computing.llnl.gov/tutorials/parallel_comp/images/simulations01.j
pg
10