Multicore-Programmierung

Ohne Locks für Multicore-Systeme programmieren

| Autor / Redakteur: David Kalinsky * / Hendrik Härter

Fazit: Lock-frei ist nicht gleichbedeutend mit Wait-frei

Wie sich gezeigt hat, kann auch eine lockfrei programmierte Applikation erhebliches Task- und Core-Waiting bedeuten. Wie in den Beispielen gezeigt, handelt es sich dabei meist um Busy-Waiting, wobei die Applikationssoftware weiter ausgeführt wird (und im „Running“-Zustand bleibt), während die nächste CAS-Operation vorbereitet wird.

Vielleicht haben manche erwartet, dass lockfrei für “Wait-frei” steht. Aber „Wait-freie“ Programme sind noch viel komplizierter zu erstellen als lockfreie Programme.

Dennoch bietet die lockfreie Programmierung klare Vorteile gegenüber lockbasierten Programmiermethoden, z. B. hinsichtlich der Performance bzw. der Vermeidung von Deadlocks, Lockouts und Prioritätsinversion. Die Programmausführung an kritischen Codeabschnitten lässt sich unter Umständen um den Faktor 2 oder mehr beschleunigen.

Vielleicht gibt es in Ihrer Software eine Nische, in der das Beseitigen von Locks einen Leistungszuwachs auslösen könnte. Denkbar wäre der Einsatz lockfreier Programmierung auch beim Entwurf von Bibliothekssoftware. Das wäre eine gute Gelegenheit, sich an die lockfreie Programmierung zu wagen. // FG

Literatur:

[1] D. Kalinsky: Multicore’s Fourth Semaphore: Multiple Reader – Writer Lock, EETimes [2] F. Siebert: Facing the Challenges for Real-Time Software Development on Multi-Cores, Embedded Systems Conference 2010 Boston, Paper ESC-422.[3] A. Alexandrescu: Lock-Free Data Structures, Dr. Dobb’s, 1. Okt 2004.

* * David Kalinsky ... ist Berater, Trainer und Dozent für Echtzeit- und Embedded-Programmierung in Sunnyvale/Kalifornien (USA).

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben
Wenn ich auf "Artikel als PDF" gehe, kommen die Bilder groß nach dem Artikel (Seiten 5 und 6).  lesen
posted am 20.09.2011 um 08:50 von SLiebing

Ein toller Artikel, den ich mir gerne aufheben möchte. Leider sind die als Erklärung enthaltenen...  lesen
posted am 20.09.2011 um 08:09 von folco


Mitdiskutieren
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 28901070 / Software-Entwurf & Echtzeit-Design)