Multicore: Optimierungspotential sichtbar machen

27. Juli 2007, 11:36 Uhr | Bill Graham
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Multicore: Optimierungspotential sichtbar machen

System-Tracing-Tools für die Parallelverarbeitung erleichtern den Wechsel zu Multicore-Plattformen und liefern Applikationen das Plus an Durchsatz und Performance, das diese Architekturen versprechen.

passend zum Thema

Ressourcenkonflikte entdecken und reduzieren

Wird eine Software auf eine Multicore- Umgebung portiert, dann verbessert sich die Performance meist nicht so stark wie erwartet. Ursachen dafür sind in aller Regel Ressourcenkonflikte. Da die Prozesse im Multicore-Betrieb parallel verarbeitet werden, kann es, anders als bei Uniprozessorsystemen, zu Ressourcenkonflikten kommen. Teilen sich zwei oder mehr Threads eine Datenstruktur, die durch eine Sperre, auch Mutex genannt, mit gegenseitigem Ausschluss geschützt ist, kommt es zu einem auf SMP-Systemen typischen Engpass. Die Mutex verhindert, dass verschiedene Threads simultan dieselbe Ressource nutzen. Greifen zwei Threads verschiedener Cores auf die durch eine Mutex geschützte Ressource zu, muss einer der Prozesse warten, bis der andere Prozess die Ressource freigegeben hat: Anstatt parallel zu laufen, und damit den Hauptvorteil von Multicore zu nutzen, müssen sich die Threads bei der Ausführung abwechseln. Die Routingtabelle in einer Netzwerkapplikation ist ein typisches Beispiel für Ressourcenkonflikte. In einer Uniprozessorumgebung hat nur jeweils ein Prozess darauf Zugriff. In einer Multicore- Umgebung hingegen können Threads verschiedener Cores gleichzeitig auf die Tabelle zugreifen und konkurrieren miteinander.


  1. Multicore: Optimierungspotential sichtbar machen
  2. Übermäßige Migration der Threads reduzieren
  3. Multicore: Optimierungspotential sichtbar machen

Jetzt kostenfreie Newsletter bestellen!