Detta dokument ger en översikt över riktmärket -HPGMG -för rankning av storskaliga allmänna datorer för användning på Top500-listan [8]. Vi ger en motivering till behovet av en ersättning för det aktuella metriska HPL, en viss bakgrund av Top500-listan och utmaningarna med att utveckla en sådan metriska; vi diskuterar vår designfilosofi och metodologi, och en översikt över specifikationen av riktmärket. Den primära dokumentationen med underhållna detaljer om specifikationen finns på hpgmg.org och själva Wiki- och referenskoden finns i arkivet https://bitbucket.org/hpgmg/hpgmg. Riktmärket High Performance Linpack (HPL) har varit ett framgångsrikt mått för rankning av högpresterande datorsystem. HPL blev en brett accepterad representant för applikationsprestanda när det kom till framträdande på 1990-talet, men med tiden har blivit mindre reflekterande av de systemprestandamått som spelar roll för samtida vetenskap och tekniska tillämpningar som lägre komplexitet algoritmer har utvecklats och krävs för extrem skala dator. Vi definierar ett mått för rankning av världens största allmänna datorer som upprätthåller många av HPL:s önskvärda egenskaper: en direkt, icke-iterativ, lösare (även om endast asymptotiskt exakt) för system med linjära algebraiska ekvationer med ett metriska ekvationer lösta per sekund (med en kartläggning till floppar/s). Vi definierar en högpresterande geometrisk multigrid (HPGMG)-riktmärke som ger en mer balanserad övning av maskinkapacitet, i förhållande till tillämpning av intresse för vetenskaplig databehandling, för att ge en mer exakt proxy för moderna tillämpningskrav. HPGMG består av beräkningar och dataåtkomstmönster som är vanligare i samtida tillämpningar. Med hjälp av HPGMG strävar vi efter att skapa ett riktmärke för rankningssystem som ska främja systemdesignförbättringar som är bättre anpassade till verkliga vetenskapliga tillämpningars prestanda. High Performance Linpack () är den mest kända och diskuterade mätmetoden för rankning av högpresterande datorsystem. När HPL fick en framträdande ställning som ett prestationsmått i början av 1990-talet fanns det ett starkt samband mellan dess förutsägelser om systemrankning och den ranking som fullskaliga tillämpningar skulle inse. Leverantörer av datorsystem arbetade med konstruktioner som skulle öka HPL-prestandan, vilket i sin tur skulle förbättra den totala applikationsprestandan. HPL ranking av datorsystem är inte längre så starkt korrelerad till verklig applikation prestanda, särskilt för den breda uppsättning HPC-applikationer som analyserar differentialekvationer, som tenderar att ha mycket starkare behov av hög bandbredd och låg latens, och tenderar att få tillgång till data med hjälp av oregelbundna mönster. I själva verket har vi nått en punkt där design av ett system för bra HPL prestanda faktiskt kan leda till designval som är fel för den verkliga applikationsmixen, eller lägga till onödiga komponenter eller komplexitet i systemet. Trots att, på grund av sin långa ackumulerade historia, Top500-listan fortsätter att erbjuda en mängd information om HPC industrin trender och investeringar, men missmatchningen mellan observerade programresultat och HPL ranking har blivit ohållbar. Vi förväntar oss att gapet mellan HPL-mätningar och de förväntningar som ställs på att den verkliga applikationsprestandan ska öka i framtiden. Bristen på överensstämmelse mellan observerad applikationsprestanda och de förväntningar som ställs av HPL leder till skepsis från applikationsgemenskapen och en tendens att i förtid deklarera framgång vid varje större ökning av toppflopphastighetsförbättring när applikationer inte ser motsvarande prestandaförbättringar. I själva verket, baserat på exemplet från Tianhe-2, kommer den första 1 Exaflop HPL sannolikt att uppnås via brute-force, vilket kommer att resultera i design som är oattraktiv för verkliga tillämpningar. Utan insatser kommer en sådan utveckling att underskrida FoU-investeringarna för att skapa mer användbara system på grund av att man i förtid har förklarat sig framgångsrik när det gäller att uppnå nästa milstolpe på 1000x när det gäller förbättring av HPL:s prestanda. Som ett resultat söker vi en ny mätmetod som kommer att ha en starkare korrelation till vår applikationsbas och kommer därför att driva systemdesigners i riktningar som kommer att förbättra applikationsprestandan för en bredare uppsättning HPC-applikationer. 2 2.1 Varför HPL har förlorat relevans HPL faktorer och löser täta system av linjära ekvationer med Gaussian Eliminering med partiell pivoting. De dominerande beräkningarna i denna algoritm är tät matris-matris multiplikation och relaterade kärnor, som kan uppnå mycket hög beräkningsintensitet. Med rätt organisation av beräkningen, dataåtkomst är övervägande enhet steg och är mestadels dold genom att samtidigt utföra beräkning på tidigare hämtade data. Denna typ av algoritm gynnar starkt datorer med mycket höga flyttal-punkt beräkningshastigheter och adekvat strömmande minnessystem, och var en ganska bra reflektion av de dominerande beräkningstekniker på sin tid. Dessutom var HPL en bra proxy för en tid då flyttalsprestanda och minneskapacitet var bland de mest kostsamma aspekterna av konstruktionen, och representerade det mest önskvärda attributet för sådana system. Förmågan till riktmärket att skala genom många storleksordningsförbättringar i maskinvaruprestandaförbättringar, och till minne kapacitet har gjort det möjligt att förbli ett standardmått för att dokumentera historiska förbättringar i prestanda för toppsystem för tre decennier - att överleva alla andra kända riktmärken för att bedöma och rangordna systemprestanda. Under HPL-riktmärkets och Top500-listans livstid har utvecklingen av snabbare och mer beräkningseffektiva algoritmer minskat användningen av dessa högflytande punktintensiva algoritmer i de flesta tekniska och vetenskapliga samhällen. Många av dessa algoritmer är flernivåmetoder (t.ex. mesh partitionerare, flerskaliga metoder samt ekvationslösare). Dessa algoritmer har i allmänhet lägre eller lika komplexitet i nästan varje tänkbar komplexitetsmått (t.ex. floppar, beräkningsdjup, minnesanvändning, minnesrörelse på alla nivåer i minneshierarkin) än deras föregångare. Till exempel har multigrid förbättrat tiden till lösning genom att minska det totala antalet steg till lösning (inklusive krav på nästan alla mått för hårdvaruprestanda) utöver att minska det totala antalet FLOP. I SCALES-rapporten från [6] konstaterades att tidigare prestandaförbättringar i algoritmer har lett till 9 storleksordningsförbättringar i den levererade applikationens prestanda under samma period som maskinvaruförbättringar endast gav 3 storleksordningsförbättringar. Idag är algoritmer med aritmetisk intensitet (AI) på 2-4 floppar/byte, och lägre, vanliga. Medan forskning och utveckling inom algoritm och teknik för att öka AI, i syfte att minska datarörelser, HP-riktmärke bör återspegla den högre minnesbandbredd och lägre latency krav moderna algoritmer och framtida tillämpning. Inte bara har utformningen av algoritmer glidit bort från de egenskaper som dominerade vid den tidpunkt då HPL först formulerades, så också har de grundläggande tekniska utmaningarna i HPC hårdvara design. På 1980-talet var 3 FLOPS bland de mest värdefulla komponenterna i HPC-system och utgjorde en första order teknisk utmaning att skala. Nu har energiförbrukningen blivit en ledande designutmaning för framtida HPC-system. Energikostnaden för att utföra en flyttalsoperation brukade vara dominerande, men den energi som förbrukas genom att flytta operanderna för en sådan operation överstiger energikostnaden för flyttalsoperationen eftersom logiska prestanda och kostnader har förbättrats snabbare än förbättringar i datarörelser sedan 2004. Så HPL är varken reflekterande av nuvarande algoritm design eller är det starkt reflekterande av de mest angelägna utmaningar för utformningen av framtida datorutrustning. Den betonar aspekter av hårdvaran som är jämförelsevis lätta att skala (FLOP) och försummar de framväxande utmaningarna som t.ex. att skala upp sammanlänkningen och minnesbandbredden. Det har varit många misslyckade försök att ersätta HPL, delvis på grund av sin långa historia, men också på grund av sin förmåga att hålla svag-skalning genom många storleksordningsförbättringar i minneskapacitet och toppsystemprestanda. Erich Strohmaier har påpekat att vi måste välja omfattande mätvärden som HPL som kan rangordna system på ett sätt som spårar tillväxten av förmåga även om metriska inte återspeglar tillväxthastigheten i de metics som är av mest värde för användargemenskapen [7]. Försök att ersätta HPL ranking har tenderat att misslyckas eftersom de flesta vanliga formuleringar av omfattande mätvärden tenderar att korrelera (om än oprecis) till den totala storleken på maskinen. System som erbjuder fler HPL FLOPs tenderar att vara större, och därför har större mängder av de andra omfattande mätvärden som minne bandbredd, bisektion bandbredd, och andra viktiga mätvärden som kan utövas genom skalning. Det önskade resultatet är dock att göra det absoluta värdet av rankingen mer noggrant spåra observerade programprestanda fördelar, och att erbjuda algoritmer utmanande nog att återspegla programmerbarhet problem för verkliga system. Detta förhindrar för tidig förklaring av framgång med varje större milstolpe prestandaförbättring, som underskrider stödet från applikationer (som inte realiserar liknande förbättringar) och underskridna forskningsfinansiering för att ta itu med de mycket svårare hårdvaru- och programvaruförbättringar. Ett riktmärke måste återspegla förbättringar av datorsystem som gynnar våra applikationer och är nödvändigt för att dokumentera framtida förbättringar av HPC-system. Metrisken ska vara utformad så att, eftersom vi optimerar metriska 4 resultat för en viss plattform, förändringarna också kommer att leda till prestandaförbättringar som realiseras av verkliga applikationer. Alla nya mätvärden vi inför måste uppfylla ett antal krav: • Specificera egenskaperna hos moderna högeffektiva algoritmer. • Exakt återspegla de principiella utmaningarna med framtida maskinvarudesign - en balanserad kombination av minnesbandbredd, sammanlänkningsprestanda (både för små och stora meddelanden), beräkningsprestanda och tillförlitlighet. Det bör inte vara möjligt att "fuska" riktmärket genom att överbringa hårdvaran på något av dessa områden. En maskin som är konstruerad enbart för prestanda på out metrisk bör resultera i en "pretty good"-maskin för vetenskapliga och tekniska tillämpningar. • De absoluta förbättringarna av detta riktmärke bör i slutändan återspegla prestandaförbättringar som kan realiseras i verkliga tillämpningar, som sker i mycket långsammare takt än förbättringar i toppflops. • Det måste kunna skalas genom många storleksordningar förbättring av maskinvarulagringskapacitet, och prestanda - så som HPL har under de senaste tre decennierna. Inget referensvärde kan ge en korrekt proxy för en viss tillämpning, men vi anser att ett heltäckande referensvärde har två fördelar jämfört med alternativet: en viktad uppsättning eller påse med (enkel) referensvärden. Ett heltäckande riktmärke, som HPL, har fördelen att det är mycket lättare att administrera, definiera och döma. Beslut om vikter skulle vara en omtvistad process (även om vi har önskemål parametrar som är något liknande), och de nuvarande administratörerna på topp500 listan anser att det enda monolitiska "lösning" tillvägagångssätt är mycket önskvärt. Observera att vårt val av algebraiska ekvationslösare är något godtyckligt eftersom andra tillämpningar skulle kunna ge en ram för ett riktmärke. Den wighted påse med riktmärken och att parametrar i vårt riktmärke kräver explicit definiera maskinmått, mäta dessa mätvärden i riktmärket och applikationer, och montera interna parametrar för att ge den bästa proxyn för tillämpningar av intresse. Posing ett fundamentalt svårt problem (dvs ett problem med hög matematisk komplexitet) att lösa implicit kräver en effektiv maskin. Vi vill ha ett rationellt tillvägagångssätt, med modellering och mätningar, för att jämföra design men modeller är inte perfekta mått på maskineffektivitet och ett riktmärke som både implicit och explicit kräver en effektiv maskin är önskvärt. Fördelen med den viktade påsen med riktmärken är att man har stor frihet att anpassa riktmärket till applikationer; vi anser att HPGMG ger tillräckligt med interna parametrar (t.ex. ekvationer för att lösa, diskretization och olika multigrid schemaläggning) för att korrekt matcha applikationer. Det åligger oss att visa detta 3.3.  Metrics för att bedöma effektiviteten av ett referensvärde som en proxy för en ansökan eller en samling av tillämpningar är avgörande för rationell utformning och bedömning av ett referensvärde. I detta syfte definierar vi maskinmått och metod för att samla in dessa mått, samla in dessa mått för applikationer, och parameterisera ( §3.3) våra riktmärken för att bäst matcha "tillämpningar". Vi kommer att vara lyhörda för gemenskapen för att definiera applikationsmixen. Ett mål med benchmarkingdesign är att vara tillräckligt flexibel för att på ett adekvat sätt matcha tillämpningar inom vetenskaplig pendling, men vad denna exakta blandning är kräver gemenskapsinput. Definitioner av mätvärden och metoder finns på arkivet Wiki (https://bitbucket.org/hpgmg/hpgmg/wiki). Ett HPC-riktmärke är en komplex social, ekonomisk, politisk, teknisk och matematisk strävan. De många misslyckandena med att ersätta HPL bekräftar detta. Vi strävar efter att efterlikna det vi ser som en del av den viktiga aspekten av HPL. Förutom HPL:s styrkor som vi redan har nämnt ser vi ytterligare tekniska egenskaper hos HPL som har lett till dess framgång: (1) En matematiskt global, helt sammankopplad applikation -lösning slumpmässiga täta linjära system. (2) En optimal order komplexitet algoritm för applikationen -O(N 3 ) arbets komplexitet. (3) Ett högkvalitativt genomförande -Linpack var och är en toppmodern implementering av numeriska Gauss eliminering. (4) En tydlig, väldefinierad, giltig metriska-ekvationer/s med en kartläggning till floppar/s. Vi föreslår ett nytt riktmärke som ska läggas till Top500-listan, som löser ett system av algebraiska ekvationer med en tillämpning av hela geometriska multigrid. Detta förslag behandlar våra designkrav enligt följande: Ansökan: Vi föreslår att lösa en diskretisering av den variabla koefficienten Laplacian problem med en analytisk lösning på ett kartesiska rutnät i 3D. Lösningen på Laplacian har O(log(N )) beräkningsdjup eller parallell komplexitet inneboende i problemet. Det vill säga, det är ett matematiskt globalt problem och kräver en fullständig sammanflätad beräkning för att lösa. Komplexitet: En fullständig multigrid (FMG) tillämpning, [4, 5, 9 ] §A, har optimal arbets komplexitet av O(N ), beräkningsdjup av O(log 2 N ), och är en bevisligen asymptotiskt exakt lösare för den konstanta koefficienten Laplacian med en 6 konvergens i samma ordning som diskretization. Vi observerar och kan verifiera denna asymptotiska konvergens för icke-konstant problem inom FMG inom vårt riktmärke eftersom FMG har en Cauchy sekvens (normar av fel och restvärden på varje nivå) som kan rapporteras för att verifiera quadratic konvergens. Dessutom kan vi uppnå vad som kallas "textbok multigrid effektivitet" där konstanten i komplexiteten är cirka 10 restberäkningar. Nära lärobok effektivitet har visats för många tillämpningar inklusive ickelinjära, åtta fält, resistiv magneto-hydrodynamik [3]. Beräkningsdjupet är kvadraten på den teoretiska nedre gränsen. Detta är uppenbart icke-optimalitet är faktiskt en funktion i att det sätter mer press på kommunikationsväven eftersom mer arbete görs på grova rutnät där det finns mindre arbete för att avskriva kommunikationslatens. Det finns andra multigridcykler, som har olika ransoner av globalt till lokalt arbete, och vi kan använda detta en parameter i riktmärket. Vi använder Chebysjev smidigare, vilket bara kräver tillämpning av operatören och grundläggande vektoroperationer. Även om Gauss-Seidel är en populär multigrid smidigare det kräver en separat kärna, är komplext att genomföra parallellt för högorderoperatörer (potentiellt en bra funktion men vi har valt att inte fullfölja det) [1], och är inte särskilt önskvärt för elliptiska operatörer. Genomförande: Vi har experter i multigrid, har genomfört multigrid många gånger mellan oss, konsultera och är medförfattare med världens experter på multigrid, och är därmed väl kvalificerade att utföra detta arbete. Denna applikation är enkel nog att vi kan distribuera implementationer som är relativt nära optimal, åtminstone i högnivåmeddelandet passerar skiktet. Vi distribuerar referensimplementeringar av kärnorna, som kan optimeras av användare, som är mycket effektiva på åtminstone vissa arkitekturer. Metrisken: Medan floppar/s är det publicerade HPL-måttet, är detta inte ett giltigt mått. Strohmaier påpekar: "... de grundläggande idéerna om hur man konstruerar ett allmänt nyttomått för ett sådant ändamål. Den multiplicerar alla önskade mängder (kompletterande förmåga) och delar dem med oönskade mängder...". HPL kringgår detta problem genom att på ett avgörande sätt definiera antalet floppar (och oönskade mängder) som en funktion av det antal ekvationer som lösts (en önskvärd mängd). Vårt mätvärde är ekvationer lösta per sekund. Vi kan kartlägga ekvationer till floppar med en linjär funktion, som beror på många designfaktorer som vi definierar §3.3, om detta önskas av gemenskapen. Eftersom vi bara har en asymptotiskt exakt metod står vi inför utmaningen att definiera "löst". En av fördelarna med FMG, förutom att vara effektiv och icke-iterativ, är att den är utrustad med en Cauchy sekvens (normar av fel eller rester på varje nivå) som kan användas för att verifiera samma ordning konvergens som diskretization.  Med tanke på maskinmåtten för att mäta beräkningsegenskaperna för en kod (tillämpning och riktmärke) vill vi att vårt riktmärke ska kräva en maskin som ligger nära den av våra applikationer av intresse.Geometrisk multigrid med matrisfria operatörer ger flera fria parametrar som kan justeras för att förbättra passformen av riktmärke för applikationer. Ekvationer och diskretiseringar är en fri parameter som kan definieras och förstås tydligt och enkelt verifieras. Matrix fria metoder erbjuder ett brett spektrum av aritmetisk intensitet (en proxy för flopphastigheter), krav på både streaming och cacheminne, och komplext processsamarbete där naturliga enheter för beräkning som element eller flödesytor uppdaterar flera variabler. Multigrid gör det också möjligt att specificera den smidigare schemaläggningen, antalet steg före och efter utjämning på varje nivå. Ett stort antal utjämningssteg använder fler floppar i den högintensiva operatören eller smidigare kärnor och möjliggör mer slingfusion. Mer utjämning steg på grova rutnät och användas för att justera mängden arbete som görs på grova rutnät. Multigridcykler (t.ex. V, W och F) kan användas som parameter för att också definiera andelen arbete på grova kontra fina rutnät. Vi tillhandahåller en hög nivå sele, eller ramkod, för riktmärket som kör FMG lösare och referensimplantationer av kärnor, som innehåller alla numeriska och kommunikation. Vår sele använder MPI och med tanke på antalet MPI-processer, ett valfritt processindex utrymme, och storleken på en lokal rektangulär 3D Cartesian rutnät på varje process, definierar en 3D problemdomän. Vi kör FMG med en tillverkad lösning, genererar en höger sida och verifierar felet på varje nivå, ringer kärnan metoder för de numeriska (t.ex., multigrid förlängning och begränsning, tillämpa operatören, normer, etc.). Vi tillhandahåller referensimplementeringar av kärnorna och användare uppmuntras att skriva anpassade kärnor och lägga till dem i arkivet för verifiering och offentlig utgivning efter att topp500-listan har publicerats. Vi avråder från att skriva ett nytt sele och förbehåller oss rätten att avvisa varje underkastelse som inte använder vårt sele. Vi uppmuntrar användarna att samarbeta med oss för att erbjuda flexibilitet som skulle motivera att skriva en ny sele. Till exempel kan slingfusionstekniker kräva att mer av FMG-algoritmen är abstrakt. Vi kommer att arbeta med användarna för att ge önskad flexibilitet. Om användare inte vill använda MPI i selen, till exempel, vilket kräver en omskrivning av selen, kommer vi att arbeta med dig för att certifiera nya selar att lägga till i riktmärke 8 arkiv, återigen att vara allmänt tillgänglig efter dess publicering på topp500 listan [2]. Ytterligare uppgifter om specifikationen finns på arkivet Wiki (https://bitbucket.org/hpgmg/hpgmg/wiki).
De miniapplikationerna HPGMG-FV och LULESH liknar mest vår miniapplikation, men den förra fungerar på ett strukturerat mesh REF och den senare har ingen multigridlösare.
HPGMG 1.0: A Benchmark for Ranking High Performance Computing Systems
{'venue': None, 'journal': None, 'mag_field_of_study': ['Computer Science']}