Vorträge

Treffen Sie uns auf einer Konferenz!

Verschaffen Sie sich einen Überblick, auf welchen Events unsere codecentric-Kollegen als Referenten vertreten sind. Wir würden uns freuen, Sie auf einer Konferenz persönlich begrüßen zu dürfen.

Parallelität und Caches in Suchalgorithmen: Versöhnung zweier Erzfeinde

22.04.2015

parallel

IHK Karlsruhe, Lammstraße, Karlsruhe, Deutschland

Die Suche in Bäumen lässt sich in Java mit Hilfe des Java ForkJoinPool wunderbar einfach parallelisieren. Was aber, wenn der Baum durch mehrere mögliche Wege in einen Knoten zum gerichteteten, azyklischen Graph wird? Man kann es ignorieren: Funktioniert, ist einfach, aber oft sehr ineffizient. Man kann es nutzen und Zwischenergebnisse cachen: Funktioniert, ist sequenziell sehr einfach und beschleunigt die Suche oft dramatisch. Die Kombination der beiden Optimierungen gestaltet sich als schwierig: Parallele Zugriffe auf den Cache müssen synchronisiert werden, ohne aber sämtliche Parallelität im Keim zu ersticken.

Der Vortrag zeigt Lösungswege aus der Konfliktsituation. Dabei kommen auch ausgefeiltere Mechanismen neben dem einfachen Keyword „synchronized“ zum Einsatz.

Dr. Roger ButenuthDr. Roger Butenuth