Dela via


Översikt över prestanda och benchmarking för högpresterande datorberäkning (High-Performance Computing, HPC)

High-Performance Databehandlingssystem (HPC) är utformade för att bearbeta stora mängder data och utföra komplexa beräkningar i höga hastigheter. Att förstå och mäta deras prestanda är avgörande för systemoptimering, anskaffningsbeslut och för att säkerställa att program uppfyller prestandakraven. Det här dokumentet innehåller en omfattande översikt över HPC-prestandabegrepp och benchmarkingmetoder.

Viktiga prestandamått

Att förstå de grundläggande mått som används för att mäta HPC-systemprestanda är viktigt för meningsfull systemutvärdering och jämförelse. De tillhandahåller objektiva mätningar för jämförelse, identifierar systemflaskhalsar, vilket möjliggör prestandajustering och hjälper till att förutsäga programmets prestanda. Föreställningen

HPC-systemens beräkningsfunktioner mäts genom olika mått som kvantifierar deras förmåga att köra beräkningar och instruktioner.

  • FLOPS (Floating-Point Åtgärder per sekund): Mäter systemets råa beräkningskraft
  • Högsta prestanda: Teoretisk maximal prestanda som kan uppnås av systemet
  • Varaktig prestanda: Faktiska prestanda som uppnås under verkliga åtgärder
  • IPS (instruktioner per sekund): Hastighet med vilken en processor kör instruktioner

Benchmarking-kategorier

Olika typer av benchmarks har olika syften när det gäller att utvärdera systemprestanda, från att testa specifika komponenter till att utvärdera verkliga programprestanda.

Syntetiska riktmärken
(Testa specifika systemkomponenter eller egenskaper)
Applikationsprestandamått
(Verkliga program eller deras proxyservrar)
Kärna Prestandatester
(Små, fristående delar av program)
STREAM (minnesbandbredd) Väderforskning och prognostisering (WRF) NAS Parallel Benchmark-test
Intel MPI Benchmarks (nätverksprestanda) GROMACS (molekylär dynamik) DOE CORAL-riktmärken
LINPACK (tät linjär algebra) NAMD (molekylär dynamik) ECP-proxyapplikationer
HPCG (gles linjär algebra) MILC (kvantkromodynamik)

Metoder för prestandaanalys

Olika tekniker används för att samla in detaljerade prestandadata och identifiera flaskhalsar i HPC-system och -program. De vanligaste metoderna är profilering där den samlar in körningsdata för att förstå mönster för programbeteende och resursanvändning, spårning metod där den samlar in information om tidsmässig information om programkörning och systembeteende för djupgående analys.

Profilering

  • Tidsbaserad profilering: Provtagning av programräknare med jämna mellanrum
  • Händelsebaserad profilering: Insamling av maskinvaruräknardata
  • Kommunikationsprofilering: Analysera meddelandemönster och tidsinställningar
  • I/O-profilering: Mäta filsystemprestanda

Spårning

  • Tidslinjeanalys: Registrera tidsmässigt beteende för händelser
  • Meddelandespårning: Analysera kommunikationsmönster
  • Spårning av maskinvaruräknare: Registrera maskinvaruhändelser över tid

Tekniker för prestandaoptimering

Dessa strategier hjälper till att maximera systemets effektivitet och programprestanda i olika aspekter av HPC-system. De mest effektiva teknikerna kombinerar vanligtvis element från alla tre kategorierna, vilket skapar en balanserad optimeringsstrategi som tar hänsyn till hela systemets prestandaegenskaper. Framgång kommer ofta från att identifiera vilken kombination av dessa tekniker som bäst matchar din specifika program- och systemarkitektur.

En skärmbild av de effektiva teknikerna med kombinerade element.

Metodtips för benchmarking

Följande är etablerade benchmarking-metoder som säkerställer tillförlitliga och reproducerbara prestandamätningar.

Metodik

  • Definiera tydliga mål och mått
  • Välj representativa riktmärken
  • Säkerställa konsekventa testvillkor
  • Dokumentera alla provningsparametrar
  • Utför flera körningar för statistisk giltighet

Vanliga fallgropar att undvika

  • Otillräckliga uppvärmningsperioder
  • Inkonsekventa kompilatoralternativ
  • Otillräckliga urvalsstorlekar
  • Orealistiska indatauppsättningar
  • Ignorera systemvariabilitet

Rapporteringskrav

  • Information om systemkonfiguration"
  • Information om programvarustacken
  • Referensvärdesparametrar
  • Råresultat och statistisk analys
  • Miljöförhållanden
  • Optimeringsinställningar