Supercomputación en tu móvil

¿Alguna vez te preguntas por qué la batería de los 'smartphones' dura tan poco? Tal vez sientes a veces que las aplicaciones no se comportan tan fluidamente como te gustaría
La ULL estudia aplicaciones de supercomputación para smartphones
La ULL estudia aplicaciones de supercomputación para smartphones
La ULL estudia aplicaciones de supercomputación para smartphones

¿Alguna vez te preguntas por qué la batería de los smartphones dura tan poco? Tal vez sientes a veces que las aplicaciones no se comportan tan fluidamente como te gustaría. Los investigadores en supercomputación llevan afrontando estos mismos problemas durante años. El Grupo de Computación de Altas Prestaciones (GCAP) de la Universidad de La Laguna trabaja en la forma de aplicar técnicas exitosas en el campo de la supercomputación al del desarrollo de aplicaciones móviles.

La ULL investiga en aplicar las herramientas de los sistemas informáticos más avanzados para mejorar los móviles

En un principio, parece que entre un supercomputador –la mayor máquina de cálculo creada por el ser humano– y un dispositivo móvil no debe de haber muchas cosas en común. Sin embargo, con el aumento de las ventas de teléfonos inteligentes en todo el mundo, éstos cada vez se han hecho más inteligentes. Y como no podía ser de otra manera, toda esta inteligencia se ha debido a la integración de arquitecturas similares a los ordenadores de sobremesa en un solo chip de muy reducido tamaño. Por esto no son tan diferentes un dispositivo móvil moderno y un supercomputador; al fin y al cabo, un supercomputador no es otra cosa que un conjunto numeroso de ordenadores conectados por una red de muy alta velocidad y que pueden trabajar colaborativamente en la resolución de un mismo problema. Un dispositivo móvil contiene muchos de los componentes presentes en uno de los ordenadores que forman un supercomputador.

La supercomputación es un campo que se lleva estudiando ya algunas décadas, y ya hay herramientas para la programación de aplicaciones para estas máquinas que facilitan la tarea de hacerlas más rápidas y consumir menos energía. Estas herramientas no son adecuadas para el desarrollo móvil, pero hay conceptos que se pueden aprovechar para obtener beneficios similares.

El GCAP ha creado una herramienta de desarrollo, llamada Paralldroid, que permite a los desarrolladores de aplicaciones para dispositivos móviles aprovechar los varios tipos de procesadores presentes en el chip de un smartphone o tablet sin complicar el código del programa. Con esto podemos conseguir que desarrolladores no especializados en aceleración de código también puedan crear aplicaciones fluidas con un consumo de batería reducido.

El Grupo de Computación de Altas Prestaciones (GCAP) trabaja para mejorar los smartphones

Hay un tema que es de vital importancia para comprender la utilidad de este tipo de herramientas. Las máquinas de las que estamos hablando son realmente complejas. Son máquinas que contienen varios tipos de procesadores con distintas características en cuanto a potencia, a consumo energético y a tipos de tareas que pueden llevar a cabo. A las arquitecturas de estas máquinas se les conoce como arquitecturas heterogéneas. Es evidente que la dificultad de utilizar todos estos tipos de procesadores en las zonas adecuadas de las aplicaciones es mucho mayor que la de suponer que el procesador principal (CPU) vale para todo.

El problema de utilizar la CPU para todo es que hay multitud de tareas para las que no es la solución más eficiente. Esto significa que hay otros procesadores infrautilizados que pueden hacer la misma tarea en menos tiempo y gastando menos energía. A día de hoy todavía la mayoría de aplicaciones ignoran este problema. Al final se están desaprovechando las mejoras que se producen en el hardware de los dispositivos móviles que pueden hacer que las aplicaciones sean mucho más fluidas.

Algunas aplicaciones típicas que se ven muy beneficiadas al utilizar otros procesadores son las de procesamiento de imágenes. Desde los filtros de Snapchat hasta la mejora digital de la calidad de imagen y vídeo en tiempo real. El uso de los procesadores adecuados permite llegar a implementar filtros más complejos y aplicar mejoras de imagen superiores a vídeos de alta resolución mientras éstos son grabados. Pero en general, atesoran el poder de acelerar multitud de otras aplicaciones diferentes.

Entonces decimos que utilizar los recursos de un dispositivo móvil es difícil, lo que requiere ciertos conocimientos avanzados. Además, es muy importante utilizarlos para poder ofrecer una aplicación fluida y que consume la menor batería posible. Es por esto que hay que ofrecer una herramienta que pueda servir cuando no hay un experto en computación de altas prestaciones en el equipo de desarrollo.

Por Sergio Manuel Afonso (Alumno del III Curso ‘Cómo divulgar mi investigación científica’ de la ULL)

TE PUEDE INTERESAR