HPE heeft een nieuwe compute offload-technologie gepresenteerd op basis van het Message Passing Interface (MPI)-protocol voor zijn Slingshot Network Interface Cards (NIC’s). Hiermee kunnen de control planes voor zowel berekeningen als communicatie op de NIC zelf worden beheerd.

Het verplaatsen van workloads op de control plane moet voor moderne systeeminfrastructuren vaak kostenbesparingen en sterkere security opleveren. Wel betekent dit constant verplaatsen van workloads dat de ene offload van berekeningen ergens anders weer meer berekeningen oplevert. De berekeningen moeten immers ergens worden gedaan.

Introductie nieuwe technologie

HPE heeft met de komst van zijn nieuwe Cassini Slingshot 11 NIC, die samenwerkt met de Rosetta Slingshot Ethernet switch ASIC, sommige berekeningen tijdens het verplaatsen van workloads geoffload.

Het gaat hierbij om de berekeningen voor het beheer van de control planes voor zowel rekenkracht als communicatie. De techgigant gebruikt hiervoor MPI. Dit protocol wordt normaal gebruikt voor gedistribueerde HPC-applicaties en soms voor het bewegen van AI-trainingframeworks van de processor naar de GPU en niet naar de NIC zelf.

De MPI-technologie moet dit veranderen. Het wordt ‘stream triggerd communicatie’ genoemd en maakt onderdeel uit van de Frontier exascale suprecomputer in het Oak Ridge National Laboraties onderzoekscentrum van de Amerikaanse overheid. De MPI-technologie voor offloaden van berekeningen verschilt van de traditionele MPI-communicatie die GPU aware is, terwijl de nieuwe MPI-technologie ‘GPU stream aware’ is.

Traditionele MPI-technologie

De normale GPU aware MPI-software, die zich in de GPU nodes van Nvidia en AMD bevindt, heeft zijn eigen mechanismes voor het uitvoeren van de peer-to-peer communicatie tussen GPU die zich in verschillende nodes bevinden. Dit is onder meer nodig voor grootschalige simulaties of het trainen van grote AI-modellen. De MPI data beweegt zich via Remote Direct Memory Access-methoden. Dit maakt het overbrengen van data mogelijk tussen een GPU en een NIC zonder dat de CPU daar tussenbeide komt. Toch zijn hiervoor wel nog CPU threads nodig voor het synchroniseren van activiteiten en het orkestreren van het bewegen van data tussen de compute engines. Alle communicatie en synchronisatie gebeurt daarom op GPU kernelniveau.

Stream triggered communicatie

Met de stream triggered-technologie van HPE worden de GPU-kernelactiviteiten in een wachtrij geplaatst en in gelijklopende streams gezet. De stream van de GPU kernel wordt in command descriptors verpakt, wat ervoor zorgt dat deze werkzaamheden op een gegeven moment kunnen worden getriggerd. Hierbij worden de controle-activiteiten aan de GPU-stream toegevoegd en uitgevoerd door de GPU control processor en niet de CPU.

Uiteindelijk moet deze technologie, die ingrijpt op hardwarecomponenten, ervoor zorgen dat de offload-berekeningen sneller en meer op schaal kunnen worden uitgevoerd. Uiteindelijk wil HPE hiermee betere prestaties halen voor toekomstige interfaces. De ontwikkeling van de geoptimaliseerde MPI-technologie is hiervan een eerste stap.