Απαντήσεις. Απάντηση. Απάντηση

Σχετικά έγγραφα
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

Λύση: Λύση: Λύση: Λύση:

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

Εκλογήαρχηγού. Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου. Κατανεµηµένα Συστήµατα 06-1

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 6

Consensus and related problems

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις Επαναληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Επανάληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Παρουσίαση 1 ΙΑΝΥΣΜΑΤΑ

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

x - 1, x < 1 f(x) = x - x + 3, x

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 6

3 Αναδροµή και Επαγωγή

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Σηµειώσεις στις σειρές

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σύνοψη 3 ης ιάλεξης


ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

Κατανεμημένα Συστήματα. Ενότητα # 2: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 8

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 6

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Φυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Αδιέξοδα. Μαρία Ι. Ανδρέου

ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

ΕΥΡΕΣΗ ΣΥΝΟΛΟΥ ΤΙΜΩΝ ΣΥΝΑΡΤΗΣΗΣ. της f : A. Rούτε εύκολη είναι ούτε πάντοτε δυνατή. Για τις συναρτήσεις f (x) = x ηµ x και ΜΕΘΟ ΟΛΟΓΙΑ

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Συντονισμός και συμφωνία

11. Η έννοια του διανύσµατος 22. Πρόσθεση & αφαίρεση διανυσµάτων 33. Βαθµωτός πολλαπλασιασµός 44. Συντεταγµένες 55. Εσωτερικό γινόµενο

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

MEΤΑΣΧΗΜΑΤΙΣΜΟΙ ΤΗΣ ΜΟΡΦΗΣ Y= g( X1, X2,..., Xn)

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Αμοιβαίος αποκλεισμός

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Αδιέξοδα (Deadlocks)


Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α

f x = f a + Df a x a + R1 x, a, x U και από τον ορισµό της 1 h f a h f a h a h h a R h a i i j

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 3

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι. Ενότητα: Γραµµική Ανεξαρτησία, Βάσεις και ιάσταση. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

ΑΠΑΝΤΗΣΕΙΣ - ΥΠΟ ΕΙΞΕΙΣ ΣΥΝΤΟΜΕΣ ΛΥΣΕΙΣ ΣΤΙΣ ΕΡΩΤΗΣΕΙΣ

Κινητά και Διάχυτα Συστήματα. Ενότητα # 8: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

( ) ΕΚΘΕΤΙΚΗ ΣΥΝΑΡΤΗΣΗ. Σηµείωση. 2. Παραδοχή α = Ιδιότητες x. αβ = α = α ( ) x. α β. α : α = α = α

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Πανεπιστήµιο Θεσσαλίας

ΚΕΦΑΛΑΙΟ 3: ιατύπωση σκεδαζόµενου πεδίου στο FDTD

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ

Αρµονική Ανάλυση. Ενότητα: L p Σύγκλιση. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

5.1.1 Η ΖΗΤΗΣΗ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΥΠΗΡΕΣΙΩΝ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Όρια συναρτήσεων. ε > υπάρχει ( ) { } = ± ορίζονται αναλόγως. Η διατύπωση αυτών των ορισµών αφήνεται ως άσκηση. x y = +. = και για κάθε (, ) ( 0,0)

Transcript:

6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα. Για παράδειγµα, έστω ότι ένας χρήστης αποθηκεύει το αρχείο mylib.c την χρονική στιγµή 10:27:53.0. Μετά από 3 δευτερόλεπτα το ρολόι έχει γυρίσει προς τα πίσω και δείχνει 10:27:51.0. Κάποιος άλλος χρήστης θέλει να µεταγλωττίσει το αρχείο myprog.c το οποίο χρησιµοποιεί το mylib.c, οπότε καλεί το πρόγραµµα make. Όµως το make βλέπει ότι το mylib.o έχει timestamp 10:27:53.0 ενώ το mylib.c έχει 10:27:51.0. Έτσι δεν µεταγλωττίζει το mylib.c, χρησιµοποιεί την παλιά έκδοση του mylib.o και τελικά το εκτελέσιµο πρόγραµµα µπορεί να παρουσιάζει προβλήµατα λόγω ασυµβατότητας εκδόσεων (π.χ. διαφορετικές παράµετροι σε συναρτήσεις) ενώ ο πηγαίος κώδικας να είναι σωστός. Για να διορθωθεί η απόκλιση των 4 δευτερολέπτων µέσα σε 8 δευτερόλεπτα, αρκεί το ρολόι να τρέχει δυο φορές πιο αργά για 8 δευτερόλεπτα. ηλαδή αν ο timer προκαλεί 100 interrupts ανά δευτερόλεπτο και ο software counter αυξάνεται κάθε φορά κατά 10, τώρα θα πρέπει να αυξάνεται κατά 5. Για παράδειγµα, αν ο counter την χρονική στιγµή 10:27:54.0 έχει τιµή 37674000, στο επόµενο interrupt θα πρέπει να του ανατεθεί τιµή 37674005 και άρα η ώρα θα είναι ακόµα 10:27:54.0 (το 0,5 δεν θα φαίνεται σε µια απλή κλήση gettime). Στον επόµενο χτύπο ο counter θα γίνει 37674010 και άρα η ώρα θα είναι 10:27:54.1. Συνεχίζοντας µε αυτόν τον τρόπο µετά από 8 δευτερόλεπτα το ρολόι θα δείχνει 10:27:58.0 και θα είναι συγχρονισµένο. Άσκηση 2. Σύµφωνα µε τον αλγόριθµο του Cristian θα πρέπει να θέσει το ρολόι του στο άθροισµα του timestamp και του χρόνου διάδοσης. Για τον υπολογισµό του χρόνου διάδοσης, όταν ο χρόνος επεξεργασίας δεν είναι γνωστός, βασιζόµαστε µόνο στο round-trip delay, το οποίο διαιρούµε µε το 2.

Αν επιλέξουµε να πάρουµε τον µέσο όρο των µετρήσεων, τότε βρίσκουµε ότι η καθυστέρηση διάδοσης t p είναι (22 + 25 + 20) / 6 = 11.17 msec. Αν επιλέξουµε την µικρότερη καθυστέρηση σαν την πιο αντιπροσωπευτική, τότε βρίσκουµε ότι η καθυστέρηση διάδοσης t p είναι 20 / 2 = 10 msec. Αν επιλέξουµε να αγνοήσουµε τις µετρήσεις πάνω από κάποιο κατώφλι καθυστέρησης, τότε πιθανώς να βρούµε διαφορετικό αποτέλεσµα. Για παράδειγµα αν έχουµε κατώφλι = 23 msec τότε η δεύτερη µέτρηση απορρίπτεται και ο µέσος όρος των άλλων δύο µας δίνει t p = 11 msec. Όσον αφορά το ποιον από αυτούς τους χρόνους θα πρέπει να χρησιµοποιήσει ο client για το συγχρονισµό του ρολογιού του, το βιβλίο απλά αναφέρει «when the reply comes in, the value in the message can be increased by this amount [(T 1 T 2 ) / 2] to give an estimate of the server s current time». Εποµένως θα χρησιµοποιήσει απλά τον τελευταίο από τους χρόνους. Βέβαια µπορούν κι εδώ να ακολουθηθούν οι προηγούµενες τεχνικές (µέσος όρος, µικρότερη καθυστέρηση, αγνόηση µετρήσεων πάνω από κατώφλι) οπότε σε κάθε περίπτωση ο client θα χρησιµοποιήσει διαφορετικό χρόνο. Τελικά αν υποθέσουµε ότι χρησιµοποιεί τον τελευταίο χρόνο και του προσθέτει t p = 11.17 msec, τότε θα πρέπει να θέσει το ρολόι του στις 10:54:28.353. Η πληροφορία ότι ο χρόνος από την αποστολή µέχρι τη λήψη ενός µηνύµατος είναι τουλάχιστον 8msec δεν είναι χρήσιµη. Αν δινόταν ότι ο χρόνος επεξεργασίας της αίτησης στον server είναι τουλάχιστον 8 msec, τότε θα αφαιρούσαµε 8 msec από όλα τα round trips, ώστε τελικά σαν round trips να θεωρούσαµε τα Round-trip (ms) Time (hr:min:sec) 14 10:54:23.674 17 10:54:25.450 12 10:54:28.342 Στη συνέχεια θα εφαρµόζαµε πάλι οποιαδήποτε από τις παραπάνω παραλλαγές του αλγορίθµου του Cristian ώστε να πάρουµε τα τελικά αποτελέσµατα. Για παράδειγµα, αν υποθέσουµε ότι βρίσκει τον µέσο όρο t p = 7.17 msec και τον προσθέτει στον τελευταίο χρόνο, τότε θα πρέπει να θέσει το ρολόι του στις 10:54:28.349 Άσκηση 3. ιακρίνουµε δύο περιπτώσεις: 1) Εάν ο αριθµός των γεγονότων µεταξύ των e και e είναι 0, τότε προφανώς ισχύει L(e) = L(e ). 2) Θα δείξουµε µε επαγωγή ότι ισχύει e e L(e) < L(e ). Έστω m o αριθµός των µηνυµάτων που µεσολαβούν των γεγονότων e και e. Για m = 1, έχουµε L(m) = L(e) + 1 και L(e ) = L(m) + 1. Άρα L(e ) = L(e) +2 > L(e).

Έστω ότι ισχύει για m = k. ηλαδή όταν µεσολαβούν k γεγονότα δεχόµαστε ότι ισχύει L(e) < L(e ). Θα δείξουµε ότι ισχύει για m = k + 1. Αν για m = k γεγονότα L(e ) = A > L(e) για m = k+1 L(e ) = A+1 > L(e). Οπότε δείξαµε ότι σε κάθε περίπτωση ισχύει e e L(e) L(e ). Άσκηση 4. (α) Κατά την ανταλλαγή µηνυµάτων µεταξύ δύο διεργασιών i και j, για κάθε µήνυµα που λαµβάνει η διεργασία i από την διεργασία j, αυξάνει το V i [i] κατά 1, διατηρώντας το πάντα µεγαλύτερο ή ίσο από το V j [j]. Υπάρχει όµως η περίπτωση δύο µηνύµατα της V j να φτάσουν σε αντίστροφη σειρά. Τότε πιθανώς V i [i] < V j [j], αλλά σ αυτήν την περίπτωση η διεργασία i θα αναβάλλει το µήνυµα της διεργασίας j που έφτασε πρώτο επειδή δεν είναι στη σειρά που το περιµένει. Έτσι θα επεξεργαστεί πρώτο το παλιότερο µήνυµα µε αποτέλεσµα πάντα να είναι V i [i] V i [j], (β) Έστω ότι το γεγονός e έγινε στην διεργασία i και το e στην j. Από την παραπάνω ανισότητα συµπεραίνουµε ότι V i [i] V i [j] και V j [j] V j [i]. Επειδή όµως η διεργασία i δεν έχει ενηµερωθεί για το συµβάν e, είναι V i [j] < V j [j] και αντίστοιχα για την διεργασία j είναι Vj[i] < Vi[i]. Εποµένως δεν µπορεί να ισχύει ούτε V(e) V(e ) αλλά ούτε V(e ) V(e). Τελικά αν ισχύει V(e) < V(e ) τότε µε απαγωγή σε άτοπο µπορούµε να συµπεράνουµε ότι e e, γιατί αν ήταν παράλληλα τότε δείξαµε ότι η προηγούµενη ανισότητα δεν µπορεί να ισχύει, ενώ αν ίσχυε ότι e e τότε εξ ορισµού θα ήταν V(e) > V(e ), δηλαδή άτοπο. Άσκηση 5. Με την χρήση των timestamps του Lamport, δύο παράλληλα γεγονότα (π.χ. δύο updates) παραµένουν ασυσχέτιστα (δεν υπάρχει σχέση a? b ώστε να διαταχθούν χρονικά). Έτσι είναι αδύνατο να επιτευχθεί totally ordered multicasting.

Όµως όταν κάθε κόµβος στέλνει acknowledgement, τότε το acknowledgement του a σαφώς έπεται του γεγονότος a, αλλά µπορεί επίσης να διαταχθεί χρονικά και σε σχέση µε το b, γιατί θα του έχει βάλει timestamp η διεργασία που προκάλεσε το b. Έτσι µε την χρήση acknowledgements µπορούµε να διατάξουµε χρονικά τα ίδια τα acknowledgements και να πετύχουµε totally ordered multicasting, θεωρώντας ότι τα a και b έγιναν µε την ίδια σειρά όπως και τα acknowledgements τους. Άσκηση 6. Ο προτεινόµενος αλγόριθµος λύνει το πρόβληµα των περισσοτέρων από ένα ELECTION µηνυµάτων σε ένα δακτύλιο. Για λόγους απλότητας στη περιγραφή θα θεωρήσουµε ότι υπάρχουν δύο µηνύµατα που διασχίζουν το δακτύλιο και πρέπει να παραµείνει µόνο το ένα. Παρόλα αυτά ο αλγόριθµος που θα περιγράψουµε γενικεύεται για n αριθµό ELECTION µηνυµάτων. Υποθέτουµε ότι ο Α και ο Β αντιλαµβάνονται ταυτόχρονα ότι ο προηγούµενος coordinator δεν λειτουργεί πλέον και προωθούν ταυτόχρονα στο δακτύλιο δύο ELECTION µηνύµατα. Χωρίς βλάβη της γενικότητας υποθέτουµε ότι ο Α (ένας από τους δύο δηλαδή) βρίσκεται πριν από το Β στη διάταξη του δακτυλίου. Οπότε ο Β µετά από κάποιο αριθµό βηµάτων θα πάρει το ELECTION µήνυµα από τον Α. Ο Β θα δει ότι δεν υπάρχει στη λίστα του µηνύµατος το δικό του process id, οπότε θα καταλάβει ότι δεν είναι το µήνυµα που αυτός προώθησε στο δακτύλιο αλλά ένα άλλο µήνυµα από άλλη διεργασία. Τότε απλά δεν στέλνει το µήνυµα στην επόµενη διεργασία που βρίσκεται µετά από αυτόν, οπότε και το επιπλέον µήνυµα σταµατάει την άσκοπη διάσχιση του δακτυλίου. Άσκηση 7. Το ζητούµενο throughput ορίζεται ως ο µέγιστος αριθµός προσπελάσεων κοινών πόρων που µπορούν να πραγµατοποιηθούν στη µονάδα του χρόνου. Για τον ορισµό του maximum throughput θεωρούµε τον ελάχιστο µέσο χρόνο που απαιτείται για να προσπελάσει µια διεργασία ένα διαµοιραζόµενο πόρο. Ουσιαστικά

είναι o χρόνος που χρειάζεται για να εισέλθει στη κρίσιµη περιοχή, έστω t εισόδου, συν το χρόνο που χρειάζεται να µείνει η διεργασία στη κρίσιµη περιοχή, έστω t εργασίας. Άρα max_throughput = 1 / (min_t εισόδου + min_t εργασίας ) αµοιβαίοι αποκλεισµοί ανά δευτερόλεπτο. Από τους γνωστούς αλγορίθµους για επίτευξη αµοιβαίου αποκλεισµού, αυτός µε τη µικρότερη καθυστέρηση για την είσοδο µιας διεργασίας σε κρίσιµη περιοχή είναι ο Centralized, που απαιτεί 2 µηνύµατα. Αν υποθέσουµε ότι το κάθε µήνυµα απαιτεί χρόνο t1 sec και ο µέσος παραµονής µιας διεργασίας στη κρίσιµη περιοχή είναι t2 sec. Η χρονική καθυστέρηση είναι 2*t1 + t2 sec. Άρα το throughput θα είναι 1/(2*t1 + t2) αµοιβαίοι αποκλεισµοί ανά δευτερόλεπτο. Άσκηση 8. Οι τρεις βασικές λειτουργίες που χαρακτηρίζουν το 2PL ισχύουν και για το κατανεµηµένο 2PL. Σε αυτή τη περίπτωση όµως ισχύουν επιπλέον οι εξής θεωρήσεις: - Τα δεδοµένα βρίσκονται κατανεµηµένα σε αντίγραφα σε πολλά µηχανήµατα του συστήµατος. - Κάθε µηχάνηµα διαθέτει τον δικό του scheduler που διαχειρίζεται τις αιτήσεις για transactions - Επιπλέον διαθέτει και τον δικό του data manager στον οποίο προωθούνται οι αιτήσεις για προσπέλαση στα τοπικά δεδοµένα Σύµφωνα µε αυτή την επέκταση του ορισµού, το κατανεµηµένο 2PL µπορεί να πραγµατοποιήσει κατανεµηµένα transactions εκτελώντας τις τρεις βασικές 2PL λειτουργίες, αλλά στα τοπικά δεδοµένα κάθε µηχανής.