Flow Computing muestra cómo la combinación de diferentes núcleos transformará el mundo de la computación.
La empresa finlandesa Flow Computing ha presentado un nuevo enfoque para mejorar el rendimiento de los procesadores, con el objetivo de devolverles un papel clave en los sistemas computacionales modernos.
Flow Computing propone abandonar las arquitecturas tradicionales con núcleos homogéneos en favor de un sistema híbrido que combina núcleos estándar con bloques de procesamiento paralelo (Parallel Processing Unit, PPU). Este enfoque puede proporcionar un aumento de rendimiento de hasta 100 veces en comparación con las soluciones existentes.
La nueva arquitectura sugiere el uso de 4 núcleos estándar y 64 PPU en el mismo espacio que ocupan las soluciones tradicionales con múltiples núcleos homogéneos. Esta variante optimiza la ejecución de tareas que pueden ser paralelizadas. El concepto de arquitectura fue presentado en la conferencia IEEE Hot Chips en agosto.
Los bloques PPU están diseñados para acelerar la ejecución de tareas paralelas cuando los procesadores estándar no son eficientes y la transferencia de tareas a la unidad de procesamiento gráfico (GPU) es demasiado costosa en términos de recursos. Se señala que la tecnología de Flow Computing puede ser útil incluso con pequeñas cargas de tareas que anteriormente se consideraban difíciles de paralelizar debido a los costos de distribución y sincronización.
La empresa considera que es difícil crear una única arquitectura optimizada tanto para tareas secuenciales como paralelas. Por lo tanto, la solución de Flow Computing divide funciones: las tareas secuenciales son gestionadas por los núcleos estándar del procesador, mientras que las tareas paralelas son manejadas por los PPU, permitiendo aprovechar las fortalezas de cada tipo de núcleo.
Para optimizar el trabajo con el procesamiento paralelo de datos, los PPU consideran cuatro aspectos principales:
Los PPU emplean multiprocesamiento para ocultar las latencias de acceso a la memoria: si un flujo solicita datos de la memoria, otro flujo puede continuar su ejecución mientras el primero espera una respuesta. Una red de comunicación flexible dentro de los PPU permite optimizar el ancho de banda y realizar paralelización a bajo nivel. Para minimizar las latencias de sincronización, se ha desarrollado un algoritmo de sincronización de ondas, que según la empresa es más eficiente que los protocolos tradicionales.
Para demostrar las capacidades de los PPU, se creó un prototipo basado en FPGA. En pruebas comparativas, esta arquitectura mostró un aumento de rendimiento de 100 veces en comparación con procesadores comerciales, siempre que los PPU se utilicen en forma de chip de silicio con una frecuencia similar. Actualmente, el equipo está trabajando en un compilador para los PPU y considera la posibilidad de colaborar con fabricantes de procesadores para implementar la tecnología.