Een mirakeloplossing voor het paralleliseren van alle mogelijke toepassingen bestaat niet. Maar The MathWorks bewijst dat parallelisering toch makkelijker kan dan vaak gedacht wordt.
The MathWorks is een bedrijf dat velen allicht onder de hoofding ‘voor nerds en techneuten’ zullen catalogeren en vergeten. Nu 25 jaar geleden opgericht heeft het bedrijf uit Natick (Massachusetts) zijn eerste stappen gezet met een puur matrices-gericht product in Fortran – MatLab. Vandaag is MatLab uitgegroeid tot een omgeving voor het ontwikkelen en draaien van technische, wetenschappelijke, financiële en econometrische toepassingen. Inclusief voorzieningen om optimaal gebruik te maken van nieuwe processoren met meerdere verwerkingskernen, en daarnaast ook van cluster-, grid- en cloudomgevingen.
Even goed doordenken
De zoektocht naar middelen of methoden om toepassingen makkelijk te ‘paralleliseren’ (zodat de onderdelen parallel of concurrent kunnen draaien) lijkt de queeste van de ‘Heilige Graal’ wel. Computerwetenschappers en producenten van hardware en ontwikkelingstools breken daar nu al jaren hun tanden op. “Natuurlijk kan niet alles worden geparallelliseerd,” stelt Loren Dean, director of engineering bij The Math-works, “gezien de aard van heel wat problemen. In ieder geval moet je een inzicht hebben in je toepassing op een heel wat dieper niveau dan vroeger.” Wat dan weer niet iedereen gegeven is.
The MathWorks biedt hiervoor een oplossing door paralleliseringsmogelijkheden in MatLab in te bakken, zodat zowel nieuwkomers als doorgewinterde experten daar baat bij hebben. Zo kunnen toepassingen die in MatLab werden geschreven zonder een wijziging van de code een beroep doen op de geëigende toolboxen in Parallel MatLab. Wie bereid is de code lichtjes aan te passen kan met het gebruik van constructs als parfor en datadistributie al van heel wat meer voordelen genieten. Voor wie een grondige optimalisering beoogt, zijn ook de nodige api’s beschikbaar. Problemen die het verwerkingsvermogen van een enkel systeem overstijgen, kunnen op die manier ook zonder meer worden overgezet naar een cluster-, grid- of cloud-omgeving (met behulp van de MatLab Distributed Computing Server). Loren Dean benadrukt voorts dat met MatLab zowel taak- (‘task’) als data-parallellisme mogelijk is. In het eerste geval wordt bijvoorbeeld een zelfde algoritme aangewend voor een breed spectrum van verschillende data (zoals een toepassing voor portfoliobeheer met steeds andere startwaarden en verschillende mixen van aandelen). In het geval van dataparallellisme is de dataset zo groot dat deze over verschillende systemen moet worden verdeeld. The mathworks is bij dat alles duidelijk niet over een nacht ijs gegaan, want de eerste ideeën over een parallelisering van MatLab werden al 15 jaar geleden in een artikel aangekaart, maar “de technologie was er nog niet rijp voor.” Concreet zag parallellisme in de vorm van Parallel MatLab het daglicht in het derde kwartaal van 2007, met de parallellisering van een toepassing door “gewoonweg de ‘tick box’ aan te vinken”.
Simulink
Traditioneel staat MatLab het sterkst in de wereld van technisch/wetenschappelijke toepassingen. Zo bieden The MathWorks en zijn partners oplossingen voor het ontwerpen en analyseren van controlesystemen, voor test- en meetdoeleinden, evenals signaal- en beeldverwerking. Maar evengoed wordt MatLab aangewend voor financiële modellen en analyses, naast statistiek en data-analyse. The MathWorks heeft voorts ook een tweede productfamilie – Simulink – die wordt aangewend voor het ontwerpen en simuleren van dynamische systemen. Bijvoorbeeld voor het testen van controlesoftware in reële tijd en onder realistische omstandigheden. “MatLab is overigens een ontwikkelingsomgeving,” benadrukt Loren Dean, “We bieden geen ‘out of the box’-oplossingen, maar bezorgen gebruikers de middelen hun eigen toepassingen te creëren op basis van het ‘engine’ en met behulp van de ‘toolboxen’.” The MathWorks kan evenwel rekenen op een ecosyteem van partners die op hun beurt add-ons voor specifieke sectoren en toepassingen hebben gebouwd. Overigens volgt het bedrijf ook de ontwikkelingen op de markt van grafische processoren (zoals nVidia etc), die steeds meer worden bestudeerd met het oog op niet-grafische computerverwerking.
In privé handen
The MathWorks is overigens nog in handen van de oprichters. Meer nog, benadrukt Loren Dean, “het bedrijf heeft nooit een beroep moeten doen op extern kapitaal en is steeds zelffinancierend geweest.” In 2007 werd een omzet van ca. 450 miljoen dollar geboekt, met 1.800 werknemers in de VS en een aantal buitenlandse vestigingen (waaronder een in Eindhoven). Wereldwijd telt het bedrijf meer dan 1 miljoen gebruikers en ruim 300 partners. Overigens leeft het bedrijf hierbij strikt de uitvoerreglementen na, gezien het potentieel malafiede gebruik in bijvoorbeeld de militaire industrie van de ‘schurkenstaten’. “We moeten weten wie de eindgebruikers zijn,” stelt Dean, “maar in Europa vormt dat geen probleem.”
Guy Kindermans
Fout opgemerkt of meer nieuws? Meld het hier