Achtergrond

De impact van multicore op het ontwerp van embedded software

David Kalinsky is directeur klantonderwijs bij D. Kalinsky Associates, dat korte cursussen geeft over embedded systemen en softwareontwikkeling voor professionele engineers.

Leestijd: 10 minuten

Voor het ontwikkelen van software voor multicoreprocessoren kunnen we in eerste instantie veel leren van traditionele ontwikkeling voor gedistribueerde systemen. Duiken we echter dieper de materie in, dan lopen we tegen een aantal belangrijke verschillen aan, zoals communicatiesnelheden tussen de processorkernen. David Kalinsky geeft een overzicht van de aanpak en wijst de zwakke punten aan.

Ik ben onderwijzer van beroep. Jarenlang gaf ik een cursus genaamd ’Architectural design of real-time software‘, gericht op het ontwerp van embedded software voor een enkele processor. Een aantal jaar geleden besloot ik om er een uur aan toe te voegen over ontwerpen voor multicore. Maar toen ik me in dit onderwerp ging verdiepen, ontdekte ik al gauw dat dit veel meer omvat dan het simpelweg aanpassen van een onderdeel voor enkelprocessorontwerpen. Sterker nog, het was nodig om grote delen van de bestaande cursus te vervangen met totaal ander materiaal dat zich richt op nieuwe aanpakken en valkuilen bij multicore. Uiteindelijk had ik geen andere keus dan opsplitsen in twee cursussen.

Wij embedded-software-engineers kunnen niet langer meer van chipontwerpers verwachten dat ze ons van meer en meer krachtig silicium blijven voorzien, waarmee de software van een jaar oud weer bijna twee keer zo snel draait. Chipontwerpers lopen tegen de fysieke limieten aan die de wetten van de thermodynamica stellen. Dat dwingt ze om de steeds snellere enkelprocessorontwerpen in te ruilen voor multiprocessoren op een chip, die vergelijkbare totale rekenkracht bieden met een lagere warmteontwikkeling. Voor de eerste keer in de geschiedenis van het embedded programmeren vragen chipontwerpers aan ons om onze ontwerpen radicaal aan te passen, zodat zij hun versnellingsdoelen halen.

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