Achtergrond

Hoe parallelliseer je een loop?

Bryon Moyer is VP Marketing bij Vector Fabrics.

Reading time: 6 minutes

Embedded software bestaat in de regel slechts uit een enkele taak, die in een multicore systeem over de verschillende rekenkernen uitgesmeerd moet worden. Bryon Moyer van Vector Fabrics legt uit hoe de loops een aanknopingspunt vormen om deze software op verschillende manieren te parallelliseren.

Embedded systemen krijgen meer en meer te maken met architecturen die uit meerdere rekencomponenten bestaan – multicore processoren, maar ook complexe heterogene systemen zoals mobieltjes-Socs. Softwareontwikkelaars moeten de vaardigheid bezitten om de programmatuur in stukken te ’breken‘ zodat de delen parallel aan elkaar kunnen opereren. Vaak gaat het dan ook nog eens om code die ze zelf niet geschreven hebben, zoals opensource programmatuur die ze moeten aanpassen of oude code die moet worden overgezet naar het nieuwe platform.

Bij desktopapplicaties zijn de kansen voor parallelle taken overduidelijk aanwezig door de rijke gebruikersinterface en vele andere functies van de software – denk aan spellingscontrole, indexeren, rekenen en dergelijke. Embedded systemen vormen echter een grotere uitdaging. Daar voeren de meeste programma‘s slechts één enkele taak uit, vaak op een lineaire (sequentiële) manier.

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 only €15 and enjoy all the benefits.

Login

Related content