Parallel computing and low-power architectures
- Afonso Fumero, Sergio Manuel
- Francisco Almeida Rodriguez Director
Universidade de defensa: Universidad de La Laguna
Fecha de defensa: 17 de xuño de 2022
- Dora Blanco Heras Presidenta
- José Luis Bosque Orero Secretario/a
- Ariel Oleksiak Vogal
Tipo: Tese
Resumo
Las capacidades computacionales de plataformas de cómputo móviles y embebidas han aumentado rápidamente a lo largo de las últimas décadas. La mayoría de estas mejoras proceden de tecnologías de Sistemas-en-Chip, que ahora son capaces de integrar memoria y varios procesadores de propósito general, así como aceleradores especializados, en un único chip. Maximizar el aprovechamiento de estas arquitecturas heterogéneas requiere de la utilización del procesador más adecuado para cada tarea de cómputo en una aplicación, lo cual frecuentemente supone la escritura de código paralelo altamente especializado. Los modelos de programación para ejecución acelerada existentes en la actualidad tienden a ser complicados, lo cual se ve empeorado por su pobre integración en el ecosistema móvil. Se ha demostrado, en sistemas de cómputo tradicionales, que distintas aproximaciones a la aceleración automática de código pueden ser desarrolladas para obtener los beneficios de la ejecución acelerada a un mucho menor coste de desarrollo. Sin embargo, todavía se busca una alternativa de estas características para el ecosistema móvil que sea adoptada por la comunidad, debido a que el conjunto de especificidades que presenta dan lugar a que todas las opciones existentes supongan importantes compromisos. Los beneficios de dichos sistemas o, en general, cualquier tipo de optimización de código, tienen que ser demostradas a través de experimentación científica rigurosa. Sin embargo, el entorno altamente dinámico que dispositivos móviles y sistemas empotrados presentan, debido a sus limitaciones en potencia y su foco en el uso interactivo, impide en gran medida la posibilidad de obtener resultados precisos y representativos. Esta tesis se centra en habilitar a desarrolladores de aplicaciones móviles o embebidas a aprovechar las capacidades hardware de estos sistemas de una forma simplificada. En esta tesis se propone una metodología de traducción de código para su aceleración automática, basada en estándares multi-plataforma e integrada en el ecosistema de desarrollo móvil más extendido de la actualidad. Además, se presentan varias optimizaciones de código enfocadas en mejorar el rendimiento en estas plataformas. Experimentos que evalúan estas aproximaciones, realizados en un grupo representativo de dispositivos y aplicaciones, demuestran grandes mejoras de rendimiento para un esfuerzo reducido, y se presentan varias ideas sobre los factores hardware y software que caracterizan el rendimiento en esos sistemas. Además, se presenta un análisis detallado de los elementos que contribuyen a la reducción de la fiabilidad de las mediciones de rendimiento en dispositivos móviles y embebidos. Este análisis da pie a una metodología novedosa de medición de rendimiento que se demuestra empíricamente que mejora significativamente la precisión y exactitud de las medidas, además de mejorar la reproducibilidad de los experimentos en comparación con el estado del arte. Las contribuciones presentadas en esta tesis están implementadas como parte de frameworks que pueden ser utilizados como base para futuras investigaciones o para su uso en desarrollo de software.