Qualcomm y la polémica de los chips de 8 núcleos

Qualcomm es una compañía que tiene gran éxito en el mercado no sólo gracias a los chips de comunicación 2G/3G/LTE sino también a sus últimas generaciones de SoCs Snapdragon. De hecho, el mercado de procesadores para smartphones es uno de los grandes pilares de la compañía.

650_1000_qualcomm

El vicepresidente de Qualcomm, Anand Chandrasekher, ha comentado recientemente que ofrecer un procesador de 8 núcleos (claro guiño a Samsung con su último Exynos y a MediaTek) es unatontería.



Qualcomm arremete contra los SoCs octo-core

La llegada de MediaTek a la línea de dispositivos de gama baja y gama media Android está teniendo bastante repercusión gracias, entre otros, a un precio muy económico de los dispositivos que montan estas soluciones.

Sin embargo en el terreno tope de gama MediaTek pasa a ser un jugador de segunda categoría. Hace aproximadamente un mes MediaTek comentó que estaba preparando el primer SoC octo-core real del mercado, haciendo gala de que integran 8 núcleos que pueden funcionar a la vez, en lugar de la tecnología BIG.Little 4+4 que Samsung usa en su Exynos 5.

“No puedes coger 8 motores de cortacésped, ponerlos juntos y decir que tienes un Ferrari de 8 cilindros”

Chandrasekher comentó recientemente a un medio taiwanés que juntar esos núcleos de esa manera es sólo una forma de demostrar bajo nivel de ingeniería. Y su respuesta ante un posible chip octo-core Qualcomm fue rotunda, “nosotros no hacemos tonterías“.

Obviamente acabaremos viendo un salto cualitativo en la calidad de los procesadores por parte de Qualcomm y esa afirmación no quiere decir que no veamos un paso a los 8 núcleos de la compañía, pero sí que no será una aproximación tan tosca como MediaTek pretende hacer.

Qualcomm se centra en ofrecer una mejor experiencia de usuario desde todos los puntos de vista. Chips módem más eficientes, con menor consumo y mejor funcionamiento, procesadores eficientesenergéticamente sin hacer mella en la experiencia de uso y también ofrecer precios a un nivel asequible.

MediaTek responde

A modo de respuesta MediaTek comentó oficialmente vía email a PCWorld que su procesador octo-core es sólo una de los últimos hitos tecnológicos y de innovación de la compañía.

Mediatek

MediaTek afirma que comparado frente a sus competidores está más ligada al mercado y ofrece procesadores que cubren las necesidades de los clientes.

“(El chip) tiene capacidades mejoradas multitarea, y al mismo tiempo mejorará notablemente la experiencia de tus aplicaciones”

Este chip llegará al mercado durante el último trimestre de año. Difiere de otros chips de 8 núcleos del mercado en que podrá utilizar todos los núcleos de manera simultánea tal y como ya os dejamos ver a principios de julio. MediaTek comenta que esa estructura permitirá reducir el consumo general del chip y mejorar la estabilidad de aplicaciones.

La polémica está servida

Tanto Qualcomm como MediaTek defienden su postura y en los últimos años hemos visto el paso de SoCs de un núcleo a dos núcleos, posteriormente a cuatro núcleos con un núcleo básico extra (arquitectura Tegra 3), chips quad-core nativos y los más modernos octo-core de Samsung que realmente es un doble quad-core con dos niveles de rendimiento, trabajando los 4 chips más básicos o bien los 4 chips más avanzados en aras de una mejor eficiencia energética.

Sea como fuere tenemos que pararnos a pensar en la evolución de núcleos y el aprovechamiento del software de los mismos. Con el paso de uno a dos núcleos el aumento en eficiencia de gestión y autonomía se notó sobremanera, el paso a los cuatro núcleos no ha tenido tanta repercusión y uno puede estar trabajando con un smartphone dual-core de los más modernos de manera realmente fluida y con una autonomía normal.

El avance tecnológico va unido a una mejora hardware y a una optimización software. Son dos puntos que tienen peso y, a día de hoy no hay muchas aplicaciones que aprovechen los cuatro núcleos de manera eficiente. De hecho, juegos que deberían trabajar sin problemas en un entorno doble núcleo no lo hacen debido a esa falta de optimización.

El tiempo dirá si la mejor solución es la que propone MediaTek de seguir la línea que veníamos viendo de ampliación de núcleos, o bien si ARM BIG.Little tiene un mayor éxito.

Lo que tenemos que tener presente es que Qualcomm ha sentado la base del rendimiento de la generación actual de smartphones con sus Snapdragon 600 (Galaxy S4, HTC One, LG G2) y los inminentes Snapdragon 800.

¿Más núcleos mejor?

Aunque la mayoría de nosotros afirmaría de manera prácticamente rotunda un sí, tenemos que pararnos a matizar. No es lo mismo un quad-core MediaTek MT6589 que son cuatro núcleos ARMCortex A7 que un quad-core Snapdragon 600 con núcleos Cortex A15 (Krait 300). A igualdad de megahertzios la diferencia es sustancial. Ni la frecuencia ni los núcleos lo son todo en un procesador.

Vamos a hacer un ejercicio comparativo para que os hagáis una idea, no es lo mismo un quad-core Atom que un quad-core Core i7 Haswell. Sí, ambos tienen cuatro núcleos, pero es poco más lo que les une en cuanto a rendimiento toca.

Ahora bien, ¿es mejor tener más núcleos? La respuesta depende desde el punto de vista desde el que se mire. Más núcleos viene siendo una mejor opción de cara al equilibrio consumo y rendimiento pero por mucho que a día de hoy veamos chips con varios núcleos como los tope de gama no es la configuración ideal. Un procesador con un único núcleo infinitamente rápido con acceso a un almacenamiento y memorias rápido sería la situación ideal si no estuviéramos atados a las leyes de la física.

Este tipo de chip encaja mucho mejor en la manera que los desarrolladores piensan a la hora de crear programas, de manera lineal, y sería capaz de acelerar cualquier aplicación que se cree, sin pararse a pensar en optimizaciones multihilo, etc. También es cierto que en programación los SDKestán ofreciendo cada día más posibilidades de optimización para el uso de varios núcleos y los desarrolladores están creando aplicaciones que aprovechan esta arquitectura multihilo pero, recordamos que no es tarea fácil y está lejos del alcance de los recién iniciados.

Núcleos CPU, chip

Ante esta cuestión de un procesador infinitamente rápido nos topamos con la pura y cruda realidad delconsumo energético y la temperatura de funcionamiento. Intel creo el procesador Pentium 4 como un chip capaz de llegar hasta 4 GHz, hablamos del procesador Pentium 4 año 2004 – 2005 conocido como Prescott que ya funcionaba a frecuencias de hasta 3,8 GHz, sin embargo era lo que se conoce como tostadora. Se dieron cuenta de que a esas frecuencias el chip consumía una cantidad ingente de energía TDP 115W en LGA775 que necesitaría medios auxiliares para refrigerarlo.

Este fue uno de los motivos de la idea de uso de varios núcleos para conseguir que, de forma paralela, se consiga un aumento de rendimiento frente a la tecnología tradicional mononúcleo. Es decir, con varios núcleos trabajando a una frecuencia más reducida se podría conseguir un rendimiento equivalente a un chip mononúcleo de más frecuencia todo ello conseguido con un consumo reducido.

¿Qué ventajas / problemas surgen con esta nueva “solución” multinúcleo? A esta pregunta siguen multitud de respuestas, pero vamos a dejar constancia de las que tienen más peso. La principalventaja del uso de varios núcleos es un menor consumo general ya que cada núcleo requiere menos energía y genera menos calor que si tuviéramos un núcleo trabajando a una frecuencia elevada equivalente en rendimiento. Hoy día nos encontramos con chips que trabajan a frecuencias que alcanzan hasta 5 GHz con un consumo contenido, aunque tenemos que agradecer también en este punto el avance en la tecnología de fabricación, que se ha reducido notablemente.

Como problemas principal nos encontramos es que para que se aproveche este extra de potencia multihilo, el software debe estar optimizado. Los ingenieros y desarrolladores deben partir sus programas en pequeñas subrutinas destinadas a cada núcleo disponible para exprimir ese extra de rendimiento. Pero esa tarea no es sencilla ya que tras pasar las subrutinas por los distintos núcleos hay que sincronizar los resultados mediante computación multihilo y no es aplicable en todas las situaciones.

No todas las aplicaciones pueden ser optimizadas eficientemente para multitarea ya que hay casos en los que los cálculos no pueden realizarse de manera independiente y dependen de resultados anteriores.

En resumen, más no siempre es mejor, y podemos remitirnos por ejemplo al caso del PC donde hacer uso de equipos con más de 4 núcleos disponibles tiene un impacto poco notable en la mayoría de casos dado que hay muy poco software optimizado para ello. Es por ello que en el caso de los smartphones, los SoCs, tiene sentido añadir más núcleos siempre y cuando se puedan usar / sacar partido a los mismos.

A día de hoy 8 núcleos no parecen indicar un gran salto en rendimiento ni tampoco una mejora notable en consumo por lo que tendremos que ver si bien hay que añadir más núcleos al procesador o bien empezar a pensar en computación heterogénea en móviles vía OpenCL, que hace uso de los núcleos gráficos (GPU) también para cálculos y acelerar aplicaciones.

Habrá que esperar a disfrutar de los nuevos chips que promete MediaTek para examinar a fondo la solución y ver si es oro todo lo que dejan entrever o no. Sea como fuere, medir el rendimiento en este tipo de chips es complicado y, si bien nos solemos apoyar en benchmarks, no quiere decir que por obtener peor puntuación un procesador sea malo. Siempre tenemos que ver el contexto y la relación calidad/precio del mismo.

Fuente: http://www.xataka.com/