Neuer Spielraum für portable Embedded Systeme

Dieser Effekt eröffnet ganz neuen Spielraum beim Einsatz dieser Technologie in portablen Embedded Systemen, wie Handhelds, Mobiltelefonen, MP3-Playern und Spielekonsolen, die nach immer mehr Leistung bei längerer Batterielaufleistung verlangen. Aber auch für Embedded Multiprozessorsysteme, wie unser eingangs beschriebener Computertomograph, ist die Multicoretechnologie interessant. Im Zuge einer Migration von einer Multiboard- zu einem Multicoreumgebung ließe sich allein durch die Konsolidierung der Hardware ein signifikanter Anteil der Kosten sparen.

Herausforderungen beim Einsatz der Multicore-Technologie

Da Multiprozessorsysteme konzeptionell auf parallele Verarbeitung ausgelegt sind, sollte eine Migration auf Multicore relativ einfach durchzuführen sein. Multicore bedeutet jedoch nicht einfach eine Kombination mehrerer eigenständiger Prozessoren auf einem Chip, sondern dass die Cores in direkter Abhängigkeit zueinander stehen und sich gemeinsame Ressourcen, wie Speicher, Peripheriegeräte und Interrupt Controller teilen. Das konfliktfreie Management der gemeinsamen Ressourcen ist also bereits die erste Herausforderung, speziell wenn verschiedene Betriebsysteme auf den Cores laufen sollen.

Konfliktfreies Management

Grundsätzlich gibt es zwei unterschiedliche Modi, wie man ein Multicore System betreiben kann. Beim Symmetrischen Multiprocessing (SMP) kontrolliert ein Betriebsystem alle Cores, und beim Asymmetrischen Multiprocessing (AMP) läuft auf jedem Core eine eigene Betriebsysteminstanz. Der AMP Modus bietet sich an, wenn die Applikation bereits (wie bei einem Multiprozessorsystem) partitioniert ist oder leicht partitioniert werden kann und nur wenig oder zumindest wohl definierter Datenaustausch zwischen diesen Partitionen stattfindet. Allerdings benötigt ein System im AMP Betrieb generell mehr Speicher und das Aufsetzen der Kommunikation zwischen den Cores ist schwieriger, besonders wenn unterschiedliche Betriebsysteme auf den verschiedenen Cores zum Einsatz kommen. Im SMP Modus ist der Zugriff auf gemeinsame Ressourcen wie Bus und Speicher vereinheitlicht. Aus Sicht des Entwicklers setzt die Applikation nur auf einem Betriebsystem auf, welche die Aufgaben gleichmäßig auf die Cores Verteilt (Dynamic LoadBalancing). Daten können relativ einfach und schnell zwischen den Cores ausgetauscht werden, allerdings muss das Betriebsystem die Cores verwalten und synchronisieren, was wiederum Auswirkungen auf die Verarbeitungsgeschwindigkeit des Betriebsystems hat.