LINPACK prestandatester

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 14 augusti 2022; verifiering kräver 1 redigering .
Benchmark Linpack
Sorts utvärderingsprov
Författare Jack Dongarra , Jim Bunch, Cleve Moler , Gilbert Stewart
Första upplagan 1979 ( 1979 )
Hemsida netlib.org/benchmark/hpl/

LINPACK -riktmärkena mäter datorers beräkningsprestanda vid bearbetning av flyttal . Skapad av Jack Dongarra 1979, mäter de hur snabbt en dator kan lösa ett tätt system av linjära ekvationer (SLAE) Ax=b , där A är en n gånger n matris. Ett liknande problem uppstår ofta inom området maskinteknik .

Den senaste versionen av dessa riktmärken används för att sammanställa TOP500 , en lista som listar världens högst presterande superdatorer. [2]

Syftet med att skapa tester är att utvärdera hastigheten för att lösa verkliga problem med en dator. Men poängsättning med ett enda test är en förenkling eftersom ingen enskild beräkningsuppgift kan återspegla den övergripande prestandan hos ett datorsystem. LINPACK-prestanda för att tillhandahålla data för att förfina toppprestanda som tillhandahålls av datortillverkaren (toppprestanda är den maximala teoretiska prestanda som en dator kan uppnå, beräknat som produkten av processorns klockhastighet och antalet operationer som utförs per klocka), den faktiska prestanda kommer alltid att vara lägre än den maximala prestandan [ 3] . Datorprestanda är en komplex egenskap som beror på många inbördes relaterade komponenter. Prestandan som mäts av LINPACK-riktmärket visar antalet 64-bitars flyttalsoperationer (additioner och multiplikationer) som datorn utförde per sekund, ett förhållande som betecknas " FLOPS ". Prestandan hos en dator när man kör riktiga applikationer är dock sannolikt betydligt lägre än den maximala prestanda som uppnås när man kör ett motsvarande LINPACK-test. [fyra]

Namnet på dessa tester kommer från LINPACK -paketet, en uppsättning Fortran algebraiska rutiner som användes i stor utsträckning på 1980-talet och som ursprungligen var nära besläktade med LINPACK-testet. LINPACK-paketet har sedan ersatts av andra bibliotek.

Historik

LINPACK-riktmärket dök upp första gången 1979 som en bilaga till LINPACKs mattebiblioteks användarmanual . [5]

LINPACK har utformats för att hjälpa användare att uppskatta hur lång tid det tar för deras datorsystem att slutföra uppgifter med hjälp av LINPACK -paketet . För detta extrapoleras prestandaresultat som erhållits på 23 olika datorer som löser ett problem med en matrisstorlek på 100 gånger 100 element.

Denna uppgiftsstorlek valdes med hänsyn till de karakteristiska minnesstorlekarna och processorprestanda under den eran:

Under årens lopp har ytterligare versioner släppts med större olika problemstorlekar, såsom 300 gånger 300 och 1000 gånger 1000 nummermatriser. Det har också dykt upp implementeringar som använder hårdvarufunktioner för att påskynda matris-vektor- och matrismatrisoperationer. [6] Parallell databehandling dök upp i en variant av LINPACK Parallelltest i slutet av 1980-talet. [3]

1991 modifierades LINPACK-testet för att lösa problem av godtycklig storlek [7] , vilket gjorde att högpresterande datorer (HPC) kunde närma sig sin asymptotiska prestanda.

Sedan 1993 har detta test använts för att sammanställa TOP500- rankingen .

Benchmarks

LINPACK 100

LINPACK 100 ligger mycket nära det ursprungliga testet som publicerades 1979 i LINPACK User Guide ( ISBN 089871172X ). SLAE-lösningen produceras genom partiell -rotation gaussisk eliminering , utför 2/3 n³ + 2n² flyttalsoperationer, där n är 100 och tät matris A är 100 gånger 100. Matrisens ringa storlek och bristen på mjukvaruflexibilitet är få moderna datorer för att visa prestanda nära maximalt i detta test. Detta riktmärke kan dock fortfarande vara användbart för att förutsäga prestanda i numeriskt intensiv anpassad kod kompilerad med optimeringar. [3]

LINPACK 1000

LINPACK 1000 ökar matrisstorleken till 1000 gånger 1000 element och ger prestanda närmare det maximala för en dator. Ändringar i algoritmen är tillåtna, men en minskning av lösningens relativa noggrannhet är inte tillåten. Vid beräkning av testets prestanda är formeln för antalet utförda flytande operationer alltid 2 / 3n³ + 2n², med värdet n = 1000. [3]

HPLinpack

Tidigare generationer av testet var inte lämpliga för att testa parallella datorer, [8] och det så kallade "Linpack's Highly Parallel Computing"-testet, aka HPLinpack, utvecklades. I det nya testet kan uppgiftsstorleken n ökas till den storlek som krävs för att optimera maskinens prestanda. Antalet operationsformel 2 / 3n³ + 2n² används fortfarande, oavsett vilken algoritm som faktiskt används. Användningen av Strassen-algoritmen är inte tillåten eftersom den förvränger den faktiska exekveringshastigheten. [9] Noggrannheten hos den hittade lösningen måste vara sådan att följande egenskap är uppfylld:

, där är maskinens precision, och n är storleken på problemet, [10] är normen för matrisen och motsvarar notationen big-O ("O" big).

Följande kvantiteter rapporteras för varje datorsystem: [3]

Dessa resultat används för att sammanställa TOP500- listan över världens snabbaste superdatorer, samt Green500 . Utkommer två gånger om året.

Implementering av LINPACK-tester

Föregående avsnitt beskrev grundreglerna för benchmarks. Den faktiska implementeringen av programmet kan skilja sig åt, det finns varianter för Fortran , [11] C [12] och Java [13] .

HPL

HPL är en mobil implementering av uppgiften HPLinpack, skapad i programmeringsspråket C. Det fungerade ursprungligen som en exempelimplementering, men har sedan dess blivit allmänt använd för att få data för TOP500-listan , även om andra implementeringar och paket kan användas. HPL skapar ett linjärt system av ekvationer av ordningen n med slumpmässiga koefficienter och löser det sedan med hjälp av en LU-sönderdelning med partiell radrotation. Implementeringen kräver installerade implementeringar av MPI (message passing library) och ett matematiskt bibliotek: BLAS eller VSIPL [14] .

I allmänhet har denna implementering följande egenskaper: [15] [16]

Kritik

Det hävdas ibland att framgången med LINPACK-testet beror på den goda skalbarheten hos uppgiften HPLinpack [17] , det faktum att resultatet av testet är ett enda nummer som är lätt att jämföra och en stor mängd historisk data . [18] Emellertid, kort efter introduktionen, kritiserades LINPACK för att visa prestandanivåer "i allmänhet utanför räckhåll för alla utom ett mycket litet antal programmerare som tröttsamt optimerar sin kod för och endast för en given dator." [19] Benchmark testar hastigheten för att lösa täta linjära system , men denna uppgift är inte representativ för alla operationer som vanligtvis utförs inom vetenskaplig beräkning. [20] Jack Dongarra , medförfattare till LINPACK-testerna och TOP500-listan, noterade att dessa tester bara fokuserar på "topp" processorhastigheter och siffror, samtidigt som de underutnyttjar lokala minnesbussar och nätverksanslutningar. [21]

Tom Dunning, Jr., chef för National Center for Supercomputing Applications, beskrev LINPACK-testet så här: "Linpack-testet är ett av de intressanta fenomen vars användbarhet förlöjligas av nästan alla som känner till det. De förstår dess begränsningar, men testet är populärt eftersom det visar ett enda nummer och har använts i många år.” [22]

Enligt Dongarra, "Top500 försöker aktivt utöka täckningen av benchmark benchmarks" eftersom "det är viktigt att inkludera fler prestandafunktioner och signaturer för varje konkurrent." [23] Ett av alternativen för att komplettera tester för TOP500 är HPC Challenge Benchmark set [24] . Med tillkomsten av petaflops superdatorer (Petascale) föreslogs Graph500 -testet , som mäter antalet kanter som korsas per sekund (TEPS), som ett alternativ till FLOPS mätt med LINPACK [25] . Ett annat alternativ är HPCG-prestandatestet som föreslås av Dongarra. [26] [27]

Testkörningstid

Enligt Jack Dongarra ökar den tid som HPLinpack-testet behöver pågå för att få bra resultat gradvis. Vid en konferens 2010 sa han att han efter "några år" räknar med en ökning av lanseringens varaktighet till cirka 2,5 dagar. [28]

Se även

Anteckningar

  1. CPU-prestandatester - LINPACK // parallel.ru / Arkiverad 13 november 2018 på Wayback Machine
  2. 1 2 3 4 5 Dongarra, Jack J.; Luszczek, Piotr & Petitet, Antoine (2003), The LINPACK Benchmark: past, present and future , Concurrency and Computation: Practice and Experience (John Wiley & Sons, Ltd.): 803–820 , < http://www.netlib .org/utk/people/JackDongarra/PAPERS/hplpaper.pdf > Arkiverad 20 januari 2019 på Wayback Machine 
  3. Jack Dongarra-intervju av Sander Olson , < http://nextbigfuture.com/2010/06/jack-dongarra-interview-by-sander-olson.html > Arkiverad 4 mars 2016 på Wayback Machine 
  4. Dongarra, JJ; Moler, C.B.; Bunch, JR & Stewart, GW (1979), LINPACK: användarguide , ,9780898711721ISBN,SIAM > 
  5. Dongarra, Jack (1988), The LINPACK benchmark: An explanation , Supercomputing (Springer Berlin/Heidelberg): 456–474 , < http://www.netlib.org/utk/people/JackDongarra/PAPERS/The-LINPACK- Benchmark-An-Explanation.pdf > Arkiverad 4 april 2019 på Wayback Machine 
  6. High Performance Linpack Benchmark , < http://icl.cs.utk.edu/graphics/posters/files/SC2010-HPL.pdf > . Hämtad 10 februari 2015. Arkiverad 4 mars 2016 på Wayback Machine 
  7. Bailey, D.H.; Barszcz, E.; Barton, JT & Browning, DS (1991), Sammanfattning av NAS parallella benchmarks och preliminära resultat , Supercomputing : 158–165 , < http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5348941&isnumber=4634=4634 > 
  8. LINPACK FAQ - Kan jag använda Strassens metod när jag gör matrismultiplarna i HPL benchmark eller för Top500-körningen? . Tillträdesdatum: 10 februari 2015. Arkiverad från originalet 1 september 2009.
  9. LINPACK FAQ - Vilken noggrannhet måste lösningen överensstämma med? . Tillträdesdatum: 10 februari 2015. Arkiverad från originalet 1 september 2009.
  10. Linpack benchmarkprogram i Fortran . Hämtad 10 februari 2015. Arkiverad från originalet 20 februari 2015.
  11. Linpack benchmark-program i C. Hämtad 10 februari 2015. Arkiverad från originalet 20 februari 2015.
  12. Linpack benchmarkprogram i Java . Hämtad 10 februari 2015. Arkiverad från originalet 10 februari 2015.
  13. HPL - En bärbar implementering av det högpresterande Linpack-riktmärket för datorer med distribuerat minne . Hämtad 10 februari 2015. Arkiverad från originalet 15 februari 2015.
  14. HPL-algoritm . Hämtad 13 december 2019. Arkiverad från originalet 25 oktober 2019.
  15. HPL-översikt . Hämtad 10 februari 2015. Arkiverad från originalet 10 februari 2015.
  16. En intervju med superdatorlegenden Jack Dongarra (nedlänk) (24 maj 2012). Hämtad 13 december 2019. Arkiverad från originalet 3 februari 2013. 
  17. Haigh, Thomas En intervju med Jack J. Dongarra (2004). "LINPACK är ett riktmärke som folk ofta citerar för att det finns en sådan historisk databas med information där, eftersom det är ganska lätt att köra, det är lätt att förstå och det fångar i någon mening det bästa och sämsta av programmering." Hämtad 13 december 2019. Arkiverad från originalet 12 januari 2021.
  18. Hammond, Steven (1995), Beyond Machoflops: Getting MPPs Into the Production Environment , < http://nldr.library.ucar.edu/repository/collections/TECH-NOTE-000-000-000-227 > Arkiverad 13 juli 2012. 
  19. Gahvari, Hormozd; Hoemmen, Mark; Demmel, James & Yelick, Katherine (2006), Benchmarking Sparse Matrix-Vector Multiply in Five Minutes , SPEC Benchmark Workshop , < http://bebop.cs.berkeley.edu/pubs/gahvari2007-spmvbench-spec.pdf > Arkiverad kopia 29 januari 2012 på Wayback Machine 
  20. Dongarra, Jack J. (2007), HPC Challenge Benchmark: En kandidat för att ersätta Linpack i Top500? , SPEC Benchmark Workshop , < http://www.spec.org/workshops/2007/austin/slides/Keynote_Jack_Dongarra.pdf > Arkiverad 4 mars 2021 på Wayback Machine 
  21. Christopher Mims . Varför Kinas nya superdator bara tekniskt sett är världens snabbaste  (8 november 2010). Arkiverad från originalet den 21 oktober 2012. Hämtad 22 september 2011.
  22. Meuer, Martin En intervju med superdatorlegenden jack dongarra (nedlänk) (24 maj 2002). Hämtad 10 februari 2015. Arkiverad från originalet 3 februari 2013. 
  23. Luszczek, Piotr; Dongarra, Jack J.; Koester, David & Rabenseifner, Rolf (2005), Introduction to the HPC Challenge Benchmark Suite , < http://icl.cs.utk.edu/projectsfiles/hpcc/pubs/hpcc-challenge-benchmark05.pdf > Arkiverad från 1 mars 2021 på Wayback Machine 
  24. ↑ Top500-ranking och framsteg i högpresterande beräkningar  . öppna system. DBMS, 2006 nr 1 (1 februari 2016). Hämtad 13 december 2019. Arkiverad från originalet 13 december 2019.
  25. Hemsoth, Nicole . Ny HPC Benchmark ger lovande resultat , HPCWire (26 juni 2014). Arkiverad från originalet den 8 september 2014. Hämtad 8 september 2014.
  26. Superdatorer: Nya arkitekturer kräver nya mätmetoder . itWeek (27 november 2015). Hämtad 13 december 2019. Arkiverad från originalet 5 april 2022.
  27. Dongarra, Jack J. (2010), LINPACK Benchmark with Time Limits on Multicore & GPU Based Accelerators , < http://www.netlib.org/utk/people/JackDongarra/SLIDES/isc-talk-06102.pdf > Arkiverad kopia daterad 17 januari 2014 på Wayback Machine 

Länkar