Parallel Programming with Shared Memory Flashcards
Was sind Hilfsmittel zur Synchronisation?
- Gemeinsame Variablen
- Semaphore/Mutexe
- Monitore/Bedingungsvariablen
- Barrieren
Was sind Monitore?
Monitore sind Module mit Daten, Prozeduren und Initialisierungscode. Der Zugriff auf Daten erfolgt nur über Monitor-Prozeduren. Entspricht in etwa einer Klasse
Wozu dient eine Barriere?
Eine Barriere dient zur Synchronisation von Prozessen. Ein Prozess, der eine Barriere erreicht, wird so lange blockiert, bis auch alle anderen Prozesse die Barriere erreichen
Welche Synchronisationsfehler gibt es?
- Race Conditions (Unzureichende Synchronisation)
- Deadlocks (Verklemmung)
- Unfairness (Starvation/ Verhungerung)
Was ist das Ziel der Parallelisierung mit OpenMP?
Ziel ist die Ausführung des sequentiellen Programmcodes auf mehrere Threads aufzuteilen, ohne den Code zu ändern
Welche zwei Ansätze gibt es zur Schleifenparallelisierung?
- Betrachte primär die Daten und teile diese auf
2. Betrachte primär die Berechnungen und teile diese auf