Bailey-Borwein-Plouffe-formeln, som gör det möjligt att extrahera vilken specifik hexadecimal eller binär siffra som helst i pi utan att beräkna de tidigare siffrorna (den aktuella posten sattes med Chudnovsky-algoritmen, se nedan)
Google Compute Engine-beräkningsklustret beräknade det största antalet pi-siffror på 121 dagar på 25 virtuella maskiner, vilket satte ett nytt världsrekord: 31,4 biljoner decimaler. Detta är första gången som allmänt tillgänglig molnprogramvara har använts för att beräkna pi av denna storleksordning.
Rekordet kommer att innehas av Emma Haruka Iwao från Googles avdelning för högpresterande datorer. Det var hon som använde Google Cloud-infrastruktur för databehandling. Det tidigare världsrekordet sattes av Peter Trueb år 2016, som beräknade siffran till 22,4 biljoner siffror. , vilket också sponsrades av arbetsgivaren.
Precis som Trub använde Google-ingenjören y-cruncher för beräkningen. Det här programmet använder , en snabb algoritm för att beräkna talet pi. På 80-talet, vi själva Med dess hjälp beräknade de en miljard decimaler.
Algoritmen är i sin tur baserad på egenskapen snabb konvergens av den hypergeometriska serien:
Emma Haruka Iwao blev fascinerad av det "magiska" talet efter att ha lärt sig om det i mattelektionen i skolan, Trådbunden. På universitetet hade en av hennes professorer, Daisuke Takahashi, rekordet för flest siffror i ett tal beräknat med hjälp av en superdator. Idag kan rekordet sättas av nästan vilken intresserad ingenjör som helst som har tillgång till seriösa datorresurser och stor disklagring (för att lagra beräkningsresultaten). Programmet skapades 2009 är utformad för att beräkna matematiska konstanter som pi. Den stöder massiv multithreading och biljonintervall. Detta program kommodifierade effektivt beräkningen av konstanter.
"Man behöver en ganska stor dator för att slå ett världsrekord", säger Iwao. "Det går inte att göra på en köpt dator, så folk brukade bygga specialbyggda bilar." I september 2018 började Iwao undersöka hur beräkningsprocessen tekniskt sett skulle fungera i ett intervall bortom rekordintervallet. Det stod omedelbart klart att det största problemet skulle vara mängden data som skulle lagras. Som ett resultat visade det sig att det beräknade resultatet tar upp 170 terabyte. Istället för att bygga en anpassad server som sina föregångare använde flickan Google Cloud-infrastruktur.
Iwao konfigurerade 25 virtuella maskiner: ”Men istället för att trycka på den virtuella maskinknappen 25 gånger automatiserade jag det”, förklarar hon. "Du kan göra det på ett par minuter, men om du behöver så många datorer tar det dagar att sätta upp allt." Iwao körde sedan y-cruncher kontinuerligt på dessa 121 virtuella maskiner i 25 dagar.
För att beräkningarna skulle bli korrekta var de virtuella maskinerna tvungna att vara igång konstant. Ingenjören satte upp ett övervakningssystem som skulle varna henne om något gick fel, till exempel en plötslig krasch på en av de virtuella maskinerna. Bara ett enda fel – om än i ett par minuter – kunde ha äventyrat hela beräkningsprocessen om det inte vore för säkerhetskopian.
”Cruncher och Google Cloud har säkerhetskopieringssystem, och jag har konfigurerat dem så att man direkt kan göra kopior av diskarna utan att avbryta datoranvändningen”, säger Iwao. Denna data kopierades sedan och lagrades externt, på andra diskar, som ögonblicksbilder.
"I början fanns det några parametrar som jag ändrade, som hur mycket data man kunde läsa eller skriva åt gången, och hur gränserna ändrades allt eftersom man blev större", säger Iwao.
Allt eftersom antalet siffror ökade blev filstorleken större och komplexiteten i beräkningarna ökade icke-linjärt. Detta gjorde de inledande beräkningarna mycket svåra när Iwao försökte beräkna hur mycket virtuell maskinkapacitet hon skulle behöva för projektet.
Nu är både beräkningarna och verifieringen av resultatet klara: y-cruncher har två grundläggande algoritmer inbyggda - en för att beräkna själva pi och en för verifiering. Verifieringsalgoritmen fungerar parallellt med beräkningen, men beräknar endast en siffra, så posten kan registreras officiellt.
I teorin skulle ett nytt världsrekord kunna sättas genom att helt enkelt ta den föregående filen och tillämpa Bailey-Borwein-Plouffe-formeln för att beräkna ett annat tal. Men detta skulle säkerligen strida mot reglerna för registrering av sådana världsrekord: troligtvis skulle varje sökande behöva börja beräkningen från början. Alternativt kan man förbättra den tidigare prestationen med N%, vilket inte är möjligt enligt Bailey-Borwein-Plouffe-formeln.
Källa: will.com
