Naast de central processing unit (cpu) is ook de graphics processing unit (gpu) een belangrijk onderdeel van een goed presterende server. Maar waar zitten eigenlijk nu de verschillen tussen een cpu en gpu? En hoe laat je ze optimaal samenwerken om de beste verwerkingskracht te leveren?
Processors kunnen verschillend worden ontworpen om ze geschikter te maken voor specifieke taken. De cpu van de server is ontworpen om ‘instructiecycli’ uit te voeren die de primaire werklast van de server omvatten. Dit kan variëren van het hosten van een webpagina tot het analyseren van signalen uit de ruimte die wetenschappers helpen om verre planeten te vinden.
In plaats van een ontwerp voor alle taken te gebruiken, gingen mensen zich natuurlijk afvragen of er een manier is om processors te maken die gespecialiseerd zijn voor verschillende soorten werkbelasting.
De ins en outs van de gpu
Een van de resultaten hiervan was de grafische verwerkingseenheid, kortweg gpu. Zoals de naam al doet vermoeden, is deze oorspronkelijk uitgevonden om beelden op schermen weer te geven. Vanuit een mecfhanisch oogpunt lijkt een gpu sterk op een cpu, omdat hij uit veel van dezelfde onderdelen bestaat, zoals de rekenkundige logische eenheid (ALU, arithmic logic unit), een besturingseenheid, cache, etc. Net als de cpu voltooit de gpu instructiecycli door zijn componenten te gebruiken om de berekeningen uit te voeren die nodig zijn om resultaten te leveren.
De twee verschillen echter in het ontwerp en configuratie van hun componenten. Vergeleken met een cpu heeft een gpu meestal meer kernen, minder gecompliceerde besturingseenheden en ALU’s, en kleinere caches. Terwijl een cpu door zijn structuur uitblinkt in seriële verwerking (dus één instructiecyclus na de andere afwerken), maakt een gpu gebruik van het grote aantal kernen om parallel te rekenen. Daarbij wordt een taak in meerdere delen opgedeeld en gelijktijdig op meerdere kernen uitgevoerd om zo de verwerking te versnellen.
Het resultaat hiervan is dat, terwijl een cpu in theorie elke taak kan uitvoeren, een gpu sommige eenvoudigere, specifieke taken – zoals het maken van computerafbeeldingen – zeer efficiënt kan uitvoeren.
Al snel werd ontdekt dat gpu’s ook voor meer doeleinden kon worden gebruikt. Een zogenaamde general purpose fraphics processing unit, ofwel GPGPU, wordt ingezet om de cpu te ondersteunen bij andere taken dan het genereren van beelden. Wanneer in de serverindustrie gpu’s met cpu’s worden vergeleken of als er sprake is van gpu-computing, gaat het meestal over GPGPU’s.
De belangrijkste verschillen tussen cpu en gpu
Om te begrijpen waarom een geavanceerde server zowel top-line cpu’s als gpu’s nodig heeft om door te groeien naar de hogere regionen van high performance computing (HPC), moeten we dieper ingaan op hoe de twee typen processors vergelijkbaar maar verschillend zijn, en hoe ze elkaar aanvullen.
Geen enkele server kan werken zonder cpu, net zoals geen enkele auto kan rijden zonder motor. De cpu is de belangrijkste ‘rekenmachine’ die instructies ontvangt en met alle andere componenten samenwerkt om de klus te klaren. Hij heeft meestal een hogere kloksnelheid en een lagere latentie, zijn ALU’s en besturingseenheden zijn complexer, en hij heeft een grotere cache. Dit zorgt ervoor dat de cpu de capaciteit en flexibiliteit heeft om elk soort berekening uit te voeren en zelfs de meest ingewikkelde instructiecycli te voltooien.
De cpu komt in de problemen wanneer hij vastloopt in een stortvloed van relatief eenvoudige maar tijdrovende taken. Een gpu daarentegen heeft kleinere caches, eenvoudiger ALU’s en besturingseenheden, maar een hogere verwerkingscapaciteit, en veel meer kernen. Hij is ontworpen om de cpu te helpen ongecompliceerde, maar repetitieve berekeningen zeer snel uit te voeren. Een gpu is bij uitstek geschikt voor het genereren van elke pixel die je op het scherm ziet. Deze eigenschap maakt een gpu echter ook zeer geschikt voor big data-analyse, machine learning, AI-ontwikkeling en andere belangrijk trends in computerwetenschappen.
Heterogene computing
Er zijn naast de gpu inmiddels aanzetten om nieuwe soorten processors of ‘coprocessors’ uit te vinden om een deel van de werklast van de cpu over te nemen. Een recent voorbeeld is de zogenaamde data processing unit, of DPU. Hij wordt ook wel eens de derde pijler van het datacenter genoemd en netwerk- en communicatietaken van de cpu over. De DPU maakt gebruik van hardwareversnelling en krachtige netwerkinterfaces om uit te blinken in gegevensanalyse, gegevenscompressie, gegevensbeveiliging, gegevensopslag en gegevensoverdracht.
In de serverindustrie wordt vaak gesproken over ‘heterogene computing’. Deze term beschrijft het gebruik van verschillende soorten processors om ervoor te zorgen dat de juiste hulpmiddelen worden ingezet voor een bepaalde taak. Dit is de beproefde methode om de maximale prestaties uit een server te halen.
In feite zijn er naast cpu, gpu en dpu nog veel andere soorten computerchips. Zo is er de vision processing unit (VPU), die uitblinkt in berekeningen computer vision berekeningen; de application-specific integrated circuit (ASIC); en zijn tegenhanger, de field-programmable gate array (FPGA). Het is zover gekomen dat als u heterogene computing niet in uw serveroplossing hebt opgenomen, de kans groot is dat uw server niet wordt gevraagd het beste te zijn dat hij kan zijn.
Servers met cpu en gpu inzetten
GIGABYTE Technology heeft een breed scala aan serveroplossingen die zijn ontworpen om gpu-computing te ondersteunen. De belangrijkste daarvan is de G-serie gpu-servers – de naam zegt het al. De G-serie biedt de dubbele voordelen van een groot aantal gpu-slots en razendsnelle gegevensoverdracht dankzij PCIe-technologie. Om de verbluffende G591-HS0 als voorbeeld te nemen: dit juweeltje biedt tot 32 low-profile gpu-slots van halve lengte in een 5U-chassis (elke U is een rack-eenheid van 1,75 inch hoog). De cpu is de Intel Xeon Scalable processor. De combinatie van de aanzienlijke verwerkingskracht van de cpu met geavanceerde gpu-versnelling maakt overduidelijk waarom gpu’s een steunpilaar van de supercomputersector zijn geworden.
Natuurlijk is de G-serie niet de enige serverproductlijn van GIGABYTE die geschikt is voor gpu computing. De H-Series High Density Servers, die gespecialiseerd zijn in extreem dichte processorconfiguraties; de R-Series Rack Servers voor algemene inzetdoelen; de compacte E-Series Edge Servers voor edge-computing; en de W-Series Workstations, waarmee gebruikers enterprise-grade computing direct op de desktop kunnen implementeren – al deze modellen ondersteunen een wisselend aantal gpu-versnellers, afhankelijk van de behoeften van de klant.
Een andere manier om te bepalen of je kunt profiteren van het toevoegen van gpu’s aan de mix is door te kijken waarvoor je je servers gaat gebruiken. Uiteraard zijn er oneindig veel taken die je met je servers kunt uitvoeren, dus het is onmogelijk om ze hier allemaal op te sommen.
Door gpu-computing in serveroplossingen in te bouwen, profiteer je van betere algemene prestaties. GIGABYTE Technology biedt een verscheidenheid aan serverproducten die de ideale platforms zijn om geavanceerde cpu’s en gpu’s te gebruiken. Ze worden gebruikt in AI en big data-toepassingen in weersvoorspellingen, energie-exploratie, wetenschappelijk onderzoek, en nog veel meer gebieden.
Praktijkvoorbeeld: gpu-computing bij CERN
De Europese Organisatie voor Nucleair Onderzoek, beter bekend als CERN, gebruikt de wereldberoemde Large Hadron Collider (LHC) om experimenten met subatomaire deeltjes uit te voeren die de menselijke kennis op het gebied van kwantumfysica bevorderen.
Op het moment dat er in de LHC deeltjes op elkaar botsen, wordt er een gigantische hoeveelheid ruwe data gegenereerd – meer dan 40 terabyte per seconde. Deze informatie moet worden geanalyseerd om wetenschappers te helpen bij het opsporen van nieuwe soorten quarks en andere elementaire deeltjes die de bouwstenen van ons universum vormen.
CERN koos voor de GIGABYTE G482-Z51-server, een gpu-server die AMD Epyc-cpu’s en maximaal 8 PCIe 4.0-gpu’s ondersteunt, om de enorme hoeveelheid gegevens die door hun experimenten worden gegenereerd te verwerken. De heterogene computing tussen de processors wordt geoptimaliseerd dankzij het geïntegreerde serverontwerp van GIGABYTE, dat de signaalintegriteit maximaliseert door signaalverlies in high-speed transmissies te minimaliseren. Dit resulteert in een serveroplossing met hogere bandbreedte, lagere latentie en onovertroffen betrouwbaarheid.
We hopen dat deze tech-guide de verschillen tussen een cpu en gpu heeft kunnen uitleggen; we hopen ook dat het duidelijk heeft gemaakt waarom ze effectief kunnen worden ingezet via heterogene computing bij toepassingen zoals AI, HPC of andere interessante trends in de computerwetenschap. Ga naar GIGABYTE voor meer informatie hoe een organisatie kan profiteren van de meest geavanceerde cpu’s en gpu’s.