VS - 7.5ECTS
Prüfer: Tobias Distler
Beisitzer: Michael Eischer
Fragen wurden nur von Tobias gestellt, die Atmosphäre war entspannt und die Bewertung fair. Note sehr gut.
Vieles wie bei » vs-2018-07-19 «
Fragen bei mir:
RPC
Semantiken
Hier wurde sich nur für At-Most-Once interessiert: Wie geht es? Was macht man mit der Garbage Collection?
Erklärt + gesagt was gespeichert wird
Garbage Collection: Timeout, Bestätigung, dass Ergebnis mehr gebraucht wird
Wie lange muss der Timeout sein?
Was machen, wenn verzögerte Nachricht kommt, nachdem ALLES gelöscht wurde?
Geht das? Wie genau sind Uhren?
Ja, geht. Uhren im Lan ~ 1ms, im Internet ~ 10ms genaue Synchro, vgl. Resend-Timeout → Faktor 10-100 größer
Replikation
uniform zuverlässig: delivered ein Knoten, delivern alle Korrekten
zuverlässig: fehlerhafter Knoten delivered und sendet an Client, der Rest bekommt davon nichts mit → Inkonsistenz!
Konsistenzen
Dann folgten noch ein paar Verständnisfragen bzw. Nachdenkfragen:
Wenn unser Replica direkt antwortet bei GET() senden (→ keine Synchro, ohne die anderen Replicas zu fragen), was haben dann für weak Consistency? (Vgl erst schreiben, dann lesen, erst schreiben, dann bei anderem Replica lesen)
erst schreiben, dann lesen: read-my-write, monotonic reads, consistent prefix
erst schreiben, dann bei anderem Replica lesen: monotonic reads, consistent prefix, ABER: kein read-my-writes weil vmtl noch nicht ausgeführt
Wie kann man hier read-my-writes erreichen?
„Timestamps“ wären hier logisch: wenn read höheren Timestamp als pending writes hat, dann wartet das Replicat mit ader Antwort bis write-Timestamp passt (hier war dann die Zeit vorbei, wobei die Antwort vmtl noch nicht wirklich korrekt/komplett, aber der Prüfer war soweit zufrieden mit der Antwort.)