Έλεγχος Ταυτοχρονισμού

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Έλεγχος Ταυτοχρονισμού"

Transcript

1 Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό)

2 Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2

3 Εισαγωγικά γ Ένα σύνολο λειτουργιών το οποίο αποτελεί μία λογική λειτουργική μονάδα καλείται συναλλαγή (transaction). Μια συναλλαγή περιέχει: εντολές ανάγνωσης, εισαγωγής, διαγραφής ή ενημέρωσης των δεδομένων δ της ΒΔ. Σε επίπεδο σελίδων Χ, μπορούμε να θεωρήσουμε ότι μία συναλλαγή είτε διαβάζει τη Χ, είτε εγγράφει/τροποποιεί τη Χ. Η πολυπλοκότητα των σύγχρονων βάσεων δεδομένων οδηγεί στην ανάπτυξη αξιόπιστων μηχανισμών ελέγχου της ακεραιότητας των δεδομένων: πολλές συναλλαγές μπορεί να βρίσκονται σε εξέλιξη, προσπελαύνοντας κοινά δεδομένα. Ο έλεγχος ταυτοχρονισμού (concurrency control) διαχειρίζεται τις συναλλαγές έτσι ώστε να αποφεύγονται οι παθολογικές καταστάσεις. Συμπληρωματικά, υπάρχει ανάγκη ύπαρξης μηχανισμών επανάκτησης (recovery) δεδομένων. 3

4 Ιδιότητες συναλλαγών ACID Ατομικότητα (Αtomicity): αν υπάρχει έστω και μία εντολή της συναλλαγής, η οποία αποτυγχάνει να εκτελεσθεί, τότε ολόκληρη η συναλλαγή αποτυγχάνει επίσης. Συνέπεια (Consistency): it η συναλλαγή πρέπει να μετατρέπει τη βάση δεδομένων από μία συνεπή κατάσταση σε μία άλλη συνεπή κατάσταση η( (τα δεδομένα πρέπει να είναι ορθά). Οι μηχανισμοί ακεραιότητας δεδομένων δεν επαρκούν για την εγγύηση της συνέπειας. Απομόνωση (Isolation): lti κάθε συναλλαγή πρέπει να εκτελείται ανεξάρτητα από άλλες συναλλαγές. Μονιμότητα (Durability): αν μία συναλλαγή ολοκληρωθεί με επιτυχία, τότε οι αλλαγές που έχει επιφέρει καταγράφονται μόνιμα στη ΒΔ και δεν μπορούν να ανακληθούν. 4

5 Τρόπος επεξεργασίας Ακολουθιακή ή σειριακή εκτέλεση όπου οι συναλλαγές εκτελούνται η μία μετά την άλλη (άρα δεν υπάρχουν προβλήματα ταυτοχρονισμού) αλλά εμφανίζονται σημαντικές καθυστερήσεις με αποτέλεσμα να μειώνεται η γενική απόδοση του συστήματος. Ταυτόχρονη εκτέλεση πολλών συναλλαγών Παράλληλη χρήση δίσκου ή CPU από πολλαπλές συναλλαγές, οπότε αυξάνεται ο αριθμός των συναλλαγών που ολοκληρώνονται στη μονάδα του χρόνου (throughput). Πλεονέκτημα: μειώνονται οι καθυστερήσεις (waiting time) και ο μέσος χρόνος εκτέλεσης των συναλλαγών (mean response time). Μειονέκτημα: ενδέχεται να επιφέρει προβλήματα στην ακεραιότητα και συνέπεια των δεδομένων της ΒΔ. Τα προβλήματα αυτά επιλύει ο έλεγχος ταυτοχρονισμού. Δημιουργείται ένα χρονοδιάγραμμα (schedule) που ικανοποιεί τις απαιτήσεις συνέπειας των δεδομένων. 5

6 Προβλήματα με χρονοδιαγράμματα Στο (β) θεωρείται ότι η Σ 1 απέτυχε και απορρίφθηκε. 6

7 Παράδειγμα T1: Read(A) T2: Read(A) A A+100 A A 2 Write(A) Read(B) Write(A) Read(B) B B+100 B B 2 Write(B) Περιορισμός: AB A=B Write(B) 7

8 Παράδειγμα Χρονοδιάγραμμα A T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 2; Wit Write(A); Read(B);B B 2; Write(B);

9 Παράδειγμα Χρονοδιάγραμμα B T1 T2 A B Read(A);A A 2; Read(A); A A+100 Write(A); Read(B); B B+100; Write(B); Write(A); Read(B);B B 2; Write(B);

10 Παράδειγμα Χρονοδιάγραμμα Γ T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Wit Write(B); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B);

11 Παράδειγμα Χρονοδιάγραμμα ρ Δ T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B);

12 Παράδειγμα Χρονοδιάγραμμα Ε T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 1; Write(A); Read(B);B B 1; Write(B); Αλλαγή της συναλλαγής Τ2 σε σχέση µε το Χρονοδιάγραµµα Η τελική κατάσταση είναι συνεπής από σύµπτωση! 12

13 Σωστά χρονοδιαγράμματα Πρέπει να ορίζονται ανεξάρτητα από: Αρχική κατάσταση. Τρόπο αλλαγής των δεδομένων. Η ορθότητα πρέπει να εξαρτάται απόκλειστικά από την σειρά των αναγνώσεων (reads) και εγγραφών (writes) To χρονοδιάγραμμα Γ ξαναγράφεται: S Γ =r1(a)w1(a)r2(a)w2(a)r1(b)w1(b)r2(b)w2(b) (A)r (A)r (B)w (B)r (B)w (B) 13

14 Σειριακό χρονοδιάγραμμα Σε ένα σειριακό (serial) χρονοδιάγραμμα οι εντολές μίας συναλλαγής δεν περιπλέκονται χρονικά με εντολές των άλλων συναλλαγών επιτυγχάνεται η συνέπεια. Υπάρχουν n! σειριακά χρονοδιαγράμματα οδ ρά ααγια n συναλλαγές. 14

15 Σειριοποίηση η Για να διατηρεί τη συνέπεια των δεδομένων της ΒΔ θα πρέπει το χρονοδιάγραμμα εκτέλεσης συναλλαγών να είναι ισοδύναμο με κάποιο σειριακό χρονοδιάγραμμα. Δύο χρονοδιαγράμματα καλούνται ισοδύναμα αν μετά την εκτέλεσή τους επιφέρουν τις ίδιες αλλαγές στη ΒΔ. Η παραγωγή ενός χρονοδιαγράμματος ισοδύναμου με ένα σειριακό χρονοδιάγραμμα καλείται σειριοποίηση (serializability), που μπορεί να έχει δύο μορφές: σειριοποίηση σύγκρουσης (conflict), και σειριοποίηση όψης (view). Σειριοποίηση επίτευξη (και) απομόνωσης!! 15

16 Σειριοποίηση η όψης Έστω δύο χρονοδιαγράμματα S και S με τα ίδια σύνολα συναλλαγών. Τα S και S ονομάζονται ισοδύναμα αν για κάθε στοιχείο δεδομένων D: αν η συναλλαγή Σ i διαβάζει την αρχική τιμή του D στο χρονο διάγραμμα S, τότε πρέπει η συναλλαγή Σ i επίσης να διαβάζει την αρχική τιμή του D στο χρονοδιάγραμμα S, αν η συναλλαγή Σ i εκτελεί την εντολή Read(D) στο χρονοδιάγραμμα S και αυτή η τιμή έχει παραχθεί από τη συναλλαγή Σ j, τότε η Σ i πρέπει επίσης να διαβάσει την τιμή που παράγει ησ j στο χρονοδιάγραμμα S, η συναλλαγή που εκτελεί την τελευταία εντολή Write(D) στο χρονοδιάγραμμα S, πρέπει και στο χρονοδιάγραμμα S' να εκτελεί την τελευταία εντολή Write(D). 16

17 Σειριοποίηση η όψης Ένα χρονοδιάγραμμα S καλείται σειριοποιήσιμο ως προς την όψη (view serializable) αν είναι ισοδύναμο ως προς την όψη ψημε κάποιο σειριακό χρονοδιάγραμμα. 17

18 Σειριοποίηση η σύγκρουσης ης( (1) Έστω χρονοδιάγραμμα S και δύο χρονικά συνεχόμενες εντολές E i, E j (που αναφέρονται στα ίδια δεδομένα D) των συναλλαγών Σ 1, Σ 2, αντιστοίχως. Διακρίνουμε τις εξής περιπτώσεις: E i =read(d) και E j = read(d) E i =read(d) και E j = write(d) E i =write(d) και E j = read(d) E i = write(d) και E j = write(d) Αν τουλάχιστον μία εντολή είναι εντολή αποθήκευσης, τότε οι εντολές E i και E j βρίσκονται σε σύγκρουση. 18

19 Σειριοποίηση η σύγκρουσης ης( (2) Αν ένα χρονοδιάγραμμα εκτέλεσης S μπορεί να μετασχηματισθεί σε ένα άλλο χρονοδιάγραμμα S' αλλάζοντας τη σειρά εκτέλεσης διαδοχικών εντολών που δεν συγκρούονται, τότε τα S και S' καλούνται ισοδύναμα ως προς τις συγκρούσεις (conflict equivalent). Το χρονοδιάγραμμα S καλείται σειριοποιήσιμο ως προς τις συγκρούσεις ς( (conflict serializable) αν είναι ισοδύναμο ως προς τις συγκρούσεις με ένα σειριακό χρονοδιάγραμμα. Τα εμπορικά συστήματα συνήθως παράγουν σειριοποιήσιμα ως προς τις συγκρούσεις χρονοδιαγράμματα, παρόλο που υπάρχουν και σειριοποιήσιμα χρονοδιαγράμματα άλλου τύπου (δεν είναι όλα τα σειριοποιήσιμα χρονοδιαγράμματα conflict serializable). 19

20 Σειριοποίηση η σύγκρουσης παράδειγμα 20

21 Σειριοποίηση η σύγκρουσης αντιπαράδειγμα Τα (β) και (γ) δεν είναι ισοδύναμα ως προς τις συγκρούσεις με το (α). 21

22 Επιπλέον παράδειγμα (1) Χρονοδιάγραμμα Γ διαφάνεια 10: S Γ =r1(a)w1(a)r2(a)w2(a)r1(b)w1(b)r2(b)w2(b) S Γ =r1(a)w1(a) r1(b)w1(b)r2(a)w2(a)r2(b)w2(b) T1 T2 22

23 Επιπλέον παράδειγμα (2) Για το χρονοδιάγραμμα Δ: S Δ =r1(a)w1(a)r2(a)w2(a) r2(b)w2(b)r1(b)w1(b) Κανένα από τα δύο ζεύγη δεν μπορεί να μετακινηθεί! Λόγω του Α: η Τ1 πρέπει να είναι πριν την Τ2: Τ1 Τ2 Λόγω του Β: η Τ2 πρέπει να είναι πριν την Τ1: Τ2 Τ1 Κύκλος! Αντίθετα στο προηγούμενο χρονοδιάγραμμα S Γ ίσχυε μόνο Τ1 Τ2 23

24 Γράφοι προήγησης ης Γράφος προήγησης (Precedence graph) P(S), όπου S είναι ένα χρονοδιάγραμμα. Κόμβοι: συναλλαγές στο S Ακμές: Ti Tj όταν pi(a), qj(a) είναι εντολές στο S pi(a) < S qj(a) //η pi(a) προηγείται της qj(a) στο S τουλάχιστον μία από τις pi, qj είναι write Παράδειγμα: w 3 (A)r 1 (A)w 1 (B)r 2 (B) w 2 (C)r 3 (C) P:Τ3 Τ1 Τ2 (Τ1) 24

25 Γράφοι προήγησης ης Λήμμα: S1, S2 conflict equivalent P(S1)=P(S2) Απόδειξη: Έστω ότι P(S1) P(S2) Ti: Ti Tj στο S1 αλλά όχι στο S2 S1 = pi(a)... qj(a) pi, qj S2 = qj(a) pi(a)... συγκρούονται S1, S2 δεν είναι ισοδύναμα ως προς τις συγκρούσεις. Προσοχή: αν P(S1)=P(S2) P(S2) δεν μπορούμε να πούμε σίγουρα αν τα S1, S2 είναι ισοδύναμα ως προς τις συγκρούσεις: Π.χ., S1=w1(A) r2(a) w2(b) r1(b) S2=r2(A) w1(a) r1(b) w2(b) 25

26 Θεώρημα Αν P(S1) ακυκλικός S1 σειριοποιήσιμο ως προς τις συγκρούσεις. ( ) Έστω P(S1) ακυκλικός S1 ισοδύναμo ως προς τις συγκρούσεις με ένα S που προέρχεται από την τοπολογική ταξινόμηση του P(S1) που βάσει ορισμού είναι σειριακό χρονοδιάγραμμα. ( ) Έστω S1 σειριοποιήσιμο ως προς τις συγκρούσεις Sserial: Sserial, S1 ισοδύναμα ως προς τις συγκρούσεις P(Sserial)=P(S1) P(S1) ακυκλικόγιατί και το P(Sserial) είναι ακυκλικό 26

27 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 27

28 Μηχανισμοί κλειδώματος Χρησιμοποιούνται για την επιβολή ενός σειριοποιήσιμου χρονοδιαγράμματος. Η κλειδαριά (lock) αντιστοιχεί σε ένα τμήμα δεδομένων και είναι μεταβλητή που περιγράφει την κατάσταση του τμήματος των δεδομένων σε σχέση με τις λειτουργίες που ενεργούν στα συγκεκριμένα δεδομένα. 28

29 Πρωτόκολλο κλειδώματος Ένας μηχανισμός κλειδώματος πρέπει να ικανοποιεί κανόνες εγγύησης της συνέπειας των δεδομένων. Οι κανόνες αυτοί ορίζουν ένα πρωτόκολλο κλειδώματος (locking protocol) και εγγυώνται ότι το χρονοδιάγραμμα που προκύπτει είναι σειριοποιήσιμο. 29

30 Γενικοί κανόνες πρωτοκόλλων κλειδώματος Κανόνας 1 (επίπεδο συναλλαγής): Κάθε συναλλαγή T i, πριν εκτελέσει οποιαδήποτε πράξη ανάγνωσης ή εγγραφής στα δεδομένα Α: της έχει χορηγηθεί η κλειδαριά για τα δεδομένα αυτά, που δηλώνεται με την πράξη locki(a) ή li(a), δεν έχει απελευθερώσει την κλειδαριά, που δηλώνεται με την πράξη unlocki(a) ή ui(a) Δηλαδή ισχύει: Ti: li(a) pi(a) ui(a)... Επίσης κάθε συναλλαγή που κλειδώνει ένα στοιχείο, πρέπει μετέπειτα να το ξεκλειδώνει. Κανόνας 2 (επίπεδο χρονοδιαγράμματος): Καμία άλλη συναλλαγή T j, δεν μπορεί επιτυχώς να ζητήσει την κλειδαριά άl lj(a) ανάμεσα από τις πράξεις li(a) και ui(a) μιας άλλης συναλλαγής T i 30

31 Παραδείγματα Έστω τα ακόλουθα τρία χρονοδιαγράμματα. Πληρούνται οι κανόνες; l1(a)l1(b)r1(a)w1(b)l2(b)u1(a)u1(b) r2(b)w2(b)u2(b)l3(b)r3(b)u3(b) Η πράξη l2(b) παραβιάζει τον κανόνα 2. l1(a)r1(a)w1(b)u1(a)u1(b) 1(B) 1(B) l2(b) r2(b)w2(b)l3(b)r3(β)u3(b) 2(B)l3(B)r3(Β) Η πράξη w1(b) παραβιάζει τον κανόνα 1. H πράξη l3(b) είναι πριν μία πράξη u2(b), που κακώς απουσιάζει (παραβίαση και των δύο κανόνων). l1(a)r1(a)u1(a)l1(b)w1(b)u1(b)l2(b) r2(b)w2(b)u2(b)l3(b)r3(b)u3(b) Όλα ΟΚ! 31

32 Παράδειγμα με κλειδαριές T1 T2 A B l1(a); Read(A); A A+100;Write(A); u1(a) 125 l1(b);read(b); B B+100; Write(B); u1(b); l2(a);read(a);a A 2; Write(A); u2(a); l2(b);read(b);b B 2; Write(B); u2(b);

33 Πρωτόκολλο κλειδώματος δύο φάσεων Πρωτόκολλο Κλειδώματος Δύο Φάσεων (two phase locking 2PL): Επιπλέον των 2 γενικών κανόνων υπάρχει και 3 ος κανόνας, σύμφωνα με τον οποίο κάθε συναλλαγή αποτελείται από 2 φάσεις: φάση ανάπτυξης (growing phase), όπου η συναλλαγή ζητά τη χορήγηση η κλειδαριών και δεν επιτρέπεται η απελευθέρωση κλειδαριών, φάση συρρίκνωσης (shrinking phase), όπου η συναλλαγή απελευθερώνει κλειδαριές και δεν επιτρέπεται να ζητήσει τη χορήγηση νέων κλειδαριών. 33

34 Παράδειγμα με κλειδαριές και 2PL T1 l1(a);read(a) A A+100;Write(A) l1(b); u1(a) Read(B);B B+100 Write(B); u1(b) T2 l2(a);read(a) A Ax2;Write(A);l2(B) (B) l2(b); u2(a);read(b) B Bx2;Write(B);u2(B); Καθυστέρηση αναμένοντας χορήγηση της κλειδαριάς 34

35 Αδιέξοδα Έστω οι δύο ίδιες συναλλαγές με το προηγούμενο παράδειγμα, αλλα με αντίστροφη σειρά πράξεων στην Τ2. Ένα πιθανό χρονοδιάγραμμα που οδηγεί σε αδιέξοδο είναι το ακόλουθο: T1 l1(a); Read(A) A A+100;Write(A) l 1(B) T2 l2(b);read(b) B Bx2;Write(B) l 2(A) Καθυστέρηση η αναμένοντας χορήγηση της κλειδαριάς 35

36 Ιδιότητες 2PL χρονοδιαγραμμάτων (1) Έστω SH(Ti) ο χρόνος που η συναλλαγή Ti αποδεσμεύει για 1 η φορά μία κλειδαριά. Aν Ti Tj στο χρονοδιάγραμμα S SH(Ti) < S SH(Tj) (j) Απόδειξη: Ti Tj σημαίνει ότι το χρονοδιάγραμμα οδ ρα α S έχει την μορφή: S = pi(a) qj(a) ; p,q συγκρούονται Σύμφωνα με τους κανόνες 12 1,2: S = pi(a) ui(a) lj(a)... qj(a) Σύμφωνα με τον Κανόνα 3: SH(Ti) δεν είναι μετά τον χρόνο της ui(a). Η ui(a) είναιπριν την lj(a), πουείναιπριν πριν τοχρόνοsh(tj) SH(Tj). Άρα, SH(Ti) < S SH(Tj) 36

37 Ιδιότητες 2PL χρονοδιαγραμμάτων (2) Θεώρημα: Τα 2PL χρονοδιαγράμματα είναι σειριοποιήσιμα ως προς τις συγκρούσεις. Απόδειξη: (1) Έστω ότι ο P(S) έχει κύκλο T1 T2. Tn T1 (2) Τότε:SH(T1) < SH(T2) <... < SH(T1) (3) Αυτό είναι αδύνατο, άρα ο P(S) είναι ακυκλικός. (4) S είναι σειριοποιήσιμο ως προς τις συγκρούσεις. 37

38 Περιορισμοί ρ S1: w1(x) w3(x) w2(y) w1(y) Το S1 είναι σειριοποιήσιμο (T2, T1, T3). Αλλά δεν μπορεί να υλοποιηθεί με το 2PL πρωτόκολλο. Τι συμβαίνει με τα χρονοδιαγράμματα: w1(a) w2(a) w1(b) w2(b) w1(a) w2(a) w2(b) w1(b) 38

39 Μηχανισμοί κλειδώματος Ένα σημαντικό πρόβλημα με το μηχανισμό που παρουσιάστηκε πριν είναι ότι δεν μπορούν ταυτόχρονα πολλές συναλλαγές να διαβάζουν μόνο τα ίδια δεδομένα. Αυτό αντιμετωπίζεται με πολλαπλούς τύπους κλειδαριών. Δύο είναι οι βασικοί τύποι κλειδαριών στην πράξη: κλειδαριά ανάγνωσης (read) ή κλειδαριά διαμοιρασμού (shared), που επιτρέπει σε μία συναλλαγή να διαβάσει τα δεδομένα αλλά όχι να τα ενημερώσει ή να τα διαγράψει, κλειδαριά αποθήκευσης (write) ή αποκλειστική κλειδαριά (exclusive), που επιτρέπει σε μία συναλλαγή να διαβάσει ή να ενημερώσει τα δεδομένα. 39

40 Πρακτικοι Μηχανισμοί κλειδώματος Ι Ο μηχανισμός κλειδαριών λειτουργεί ως εξής: μία συναλλαγή που αφορά ανάγνωση δεδομένων, ζητά να της χορηγηθεί μία κλειδαριά ανάγνωσης, αν απαιτείται ενημέρωση δεδομένων, τότε ζητά μία κλειδαριά αποθήκευσης, αν δεν υπάρχει άλλη κλειδαριά για τη συγκεκριμένη σελίδα δεδομένων, τότε η κλειδαριά χορηγείται στη συναλλαγή, αν υπάρχει ήδη άλλη κλειδαριά που έχει χορηγηθεί σε άλλη συναλλαγή, τότε πραγματοποιείται έλεγχος για το αν θα χορηγηθεί η κλειδαριά στη νέα συναλλαγή η όχι. 40

41 Πρακτικοι Μηχανισμοί κλειδώματος ΙΙ αν η σελίδα δεδομένων έχει κλειδωθεί με χρήση κλειδαριάς ανάγνωσης και η νέα συναλλαγή ζητά επίσης κλειδαριά ανάγνωσης, τότε το σύστημα επιτρέπει τη χορήγηση της κλειδαριάς. Σε διαφορετική περίπτωση η νέα συναλλαγή πρέπει να περιμένει μέχρι η προηγούμενη συναλλαγή ολοκληρώσει λ την εργασία με τη σελίδα δεδομένων και απελευθερώσει την κλειδαριά. μία συναλλαγή απελευθερώνει την κλειδαριά όταν η εκτέλεσή της ολοκληρωθεί είτε με επιτυχία είτε με αποτυχία. οι μόνιμες αλλαγές στα δεδομένα είναι ορατές από τις υπόλοιπες συναλλαγές μόνο μετά την απελευθέρωση της κλειδαριάς αποθήκευσης από τη συναλλαγή. 41

42 Πρακτικοι Μηχανισμοί κλειδώματος ΙΙΙ μια συναλλαγή που πρέπει να ενημερώσει κάποια δεδομένα μπορεί να ζητήσει αναβάθμιση (upgrade) της κλειδαριάς από κλειδαριά ανάγνωσης σε κλειδαριά αποθήκευσης. αν η εγγραφή των δεδομένων έχει ολοκληρωθεί αλλά η συναλλαγή δεν έχει ολοκληρώσει την ανάγνωση των δεδομένων,, τότε μπορεί να ζητήσει υποβάθμιση (downgrade) της κλειδαριάς από αποθήκευσης σε ανάγνωσης. 42

43 Μηχανισμοί κλειδώματος Αντιπαράδειγμα 43

44 Πρωτόκολλο κλειδώματος δύο φάσεων 44

45 Πρωτόκολλο κλειδώματος δύο φάσεων 45

46 Αναβάθμιση κλειδαριών (1) Έστω 2 συναλλαγές, με το ακόλουθο χρονοδιάγραμμα: Τ1 L R(A); R(A); L W(B) καθυστέρηση L W(B); R(B); W(B); U(A); U(B); Τ2 L R(A); R(A); L R(B); R(B); U(A); U(B); 46

47 Αναβάθμιση κλειδαριών (2) H T1 μπορεί να εκτελεστεί πιο γρήγορα αν πρώτα ζητήσει κλειδαριά ανάγνωσης στο Β και μετα την αναβαθμίσει: Τ1 L R(A); R(A); L R(B); R(B) L W(B) καθυστέρηση η L W(B); W(B); U(A); U(B); Τ2 L R(A); R(A); L R(B); R(B); U(A); U(B); H L R(Β) αναβαθμίστηκε σε L W(B). 47

48 Δημιουργία αδιεξόδων νέου τύπου Λόγω των αναβαθμίσεων των κλειδαριών: T1 L R1(A) L W1(A) Aδιέξοδο T2 L R2(A) L W2(A) Τέτοια αδιέξοδα αποφεύγονται με χρήση κλειδαριών ενημέρωσης. Όταν χρησιμοποιούνται τέτοιες κλειδαριές, είναι και οι μόνες που αναβαθμίζονται. Αν χορηγηθεί κλειδαριά ενημέρωσης στα δεδομένα δ Α, τότε δεν χορηγείται καμία άλλα κλειδαριά για το Α. 48

49 Πρωτόκολλο κλειδώματος βασισμένο σε γράφο Όταν είναι γνωστή η σειρά προσπελάσεων των δεδομένων από τη συναλλαγή χρησιμοποιείται το πρωτόκολλο κλειδώματος ςβασισμένο σε γράφο. Έστω D={d 1,d 2,,d n } ένα σύνολο n δεδομένων που προσπελαύνονται από τις συναλλαγές είτε για ανάγνωση είτε για αποθήκευση. Ορίζουμε μία μερική διάταξη στο σύνολο D ως εξής: τα δεδομένα d i και d j συνδέονται με τη σχέση αν κάθε συναλλαγή που προσπελαύνει τα d i και d j προσπελαύνει το d i ακριβώς πριν από το d j. Η μερική διάταξη επιτρέπει την αναπαράσταση του συνόλου ως κατευθυνόμενο άκυκλο γράφο (dag). 49

50 Πρωτόκολλο κλειδώματος βασισμένο σε γράφο Ειδική περίπτωση του κατευθυνόμενου άκυκλου γράφου είναι ο δενδρικός γράφος, όπου εφαρμόζεται το δενδρικό πρωτόκολλο (tree protocol) που υποστηρίζει μόνο ενός τύπου κλειδαριές (ισοδύναμες μ ς με τις αποκλειστικές κλειδαριές). 50

51 Δενδρικό πρωτόκολλο Το δενδρικό πρωτόκολλο έχει τους εξής κανόνες: η κάθε συναλλαγή μπορεί να ζητήσει χορήγηση της πρώτης κλειδαριάς σε οποιοδήποτε δεδομένο, μία συναλλαγή μπορεί να ζητήσει τη χορήγηση κλειδαριάς στο δεδομένο d j μόνο αν έχει ήδη κλειδώσει το δεδομένο d i και ισχύει d i d j μία συναλλαγή μπορεί να απελευθερώσει μία κλειδαριά οποιαδήποτε χρονική στιγμή, ένα δεδομένο που έχει κλειδωθεί από μία συναλλαγή και στη συνέχεια η κλειδαριά έχει απελευθερωθεί, δεν επιτρέπεται να κλειδωθεί για δεύτερη φορά από τη ίδια συναλλαγή. 51

52 Δενδρικό πρωτόκολλο Αν διάφορες συναλλαγές κλειδώνουν τα ίδια δεδομένα, τότε εξαιτίας του δενδρικού πρωτοκόλλου, τα κλειδώνουν με την ίδια σειρά. 52

53 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 53

54 Μηχανισμός χρονικών σφραγίδων Ο μηχανισμός χρονικών σφραγίδων δεν χρησιμοποιεί κλειδαριές για την προστασία μίας περιοχής δεδομένων, άρα δεν υπάρχει περίπτωση να δημιουργηθεί αδιέξοδο. Η χρονική σφραγίδα είναι μία μεταβλητή που προσδιορίζει τη χρονική στιγμή της αρχής της εκτέλεσης μίας συναλλαγής. Μία χρονική σφραγίδα παράγεται είτε από το ρολόι του συστήματος είτε ενημερώνοντας την τιμή μίας μεταβλη τής κάθε φορά που δημιουργείται μία νέα συναλλαγή. Η χρονική σφραγίδα της συναλλαγής Σ i συμβολίζεται με TS(Σ i ). 54

55 Μηχανισμός χρονικών σφραγίδων Η προσπέλαση επιτρέπεται μόνο αν η τελευταία ενημέρωση πραγματοποιήθηκε από παλαιότερη συναλλαγή (που θα έχει μικρότερη χρονική σφραγίδα). Αλλιώς πραγματοποιείται τερματισμός και επανεκκίνηση της συναλλαγής με νέα χρονική σφραγίδα. Χρονικές σφραγίδες ορίζονται όχι μόνο για τις συναλλαγές αλλά και για τα δεδομένα: σε κάθε σελίδα δεδομένων αντιστοιχεί μία χρονική σφραγίδα ανάγνωσης και μία χρονική σφραγίδα αποθήκευσης, οι δύο χρονικές σφραγίδες συμβολίζονται με timestamp W και timestamp R αντίστοιχα. 55

56 Μηχανισμός χρονικών σφραγίδων Ητιμήτηςχρονικής της σφραγίδας ανάγνωσης είναι η τιμή της χρονικής σφραγίδας της συναλλαγής που πραγματοποίησε τελευταία ανάγνωση στη σελίδα δεδομένων. Η τιμή της χρονικής σφραγίδας αποθήκευσης είναι η χρονική σφραγίδα της συναλλαγής που πραγματοποίησε τελευταία ενημέρωση στη σελίδα δεδομένων. Κάθε φορά που πραγματοποιείται ανάγνωση ή αποθήκευση της σελίδας δεδομένων δ D, ενημερώνονται οι τιμές timestamp t W(D) και timestamp R(D), αντιστοίχως. 56

57 Πρωτόκολλο διάταξης χρονικών σφραγίδων 57

58 Πρωτόκολλο διάταξης χρονικών σφραγίδων 58

59 Κανόνας αποθήκευσης του Thomas Με τη χρήση της μεθόδου των χρονικών σφραγίδων, αν μία συναλλαγή προσπαθήσει να αλλάξει την τιμή μίας σελίδας δεδομένων, δ η οποία έχει ήδη ενημερωθεί από άλλη συναλλαγή, τότε η εκτέλεση της συναλλαγής διακόπτεται και πραγματοποιείται ROLLBACK. Σύμφωνα με τον κανόνα αποθήκευσης του Thomas αρκεί να αγνοήσουμε τη λειτουργία αποθήκευσης, οπότε: μειώνεται εώ εα το κόστος οςλειτουργίας, και αυξάνεται η απόδοση του συστήματος. 59

60 Κανόνας αποθήκευσης του Thomas 60

61 Κανόνας αποθήκευσης του Thomas Το νέο πρωτόκολλο διαφέρει μόνο ως προς τη διαχείριση των εντολών αποθήκευσης: αν TS(Σ i ) < timestamp W(D), τότε η συναλλαγή προσπαθεί να ενημερώσει μία τιμή που έχει ήδη αλλάξει από άλλη συναλλαγή. Στην περίπτωση αυτή η εντολή αποθήκευσης μπορεί να αγνοηθεί με ασφάλεια. αν TS(Σ i ) < timestamp R(D), τότε η τρέχουσα τιμή του D διαβάσθηκε προηγουμένως από άλλη συναλλαγή. Στην περίπτωση αυτή διακόπτεται η εντολή αποθήκευσης και πραγματοποιείται ROLLBACK. αν δεν ισχύει καμία από τις δύο συνθήκες, τότε η λειτουργία αποθήκευσης μπορεί να ολοκληρωθεί χωρίς πρόβλημα και timestamp W(D) = TS(Σ i ). 61

62 Σύγκριση μηχανισμών μ (1) Το σκεπτικό των μηχανισμών κλειδώματος είναι απαισιόδοξο, καθώς θεωρούν ότι αν δεν επιβληθούν, θα προκύψει μη σειριοποιήσιμο χρονοδιάγραμμα. Αντίθετα, οι μηχανισμοί χρονικών σφραγίδων έχουν αισιόδοξο σκεπτικό, καθώς θεωρούν ότι τα χρονοδιαγράμματα επιλέγονται συνήθως σωστά και χρεάζεται να επέμβουν μόνο όταν αυτό δεν ισχύει. Αν κάτι δεν πάει καλα: Μηχανισμοί κλειδώματος: καθυστερούν συναλλαγές. Μηχανισμοί χρον. σφραγίδων: τερματισμός και επανεκκίνηση 62

63 Πρακτικά: Σύγκριση μηχανισμών μ (2) Όταν λίγες συναλλαγές συγκρούονται: καλύτεροι οι μηχανισμοί χρονικών σφραγίδων. Όταν συχνά συναλλαγές διαβάζουν/αποθηκεύουν τα ίδια δεδομένα δ (δηλ. λ υπάρχουν συγκρούσεις): ) καλύτεροι οι μηχανισμοί κλειδώματος. Υβριδικοί μηχανισμοί μπορούν επίσης να χρησιμοποιηθούν. 63

64 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 64

65 Διαχείριση αδιεξόδου Ένα σύνολο συναλλαγών βρίσκεται σε αδιέξοδο (deadlock), όταν καμία συναλλαγή δεν είναι εφικτό να συνεχίσει την εκτέλεσή της, λόγω αναμονής για την απελευθέρωση κλειδαριών. Το αδιέξοδο αποτελεί παθολογική κατάσταση και πρέπει να αποφεύγεται. 65

66 Διαχείριση αδιεξόδου Η διαχείριση του αδιεξόδου πραγματοποιείται γενικά με δύο μεθόδους: αποφυγή αδιεξόδου (deadlock dl prevention), όπου το σύστημα ελέγχει την πιθανότητα να συμβεί αδιέξοδο και προσπαθεί να το αποφύγει (προτείνεται ί όταν συμβαίνουν πολλά αδιέξοδα), αναγνώριση αδιεξόδου και επανάκτηση (deadlock dl detection and recovery) όπου το σύστημα είναι σε θέση να αναγνωρίσει ένα αδιέξοδο και προβαίνει σε ενέργειες για την κατάργησή του (προτείνεται όταν δεν συμβαίνουν πολλά αδιέξοδα). 66

67 Αναγνώριση και κατάργηση η αδιεξόδου Η αναγνώριση αδιεξόδου σε ένα σύνολο συναλλαγών διαπιστώνεται με τη βοήθεια ενός κατευθυνόμενου γράφου που καλείται γράφος αναμονής (wait graph) Ο γράφος αυτός αποτελείται από ένα σύνολο κορυφών V και ένα σύνολο ακμών E. Για κάθε συναλλαγή υπάρχει και μία αντίστοιχη κορυφή στο γράφο. Αν υπάρχει ακμή από την κορυφή Σ i προς την κορυφή Σ j, τότε αυτό όδηλώνει ότι η συναλλαγή Σ i αναμένει μέχρι η συναλλαγή Σ j να απελευθερώσει την κλειδαριά σε ένα τμήμα δεδομένων δ που πρέπει να προσπελάσει η Σ i. 67

68 Αναγνώριση και κατάργηση η αδιεξόδου Αν στο γράφο αναμονής δεν υπάρχει κύκλος, τότε δεν υπάρχει αδιέξοδο. Αντίθετα, η ύπαρξη έστω και ενός κύκλου σημαίνει ότι ένα υποσύνολο των συναλλαγών βρίσκεται σε αδιέξοδο. Αν συμβαίνουν συχνά αδιέξοδα πρέπει να είναι συχνός και ο έλεγχος του γράφου αναμονής. Το ΣΔΒΔ μπορεί να διατηρεί στατιστικά στοιχεία για τον αριθμό των αδιεξόδων και τη συχνότητα εμφάνισής τους και ανάλογα να προσδιορίζεται και η συχνότητα του ελέγχου για αδιέξοδο. 68

69 Αναγνώριση και κατάργηση η αδιεξόδου 69

70 Κατάργηση η αδιεξόδου Η συχνότερα χρησιμοποιούμενη μέθοδος για την κατάργηση του αδιέξοδου είναι ο τερματισμός μίας η περισσοτέρων συναλλαγών και η επαναφορά των δεδομένων στην κατάσταση που βρισκόταν πριν από την εκτέλεση των συναλλαγών αυτών (ROLLBACK). 70

71 Κατάργηση η αδιεξόδου Η μέθοδος ROLLABACK εκτελείται ως εξής: Βήμα 1. Επιλογή συναλλαγών για ROLLABACK. H επιλογή των συναλλαγών πραγματοποιείται με βάση το ελάχιστο κόστος. Σύμφωνα με τους εξής παράγοντες: ο μέχρι στιγμής χρόνος εκτέλεσης της συναλλαγής και ο υπολειπόμενος χρόνος για την ολοκλήρωση της συναλλαγής, ο αριθμός των δεδομένων που έχουν ενημερωθεί από τη συναλλαγή, ο αριθμός των δεδομένων που πρέπει να προσπελασθούν από τη συναλλαγή, Ο αριθμός των συναλλαγών όπου θα εφαρμοσθεί η λειτουργία ROLLBACK. 71

72 Κατάργηση η αδιεξόδου Βήμα 2. Επιλογή σημείου ROLLBACK. η απλούστερη λύση είναι να γίνει επαναφορά της συναλλαγής στην αρχή, καταργώντας όλες τις αλλαγές που έχει επιφέρει στα δεδομένα, η λύση αυτή έχει μεγάλο κόστος, δό διότι η συναλλαγή μπορεί να έχει ενημερώσει ένα μεγάλο αριθμό δεδομένων, συνήθως, το αδιέξοδο δέξ δ καταργείται εφαρμόζοντας ROLLBACK στις τελευταίες εντολές της συναλλαγής. 72

73 Κατάργηση η αδιεξόδου Βήμα 3. Αποφυγή ατέρμονης αναμονής. η ατέρμονη αναμονή (starvation) είναι ένα φαινόμενο που μπορεί να εμφανισθεί αν επιλέγεται συνεχώς η ίδια συναλλαγή για την εφαρμογή του ROLLBACK, αυτό σημαίνει ότι συνεχώς η ίδια συναλλαγή εμποδίζεται να ολοκληρώσει την εκτέλεσή της, το ΣΔΒΔ μπορεί να αποτρέψει την επιλογή της ίδιας συναλλαγής περισσότερο από έναν αριθμό επιλογών, δίνοντας έτσι την ευκαιρία στη συναλλαγή να ολοκληρώσει την επεξεργασία της. 73

74 Αποφυγή αδιεξόδου βάσει χρονικού διαστήματος Μία μέθοδος αποφυγής του αδιεξόδου είναι ο ορισμός ενός μέγιστου χρονικού διαστήματος για την αναμονή χορήγησης μίας κλειδαριάς. Αν εξαντληθεί το χρονικό διάστημα και η κλειδαριά δεν έχει ακόμη χορηγηθεί στη συναλλαγή, το σύστημα τερματίζει τη διαδικασία και την επαναδημιουργεί. Η μέθοδος αυτή αποφυγής αδιεξόδου χρησιμοποιείται από πολλά ΣΔΒΔ λόγω της απλότητάς της. Η επιλογή κατάλληλου χρονικού διαστήματος δεν είναι πάντα προφανής. 74

75 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Α τρόπος: wait die atde T1 (ts =10) Η Τ3 ζητάει κλειδαριά που έχει η Τ1. Η Τ3 τερματίζεται T3 (ts =25) Η Τ1 ζητάει κλειδαριά που έχει η Τ2. ΗΤ1 περιμένει. T2 (ts =20) Η Τ2 ζητάει κλειδαριά που έχει η Τ3. Η Τ2 περιμένει. 75

76 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Β τρόπος: wound wait at T1 Η Τ1 ζητάει κλειδαριά που έχει η Τ2. Η Τ1 περιμένει. (ts =25) Η Τ3 ζητάει κλειδαριά που έχει η Τ1. Η Τ1 τερματίζεται T3 (ts =10) T2 (ts =20) Η Τ2 ζητάει κλειδαριά που έχει η Τ3. Η Τ2 περιμένει. ρμ 76

77 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Μια άλλη μέθοδος είναι αυτή των χρονικών σφραγίδων (timestamps) και προτείνονται δύο αλγόριθμοι: Wait Die, που επιτρέπει σε μία παλαιότερη συναλλαγή (μικρή χρονική σφραγίδα) να περιμένει την απελευθέρωση μίας κλειδαριάς από μία νεότερη (μεγαλύτερη χρονική σφραγίδα). Διαφορετικά, η συναλλαγή που ζητάει την κλειδαριά τερματίζεται και το σύστημα την επανεκκινεί. Wound Wait, όπου επιτρέπεται σε μία νεότερη συναλλαγή να περιμένει την εκτέλεση μίας παλαιότερης. Αν η παλαιότερη συναλλαγή ζητά τη χορήγηση μίας κλειδαριάς που είναι δεσμευμένη από μία νεότερη συναλλαγή,τότε η νεότερη συναλλαγή τερματίζεται. Οι χρονικές σφραγίδες για αποφυγή αδιεξόδου δεν είναι οι ίδιες με αυτές που χρησιμοποιούνται για τον έλεγχο ταυτοχρονισμού. Μια σημαντική διαφορά είναι ότι οι χρονικές σφραγίδες για αποφυγή αδιεξόδου δεν ενημερώνονται όταν η συναλλαγή επανεκκινείται. 77

78 Ορθότητα τεχνικής με χρονικές σφραγίδες Δεν πρέπει να υπάρχει κύκλος στον αντίστοιχο γράφο αναμονής. Στην τεχνική wait die die, μία συναλλαγή περιμένει μόνο για απελευθέρωση κλειδαριών από νεότερες ερες συναλλαγές όχι κύκλος. Στην τεχνική wound wait, μία συναλλαγή περιμένει μόνο για απελευθέρωση κλειδαριών από παλαιότερες συναλλαγές όχι κύκλος. 78

79 Ατέρμονη αναμονή Και στις δύο τεχνικές (wait die, wound wait), wait), οι παλαιότερες συναλλαγές προκαλούν τερματισμό των νεότερων. Οι συναλλαγές δεν αλλαζούν χρονική σφραγίδα. Η παλαιότερη συναλλαγή ποτέ δεν τερματίζεται από το σύστημα. Μία συναλλαγή που τερματίζεται από το σύστημα, σε κάποια στιγμή θα γίνει η συναλλαγή με την πιο μικρή χρονική σφραγίδα άρα θα εκτελεστεί. 79

80 Σύγκριση τεχνικών και μεθόδων Οι τερματισμοί είναι πιο συχνοί στην τεχνική wait die παρά στην τεχνική wound wait. Επειδή στην wound wait είναι πιο σπάνιο μία νεότερη συναλλαγή να έχει προλάβει να δεσμεύσει κλειδαριά που χρειάζεται και μία παλαιότερη συναλλαγή. Όμως, οι πράξεις που έχει προλάβει να κάνει μία συναλλαγή που τερματίζεται (και χάνονται) λόγω της wait die είναι πολύ λιγότερες από αυτές που χάνονται λόγω της wound die Επειδή η συναλλαγή που τερματίζεται λόγω της wait die είναι ακόμη στη φάση δέσμευσης κλειδαριών. Οι μεθοδολογίες με χρονικές σφραγίδες είναι απλούστερες από αυτές με γράφους αναμονής. Αλλά, οι μεθοδολογίες με χρονικές σφραγίδες τερματίζουν συναλλαγές ακόμη κι αν δεν υπάρχει σίγουρα αδιέξοδο. 80

Έλεγχος Ταυτοχρονισμού

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book Κεφάλαια 18.1 18.3

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για

Διαβάστε περισσότερα

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό)

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό) Επανάκτηση δεδομένων (εμπλουτισμένο υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2 Επανάκτηση ηδεδομένων

Διαβάστε περισσότερα

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Βασικές έννοιες της δοσοληψίας Δοσοληψία είναι μία

Διαβάστε περισσότερα

Χρονοδιάγραμμα/Χρονοπρόγραμμα

Χρονοδιάγραμμα/Χρονοπρόγραμμα Χρονοδιάγραμμα/Χρονοπρόγραμμα Χρονοδιάγραμμα ή Χρονοπρόγραμμα (Schedule) είναι μια σειρά/ακολουθία ενεργειών που πραγματοποιούνται από μια ή περισσότερες δοσοληψίες. Σημαντικές ενέργειες: ανάγνωση, εγγραφή

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Δοσοληψιών (Transaction Processing) (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Τζικούλης Βασίλειος Credits:Γιάννης Μακρυδάκης Συναλλαγές Η ταυτόχρονες συναλλαγές (δοσοληψίες, transactions) µε µια

Διαβάστε περισσότερα

Έλεγχος Ταυτοχρονισμού

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ Ενότητα 1

Βάσεις Δεδομένων ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 1: Επεξεργασία Δοσοληψιών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών Βάσεις Δεδομένων ΙΙ Διάλεξη 1 η Επεξεργασία Δοσοληψιών Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Ορισμός Προβλήματος Σύστημα Επεξεργασίας Δοσοληψιών Συστήματα

Διαβάστε περισσότερα

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Έλεγχος συγχρονικότητας Διάφορες

Διαβάστε περισσότερα

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction) Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις

Διαβάστε περισσότερα

Έλεγχος Συγχρονικότητας. (Concurrency Control)

Έλεγχος Συγχρονικότητας. (Concurrency Control) Έλεγχος Συγχρονικότητας (Concurrency Control) Συγχρονικότητα δοσοληψιών Οι αλληλεπιδράσεις ανάμεσα σε πολλαπλές δοσοληψίες που εκτελούνται ταυτόχρονα (multiple transactions execute concurrently) μπορεί

Διαβάστε περισσότερα

Επαναληπτικές ασκήσεις

Επαναληπτικές ασκήσεις Επαναληπτικές ασκήσεις Ασκ 1: Θεωρείστε τα παρακάτω χρονοδιαγράμματα σύγχρονης εκτέλεσης : S 1 = r 1 (A); w 4 (B); w 1 (C); w 3 (D); r 2 (C); w 3 (A); w 1 (A); r 3 (B); w 3 (B); r 2 (D); w 2 (A) S 2 =

Διαβάστε περισσότερα

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος 2008-09

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος 2008-09 Βάσεις Δεδομένων 2 Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας Ημερ: 05/5/2009 Ακ.Έτος 2008-09 Θεωρία-Επανάληψη Δοσοληψία-ορισμός Το πρόβλημα της απώλειας των ενημερώσεων Το πρόβλημα της προσωρινής

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόµου Έλεγχος συνδροµικότητας (παρουσίαση βασισµένη εν µέρη σε σηµειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos) Γενική Επισκόπηση

Διαβάστε περισσότερα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΑ και ΔΥΝΑΤΟΤΗΤΑ ΑΝΑΚΑΜΨΗΣ Όταν οι δοσοληψίες

Διαβάστε περισσότερα

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη;

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη; Θεµατολόγιο Κλειδώµατα 2 Phase Locking Πώς γίνεται στην πράξη; Αδιέξοδα 1 Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη; Η σειριοποιησιµότητα όψεων είναι πολύ ακριβή για να ελεγχθεί, ούτως ή άλλως... Οι

Διαβάστε περισσότερα

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4) ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ Σε αυτό το κεφάλαιο θα ασχοληθούµε µε βασικές έννοιες που αφορούν τη διαχείριση των συναλλαγών και ειδικότερα τον έλεγχο ταυτοχρονισµού. Ασχολούµαστε πρωταρχικά

Διαβάστε περισσότερα

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 1 2 3 T read(a) A -= 30 write(a) read(b)

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Δοσοληψίες. Κατανεμημένα Συστήματα

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν

Διαβάστε περισσότερα

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Πρωτόκολλα βασισμένα σε γράφο

Διαβάστε περισσότερα

Δοσοληψίες. Κατανεμημένα Συστήματα

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες Βάσεις εδοµένων II 2003-2004 Ευαγγελία

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες (Transactions) Μέχρι στιγμής θεωρούσαμε πως υπάρχει μόνο ένας DB χρήστης που εκτελεί μία

Διαβάστε περισσότερα

Διαχείριση Δοσοληψιών

Διαχείριση Δοσοληψιών Διαχείριση Δοσοληψιών Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης Βασική πηγή διαφανειών: Silberschatz

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών (συνέχεια)

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Εισαγωγή Μοντέλο συστήματος Χαρακτηρισμός και ορισμός κατάστασης αδιεξόδου Μέθοδοι χειρισμού αδιεξόδων Αποτροπή αδιεξόδου (Deadlock Prevention) Αποφυγή

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων προσπέλασης µίας βδ, στην περίπτωση: ταυτοχρονισµού αποτυχιών 1 2 Επανάληψη: οσοληψίες Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη

Διαβάστε περισσότερα

Προχωρημένα Θέματα Βάσεων Δεδομένων

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων 1ο Σετ Ασκήσεων ΕΡΩΤΗΜΑ 1 Ατομικότητα : Η ατομικότητα πρακτικά εξασφαλίζει ότι είτε όλες οι πράξεις μιας δοσοληψίας θα εκτελεστούν ή καμμιά από αυτές δεν θα εκτελεστεί.

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Το Πρόβλημα του Αδιεξόδου Ένα σύνολο από διεργασίες σε αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους και περιμένει να αποκτήσει και έναν

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάλεξη 9η: Transactions - part 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Transaction Management Comparison of Undo

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν

Διαβάστε περισσότερα

Πλειάδες φαντάσματα (phantoms)

Πλειάδες φαντάσματα (phantoms) Πλειάδες φαντάσματα (phantoms) Τα phantoms είναι πλειάδες που θα έπρεπε να έχουν φραγή αλλά δεν έχουν, γιατί δεν υπήρχαν όταν αποκτήθηκε το lock Παράδειγμα: σχέση R (E#, name, ) constraint: E# is key χρήση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Επαναφορά του Συστήματος (Μέρος Α')

Επαναφορά του Συστήματος (Μέρος Α') Επαναφορά του Συστήματος (Μέρος Α') Κεφάλαιο 18 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Επανάληψη: Οι ιδιότητες ACID A tomicity (Ατομικότητα):

Διαβάστε περισσότερα

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace)

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace) Παράδειγμα 1 Ένα σύστημα με έναν εκτυπωτή και ένα σαρωτή εγγράφων Δύο διεργασίες Ρ1 και Ρ2 Η Ρ1 δεσμεύει τον εκτυπωτή Η Ρ2 δεσμεύει το σαρωτή Η Ρ1 ζητά το σαρωτή και εμποδίζεται Η Ρ2 ζητά τον εκτυπωτή

Διαβάστε περισσότερα

Κεφάλαιο 13 Δοσοληψίες

Κεφάλαιο 13 Δοσοληψίες Κεφάλαιο 13 Δοσοληψίες Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις δοσοληψίες, την έννοια της σειριοποιησιμότητας και των διαφόρων επιπέδων απομόνωσης. Προαπαιτούμενη γνώση

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

Σηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά. http://isl.cs.unipi.

Σηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά. http://isl.cs.unipi. Σηµειώσεις Βάσεων εδοµένων ιαχείριση οσοληψιών Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/ version: 2006-11-28 Περιεχόµενα Ορισµός της δοσοληψίας Καταστάσεις

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας Βάσεις Δεδομένων ΙΙ Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Τεχνικές Ελέγχου Συνδρομικότητας Ο χρήστης δεν ασχολείται

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης 01 Εκφώνηση Θεωρείστε το παρακάτω B+tree (κάθε κόμβος ευρετηρίου χωρά 4 καταχωρίσεις ευρετηρίου και κάθε κόμβος φύλλο χωρά 4 καταχωρίσεις δεδομένων): (Α)

Διαβάστε περισσότερα

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

ΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΑΔΙΕΞΟΔΑ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΑΔΙΕΞΟΔΑ 2 ΠΟΡΟΙ Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήματα: Προεκτοπίσιμοι πόροι

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων 1 ΗΥ360 Αρχεία και Βάσεις εδοµένων ιαχείριση Συναλλαγών II - Tree Protocols Αυγουστάκη Αργυρώ 2 Διαχείριση Συναλλαγών - Επανάληψη Συναλλαγή (Τ) είναι ένα σύνολο από ενέργειες σε κάποιο αντικείμενο της

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ #1 Τ. Σελλής

Διαβάστε περισσότερα

Προχωρημένα Θέματα Βάσεων Δεδομένων

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων Δοσοληψίες & Ταυτοχρονισμός Διδάσκων: Νεκτάριος Κοζύρης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ε.Μ.Π. Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 1 Περιγραφή των Δεδομένων: Τα μοντέλα ενός ΣΔΒΔ Ένα μοντέλο δεδομένων είναι μια συλλογή από έννοιες που χρησιμοποιούνται για την περιγραφή δεδομένων

Διαβάστε περισσότερα

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

Διαβάστε περισσότερα

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Μ.Στεφανιδάκης Κοινοί πόροι Κοινοί (διαμοιραζόμενοι) πόροι με μία η περισσότερες μονάδες

Διαβάστε περισσότερα

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

Γιατί υϖάρχει τέτοια καθολική κατάσταση; ΥΛΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΤΩΝ ΑΝΑΓΝΩΣΗΣ/ΕΓΓΡΑΦΗΣ Καταχωρητές που µοιάζουν πιο πολύπλοκοι µπορούν να υλοποιηθούν από απλούστερους καταχωρητές. Multi-valued from Binary Βασικό Αντικείµενο: δυαδικός καταχωρητής ο

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

Κατανεµηµένες Συναλλαγές Ασφαλείας Πολλών Επιπέδων

Κατανεµηµένες Συναλλαγές Ασφαλείας Πολλών Επιπέδων Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής Πτυχιακή Εργασία Κατανεµηµένες Συναλλαγές Ασφαλείας Πολλών Επιπέδων Πολυµέρου Γεώργιος Επιβλέπων Λέκτορας Παναγιώτης Κατσαρός

Διαβάστε περισσότερα

Τεχνικές Ελέγχου Συνδροµικότητας

Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Ο χρήστης δεν ασχολείται µε τη συνδροµικότητα Το Σ Β εξασφαλίζει «σωστή συνδροµικότητα», γενικά δροµολογεί τις πράξεις των δοσοληψιών ώστε

Διαβάστε περισσότερα

Transactions Management. (Διαχείριση Δοσοληψιών)

Transactions Management. (Διαχείριση Δοσοληψιών) Transactions Management (Διαχείριση Δοσοληψιών) Επισκόπηση διαλέξεων Αντιμετώπιση αστοχιών συστήματος (failure recovery) Χρήση ιστορικού/πρακτικού - Logging (Undo, Redo, Undo/Redo) Χρονοπρογράμματα Δοσοληψιών

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών (συνέχεια)

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 10: Transactions - part 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on 2-Phase Locking and Other

Διαβάστε περισσότερα

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Σφάλματα Κατάρρευσης Τι θα δούμε σήμερα Αλγόριθμος SWMR (ΜΕΠΑ) Ατομικής ΚΚΜ στην παρουσία σφαλμάτων

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Λειτουργικά Συστήματα Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

Διαβάστε περισσότερα

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne,

Διαβάστε περισσότερα

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

Διαβάστε περισσότερα

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

Διαβάστε περισσότερα

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε

Διαβάστε περισσότερα

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα