Sammendrag
Dell EMC PowerEdge C4140 har nylig lagt til en ny "Configuration M"-løsning. Nå som dette siste alternativet blir en del av C4140-serien, viser denne artikkelen resultatene av studien som vurderer Configuration M-ytelsen vs. Configuration K-ytelsen for ulike HPC-applikasjoner, inkludert HPL, GROMACS og NAMD.
Oversikt
PowerEdge C4140 er en 1U-rackserver med to kontakter. Den inkluderer støtte for Intel Skylake-prosessorene, opptil 24 DIMM-spor og fire NVIDIA Volta GPU-kort med dobbel bredde. Configuration M og Configuration K er to konfigurasjoner i C4140-serverfamilien som støtter NVLINK. Sammenligningen av de to topologiene vises i figur 1. De to viktigste forskjellene mellom disse to konfigurasjonene er beskrevet nedenfor:
p2pBandwidthLatencyTest
Figur 2: Kort-til-kort-ventetid med P2P deaktivert in C4140 Configuration K og M
p2pBandwidthLatencyTest er en mikroytelsesprøve som er inkludert i CUDA SDK. Den måler kort-til-kort-ventetid og båndbredde med og uten GPUDirect™ Peer-to-Peer aktivert. Denne testen fokuserer på ventetiden, ettersom dette programmet ikke måler båndbredden samtidig. Du finner diskusjonen om faktisk tilgjengelig båndbredde for applikasjoner i HPL-økten nedenfor. Tallene som står oppført i figur 2, er gjennomsnittet av 100 ganger med enveis kort-til-kort-ventetid i mikrosekunder. Hver gang koden sender én byte fra ett kort til et annet, blir det deaktiverte P2P-nummeret valgt i denne tabellen. Hvis P2P er aktivert, overføres dataene via NVLINK i stedet. PCIe-ventetiden for Configuration M er 1,368 mikrosekunder kortere enn for Configuration K på grunn av de forskjellige PCIe-topologiene.
High Performance Linpack (HPL)
Figur 3 (a) viser HPL-ytelsen på C4140-plattformen med én, to, fire og åtte V100-SXM2 GPU-er. Resultatene med én til fire GPU-er kommer fra én enkelt C4140, mens ytelsesresultatene med åtte GPU-er kommer fra to servere. HPL-versjonen som brukes i denne testen, er levert av NVIDIA. Den er kompilert med nylig lanserte CUDA 10 og OpenMPI. Følgende aspekter kan ses i HPL-resultatene:
1) Én node. Når alle fire GPU-ene inngår i testen, er Configuration M ~16 % raskere enn Configuration K. Før HPL-applikasjonen starter databehandlingen, måler den tilgjengelig PCIe-båndbredde for enhet-til-vert (D2H) og vert-til-enhet (H2D) for hvert GPU-kort når alle kortene overfører data samtidig. Denne informasjonen gir nyttig innsikt i den faktiske PCIe-båndbredden for hvert kort når HPL kopierer N*N-matrisen til alle GPU-minner samtidig. Som vist i figur 3 (b), er både D2H- og H2D-tallene i Configuration M mye høyere og nærmer seg den teoretiske gjennomstrømningen på PCIe x16. Dette stemmer overens med maskinvaretopologien, ettersom hver GPU i Configuration M har en dedikert PCIe x16-kobling til prosessoren. I Configuration K må alle fire V100-ene dele én enkelt PCIe x16-kobling via PLX PCIe switch, slik at de bare har 2,5 GB/s tilgjengelig hver. På grunn av båndbreddeforskjellen brukte Configuration M 1,33 sekunder på å kopiere den firedelte 16 GB N*N-matrisen til det globale minnet til hver GPU, mens Configuration K brukte 5,33 sekunder. Hele HPL-applikasjonen kjører i ca. 23 til 25 sekunder. Siden alle V100-SXM2 er like, er databehandlingstiden den samme, så 4 sekunder raskere datakopiering gjør Configuration M 16 % raskere.
2) Flere noder. Resultatene av to C4140-noder med åtte GPU-er viser 15 %+ HPL-forbedring i to noder. Dette betyr at Configuration M har bedre skalerbarhet på tvers av noder enn Configuration K, av samme årsak som i eksempelet ovenfor med én node og fire kort.
3) Effektivitet. Strømforbruket ble målt med iDrac, figur 3 (c) viser wattforbruket i tidsserier. Begge systemer når rundt 1850 W på det meste, men takket være et høyere GFLOPS-tall leverer Configuration M høyere ytelse per watt og bedre HPL-effektivitet.
HPL er en ytelsesprøve på systemnivå, og resultatene blir bestemt av komponenter som prosessor, GPU, minne og PCIe-båndbredde. Configuration M har en balansert utforming på tvers av de to prosessorene. Derfor overgår den Configuration K i denne HPL-ytelsesprøven.
GROMACS
GROMACS er et applikasjon for molekylær dynamikk med åpen kilde. Den er utformet for å simulere biokjemiske molekyler som proteiner, lipider og nukleinsyrer med mange kompliserte forbundne reaksjoner. Versjon 2018.3 er testet på water 3072-datasettet som har mer enn tre millioner atomer.
Figur 4: Resultater av GROMACS-ytelse med flere V100 i C4140-Configuration K og M
Figur 4 viser ytelsesforbedringen i Configuration M sammenlignet med K. Ytelsen med ett kort er den samme i de to konfigurasjonene, siden det ikke er forskjell på databanen. Med to og fire GPU-er er Configuration M ~5 % raskere enn K. Ved testing på tvers av to noder har Configuration M opptil 10 % bedre ytelse. Hovedgrunnen er at det økte antallet PCIe-tilkoblinger gir større båndbredde og mer data for å mate GPU-ene raskt. GROMACS blir mye raskere med GPU-er, men denne applikasjonen bruker både prosessorer og GPU-er for parallell beregning. Hvis GROMACS er den viktigste applikasjonen i en klynge, anbefales en kraftig prosessor. Denne grafen viser også skalering av GROMACS-ytelse med flere servere og GPU-er. Selv om ytelsen til applikasjonen ikke øker med flere GPU-er og flere servere, er ytelsesøkningen med ekstra GPU-er mindre enn lineær.
NAnoscale Molecular Dynamics (NAMD)
NAMD er en kode for molekylær dynamikk som er utformet for simulering med høy ytelse av store biomolekylsystemer. Den ferdigbygde binærfilen ble ikke brukt i disse testene. I stedet ble NAMD bygd med den nyeste kildekoden (NAMD_Git-2018-10-31_Source) på CUDA 10. Figur 4 tegner inn ytelsesresultatene ved hjelp av STMV-datasettet (1 066 628 atomer, periodisk, PME). Tester på mindre datasett, f.eks. f1atpase (327 506 atomer, periodisk, PME) og apoa1 (92 224 atomer, periodisk, PME), resulterte i lignende sammenligninger mellom Configuration M og Configuration K, men er ikke presentert her.
Figur 5: Resultater av NAMD-ytelse med flere V100-er i C4140-Configuration K og M
I likhet med GROMACS får NAMD bedre ytelse med fire ganger større PCIe-båndbredde. Figur 5 viser at ytelsen til Configuration M med to og fire kort er 16 % og 30 % større enn ytelsen til Configuration K i et STMV-datasett. Det forventes at ytelsen med ett kort er den samme, siden PCIe-båndbredden er identisk med bare én GPU i testen.
Konklusjoner og fremtidig arbeid
I denne bloggen ble ytelsen til HPC-applikasjoner med HPL, GROMACS og NAMD sammenlignet på tvers av to ulike NVLINK-konfigurasjoner for PowerEdge C4140. HPL, GROMACS og NAMD presterer ~10 % bedre i Configuration M enn i Configuration K. Configuration M leverer minimum samme ytelse som Configuration K i alle testene, ettersom den har alle de gode funksjonene til Configuration K, samt flere PCIe-koblinger og ingen PCIe-switcher. Flere tester er planlagt i fremtiden med flere applikasjoner som RELION, HOOMD og AMBER, i tillegg til tester med V100 32 G GPU.