Opinie

SMP en realtime

Martin Timmerman is directeur van Dedicated Systems.

Reading time: 2 minutes

De klassieke twee- en vierkernige processoren zijn aan een opmars bezig. De prijs en het verbruik gaan naar beneden en dat heeft tot gevolg dat ontwerpers van embedded toepassingen in de verleiding zouden kunnen komen dergelijke chips te gaan gebruiken. Intel doet in ieder geval zijn best om de markt te overtuigen van het voordeel van die extra prestatie. Maar is er wel een voordeel?

Vooreerst heb je een besturingssysteem nodig dat symmetrical multiprocessing (SMP) ondersteunt. Het OS bepaalt dan welke thread op welke kern draait. Hoewel dat redelijk eenvoudig is voor klassieke desktop- en server-OS‘en, is het voor embedded (realtime) besturingssystemen wel een probleem (waarschijnlijk door een gebrek aan vraag). In de jaren negentig was er slechts één RTos dat symmetrische softwareondersteuning voor SMP-hardware toeliet en dat was MTos. Dit OS is een stille dood gestorven toen ontwikkelaar Industrial Programming ermee stopte. Onlangs is er echter een nieuwe speler op de SMP-markt: QNX. Versie 6.3 van zijn gelijknamige besturingssysteem is een symmetrisch OS dat SMP ondersteunt. De onderliggende hardwarearchitectuur wordt ook wel tightly coupled genoemd – dit in tegenstelling tot loosely coupled, wanneer de verschillende subsystemen met processor geen centraal geheugen delen. Ook Wind River komt dit jaar nog op de markt met een SMP-oplossing.

Met twee of vier kernen heb je natuurlijk meer prestatie dan met één. Door het gebruik van gedeeld centraal geheugen dat via een parallelle bus wordt aangesproken, ontstaan echter nog al wat botsingen op die bus en schaalt de prestatie niet lineair met het aantal kernen. Metingen tonen aan dat je met twee kernen bij een ernstige geheugenbelasting tot 1,7 maal de prestatie van een kern krijgt en met vier kernen is dit met moeite boven de drie. Dit zijn daarenboven statistische waarden; piekwaarden kunnen nog heel wat slechter zijn. Hier wringt dan het schoentje als je de SMP-architectuur voor embedded realtime toepassingen wilt gebruiken. Met realtime bedoelen we natuurlijk dat het systeem een voorspelbaar gedrag heeft. De botsingen op de bus naar het gedeeld geheugen brengen heel wat onzekerheid in het systeem.

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