Samenvatting
Onlangs heeft Dell EMC PowerEdge C4140 een nieuwe "Configuratie M"-oplossing toegevoegd. Omdat deze nieuwste optie deel uitmaakt van de C4140-serie, bevat dit artikel de onderzoeksresultaten van de Configuratie M-prestaties tegenover die van Configuratie K voor verschillende HPC-applicaties, zoals HPL, GROMACS en NAMD.
Overzicht
De PowerEdge C4140 is een 1U-rackserver met 2 sockets. Het biedt ondersteuning voor de Intel Skylake-processoren, maximaal 24 DIMM's en vier NVIDIA Volta GPU-kaarten van dubbele breedte. In de C4140-serverserie zijn Configuratie K en Configuratie M twee configuraties die NVLINK ondersteunen. In afbeelding 1 worden beide topologieën met elkaar vergeleken. De twee belangrijkste verschillen tussen deze twee configuraties worden hieronder beschreven:
p2pBandwidthLatencyTest
Afbeelding 2: Kaart-naar-kaart latentie met P2P is uitgeschakeld in C4140 Configuratie K en M
De p2pBandwidthLatencyTest is een micro-benchmark die deel uitmaakt van de CUDA-SDK. Het meet de latentie en bandbreedte van kaart-naar-kaart met en zonder ingeschakelde GPUDirect™ peer-to-peer. Het accent in deze test ligt op het latentieonderdeel, aangezien dit programma de bandbreedte niet gelijktijdig meet. De bespreking over beschikbare feitelijke bandbreedte voor applicaties vindt u in de HPL-sessie hieronder. De getallen in afbeelding 2 zijn het gemiddelde van 100 keer de kaart-naar-kaart latentie van eenrichtingsverkeer in microseconden. Elke keer dat de code een byte van de ene kaart naar de andere stuurt, wordt het P2P-uitgeschakelde nummer in deze grafiek opgenomen en, omdat als P2P is ingeschakeld, worden in plaats daarvan de data via NVLINK overgedragen. De PCIe-latentie van Configuratie M is 1,368 microseconden lager dan configuratie K vanwege de verschillende PCIe-topologieën.
High Performance Linpack (HPL)
Afbeelding 3 (a) toont HPL-prestaties op het C4140-platform met 1, 2, 4 en 8 V100-SXM2 GPU's. De resultaten van 1-4 GPU's zijn afkomstig van één C4140, het prestatieresultaat van 8 GPU's is verdeeld over twee servers. Bij deze test wordt de gebruikte HPL-versie geleverd door NVIDIA en is deze gecompileerd met recent uitgebrachte CUDA 10 en OpenMPI. De volgende aspecten kunnen worden waargenomen bij de HPL-resultaten:
1) Eén knooppunt. Met alle 4 GPU's in de test is Configuratie M ~ 16% sneller dan Configuratie K. Voordat de HPL-applicatie begint met rekenen, wordt de beschikbare device-to-host (D2H) en host-to-device (H2D) PCIe-bandbreedte gemeten voor elke GPU-kaart, wanneer alle kaarten data gelijktijdig overdragen. Deze informatie biedt nuttige inzichten over de werkelijke PCIe-bandbreedte voor elke kaart wanneer HPL de N*N-matrix tegelijkertijd kopieert naar alle GPU-geheugens. Zoals wordt weergegeven in afbeelding 3 (b), zijn de cijfers van zowel de D2H als de H2D van Configuratie M veel hoger en bereiken ze de theoretische doorvoer van PCIe x16. Dit komt overeen met de bijbehorende hardwaretopologie, aangezien elke GPU in Configuratie M een speciale PCIe x16-koppeling naar de CPU heeft. In Configuratie K moeten alle vier de V100's een enkele PCIe x16-koppeling delen via de PLX PCIe-switch, zodat er slechts 2,5 GB/s voor elk beschikbaar is. Vanwege het bandbreedteverschil had Configuratie M 1,33 seconden nodig om de 4 stukjes 16 GB N*N-matrix te kopiëren naar het globale geheugen van elke GPU's en had Configuratie K 5,33 seconden nodig. De volledige HPL-applicatie duurt ongeveer 23 tot 25 seconden. Omdat alle V100-SXM2 hetzelfde zijn, is de rekentijd hetzelfde, dus deze besparing van 4 seconden bij het kopiëren van data maakt Configuratie M 16% sneller.
2) Meerdere knooppunten. De resultaten van 2 C4140-knooppunten met 8 GPU's laten een HPL-verbetering van 15% of meer zien op twee knooppunten. Dit betekent dat Configuratie M een betere schaalbaarheid heeft over knooppunten dan Configuratie K om dezelfde reden als de afzonderlijke knooppunten met 4 kaarten in het bovenstaande geval.
3) Efficiëntie. Het energieverbruik is gemeten met iDrac, afbeelding 3 (c) toont het wattage in tijdreeksen. Beide systemen bereiken een piek op ongeveer 1850 W, maar dankzij een hoger GFLOPS-waarde biedt Configuratie M zowel een hogere prestatie per watt als HPL-efficiëntie.
HPL is een benchmark op systeemniveau en de resultaten worden bepaald door componenten zoals CPU, GPU, geheugen en PCIe-bandbreedte. Configuratie M heeft een uitgebalanceerd ontwerp over de twee CPU's; daarom presteert het beter dan Configuratie K in deze HPL-benchmark.
GROMACS
Gromacs is een open source-applicatie voor moleculaire dynamica die ontworpen is om biochemische moleculen te simuleren, zoals eiwitten, vetten en nucleïne zuren die veel gecompliceerde interacties van verbindingen hebben. Versie 2018.3 wordt getest op de water 3072-dataset die uit 3.000.000 atomen bestaat.
Afbeelding 4: Prestatieresultaten van GROMACS met meerdere V100 op C4140 Configuratie K en M
Afbeelding 4 toont de prestatieverbetering van Configuratie M ten opzichte van K. De prestaties van één kaart zijn hetzelfde in de twee configuraties, aangezien er geen verschil is op het datapad. Met 2 en 4 GPU's is Configuratie M 5% sneller dan K. Bij tests over twee knooppunten heeft configuratie M tot 10% betere prestaties; de belangrijkste reden is het verhoogde aantal PCIe-verbindingen dat meer bandbreedte biedt en de GPU's sneller van meer data kunnen voorzien. GROMACS wordt enorm versneld met GPU's, maar deze applicatie gebruikt zowel CPU's als GPU's voor parallelle berekeningen; als GROMACS de topapplicatie in een cluster is, wordt daarom een krachtige CPU aanbevolen. Deze grafiek toont ook de schaalvergroting van GROMACS-prestaties met meer servers en meer GPU's. Hoewel de prestaties van de applicatie toenemen met meer GPU's en meer servers, is de prestatieverhoging met extra GPU's minder dan lineair.
NAnoscale Molecular Dynamics (NAMD)
NAMD is een moleculaire dynamica-code die ontworpen is voor krachtige simulatie van grote biomoleculaire systemen. Bij deze tests werd het vooraf samengestelde binaire bestand niet gebruikt. In plaats daarvan is NAMD gebouwd met de nieuwste broncode (NAMD_Git-2018-10-31_Source) on CUDA 10. Afbeelding 4 geeft de prestatieresultaten weer met behulp van de STMV-dataset (1.066.628 atomen, periodiek, PME). Tests op kleinere datasets zoals f1atpase (327.506 atomen, periodic, PME) en apoA1 (92.224 atomen, periodiek, PME) resulteerde in overeenkomstige vergelijkingen tussen Configuratie M en Configuratie K, maar worden hier niet weergegeven om het kort te houden.
Afbeelding 5: Prestatieresultaten van NAMD met meerdere V100's op C4140 Configuratie K en M
Net als bij GROMACS helpt de 4 keer grotere PCIe-bandbreedte de NAMD-prestaties te verhogen. Afbeelding 5 laat zien dat de prestaties van Configuratie M met 2 en 4 kaarten 16% en 30% hoger liggen dan Configuratie K, op de STMV-dataset. De prestaties van één kaart zullen naar verwachting hetzelfde zijn, aangezien de PCle-bandbreedte identiek is met maar één GPU in de test.
Conclusies en toekomstig werk
In deze blog werden de prestaties van HPC-applicaties met HPL, GROMACS en NAMD vergeleken voor twee verschillende NVLINK-configuraties van de PowerEdge C4140. HPL, GROMACS en NAMD presteren ~ 10% beter op Configuratie M dan op Configuratie K. In alle tests levert Configuratie M minimaal dezelfde prestaties als Configuratie K, aangezien het alle goede eigenschappen heeft van Configuratie K plus meer PCIe-koppelingen en geen PCIe-switches. In de toekomst worden aanvullende tests gepland met meer applicaties zoals RELION, HOOMD en AMBER, evenals tests die gebruikmaken van de V100 32G GPU.