StorageReview.com

105 biljoner Pi-siffror: Resan till ett nytt Pi-beräkningsrekord

Företag  ◇  Enterprise Storage

Vi är inte främlingar för att tänja på gränserna för beräkningar, men den här testar Pi(e). Strax efter förra årets riktmärke på 100 biljoner siffror bestämde vi oss för att öka antalet kända siffror i Pi till 105 biljoner siffror. Det är 105 000 000 000 000 tal efter 3:an. Vi gjorde några uppdateringar av plattformen från förra årets test, hittade några överraskande saker längs vägen och lärde oss en del på vägen – inklusive den 105 biljonte siffran i Pi;6!

105 biljoner pi - server och JBOF

Genom att uppnå en världsrekordberäkning av Pi till 105 biljoner siffror, har StorageReview-labbet understrukit de otroliga egenskaperna hos modern hårdvara. Denna strävan, som drivs av ett banbrytande 2P 128-kärnigt AMD EPYC Bergamo-system utrustat med 1.5 TB DRAM och nästan en petabyte Solidigm QLC SSD, representerar en landmärkeprestation inom beräknings- och lagringsteknik.

Utmaningen

Under den 100 biljoner digitala körningen mötte vi flera tekniska begränsningar. Serverplattformen stödde till exempel bara 16 NVMe SSD:er i de främre platserna. Även om vi hade gott om CPU-kraft, krävde denna beräkning massiv lagring under processen och på baksidan när den slutliga TXT-filen matades ut.

För att lösa lagringsproblemet förra gången tog vi till PCIe NVME-adapterslädar för att klämma in ytterligare tre SSD:er. Sedan, för utgången, hade vi en hårddisklagringsserver i RAID0, märk väl, med en iSCSI-resurs tillbaka till beräkningsboxen. Den här gången ville vi vara lite mer "företagare" med den här servern, så vi tog in några vänner för att hjälpa till. Intressant nog är det inte så lätt som det kan verka att lägga till ett gäng NVMe SSD:er till en server.

Hårdvaran

Kärnan i denna monumentala uppgift var AMD EPYC 9754 Bergamo-systemet med dubbla processorer, som erbjöd 128 kärnor vardera. AMD:s processorer, kända för sina exceptionella prestanda i högkomplexa beräkningsuppgifter (AI, HPC, Big Data Analytics) , stod för den nödvändiga kraften. Detta kompletterades av 1.5 TB DRAM, vilket säkerställde snabb databehandling och överföringshastigheter. Samtidigt erbjöd nästan en petabyte Solidigm QLC-lagring oöverträffad kapacitet och tillförlitlighet.

105 biljoner pi lagringsenheter

Vår baschassiplattform förblev densamma från förra året (en QCT-låda), men vi uppgraderade processorerna till AMD EPYC 9754 Bergamo-chips. Vi ville gå efter en hastighets- och decimalförbättring samtidigt som vi undvek att använda lagring för beräkningen, vilket innebar att vi var tvungna att anlita SerialCables för att tillhandahålla en JBOF. Detta innebar några utmaningar i sig, som vi kommer att beskriva nedan.

Parameter Värderar
Start datum Tis 19 dec 14:10:48 2023
Slutdatum Tis 27 februari 09:53:16 2024
Total beräkningstid 5,363,970.541 62.08 XNUMX sekunder / XNUMX dagar
Väggtid från början till slut 6,032,547.913 69.82 XNUMX sekunder / XNUMX dagar

Beräkningsperiod: 14 december 2023 – 27 februari 2024, 75 dagar.

  • CPU: Dubbla AMD Epyc 9754 Bergamo-processorer, 256 kärnor med simultan multithreading (SMT) inaktiverad i BIOS.
  • Minne: 1.5 TB DDR5 RAM.
  • Förvaring: 36x 30.72 TB Solidigm D5-P5316 SSD:er.
    • 24x 30.72 TB Solidigm D5-P5316 SSD:er i en JBOF med seriella kablar
    • 12x 30.72 TB Solidigm D5-P5316 SSD:er i servern direktansluten.
  • Operativ system: Windows Server 2022 (21H2).

Vägen till 105 biljoner

Parameter Värderar
Konstant Pi
Algoritm Chudnovsky (1988)
Decimala siffror 105,000,000,000,000
Hexadecimala siffror 87,200,612,490,794
Trådningsläge Cilk Plus Work-Steeling -> 256 / 256
Arbetsminnet 1,492,670,259,968 1.36 XNUMX XNUMX XNUMX (XNUMX TiB)
Total minnes 1,492,984,298,368 1.36 XNUMX XNUMX XNUMX (XNUMX TiB)
Logiskt största kontrollpunkt 157,783,654,587,576 144 XNUMX XNUMX XNUMX (XNUMX TiB)
Logisk toppdiskanvändning 534,615,969,510,896 486 XNUMX XNUMX XNUMX (XNUMX TiB)
Läsa logiska diskbytes 44,823,456,487,834,568 39.8 XNUMX XNUMX XNUMX XNUMX (XNUMX PiB)
Logiska diskbytes skrivna 38,717,269,572,788,080 34.4 XNUMX XNUMX XNUMX XNUMX (XNUMX PiB)

Stött på utmaningar

En ny komponent i den här körningen, som behövdes för att utöka det tillgängliga lagringsutrymmet för processorerna, var att lägga till en NVMe JBOF. Vår testplattform erbjöd 16 NVMe-fack, medan de återstående åtta endast var anslutna för SATA. Medan vår körning på 100 biljoner utnyttjade tre interna PCIe U.2-adaptrar för att utöka antalet NVMe-enheter till 19, var det inte optimalt. För den här omkörningen lade vi till en Serial Cables 24-fack U.2 JBOF , vilket hjälpte avsevärt på två sätt: mer lagring för beräkningsväxling och intern lagring av utdatafiler. Slut på galna RAID0-hårddisklagringsserver!

Seriekablar 24-bay JBOF tillät oss att nästan fördubbla antalet enheter från vår ursprungliga körning. Vi tilldelade 30 enheter till y-cruncher swap-utrymme, vilket lämnade 6 SSD:er för en Storage Spaces RAID5-utgångsvolym. En stor fördel med det tillvägagångssättet kom under slutsteget, där vi inte hölls tillbaka av hastigheten på en enda 10 Gb-anslutning, som den första 100T Pi-iterationen. Medan JBOF åtgärdade problemet med det totala antalet enheter, introducerade den en begränsning: individuell enhetsprestanda.

I en server med direktanslutna U.2 SSD:er finns det fyra PCIe-banor per enhet. Om varje enhet är direkt kopplad till moderkortet, fungerar det till 96 PCIe-banor för 24 SSD-enheter. JBOF:s totala bandbredd begränsas av antalet PCIe-banor som den kan ansluta tillbaka till värden.

I det här fallet använde vi två PCIe switch-värdkort, och delade upp JBOF i två grupper om 12 SSD:er. Varje grupp med 12 SSD-enheter delade sedan 16 PCIe-banor. Även om vi fortfarande erbjuder avsevärda fördelar med att ansluta SSD:erna till vår värd, hade vi scenarier där växlingsenheter som körs genom JBOF hamnade bakom enheter direkt kopplade till servern. Det här är inte JBOF:s fel. Det är bara en teknisk begränsning eller snarare en begränsning av hur många PCIe-banor servern kan arbeta med.

Sköna läsare kanske undrar varför vi stannade vid 36 SSD-enheter i den här körningen istället för att gå upp till 40. Det är en rolig historia. Adresserbart PCIe-utrymme har sina begränsningar på många servrar. I vårt fall, vid antalet 38 enheter, tog den sista SSD-enheten PCIe-adressen för USB-kretsuppsättningen, och vi förlorade kontrollen över servern. För att spela det säkert backade vi ner det till 36 SSD:er så att vi fortfarande kunde gå in i BIOS eller logga in på servern. Att tänja på gränser leder till några överraskande upptäckter.

Diagnostisk insikt och upplösning

Den första av de två största utmaningarna vi stötte på var prestandarelaterad. Det vi upptäckte var Amdahls lag i praktiken. Ett märkligt problem uppstod när y-cruncher verkade "hänga sig" på vårt 256-kärniga AMD Bergamo-system under stora swap-lägesoperationer. Denna hängning, som kännetecknades av brist på CPU- och disk-I/O-aktivitet, utmanade konventionella förväntningar på programvarubeteende. Detta ledde till en djupdykning i komplexiteten hos parallell beräkning och hårdvaruinteraktioner.

Upptäcktsprocessen avslöjade att programmet inte riktigt hängde utan fungerade i en kraftigt begränsad kapacitet och körde entrådigt över en expansiv 256-kärnig installation. Detta ovanliga beteende väckte frågor om den potentiella effekten av Amdahls lag, särskilt eftersom de inblandade operationerna inte var datorintensiva och inte borde ha orsakat betydande förseningar på ett system utrustat med 1.5 TB RAM.

Undersökningen tog en oväntad vändning när problemet replikerades på en konsumentdator, vilket belyste de allvarliga konsekvenserna av Amdahls lag även på mindre omfattande system. Detta ledde till en djupare undersökning av de bakomliggande orsakerna, vilket avslöjade en CPU-risk specifik för Zen4-arkitekturen som involverade superjustering och dess effekter på minnesåtkomstmönster.

105 biljoner pi - server och JBOF bak

Problemet förvärrades på AMD-processorer av en loop i koden som på grund av sin enkla natur borde ha exekverats mycket snabbare än vad som observerats. Grundorsaken verkade vara ineffektiv hantering av minnesaliasing av AMD:s load-store-enhet. Lösningen av detta komplexa problem krävde både att minska risken för superjustering genom vektorisering av slingan med AVX512 och att ta itu med den avmattning som orsakades av Amdahls lag med ökad parallellitet. Detta omfattande tillvägagångssätt löste inte bara det omedelbara problemet utan ledde också till betydande optimeringar i y-crunchers beräkningsprocesser, vilket skapade ett prejudikat för att ta itu med liknande utmaningar i högpresterande datormiljöer.

Nästa problem uppstod i de sista stegen av beräkningen, som skulle stanna oväntat och inte ge någon information om orsaken till kraschen. Fjärråtkomst beviljades till Alexander Yee, och för första gången på över ett decennium krävde att färdigställa en Pi-post direkt ingripande från utvecklaren.

Vi deltog inte i den här diagnostiska processen, men det fanns ett kritiskt flyttalsfel i AVX512-kodvägen för N63-multiplikationsalgoritmen. Alexander kunde fjärrdiagnostisera , tillhandahålla en fixad binärfil och återuppta från en kontrollpunkt, vilket kulminerade i en lyckad beräkning efter att ha implementerat viktiga programfixar.

Reflektioner och att gå framåt

Denna strävan illustrerar komplexiteten och oförutsägbarheten hos högpresterande datoranvändning. Att lösa dessa utmaningar satte ett nytt Pi-beräkningsrekord och gav värdefulla insikter om mjukvaruutveckling och testmetoder. Den senaste versionen av y-cruncher, v0.8.4, innehåller korrigeringar för de identifierade problemen, vilket lovar förbättrad stabilitet för framtida beräkningar.

Att beräkna Pi till 105 biljoner siffror var ingen liten bedrift. Det innebar noggrann planering, optimering och utförande. Med hjälp av en kombination av öppen källkod och proprietär programvara, optimerade teamet på StorageReview den algoritmiska processen för att fullt ut utnyttja hårdvarans kapacitet, minska beräkningstiden och förbättra effektiviteten.

Med PCIe Gen4 mättande läsprestanda och branschledande kapaciteter upp till 61.44 TB ger Solidigm QLC SSD:er otroliga resultat. "Föreställ dig vad dessa enheter kan möjliggöra i högpresterande datorer eller AI-intensiva applikationer", säger Greg Matson, VP för strategisk planering och marknadsföring på Solidigm. Vi är glada över att Solidigms SSD:er kunde driva Storagereviews andra rekordstora försök att beräkna pi. Deras ansträngningar bevisar de verkliga egenskaperna hos Solidigms lagringsenheter, vilket öppnar en värld av möjligheter för dataintensiva AI-applikationer.”

Slutsats

Körningen till 105 biljoner siffror av Pi var mycket mer komplex än vi förväntade oss. Vid eftertanke borde vi ha förväntat oss att möta nya frågor; trots allt slutför vi en beräkning som aldrig hade gjorts tidigare. Men med beräkningen på 100 biljoner slutförd med en mycket mer "gastejp och kycklingnät"-konfiguration, trodde vi att vi hade gjort det. I slutändan krävdes det ett samarbete för att få den här riggen över mållinjen.

Medan vi gläds med våra partners i denna rekordstora körning, måste vi fråga, "Vad betyder det här ens?" Ytterligare fem biljoner siffror av Pi kommer förmodligen inte att göra någon stor skillnad för matematik. Ändå kan vi dra några gränser mellan beräkningsmässiga arbetsbelastningar och behovet av modern underliggande hårdvara för att stödja dem. I grund och botten återspeglar denna övning att rätt hårdvara gör stor skillnad, oavsett om det är ett företagsdatacenterkluster eller en stor HPC-del.

För Pi-beräkningen var vi helt begränsade av lagringsutrymmet. Snabbare processorer kommer att hjälpa till att snabba upp matematiken, men den begränsande faktorn för många nya världsrekord är mängden lokal lagring i lådan. För den här körningen använder vi återigen Solidigm D5-P5316 30.72 TB SSD-diskar för att hjälpa oss att få drygt 1.1 PB rå flashminne i systemet. Dessa SSD-diskar är den enda anledningen till att vi kunde slå de tidigare rekorden och nå 105 biljoner Pi-siffror.

Detta väcker dock en intressant fråga. Många av våra följare vet att Solidigm har 61.44 TB SSD-diskar i sin D5-P5336 och upp till 30.72 TB i D5-P5430 SSD-diskar, tillgängliga i flera olika format och kapaciteter. Vi har granskat hårddiskarna och har många inlägg på sociala medier som visar upp dessa otroligt kompakta hårddiskar. Med 32 av dessa SSD-diskar som närmar sig 2 PB lagringsutrymme kan man undra hur länge de 105 biljoner siffrorna i Pi kommer att stå sig som världens största. Vi vill gärna tro att det inte är särskilt länge.

Största kända decimalsiffror i Pi

1432360875 9463978314 2999186657 8364664840 8558373926: Siffror till 105,000,000,000,000 XNUMX XNUMX XNUMX XNUMX

Engagera dig med StorageReview

Nyhetsbrev | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | RSS-flöde

Jordan Ranous

AI-specialist; navigerar dig genom en värld av Enterprise AI. Författare och analytiker för Storage Review, som kommer från en bakgrund av Financial Big Data Analytics, Datacenter Ops/DevOps och CX Analytics. Pilot, astrofotograf, LTO Tape Guru och batteri/solentusiast.