メイン コンテンツに進む

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

この記事は次に適用されます: この記事は次には適用されません: この記事は、特定の製品に関連付けられていません。 すべての製品パージョンがこの記事に記載されているわけではありません。

現象

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

解決方法

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.

 

対象製品

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7
文書のプロパティ
文書番号: 000176921
文書の種類: Solution
最終更新: 03 3月 2025
バージョン:  5
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。