logo

Consensus-based lock-free asynchronous three-buffer Communication

Gerade in Embedded Systemen ist ein deterministisches Verhalten der Software essentiell. Der vorliegende Artikel basiert auf der bahnbrechenden Arbeit von Jing Chen und Alan Burns und beschreibt eine wait- und lock-freie Update-Strategie für Multithread-Software.

Dank einer 3-Buffer Strategie gelingt es, Daten zwischen zwei parallelen Entitäten zu synchronisieren, ohne eine Kernelinteraktion wie z.B. Mutex zu verwenden. Dank ausgeklügelten Codesequenzen lassen sich alle Ideen auch im Multiprozessorumfeld einsetzen.

Nebst einer Einführung in die Problematik der Konsensfindung (Consensus) findet sich auch eine Ready-to-Use C++ Lösung