Parallel programmeren
Telefoons en andere apparaten hebben tegenwoordig steeds vaker meerdere processoren aan boord. Deze zogenoemde multicores zijn chips die meerdere dingen tegelijk kunnen doen. De software die voor deze apparaten wordt gemaakt, is echter nog steeds afgestemd op chips met slechts één kern en is daardoor veel te langzaam.
Het aanpassen van die programmatuur is ontzettend lastig. Browsers bijvoorbeeld bestaan tegenwoordig uit miljoenen regels code en niemand weet precies hoe de software zich gedraagt. Dat maakt parallelliseren, zoals het klaarmaken voor multicores heet, een ondoenlijk proces.
Parallel programmeren heeft echter veel voordelen. ‘Het weergeven van een uitgebreide website vereist nog best wat rekenkracht. Internetten op een smartphone kan veel sneller als deze niet één, maar alle vier de kernen in de telefoon gebruikt’, zegt dr.ir. Martijn Rutten, CEO van Vector Fabrics.
Zijn bedrijf heeft een tool ontwikkeld die programmeurs helpt om parallel te programmeren. Die tool, Pareon genaamd, bekijkt het programma en zoekt naar plekken waar parallellisatie mogelijk is. Ook onderzoekt Pareon waar het programma langzaam is of hapert. De programmeur moet wel zelf de parallellisatie uitvoeren en de trage delen sneller maken. ‘De droom is een programma waarbij je op een knop drukt en een serieel programma zich in één keer parallelliseert. Dat is echter onrealistisch, want daarvoor is software veel te ingewikkeld.’
Het programma van Vector Fabrics benadert dat ideaal wel zo dicht mogelijk. Vanaf 2007 zijn Rutten en collega’s bezig met het schrijven van de tool en nu is die eindelijk klaar. ‘Komend jaar willen we doorbreken als marktleider in de multicore-programmeerwereld.’