Flow Computing asegura que puede aumentar el rendimiento de cualquier CPU existente o futura en hasta 100 veces gracias a su PPU: «Es la CPU 2.0»
La tecnología de la que habla la startup Flow Computing, filial del Instituto de Investigación Estatal Finlandés VTT ya la hemos tratado hace más de un año, pero quedó en agua de borrajas porque la financiación al proyecto no se terminó de dar. En este caso FC ha conseguido 4,3 millones de dólares para lanzar su proyecto, el cual se basa en el concepto de Parallel Processing Unit, o también conocida como PPU. ¿Cómo va a aumentar el rendimiento de una CPU Flow Computing con estas nuevas PPU?
Según la startup, la CPU es actualmente el mayor cuello de botella en cualquier PC o servidor, y aunque no estamos de acuerdo en esto, porque creemos que es la memoria RAM, para seguir con su argumento les daremos la razón, puesto que es clave para poder hablar de un tema tan interesante como el procesamiento paralelo.
Flow Computing afirma que el rendimiento de una CPU puede escalar hasta 100 veces
SuperCPU, o CPU 2.0, así identifica y califica la marca la era que puede comenzar con su innovadora Unidad de Procesamiento paralelo o PPU. Esta no es más que un chip que según la compañía mejora el software existente en el PC o servidor que mediante un diseño paramétrico hace que esta PPU se adapte a múltiples usos, escalando para ello y según las necesidades el número de núcleos desde 4 hasta 256, o incluso más si fuese preciso.
Al ser totalmente modular y poder adaptarse a lo que el cliente necesite, se pueden usar distintos recursos, como la memoria, cachés, búferes etc. La PPU, por tanto, no solamente es adaptable, es que además tiene total compatibilidad con versiones de CPU distintas, obteniendo esta los beneficios, así como la NPU y GPU.
Para lograrlo la PPU tiene que ser implementada a nivel de silicio, donde según Flow Computing para lograr este incremento de rendimiento en CPU las modificaciones son mínimas en cualquier procesador actual, pero eso sí, implican la integración de la interfaz PPU en el set de instrucciones y una actualización del número de núcleos del procesador.
Tres características que elevan el rendimiento sobremanera
Flow Computing afirma que hay tres factores para determinar la subida de rendimiento de cualquier CPU:
- Ocultación de la latencia.
- Sincronización.
- ILP/LLP Virtual
En el primero punto lo que se busca es reducir la latencia todo lo posible tanto entre los propios núcleos de la CPU como entre el procesador y la memoria. Lo que hace la PPU es ocultar la latencia a cualquier memoria ejecutando subprocesos entre tanto, y como hay coherencia porque no hay cachés al frente, la escalabilidad la determina la red y el ancho de banda disponible interno.
El segundo punto es la sincronización entre núcleos y subprocesos, que Flow Computing afirma gastar entre 100 a 1.000 ciclos, pero con su PPU las cosas cambian. Solo se necesita una sincronización por step, ya que los subprocesos con ella son independientes entre sí. Luego, las sincronizaciones se superpondrían con la ejecución, de ahí la mejora de rendimiento de hasta 100 veces.
Por último, se habla de dependencia en cadena, ya que una unidad puede utilizar los resultados de sus predecesoras como operandos. Una vez que tenemos claro cómo funciona, el software hace el resto. Y es que el compilador de PPU reconoce automáticamente partes que son paralelas en el código y las ejecuta en vez de en los núcleos de CPU, en los de PPU, explotando el rendimiento de todas las partes y elevándolo a nuevas cotas.
La IA al servicio de la detección del código paralelo
Para hacerlo más sencillo, Flow Computing afirma que está diseñando software con IA para que trabaje en el código fuente de las empresas que la requieran, y les ayude a detectar e identificar partes paralelas de su código, para luego proponer métodos de optimización que mejoren todavía más el rendimiento.
Teniendo en cuenta que las PPU son compatibles con x86, Arm y RISC-V, que son escalables y que tienen un gran potencial, es posible que en pocos años veamos procesadores con núcleos P-Core y E-Core, NPU y PPU, elevando el rendimiento como dicen en Flow Computing a la era de la CPU 2.0.