Estado Del Arte Computacion Paralela y Distribuida
Estado Del Arte Computacion Paralela y Distribuida
Estado Del Arte Computacion Paralela y Distribuida
1, MAYO 2016
1.
I NTRODUCCION
N los anos
50, empezo a surgir el procesamiento paralelo . El objetivo en esa
e poca era construir una maquina con capacidad computacional 100 veces mayor de la
de cualquier otra maquina disponible. En esos
anos
empezaron producir los dos primeros
productos: los supercomputadores conocidos
como STRETCH y LARC. En paralelo a estas iniciativas, muchas otras producen computadores con las arquitecturas mas variadas y
con diferentes tipos de software. Las princi de maquipales razones para la construccion
nas paralelas son: disminuir el tiempo total
de una aplicacion,
conseguir rede ejecucion
solver problemas mas complejos, de grandes
dimensiones, y proporcionar concurrencia, o
simultanea de tareas,
sea, permitir la ejecucion
red distribuida(
en otras ventajas utilizacion
WAN o la propia internet) esto nos permite disminuir costos, en vez de pagar para utilizar un
supercomputador, podramos utilizar recursos
baratos disponibles remotamente, para problemas de grandes dimensiones, usar memorias
de varios computadores permite resolver el
de memoria presente
problema de la limitacion
J. Fernandez es estudiante de Informatica, Escuela de Informatica,
Universidad Nacional de Trujillo, La Libertad, Peru.
E-mail: jcferseg@gmail.com
J. Reyes es estudiante de Informatica, Escuela de Informatica,
Universidad Nacional de Trujillo, La Libertad, Peru.
Articulo recivido el 31 de Mayo, 2016; revisado 31 Mayo, 2016.
en una unica
maquina. Ademas de esto, po
2. Q UE ESTUDIA LA C OMPUTACION
PARALELA Y D ISTRIBUIDA ?
un unico
paquete, o completar una transaccion.
COMPUTACION PARALELA Y DISTRIBUIDA, ESTADO DEL ATRE, VOL. 1, NO. 1, MAYO 2016
-Consenso: Acuerdo entre dos o mas actividades alrededor de un predicado dado; Por
de
ejemplo, el valor de un contador, el dueno
de un hilo.
una cerradura, o la terminacion
-Consistencia: Las reglas y propiedades que
rigen acuerdo acerca de los valores de las
variables escritos o mensajes producidos, por
parte de algunas actividades y usada por otros
(por lo tanto, posiblemente, exhibiendo una
carrera de datos); por ejemplo, la consistencia
secuencial, que indica que los valores de todas las variables de un programa paralelo de
memoria compartida son equivalentes a la de
de algun
un unico
programa de la realizacion
entrelazado de accesos a la memoria de estas
actividades.
-Multicast: Un mensaje enviado a varios des
tinatarios, posiblemente, en general, sin ningun
tipo de restricciones acerca de si algunos de
los destinatarios reciban el mensaje antes que
otros. Un evento es un mensaje de multidi enviado a un conjunto designado de
fusion
oyentes o suscriptores.
2.1. Fundamentos del Paralelismo
En esta a rea se estudia todos los fundamentos del paralelismo como por ejemplo: calculos
simultaneos multiples;
los objetivos del para y coordinacion
como
lelismo; la comunicacion
Los
por ejemplo la necesidad de sincronizacion;
que no se encuentran
errores de programacion
secuencial o carreras de
en la programacion
datos.
paralela
2.2. Descomposicion
basada en ta- 2.3.3. Redes de Interconexion
Se estudia la descomposicion
o como hilos,
reas, estrategias de aplicacion
Las maquinas paralelas pueden clasificarse
Data-paralelo, estrategias tales
descomposicion
si es directa
tomando
en cuenta la conexion:
como SIMD y MapReduce.
entre los procesadores (normalmente la red de
es estatica) o a traves de bancos
interconexion
y Coordinacion
2.3. Comunicacion
de memorias compartidos (en este caso, la red
es generalmente dinamica)
Las maquinas paralelas se caracterizan por de interconexion
replicar algunos de sus componentes: unidades
- Memoria compartida: Los procesos tienen
de procesamiento, unidades de control, etc. acceso a la misma memoria fsica. Los procesos
COMPUTACION PARALELA Y DISTRIBUIDA, ESTADO DEL ATRE, VOL. 1, NO. 1, MAYO 2016
en multiples
procesadores. Esto es conocido sucede en la realidad, ya que a partir de un
cierto numero
de procesadores los excesivos
como la ley de Amdahl.
intercambios de mensajes de control y de transferencia de datos entre los procesadores, pro2.5. Arquitectura Paralela
en el sistema, lo
vocan un efecto de saturacion
nucleo,
el procesamiento vectorial, el procesa- relacion
y
la
minimizaci
on
de
los
intercambios
entre los
miento simetrico(SMP), y los accesos de memoprocesadores.
Existen
otros
aspectos
que
juegan
rias UMA y NUMA.
un papel importante para optimizar el rendimiento en un sistema Distribuido/Paralelo,
2.5.1. Taxonomia de Flynn
como es el equilibrio de la carga de trabajo, y
-SISD(Single Instruction, Single Data): un
del numero
la minimizacion
de operaciones de
unico
programa es ejecutado usando solamenentradas/salidas, entre otros.
te un conjunto de datos especficos a e l. SIMD(Single Instruction, Multiple Data): un
simple controlador enva las instrucciones, una 2.7. Sistemas Distribuidos
Un sistema distribuido se define como una
a una, a un arreglo de procesadores que ope de computadoras separadas fsicaran en el esquema maestro-esclavo. Es de- coleccion
cir, las instrucciones son difundidas desde la mente y conectadas entre s por una red de
memoria a un conjunto de procesadores. As, comunicaciones; cada maquina posee sus comcada procesador es simplemente una unidad ponentes de hardware y software que el pro
aritmetica-logica
y se tiene una sola unidad gramador percibe como un solo sistema (no nede control. -MISD(Multiple Instruction, Single cesita saber que cosas estan en que maquinas).
Data): La idea es descomponer las unidades El programador accede a los componentes de
de procesamiento en fases, en donde cada una software (objetos) remotos, de la misma mase encarga de una parte de las operaciones a nera en que accedera a componentes locales,
COMPUTACION PARALELA Y DISTRIBUIDA, ESTADO DEL ATRE, VOL. 1, NO. 1, MAYO 2016
logartmica,
atomica
- Modelos de progresion
3. P ROSPECTIVA DE LA C OMPUTACION
computo
paralelo, el desarrollo de aplicaciones que explotan paralelismo ha ido cambiando paulatinamente su foco. Desde las clasicas
aplicaciones numericas en supercomputadores
de alto rendimiento, hacia las aplicaciones de
de
streaming multimedia, y la computacion
proposito
general en cualquier a mbito. Hoy por
hoy interesa explotar el paralelismo tanto de
algoritmos basicos como de complejos programas modulares. Las nuevas aplicaciones paralelas muestran diferentes niveles de paralelis
mo, con diferentes estrategias de paralizacion.
Muchas aplicaciones muestran comportamientos dinamicos, dependientes de datos, donde
las polticas de balanceo automatico de carga
son claves. A su vez, las aplicaciones deberan
ser flexibles, para poder ejecutarse en entornos
COMPUTACION PARALELA Y DISTRIBUIDA, ESTADO DEL ATRE, VOL. 1, NO. 1, MAYO 2016
unos 20 anos
veremos como las arquitecturas
de computadoras van a cambiar, veremos que
una computadora ya no se compondra de 2 ,3
o 4 nucleos,
sino de 30 o 40 nucleos,
es mas
ya no usaremos una placa madre, sino tal vez
dos o tres a la vez; estos avances se veran
forzados a llevar el software a otro nivel, y con
estos avances deben surgir nuevas tecnologas
de software. Para poder aprovechar estas ar seran lenguaquitecturas la principal aparicion
y compiladores paralelos
jes de programacion
nativos, dejaremos de lado a los compilado
res que ejecutan codigo
de manera secuencial
y las libreras que ayudan al paralelismo de
lenguajes secuenciales tambien desapareceran.
Los algoritmos deberan ser implementados de
manera paralela y aqu el analisis de algoritmos
sera clave, as como tambien su rendimiento y
complejidad. Otra de las a reas que se van a
beneficiar sera el procesamiento grafico, pues
paralela y las nuevas arcon la computacion
quitecturas sera mas sencillo poder representar
graficos cada vez mas ntidos sin mucho esfuer en la nube, los sistemas
zo. La computacion
distribuidos y las supercomputadoras tambien
se veran beneficiadas con este avance, ya que la
4.
C ONCLUSION
R EFERENCIAS
[1] Aguilar, J., Leiss, E. (2004). Introduccion a la Computacion
Paralela. Merida, Venezuela: Graficas Quinteto.
Jordy Reyes Julca Estudiante de la carrera profesional de Informatica, en la Universidad Nacional de Trujillo.
PLACE
PHOTO
HERE