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

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...

Descripción completa

Detalles Bibliográficos
Autor: LUIS FERNANDO CURI QUINTAL
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2015
País:México
Institución:Universidad Autónoma de Yucatán
Repositorio:Repositorio Digital Institucional de la Universidad Autónoma de Yucatán
Idioma:español
OAI Identifier:oai:redi.uady.mx:123456789/515
Acceso en línea:http://redi.uady.mx:8080/handle/123456789/515
Access Level:acceso abierto
Palabra clave:info:eu-repo/classification/cti/1
info:eu-repo/classification/cti/7
Android
NDK
OpenMP
Programación paralela
Descripción
Sumario: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.