VS
asdfe
asdfe
-
- 1 / 16
-
Flashcards
Vorteile verteilter Systeme
- Abbild organisatorischer Gliederungen
- Erweiterbarkeit /Skalierbarkeit / Modularität
- höhere Zuverlässigkeit und Verfügbarkeit
- Replikation (Redundanz)
- unabhängiges Fehlerverahlten
- kurze und vorhersehbare Antwortzeiten
- Kostenvorteile (Hardware vs. Software)
- Sicherheit?
Nachteile verteilter Systeme
- Abhängigkeit vom Netzwerkt (Interconnectivity)
- Interferenzen / Abhängigkeiten von Teilkomponenten
- Propagieren von Effekten (z.B. Effekten)
- Folgen hoher Komponentenzahl (Engpässe)
- Partielles Fehlerverhalten
- weniger Flexibilität bei der Zuweisung von Ressourcen
- kein gemeinsamer Zustand (auch keine gemeinsame Uhr)
- Sicherheit
- Koordinationsprobleme!!
Herausforderungen
- Einzelprozessorsysteme
- Getrennte Adressräume
- Nebenläufigkeit
- Heterogenität
- Fehlerbehandlung
- Skalierbarkeit
- Offenheit
- Sicherheit
- Transparenz
Transparenz-Eigenschaften verteilter Systeme
- Zugriffstransparenz
- Ortstransparenz
- Nebenläufigkeitstransparenz
- Replikationstransparenz
- Fehlertransparenz
- Migrationstransparenz
- Leistungstransparenz
- Skalierungstransparenz
Kommunikationsformen
verwendet zwischen Netzknoten, Rechnern, Prozessen, Anwendungen...
- Nachrichten
- Prozeduraufrufe
- gemeinsam zugänglicher SPeicherbereich (physisch/logisch)
CAP-Theorem
Erwünschte Eigenschaften:
- Consistency
- Availablility
- Partition Tolerance (Fehlertoleranz)
Unmöglich alle 3 gleichzeitig zu erreichen nur 2 von 3 möglich. Wahl der Eigenschaften bestimmt die Einsatzmöglichkeiten des Systems
Transparenzen
Zugriffstransparenz: enables local and remote resources to be accessed using
identical operations
Ortstransparenz: enables resources to be accessed without knowledge of
their physical or network location (for example, which building or IP address).
Nebenläufigkeitstransparenz: enables several processes to operate concurrently
using shared resources without interference between them.
Replikationstransparenz: enables multiple instances of resources to be used to
increase reliability and performance without knowledge of the replicas by users or
application programmers, e.g. Web servers
Fehlertransparenz: enables the concealment of faults, allowing users and
application programs to complete their tasks despite the failure of hardware or
software components, e.g. message retransmission, failure of a web server node
should not bring down the web site - Mitteilung über nicht verfügbaren Dienst an den Anwender wenn kein anderer Fallback möglich ist (wie z.bsp. erneuter Versuch oder anderer Server)
Migrationstransparenz: allows the movement of resources and clients within a
system without affecting the operation of users or programs, e.g. switching from
one name server to another at runtime; migration of an agent/process form one
node to another.
Leistungstransparenz: allows the system to be reconfigured to improve
performance as loads vary, e.g., dynamic addition/deletion of components, e.g.
switching from linear structures to hierarchical structures when the number of
users increase.
Skalierungstransparenz: allows the system and applications to expand in scale
without change to the system structure or the application algorithms.
Bedingungen für Deadlocks
- Mutual exclusion
- Hold and wait
- No preemption
- Circular wait
Livelock
Threads/Prozesse agieren in begrenzten Zuständen ohne dass das System voranschreitet.
Beispiel: Zwei Personen treffen sich im engen Flur und weichen jeweils zur Seite aus ohne dass der andere vorbei kommt
Behandlung von Deadlocks
• Ignorieren: Vogel-Strauß-Methode, wegen geringer Deadlockwahrscheinlichkeit
teilweise akzeptabel
• Vorbeugung: Verhinderung des Eintretens mindestens einer Deadlockbedingung
— Mutual Exclusion -> Spooling
— Hold and wait -> Alle Betriebmittel auf einmal anfordern
— Ununterbrechbarkeit -> Timeouts, Betriebsmittelentzug
— Zyklisches Warten -> Nummerierte Ressourcen nur aufsteigend reservieren
• Beseitigung: Situationsbedingte Detektion von Deadlock-Situationen und deren
Aufhebung
— WaitFor-Graph auf Zyklen untersuchen und Prozesse abbrechen
• Vermeidung: Umsichtige Vergabe von Betriebsmitteln, d.h. nur wenn ein sicherer
Zustand erreicht wird
— Bankiers-Algorithmus
Serialisierbarkeit
Als serialisierbar bezeichnet man einen Ausführungsplan(Historie) für die parallele Ausführung mehrerer Transaktionen, wenn er zum selben Ergebnis führt wie eine nacheinander (seriell) ausgeführte Historie über dieselben Transaktionen.
Square and Multiply
y = m ^ c mod n = 15 ^ 13 mod 77 = 64 mod 77
13(:2) 15
6 15^2 = 225 mod 77 = 71
3 71^2 = 5041 mod 77 = 36
1 36^2 = 1296 mod 77 = 64
=> y = 15 · 36 · 64 mod 77 = 34560 mod 77 = 64
links steht der Exponent, rechts die Basis; links ”Halbieren und Abrunden”,
rechts: ”Quadrieren und ggf. Reduzieren”; am Ende: alle Zahlen aus der
rechten Spalte aufmultiplizieren, wenn der Wert in der linken Spalte
ungerade ist
Christians Methode
Tsyn = t + Tround / 2
t = Zeitserverzeit
Tround = Zeit von Anfrage bis Antwort von Zeitserver