Hem Företag The Math of Performance: Stresstestning av maskinvara för matematikföränderliga resultat

The Math of Performance: Stresstestning av maskinvara för matematikföränderliga resultat

by Gästförfattare

Vi fördubblade decimalrekordet för log(2) till 3 biljoner siffror på bara 42.7 timmar, en effektivitetsförbättring med cirka 50 gånger på 3 år.

Följande är från Jorge Zuniga, en oberoende civilingenjör fokuserad på att hitta matematiska recept. Jorge har arbetat med Jordan för att utnyttja servrar och lagring i vårt labb för att göra grundläggande framsteg inom matematik. Vi har varit stolta över att delta i denna forskning med Jorge och vår lilla teaser video för sociala medier från ett par veckor sedan fick enormt stöd. 

 

Visa det här inlägget på Instagram

 

Ett inlägg som delas av StorageReview (@storagereview)

Sedan den videon har vi fortsatt att arbeta med Jorge för att testa modeller på arbetsstationer och sedan köra dem i sin helhet på Supermicro E1.S server, fylld med KIOXIA XD7P E1.S SSD:er. Plattformens täthet och förmågan att hålla så många enheter nära processorn gör detta till en utmärkt plattform för den här typen av matematikforskning. 

Vi är stolta över att kunna presentera Jorges resultat här. – Brian Beeler

Kvalitetskontroll genom stresstester representerar en sund policy för att fastställa den faktiska kapaciteten hos en given hårdvaruanläggning. Sifferknäppning är en utbredd praxis för att implementera dessa policyer. I synnerhet när du utvärderar ditt systems faktiska prestanda med professionell kvalitet finns flera verktyg tillgängliga för att leverera korrekta resultat.

En, utvecklad i Österrike och en favorit för mig, är Matthias Zroneks BenchMate, som innehåller flera krävande stresstester för SSD, minne, GPU:er och processorer. Andra högpresterande datorpaket, som Zroneks GPUPI, beräknar konstanten π med hjälp av GPU:n. Beräkningen av decimaler av π är ett standardtest som ofta har dykt upp i den specialiserade vetenskapliga pressen och vissa matematikspecialiserade sociala nätverk när rekordet med kända decimaler har brutits. I dag, 100 biljoner decimaler (10^14) av π är kända.

I BenchMate finns det också Alex Yees y-cruncher, en plattform som tillåter CPU-Multicore-beräkning av många matematiska konstanter, inklusive π, med extremt hög precision, vilket ger ett stort antal decimaler som endast begränsas av systemets kapacitet. I det här fallet kan flera strategier följas, som att välja en konstant och stressa systemet för att beräkna ett tillräckligt stort antal decimaler genom att registrera förfluten tid det tar. Detta ger ett utmärkt mått för att rangordna och jämföra prestanda för olika isolerade inställningar.

Dessutom, om det finns tillräckligt med installerad kapacitet, kan en systeminstallation köras för att bryta det kända antalet decimaler för en given konstant, en utmaning som togs på StorageReview med stor framgång. Som rapporterats i december Notera 2023, jag arbetade med StorageReview-teamet för att förbättra det kända antalet decimaler för flera matematiska konstanter. Vi lyckades inte bara slå dessa rekord, utan vi gjorde det på kortast möjliga tid. Det har varit historiskt normalt att ta veckor eller månader att göra det. Genom att arbeta med StorageReview uppnådde vi detta för alla konstanter på bara timmar och, i vissa fall, genom att fördubbla antalet kända decimaler. Tekniken som finns tillgänglig på StorageReview har möjliggjort tidsminskningar i storleksordningar. En sammanfattning av dessa resultat och deras detaljer kan hittas här..

Rekordresultat satt av y-cruncher. För en komplett lista över rekord som satts av y-cruncher, besök nummervärlden.

Denna not hänvisar just till dessa resultat. För att få en decimalpost måste du agera i tre lager.

Med början från botten, är det tredje eller sista lagret hårdvaruinställningen; detta innebär en robust SSD-installation, högpresterande RAM-kapacitet och toppmodern flerkärnig CPU. Många av dessa detaljer och den tillämpade inställningen kan ses online här..

Det andra, eller mellanliggande lagret, innefattar mjukvaran, dvs y-cruncher, som utgör länken mellan de initiala och slutliga lagren. För att öka dess prestanda upprätthåller y-cruncher olika körbara atomer beroende på typen av flerkärnig CPU i systemet. Rätt exekverande atom väljs automatiskt vid körningstillfället. Bänktestaren gör det möjligt för användaren att välja en konstant och tillämpa motsvarande algoritm. Denna algoritm kan antingen integreras direkt i systemet eller, om inte, använder den anpassade konfigurationsfiler för implementering. Detaljer om implementering och användning av y-cruncher kan ses på nummervärlden. mjukvaran y-cruncher är ständigt under utveckling och surfar på vågen av ny hårdvaruteknik.

Det första, eller initiala lagret, är algoritmen, eller snarare den matematiska formeln som implementeras för att beräkna konstanten som fungerar som indata för y-cruncher. Varje konstant kan representeras av ett oändligt antal formler, av vilka nästan alla har dålig prestanda, i den meningen att många matematiska operationer bara kan leverera ett fåtal korrekta siffror.

På andra sidan finns kategorin effektiva formler. Av dessa sticker den hypergeometriska serien ut. Inom den serien finns en handfull som är lämpliga för att slå rekord, att kunna ge många decimaler på en relativt kort tidsram. Faktum är att den primära formeln för beräkning av π, känd som Chudnovsky-algoritmen, är en av de hypergeometriska formlerna.

I nära samarbete med StorageReview-teamet har vi också tagit oss an utmaningen att söka efter dessa formler, det vill säga agera på det första lagret för att uppnå en mycket effektiv hypergeometrisk serie som gör det möjligt att hitta den snabbaste formeln som är känd. Hur går detta till? En multicore-setup behövs, förhoppningsvis med så många fysiska kärnor som möjligt, för att tillämpa distribuerad beräkning eftersom processen är mycket CPU-krävande men lätt kan parallelliseras med en stor minskning av beräkningstider. Den nya formeln, om den lyckas, kommer att användas för att bryta rekordet med kända decimalsiffror för den konstanten.

Vi använde en 64-kärnig AMD Theadripper PRO 5995WX och förberedde kodskript på PARI-GP, en University of Bordeaux (Frankrike) plattform för nummerteori, och implementerade en sökalgoritm. Målet är att identifiera en uppsättning 64-bitars heltal som, när de infogas i parametrarna för en viss hypergeometrisk serie med en känd fast struktur, ger den konstant vi söker. För att göra detta används LLL-algoritmen - en intern del av PARI GP - som letar efter linjära heltalssamband mellan flera precisionsflyttalsvärden. Mer matematiska detaljer finns på mathoverflow.net.

Vi började först med konstanten ζ(5) = 1.036927755143... eftersom den inte har en särskilt effektiv känd formel, men den visade sig vara väldigt svårfångad. Vi kunde inte hitta en känd formel utöver den unika hypergeometriska serien, som för övrigt inte är tillräckligt snabb. Efter ett par misslyckade veckor gick vi över till en hypergeometrisk serie för logaritmer.

I det här fallet hade vi framgång, vi kunde hitta de snabbaste kända algoritmerna för de grundläggande konstanterna log(2), log(3) och log(5) som beskrivs i detta blogg.

Logg(2) Formelsökning. Alla 64 fysiska kärnor är upptagna.


Skärminspelning. Snabbaste Log(2)-serien hittades.


Logg(2) StorageReview G2-formel hittades

Efter att ha upptäckt formlerna förberedde vi skripten för y-cruncher. Storagereviews Jordan Ranous designade installationen för att slå antalet kända decimaler. I det här fallet en uppsättning baserad på 2x Intel Xeon Platinum 8460H och 512 GB SK Hynix RAM.

Denna inställning fördubblade decimalrekordet för log(2) till 3 biljoner siffror på bara 42.7 timmar. En andra ny algoritm – G2-formeln nedan, som också finns i StorageReview Lab – användes för att verifiera decimalerna, vilket tog 58.3 timmars väggtid. Det bör noteras att det tidigare rekordet 2021 tog 98.9 respektive 61.7 dagar för beräkning och verifiering av 1.5 biljoner decimalsiffror. Det innebär en effektivitetsförbättring på cirka 50x på 3 år.

Vi har kunnat utföra alla nödvändiga steg för att producera användbara resultat. En ny formel för en matematisk konstant, log(2), upptäcktes med hjälp av en specialanpassad installation. Denna formel applicerades sedan på en skräddarsydd uppställning för att bryta rekordet för antalet decimaler kända för just denna konstant.

StorageReview-anläggningar har gjort det möjligt att täcka hela processen med att förbereda bänktester baserade på numeriska beräkningar som sätter ett system under stor påfrestning. Dessa experiment testade framgångsrikt SSD, RAM och CPU till det yttersta.

– Jorge Zuniga

Engagera dig med StorageReview 

Nyhetsbrev | Youtube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | Rssflöde