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

Σχετικά έγγραφα
Επεξεργασία οσοληψιών

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

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

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

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

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

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

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

Σημεία ελέγχου (Checkpoints)

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αποκατάσταση συστήματος Βάσεις Δεδομένων

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

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

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

Ειδικά Θζματα Βάςεων Δεδομζνων

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

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

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

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

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

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

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

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

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

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

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Επεξεργασία Ερωτήσεων

10 η Διάλεξη Python Βάσεις δεδομένων στη python

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Υ- 07 Παράλληλα Συστήματα Transac9onal memory

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

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 8. Transaction Management Overview

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

ΘΕΜΑ 1 ο. S <-- 0 ιάβασε Υ Όσο α <= Υ επανάλαβε S <-- S +α. Τέλος_επανάληψης

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

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

Λιβανός Γιώργος Εξάμηνο 2017Β

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

8 FORTRAN 77/90/95/2003

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΟΣ 1ΗΣ ΣΕΛΙΔΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Δομή Ηλεκτρονικού υπολογιστή

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΤΕΛΟΣ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Transcript:

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

Διαπεπλεγμένη Επεξεργασία Διαπεπλεγμένη (interleaved) Επεξεργασία Συνδρομική εκτέλεση προγραμμάτων Όταν μια εκτελούμενη διαδικασία απαιτεί πράξεις εισόδου/εξόδου μετάγεται στην εκτέλεση κάποιου άλλου προγράμματος Απαραίτητο όταν υπάρχει μία μόνο ΚΜΕ Α Β Α Β χρόνος Παράλληλη Επεξεργασία Παράλληλη Διαδικασία Όταν υπάρχουν πολλές ΚΜΕ Πολλές διαδικασίες εκτελούνται ταυτόχρονα Α Β χρόνος 2

Δοσοληψία (transaction) Δοσοληψία (transaction) ΜιαλογικήμονάδαεπεξεργασίαςτηςΒΔ Περιλαμβάνει μία ή περισσότερες πράξεις προσπέλασης στη ΒΔ Εισαγωγή, διαγραφή, τροποποίηση ή ανάκτηση Όρια δοσοληψίας begin transaction, end transaction Δοσοληψία ανάγνωσης μόνο (read-only transaction) Μόνο ανακτούνται δεδομένα, δεν ενημερώνουν τη ΒΔ Δοσοληψία (transaction) Το ΣΔΒΔ ενδιαφέρεται μόνο για τα δεδομένα που γράφονται ή διαβάζονται στη ΒΔ Πράξεις: Ανάγνωση(Χ) R(X) Διαβάζει ένα στοιχείο της ΒΔ με όνομα Χ και το αποθηκεύει στη μεταβλητή του προγράμματος Χ Εγγραφή(Χ) W(X) Καταχωρεί την τιμή της μεταβλητής Χ του προγράμματος στο στοιχείο της ΒΔ με όνομα Χ 3

Παράδειγμα Θεωρούμε δύο δοσοληψίες R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) R(X) X=X+M W(X) Χ, Υ κρατήσεις για τις πτήσεις Χ και Υ μεταφέρει Ν κρατήσεις θέσεων από την πτήση Χ στη Y. κρατά Μ θέσεις στη πτήση Χ Παράδειγμα Αν οι δύο δοσοληψίες υποβληθούν ταυτόχρονα Δεν γνωρίζουμε αν η Τ1 θα εκτελεστεί πριν την Τ2 ήτοανάποδο Το αποτέλεσμα πρέπει να είναι ισοδύναμο ανεξάρτητα από τη σειρά εκτέλεσης των δοσοληψιών. 4

Παράδειγμα Σειριακή Εκτέλεση Τ1 Τ2 R(X) read 100 X=Χ-N X = 70 W(X) write X = 70 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Νέες κρατήσεις Μ = 5 R(X) read 70 X=X+M X = 75 W(X) write X = 75 Παράδειγμα Σειριακή Εκτέλεση Τ2 Τ1 R(X) read 100 X=X+M X = 105 W(X) write X = 105 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Νέες κρατήσεις Μ = 5 R(X) read 105 X=Χ-N X = 75 W(X) write X = 75 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 5

Παράδειγμα Απώλεια Ενημερώσεων R(X) read 100 X=Χ-N X = 70 W(X) write X = 70 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 R(X) read 100 X=X+M X = 105 W(X) write X = 105 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Νέες κρατήσεις Μ = 5 ΗτιμήτουΧείναιλάθος Παράδειγμα Προσωρινή Ενημέρωση R(X) read 100 X=Χ-N X = 70 W(X) write X = 70 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Νέες κρατήσεις Μ = 5 Ασταθής Ανάγνωση (Dirty Read) R(X) read 70 X=X+M X = 75 W(X) write X = 75 Τι θα συμβεί αν η Τ1 αποτύχει? ΗΤ2 θα έχει διαβάσει ανύπαρκτη τιμή 6

Παράδειγμα Λανθασμένη Συνάθροιση T4 R(X) read 100 X=Χ-N X = 70 W(X) write X = 70 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 Τ=0 Τ=0 R(X) read 70 T=T+X T=70 R(Y) read 90 T=T+Y T=160 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Άθροισμα Τ To συναθροιστικό αποτελέσμα Τείναιλάθος (μικρότερο κατά Ν) Παράδειγμα Μη Επαναλήψιμη Ανάγνωση T4 R(X) read 100 R(Χ) read 105... R(X) read 100 X=X+M X = 105 W(X) write X = 105 X = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά κρατήσεων Ν = 30 Άθροισμα Τ Διαβάζει δύο διαφορετικές τιμές για το ίδιο στοιχείο 7

Πράξεις Δοσοληψιών R(X) W(X) COMMIT (επικύρωση) επιτυχία - όλες οι τροποποιήσεις επικυρώνονται και δεν μπορούν να αναιρεθούν ABORT (ακύρωσηήανάκληση) αποτυχία - όλες οι τροποποιήσεις πρέπει να αναιρεθούν Πράξεις Δοσοληψιών Μια δοσοληψία μπορεί να επικυρωθεί (commit) αφού ολοκληρώσει όλες τις πράξεις της ακυρωθεί (abort) αφού εκτελέσει κάποιες από τις πράξεις της Το ΣΔΒΔ logs όλες τις πράξεις μπορεί να αναιρέσει (undo) τις πράξεις μιας ακυρωμένης (aborted) δοσοληψίας. 8

Διάγραμμα Μετάπτωσης Καταστάσεων R / W COMMIT RUNNING ABORT ABORT Επιθυμητές Ιδιότητες των Δοσοληψιών Αtomicity (Ατομικότητα) είτε όλες οι πράξεις είτε καμία Consistency (Συνέπεια) διατήρηση συνέπειας της ΒΔ Isolation (Απομόνωση) δεν εμπλέκεται με άλλη δοσοληψία που εκτελείται ταυτόχρονα Durability (Μονιμότητα ή διάρκεια) μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν 9

Επιθυμητές Ιδιότητες των Δοσοληψιών Αtomicity (Ατομικότητα) Απαιτεί την εκτέλεση της δοσοληψίας μέχρι να ολοκληρωθεί Τεχνικές Ανάκαμψης αναιρούν σε περίπτωση αποτυχίας κάθε επιδρασή της Consistency (Συνέπεια) Υπευθυνότητα του προγραμματιστή Διατήρηση συνέπειας της ΒΔ Isolation (Απομόνωση) Έλεγχος Συνδρομικότητας Οι ενημερώσεις δεν καθίστανται ορατές σε άλλες δοσοληψίες πριν την επικύρωσή της Durability (Μονιμότητα ή διάρκεια) Τεχνικές Ανάκαμψης Χρονοπρογράμματα Δοσοληψία ακολουθία από πράξεις εγγραφής και ανάγνωσης που τελειώνει με μια πράξη επικύρωσης (commit) ήμεμιαπράξηακύρωσης(abort) Χρονοπρόγραμμα (ή χρονικό δοσοληψιών) Διάταξη εκτέλεσης των πράξεων των διαφόρων δοσοληψιών όταν εκτελούνται συνδρομικά με διαπεπλεγμένο τρόπο 10

Χρονοπρόγραμμα Χρονοπρόγραμμα (schedule) S των δοσοληψιών,,.., Tn είναι μια διάταξη των πράξεων τους με τον περιορισμό ότι για κάθε δοσοληψία Ti που συμμετέχει στο S οι πράξεις της Ti στο S πρέπει να εμφανίζονται με την ίδια σειρά που εμφανίζονται στην Ti Ωστόσο πράξεις από άλλες δοσοληψίες Τj είναι δυνατόν να διαπλέκονται με τις πράξεις της Τi Χρονοπρόγραμμα Χρησιμοποιούμε δείκτη στις πράξεις που να δείχνει σε ποια δοσοληψία αναφέρoνται R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Χρονοπρόγραμμα S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 11

Χρονοπρόγραμμα Υπάρχουν τόσα διαφορετικά χρονοπρογράμματα όσες και πιθανές εκτελέσεις R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Χρονοπρόγραμμα S: R1(X) R2(X) W1(X) R1(Y) W2(X) C2 W1(Y) C1 Χρονοπρόγραμμα Υπάρχουν τόσα διαφορετικά χρονοπρογράμματα όσες και πιθανές εκτελέσεις R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) Α 1 R 2 (X) W 2 (X) C 2 Πράξη ακύρωσης (abort) Χρονοπρόγραμμα S: R1(X) R2(X) W1(X) R1(Y) W2(X) C2 W1(Y) A1 12

Πράξεις σε Αντίθεση Δύο πράξεις σ ενα χρονοπρόγραμμα είναι σε αντίθεση όταν ικανοποιούν και τις τρεις παρακάτω συνθήκες: Ανήκουν σε διαφορετικές δοσοληψίες Προσπελαύνουν το ίδιο στοιχείο Χ Τουλάχιστον μια από τις δύο πράξεις είναι η εγγραφή στοιχείου Χ Πράξεις σε Αντίθεση Σημασία έχει η σχετική θέση (διάταξη) των πράξεων που συγκρούονται σημασία έχει ησχετικήθέση(διάταξη) των πράξεων που S1: R συγκρούονται 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Τα S1 και S2 ισοδύναμα (διαφέρουν μόνο στη διάταξη πράξεων που δε συγκρούονται) μερική διάταξη 13

Πλήρες Χρονοπρόγραμμα Ένα χρονοπρόγραμμα (schedule) S δοσοληψιών,,.., Tn λέγεται πλήρες όταν ισχύουν οι παρακάτω συνθήκες: οι πράξεις του S είναι ακριβώς οι πράξεις των,,.., Tn συμπεριλαμβανομένης μιας πράξης ακύρωσης ή επικύρωσης ως τελευταίας πράξης σε κάθε δοσοληψία στο χρονοπρόγραμμα για κάθε δοσοληψία Ti που συμμετέχει στο S οι πράξεις της Ti στο S πρέπει να εμφανίζονται με την ίδια σειρά που εμφανίζονται στην Ti Για κάθε ζεύγος συγκρουόμενων πράξεων, μια από τις δύο πρέπει να προηγείται της άλλης στο χρονοπρόγραμμα Επικυρωμένη Προβολή Σε ένα σύστημα υποβάλλονται συνεχώς νέες δοσοληψίες Δύσκολο να διαμορφωθούν πλήρη χρονοπρογράμματα Επικυρωμένη προβολή C(S) Ενός χρονοπρογράμματος S η οποία περιλαμβάνει μόνο τις πράξεις στο S που ανήκουν σε επικυρωμένες δοσοληψίες Δηλ. τις δοσοληψίες Τi για τις οποίες η πράξη επικύρωσης Ci ανήκει στο S 14

Χρονοπρογράμματα με δυνατότητα ανάκαμψης Ένα χρονοπρόγραμμα S έχει δυνατότητα ανάκαμψης Αν καμία δοσοληψία T στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες Τ οι οποίες τροποποίησαν ένα δεδομένο που διαβάζει η S S1: R 1 (X) W 1 (X) R 2 (X) R 1 (Y) W 2 (X) C 2 A 1 Αποφυγή διάδοσης ανακλήσεων Μιαμηεπικυρωμένηδοσοληψίαπρέπεινα ανακληθεί γιατί διάβασε κάποιο στοιχείο απο μια δοσοληψία που απέτυχε. S1: R 1 (X) W 1 (X) R 2 (X) R 1 (Y) W 2 (X) W1(Υ) A 1 Α2 Μια δοσοληψία αποφεύγει τη διάδοση ανακλήσεων αν διαβάζει στοιχεία μόνο από επικυρωμένες δοσοληψίες 15

Αυστηρό χρονοπρόγραμμα Οι δοσοληψίες δεν μπορούν ούτε να διαβάζουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία η τελευταία δοσοληψία που έγραψε το Χ Σειριακά χρονοπρογράμματα Σειριακά Χρονοπρογράμματα: χρονοπρογράμματα που δεν διαπλέκουν πράξεις διαφορετικών δοσοληψιών (οι πράξεις κάθε δοσοληψίας εκτελούνται διαδοχικά, χωρίς παρεμβολή πράξεων από άλλη δοσοληψία) S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 16

Ισοδύναμα Χρονοπρογράμματα Ισοδύναμα Χρονοπρογράμματα: Για κάθε κατάσταση της ΒΔ, το αποτέλεσμα της εκτέλεσης του πρώτου χρονοπρογράμματος είναι το ίδιο με το αποτέλεσμα του δεύτερου χρονοπρογράμματος Ένα χρονοπρόγραμμα ισοδύναμο με ένα σειριακό είναι σωστό Σηρειοποιήσιμο Χρονοπρόγραμμα Σειριοποιήσιμο Χρονοπρόγραμμα: Ένα χρονοπρόγραμμα που είναι ισοδύναμο με κάποιο σειριακό Για n δοσοληψίες υπάρχουν n! πιθανά σειριακά χρονοπρογράμματα Πότε δύο χρονοπρογράμματα είναι ισοδύναμα; 17

Ισοδύναμα Χρονοπρογράμματα Ισοδύναμα Χρονοπρογράμματα: Για κάθε κατάσταση της ΒΔ, το αποτέλεσμα της εκτέλεσης του πρώτου χρονοπρογράμματος είναι το ίδιο με το αποτέλεσμα του δεύτερου χρονοπρογράμματος Ισοδύναμα Χρονοπρογράμματα R(X) X=X+10 W(X) S1 R(X) X=X*1.1 W(X) S2 Ισοδύναμα για αρχική τιμή Χ=100 Για άλλες τιμές του Χ δεν είναι ισοδύναμα Η ισοδυναμία αποτελέσματος δεν χρησιμοποιείται για τον ορισμό ισοδυναμίας χρονοπρογραμμάτων 18

Ισοδυναμία Χρονοπρογραμμάτων Ισοδυναμία αντιθέσεων πιο περιοριστική αλλά υπάρχει αποδοτικός τρόπος να ελεγχθεί Ισοδυναμία όψεων πιο γενική, αλλά ο έλεγχος έχει αποδειχθεί ότι είναι NP-complete πρόβλημα Ισοδυναμία Αντιθέσεων Ισοδυναμία Αντιθέσεων Η διάταξη κάθε ζεύγους αντιτιθέμενων πράξεων είναι ίδια και στα δύο χρονοπρογράμματα Αντιτιθέμενες πράξεις: Ανήκουν σε διαφορετικές δοσοληψίες, προσπελαύνουν το ίδιο στοιχείο και τουλάχιστον μία από τις πράξεις είναι εγγραφή 19

Ισοδυναμία Αντιθέσεων S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S3: R 2 (X) W 2 (X) C 2 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 S4: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 W 2 (X) C 2 Σειριοποιήσιμο Αντιθέσεων Σειριοποιήσιμο Αντιθέσεων Ένα χρονοπρόγραμμα S είναι σειριοποιήσιμο αντιθέσεων αν είναι ισοδύναμο αντιθέσεων με κάποιο σειριακό χρονοπρόγραμμα S. Σε αυτήν την περίπτωση μπορούμε να αναδιατάξουμε τις μη συγκρουόμενες πράξεις στο S μέχρι να σχηματίσουμε ένα ισοδύναμο σειριακό χρονοπρόγραμμα. 20

Σειριοποιήσιμο Αντιθέσεων S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S3: R 1 (X) W 1 (X) R2(X) W2(X) C2 R 1 (Y) W 1 (Y) C 1 Σειριοποιήσιμα; Sα: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Sβ: R 2 (X) W 2 (X) C 2 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 Έλεγχος Σειριοποιησιμότητας Αντιθέσεων Γράφος Προτεραιότητας (precedence graph) ή Γράφος Σειριοποίησης (serialization graph) Κατευθυνόμενος γράφος G=(N,E) Σύνολο κόμβων Ν={Τ 1,Τ 2,...,Τ Ν } Σύνολο ακμών Ε={α 1,α 2,...,α m } Ένας κόμβος για κάθε δοσοληψία Τ i Μία ακμή Τ i T j αν μια πράξη της T i προηγείται μιας συγκρουόμενης πράξης της Τ j 21

Γράφος προτεραιότητας : R 1 (A) W 1 (A), R 1 (B) W 1 (B) : R 2 (A) W 2 (A) R 2 (B) W 2 (B) A B Aλγόριθμος Ελέγχου Σειριοποιησιμότητας Αντιθέσεων Για κάθε δοσοληψία Τ i στο χρονοπρόγραμμα S, δημιούργησε έναν κόμβο Ti στο γράφο προτεραιοτήτων Δημιούργησε μια ακμή Τ i T j για κάθε ζεύγος αντίθετων πράξεων στο χρονοπρόγραμμα S R i (X)W j (X) W i (X)R j (X) W i (X)W j (X) Το χρονοπρόγραμμα S είναι σειριοποιήσιμο αν και μόνο αν ο γράφος προτεραιότητας δεν έχει κυκλώματα 22

Κύκλωμα Κύκλωμα σ έναν κατευθυνόμενο γράφο Μια ακολουθία ακμών C=((Τ j T k ), (Τ k T p ),, (Τ i T j )) Με την ιδιότητα Ο αρχικός κόμβος κάθε ακμής είναι ο ίδιος με τον τελικό κόμβο της προηγούμενης ακμής και Ο αρχικός κόμβος της πρώτης ακμής είναι ίδιος με τον τελικό κόμβο της τελευταίας ακμής Γράφος προτεραιότητας S1: R1(X) W1(X) R1(Y) W1(Y) C1 R2(X) W2(X) C2 S2: R2(X) W2(X) C2 R1(X) W1(X) R1(Y) W1(Y) C1 S3: R1(X) R2(X) W1(X) R1(Y) W2(X) C2 W1(Y) C1 S4: R1(X) W1(X) R2(X) W2(X) C2 R1(Y) W1(Y) C1 X X X X X 23

Γράφος προτεραιότητας S1: R2(Z)R2(Y)W2(Y)R3(Y)R3(Z)R1(X)W1(X)W3(Y)W3(Z)C3R2(X)R1(Y)W1(Y)C1W2(X)C2 S2: R3(Y)R3(Z)R1(X)W1(X)W3(Y)W3(Z)C3R2(Z)R1(Y)W1(Y)C1R2(Y)W2(Y)R2(X)W2(X)C2 X Y X,Y Y Y,Z Y Y,Z T3 T3 Ισοδυναμία Όψεων Δυο χρονοπρογράμματα S1 και S2 είναι ισοδύναμα όψεων αν: Τα S1 και S2 περιέχουν το ίδιο σύνολο δοσοληψιών και τις ίδιες πράξεις των συγκεκριμένων δοσοληψιών Για κάθε πράξη R i (X) στο S1 μετά από μια πράξη W j (X) πρέπει να ισχύει η ίδια συνθήκη και στο S2. Οι πράξεις ανάγνωσης βλέπουν την ίδια όψη Αν η πράξη W k (Y) στο S1 είναι η τελευταία πράξη που τροποποιεί το Y τότε πρέπει να ισχύει η ίδια συνθήκη και στο S2. Η τελική κατάσταση της βάσης θα είναι η ίδια 24

Ισοδυναμία Όψεων Yπόθεση εγγραφής υπό περιορισμό Πριν κάθε πράξη εγγραφής εκτελείται μια πράξη ανάγνωσης της ίδιας δοσοληψίας και Η τιμή που καταχωρείται εξαρτάται μόνο από την πράξη ανάγνωσης που προηγήθηκε Οι ορισμοί σειριοποιησιμότητας όψεων και αντιθέσεων είναι παρόμοιοι Ισοδυναμία Όψεων Κάθε χρονοπρόγραμμα που είναι σειριοποιήσιμο αντιθέσεων είναι και σειριοποιήσιμο όψεων Χωρίς να ισχύει το αντίστροφο Αλγόριθμος σειριοποιησιμότητας όψεων ΝPcomplete 25