Software remt supercomputer af

11 juni 2010

De makers van hardware voor high-performance computing (HPC) laten zich helemaal gaan en bedenken het ene na het andere hoogstandje. En de bijbehorende software? Die schittert vrijwel door afwezigheid. “Het is een hele kunst om een supercomputer met honderdduizend rekenkernen zinvol aan het werk te houden. Vergelijk het rustig met een jongleur die honderdduizend ballen in de lucht moet houden. Als dat niet lukt, komen ze keihard op zijn hoofd terecht”, zegt Steve Wallach, ooit directeur van Convex, daarna oprichter van de firma Convey en al lange tijd HPC-guru.

Die mismatch tussen de hardware en de software is een probleem dat niet zomaar kan worden opgelost. “De industrie werkt ook niet echt mee, want net afgestudeerde programmeurs laten zich maar al te graag lokken door een rattenvanger van Hamelen in de vorm van Apple, Google of Microsoft. Dat zijn bedrijven waar je goede sier maakt met talen als Java. En applicaties voor een supercomputer worden nu eenmaal niet geschreven in Java. Daar heb je Fortran voor nodig en mensen die die taal beheersen zijn uitermate schaars”, verzucht Wallach.

Studenten volgen het liefst een opleiding waarmee ze later hun brood kunnen verdienen. Ze zien alleen de populaire bedrijven en dat bepaalt hun keuze. “Voor Java. Vaak is het ook geen keuzekwestie, maar kunnen ze geen Fortran leren omdat dat niet meer wordt onderwezen. En een universiteit zal maar al te graag ingaan op een aanlokkelijk aanbod. Stel dat een bedrijf naar de universiteit stapt met de vraag: we hebben een half miljoen dollar voor jullie, als jullie een studieproject voor ons willen doen. Reken maar dat daar volmondig ja op wordt gezegd”, aldus Wallach.

En dat betekent dus weer dat een groep softwaredeskundigen in spe wordt weggelokt van de supercomputer. Wallach: “Er speelt ook nog iets anders mee, namelijk programmeergemak. Als een computersysteem moeilijk te programmeren is, zullen de mensen het links laten liggen. Ik zie geregeld dat mensen gebruikmaken van bijvoorbeeld MathLab in plaats van C, hoewel die laatste minstens een factor vier sneller is. Ze nemen de traagheid voor lief, omdat ze dan minder moeite hoeven te doen om een applicatie te schrijven. Dit zorgt ook voor een ‘natuurlijke selectie’: het systeem dat het eenvoudigst te programmeren is, overleeft.”

Het verschil met de supercomputers van nu en die van dertig jaar geleden is niet alleen de snelheid, maar zeer zeker ook de aanwezigheid van een goede softwarebasis. “Of noem het de afwezigheid daarvan, als je kijkt naar de systemen van vandaag. Convex en Cray hadden een robuuste en geïntegreerde ontwikkelomgeving, waar programmeurs snel hun weg konden vinden. Bedrijven die dat toen niet bezaten, zijn allang van de markt verdwenen”, zegt Wallach.

Bij elke nieuwe generatie supercomputers treedt ook een nieuw softwareprobleem op. De industrie begon in de jaren zeventig met zogeheten vectormachines. Het programmeren daarvan had men redelijk snel onder de knie. Wallach: “Bij iedere volgende hardwaregeneratie, denk aan SIMD, shared memory en clusters, kwam er ook nieuwe software. In de Verenigde Staten werkt de overheid aan het zogeheten Exascale-project, om een computer te bouwen die een rekenkracht heeft van 1 exaflops. Dus duizend keer zo snel als de huidige systemen. De hardwarejongens hebben daar helemaal geen probleem mee. Heel anders was de reactie uit de softwarehoek: ‘geen idee hoe we dat moeten aanpakken’. Het is misschien toch niet zo’n goed idee om hardware te bouwen met een miljoen rekenkernen of meer.”

Het uitsmeren van het vele rekenwerk over een groot aantal rekenkernen is een noodzaak, want het is niet meer mogelijk om de klokfrequentie van een processor nog verder te verhogen. Het maximum is circa 5 gigahertz, een top die wordt ingegeven door natuurkundige factoren en een kosten aspect. Hoe sneller een processor is, des temeer vermogen is er nodig. “We botsen tegen de ‘power wall” op en we zullen dus andere trucs moeten verzinnen.

Een nieuwe aanpak is het versnellen van de individuele processor door er extra hardware aan toe te voegen. Dat kan worden gedaan met FPGA’s (field programmable gate arrays), logische schakelingen die van specifieke functies kunnen worden voorzien. De acceleratoren zijn leverbaar in verschillende smaken, die we personalities noemen”, zegt Wallach.

Convey bouwt dergelijke systemen, waar een standaard x86-board in één kast wordt gecombineerd met een versneller. Voor het inregelen van de versneller wordt software bijgeleverd, de Personality Development Kit.

“Overigens blijft dit principe niet beperkt tot supercomputers. Onze partner Xilinx – die de FPGA’s maakt – heeft inmiddels een enkelchips uitvoering gemaakt, waarbij een FPGA wordt meegebakken op een chip waar ook een ARM processor op zit. Dat onderdeel wordt de basis van een nieuwe generatie smart phones”, besluit Wallach.

automatiseringgids.nlDossier:

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Neem contact met ons op!