Análisis del desempeño de aplicaciones paralelas con openMP en dispositivos móviles multicore, caso de estudio: multiplicación de matrices

Jimmy Josué Peña Koo, Luis Fernando Curi Quintal

Resumen


El presente trabajo analiza el desempeño de procesadores multicore en dispositivos móviles al ejecutar una aplicación paralela implementada con OpenMP y C. La arquitectura multicore ha sido la respuesta de los fabricantes de microprocesadores a los problemas de eficiencia energética que se presentan al incrementar la frecuencia del reloj para incrementar el desempeño de procesadores de un solo núcleo. Esta arquitectura reúne varias unidades de procesamiento energéticamente eficientes en un solo microprocesador. Sin embargo para explotar el potencial del conjunto de núcleos, las aplicaciones deberán diseñarse bajo el paradigma de computación paralela. Se aplicó una metodología de programación multi-hilos, propuesta por Intel, para la implementación de una aplicación que multiplica matrices en paralelo. Esta aplicación se ejecutó en tres diferentes dispositivos móviles. Los resultados obtenidos muestran un incremento en el desempeño de la aplicación al incrementar el número de núcleos que participan en la ejecución, con un nivel de eficiencia del sistema de al menos el 88% en un procesador quad-core.
Palabras Clave: Android, NDK, OpenMP, Programación Paralela.

Texto completo:

6-17 PDF

Referencias


Amdahl, G. (2013, December). Computer Architecture and Amdahl's Law. Computer, 46, pp. 38-46.

Ableson, F., Sen, R. & King, C. (2011). Android: Guía para desarrolladores, 2ª Edición. España: Anaya Multimedia.

Basheer, D. & Al-Hafidh, M. (November, 2013). Developing Parallel Application on Multi-core Mobile Phone. International Journal of Advanced Computer Science and Applications, 4, pp. 89-93.

Carroll, A. & Heiser, G. (June, 2010). An analysis of power consumption in a smartphone. in Proc. of USENIX. Boston, USA. p. 21.

Chapman, B., Jost, G. & van der Pas, R. (2008). Using OpenMP. Portable Shared Memory Parallel Programming. USA: The MIT Press.

D. an Mey. (2015). OpenMP Application Program Interface. agosto 15, 2015, de The Community of OpenMP Sitio web: http://www.compunity.org/

Guihot, H. (2012). Pro Android Apps Performance Optimization. USA: Apress.

Hill, M. & Marty, M. (July, 2008). Amdahl’s Law in the Multicore Era. IEEE Computer Society, 08, pp. 33-38.

Kegel, P., Schellmann, M. & Gorlatch, S. (2009). Using OpenMP Vs. Threading Building Blocks for Medical Imaging on Multi-cores. Euro-Par 2009 Parallel Processing - Computer Science. Eds. Springer. Berlin, Heidelberg. vol. 5704, pp. 654–665.

OpenMP ARB. (2015). The OpenMP API specification for parallel programming. Agosto 15, 2015, de OpenMP Architecture Review Board Sitio web: http://openmp.org/wp/

Reinders, J. (2007). Intel Threading Building Blocks - outfitting C++ for multi-core processor parallelism. USA: O’Reilly.

Viso, E. (2013). El reto de las arquitecturas multinúcleo. Miscelánea Matemática, 56, 41-53.


Enlaces refback

  • No hay ningún enlace refback.




URL de la licencia: https://creativecommons.org/licenses/by/3.0/deed.es

Licencia Creative Commons    Esta revista está bajo una Licencia Creative Commons Atribución 3.0 No portada.