Bailey–Borwein–Plouffe'i valem, mis võimaldab välja tuua mis tahes konkreetse heksadesimaalse või binaarse numbri pi arvust ilma eelnevate väärtuste arvutamiseta (praegune rekord saavutati Chudnovsky algoritmi abil, vaata allpool).
Google Compute Engine'i arvutusklaster arvutas 121 päeva jooksul 25 virtuaalses masinas välja suurima arvu pi numbreid, seades uue maailmarekordi: 31,4 triljonit numbrit pärast koma. See on esmakordne, kui sellise suuruse pi arvu jaoks kasutati avalikult kergesti kätte saadavat pilve tarkvara.
Rekord läheb Emma Haruka Iwao nimel, kes töötab Google'i kõrge jõudlusega arvutuste osakonnas. Tema kasutas Google Cloud'i infrastruktuuri arvutamiseks. Eelmine maailmarekord kuulus Peter Truuvale, kes arvutas 2016. aastal välja 22,4 triljonit numbrit. , mida toetas ka tema tööandja.
Nii nagu Truu, kasutas ka Google'i insener y-cruncherit arvutamiseks. See programm rakendab , kiiret pi arvu arvutamise algoritmi. Juba 80-ndatel aastatel arvutasid selle abil miljard numbrit pärast koma.
Omakorda põhineb algoritm kiirelt konvergentsel hüpergeomeetrilisel reas:
Emma Haruka Iwao sai üleüldiselt vaimustuse "maagilisest" numbrist, kui ta kuulis sellest oma matemaatika tunnis koolis, Wired. Ülikoolis oli üks tema professoritest, Daisuke Takahashi, rekordimees arvutatud numbrite arvus superarvuti abil. Täna suudab rekordit seada praktiliselt iga huviline insener, kellel on juurdepääs tõsistele arvutusressurssidele ja suurele ketta mahutavusele (arvutustulemuste salvestamiseks). 2009. aastal loodud programm on mõeldud matemaatiliste konstantide, näiteks pi arvutamiseks. See toetab massiivset mitme lõime kasutamist ja triljonilisi vahemikke. See programm on tegelikult matemaatiste konstantide arvutamise commoditiseerinud.
„Sulle on vaja üsna suur arvuti, et maailmarekordit purustada, – ütleb Ivao. – Sellega ei saa hakkama poearvutiga, seetõttu ehitasid inimesed varem kohandatud masinaid.“ Septembris 2018 hakkas Ivao uurima, kuidas tehniliselt töötaks arvutamine rekordpiiride vahemikus. Esmalt sai selgeks, et peamine probleem on andmete salvestamise maht. Lõpuks selgus, et arvutatud tulemus võtab 170 terabaiti. Erinevalt eelkäijatest, kes kogusid kohandatud serverit, kasutas tüdruk Google Cloud'i infrastruktuuri.
Ivao tõstis 25 virtuaalmasinat: „Aga selle asemel, et vajutada seda virtuaalmasina nuppu 25 korda, automatiseeris ma selle, – selgitab ta. – Sa saad selle teha mõne minutiga, kuid kui sul on nii palju arvuteid, siis kulub kõikide seadistamiseks mitu päeva.” Aseejärel juhtis Ivao 121 päeva jooksul pidevalt y-cruncherit nendel 25 virtuaalmasinal.
Arvutuste täpsuse tagamiseks pidid virtuaalmasinad pidevalt tööle olema. Insener seadistas jälgimisse süsteemi, mis hoiatas teda, kui midagi läks valesti, näiteks kui üks virtuaalmasinatest äkitselt ebaõnnestus. Ainult üks rike – isegi mõneks minutiks – oleks võinud kogu arvutusse protsessi ohtu seada, kui mitte varukoopia tõttu.
„Kranšeris ja Google Cloud'is on varukoopiate süsteemid, ja ma seadistasin need nii, et sa saaksid neid kettaid kohe varundada, katkestamata arvutusi,“ – ütleb Ivao. Need andmed kopeeriti seejärel ja salvestati väliselt, teistel ketastel, hetkepiltidena.
„Alguses oli mitu parameetrit, mida ma muutisin, näiteks kui palju andmeid sa said korraga lugeda või kirjutada, ja kuidas piirid muutuvad, kui need suurenevad,“ – ütleb Ivao.
Numbrite arvu suurenedes suurenes ka failide maht, samas kui arvutuste keerukus kasvas Mittelineaarselt. See tegi algse arvutuse väga keeruliseks, kui Ivao püüdis välja selgitada, kui palju virtuaalmasinate ressursse tal projekti jaoks vaja on.
Nüüd on nii arvutused kui ka tulemuse kontrollimise protsess lõpule viidud: y-cruncher sisaldab kahte põhialgoritmi - üks arvutab pi, teine aga kontrollib. Kontrollimisalgoritm töötab paralleelselt arvutamisega, kuid arvutab ainult ühte numbrit, nii et rekordit saab ametlikult registreerida.
Teoreetiliselt on võimalik seadistada uus maailmarekord, kui võtta lihtsalt eelmine fail ja rakendada Bailey-Borweini-Plouffe'i valemit, et arvutada veel üks number. Kuid see rikub kindlasti maailmarekordite registreerimise reegleid: tõenäoliselt peab iga taotleja alustama arvutust nullist. Alternatiivina: parandada eelmist saavutust N% võrra, mida Bailey-Borweini-Plouffe'i valemi abil ei õnnestu.
Allikas: habr.com
