Benutzer:Bahodil/Parallele Prioritätsliste

aus Wikipedia, der freien Enzyklopädie

Ergänzungen: Sequentielle Vorrangwarteschlange

Standard Operationen

  • insert, Einfügen eines Elementes mit assoziierter Priorität
  • is_empty, Prüfen, ob Wartschlange leer ist

Erweiterte Opertationen

  • peek, gibt Element mit der höchsten Priorität zurück, ohne die Warteschlange zu verändern
  • merge, Zusammenfügen von zwei Warteschlangen
  • Tabelle mit Laufzeiten für verlinkte Implementierung

Weitere Anwendungen

  • Bandbreitenmanagement
  • A*-Algorithmus


Parallele Prioritätslisten

Es gibt verschiedene Möglichkeiten Prioritätslisten zu parallelisieren...

Einzelne Operationen parallelisieren

Bäume von Rang 0 bis 2 für Parallelisierung
  • Beschreibung der einzelnen Operationen (insert, delete_min, decrease_key, remove) [1]
  • Vor und Nachteile

gleichzeitiger paralleler Zugriff

  • Beschreibung der Zugriffsmethoden (CRCW, CREW) [2]

[3]

  • Vor und Nachteile

k-Element-Operationen

  • Beschreibung der neuen Operationen, k_insert, k_delete_min, k_decrease_key (evtl. Schaubild) [4]
  • Vor und Nachteile

Zusammenfassender Vergleich

evtl. mit Tabelle

Literatur

  1. Gerth S. Brodal: Priority queues on parallel machines. In: Springer-Verlag (Hrsg.): Algorithm Theory - SWAT 96. 1996, S. 416-427.
  2. Galen C. Hunt, Maged M. Michael: An efficient algorithm for concurrent priority queue heaps. In: Information Processing Letters. 60, Nr. 3, 1996, S. 151-157. doi:10.1016/S0020-0190(96)00148-2.
  3. Håkan Sundell, Philippas Tsigas: Fast and lock-free concurrent priority queues for multi-thread systems. In: Journal of Parallel and Distributed Computing. 65, Nr. 5, 2005, S. 609-627. doi:10.1109/IPDPS.2003.1213189.
  4. Peter Sanders: Sequential and Parallel Algorithms and Data Structures : The Basic Toolbox. Springer-Verlag, 2019, ISBN 9783030252090, S. 226-228.