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 Rome – är det på riktigt? Arkitektur och initial HPC-prestanda

Summary: I HPC-världen idag en introduktion till AMD:s senaste generation EPYC-processorer med kodnamnet Rome.

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

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. HPC och AI Innovation Lab, oktober 2019

Cause

Gäller ej

Resolution


I dagens HPC-värld behöver AMD:s senaste generation EPYC-processor Den här hyperlänken tar dig till en webbplats utanför Dell Technologies , med kodnamnet Rome , knappast någon närmare presentation. Vi har utvärderat Rom-baserade system i HPC och AI Innovation Lab de senaste månaderna, och Dell Technologies presenterade Den här hyperlänken tar dig till en webbplats utanför Dell Technologies nyligen servrar som stöder den här processorarkitekturen. I det här första blogginlägget i Rome-serien kommer vi att diskutera Rome-processorarkitekturen, hur den kan finjusteras för HPC-prestanda och presentera inledande prestanda för mikroprestanda. Efterföljande bloggar kommer att beskriva applikationsprestanda över domänerna CFD, CAE, molekylär dynamik, vädersimulering och andra applikationer.


 

Arkitektur

 

Rome är AMD:s 2:a generationens EPYC-processor och uppdaterar deras 1:a generation Naples. Vi diskuterade Neapel i den här bloggen förra året.

En av de största arkitektoniska skillnaderna mellan Neapel och Rom som gynnar HPC är den nya IO-matrisen i Rom. I Rom är varje processor ett flerchipspaket som består av upp till 9 chiplets som visas i figur 1. Det finns en central 14nm IO-matris som innehåller alla IO- och minnesfunktioner – tänk minneskontroller, Infinity-infrastrukturlänkar i sockeln och anslutningsmöjligheter mellan socklar och PCI-e. Det finns åtta minnesstyrenheter per sockel som har stöd för åtta minneskanaler som kör DDR4 vid 3 200 MT/s. En server med en sockel kan stödja upp till 130 PCIe Gen4-banor. Ett system med dubbla socklar kan stödja upp till 160 PCIe Gen4-banor.

Figur 1 Rom

(Figur 1Rome flerchipspaket med en central IO-matris och upp till åtta kärnor)

Runt den centrala IO-matrisen finns upp till åtta 7nm kärnchiplets. Kärnchipleten kallas en Core Cache-matris eller CCD. Varje CCD har CPU-kärnor baserade på Zen2-mikroarkitekturen, L2-cache och 32 MB L3-cache. Själva CCD:n har två Core Cache Complexes (CCX),Den här hyperlänken tar dig till en webbplats utanför Dell Technologies varje CCX har upp till fyra kärnor och 16 MB L3-cache. Bild 2 visar ett CCX.

Figur 1 Rom

(Bild 2 En CCX med fyra kärnor och delat 16 MB L3-cacheminne)

De olika Rome CPU-modellerna Den här hyperlänken tar dig till en webbplats utanför Dell Technologies har olika antal kärnor, Den här hyperlänken tar dig till en webbplats utanför Dell Technologies men alla har en central IO-matris.

I den övre änden finns en CPU-modell med 64 kärnor, till exempel EPYC 7702. lstopo-utdata visar oss att denna processor har 16 CCX per sockel, varje CCX har fyra kärnor som visas i figur 3 och 4, vilket ger 64 kärnor per sockel. 16 MB L3 per CCX, dvs 32 MB L3 per CCD, ger denna processor totalt 256 MB L3-cache. Observera dock att den totala L3-cachen i Rom inte delas av alla kärnor. L3-cachen på 16 MB i varje CCX är oberoende och delas endast av kärnorna i CCX enligt bild 2.

En 24-kärnig processor som EPYC 7402 har 128 MB L3-cacheminne. lstopo-utgången i figur 3 och 4 illustrerar att denna modell har tre kärnor per CCX och 8 CCX per uttag.

Figur 31 Rom

Figur 32 Rom

(Bild 3 och 4 lstopo-utdata för processorer med 64 och 24 kärnor)

Oavsett antalet CCD:er är varje Rome-processor logiskt uppdelad i fyra kvadranter med CCD:er fördelade så jämnt över kvadranterna som möjligt och två minneskanaler i varje kvadrant. Den centrala IO-matrisen kan ses som ett logiskt stöd för sockelns fyra kvadranter.


Överst på sidan

 

 

BIOS-alternativ baserade på Rom-arkitektur

 

Den centrala IO-matrisen i Rom hjälper till att förbättra minneslatenserna Den här hyperlänken tar dig till en webbplats utanför Dell Technologies jämfört med de som uppmättes i Neapel. Dessutom kan processorn konfigureras som en enda NUMA-domän, vilket ger enhetlig minnesåtkomst för alla kärnor i sockeln. Detta förklaras nedan.

De fyra logiska kvadranterna i en Rome-processor gör att processorn kan delas upp i olika NUMA-domäner. Den här inställningen kallas NUMA per socket eller NPS.

  • NPS1 innebär att Rome-processorn är en enda NUMA-domän, med alla kärnor i sockeln och allt minne i denna enda NUMA-domän. Minnet är interfolierat över de åtta minneskanalerna. Alla PCIe-enheter på sockeln tillhör denna enda NUMA-domän
  • NPS2 delar upp processorn i två NUMA-domäner, med hälften av kärnorna och hälften av minneskanalerna på sockeln i varje NUMA-domän. Minnet är interfolierat över de fyra minneskanalerna i varje NUMA-domän
  • NPS4 delar upp processorn i fyra NUMA-domäner. Varje kvadrant är här en NUMA-domän och minnet är interfolierat över de två minneskanalerna i varje kvadrant. PCIe-enheter kommer att vara lokala för en av fyra NUMA-domäner på sockeln beroende på vilken kvadrant av IO-matrisen som har PCIe-roten för den enheten
  • Alla processorer har inte stöd för alla NPS-inställningar

NPS4 rekommenderas för HPC där det är tillgängligt, eftersom det förväntas ge den bästa minnesbandbredden, kortaste minneslatenser och våra program tenderar att vara NUMA-medvetna. Om NPS4 inte är tillgängligt rekommenderar vi den högsta NPS som stöds av CPU-modellen – NPS2, eller till och med NPS1.

Med tanke på de många NUMA-alternativ som finns tillgängliga på Rom-baserade plattformar tillåter PowerEdge BIOS två olika kärnuppräkningsmetoder under MADT-uppräkning. Linjär uppräkning numrerar kärnor i ordning, fyller en CCX, CCD, socket innan den flyttas till nästa socket. På en 32c-processor finns kärnorna 0 till 31 på den första sockeln, kärnorna 32–63 på den andra sockeln. Resursallokeringsuppräkning numrerar kärnorna i NUMA-regioner. I det här fallet kommer jämnt numrerade kärnor att finnas på den första sockeln, udda kärnor på den andra sockeln. För enkelhetens skull rekommenderar vi linjär uppräkning för HPC. I bild 5 finns ett exempel på linjär kärnuppräkning på en 64c-server med dubbla socklar konfigurerad i NPS4. I figuren är varje låda med fyra kärnor en CCX, varje uppsättning med sammanhängande åtta kärnor är en CCD.

Figur 4 Rom

(Bild 5 Linjär kärnuppräkning på ett system med två socklar, 64c per sockel, NPS4-konfiguration på en modell med 8 CCD-processorer)

Ett annat Rom-specifikt BIOS-alternativ kallas Preferred IO Device. Detta är en viktig inställningsratt för InfiniBand-bandbredd och meddelandehastighet. Det gör att plattformen kan prioritera trafik för en IO-enhet. Det här alternativet är tillgängligt på Rome-plattformar med både en och två socklar, och InfiniBand-enheten på plattformen måste väljas som föredragen enhet i BIOS-menyn för att uppnå full meddelandefrekvens när alla processorkärnor är aktiva.

I likhet med Neapel har Rom också stöd för hypertrådningeller logisk processor. För HPC lämnar vi detta inaktiverat, men vissa applikationer kan dra nytta av att aktivera logisk processor. Håll utkik efter våra efterföljande bloggar om tillämpningar av molekyldynamik.

I likhet med Neapel tillåter Rom också CCX som NUMA-domän. Det här alternativet exponerar varje CCX som en NUMA-nod. På ett system med processorer med dubbla socklar med 16 CCX:er per processor exponerar den här inställningen 32 NUMA-domäner. I det här exemplet har varje sockel 8 CCD:er, dvs. 16 CCX. Varje CCX kan aktiveras som en egen NUMA-domän, vilket ger 16 NUMA-noder per sockel och 32 i ett system med två socklar. För HPC rekommenderar vi att du lämnar CCX som NUMA-domän med standardalternativet inaktiverat. Att aktivera det här alternativet förväntas hjälpa virtualiserade miljöer.

I likhet med Neapel tillåter Rom att systemet ställs in i prestandadeterminism eller potensdeterminism . Vid prestandadeterminism arbetar systemet med den förväntade frekvensen för CPU-modellen, vilket minskar variationen mellan flera servrar. Vid Power Determinism arbetar systemet med den högsta tillgängliga TDP:n för CPU-modellen. Detta förstärker variationen från del till del i tillverkningsprocessen, vilket gör att vissa servrar kan vara snabbare än andra. Alla servrar kan förbruka processorns maximala märkeffekt, vilket gör strömförbrukningen deterministisk, men tillåter viss prestandavariation över flera servrar.

Som man kan förvänta sig av PowerEdge-plattformar har BIOS ett metaalternativ som heter System Profile. Om du väljer systemprofilen Prestandaoptimerad aktiveras turboförstärkningsläget, C-tillstånd inaktiveras och determinismreglaget ställs in på Energideterminism, vilket optimerar prestandan.


Överst på sidan

 

 

Prestandaresultat – STREAM, HPL, InfiniBand-mikrobenchmarks

 

Många av våra läsare kanske har hoppat direkt till det här avsnittet, så vi dyker direkt in.

I HPC och AI Innovation Lab har vi byggt ut ett Rom-baserat kluster med 64 servrar som vi kallar Minerva. Förutom det homogena Minerva-klustret har vi några andra Rom CPU-prover som vi kunde utvärdera. Vår testbädd beskrivs i Tabell.1 och Tabell.2.

(Tabell.1 Rom CPU-modeller som utvärderats i denna studie)

Processor Kärnor per sockel Konfiguration Basklockfrekvens TDP
7702 64c 4c per CCX 2,0 GHz 200 W
7502 32c 32c 4c per CCX 2,5 GHz 180 W
7452 32c 32c 4c per CCX 2,35 GHz 155 W
7402 24c 3c per CCX 2,8 GHz 180 W

(Tabell.2 Testbädd)

Komponent Detaljer
Server PowerEdge C6525
Processor Som visas i tabell.1 dubbla socklar
Minne 256 GB, 16 × 16 GB, 3 200 MT/s, DDR4
Interconnect ConnectX-6 Mellanox Infini Band HDR100
Operativsystem Red Hat Enterprise Linux 7.6
Kärna 3.10.0.957.27.2.e17.x86_64
Disk 240 GB SATA SSD M.2-modul


Överst på sidan

 

 

STREAM

 

Minnesbandbreddstester på Rome visas i figur 6, dessa tester kördes i NPS4-läge. Vi uppmätte ~270–300 GB/s minnesbandbredd på vår PowerEdge C6525 med dubbla socklar när vi använde alla kärnor i servern för de fyra processormodellerna som visas i tabellen.1. När endast en kärna används per CCX är systemets minnesbandbredd ~9–17 % högre än den som uppmäts med alla kärnor.

De flesta HPC-arbetsbelastningar prenumererar antingen helt på alla kärnor i systemet eller så körs HPC-center i läget för hög genomströmning med flera jobb på varje server. Därför är minnesbandbredden för alla kärnor den mer exakta representationen av systemets minnesbandbredd och minnesbandbredd-per-kärna-funktioner.

Bild 6 ritar också minnesbandbredden som uppmättes på den tidigare generationens EPYC Naples-plattform , som också hade stöd för åtta minneskanaler per socket men kördes med 2 667 MT/s. Rome-plattformen ger 5–19 % bättre total minnesbandbredd än Neapel, vilket främst beror på det snabbare minnet på 3 200 MT/s. Även med 64c per sockel kan Rome-systemet leverera upp till 2 GB/s/kärna.

Obs! En prestandavariation på 5-10 % i STREAM Triad-resultat mättes över flera identiskt konfigurerade Rom-baserade servrar, resultaten nedan bör därför antas vara den övre delen av intervallet.
 

Vid jämförelse av de olika NPS-konfigurationerna uppmättes ~13 % högre minnesbandbredd med NPS4 jämfört med NPS1 som visas i bild 7.

Figur 5 Rom

(Bild 6 NPS4 STREAM Triad-minnesbandbredd med dubbla socklar)

Figur 6 Rom

(Bild 7 : NPS1 jämfört med NPS2 jämfört med NPS 4 Minnesbandbredd)


Överst på sidan

 

 

InfiniBand-bandbredd och meddelandefrekvens

 

Figur 8 visar InfiniBand-bandbredden med enkel kärna för enkelriktade och dubbelriktade tester. Testbädden använde HDR100 som kördes med 100 Gbit/s, och diagrammet visar den förväntade prestandan för linjehastighet för dessa tester.

Figur 6 IBBW

Bild 8 InfiniBand-bandbredd (enkel kärna))

Figur 6 IBBW

Bild 9 InfiniBand-meddelandefrekvens (alla kärnor))

Tester av meddelandefrekvensen utfördes sedan med alla kärnor på en sockel i de två servrar som testades. När föredragen IO är aktiverad i BIOS och ConnectX-6 HDR100-adaptern är konfigurerad som föredragen enhet är meddelandefrekvensen för alla kärnor betydligt högre än när föredragen IO inte är aktiverad, vilket visas i bild 9. Detta illustrerar vikten av det här BIOS-alternativet vid finjustering för HPC och särskilt för skalbarhet för program med flera noder.


Överst på sidan

 

 

HPL

 

Mikroarkitekturen i Rom kan pensionera 16 DP FLOP/cykel, dubbelt så mycket som i Neapel som var 8 FLOPS/cykel. Detta ger Rome 4x den teoretiska toppfloppen över Neapel, 2x från den förbättrade flyttalskapaciteten och 2x från dubbelt så många kärnor (64c mot 32c). Figur 10 visar de uppmätta HPL-resultaten för de fyra CPU-modellerna i Rom som vi testade, tillsammans med våra tidigare resultat från ett Neapel-baserat system. Rome HPL-effektiviteten anges som procentvärdet ovanför staplarna i diagrammet och är högre för de lägre TDP CPU-modellerna.

Testerna kördes i Power Determinism-läge och ett delta på ~5 % i prestanda uppmättes över 64 identiskt konfigurerade servrar. Resultatet här är alltså i det prestandaintervallet.

Figur 9 Rom

(Bild 10 HPL för en server i NPS4)

Nästa HPL-tester med flera noder utfördes och dessa resultat ritas i figur 11. HPL-effektiviteten för EPYC 7452 ligger kvar över 90 % vid en skala med 64 noder, men nedgången i effektivitet från 102 % ner till 97 % och tillbaka upp till 99 % behöver utvärderas ytterligare

Figur 10 Rom

(Bild 11 HPL med flera noder, dubbla socklar EPYC 7452 över HDR100 InfiniBand)


Överst på sidan

 

 

Sammanfattning och vad som kommer härnäst

 

Inledande prestandastudier på Rom-baserade servrar visar förväntad prestanda för vår första uppsättning HPC-prestandatest. BIOS-finjustering är viktigt när du konfigurerar för bästa prestanda, och finjusteringsalternativ finns tillgängliga i vår BIOS HPC-arbetsbelastningsprofil som kan konfigureras på fabriken eller ställas in med hjälp av Dell EMC:s systemhanteringsverktyg.

HPC och AI Innovation Lab har ett nytt Rom-baserat PowerEdge-kluster med 64 servrar, Minerva. Håll utkik här för efterföljande bloggar som beskriver programprestandastudier på vårt nya Minerva-kluster.


Överst på sidan

 

Article Properties


Last Published Date

15 Mar 2024

Version

6

Article Type

Solution