Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » MW/CC 2024-03-05

MW/CC 2024-03-05

  • Fach: Middleware/Cloud Computing (7,5 ECTS)
  • Prüfer: Tobias Distler
  • Beisitzer: Laura Lawniczak

Sehr angenehme Atmosphäre. Für Tobias ist es sehr wichtig, sehr präzise und auf die Zeit bedacht auf die Fragen zu antworten. In der Bewertung hat er auch als für seine Entscheidung relevanten Punkt angeführt, dass wir durch alle seine Fragen durchgekommen sind. Weil es mir gerade bei den Systemen mit vielen Akteuren aber sehr hilft, ein Bild vor Augen zu haben und auch auf den Knoten zeigen zu können, zu dem ich gerade erkläre, habe ich in der Vorbereitung geübt, solche Schaubilder schnell und präzise auf Papier bringen zu können (und mit Abkürzungen optimalerweise auch noch etwas anfangen zu können, z. B. SM = Stream Manager, LR/FR = Leader-/Follower-Replikat).

Fragen

F: Was ist Cloud Computing und was sind Vor- und Nachteile

F: Eine Basistechnologie für Cloud Computing ist ja Virtualisierung. Nenne drei Eigenschaften virtualisierter Systeme und erkläre diese.

F: Ist Äquivalenz tatsächlich zu erreichen? Warum/warum nicht?
A: Nein, Ressourcen- und Zeitverhalten sind anders. Aufteilung zwischen allen VMs. Virtual Machine Monitor benötigt einen Teil der Ressourcen und kann nicht untätig sein, weil er z. B. eine amok laufende Maschine „einfangen“ muss.

F: Erkläre den Begriff Binary Translation.

F: Erkläre das CAP-Theorem.

F: Microsoft Azure Storage: Aufbau erklären. Wie läuft ein Schreibvorgang ab?

F: MAS: Welche CAP-Eigenschaft wurde abgeschwächt? Erkläre anhand eines Beispiels, was passieren muss, dass das zum Tragen kommt.

F: MAS: Was müsste gemacht werden, damit wir ein konsistentes und partitionstolerantes System haben?
A: Keinen Failover auf den asynchron replizierten Storage Stamp im anderen Rechenzentrum zulassen. [Danke an das frühere Prüfungsprotokoll, da wäre ich nie draufgekommen.]

F: MAS: Wie genau läuft der Failover ab?
A: DNS-Failover. DNS wird von Location Service „befüllt“.

F: MAS: Notfallversiegelung erklären können und wie der Offset, an dem versiegelt wird, bestimmt wird → Wie kann es zu doppelt gespeicherten Daten kommen?

F: MAS: Grob erklären können, was der Partition Layer macht und wie er die Daten im Stream Layer speichert. Tobias hat die Frage damit verknüpft, dass im Stream Layer ja Daten doppelt sein können, wie geht der Partition Layer damit um?
A: Wenn der Partition Layer eine Datenbank enthält, speichert er im Stream Layer ja das Änderungsprotokoll und Checkpoints. Beispiel Änderungsprotokoll: Wenn der Schreibaufruf „setze A = 10“ eingeht, ist das eine idempotente Operation, die bei der Wiederherstellung der Datenbank problemlos auch doppelt angewandt werden kann.

An dieser Stelle kamen viele Fragen zum Vergleich zwischen MAS und GFS. Ich hatte die beiden immer separat gelernt und hab mich dann in der Prüfung schwer getan, gedanklich immer wieder zwischen beiden Systemen umzuschalten. Ich glaube, wenn man folgendes verinnerlicht hat, ist man gut auf die Fragen vorbereitet:

  • GFS hat eine feste Chunk-Größe, MAS eine variable.
  • MAS wird daher beim Anhängen in einen Extent einfach einen größeren Block anhängen. GFS lehnt eine append-Operation ab, wenn die neuen Daten nicht mehr in den Chunk passen, denn im Gegensatz zu write-Anfragen ist das Anhängen eine garantiert atomare Operation und ansonsten müssten sich möglicherweise die zwei Chunk-Server absprechen, die für die zwei Chunks die Primary-Rolle haben, über die verteilt append()ed wird. Ablehnen ist da einfacher.
  • GFS kennt Leases für die Primary-Rolle für einen Chunk. Wenn der Primary ausfällt, muss im Zweifel auf das Ablaufen der Lease gewartet werden, bevor ein neuer Primary bestimmt werden kann. Ohne Primary ist kein Schreiben in diesen Chunk mehr möglich. MAS kennt dagegen die Notfallversiegelung. Es gibt dann für den versiegelten Extent einfach keinen Primary mehr, aber es kann ja einfach ein neuer Extent angelegt und darin geschrieben werden.

Der letzte Themenblock war Chubby vs. ZooKeeper, siehe dafür die anderen Prüfungsprotokolle. Neben den Unterschieden zwischen den beiden Systemen lag der Schwerpunkt dann auf Detailfragen dazu, was sich in ZooKeeper ändern würde, wenn man z. B. im Leader nicht zwei Zustände verwalten würde. Eigentlich alles lösbar, wenn man den Ablauf einer Schreibanfrage verinnerlicht hat.