Bailey-Borwain-Plouffen kaava, jonka avulla voit poimia minkä tahansa pi:n heksadesimaali- tai binäärinumeron laskematta edellisiä (nykyinen ennätys asetettiin Chudnovsky-algoritmilla, katso leikkaus alla)
Google Compute Engine -laskentaklusteri laski suurimman määrän pi-lukuja 121 vuorokauteen 25 virtuaalikoneella ja asetti uuden maailmanennätyksen: 31,4 biljoonaa desimaalin tarkkuutta. Tämä on ensimmäinen kerta, kun julkisesti saatavilla olevaa pilviohjelmistoa on käytetty tämän suuruisen piin laskemiseen.
Levy nauhoitetaan Emma Haruka Iwaon nimeen Googlen korkean suorituskyvyn laskentaosastosta. Hän käytti Google Cloud -infrastruktuuria tietojenkäsittelyyn. Edellisen maailmanennätyksen teki Peter Troub vuonna 2016, hän laski luvun 22,4 biljoonaan numeroon. , jota myös työnantaja sponsoroi.
Kuten Trub, Googlen insinööri käytti laskennassa y-cruncheria. Tämä ohjelma käyttää , nopea algoritmi pi:n laskemiseen. Itse 80-luvulla sitä käytettiin miljardin desimaalin laskemiseen.
Algoritmi puolestaan perustuu hypergeometrisen sarjan nopean konvergenssin ominaisuuteen:
Emma Haruka Iwao kiehtoi "maagista" numeroa saatuaan siitä tietää matematiikan tunnilla koulussa. Wired. Yliopistossa yksi hänen professoreistaan, Daisuke Takahashi, piti ennätystä supertietokoneella lasketun luvun suurimman osan numeroista. Nykyään ennätyksen voi tehdä melkein jokainen kiinnostunut insinööri, jolla on käytössään vakavia laskentaresursseja ja suuri levytallennustila (laskentojen tulosten tallentamista varten). Ohjelma luotu vuonna 2009 on suunniteltu laskemaan matemaattisia vakioita, kuten pi. Se tukee massiivisia monisäikeisiä ja biljoonan mittakaavan alueita. Tämä ohjelma hyödynsi tehokkaasti vakioiden laskemisen.
"Tarvitset melko suuren tietokoneen maailmanennätyksen rikkomiseen", Iwao sanoo. "Et voi tehdä sitä tietokoneella kaupasta, joten ihmiset rakensivat mukautettuja autoja." Syyskuussa 2018 Iwao alkoi pohtia, kuinka laskentaprosessi toimisi teknisesti ennätysalueen ulkopuolella. Heti kävi selväksi, että suurin ongelma olisi tallennettavan tiedon määrä. Tuloksena kävi ilmi, että laskettu tulos vie 170 teratavua. Mukautetun palvelimen rakentamisen sijaan, kuten edeltäjänsä, tyttö käytti Google Cloud -infrastruktuuria.
Iwao poimi 25 virtuaalikonetta: "Mutta sen sijaan, että olisin painanut sitä virtuaalikoneen painiketta 25 kertaa, automatisoin sen", hän selittää. "Voit tehdä sen muutamassa minuutissa, mutta jos tarvitset niin monta tietokonetta, kaiken asentaminen kestää useita päiviä." Iwao suoritti sitten y-cruncheria näillä 121 virtuaalikoneella yhtäjaksoisesti 25 päivän ajan.
Jotta laskelmat olisivat oikein, virtuaalikoneiden piti olla käynnissä jatkuvasti. Insinööri asensi valvontajärjestelmän, joka hälytti, jos jokin meni pieleen, esimerkiksi äkillisestä viasta jossakin virtuaalikoneessa. Vain yksi vika - jopa muutaman minuutin ajan - voi vaarantaa koko laskentaprosessin, ellei varmuuskopiointia tehdä.
"Cruncherilla ja Google Cloudilla on varmuuskopiojärjestelmät, ja olen määrittänyt ne niin, että voit ottaa välittömästi kopioita levyistä pysäyttämättä laskentaa", Iwao sanoo. Nämä tiedot kopioitiin ja tallennettiin ulkoisesti muille asemille tilannekuvina.
"Alussa muutin muutamia parametreja, kuten kuinka paljon dataa pystyit lukemaan tai kirjoittamaan kerralla ja kuinka rajat muuttuivat zoomattaessa", Iwao sanoo.
Kun numeroiden määrä kasvoi, tiedostojen määrä kasvoi ja laskelmien monimutkaisuus lisääntyi epälineaarisesti. Tämä teki alkuperäisen laskennan erittäin vaikeaksi, kun Iwao yritti laskea kuinka paljon virtuaalikoneen resursseja hän tarvitsisi projektiin.
Nyt sekä laskelmat että tuloksen varmennus on suoritettu: y-cruncheriin on rakennettu kaksi perusalgoritmia - yksi itse piin laskemiseen ja toinen varmentamiseen. Varmennusalgoritmi toimii rinnakkain laskennan kanssa, mutta laskee vain yhden numeron, jotta tietue voidaan rekisteröidä virallisesti.
Teoriassa uusi maailmanennätys voitaisiin asettaa yksinkertaisesti ottamalla edellinen tiedosto ja soveltamalla Bailey-Borwain-Plouffen kaavaa toisen luvun laskemiseen. Mutta tämä on luultavasti ristiriidassa tällaisten maailmanennätysten rekisteröintisääntöjen kanssa: todennäköisimmin jokaisen hakijan on aloitettava laskenta alusta. Vaihtoehtona: paranna edellistä saavutusta N%, mitä ei voida tehdä Bailey-Borwain-Plouffen kaavan mukaan.
Lähde: will.com
