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.

BIOS-karakterisering för HPC med Intel Cascade Lake-processorer

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

Artikel skriven av Varun Bawa, Savitha Pareek och Ashish K Singh från HPC och AI Innovation Lab i april 2019

Resolution

I och med lanseringen av andra generationens processorer i den skalbara processorserien Intel Xeon® (med arkitekturkodnamnet "Cascade Lake") har Dell EMC uppdaterat 14:e generationens PowerEdge-servrar för att dra nytta av det ökade antalet kärnor och högre minneshastigheter, vilket gynnar HPC-program.

I den här bloggen presenteras de första resultaten och diskuteras effekten av de olika BIOS-justeringsalternativen som finns på Dell EMC PowerEdge C6420 med de senaste Intel Xeon® Cascade Lake-processorerna för vissa HPC-prestandatest och program. Nedan följer en kort beskrivning av Cascade Lake-processorn, BIOS-alternativ och HPC-program som används i denna studie.

Cascade Lake är Intels efterträdare till Skylake. Cascade Lake-processorn stöder upp till 28 kärnor, sex DDR4-minneskanaler med hastigheter på upp till 2 933 MT/s. I likhet med Skylake stöder Cascade Lake ytterligare vektoriseringskraft med AVX512-instruktionsuppsättningen som tillåter 32 DP FLOP/cykel. Cascade Lake introducerar VNNI (Vector Neural Network Instructions) som ökar prestandan för AI- och DL-arbetsbelastningar som bildklassificering, taligenkänning, språköversättning, objektidentifiering med mera. VNNI har även stöd för 8-bitarsinstruktion för att accelerera inferensprestanda.

Cascade Lake innehåller maskinvaruåtgärder för vissa sårbarheter i sidokanaler. Det förväntas att detta kan förbättra prestanda för lagringsarbetsbelastningar. Håll utkik efter framtida studier från Innovation Lab.

Eftersom Skylake och Cascade Lake är sockelkompatibla, är processorjusteringsrattarna som visas i system-BIOS likartade över dessa processorgenerationer. Följande BIOS-justeringsalternativ undersöktes i denna studie, liknande arbete som tidigare publicerats på Skylake.

Processorinställningar:

  • Intilliggande förhämtning av cachelinje: Den intilliggande Cache-Line Prefetch-mekanismen tillåter automatisk förhämtning av hårdvara, den fungerar utan att programmeraren behöver ingripa. När den är aktiverad rymmer den två 64-bytes cacherader i en 128-bytes-sektor, oavsett om den extra cache-linjen har begärts eller inte.
  • Funktion för förhämtning av programvara: Det undviker stoppet genom att läsa in data i cacheminnet innan de behövs. Exempel: Om du vill förhämta data från huvudminnet till L2-cachen långt före användningen med en L2-förhämtningsinstruktion och sedan förhämta data från L2-cachen till L1-cachen strax före användningen med en L1-förhämtningsinstruktion. När detta är aktiverat kommer processorn att förinstallera en extra cacherad för varje minnesbegäran.
  • SNC (Sub-NUMA-kluster): Att aktivera SNC liknar att dela upp en enskild socket i två NUMA-domäner, var och en med hälften av de fysiska kärnorna och hälften av sockelns minne. Om detta låter bekant liknar det Cluster-on-Die-alternativet som fanns i Intel Xeon E5-2600 v3- och v4-processorer. SNC implementeras på ett annat sätt än COD, och dessa ändringar förbättrar fjärrsocketåtkomsten i Cascade Lake jämfört med tidigare generationer, som använde Cluster-on-Die-alternativet. På operativsystemnivå visar en server med två socklar med SNC aktiverat fyra NUMA-domäner. Två av domänerna kommer att vara närmare varandra (på samma uttag), och de andra två kommer att vara ett större avstånd bort, över UPI:n till fjärruttaget. Du kan se detta med hjälp av operativsystemverktyg som: numactl –H och illustreras i figur 1.
SLN316864_en_US__1image001.1
Bild 1: Layout för NUMA-noder

Systemprofiler:

Systemprofilerna är ett metaalternativ som i sin tur ställer in flera prestanda- och strömhanteringsfokuserade BIOS-alternativ som Turbo-läge, Cstate, C1E, Pstate-hantering, Uncore-frekvens, etc.  De olika systemprofilerna som jämförs i denna studie inkluderar:
  • Prestanda
  • PerformancePerWattDAPC
  • PrestandaPerWattOS
Vi använde två HPC-prestandatest och två HPC-program för att förstå vilken inverkan dessa BIOS-alternativ har på Cascade Lake-prestanda. Konfigurationerna av server- och HPC-program som används för denna studie beskrivs i Tabell 1 och Tabell 2.
Program Domän Version Riktmärke
Högpresterande Linpack (HPL) Beräkningslösa ett tätt system av linjära ekvationer Från Intel MKL – 2019 Update 1 Problemstorlek 90 %, 92 % och 94 % av det totala minnet
Stream Minnesbandbredd 5.4 Triad
WRF Väderforskning och prognoser 3.9.1 Conus 2.5km
ANSYS® flytande®  Strömningsdynamik 19.2 Ice_2m,
Combustor_12m,
Aircraft_wing_14m,
Exhaust_System_33m

Tabell 1: Applikationer och prestandatest

Komponenter Detaljer
Server PowerEdge-server C6420
Processor Intel® Xeon® Gold 6230 CPU @ 2,1 GHz, 20 kärnor
Minne 192 GB – 12 × 16 GB 2 933 MT/s DDR4
Operativsystem Red Hat Enterprise Linux 7.6Red Hat Enterprise Linux 7.6
Kärna 3.10.0-957.el7.x86_64
Kompilator Intel Parallel Studio-kluster Edition_2019_Update_1

Tabell 2 Serverkonfiguration

Alla resultat som visas här är baserade på tester med en server. Prestanda på klusternivå begränsas av prestanda på enskild server. Följande mätvärden användes för att jämföra prestanda:
  • Stream – Triad-poäng enligt strömriktmärket.
  • HPL – GFLOP/sekund.
  • Fluent – Lösningsbetyg enligt Fluent.
  • WRF – Genomsnittligt tidssteg beräknat under de senaste 719 intervallen för Conus 2,5 km

Prestandatester och programresultat

Förkortningar för grafnotation:

Systemprofiler:

Prestanda – PerformanceSLN316864_en_US__2a2 OS – PerformancePerWattOS SLN316864_en_US__3a3 DAPC – PerformancePerWattDAPCSLN316864_en_US__4a1
Sub-NUMA-klustring: SNC = 0(SNC = Inaktiverad): SNC = 1(SNC = Aktiverad: Formaterad som randig i diagram)
SW – Programvara för förhämtning: SW = 0 (SW = Inaktiverad): SW = 1 (SW = aktiverad)

SLN316864_en_US__5image006
 Bild 2: Högpresterande Linpack

I bild 2 jämförs resultatet av HPL med Problemstorlek = 90 %, dvs. N = 144476 för olika BIOS-alternativ. Diagrammet visar absoluta gigaflops som erhålls när HPL körs i olika BIOS-konfigurationer. Dessa erhållna gigaflops ritas på y-axeln, högre är bättre.
Nedan följer observationerna från diagrammet:
  • Mindre än 1 % skillnad i HPL-prestanda på grund av förhämtning av programvara.
  • Ingen större effekt av SNC på HPL-prestanda (0,5 % bättre med SNC=inaktiverad).
  • Prestandasystemprofilen är upp till 6 % bättre jämfört med OS och DAPC.
 SLN316864_en_US__6image008
Bild 3: Stream

På bild 3 jämförs resultatet av STREAM i de olika BIOS-konfigurationerna.
Diagrammet visar minnesbandbredden i gigabyte per sekund som erhålls när du kör STREAM Triad. Den erhållna minnesbandbredden (GB/sek) ritas på y-axeln, högre är bättre. BIOS-konfigurationen som är kopplad till specifika värden på gigabyte per sekund ritas på x-axeln.
Nedan följer observationerna från diagrammet:
  • Upp till 3 % bättre minnesbandbredd med SNC=aktiverat.
  •  Inte mycket avvikelse i prestanda på grund av förhämtning av programvara på STREAM-minnesbandbredd. 
  •  Inga avvikelser mellan systemprofiler.
   SLN316864_en_US__7a4
Bild 4: Minnesbandbredd – SNC

Bild 4 ritar Stream Triad-minnesbandbreddspoängen i en sådan konfiguration. Den fulla systemminnesbandbredden är ~220 GB/s. När 20 kärnor på en lokal sockel får åtkomst till lokalt minne är minnesbandbredden ~109 GB/s – hälften av systemets fulla bandbredd. Hälften av detta, ~56 GB/s, är minnesbandbredden för 10 trådar på samma NUMA-nod som har åtkomst till deras lokala minne och på en NUMA-nod åtkomstminne som tillhör den andra NUMA-noden på samma sockel. Minnesbandbredden minskar med 42 % till ~33 GB/s när trådarna får åtkomst till fjärrminnet via QPI-länken på fjärrsocketen. Detta säger oss att det finns betydande bandbreddsförsämring i SNC-läge när data inte är lokala.

SLN316864_en_US__8image012
 Bild 5: WRF

I figur 5 jämförs resultatet av WRF över olika BIOS-alternativ, datauppsättningen som används är conus2.5km med standardfilen "namelist.input".
Diagrammet visar det absoluta genomsnittliga tidssteget i sekunder som erhålls när du kör WRF-conus2.5km-datauppsättningen på olika BIOS-konfigurationer. Det genomsnittliga tidssteget som erhålls ritas på y-axeln, lägre är bättre. De relativa profilerna som är kopplade till specifika värden för genomsnittligt tidssteg ritas på x-axeln.
Nedan följer observationerna från diagrammet:
  • 2 % bättre prestanda med SNC=Enabled.
  •  Ingen prestandaskillnad för förhämtning av mjukvara aktiverad jämfört med inaktiverad.
  •  Prestandaprofilen är 1 % bättre än PerformancePerWattDAPC-profilerna
  SLN316864_en_US__9a7
 SLN316864_en_US__10a6
Bild 6 till bild 9 ritar Problemlösarklassificering som erhållits när du kör Fluent- med Ice_2m, Combustor_12m, Aircraft_Wing_14m respektive Exhaust_System_33m datauppsättning. Det erhållna Problemlösaromdömet ritas på y-axeln, högre är bättre. De relativa profilerna som är kopplade till specifika värden för genomsnittlig tid ritas på x-axeln.
Nedan följer de övergripande iakttagelserna från diagrammen ovan:
  • Upp till 4 % bättre prestanda med SNC=Enabled.
  • Ingen effekt av förhämtning av programvara på prestanda.
  • Upp till 2 % bättre prestanda med prestandaprofil jämfört med DAPC- och OS-profiler.

Slutsats

I den här studien utvärderade vi effekten av olika BIOS-justeringsalternativ på prestanda vid användning av Intel Xeon Gold 6230-processorn. Genom att observera prestandan hos olika BIOS-alternativ i olika prestandatest och tillämpningar dras följande slutsats:
  • Förhämtning av programvara har ingen betydande prestandapåverkan på de datauppsättningar som testades. Därför rekommenderar vi att Software Prefetcher förblir som standard, dvs. Aktiverad
  • Med SNC=aktiverad 2–4 % prestandaökning i Fluent och Stream, ca 1 % i WRF jämfört med SNC = Inaktiverad. Därför rekommenderar vi att SNC ska aktiveras för att uppnå bättre prestanda.
  • Prestandaprofilen är 2–4 % bättre än PerformancePerWattDAPC och PerformancePerWattOS. Därför rekommenderar vi prestandaprofilen för HPC.
Vi rekommenderar att hypertrådning inaktiveras för HPC-kluster för generell användning. Beroende på vilka program som används bör fördelarna med den här funktionen testas och aktiveras efter behov.

Något som inte diskuteras i denna studie är en minnes-RAS med namnet Adaptive Double DRAM Device Correction (ADDDC) som är tillgänglig när ett system är konfigurerat med minne som har en x4 DRAM-organisation (32 GB, 64 GB DIMM-moduler). ADDDC är inte tillgängligt när ett system har x8-baserade DIMM-moduler (8 GB, 16 GB) och är oväsentligt i dessa konfigurationer. För HPC-arbetsbelastningar rekommenderar vi att ADDDC ställs in på inaktiverat när det är tillgängligt som ett justerbart alternativ.

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7

Last Published Date

10 Apr 2021

Version

4

Article Type

Solution