Opinie

Multicore: niet eenvoudig, maar het wordt makkelijker

Markus Levy is voorzitter van EEMBC, een organisatie die benchmarks opstelt voor embedded processoren.

Reading time: 3 minutes

’Multicore programmeren is een eitje. We doen het al twintig jaar met multiprocessorsystemen.‘ Geloof het alstublieft niet als iemand dit beweert. Niet dat ik u wil afschrikken bij het overstappen naar multicore, maar er zijn aanzienlijke verschillen tussen programmeren voor multicore en multiprocessing. Gelukkig werkt de industrie ijverig aan het oplossen van deze problemen.

Voor we ingaan op de details van de meer fascinerende problemen is het goed om een stapje terug te doen en naar het grote geheel te kijken. Ten eerste is het duidelijk dat C en C++ de dominante programmeertalen zullen blijven in de nabije toekomst (de komende vijf tot acht jaar), vanwege ervaring, legacy-code of bestaande tools. En C heeft geen parallellismeconstructies of programmeerconcepten in de taal zelf.

Ten tweede zitten de meeste problemen met multicore programmeren bij het migreren van bestaande code. Laten we wel wezen, er zijn megamiljoenen coderegels en maar weinig mensen die dit willen herschrijven. Maar deze code is – behalve dat ze vaak gebrekkig becommentarieerd is – soms zo gevoelig dat zelfs een kleine verandering de hele boel in het honderd schopt. Ik heb een programmeur van telecomsystemen zelfs wel eens horen zeggen dat ’het hele systeem stopt als ik zelfs maar een printf-statement verander.‘ Gelukkig zijn zij, die applicaties vers mogen schrijven.

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 for just €20 for the first year and enjoy all the benefits.

Login

Related content