Beruflich Dokumente
Kultur Dokumente
Mehrbenutzersnychronisation
Übungen
(max. 2 Pkt.) Berechnen Sie die Ergebnisse der Historien und vergleichen diese jeweils mit
den Ergebnissen der seriellen Historien T1 I T2, T2 I T1, T1 I T3 und T3 I T1.
Fortgeschrittene Systementwicklung
Mehrbenutzersnychronisation
3. (max. 2Pkt.) Deadlock-Vermeidung
Spielen Sie für die Strategie wound-wait und wait-die die Fälle durch und zeigen so, dass es
keine Deadlocks geben kann.
Aufgaben
Gegeben seien die beiden Mengen T1 und T2 an Transaktionen sowie die dazugehörigen Historien
H1, H2, welche jeweils durch ihre Folge von Elementaroperationen gegeben sind:
Zeichnen Sie für beide Mengen T1 und T2 den jeweiligen Serialisierbarkeitsgraphen SG(Hi).
Benennen Sie für jede Kante im Serialisierbarkeitsgraphen alle Paare pi → pj von Operationen, die
als Begründung für diese Kante genannt werden könnten.
Falls die Historie serialisierbar ist, geben Sie eine mögliche Reihenfolge an. Andernfalls geben Sie
eine (möglichst kleine) Menge an Transaktionen an, welche man aus der Historie streichen müsste
damit diese serialisierbar wird. Geben Sie anschließend dafür eine mögliche serielle Reihenfolge
an.
w1[a] → r2[a] → w3[a] → w1[b] → w2[b] → w1[a] ergibt sich folgender Serialisierbarkeitsgraph
T1 T3
T2
Fortgeschrittene Systementwicklung
Mehrbenutzersnychronisation
T2 → T3: r2[a] → w3[a]
Diese Historie ist nicht serialisierbar. Nach Entfernen der Transaktion T1 wird sie jedoch
serialisierbar. Eine gültige serielle Reihenfolge wäre dann T2 vor T3.
Fortgeschrittene Systementwicklung
Mehrbenutzersnychronisation
2. (max. 2Pkt.) Bestimmen Sie alle Eigenschaften an, die von der Historie erfüllt werden und begründen
Ihre Zuordnung jeweils.
Ja nein Aussage
serialisierbar
rücksetzbar
Vermeidet kaskadierendes Zurücksetzen
Strikt
3. (max. 5 Pkt.) Wenden Sie eine zeitstempelbasierte Synchronisation am folgenden Beispiel an:
T1 T2 T3
Zeit
1 bot
2 bot
3 bot
4 r(A)
5 r(C)
6 w(A)
7 r(C)
8 w(C)
9 commit
10 r(B)
11 w(C)
12 commit
13 w(C)
14 w(A)
15 commit
Bearbeiten Sie die Historie aus Sicht eines Schedulers, indem Sie die Zeitstempel setzen und
jede Operation überprüfen. Nach einem möglichen Abbruch einer Transaktion braucht der
Wiederanlauf der Transaktion nicht bearbeitet zu werden. Sie können die nachfolgende
Vorlage verwenden:
Fortgeschrittene Systementwicklung
Mehrbenutzersnychronisation
T1 T2 T3 A B C
Zeit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Fortgeschrittene Systementwicklung
Mehrbenutzersnychronisation