Wetenschappelijk onderzoekers maar ook bedrijven en start-ups maken er vaak gebruik van: High Performance Computing, of kortweg HPC. HPC biedt mensen de mogelijkheid om complexe problemen en uitdagingen in de samenleving te onderzoeken en op zoek te gaan naar antwoorden. Denk aan nieuwe medicijnen, astronomische gegevens van satellieten en telescopen, het maken van nieuwe materialen of voor het maken van gezond en duurzaam voedsel. Al deze dingen zijn slechts enkele mogelijke onderwerpen waarvoor je High Performance Computing (HPC) kunt gebruiken.
Maar wat is HPC precies en hoe kun je het gebruiken voor je onderzoek of bedrijf?
HPC, ook bekend als supercomputing, is eigenlijk niets minder dan het vermogen om complexe taken op zeer hoge snelheid te verwerken. De machine die je hiervoor gebruikt heet een supercomputer. Een van de voordelen van het gebruik van supercomputers is dat er veel minder prototypes nodig zijn en dat je veel sneller kunt testen. De mogelijkheid om HPC in de cloud te gebruiken maakt het nu ook makkelijker om gegevens met anderen te delen, dit helpt om bijvoorbeeld de introductie van nieuwe producten of medicijnen te versnellen.
Hoe werkt HPC?
HPC werkt door taken op te delen in kleinere stukken en deze door meerdere processors of cores tegelijk te laten verwerken. Dit zorgt ervoor dat een hele workflow “veel sneller” wordt verwerkt dan het geval zou zijn bij het gebruik van traditionele seriële pijplijnen.
Een supercomputer wordt gebouwd als een cluster, dat is een groep servernodes met krachtige en geoptimaliseerde verwerkingseenheden zoals multicore CPU’s of manycore gespecialiseerde versnellers zoals GPU’s (General Purpose Graphics Processing Units). Communicatie tussen verschillende delen van het systeem is cruciaal, dus HPC-systemen maken gebruik van snelle interconnecties voor effectieve samenwerking. Elke node kan gegevens met elkaar delen via dit snelle netwerk, waardoor je de taken van je probleem kunt parallelliseren en verdelen met een enorme schaalbaarheid.
Hoe te beginnen met HPC?
Voordat je aan de slag kunt met supercomputers, moet je met een aantal dingen rekening houden. Je moet eerst de vereisten en afhankelijkheden van je toepassing begrijpen en het meest efficiënte algoritme schrijven van je probleem. Nadat je een functionele versie van je toepassing hebt, kunnen prestatie-optimalisaties worden toegepast. Hierbij is het belangrijk om taken te kiezen die parallel verwerkt kunnen worden en om de broncode aan te passen voor dit soort verwerking. Overweeg programmeerstandaarden zoals MPI en OpenMP om respectievelijk distributie en multicore parallellisme aan te pakken.
Efficiënt energiegebruik bij supercomputers
De vooruitgang in chipfabricagetechnologie heeft een stadium bereikt waarin transistors worden geproduceerd op schalen gemeten in nanometers. Supercomputers zoals Snellius worden vaak gebouwd in een hoge dichtheidsconfiguratie, waarbij een groot aantal processors en andere componenten strak op elkaar worden geplaatst binnen een relatief klein gebied, wat betere prestaties en de mogelijkheid om belangrijke geavanceerde functies te integreren mogelijk maakt. Deze opstelling brengt echter een aanzienlijke warmteontwikkeling met zich mee, die efficiënt moet worden afgevoerd.
Het op temperatuur houden kan veel energie kosten. Om een betere efficiëntie te garanderen, omvat de koelplanning van Snellius een ontwerp dat de luchtstroom optimaal verspreidt en hotspots minimaliseert. De serverracks worden zo geplaatst dat de warme lucht wordt afgevoerd in een specifieke gang (meestal aan de achterkant van het rack), waardoor een koude en een warme gang worden gecreëerd die van elkaar zijn geïsoleerd.
Koelen met water
Snellius gebruikt twee soorten mechanismen om de computerknooppunten te koelen. Het eerste gaat uit van een gesloten waterkoelsysteem dat water door minuscule kanaaltjes pompt die direct over de warmteproducerende siliciumcomponenten in een computernode zijn geplaatst. Het tweede mechanisme bevat een warmtewisselaar bij de achterdeur van elk rack. Dit stuk wordt gebruikt om de warmte die wordt gegenereerd door de nodes in het rack, over te dragen aan koelwater dat door de deur circuleert. Het opgewarmde water wordt vervolgens overgebracht naar andere warmtewisselaars die de warmte afgeven aan de buitenlucht. Naast de noodzaak om de operationele temperatuur van de supercomputerapparatuur te garanderen, is het in de wereld van vandaag noodzakelijk om prioriteit te geven aan energie-efficiëntie.
Wil jij meer weten over werken met supercomputing?
Voor MKB’s, start-up’s, overheden en de industrie: je kunt via EuroCC gratis trainingen volgen voor de Nationale Supercomputer Snellius, ondersteuning krijgen en zelfs gratis rekentijd!
Wil je hier meer over weten? Neem contact met ons op via info@eurocc-netherlands.nl of kijk bij ons team
Zit je in de academische wereld? Wetenschappers die gebruik willen maken van de Supercomputer Snellius kunnen contact opnemen met SURF.