Ya es conocida mi admiración por «Paco Menéndez» , el programador estrella de la época dorada de los 8 bits. «La Abadía del Crimen», como su obra cumbre, y para mi «Sir Fred» como uno de los títulos que anticiparon la simulación, la física real y las posteriores aventuras gráficas. Es decir, un visionario de manual. Estas últimas semanas ha aparecido documentación del proyecto en el que estaba trabajando y aunque no he podido ( habría que echarle muchas horas) hacer un análisis a conciencia si le he echado un vistazo con la perspectiva de la ingeniería del año 26. Como os imagináis, esto es un locura.
Qué proponía el proyecto
PALOMA, acrónimo de Parallel Logic Machine, proponía una arquitectura de computación masivamente paralela basada en una “memoria matricial inteligente” (MMI): una matriz de celdas programables que no solo almacenan datos, sino que también ejecutan operaciones y se conectan entre sí mediante una red regular de interconexión.
La idea era que el microprocesador principal siguiera coordinando el sistema, mientras la MMI actuaba como coprocesador esclavo para acelerar algoritmos numéricos intensivos, especialmente los que tienen mucho paralelismo interno.
Viabilidad técnica
Desde el punto de vista conceptual, el núcleo de la propuesta es coherente: muchos problemas científicos y de simulación sí pueden expresarse como grafos de flujo de datos y beneficiarse de paralelismo funcional, espacial y temporal.
Además, el diseño describía una topología regular en malla, compatible con VLSI, y un modelo de programación de flujo de datos que intentaba evitar los cuellos de botella clásicos de las arquitecturas Von Neumann.
Eso sí, la viabilidad práctica era el gran reto: la propuesta dependía de una integración hardware muy compleja, de una sincronización fina entre celdas, de un coste de implementación bajo y de que el modelo fuese suficientemente general para justificar un chip y una tarjeta PCI programables.
Dónde estaba el riesgo
El principal punto débil era que el proyecto parecía subestimar la dificultad real de fabricar, validar y programar una arquitectura tan distinta.
En 1999, convertir esa idea en un ASIC competitivo implicaba problemas serios de diseño físico, consumo, disipación, depuración, tiempos de desarrollo y herramientas de software, además de la dificultad de lograr una relación rendimiento/coste mejor que la de las soluciones paralelas que ya estaban evolucionando rápidamente.
También hay que leer con cautela las cifras de rendimiento proyectadas: las estimaciones de gigaflops, teraflops y escalabilidad “ilimitada” descansan en supuestos muy optimistas sobre frecuencia, latencia de interconexión y eficiencia de uso de todos los procesadores.
Lo innovador
La parte más innovadora era la ruptura con la idea clásica de “muchos procesadores ejecutando instrucciones” y su sustitución por una arquitectura de “una instrucción espacializada”, donde cada celda ejecuta una operación elemental y el programa se materializa como una distribución de dependencias.
También es original el intento de hacer que todo el sistema se viera desde la CPU como una expansión de memoria, pero con comportamiento activo, lo que anticipa en cierta medida la lógica de ciertos aceleradores modernos.
Otro elemento llamativo es la combinación de coprocesador generalista, red de interconexión regular y modelo de flujo de datos, algo más cercano a una visión de computación reconfigurable que a un simple multiprocesador.
Lectura actual
Visto desde hoy, varias ideas del proyecto se han integrado parcialmente en la industria, aunque no con esa forma exacta.
La idea de acelerar tareas concretas con hardware especializado está hoy en GPUs, TPUs, FPGAs y otros aceleradores; la noción de paralelismo masivo para cómputo numérico también es central en HPC; y el enfoque de mover cálculo hacia estructuras de datos paralelas recuerda a aceleración por matrices, procesamiento vectorial y modelos dataflow.
Sin embargo, la visión de una MMI como tarjeta PCI de propósito general que escale casi linealmente hasta miles o millones de procesadores no se consolidó tal como se imaginaba, porque la industria acabó imponiendo otros equilibrios entre generalidad, coste, software y eficiencia energética.
Valor histórico
Como documento de su época, el proyecto es valioso porque captura muy bien una transición importante: la conciencia de que el aumento de frecuencia iba a tocar techo y de que el futuro pasaría por el paralelismo.
En ese sentido, el diagnóstico era bastante acertado, aunque la solución concreta propuesta era más audaz que realista.
Hoy se puede leer como una propuesta pionera, con intuiciones que conectan con la computación acelerada moderna, pero también como un ejemplo de cómo una arquitectura brillante en papel puede chocar con la complejidad industrial y comercial de convertirse en producto.
Síntesis final
Si lo convierto en una frase: PALOMA fue una propuesta técnicamente imaginativa y conceptualmente sólida en su crítica al modelo secuencial, pero probablemente demasiado ambiciosa para la tecnología, el mercado y el ecosistema de desarrollo de finales de los 90.
Su legado más claro no es que se implementara tal cual, sino que anticipó varias ideas que hoy sí son parte del panorama habitual de la computación acelerada. ( ver la parte II )
En definitiva, el Proyecto Paloma fue una propuesta técnicamente seria, conceptualmente avanzada y, en sus líneas más profundas, correcta. Su fracaso comercial no fue un fracaso intelectual. La historia de la tecnología está llena de proyectos que llegaron antes de que el mundo estuviera listo para recibirlos, y el de Francisco Menéndez y Prototec S.L. merece ocupar un lugar reconocible en esa historia, especialmente en el contexto de la innovación tecnológica española de los años noventa.
Toda la documentación del Proyecto – Colgada en El mundo del Spectrum
- Proyecto PALOMA – Procesador Elemental – El Mundo del Spectrum
- Proyecto PALOMA – Memoria Técnica – El Mundo del Spectrum
- Proyecto PALOMA – Plan de Negocio – El Mundo del Spectrum
Simulador, por JorgeSDB
Un lector de la web, y como yo y miles de ingenieros españoles, admirador de este muchacho ha creado un Simulador Python de la arquitectura de computación masivamente paralela PALOMA (Parallel Logic Machine)
