La fórmula de Bailey-Borwein-Plouffe permite extraer cualquier dígito hexadecimal o binario del número pi sin calcular los anteriores (el récord actual se estableció con el algoritmo de Chudnovsky, ver más abajo).
Un clúster de computación de Google Compute Engine calculó el mayor número de dígitos del número pi en 121 días utilizando 25 máquinas virtuales, estableciendo un nuevo récord mundial: 31,4 billones de dígitos después del punto decimal. Esta es la primera vez que se utilizó software de nube pública para calcular pi de tal magnitud.
El récord será atribuido a Emma Haruka Iwao del departamento de computación de alto rendimiento en Google. Fue ella quien utilizó la infraestructura de Google Cloud para realizar los cálculos. El récord mundial anterior fue establecido por Peter Trubb en 2016, quien calculó el número hasta 22,4 billones de dígitos. , que también fue patrocinado por su empleador.
Al igual que Trubb, la ingeniera de Google utilizó y-cruncher para realizar el cálculo. Este programa utiliza , un rápido algoritmo para calcular el número pi. Ya en los años 80, los calculaban mil millones de dígitos después del punto decimal con su ayuda.
A su vez, el algoritmo se basa en la propiedad de rápida convergencia de la serie hipergeométrica:
Emma Haruka Iwao se interesó por el número "mágico" después de conocerlo en una clase de matemáticas en la escuela. Wired. En la universidad, uno de sus profesores, Daisuke Takahashi, era un récord en cuanto a la cantidad de dígitos calculados utilizando un superordenador. Hoy en día, prácticamente cualquier ingeniero interesado que tenga acceso a recursos computacionales serios y un amplio almacenamiento en disco (para guardar el resultado de los cálculos) puede establecer un récord. El programa creado en 2009, , está diseñado para calcular constantes matemáticas como pi. Soporta procesamiento masivo en paralelo y rangos de billones. Este programa, de hecho, ha comercializado los cálculos de constantes.
«Necesitas una computadora bastante potente para romper el récord mundial», dice Ivao. «No puedes hacerlo con una computadora de tienda, así que antes la gente construía máquinas a medida». En septiembre de 2018, Ivao comenzó a considerar cómo funcionaría técnicamente el proceso de cálculo más allá del rango récord. Desde el principio, quedó claro que el principal problema sería el volumen de datos a almacenar. El resultado calculado ocupa 170 terabytes. En lugar de construir un servidor personalizado, como lo hicieron sus predecesores, la joven utilizó la infraestructura de Google Cloud.
Ivao levantó 25 máquinas virtuales: «Pero en lugar de presionar ese botón de máquina virtual 25 veces, lo automatizé», explica. «Puedes hacerlo en pocos minutos, pero si necesitas tantas computadoras, te tomará varios días configurarlo todo». Luego, durante 121 días continuos, Ivao gestionó el funcionamiento de y-cruncher en estas 25 máquinas virtuales.
Para la precisión de los cálculos, las máquinas virtuales debían funcionar constantemente. La ingeniera instaló un sistema de monitoreo que la alertaría si algo salía mal, por ejemplo, si una de las máquinas virtuales fallaba repentinamente. Un solo accidente, incluso por un par de minutos, podría poner en riesgo todo el proceso de cálculo si no hubiera backups.
«En el cruncher y Google Cloud hay sistemas de respaldo, y los configuré para que pudieras crear copias instantáneas de esos discos sin detener los cálculos», dice Ivao. Estos datos se copiaban y guardaban externamente, en otros discos, como instantáneas.
«Al principio había varios parámetros que cambié, por ejemplo, cuánto datos podías leer o escribir a la vez, y cómo cambiarían los límites a medida que aumentaran», dice Ivao.
A medida que aumentaba la cantidad de cifras, el tamaño de los archivos crecía y la complejidad de los cálculos aumentaba de manera no lineal. Esto complicó mucho el cálculo inicial, cuando Ivao trataba de determinar qué recursos de las máquinas virtuales necesitaría para el proyecto.
Ahora se han completado tanto los cálculos como la verificación del resultado: y-cruncher incorpora dos algoritmos básicos, uno para calcular el valor de pi y otro para la verificación. El algoritmo de verificación funciona en paralelo con el cálculo, pero solo calcula un dígito, por lo que el récord puede registrarse oficialmente.
Teóricamente, se podría establecer un nuevo récord mundial si simplemente se toma el archivo anterior y se aplica la fórmula de Bailey-Borwein-Plouffe para calcular otro dígito. Pero esto seguramente contradice las reglas de registro de estos récords mundiales: lo más probable es que cada candidato deba comenzar los cálculos desde cero. Como alternativa: mejorar el logro anterior en un N%, lo que no se puede hacer con la fórmula de Bailey-Borwein-Plouffe.
Fuente: habr.com
