¿Que aplicaciones sacan más provecho de los multi-núcleos?
Si recientementes has comprado un smartphone, lo más probable es que este funcione con un procesador multi-nucleo. El Nokia Lumia 920, por ejemplo, está potenciado con un dual core Qualcomm Snapdragon S4, un procesador que puede asumir las tareas más demandantes. Sin embargo, las actividades que más importan a los usuarios móviles pueden no necesariamente sacar todo el provecho de todos los núcleos de un procesador.
Afortunadamente, el hardware que soporta un multi-core ya está habilitado y los principales sistemas operativos móviles tienen soporte igualmente. Sin embargo, la historia es diferente para las aplicaciones. Para que las aplicaciones tomen ventaja realmente de la tecnología multi-núcleo, los desarrolladores deben cambiar su forma de pensar y multi-programar sus códigos cuando crean aplicaciones, lo que requiere de mucha habilidad y trabajo.
Un paso a la vez
El principal reto en programar para multi-core, o el procesamiento paralelo, es que los usuarios y la lógica de una aplicación tiene a moverse secuencialmente. El otras palabras, se busca un core primero antes de buscar el segundo para ejecutar tareas. El trabajo que demanda una aplicación muy rara vez escala sus necesidades mas allá de dos núcleos. Como consecuencia, es muy difícil para las aplicaciones sacar ventaja de todos los beneficios que proveen varios núcleos.
Aplicaciones hechas para un sólo núcleo
Actualmente, casi todas las aplicaciones son programadas sin prestar mucha atención al número de núcleos. De hecho, muchas son desarrolladas para un procesados de un núcleo, por lo que tener más no afecta el desempeño. Lo que si importa es la velocidad del reloj o cuántas instrucciones un núcleo sencillo puede ejecutar en un determinado momento. Otra razón para programar para un sólo núcleo es que la mayoría de las aplicaciones no necesitan mucho poder de procesamiento, por lo que poner extra-esfuerzo en programación adicional puede ser un desperdicio de tiempo y recursos.
Interfaces ágiles
Hay veces en las que un procesador multi-núcleo como el Snapdragon S4 puede hacer que un software corra más ágilmente y más rápido. Los sistemas operativos de modernos smartphones tienen varios procesos que corren en segundo plano o en el segundo núcleo cuando el principal está corriendo la aplicación principal. El Snapdragon S4 también alberga otros “núcleos” para distribuir más eficazmente estas tareas. Por ejemplo, el Procesador de Señales Digitales (DSP, por sus siglas en inglés) que se encuentra en el Snapdragon S4 procesa el audio cuando escuchas música. Esto otorga más duración a la batería cuando se descarga el trabajo de los núcleos de CPU.
Juegos Impresionantes
Y hay ciertas aplicaciones que se benefician también de multi-núcleos. Si eres un gamer, serás feliz de saber que los multi-núcleos son buenos para los juegos de avanzada. Los juegos generalmente emplean complejas técnicas de redención 3D y posiblemente una inteligencia artificial para el oponente de la computadora. Pero hay más, muchos juegos de gran riqueza visual que actualmente funcionan en PCs y cónsolas ya están disponibles para los dispositivos móviles y algunos de ellos han sido creados con múltiples núcleos en mente. Po último, hay que destacar que el Snapdragon está emparejado con la nueva GPU Adreno 225, por lo que los nuevos Lumias prometen una experiencia de juego alucinante.
Imágenes y edición de Super cámaras
Si tienes una gran cámara como la del Lumia 920, también querrás gran procesamiento de imágenes. Los port-procesos de imágenes ciertamente se beneficiande la configuración multi-núcleos. Primero que nada, estas requieren toneladas de algoritmos y cálculos. Y en segundo lugar, el post-procesamiento puede ser fácilmente dividido en diferentes núcleos que hagan estas tareas paralelamente.
Además, para equipos WP8, el Procesador de Señal de Imagen (ISP) funciona como otro núcleo que te ayuda en obtener las mejores imágenes una y otra vez. Múltiples núcleos benefician también a esos usuarios que quieren editar imágenes y videos.
Y para darte un poco más de ánimo, cerremos esta nota contando que los desarrolladores cada vez más están entusiasmados creando ideas para smartphones multi-núcleo. Ya que la tecnología multicore está masificándose, hay muchos incentivos en explorar el dualcore, con el quadcore en el horizonte.
¿Cuál de las ventajas que te hemos contado te emociona más?
Crédito de Imagen: Franck Mahon



