Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » Verteilte Systeme (VS) 7.5 ECTS Prüfung 07.2024

Verteilte Systeme (VS) 7.5 ECTS Prüfung 07.2024

Meta Information

  • Vorlesung: Verteilte Systeme (VS) 7.5 ECTS, SS 24
  • Datum: 24.07.2024
  • Prüfungsform: mündlich
  • Prüfer: Tobias Distler / Laura Lawniczak
  • Zeit ist gefühlt wie im Flug vergangen
  • Mehr Verständnisfragen als wirklich montones Abfragen von Wissen
  • Teilweise wurde nach einer sehr spezifischen Antwort gesucht

Prüfung

* Was sind verteilte Systeme und welche Besonderheiten gibt es?

 Verteilte Systeme:
    * Mehrere Rechner
    * Verbunden mit Netzwerk
    * Realisieren eine Aufgabe zusammen
 Besonderheiten:
   * Komplexere Fehler durch Netzwerkfehler
   * Heterogenität

* Wie funktioniert ein Fernaufruf?

 Stub und Skeleton erklärt. Aufrufprozedur erklärt
 

* Woher weiß der Client wohin er Nachricht schicken muss?

 Server-Adresse ist in Stub enthalten
 

* Wann komm die Adresse in den Stub?

 Wenn der Server den Stub dynamisch erzeugt
 

* Welche Tranzparenzen soll ein Fernaufruf sicherstellen?

 Signalisierung von Fehlern
 Ortstransparenz
 

* Lassen sich Fernaufrufe vollständig tranzparent darstellen? Warum?

 Nein. Da die Funktionssignatur bei Java zum Beispiel Remote exceptions haben muss.
 

* Was sind die unterscheide zwischen dereferenzieren und parameter als remote object?

  Argumentieren nach:
  - Übertragungsmenge
  - Anteil der Genutzen daten des Objects
  - Häufigkeit wie oft das object beim Server gebraucht wird

* Können in allen fällen immer beide arten genutzt werden?

  Nein. Wie in der einen Übungsaufgabe wenn die Call-back function dereferenziert wird wird der callback auf dem Server aufgerufen und nicht auf dem client. Da geht nur Remote reference.
  

* Gibt es Probleme die beim derefernzieren auftreten können.

 Ja bei manchen sprachen ist nicht eindeutig wie groß der übergabe parameter ist (C char* char[])
 

* Kann man in C keine Fernaufrufe realisieren?

 Doch mittels IDL. Generieren der Stubs / Skeletons aus IDL-Spezifikation für verschiedene Programmiersprachen
 

* Was bekommt man von IDL

  Programm code
  

* Welche Wege gibt es Netzwerkfehler zu tolerieren?

 * Maybe (Eigentlich nicht wirklich tolerierbar)
 * At-Most-Once
 * At-Least-Once
 * Last-of-Many

* Erkläre At-Most-Once

  Auf das Speichern der Antworten eingehen usw.

* Wie läuft die Garbage-Collection bei At-Most-Once?

 * Nach Zeit: Client Versuche * Timout + Puffer
 * Wenn andere Anfrage von selben Aufrufer

* Gibt es noch eine weitere Art der Garbage-Collection?

  Ja wenn der Client ein Acknoledgement der Antwort schickt.
  

* Wie groß muss der Timeout für die Guarbage-Collection bestimmt werden, wenn 5 Anfrage, 10 Sekunden Wartezeit, 1ms Nachrichten Latzen ist

  Meine Schätzung war 55s
  

* Wie kann es dazu kommen das bei At-Most-Once die Antwort „Gültige anfrage aber kann nicht beantwortet werden“ kommt?

  * Server hat das bekommen der Anfrage Protokolliert aber die Antwort nicht
  * Server hat keinen Speicher um die Anfrage auszuführen und zu speichern

* Welche Arten haben wir besprochen?

 Aktiv und Passive Replikation + kurze Erklärung
 

* Ist Raft aktive oder passive Replikation?

  Prinzipiell beides je nachdem ob die Ausführanforderung oder der neue Zustand vom Leader weitergegeben wird. 

* Was braucht man, um Auktionsservice aus der Übung aktiv zu replizieren?

 Raft + deterministischer Auktionsservice

* Wie machen wir den Service deterministisch?

 Anführer bestimmt Zeitstempel und verteilt diesen mit Anfragen. Überprüfungen von Geboten mittels diesem Zeitstempel und nicht mit lokaler Replikat-Zeit
 Nachricht das die Auktion beendet ist
 

* Was ist der Unterschied zwischen Uniform zuverlässiger Multicast und zuverlässiger Multicast?

  Das bei zuverlässigem Multicast es immer noch möglich ist das eine Fehlerhafter Knoten dem Client einen ungültigen Zustand schickt.