Teil 5: Erkennen von Flaschenhälsen und Problemen

.Net-Anwendungen für Multi-Core optimieren

Welche Verfahren man bei der Optimierung einer Anwendung für Dual-Core, Quad-Core und Multi-Core-CPUs einsetzt und wie man gängige Flaschenhälse vermeidet, ist Thema des fünften Teils unserer Reihe „Programmieren für Multi-Core-Prozessoren“.

Die Leistung von Computersystemen steigt seit Jahren kontinuierlich an. Dies betrifft nahezu alle Komponenten der Rechner. Am deutlichsten ist der Leistungsgewinn bei den Prozessoren, dem Arbeitsspeicher und den Festplatten zu verfolgen. Insbesondere die Prozessoren haben nicht nur dank höherer Taktung sondern vor allem durch die Multi-Core-Technologie massiv an Leistungsfähigkeit zugelegt. Einzelne Anwendungen profitieren aber nur von Multi-Core, wenn sie entsprechend programmiert sind.

In dieser mehrteiligen Reihe zur Programmierung für Multi-Core-Prozessoren führen wir Sie nach und nach durch die Besonderheiten der Multi-Core-Programmierung. Angefangen bei den wichtigsten Grundlagen der verschiedenen Parallelisierungs-Verfahren in Prozessoren im ersten Teil. Der zweite Teil dreht sich um die notwendige Modularisierung in Applikationen und das .Net-Framework. Im dritten Teil geht es um Deadlocks, Race Conditions und Zugriffe auf die .Net-Thread-Implementation. Der vierte Teil behandelt eine Reihe von Problemen, die beim Parallelzugriff auf gemeinsame Daten auftauchen können, und welche Methoden Sie anwenden können, um konsistente Daten zu gewährleisten. Dieser vorerst letzte Teil befasst sich mit der Optimierung von .Net-Applikationen für Multi-Core-Architekturen - insbesondere darum, wie man Flaschenhälse und Probleme erkennt und behebt.