¿Por qué Intel y AMD no usan la tecnología big.LITTLE en sus procesadores?

Escrito por Javier Lopez

Llevamos varios años con la tecnología big.LITTLE entre nosotros. Es extraño el usuario que a día de hoy no use un smartphone que integre dicha tecnología y sin embargo muchos, por no decir la gran mayoría, no entienden de que se compone. Lo cierto es que tiene varias ventajas, pero tanto Intel como AMD reniegan de ella ¿por qué no la usan en sus procesadores?

¿Qué es ARM big.LITTLE?

ARM big.LITTLE

Para poder poner en situación a cualquier lector, creemos que es necesario explicar exactamente qué es big.LITTLE de una manera sencilla y comprensible.

big.LITTLE como tecnología se entiende como una arquitectura de procesamiento heterogénea que utiliza dos tipos de procesadores, donde los procesadores LITTLE están diseñados para la eficiencia energética, mientras que los procesadores big proporcionan el máximo rendimiento.

Así, cuando la carga de trabajo sea ligera o liviana los procesadores LITTLE se encargan de procesarlo, mientras que si por el contrario la carga de trabajo es pesada entran en juego los procesadores big.

Esta tecnología es la que se emplea en todos los teléfonos y smartphone actuales, dado que es muy eficiente por un lado y muy potente por el otro, logrando preservar batería en el primer caso e impulsando el rendimiento en el segundo.

bigLITTLESystemDiagramEn un sistema big.LITTLE, el subsistema de la CPU es totalmente coherente con la memoria caché, y los núcleos de la CPU big y LITTLE son completamente idénticos en su arquitectura; ejecutan las mismas instrucciones y admiten las mismas extensiones, como la virtualización, el direccionamiento físico de gran tamaño etc …

Viendo la teoría la pregunta crece en intensidad ¿por qué ninguno de los principales fabricantes de CPUs del mundo usa esta tecnología?

La principal causa ha sido los costes y en segundo plano la falta de compatibilidad del software

ARM big.LITTLE 2

Lo cierto es que este sistema de disposición de diferentes CPUs tiene un importante costo en cuanto a silicio se refiere. Hay que pensar en la potencia como término diferenciador de tecnologías.

Una CPU ARM es mucho más simple en cuanto a arquitectura se refiere, no permite diseños escalables, no es capaz de soportar buses de gran tamaño y el desarrollo de su software es mucho más precario actualmente.

Solo en el entorno de servidores parece que ARM está siendo una opción a considerar, dado que portan actualmente todas las mejoras que aportan los nuevos procesos litográficos, lo que les permiten añadir un mayor número de núcleos por norma general, fabricando chips de mayor tamaño donde pueden incluir algunas mejoras considerables.

En cualquier caso, el entorno de servidor se basa en núcleos big y no LITTLE por norma general como pasa con los Qualcomm Centriq 2400, así que no tiene mucho sentido compararlo con escritorio.

Qualcomm-Centriq-2400

En el caso que nos ocupa incluir varias CPUs distintas dentro de un mismo PCB supone un gasto de silicio muy alto, ya que se usarían tantas obleas distintas como CPUs distintas se necesitasen. Además, para interconectarlas se necesitan varias características:

  • La primera es un bus de alto ancho de banda y baja latencia.
  • La segunda es un interposer que sea capaz de albergar tantas TSV como CPUs se incluyan y necesiten.
  • En tercer lugar se necesita una latencia reducida en su máxima expresión para no penalizar el rendimiento general, cosa complicada si tenemos en cuenta el gran número de CPUs que tendríamos de diferente rendimiento.
  • En cuarto lugar, el software debe de albergar un nivel de complicación nunca visto en X86, desde Windows/Linux hasta cualquier programa actual, ya que big.LITTLE no es universal en cuanto a software o drivers.
  • El quinto argumento sería el rendimiento puro. Las CPUs actuales ya varían carga y desactivan núcleos mediante sus estados P y C con un rendimiento por núcleo por encima de lo ofrecido por ARM, por lo que puede haber algún ahorro de energía leve, pero a costa de bastante rendimiento.

La única solución actual que parece ir en la buena dirección es la tecnología que Intel presentó en su Intel Architecture Day 2018 y que llamó Forevos.

Intel Forevos ¿el camino a seguir por AMD y ARM?

Seguramente no en ejecución pero sí en forma. Lo cierto es que tanto AMD como ARM utilizan interposers para la interconexión de sus distintas matrices en sus PCB, ambas con el ya famoso WoW de TSMC, pero es que Intel va un paso más allá.

Se olvida por completo de su EMIB y utilizará el llamado 3D Packaging, lo cual facilita unos diseños mucho más flexibles gracias al apilamiento de distintos interposer en varias capas.

Así, Intel podrá crear interposers a distintos nanómetros a conveniencia donde podrá interconectar CPUs de distintos nanómetros y de distintos rendimientos.

3d-packaging-a-catalyst-for-product-innovation

Intel los está llamando actualmente diseños X86 híbridos, ya que pueden combinar por ejemplo 4 núcleos Atom con un núcleo de gran tamaño en un mismo encapsulado a 10 nm.

El primer chip diseñado tiene un tamaño de 12x12x1 mm y 4 interposer conectados en apilamiento 3D. La big CPU tendrá disponibles 0.5 MB de caché mientras que las 4 CPUs LITTLE tendrán 1.5 MB de L2 compartida entre ellas con un impresionante controlador de memoria de 4 canales con soporte para LPDDR4, gráficos Gen11 y con una salida de vídeo DisplayPort 1.4.

Está claro que si Intel ha sido capaz de incluir estas CPUs en un paquete de 1,2 cm cuadrados las posibilidades a gran escala para el mercado X86 son simplemente impensables en estos momentos, pensemos que es el primer diseño de interposers 3D y ya tenemos algo tangible y funcional.

Foveros-(1)

AMD tampoco se está quedando atrás, su diseño en Zen 2 con sus EPYC a la cabeza no son un paso para big.LITTLE en sí, sino para el alto rendimiento, pero no es descartable el uso de esta tecnología para implementarla en algunas CPUs de bajo consumo, aunque sinceramente no lo creemos.

Tienen el diseño de interposer con WoW, tienen Infinity Fabric como bus principal de interconexión y tienen los 7 nm de TSMC a plena producción para el 2019, por no hablar de su arquitectura de gráficos Vega y Navi que previsiblemente será incluida en sus APUs Picasso.

ARM sustituirá big.LITTLE con DynamIQ

ARM no ha estado de brazos cruzados en este tiempo donde su tecnología se ha ido desplegando por todo el mundo y presentó ARM DynamIQ, una nueva tecnología que parte del concepto de big.LITTLE pero que va un paso más allá.

DynamIQ combina CPUs big y CPUs LITTLE en un único clúster, con la posibilidad de escalar hasta 8 CPUs dentro de ese clúster. El límite físico de esta tecnología se cifra en hasta cuatro CPUs big u ocho CPUs LITTLE o combinaciones de las mismas, pero siempre respetando las 8 como máximo.

dynamiq-improvements-over-big-little

Las nuevas CPUs Cortex-A75 son las primeras en incluir esta nueva tecnología y se podrán unir con aceleradores externos e IP coherentes de E/S para ofrecer tiempos de respuestas cada vez más rápidos y con menor latencia a medida que estos avancen.

Además, se mejoraron puntos clave como la administración de energía gracias a nuevos mecanismos de transición de estados controlados por hardware.

Otro punto clave en este apartado es la inclusión de los llamados DVFS o escalamiento de frecuencias y voltaje dinámico para cada clúster, maximizando según ARM el rendimiento y al mismo tiempo proporcionando más ahorro de energía.

Sin duda ARM tiene su propio método para sus CPUs, pero de momento lo presentado por Intel no solo aúna lo que es capaz de hacer DynamIQ, sino que puede ir bastante más allá.

Quacomm-Falkor-Gigabyte

Ahora solo hace falta que AMD entre a competir, si es que le interesa, en este entorno. No olvidemos que ARM ya está casi plantando cara a Intel en servidores con sus diseños big de la mano de empresas como Qualcomm y sus Centriq 2400 con núcleos Falkor, donde de la mano de Gigabyte ya han lanzado placas base de servidor para sus sockets con 2U y 2 nodos.

Esto significa que Qualcomm incluye de la mano de Gigabyte hasta 96 núcleos (48 por socket) a un precio de 1995 dólares por CPU, por lo que entran por la puerta grande vistos los resultados que pueden llegar a ofrecer frente a Intel y sus Xeons con arquitectura Broadwell/Skylake:

Los datos mostrados son de Cloudflare, que ya analizaron las plataformas a fondo para determinar que se adapta mejor a sus servidores, tanto en potencia como en consumo.

Si bien es cierto que en los datos publicado y en el cómputo general Intel sigue siendo superior, Qualcomm está presentando batalla y en algunos campos consigue una ventaja importante y por lo tanto tanto ARM con DynamIQ como Qualcomm con su implementación tienen una buena oportunidad para intentar imponer su tecnología frente a la de Intel o AMD, gracias en parte a disponer de nodos de menor tamaño y a que Intel va con retraso en sus 10 nm.

Conclusión

intel-vs-amd-vs-arm

 

Respondiendo a la pregunta inicial de este artículo y viendo los datos expuestos podemos decir con certeza que Intel tiene su propia interpretación de big.LITTLE, donde ha conseguido impulsar todavía más el concepto creando el suyo propio.

AMD no tenemos constancia de que quiera competir en este ámbito, ya que de momento el segmento de alto rendimiento lo cubre perfectamente con EPYC y Ryzen 2 / Threadripper 2, por lo que sistemas de bajo consumo para móviles o SOC de pequeñas dimensiones pueden no interesarles debido al empuje de ARM.

Por su parte ya hemos visto que ARM abandona big.LITTLE para centrarse en DinamIQ, el paso lógico de la evolución de su tecnología y visto lo visto van por buen camino.

Así que no creemos que ni Intel ni AMD integren sistemas big.LITTLE o DinamIQ como concepto en sus CPUs, son caminos distintos y no pretenden competir en una lucha que actualmente está perdida como puede ser SOCs para smartphones.

Al contrario, es ARM la que de seguir en este camino puede poner en serios problemas a las dos grandes compañías en pocos años, por lo menos en entornos de servidores.

Continúa leyendo
  • alxSoft

    Todo bien explicado y muy interesante, aunque por un lado, me parece una excelente propuesta la de intel, lo cierto es que en la implementación que realiza AMD en ZEN2 es algo que si bien en el sentido técnico no sea igual, en apariencia lo es, dado que con sus chiplets y el I/O chip, integran componentes distintos, con litografías distintas, faltando los interposer apilados, creo que sería solo una cuestión mínima para que AMD cambiara los chiplets de forma que algunos incluyan CCX de alto rendimiento y otros de alta eficiencia… el problema principal para no adoptar big.LITTLE me parece más por el lado del software, como se menciona en el artículo y que quizá otra forma de lograr algo similar sea simplemente a través de apagar y encender componentes o núcleos y de frecuencias dinámicas que puedan ir desde cantidades mínimas hasta encender el chip completo a altas frecuencias, más o menos como se ha ido haciendo en los últimos tiempos.

  • Amurpo

    Muy buen artículo

  • Pietre Linux

    Creo que no hace falta decir que arm se ha convertido en el procesador más usado del planeta, lo ha conseguido debido a la escalada tecnologica de los dispsositivos móviles, ahora ya hay CPU arm a la altura de un Core i5 , Microsoft ya dio el paso en 2018 hacia Arm, después Apple y lo hará de forma más agresiva que microsoft, todo apunta a un cambio de arquitectura a medio largo plazo,las limitaciones de Arm sobre los buses no han sido limitaciones de la arquitectura si no limitaciones impuestas por Arm para mejorar el consumo, pensemos que Arm se centra en CPU para móviles y tablets, cuando Arm empiezo a realizar sub arquitecturas sin esa limitación…. Veremos como la gama media de x86 es simplemente fagocitada por Arm.

    Un saludo.

    • Fabián Marshall

      Si bien ARM dio pasos muy grandes, nunca va a poder remplazar x86-64, simplemente por el poco poder que tiene a la hora de realizar tareas de Workstation, donde dicho sea de paso dan pena ajena, y que están ala altura de un i5, o estas fumado o te caíste de pequeño.