メイン コンテンツに進む
  • すばやく簡単にご注文が可能
  • 注文内容の表示、配送状況をトラック
  • 会員限定の特典や割引のご利用
  • 製品リストの作成とアクセスが可能

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

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

この記事は次に適用されます:   この記事は次には適用されません: 

現象

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.





対象製品

High Performance Computing Solution Resources, PowerEdge R7425