Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD EPYC – STREAM-, HPL-, InfiniBand- ja WRF-suorituskykytutkimus

Summary: AMD EPYC – STREAM, HPL, InfiniBand ja WRF Dell EMC PowerEdge R7425 -palvelimissa

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Artikkelin ovat kirjoittaneet HPC and AI Innovation Labin Garima Kochhar, Deepthi Cherlopalle ja Joshua Weage syyskuussa 2018.

Yhteenveto

HPC and AI Innovation Labilla on uusi klusteri, jossa 32 AMD EPYC -suoritinta käyttävää järjestelmää on liitetty toisiinsa Mellanox EDR InfiniBand -tekniikalla. Testaamme tavalliseen tapaan uusimman klusterimme suorituskykyä, ja halusimme jakaa testien tulokset. Artikkelissa esitellään mikrotason STREAM-, HPL- ja InfiniBand-suorituskykytestausten tulokset muistin kaistanleveydestä ja viiveestä sekä WRF-suorituskykytestauksen tietosarjoista saadut tulokset.

Olemme kiinnostuneita todellisten suurteholaskentasovellusten suorituskyvystä EPYC-suorittimissa. Jos haluat testata omia tietosarjojasi EPYC-suorittimissa, pyydä Innovation Labin käyttöoikeus ottamalla yhteys Dellin asiakastiimiin.
 

AMD EPYC -arkkitehtuuri

AMD EPYC -suorittimet tukevat kahdeksaa muistikanavaa, enintään 16 DIMM-moduulia kantaa kohden, kahta DIMM-moduulia kanavaa kohden ja enintään 32 ydintä kantaa kohden. Lisäksi AMD-suorittimia käyttävissä ympäristöissä on enintään 128 PCI-E-kaistaa oheislaitteille, kuten näytönohjaimille ja NVMe-asemille.
Itse suorittimet ovat monisirumoduuleja, jotka on rakennettu neljästä piisirusta. Kussakin sirussa on enintään kahdeksan Zen-ydintä, kaksi DDR4-muistikanavaa ja 32 IO-kaistaa. Sirun Zen-ytimet on jaettu kahteen neljän ytimen ydinryppääseen, jotka käyttävät yhteistä L3-välimuistia. Kaikki kannan neljä sirua on liitetty toisiinsa Infinity Fabric -linkillä. Tämä on esitetty kuvassa 1.

SLN313856_fi__1GKimage001
Kuva 1: EPYC-kannan asettelu. CCX on enintään neljän ytimen ydinrypäs, joka käyttää yhteistä L3-välimuistia. M* ovat muistikanavia, joita on kaksi kutakin sirua kohden. P* ja G* ovat IO-kaistoja. ∞ on Infinity Fabric -linkki.



Kussakin yksikantaisen (1S) järjestelmän sirussa on enintään 32 PCI-E-kaistaa, jotka käyttävät kuvassa 1 näkyviä P*- ja G*-IO-kaistoja. Kannassa on siis yhteensä 128 PCI-E-kaistaa, kuten kuvasta 2 näkyy. Kun suoritinta käytetään kaksikantaisessa (2S) kokoonpanossa, puolta kunkin sirun IO-kaistoista käytetään muodostamaan liitäntä johonkin toisen kannan siruun Infinity Fabric -linkeiksi määritettyjen G*-IO-kaistojen välityksellä. Kannan P*-IO-kaistat jäävät vapaiksi, jolloin kannassa on 64 vapaata PCI-E-kaistaa ja PCI-E-kaistoja on edelleen yhteensä 128. Tämä on esitetty kuvassa 3.

SLN313856_fi__2GKimage002
Kuva 2: 1S-EPYC-kokoonpanon PCI-E-kaistat



SLN313856_fi__3GKimage003
Kuva 3: 2S-EPYC-kokoonpanon asettelu



SLN313856_fi__4GKimage004
Kuva 3: 2S-EPYC-kokoonpanon asettelu

 

STREAM-suorituskykytestauksen tulokset

EPYC-suorittimen arviointi aloitettiin mittaamalla ympäristön muistin kaistanleveyteen liittyviä ominaisuuksia STREAM-suorituskykytestauksen avulla. Testit suoritettiin Dell EMC PowerEdge R7425 -palvelimessa, jossa oli kaksi AMD EPYC 7601 -suoritinta (32c, 2,2 GHz), 16 kpl 16 Gt:n DIMM-moduulia (2 400 Mt/s) ja Red Hat® Enterprise Linux® 7.5 -käyttöjärjestelmä.

EPYC-suorittimien NUMA (Non-Uniform Memory Access) -esitystapaa voidaan hallita BIOSin Memory Interleaving -asetuksella ja määrittää Linux-apuohjelmilla, kuten numactl ja lstopo.

Oletusarvoinen Memory Interleaving -asetus on Memory Channel Interleaving. Tässä tilassa kunkin sirun kaksi kanavaa limitetään. Tällöin kaksikantaisen järjestelmän käyttöjärjestelmälle esitetään kahdeksan NUMA-solmua, joita on neljä kantaa kohden.

Memory Die Interleaving on asetus, jossa limitetään kannan kaikkien neljän sirun muistit, ts. kahdeksan muistikanavaa. Tällöin kaksikantaisen järjestelmän käyttöjärjestelmälle esitetään kaksi NUMA-solmua, joita on yksi kantaa kohden.

Memory Socket Interleaving -asetus limittää kummankin kannan muistit, jolloin kaksikantaisessa ympäristössä on yksi NUMA-solmu. Tämä vastaa sitä, että NUMA poistettaisiin käytöstä.    

Muistathan, että oletusarvoisessa Memory Channel Interleaving -määrityksessä kussakin kannassa on neljä sirua, kussakin sirussa on kaksi muistikanavaa ja BIOS esittää kaksikantaisen ympäristön käyttöjärjestelmälle kahdeksan NUMA-solmua. Kuvan 4 numactl-esimerkkituloksissa näkyy nämä kaksikantaisen järjestelmän kahdeksan NUMA-solmua, joita on yksi sirua kohden.

SLN313856_fi__5GKimage005
Kuva 4: 2S-EPYC-kokoonpanon numactl-tulokset


Ympäristössä on neljä fyysistä NUMA-etäisyyttä, kuten kuvasta 4 näkyy: etäisyys itse NUMA-solmuun (punaisella merkitty etäisyys 10), etäisyys saman sirun kolmeen muuhun solmuun (sinisellä merkitty etäisyys 16), etäisyys toisen kannan suoralla Infinity Fabric -linkillä liitettyyn solmuun (vihreällä merkitty etäisyys 22) sekä kahden siirräntävälin etäisyys toisen kannan kolmeen muuhun solmuun kantojen välisellä sekä toisen kannan sisäisellä Infinity Fabric -linkillä (mustalla merkitty etäisyys 28).

Jotkin BIOS-versiot saattavat yksinkertaistaa tätä fyysistä asettelua esittämällä käyttöjärjestelmälle ainoastaan kolme NUMA-etäisyyttä. Yksinkertaistaminen tapahtuu piilottamalla esimerkiksi NUMA-solmun 0 ja NUMA-solmujen 4, 5, 6 ja 7 väliset etäisyyserot esittämällä nämä etäisyydet samoina. Tällainen tilanne on esitetty kuvassa 5. NUMA-asettelusta tehdään muokattava asetus seuraavassa PowerEdge R7425 -BIOSissa. NUMA-solmujen etäisyyksien yksinkertaistaminen ei muuta ydinten fyysistä asettelua, vaan sen tarkoituksena on lähinnä helpottaa käyttöjärjestelmän ajoitustoimintoja. Eri esitystavoilla ei pitäisi olla merkitystä NUMA-tietoisille suurteholaskenta- ja MPI-tehtäville.

SLN313856_fi__6GKimage006
Kuva 5: 2S-EPYC-kokoonpanon numactl-tulokset, joissa NUMA-etäisyyksiä on yksinkertaistettu


Kuvissa 4 ja 5 näkyy kaksikantaisen ympäristön kahdeksan NUMA-solmun lisäksi myös kunkin NUMA-solmun muisti ja ytimet. Kussakin NUMA-solmussa on 32 Gt muistia, joka on jaettu kahteen 16 Gt:n DIMM-moduuliin (DIMM-moduuleita on 16 palvelinta kohden, kahdeksan kantaa kohden ja yksi kanavaa kohden). Kukin NUMA-solmu sisältää paikallisen sirun kahdeksan ydintä. Dell EMC -ympäristön ydinten luettelointi tapahtuu kiertovuorottelumenetelmällä niin, että ensin käydään läpi kaikki NUMA-solmut ja sitten ne täytetään yksi kerrallaan.

lstopo-tuloksista voi lisäksi katsoa tarkan tiedon siitä, mitkä neljä ydintä ydinryppääseen sisältyy. Nämä neljä sirun ydintä käyttävät yhteistä L3-välimuistia. Esimerkiksi kuvasta 6 näkyy, että NUMA-solmussa 0 on kahdeksan ydintä, joista ytimet 0, 16, 32 ja 48 jakavat yhden L3-välimuistin ja ytimet 8, 24, 40 ja 56 jakavat toisen.

SLN313856_fi__7GKimage007
Kuva 6: 2S-EPYC-kokoonpanon lstopo-tulokset

SLN313856_fi__8GKimage008
Kuva 7: AMD EPYC -ympäristön muistin kaistanleveys

Tämä NUMA-asettelu kannattaa pitää mielessä tarkasteltaessa kuvan 7 STREAM Triad -suorituskykytestauksen tuloksia muistin kaistanleveydestä, kun BIOS-asetuksena on Memory Channel Interleaving. Huomioithan, että testauksessa käytetyt 16 Gt:n Dual Rank -muistimoduulit, joiden nopeus on 2 667 Mt/s, toimivat EPYC-suorittimessa nopeudella 2 400 Mt/s. Kuvan 7 ensimmäisistä palkeista näkyy, että kaksikantaisen järjestelmän muistin kaistanleveys on 244 Gt/s, kun kaikki ytimet ovat käytössä, ja 255,5 Gt/s, kun puolet ytimistä on käytössä. Toinen arvopiste on yhden kannan muistin kaistanleveys, joka on odotetusti noin puolet kaksikantaisen ympäristön vastaavasta arvosta. Kolmas arvopiste mittaa NUMA-solmun yksittäisen sirun muistin kaistanleveyttä. Muistathan, että kussakin kannassa on neljä sirua, ja yksittäisen sirun kaistanleveys on noin ¼ kannan vastaavasta arvosta. Sirussa on kaksi ydinrypästä, ja kun vain toisen ydinryppään ytimet ovat käytössä, kaistanleveys on ~30 Gt/s. Kun molempien ydinryppäiden ytimet ovat käytössä, saavutetaan sirun täysi kaistanleveys ~32 Gt/s.

Kaksikantaisessa ympäristössä on vaikuttava 240–260 Gt/s:n muistin kaistanleveys, mikä johtuu siitä, että ympäristössä on kahdeksan muistikanavaa kantaa kohden. Lisäksi yksittäinen ydin voi tuottaa paikalliseen muistiin ~24,5 Gt/s:n muistin kaistanleveyden, mistä on paljon hyötyä yksisäikeisille sovelluksille.

NUMA-asettelun vaikutuksia muistin etäkäyttöön tarkastellaan kuvassa 8, jossa näkyy muistin suhteellinen kaistanleveys, kun ytimet käyttävät eri NUMA-toimialueella sijaitsevaa muistia. Samassa kannassa sijaitsevan muistin käyttö on ~30 % hitaampaa, ja toisessa kannassa sijaitsevan muistin käyttö on ~65 % hitaampaa. STREAM Triad -suorituskykytestauksessa ei näy merkittävää eroa muistin kaistanleveydessä sen perusteella, käytetäänkö toisen kannan muistia yhden siirräntävälin (solmu 6: yksi Infinity Fabric -siirräntäväli kantojen välillä) vai kahden siirräntävälin (solmut 4, 5 ja 7: yksi Infinity Fabric -siirräntäväli kantojen välillä ja yksi paikallinen Infinity Fabric -siirräntäväli) etäisyydellä. Muistin paikallisuus vaikuttaa merkittävästi suurta muistin kaistanleveyttä edellyttävien sovellusten suorituskykyyn jopa saman kannan sisällä.

SLN313856_fi__9GKimage009
Kuva 8: Muistin etäkäytön vaikutukset
 

HPL-suorituskykytestauksen tulokset

Seuraavaksi mittasimme EPYC-suorittimen laskentatehoa HPL-suorituskykytestauksen avulla. EPYC tukee AVX-käskyjä, ja sen suorituskyky on 8 FLOP/jakso. Suoritimme HPL:n käyttämällä Open MPI:tä ja BLIS-lineaarialgebrakirjastoja.

Testijärjestelmämme (kaksi EPYC 7601 -suoritinta) teoreettinen suorituskyky on 64 ydintä * 8 FLOP/jakso * 2,2 GHz:n kellotaajuus, jolloin tuloksena on 1 126 GFLOPS. Mittaustuloksena oli 1 133 GFLOPS, joten tehokkuus on 100,6 %.

Suoritimme HPL:n myös EPYC 7551 (32c, 2,0 GHz)-, EPYC 7351 (16c, 2,4 GHz)- ja EPYC 7351P (1S, 16c, 2,4 GHz) -suorittimissa. Näissä testeissä HPL:n todellinen suorituskyky oli 102–106 % teoreettisesta suorituskyvystä.

Tehokkuus on yli 100 %, koska EPYC pystyy ylläpitämään perustaajuuttaan korkeampia turbotaajuuksia koko HPL-testin ajan.
 

InfiniBandin viive ja kaistanleveys

Seuraavaksi tarkistimme mikrotason InfiniBand-suorituskykytestauksen tulokset kahden palvelimen välisestä viiveestä ja kaistanleveydestä. Testeissä käytetty kokoonpano on esitetty taulukossa 1. Tulokset viiveestä ja kaistanleveydestä on esitetty kuvissa 9 ja 10.


  Kuva 1: InfiniBand-testiympäristö
Osa Versio
Suoritin Dell EMC Power Edge R7425
Muisti Kaksi AMD EPYC 7601 -32-ydinsuoritinta nopeudella 2,2 GHz
Järjestelmän profiili CPU Power Management -asetuksena Maximum, C-tilat käytössä tai poissa käytöstä merkinnän mukaisesti, Turbo käytössä
Käyttöjärjestelmä Red Hat Enterprise Linux 7.5
Ydin 3.10.0-862.el7.x86_64
OFED 4.4-1.0.0
HCA-kortti Mellanox Connect X-5
OSU-versio 5.4.2
MPI hpcx-2.2.0 


SLN313856_fi__10GKimage010
Kuva 9: InfiniBandin viive, kytkin käytössä

Suoritettu komento: mpirun -np 2 --allow-run-as-root -host node1,node2 -mca pml ucx -x UCX_NET_DEVICES=mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1  -report-bindings --bind-to core --map-by dist:span -mca rmaps_dist_device mlx5_0 numactl –cpunodebind=6 osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_latency

MPI-prosessi suoritettiin tarkoituksellisesti lähimpänä HCI-korttia olevassa NUMA-solmussa. Tämä tieto löytyy lstopo-tuloksista. Tässä tapauksessa se oli NUMA-solmu 6. Viivetestit suoritettiin sekä OpenMPI:ssä että HPC-X:ssä. OpenMPI:ssä viive oli 1,17 µs, kun käytössä oli MXM-kiihdytys, ja 1,10 µs, kun käytössä oli UCX. HPC-X:n tulokset viiveestä on esitetty edellä.

Kuvasta 9 näkyy, että viive EPYC-suorittimissa, joiden C-tilat ovat käytössä, on 1,07 µs. Kaikkien viestikokojen viive on ~2–9 % pienempi C-tilojen ollessa käytössä. Kun C-tilat ovat käytössä, käyttämättömät ytimet voivat olla syvemmissä C-tiloissa, minkä ansiosta aktiiviset ytimet voivat toimia korkeammilla turbotaajuuksilla. Se vähentää viivettä.

Tulokset kaistanleveydestä on esitetty kuvassa 10. Mittaustuloksena oli 12,4 Gt/s:n yksisuuntainen kaistanleveys ja 24,7 Gt/s:n kaksisuuntainen kaistanleveys. Tulokset vastaavat EDR:ltä odotettuja tuloksia.

SLN313856_fi__11GKimage011
Kuva 10: InfiniBandin kaistanleveys

Suoritettu komento: 

mpirun -np 2 --allow-run-as-root -host node208,node209 -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --bind-to core -mca rmaps_dist_device mlx5_0 --report-bindings --display-map numactl --cpunodebind=6 osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_bibw

 

Taulukko 2: osu_mbw_mr-tulokset yksittäisissä NUMA-solmuissa
Kanta NUMA-solmu (NS) Testikokoonpano Testattujen ydinten lukumäärä palvelinta kohden Kaistanleveys (Gt/s)
0 0 palvelin1 NS0 - palvelin2 NS0 8 6,9
0 1 palvelin1 NS1 - palvelin2 NS1 8 6,8
0 2 palvelin1 NS2 - palvelin2 NS2 8 6,8
0 3 palvelin1 NS3 - palvelin2 NS3 8 6,8
1 4 palvelin1 NS4 - palvelin2 NS4 8 12,1
1 5 palvelin1 NS5 - palvelin2 NS5 8 12,2
1 6 (HCA-kortin paikallinen solmu) palvelin1 NS6 - palvelin2 NS6 8 12,3
1 7 palvelin1 NS7 - palvelin2 NS7 8 12,1

Suoritettu komento: 

mpirun -np 16 --allow-run-as-root –host server1,server2 -mca pml ucx -x UCX_NET_DEVICES=mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings --bind-to core -mca rmaps_dist_device mlx5_0 numactl cpunodebind= osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr


Kuvissa 3 ja 6 kuvattu NUMA-asettelu sai meidät tarkistamaan prosessien paikallisuuden vaikutukset kaistanleveyteen. Käytimme testiin osu_mbw_mr-suorituskykytestausta, joka mittaa yksisuuntaisen kokonaiskaistanleveyden useiden prosessien välillä. Testin tarkoituksena oli selvittää yksittäisten NUMA-solmujen välinen todellinen kaistanleveys ja viestinopeus, kun kaikki NUMA-solmun kahdeksan ydintä olivat käytössä. Testin tulokset on esitetty taulukossa 2. Testikokoonpanossa käytettiin Performance-profiilia (C-tilat poissa käytöstä ja Turbo käytössä).

Tulokset osoittavat, että kun prosesseja suoritetaan InfiniBand-HCA-korttiin liitetyssä NUMA-solmussa (NUMA-solmu 6), kokonaiskaistanleveys on 12,3 Gt/s. Kun prosesseja suoritetaan kolmessa muussa NUMA-solmussa, jotka ovat samassa kannassa kuin HCA-kortti (kanta 1), kokonaiskaistanleveys on lähes sama eli ~12,1 Gt/s. Kun prosesseja suoritetaan NUMA-solmuissa, jotka ovat eri kannassa kuin HCA-kortti, kokonaiskaistanleveys on ainoastaan ~6,8 Gt/s.

Taulukossa 3 on esitetty seuraavat tulokset, jotka havainnollistavat yksisuuntaista kaistanleveyttä eri kantojen välillä. Testissä käytettiin kaikkia kannan 32 ydintä. Kun prosesseja suoritettiin samassa kannassa kuin HCA-kortti, mittaustuloksena oli 5,1 Gt/s, ja kun niitä suoritettiin eri kannassa, tuloksena oli 2,4 Gt/s. Kun käytimme kaikkia testipalvelintemme 64 ydintä niin, että kussakin palvelimessa suoritettiin 64 prosessia, mittaustuloksena oli 3,0 Gt/s.

Vahvistimme tuloksen suorittamalla testin, jossa käytimme kaikkia kummankin kannan kahdeksaa NUMA-solmua niin, että kussakin NUMA-solmussa suoritettiin kaksi prosessia, jolloin prosesseja oli yhteensä 16 palvelinta kohden. Tässä asettelussa mittaustuloksena oli 2,9 Gt/s.

Tulokset osoittavat, että järjestelmän topologia vaikuttaa viestinnän tehokkuuteen. Tästä tiedosta on hyötyä tilanteissa, joissa on oleellista käyttää kaikilta-kaikille-tyylistä viestintää, jossa useat prosessit viestivät eri palvelinten kesken. Muunlaisissa sovelluksissa pienempi kaistanleveys, joka seuraa prosessien suorittamisesta useilla NUMA-toimialueilla, ei välttämättä vaikuta merkittävästi sovelluksen suorituskykyyn.


  Taulukko 3: osu_mbw_br-tulokset kanta- ja järjestelmätasolla
Kanta NUMA-solmu Testikokoonpano Testattujen ydinten lukumäärä palvelinta kohden Kaistanleveys (Gt/s)
0
0
0
0
0
1
2
3
palvelin1 kanta0 -
palvelin2 kanta0
32 2,4
1
1
1
1
4
5
6 (HCA-kortin paikallinen solmu)
7
palvelin1 kanta1 -
palvelin2 kanta1
32 5,1

Suoritettu komento: 

mpirun -np 64 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr

 
Kanta NUMA-solmu Testikokoonpano Testattujen ydinten lukumäärä palvelinta kohden Kaistanleveys (Gt/s)
0
0
0
0
1
1
1
1
1
2
3
4
5
6 (HCA-kortin paikallinen solmu)
7
8
palvelin1 - palvelin2 64 3,0

Suoritettu komento:

mpirun -np 128 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr

 
Kanta NUMA-solmu Testikokoonpano Testattujen ydinten lukumäärä palvelinta kohden Kaistanleveys (Gt/s)
0 1 palvelin1 - palvelin2 2 2,9
0 2 2
0 3 2
0 4 2
1 5 2
1 6 (HCA-kortin paikallinen solmu) 2
1 7 2
1 8 2

Suoritettu komento: 

mpirun -np 32 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr


HPL-suorituskykytestauksen klusteritason tulokset

InfiniBandin suorituskyvyn vahvistamisen jälkeen suoritimme HPL-suorituskykytestauksen koko klusterissa. Testit suoritettiin 16 solmun järjestelmässä, jossa oli kaksikantainen EPYC 7601 -kokoonpano. Kuvassa 11 esitetyt tulokset osoittavat, että HPL skaalautuu odotetusti 16 järjestelmään.

SLN313856_fi__12GKimage012
Kuva 11: HPL 16 palvelimessa

 

WRF-suorituskykytestauksen klusteritason tulokset

Viimeiseksi suoritimme WRF:n, joka on sääennustesovellus. Testiympäristö oli sama kuin aiemmin: 16 solmun järjestelmä, jossa oli kaksikantainen EPYC 7601 -kokoonpano. Lisäksi suoritimme joitakin testejä myös pienemmässä neljän solmun järjestelmässä, jossa oli kaksikantainen EPYC 7551 -kokoonpano. Kaikissa palvelimissa oli 16 kpl 16 Gt:n RDIMM-moduulia, joiden nopeus oli 2 400 Mt/s, ja palvelimet oli liitetty toisiinsa Mellanox EDR InfiniBand -tekniikalla.

SLN313856_fi__13GKimage013
Kuva 12: WRF CONUS 12 km, yksi solmu

Käytimme WRF-versioita 3.8.1 ja 3.9.1, joissa testasimme CONUS 12 km- ja CONUS 2,5 km -tietojoukkoja. Käänsimme WRF:n ja netcdf:n Intelin kääntäjillä ja suoritimme ne Intel MPI:ssä. Kokeilimme erilaisia prosessi- ja järjestämisvaihtoehtoja käyttämällä OpenMP:ssä sekä dmpar- että dm+sm-määritysasetusta.

Selvitämme parhaillaan AMD:n kanssa muita WRF:n kääntäjän säätövaihtoehtoja.

WRF 3.8.1- ja 3.9.1-versioiden välisessä suorituskyvyssä ei havaittu eroa. Kun prosessit ja ruudut yhdistettiin harkiten, dmpar- ja dm+sm-asetukset johtivat suunnilleen samaan suorituskykyyn. Tämä on esitetty kuvassa 12.

SLN313856_fi__14GKimage014
Kuva 13: WRF CONUS 12km, klusteritestit

SLN313856_fi__15GKimage015
Kuva 14: WRF CONUS 2,5 km, klusteritestit

Klusteritason testit suoritettiin WRF 3.8.1:ssä käyttämällä dmpar-määritystä, kaikkia ytimiä ja kahdeksaa ruutua suoritusta kohden.

CONUS 12 km on pienempi tietosarja, ja EPYC-suorittimien suorituskyky ei enää parantunut kahdeksan solmun ja 512 ytimen jälkeen. Tämä on esitetty kuvassa 13. EPYC 7551 ja EPYC 7601 ovat kumpikin 32-ydinsuorittimia, mutta EPYC 7601:n peruskellotaajuus on 10 % nopeampi ja kaikkia ytimiä hyödyntävä turbotaajuus on 6 % nopeampi kuin EPYC 7551:n. WRF CONUS 12 km -testeissä havaittiin, että EPYC 7601 -järjestelmä oli 3 % nopeampi kuin EPYC 7551, kun käytössä oli 1, 2 tai 4 solmua.

CONUS 2,5 km on suurempi suorituskykytestauksen tietosarja, ja EPYC-järjestelmän suorituskyky skaalautuu hyvin kahdeksaan solmuun (512 ytimeen), minkä jälkeen se alkaa laskea. Myös WRF CONUS 2,5 km -testeissä havaittiin, että EPYC 7601 -järjestelmä oli 2–3 % nopeampi kuin EPYC 7551, kun käytössä oli 1, 2 tai 4 solmua. Tämä on esitetty kuvassa 14.

 

Johtopäätös ja jatkosuunnitelmat

EPYC-suoritin tarjoaa hyvän muistin kaistanleveyden ja ydinten tiheyden kantaa kohden. Suurteholaskennan näkökulmasta EPYC-arkkitehtuurista hyötyvät eniten sovellukset, jotka pystyvät hyödyntämään tehokkaasti sen muistin kaistanleveyttä ja ydinten lukumäärää. EPYC ei tällä hetkellä tue AVX512:ta tai yhdessä jaksossa suoritettavaa AVX2:ta, joten erittäin vektoroidut ja AVX2:ta tai AVX512:ta tehokkaasti hyödyntävät koodit eivät välttämättä ole ihanteellisia EPYC-suorittimille.

EPYC-suorittimista voi olla hyötyä myös tilanteissa, joissa tarvitaan useita NVMe-asemia, sillä EPYC-suorittimien lukuisien PCI-E-kaistojen ansiosta ne voidaan liittää suoraan suorittimeen.

Seuraavaksi suoritamme lisää suorituskykytestausta uusien suurteholaskentasovellusten avulla.





Article Properties


Affected Product

High Performance Computing Solution Resources, PowerEdge R7425

Last Published Date

21 Feb 2021

Version

3

Article Type

Solution