Achtergrond

Parallelliseren is geen kinderspel

Klaas van Gend is field application engineer voor Vector Fabrics. De 25 mensen sterke Eindhovense start-up heeft Pareon gemaakt om bestaande C- of C++-software te analyseren en te parallelliseren. In zijn vrije tijd schrijft Van Gend artikelen voor tijdschriften en werkt hij aan enkele opensourceprojecten.

Leestijd: 10 minuten

Multicore kent vele vormen: homogeen, heterogeen, AMP, SMP, cachecoherent of niet, en ga zo maar door. Het raakt aan zowel oude informaticaprincipes als nieuwe innovaties. Klaas van Gend wijst de weg in multicoreland en legt uit waar de pijn zit voor de programmeur.

Met hedendaagse processoren is multicore bijna een vaststaand gegeven geworden. Er zijn nu zelfs al kleine microcontrollers met een dubbele Cortex-M3 te krijgen. Velen zien multicore als middel om nog prestaties uit een processor te persen nu de klokfrequentie nauwelijks meer toeneemt. Helaas schaalt bestaande software niet lekker mee.

Software is meestal geschreven voor single-threaded uitvoer. Zulke toepassingen draaien op een systeem met twee cores lukt nog wel: de oude applicatie werkt op de eerste kern en alle andere taken verhuizen naar de tweede. Die wordt weliswaar niet optimaal gebruikt, maar voor de applicatie is er nog wel winst. Maar om meer snelheid te behalen, of voor meer dan twee cores, zal de software moeten worden aangepast zodat er delen parallel gaan draaien. Helaas geldt dat programmeurs kennis zullen moeten hebben van de onderliggende hardware voor correcte parallellisatie.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content