Concurrency Checker: Wie parallel ist parallel?

veröffentlicht von am 24. Februar 2009

Anfang Februar habe ich schon mal darüber berichtet: Mit dem kostenlosen Intel-Tool Concurrency Checker kann man ohne größere Mühen herausfinden, ob und in welchem Umfang eine parallelisierte Anwendung skaliert. Hierfür beherrscht das Tool einige wichtige Dinge:

  • Es stellt die Anzahl der vorhandenen CPU-Ressourcen fest, also Prozessoren und Prozessorkerne (und sogar virtuelle CPUs).
  • Es stellt fest, wie viele Threads jeweils parallel ausgeführt werden und wie lange dies insgesamt dauert.
  • Es berechnet den prozentualen Anteil des parallelisierten Quellcodes.

Der Concurrency Checker kann aber noch mehr: So stellt er fest, ob die Multithread-Anwendung anhand der vorhandenen Prozessorkerne skaliert, diese also vollständig ausnutzt. Dies geschieht übrigens zur Laufzeit der Software. Schön an dem Tool ist aber auch die Tatsache, dass es nicht erst aufwendig installiert werden muss und damit sofort zur Verfügung steht. Und zwar mittels einer grafischen Bedieneroberfläche oder im simplen Zeileneditormodus.

Das Werkzeug kann aber auch auch zu Vergleichszwecken eingesetzt werden: Zunächst lässt man sein serielles Programm einmal mit dem Tool durchlaufen, um so die benötigte Laufzeit herauszufinden. Nach der Parallelisierung geschieht das Ganze noch einmal, womit man einen guten Indikator dafür erhält, wie gut das Multithreaden der Anwendung geklappt hat.

Was der Concurrency Checker allerdings nicht kann ist zweierlei: Es gibt keine Hinweise darauf, welche Stellen der sequenziell programmierten Anwendung das höchste Parallelisierungspotenzial aufweisen. Und zum anderen lassen sich Hotspots und andere Probleme der parallelisierten Software mit dem Tool nicht herausfinden. Wie gut aber, dass es hierfür Werkzeuge wie den VTune Performance Analyzer und den Thread Checker gibt.

Ach ja: Den Concurrency Checker bekommt ihr auf dieser Webseite, und das gratis!


Kategorien : Multicore Tags : ,

Kommentare

Keine Kommentare vorhanden.


Beitrag kommentieren.

Sie müssen angemeldet sein um diesen Beitrag zu kommentieren. [Login | Registrieren]

(erforderlich)

(erforderlich)