Het HPC-platform van toen, nu en straks
Door Koos Huijssen
Wat is er de afgelopen 10 jaar gebeurd op het gebied van de systemen voor het grotere rekenwerk, oftewel de High Performance Computing (HPC)? En wat staat ons de komende jaren te wachten? We gingen in gesprek met twee systeembouwers en we kregen van hen een vogelvlucht perspectief van de ontwikkelingen op het gebied van HPC-platformen.
De hardware van het HPC-platform
Daniël Mantione is High Performance Computing (HPC) Benchmark Specialist bij ClusterVision. Marc van Schijndel is Country Manager NL/Benelux bij ttec. Beiden hebben al meer dan 10 jaar ervaring met het ontwerpen (Daniël) en verkopen (Marc) van HPC-platformen. Dit zijn zowel de grote systemen voor universiteiten, onderzoeksinstituten en ziekenhuizen, als de vaak wat kleinere systemen die bij bedrijven of ingenieursbureaus worden neergezet.
Daniël (ClusterVision): “10 jaar geleden was de hoofdconfiguratie die we neerzetten ook al het zogenaamde Beowulf cluster, dus een aantal rekenknopen die op Linux draaien aan elkaar verbonden door een snel netwerk.” De veranderingen ziet Daniël met name in de componenten: het aantal rekenknopen (nodes) is gegroeid, het netwerk is veel sneller geworden, maar het belangrijkste is dat de nodes zelf veel krachtiger zijn geworden. Het aantal rekenkernen (cores) per processor is tien keer zo hoog geworden en de hoeveelheid geheugen en opslag is exponentieel gegroeid.
Marc (ttec): “Een opvallende verandering is dat vroeger de HPC-platformen opgebouwd waren uit speciale head nodes en compute nodes en een centraal data opslag systeem. Tegenwoordig gaan de systemen steeds meer richting ‘hyper-converged’: elke node heeft zowel rekenkracht als opslag.” Dit maakt het beheer en de uitbreidbaarheid van een cluster een stuk eenvoudiger. En de systemen zijn beter geschikt voor applicaties waar heel veel data wordt geanalyseerd.
Beiden zien dat het vermogensverbruik van de HPC-platformen steeds meer een beperkende factor aan het worden is. Zuinigheid en efficiëntie zijn tegenwoordig veelbepalend omdat men zich de energierekening voor een nog krachtiger platform niet meer kan veroorloven. Marc (ttec):”Je ziet dat in de lagere klokfrequenties die tegenwoordig normaal zijn. Steeds meer gaat het de kant op van wat minder zware cores, waar er dan wel veel meer van worden geïntegreerd”. De opkomst van de grafische kaart als rekenplatform is daar een voorbeeld van. Momenteel maakt 10-30% van de geleverde rekenclusters ook gebruik van het rekenen op grafische kaarten. De ontwikkeling naar een groter aantal cores, met een relatief lagere kloksnelheid per core zal de komende jaren alleen maar doorgaan.
De software voor HPC-platformen
Grappig genoeg is de software die op de rekenclusters draait vaak ‘harder’ dan de hardware. Daniël (ClusterVision): “Ik kom regelmatig codes tegen die al meer dan dertig jaar in gebruik zijn, en waar voortdurend verbeteringen op worden gemaakt. De problemen die worden doorgerekend zijn wel groter en gedetailleerder. Van de software die we aantreffen is zo’n 60% in FORTRAN, en de rest is voornamelijk in C++ en C.” De software is geoptimaliseerd om op de rekenclusters te rekenen. Daniël: “Het clustermodel is een vrij generieke configuratie. Dit in tegenstelling tot de grafische kaarten, waar de software specifiek voor moet worden aangepast. Een uitkomst hier is de beschikbaarheid van bibliotheken met geoptimaliseerde rekenroutines. Dit is een belangrijke factor gebleken voor de acceptatie van alternatieve HCP-platformen.”
De partijen die werken met zelf ontwikkelde en open source software zijn voor het merendeel de universiteiten en onderzoeksinstituten. Daarnaast zijn er nog wat grotere bedrijven in Nederland met eigen software, zoals Shell en ASML. Het gaat hierbij bijvoorbeeld om rekenmodellen voor de weersvoorspelling, voor seismische velden of voor vloeistofstroming. Als relatief nieuwe toepassing van HPC is het vakgebied van de bio-informatica de laatste tijd sterk toegenomen. Marc (ttec):”Dan hebben we het met name over het analyseren van DNA en van de genen, het identificeren van eiwitten en het bepalen van hun structuur, en het simuleren van allerlei interacties in cellen.” In dit vakgebied wordt vaak van enorme hoeveelheden data gebruik gemaakt, en dat heeft zijn gevolgen voor het HPC-platform. Niet meer gecentraliseerde opslag zodat alle data transfer over een netwerk moet, maar de opslag verdeeld over de rekenknopen zodat de operaties direct op de gedistribueerde data kunnen worden uitgevoerd.
Naast de partijen met eigen software zijn er ook veel bedrijven en ingenieursbureaus die werken met rekensoftware onder een commerciële licentie. Dit verklaart ook de vaak wat kleinere rekenclusters die door bedrijven worden aangeschaft. De licentiestructuur staat het vaak niet toe om op een groot aantal nodes te rekenen. En het is blijkbaar afdoende. Daniël (ClusterVision): “Toch zien veel bedrijven zichzelf onvoldoende als HPC gebruiker. Ze knopen wat standaard hardware aan elkaar en het werkt niet optimaal voor hun applicaties. Hier valt nog heel wat aan efficiëntie te verbeteren.”
De cloud
De opkomst van cloud computing in de algemene IT wereld laat ook de HPC wereld niet geheel onberoerd. Marc (ttec): “Cloud biedt een nieuw, uniform en flexibel model om toegang tot de rekencapaciteit te bieden. Vroeger zorgde de virtualisatie van de hardware voor een aanzienlijke reductie in prestatie. Tegenwoordig zijn er cloud oplossingen die hier veel beter mee omgaan.” Het gaat hier in eerste instantie om het gebruik van een cloud platform (zoals bijvoorbeeld OpenStack) als resource management systeem voor het eigen, private cluster. Als je een rekenklus wilt doen krijg je dan eigenlijk een soort mini-cluster toebedeeld waarop je alles zelf kan instellen en regelen. Dit werkt met behulp van zogenaamde Docker containers, een lichtgewicht tegenhanger van de virtuele machines. Een belangrijk voordeel is dat in een dergelijke container allerlei zaken speciaal voor een bepaalde rekenklus geconfigureerd kunnen worden waardoor het systeembeheer een stuk eenvoudiger is.
Het rekenen op publieke clusters zoals Amazon of Azure wordt door bedrijven nog niet veel gedaan. Marc (ttec): “De publieke cloud heeft een aantrekkelijk kostenmodel omdat je alleen betaalt als je gebruikt. Je hoeft geen hardware in huis te hebben en te beheren. Toch blijkt het bij regelmatig gebruik al gauw duurder dan het zelf aanschaffen van een cluster. En de veiligheid van data op een publieke cloud blijft voor veel bedrijven een lastig issue”.
Daniël (ClusterVision) ziet de gebruikers die zelf rekensoftware ontwikkelen nog veelal op een traditionele manier op hun rekencluster werken: een shell met een commandoregel, zelf compileren van de broncode, rekenjobs configureren met tekstbestanden op een queue zetten. En een batterij shell-scripts die om deze workflow heen zijn gemaakt. Dit komt ook doordat de software zelf altijd al op die manier heeft gewerkt. Daniël:”Maar het cloud model zal zeker gaan groeien. Voor het toedelen van rekencapaciteit op het eigen cluster bieden wij ook al een cloud platform aan. En dit maakt het ook veel eenvoudiger om publieke clouds een keer in te schakelen bij een piekbelasting.”
De ontwikkeling van het HPC-platform in de komende jaren
Kortom, de komende jaren zullen de HPC hardware platforms verder groeien in rekenkracht, maar daarbij zal de efficiëntie een steeds belangrijker factor worden. Hierdoor speelt parallel rekenen een steeds grotere rol, en om dit aan te kunnen dienen de rekenalgoritmes geschikt gemaakt te worden. En wat betreft het systeembeheer zullen we ook steeds meer gaan zien van management platforms die gebaseerd zijn op het cloud concept.