====== MW/CC 2023-04-13 ====== * **Fach**: Middleware / Cloud Computing (7,5 ECTS) * **Prüfer**: Tobias Distler * **Beisitzer**: Laura ===== Fragen ===== **F:** Was ist Cloud Computing und was sind Vor- und Nachteile? **F:** Nenne 3 Eigenschaften virtualisierter Systeme und erkläre diese? **F:** Ist Äquivalenz zu erreichen? **A:** Nein, nicht im Zeitverhalten es werden mehr Instruktionen ausgeführt. **F:** Wo könnte noch die Äquivalenz verletzt werden? **A:** Weniger Arbeitsspeicher **F:** Ja allgemein bei Ressourcen. **F:** Erkläre Binary Translation. **F:** Nenne ein Beispiel für eine Instruktion, die abgefangen werden müsste. **A:** (Das übliche Beispiel mit der Uhrzeit, Zeit-Offset pro VM...) **F:** Was besagt das CAP-Theorem? **A:** Konsistenz, Verfügbarkeit, Partitionstoleranz. Eine davon wird abgeschwächt. **F:** Welche der drei Eigenschaften wird bei Microsoft Azure Storage abgeschwächt? **A:** Konsistenz, wegen der asynchronen Replikation auf andere Storage Stamps. **F:** Wenn wird jetzt starke Konsistenz haben wollen und die Verfügbarkeit abschwächen wollen, was wird geändert? **A:** Synchrone Replikation auf die Storage Stamps **F:** Falsch (//In der Prüfung sagt er natürlich nicht Falsch, aber man merkt das dann schon//), das würde die Partitionstoleranz einschränken. Man muss das Umschalten auf den zweiten Storage Stamp verhindern, um die Verfügbarkeit abschwächen. **F:** Beschreib doch mal kurz einen Schreibvorgang in MAS und was passiert im Fehlerfall? **F:** Vergleiche mit Google File System warum muss der Primary da wiedervergeben werden? **A:** Weil wir wahlfreien Schreibzugriff haben. (eigentlich falsch siehe nächste Fragen) **F:** Wenn wir jetzt GFS ohne wahlfreien Schreibzugriff haben, brauchen wir den Primary dann nicht neu vergeben? **A:** Ja **F:** Falsch, was ist den anders als bei MAS? **A:** (mit ein bisschen Hilfe), die Chunks haben feste Größe, damit kann man nicht an beliebigen Offsets versiegeln. **F:** Warum kann in GFS eine Anfrage abgelehnt werden? **A:** Keine Ahnung **F:** Bei Appends? **A:** Keine Ahnung **F:** In welchen Größen wird beim GFS geschrieben und was ist wenn es da Überlappung gibt? **A:** Dann wird der Chunk mit Padding gefüllt. (eigentlich auch falsch, passiert ja nur bei verloren Blöcken) Wenn die Schreibanfrage nicht mehr in den Chunk passt dann wird die Anfrage abgewiesen. **F:** Warum kann man nicht einfach zwei Schreibaufrufe machen für die zwei Chunks? **A:** Das wäre dann nicht mehr atomar. **F:** Warum haben wir das bei MAS nicht? **A:** Chunkgröße ist nicht fest vorgeschrieben. **F:** Wie groß sind den Chunks in MAS? **A:** Das ist eigentlich nicht definiert? **F:** Die Richtgröße ist 1GB. Das kann aber bei Schreibaufrufen ganz am Ende auch überschritten werden, deshalb wird da nichts abgelehnt. **F:** Warum haben wir im Übungs-HDFS keinen Node mit Primary-Rolle gebraucht? **F:** Wie kommt es zu schwacher Konsistenz bei Zookeeper? **F:** Was passiert wenn Zookeeper Anfragen aus dem aktuellen Zustand beantworten wuerde? **A:** Herausgabe nicht bestätigter Werte möglich -> kann von Followern abgetrennt werden und Leader Rolle verlieren -> Reset aktueller Zustand waere dann moeglich **F:** Was passiert wenn Zookeeper Schreibanfragen mit dem bestäigten Zustand bearbeiten würde? **A:** Dann gingen aufeinander aufbauende Schriebanfragen nicht mehr wegen der Versionsnummern. **F:** Was ist da ein Beispiel wo es dann nicht mehr funktioniert? **A:** Bei einem zwei konkurierenden Zähler-Inkrements würde potenziell nur einmal inkrementiert. **F:** Warum ist Chubby stark konsistent? **F:** Chubby ist Leader Flaschenhals, Lösung? **A:** Caching, und Invalidierung über offene Verbindung, Schreibanfrage erst bestätigt wenn alle Invalidierungen bestätigt wurden. **F:** Was wenn die Invalidierung nicht bestätigt wird? **A:** Warten auf Ablauf des Sitzung-Lease des betroffenen Clients, dann Schreibanfrage bestätigt. **F:** Warum müssen wir darauf warten? **A:** Weil der Client nach Ablauf des Sitzung-Lease den Cache invalidieren muss und somit keine alten gecachten Werte jemals verwendet werden.