1. Transparenzeigenschaften
2. Kommunikationssysteme
-
ISO OSI
-
Wegwahlverfahren
-
statische Wegwahl
-
Dijkstra Algorithmus
-
-
adaptive Wegwahl
-
Hot-Potato-Routing
-
Backward-Learning
-
Vector distance
-
-
IP-Forward-Algorithmus
-
-
Internetprotokolle
-
IPv4 und IPv6
-
ARP
-
ICMP
-
Fragmentierung
-
TCP
-
3-way-handshake
-
Transmission Control Block
-
Anpassung RTT
-
-
UDP
-
Ethernet-Frames
-
3. Interprozeßkommunikation
-
RPC
-
Stub → Ortstransparenz
-
RPC-Semantik → hängt vom Transportprotokoll ab
-
may be
-
at least once
-
at most once
-
-
Klassifikation
-
RR – request, response
-
RRA – request, response, acknowledgement
-
-
-
Sun RPC
-
XDR (Darstellungsschicht)
-
RPC-Bibliothek
-
Portmapper
-
rpcgen
-
-
Java RMI
-
Stub/Skeleton → Remote Reference Layer – Transport
-
basiert auf Objekt-Serialisierung
-
Registry
-
-
VMTP
-
Gruppenkommunikation
-
IP-Multicast
-
MBone (Truncated Reverse Path Multicasting)
-
IGMP
-
DVMRP
-
IP-in-IP-Tunneling
-
-
Mach
-
Microkernel
-
Tasks und Threads
-
Message Passing und Ports (global eindeutige Portadressen)
-
Copy-on-Write
-
4. Verteilte Dateisysteme
-
Ziele
-
Ortstransparenz
-
Performance
-
hohe Verfügbarkeit und Fehlertoleranz
-
einfache Erweiterbarkeit/Skalierbarkeit
-
Zugriffsoperationen
-
sequential Read/Write-Sharing
-
concurrent Read/Write-Sharing
-
-
-
Techniken
-
Remote Service ↔ Caching
-
zustandslos ↔ zustandsbehaftet
-
schreiben
-
write-through
-
write-on-close
-
delayed-write
-
-
server-initiierte ↔ client-initiierte Validierung
-
Naming – logische Dateinamen
-
-
NFS
-
NFS v2
-
zustandslos
-
client-initiierte Validierung mit Versionsnummern
-
write-through
-
-
NFS BSD
-
write-on-close bzw. alle 30s
-
TCP
-
-
NFS v3
-
„save asynchronouse write“
-
-
NFS v4
-
zustandsbehaftet
-
Mount und NLMP integriert
-
Replikation von Read-only-Daten
-
-
automount: amd und autofs
-
-
AFS
-
Venus + Vice
-
Volumes, Volume Location Database
-
logische Dateinamen
-
zustandsbehaftete Server
-
Caching mit client-initiierter Validierung
-
write-on-close
-
eigenes RPC-System
-
Volume Migration
-
-
Sprite
-
globales Dateisystem mit Domains
-
Caching mit client-initiierter Validierung
-
zustandsbehaftete Server
-
delayed write 30s
-
-
CODA
-
Replikationstransparenz
-
disconnected Operation
-
read-one-write-all
-
client-initiierte Validierung
-
client-initiierte Updates
-
Recovery Protokoll für unlösbare Konflikte
-
5. Synchronisationstechniken
-
Happened-Before-Relation
-
Vergangenheits-/Zukunftskegel
-
„Einführen einer totalen Ordnung“
-
-
zentraler Synchronisationsserver
-
Bully-Algorithmen
-
Datenkonsistenz wird nicht behandelt
-
Probleme bei Netzpartition
-
-
Tokenverfahren
-
Logischer Ring/Token Ring
-
!ToTem
-
Token on Demand/ Tokenwechsel auf Anforderung/ Floor Passing
-
-
Votierungsverfahren
-
Majority Consensus
-
LQ + SQ > S
-
2SQ > S
-
Datenkonsistenz auch bei Partitionierung
-
Weighted Voting → mehr Stimmen für zuverlässige Server
-
-
-
NTP
-
Logische Uhren
-
Lamports logische Uhr
-
korrekt
-
nicht streng konsistent
-
-
abcast
-
Vektoruhr
-
streng konsistent
-
konsistenter globaler Schnitt lässt sich sofort angeben
-
kausal geordneter Multicast – cbcast
-
Ereignisse im kausalen Zusammenhang haben vergleichbare Vektoruhren
-
-
Komprimierte Vektoruhr
-
→ Offline-Rekonstruktion der Vektorzeit
-
-
Matrixuhr
-
Coda Version Vector
-
erkennt Konflikte korrekt
-
-
-
Schnappschussverfahren
-
Problem: verlorene, verdoppelte, verwaiste Nachrichten
-
Marker Algorithmus
-
-
Fehlerquellen in Verteilten Systemen
-
Fail-Stop : 2 Zustände
-
Slowdown : 3 Zustände
-
Byzantinische Fehler : 4 Zustände
-
-
Verteiltes Commit-Protocol
-
Ziel: Maximal sicher
-
Recovery: System befindet sich stets in einem wohldefinierten Zustand
-
2 Phase Commit
-
3 Phase Commit
-
6. Lastverteilung
-
Lastmetriken
-
load (Glättung)
-
Geschwindigkeitsfaktor im Vergleich zur langsamsten/schnellsten Maschine
-
-
Lastverteilungsstrategien
-
!TopHost
-
Schwellwertverfahren
-
probabilistische Verfahren
-
Aufgabe: Selektion + Platzierung
-
empfänger- vs. sender-initiiert
-
adaptive vs. dynamische Lastverteilung
-
LSF, Condor, Mosix
-