Professional Documents
Culture Documents
Materia:
Arquitecturas Avanzadas y Paralelas
Trabajo:
Segundo examen parcial: Programacin paralela a travs de openOMP
y MPI
Titular de la materia:
M. en C. Adauto Israel Ortiz Romero
Alumnos:
Alba Jurez Jos Norberto
Macias Igari Rubn
Rodrguez Meza Juan Antonio
Enero 2016
Segundo examen parcial
-1-
Segundo examen parcial
Introduccin.
Debido a la necesidad de resolver problemas de mayor grado de complejidad
como lo son: problemas relativos a ingeniera, investigacin, modelos
econmicos, simulaciones de procesos etc., por medio de computadoras, es que
surge lo que hoy en da se conoce como cmputo paralelo. La idea principal
radica en el uso concurrente de procesadores, es decir, en lugar de utilizar un
procesador para resolver una tarea, siempre y cuando esta tarea pueda dividirse
en tareas ms pequeas, se utilizan varios procesadores que trabajan de
manera paralela para resolver ms rpido mencionadas tareas.
El contorno de este trabajo se muestra como sigue. Primero, se da el concepto
de programacin paralela mediante openOMP y MPI, as como alguna de sus
caractersticas. Despus, se presentan dos programas uno mediante openOMP,
para resolver la tarea del clculo de PI. De igual forma, se presenta un programa
por MPI para la multiplicacin de matrices. Seguido a esto, se muestran los
tiempos de ejecucin para diferentes nmeros hilos para openOMP y procesos
para MPI. Finalmente, se presentan las conclusiones.
Es un lenguaje estandarizado.
Es portable.
Coordinar la ejecucin de un programa en mltiples procesadores con
memoria distribuida.
Amplia funcionalidad.
Existencia de implementaciones libres.
Los procesos invocan diferentes funciones MPI que permiten:
Iniciar, gestionar y finalizar procesos MPI.
Comunicar datos entre dos procesos.
-2-
Segundo examen parcial
Calculo de PI
El clculo del nmero de PI puede ser resuelto usando diferentes metodologas.
Para este ejemplo en particular se utiliz la siguiente integral definida: =
1 1
0 1+2 . Para resolver dicha integral se utiliz el mtodo de la suma de Riemman.
Gracias a que la solucin de la integral antes mencionada puede ser aproximada
utilizando sumatorias, entonces la solucin de la integral puede ser una tarea
paralelizable, y por tanto programable utilizando open OMP. A continuacin se
presenta el programa realizado en openOMP.
Multiplicacin de Matrices
El programa de multiplicacin de matrices, realiza los siguientes pasos en
general. a) Se inicializa el tamao de las matrices, b) se rellenan las matrices
matrix1 y matrix2 con valores de 1 y 2, respectivamente, c) se divide la tarea en
varios procesos, d) se reparte el clculo de las operaciones y d) finalmente, se
renen los resultados obtenidos para mostrar el resultado final. El programa de
multiplicacin de matrices se muestra a continuacin:
-3-
Segundo examen parcial
-4-
Segundo examen parcial
Tiempo de ejecucin.
La Figura 1 muestra los tiempos obtenidos para el clculo de PI usando
openOMP. Por otro lado, la Figura 2 presenta los tiempos de ejecucin para la
multiplicacin de matrices utilizando programacin MPI.
Conclusiones
Como puede apreciarse en las Figuras 1 y 2, los tiempos de ejecucin de los
programas (compilados en una mquina virtual), varan. Por ejemplo para el
caso de openOMP se hicieron pruebas para 2, 6, 10 y 14, aqu se puede apreciar
una gran reduccin del tiempo de ejecucin usando 2 hilos, en comparacin con
14 hilos. Para este caso en particular la reduccin del tiempo fue de 10 segundos
aproximadamente. Por otro lado, para para el segundo caso usando MPI,
tambin existe un reduccin en los tiempo de ejecucin.
-5-
Segundo examen parcial
Referencias
[1]http://ocw.uc3m.es/ingenieria-informatica/arquitectura-de-computadores-
ii/otros-recursos-1/or-f-008.-curso-de-openmp. Recuperado: 8 de enero de
2016.
[2]http://www.sc-camp.org/2011/_pdf/OpenMP%20
%20sccamp%202011.pdf. Recuperado: 8 de enero de 2016.
[3] http://atc2.aut.uah.es/~rduran/Areinco/pdf/n_tema7.pdf. Recuperado: 10
de enero 2016.
[4]http://mmc.geofisica.unam.mx/acl/femp/HPC/MPI/MPIBasico2.pdf.
Recuperado: 10 de enero 2016.
-6-