Un programa informático crucial de física de partículas corre el riesgo de quedar obsoleto

Recientemente, vi un compañero físico de partículas habla sobre un cálculo que había llevado a un nuevo nivel de precisión. ¿Su herramienta? Un programa informático de la década de 1980 llamado FORM.

Los físicos de partículas utilizan algunas de las ecuaciones más largas de toda la ciencia. Para buscar signos de nuevas partículas elementales en colisiones en el Gran Colisionador de Hadrones, por ejemplo, dibujan miles de imágenes llamadas diagramas de Feynman que representan los posibles resultados de la colisión, cada uno de los cuales codifica una fórmula complicada que puede tener millones de términos. Sumar fórmulas como estas con lápiz y papel es imposible; incluso agregarlos con computadoras es un desafío. Las reglas de álgebra que aprendemos en la escuela son lo suficientemente rápidas para la tarea, pero para la física de partículas son lamentablemente ineficientes.

Los programas llamados sistemas de álgebra computacional se esfuerzan por manejar estas tareas. Y si quieres resolver las ecuaciones más grandes del mundo, durante 33 años se ha destacado un programa: FORM.

Desarrollado por el físico de partículas holandés Jos Vermaseren, FORM es una parte clave de la infraestructura de la física de partículas, necesaria para los cálculos más difíciles. Sin embargo, como ocurre con muchas piezas esenciales de la infraestructura digital, sorprendentemente, el mantenimiento de FORM depende en gran medida de una sola persona: el propio Vermaseren. Y a los 73, ha comenzado a alejarse del desarrollo de FORM. Debido a la estructura de incentivos de la academia, que premia los artículos publicados, no las herramientas de software, no ha surgido ningún sucesor. Si la situación no cambia, la física de partículas puede verse obligada a reducir drásticamente su velocidad.

FORM comenzó a mediados de la década de 1980, cuando el papel de las computadoras estaba cambiando rápidamente. Su predecesor, un programa llamado Schoonschip, creado por Martinus Veltman, fue lanzado como un chip especializado que se conectaba al costado de una computadora Atari. Vermaseren quería hacer un programa más accesible que pudiera ser descargado por universidades de todo el mundo. Comenzó a programarlo en el lenguaje informático FORTRAN, que significa traducción de fórmulas. El nombre FORM fue un riff en eso. (Más tarde cambió a un lenguaje de programación llamado C). Vermaseren lanzó su software en 1989. A principios de los 90, más de 200 instituciones de todo el mundo lo habían descargado y el número seguía aumentando.

Desde el año 2000, un artículo de física de partículas que cita a FORM se ha publicado cada pocos días, en promedio. “La mayoría de [high-precision] los resultados que obtuvo nuestro grupo en los últimos 20 años se basaron en gran medida en el código FORM”, dijo Thomas Gehrmann, profesor de la Universidad de Zúrich.

Parte de la popularidad de FORM provino de algoritmos especializados que se construyeron a lo largo de los años, como un truco para multiplicar rápidamente ciertas partes de un diagrama de Feynman y un procedimiento para reorganizar ecuaciones para tener la menor cantidad posible de multiplicaciones y sumas. Pero la ventaja más antigua y poderosa de FORM es cómo maneja la memoria.

Así como los humanos tenemos dos tipos de memoria, a corto y largo plazo, las computadoras tienen dos tipos: principal y externa. La memoria principal, la RAM de su computadora, es de fácil acceso sobre la marcha, pero tiene un tamaño limitado. Los dispositivos de memoria externa, como los discos duros y las unidades de estado sólido, contienen mucha más información, pero son más lentos. Para resolver una ecuación larga, debe almacenarla en la memoria principal para que pueda trabajar con ella fácilmente.

En los años 80, ambos tipos de memoria estaban limitados. “FORM se creó en una época en la que casi no había memoria ni espacio en disco; básicamente, no había nada”, dijo Ben Ruijl, ex alumno de Vermaseren y desarrollador de FORM, que ahora es investigador postdoctoral en el Instituto Federal Suizo de Tecnología Zúrich. Esto planteó un desafío: las ecuaciones eran demasiado largas para que la memoria principal las manejara. Para calcular uno, su sistema operativo necesitaba tratar su disco duro como si también fuera memoria principal. El sistema operativo, sin saber qué tan grande esperaría que fuera su ecuación, almacenaría los datos en una colección de “páginas” en el disco duro, alternando con frecuencia entre ellas a medida que se necesitaran diferentes piezas, un proceso ineficiente llamado intercambio.

Este cómic de xkcd ilustra bien la situación.

Ilustración: xkcd.com

FORM evita el intercambio y utiliza su propia técnica. Cuando trabajas con una ecuación en FORMATO, el programa asigna a cada término una cantidad fija de espacio en el disco duro. Esta técnica permite que el software realice un seguimiento más fácil de dónde están las partes de una ecuación. También facilita traer esas piezas de vuelta a la memoria principal cuando se necesitan sin acceder al resto.

La memoria ha crecido desde los primeros días de FORM, de 128 kilobytes de RAM en el Atari 130XE en 1985 a 128 gigabytes de RAM en mi escritorio mejorado: una mejora de un millón de veces. Pero los trucos que desarrolló Vermaseren siguen siendo cruciales. A medida que los físicos de partículas examinan minuciosamente petabytes de datos del Gran Colisionador de Hadrones para buscar evidencia de nuevas partículas, su necesidad de precisión y, por lo tanto, la longitud de sus ecuaciones, se hace más larga.