Rechnerarchitektur SS 2012 — Speicherkonsistenz — Gernot A. Fink TU Dortmund, Fakult¨ at f¨ ur Informatik XII Literatur: I Hennessy/Patterson: Computer Architecture, 3. Auflage, 2003, Abschnitt 6.8, S. 695ff. I Huang: Advanced Computer Architecture, 1993, Abschnitte 5.4, S. 248ff und 9.1.5, S. 487ff. I Adve/Gharachorloo: Shared Memory Consistency Models: A Tutorial , WRL Research Report 95/7, 1995. Stand 12. Juni 2012 Folien teilweise a.d. Basis von Materialien von R. Yahyapour, ehem. TU Dortmund
24
Embed
Rechnerarchitektur SS 2012 - Speicherkonsistenzpatrec.cs.tu-dortmund.de/lectures/SS12/rechnerarchitektur/ra2-04.pdf · I Synchronisierungsoperation sind prozessor-konsistent I Prozessor
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Rechnerarchitektur SS 2012
— Speicherkonsistenz —
Gernot A. Fink
TU Dortmund, Fakultat fur Informatik XII
Literatur: I Hennessy/Patterson: Computer Architecture, 3.Auflage, 2003, Abschnitt 6.8, S. 695ff.
I Huang: Advanced Computer Architecture, 1993,Abschnitte 5.4, S. 248ff und 9.1.5, S. 487ff.
I Adve/Gharachorloo:Shared Memory Consistency Models: A Tutorial,WRL Research Report 95/7, 1995.
Stand 12. Juni 2012
Folien teilweise a.d. Basis von Materialien von R. Yahyapour, ehem. TU Dortmund
Koharenz wichtig fur Transfer von Daten zwischen Prozessoren
I Eine Speicherstelle wird geschrieben, anschließend gelesenI Wert wird nach best. Zeit fur lesenden Prozessor sichtbarI Koharenz sagt nicht aus, wann!
Ziel bei paralleler Programmierung oft, dass Lesen Ergebnis einesbestimmten Schreibvorgangs liefert Wieso?
I Ordnung von Lese- und Schreib-Op. soll hergestellt werdenI Zur Synchronisation werden i.a. mehrere Speicherstellen
verwendet (z.B.“Flag” das Daten fur gultig erklart)
⇒ Konsistenz: Relative Ordnung zwischen Speichertransferbefehlenauf verschiedenen Zellen
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 1
I Auf Multiprozessorsystem ex. verschiedene Befehlssequenzen aufunterschiedlichen Prozessoren, die in verschiedener Weise zuglobaler Speicherzugriffssequenz verschrankt werden konnen⇒ unterschiedliches Verhalten des gemeinsamen Speichers!
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 3
I Speicherkonsistenzmodell definiert Einschrankungen bzgl. derOrdnung, in der Speichertransferoperationen ausgefuhrt werdenmussen (d.h. “sichtbar” werden)
I Betrifft Operationen auf gleichen und unterschiedlichenSpeicherzellen
I Konsistenz subsumiert damit Koharenz
I Großtmogliche Restriktivitat: Sequentielle Konsistenz
Multiprozessor ist sequentiell konsistent, wenn:
1. das Ergebnis jeder Programmausfuhrung dasselbe ist, wie wennalle Operationen des parallelen Programms in beliebigersequentieller Reihenfolge ausgefuhrt wurden, und
2. die Operationen einzelner Prozessoren in dieser Ordnung inProgrammreihenfolge auftreten.
Was impliziert dies?
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 6
Definition nach Lamport, 1979:Ein MP-System ist sequentiell konsistent wenn das Ergebnis jederAusfuhrung dasselbe ist, als ob alle Instruktionen in einersequenziellen Ordnung ausgefuhrt wurden und in dieser dieOperationen eines Prozessors in Programmreihenfolge auftreten.
Definition nach Sindhu et al., 1992:1. Jeder load liefert immer den Wert des letzten store in dieselbe
Zelle von anderen Prozessoren.2. Die Speicherordnung ist eine vollstandige binare Ordnung uber
alle Speicherzugriffspaare (Prozessoren u. Speicherzellen).3. Wenn zwei Operationen in einer best. Programmreihenfolge
erscheinen, erscheinen Sie in derselben Speicherreihenfolge.4. Die swap Operation ist atomar bzgl. anderer stores.5. Alle store und swap Operationen mussen in endlicher Zeit
terminieren.
nach Huang 1993, S. 252f
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 9
I Restriktivstes KonsistenzmodellX Intuitiv (relativ gut) verstandlich! Garantiert trotzdem kein eindeutiges Verhalten eines MP-Systems!
I Implementierung von Sequentieller KonsistenzI Einfachste Moglichkeit:
Jeder Prozessor verzogert Abschließen (completion) einesSpeicherzugriffs bis alle Invalidierungen (d.h. Ungultig erklarenvon Cache-Inhalten), die durch Zugriff ausgelost werden,abgeschlossen sind.
⇒ a.d. Basis von snooping Cache-Koharenz-Protokoll moglichE Leistungseinbußen erheblich!
I Weitere (prinzipielle) Moglichkeit:Kosten seq. Konsistenz durch Verstecken von Latenz zureduzieren versuchen
I Alternative: Verwendung eines weniger restriktivenKonsistenzmodells ⇒ relaxed consistency
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 11
Sicht des Programmierers: Einfachheit des Progammiermodells
I Erfullt durch seq. Konsistenz trotz LeistungseinbußenI Alternatives Programmiermodell: Synchronisierte Programme
I Zugriffe auf alle gemeinsam verwendeten Daten werden durchSynchronisationsoperationen geordnet
I Bezeichnet als “data-race free”(data race: Speicherstellen konnen ohne Synchronisationaktualisiert werden ⇒ Ergebnis von relativer Geschwindigkeit derProzessoren abhangig)
⇒ Synchronisierte Programme verhalten sich, als ob MP-Systemsequentiell konsistent ware (Auch, wenn einfacheresKonsistenzmodell implementiert!)
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 12
I Synchronisationsoperationen:I aquire-Operation: fordert Zugriffsrecht an (Spezialfall: lock)I release-Operation: gibt Zugriffsrecht frei (Speziallfall: unlock)
I Grundstruktur eines synchronisierten Programms:I Schreiboperation gefolgt von Sync.-Op. und ...I korrespondierender Leseop. geht Sync.-Op voraus
Beispiel: X := /* Schreiben */release(s);
acquire(s);
:= X /* Lesen */
⇒ Reihenfolge der Schreib- und Leseoperationen garantiert
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 13
I Abschliessen von Lese-/Schreib-Op. entgegenProgrammreihenfolge
I Synchronisation fur notwendige Ordnung verwenden
Kategorisierbar nach aufgehobenen RestriktionenI Aufheben der W→R Reihenfolge (total store order)
I Kann Latenz von Schreibzugriffen versteckenI Ordnung von Schreibzugriffen bleibt erhaltenI “fast” wie sequentielle Konsistenz
I Aufheben v. W→R u. W→S Ordnung (partial store order)I Schreiboperationen zusammenfaßbar (write merging)I Verletzt intuitive Semantik von seq. Konistenz stark!
I Aufheben aller Reihenfolgen (weak ordering)I Keine Ordnung garantiert, speziell fur Prozessoren mit dyn.
SchedulingI Ordnung nur durch Synchronisationsoperationen
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 14
Total Store Order (TSO) entwickelt fur SUN SPARC-Architektur
Definition nach Sindhu et al., 1992:1. Jeder load liefert immer den Wert des letzten store in dieselbe
Zelle von beliebigen Prozessoren.2. Die Speicherordnung ist eine vollstandige binare Ordnung uber
alle Paare von stores.3a. Wenn zwei stores in einer best. Programmreihenfolge
erscheinen, erscheinen Sie in derselben Speicherreihenfolge.3b. Wenn Speicheroperation in Programmreihenfolge auf load
folgt, muss sie auch in Speicherreihenfolge auf das load folgen.4. Die swap Operation ist atomar bzgl. anderer stores.5. Alle store und swap Operationen mussen in endlicher Zeit
terminieren.
X Leseoperationen konnen Schreiboperationen uberholen!X “Reads own write early” (d.h. gleiche Speicherzelle)
Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 15
Weak Ordering [Dubois et al. 1996]Erforderlich: Explizite Synchronisierungsoperation
I Synchronisierungsoperation sind sequenziell konsistentI Alle Synchronisierungsoperation mussen vor einer
Speichertransferoperationen abgeschlossen seinI Alle Speichertransferoperationen mussen vor einer
Synchronisierungsoperation abgeschlossen sein
Release Consistency (RC) [Gharachorloo et al. 1990]
Erforderlich: Paar von Synchronisationsoperationen (aquire undrelease, realisiert z.B. als lock und unlock)
I Synchronisierungsoperation sind prozessor -konsistentI Prozessor wird angehalten bis acquire beendet undI Abschliessen eines realease wird verzogert, bis alle vorangeg.
Speicheroperationen abgeschlossen.Gernot A. FinkRechnerarchitektur SS 2012 ¶ · º » 17