Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Πανεπιστήμιο Ιωαννίνων ΠΟΛΙΤΙΚΕΣ ΡΥΘΜΙΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΤΗΣ ΕΝΗΜΕΡΩΣΗΣ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ Αναστάσιος Καραγιάννης Επιβλέπων καθηγητής: Παναγιώτης Βασιλειάδης.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Πανεπιστήμιο Ιωαννίνων ΠΟΛΙΤΙΚΕΣ ΡΥΘΜΙΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΤΗΣ ΕΝΗΜΕΡΩΣΗΣ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ Αναστάσιος Καραγιάννης Επιβλέπων καθηγητής: Παναγιώτης Βασιλειάδης."— Μεταγράφημα παρουσίασης:

1 Πανεπιστήμιο Ιωαννίνων ΠΟΛΙΤΙΚΕΣ ΡΥΘΜΙΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΤΗΣ ΕΝΗΜΕΡΩΣΗΣ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ Αναστάσιος Καραγιάννης Επιβλέπων καθηγητής: Παναγιώτης Βασιλειάδης

2 Πανεπιστήμιο Ιωαννίνων 2 Γενικά Ανάπτυξη ενός γενικού και επεκτάσιμου συστήματος εκτέλεσης ETL σεναρίων Σχεδιασμός πολιτικών ρύθμισης στο ETL σύστημα Πρόταση ενός καλά σχεδιασμένου συνόλου πειραματικών σεναρίων για τη μελέτη ETL ροών εργασίας

3 Πανεπιστήμιο Ιωαννίνων 3 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

4 Πανεπιστήμιο Ιωαννίνων 4 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

5 Πανεπιστήμιο Ιωαννίνων 5 Γενικά για ETL Οι αποθήκες δεδομένων είναι συλλογές δεδομένων, προερχόμενες από διαφορετικές πηγές  Χρήση κυρίως σε συστήματα λήψης αποφάσεων Η ενημέρωση μιας αποθήκης δεδομένων απαιτεί τη μεταφορά δεδομένων από τις πηγές στην αποθήκη με τη χρήση ειδικών εργαλείων (ETL)  Extract: Εξαγωγή δεδομένων από τις πηγές  Transform: Φιλτράρισμα και μετασχηματισμός των δεδομένων στη μορφή που έχει η αποθήκη  Load: Φόρτωση των σωστών δεδομένων στην αποθήκη

6 Πανεπιστήμιο Ιωαννίνων 6 Γενικά για ETL

7 Πανεπιστήμιο Ιωαννίνων 7 Γενικά για ETL Θέματα που αφορούν μια ETL διαδικασία  Επεξεργασία τεράστιων ποσοτήτων δεδομένων  Περάτωση διαδικασίας σε συγκεκριμένα χρονικά περιθώρια  Προβλήματα ποιότητας δεδομένων Απαιτείται ο καθαρισμός τους ($ σε €, format ημερομηνίας κτλ)  Πιθανές αποτυχίες κατά τη διάρκεια επεξεργασίας των δεδομένων ή φόρτωσης των αποτελεσμάτων στην αποθήκη  Η συνεχής εξέλιξη των πηγών και της αποθήκης καθιστά απαραίτητο να εκτελούνται οι απαραίτητες ενημερώσεις στην αποθήκη καθημερινά

8 Πανεπιστήμιο Ιωαννίνων 8 Παράδειγμα ETL σεναρίου S1 ST1 D1 S2 SMJ $2€ NNull SMJ D2 Date R1R2 (a, b, c) (a, b1, c1) (a, f, g) (a, b, c) (a, b, c, f, g) duplicate removal (a, f, g) (a, b, c, f, g) (a, f, g)

9 Πανεπιστήμιο Ιωαννίνων 9 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

10 Πανεπιστήμιο Ιωαννίνων 10 Εργαλεία ETL AJAX [GFSS00]  Επικεντρώνεται κυρίως σε θέματα ποιότητας δεδομένων The Potter’s Wheel [RaHe01]  Στοχεύει στο να προσφέρει μία αλληλεπιδραστική διαδικασία καθαρισμού δεδομένων Arktos II [VSG+05]  Ένα πλαίσιο για το θεωρητικό, λογικό και φυσικό σχεδιασμό ETL σεναρίων

11 Πανεπιστήμιο Ιωαννίνων 11 Πολιτικές Ρύθμισης [CCR+03] (Aurora)  Πολιτικές ρύθμισης για βελτίωση κόστους, χρόνου αναμονής και απαιτήσεων μνήμης [BBDM03] (Chain)  Πολιτική ρύθμισης για βελτίωση απαιτήσεων μνήμης  Η επιλογή γίνεται σε ομάδα λειτουργιών [UrFr01] (Pipeline Scheduling)  Υλοποίηση non-blocking join λειτουργίας  Υλοποίηση πολιτικής ρύθμισης με στόχο τη μείωση του χρόνου αναμονής παραγωγής αποτελεσμάτων

12 Πανεπιστήμιο Ιωαννίνων 12 Σύνοψη πολιτικών ρύθμισης 1/2 NameSourceWho Is Next For How Long CriterionDecision FIFO [BBDM03], [UrFr01] next token until idle / time slot FairnessLocal Round Robin [BBDM03], [UrFr01] next ready token until idle / time slot FairnessLocal Equal Time [UrFr01] least executed time until idle / time slot FairnessGlobal Cheapest First [UrFr01] least processing cost until idle response time Local Greedy Scheduling [BBDM03] least selectivity time slot memory consumption Local

13 Πανεπιστήμιο Ιωαννίνων 13 Σύνοψη πολιτικών ρύθμισης 2/2 NameSourceWho Is Next For How Long CriterionDecision Min Latency[CCR+03]largest output sizeuntil idle response time Global Rate Based[UrFr01]largest output sizeuntil idle response time Global Min Cost[CCR+03]largest input sizeuntil idlethroughputLocal Min Memory[CCR+03] largest data consumption until idle memory consumption Local Chain Scheduling [BBDM03] largest data consumption time slot Memory consumption Global

14 Πανεπιστήμιο Ιωαννίνων 14 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

15 Πανεπιστήμιο Ιωαννίνων 15 Λογικό Επίπεδο Ορίζουμε ένα ETL σενάριο ως έναν κατευθυνόμενο ακυκλικό γράφο (DAG) Ορισμός ενός σεναρίου, καθώς και των στοιχείων που το αποτελούν.  Σχεδιασμός απλής γλώσσας. Σε αυτό το σημείο, όλα τα στοιχεία είναι ορισμένα σε λογικό (αφηρημένο) επίπεδο.

16

17 Πανεπιστήμιο Ιωαννίνων 17 Απαιτήσεις Συστήματος Διαχείριση ενδιάμεσων αποτελεσμάτων  Παραγωγή πολλών ενδιάμεσων δεδομένων.  Χρήση τεχνικής διοχέτευσης σε non-blocking λειτουργίες. Μηδενική απώλεια δεδομένων  Το σύστημα εξασφαλίζει ότι τα όλα τα δεδομένα θα επεξεργαστούν, όπως ορίζεται από το σενάριο. Αποφυγή αδιεξόδων  Η χρήση της τεχνικής της διοχέτευσης μπορεί να οδηγήσει την εκτέλεση σε αδιέξοδο.  Το σύστημα αποφεύγει την εμφάνισή τους.

18 Πανεπιστήμιο Ιωαννίνων 18 Αρχιτεκτονική Ένα νήμα ανά activity / recordset  Αυτή η σχεδίαση προσφέρει ευελιξία στο σύστημα. Ένα επιβλέπον νήμα (monitor)  Επιβλέπει και ελέγχει την εκτέλεση. Σύστημα μηνυμάτων  Επικοινωνία μεταξύ νημάτων και νημάτων-monitor. Χρήση κοινών δομών  Οι κοινές δομές εξασφαλίζουν τη γρήγορη ανταλλαγή πληροφοριών (δεδομένα / μηνύματα). Ένα νήμα εκτελείται κάθε φορά

19

20 Πανεπιστήμιο Ιωαννίνων 20 Execution Item Η βάση της λειτουργίας όλων των activities / recordsets (operators) Ένας βασικός βρόχος  Τακτικός έλεγχος του mailbox  Επιλογή για: επεξεργασία δεδομένων αναστολή λειτουργίας Η λειτουργία επεξεργασίας δεδομένων καθορίζεται από την εξειδίκευση του κάθε τύπου operator.

21 Πανεπιστήμιο Ιωαννίνων 21 ExecutionItem.Execute() Sub Execute() InitExecute() While (Not OperatorStatus.Finished) InboxManagement() If (OperatorStatus.Stalled) Then Thread.Sleep(EngineStallTime) Else DataProcess() End If End While EndExecute() End Sub

22 Πανεπιστήμιο Ιωαννίνων 22 Monitor Μετάβαση από φυσικό σε λογικό επίπεδο  1 προς 1 αντιστοιχία (Optimizer) NotNull -> filter Join -> sort-merge join Εκκίνηση και επίβλεψη της εκτέλεσης Ανάθεση εκτέλεσης στον κατάλληλο operators  Εφαρμογή των καθορισμένων παραμέτρων και της πολιτικής ρύθμισης Συγκέντρωση στατιστικών δεδομένων  Χρόνος εκτέλεσης  Απαιτήσεις μνήμης (μέγιστη τιμή, μέσος όρος)

23 Πανεπιστήμιο Ιωαννίνων 23 Scheduler Χρησιμοποιείται από το monitor νήμα Καθορίζει σε κάθε βήμα, ποιος operator είναι ο πιo κατάλληλος για εκτέλεση Σε κάθε βήμα:  Διαβάζει τη τρέχουσα κατάσταση του συστήματος  Επιλέγει τον κατάλληλο, με βάση την πολιτική ρύθμισης

24 Πανεπιστήμιο Ιωαννίνων 24 Δομές Data Queue  Αυτή η δομή είναι διαμοιραζόμενη ανάμεσα σε δύο operators οι οποίοι έχουν σχέση producer - consumer Row Pack  Αυτή η δομή ομαδοποιεί εγγραφές σε ένα αντικείμενο. Είναι κοινή τεχνική να μην γίνεται επεξεργασία δεδομένων ανά μία εγγραφή ξεχωριστά αλλά σε ένα σύνολο εγγραφών. Mailbox  Αυτή η δομή λειτουργεί ως αποδέκτης και αποστολέας των μηνυμάτων για κάθε operator, καθώς και για τον monitor

25 Πανεπιστήμιο Ιωαννίνων 25 Εκτέλεση Σεναρίου (1/2) Κατά την εκκίνηση της εκτέλεσης, όλοι οι operators είναι σε κατάσταση αναμονής  Το monitor νήμα στέλνει μήνυμα στον πρώτο operator (που υπέδειξε ο scheduler) Ένας operator πρέπει να σταματήσει όταν:  Είναι άδεια η ουρά εισόδου  Είναι γεμάτη η ουρά εξόδου  Έλαβε μήνυμα διακοπής από τον monitor Εξαντλήθηκε η χρονοθυρίδα που όρισε ο scheduler  Έχει ολοκληρωθεί η εκτέλεση του (άδεια ουρά εισόδου και όλοι οι producers του έχουν τερματίσει)

26 Πανεπιστήμιο Ιωαννίνων 26 Εκτέλεση Σεναρίου (2/2) Όταν ο operator σταματήσει:  Ενημερώνει τον monitor  Μπαίνει σε κατάσταση αναμονής Όταν ο operator τερματίσει:  Ενημερώνει τον monitor Όταν το monitor λάβει μήνυμα διακοπής ή τερματισμού:  Επιλέγει τον επόμενο operator (που υποδεικνύει ο scheduler) για εκτέλεση  Τερματίζει την εκτέλεση, όταν όλοι οι operators έχουν τερματίσει

27 Πανεπιστήμιο Ιωαννίνων 27 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

28 Πανεπιστήμιο Ιωαννίνων 28 Πολιτικές ρύθμισης Οι πολιτικές ρύθμισης που σχεδιάσαμε είναι:  Round Robin Μία απλή και δίκαια στην εφαρμογή της πολιτική  Minimum Cost Στοχεύει στη μείωση χρόνου εκτέλεσης ενός σεναρίου  Minimum Memory Στοχεύει στη μείωση απαιτήσεων μνήμης κατά τη διάρκεια εκτέλεσης του σεναρίου

29 Πανεπιστήμιο Ιωαννίνων 29 Round Robin Ο Round Robin (RR) είναι μία απλή πολιτική, που στοχεύει στη δίκαιη κατανομή ευκαιριών για εκτέλεση Κάθε operator έχει ένα μοναδικό id Οι operators ταξινομούνται με βάση το id Ο RR ορίζει ποιος είναι ο επόμενος προς εκτέλεση βασισμένος στην παραπάνω ταξινόμηση

30 Πανεπιστήμιο Ιωαννίνων 30 Minimum Cost Ο Minimum Cost (MC), σε κάθε βήμα, επιλέγει τον operator που έχει τα περισσότερα δεδομένα για επεξεργασία  Μείωση επιβάρυνσης από επικοινωνίες Δίνει προτεραιότητα σε operators που επεξεργάζονται ενδιάμεσα δεδομένα, δηλαδή activities και όχι recordsets  Υπάρχει μειωμένη απαίτηση μνήμης σε σχέση με τον Round Robin

31 Πανεπιστήμιο Ιωαννίνων 31 Minimum Memory Ορίζουμε ως ρυθμό κατανάλωσης δεδομένων το μέγεθος δεδομένων που θα “διώξει” από τη μνήμη για ένα χρονικό διάστημα  (#εγγραφές που διάβασε - #εγγραφές που έγραψε) / χρόνος επεξεργασίας Ο Minimum Memory (MM) επιλέγει τον operator που προβλέπεται ότι θα “καταναλώσει” τα περισσότερα δεδομένα για την επερχόμενη χρονική περίοδο Στην αρχή της εκτέλεσης η φόρμουλα δεν μπορεί να εφαρμοστεί, χρησιμοποιείται η λογική του MC

32 Πανεπιστήμιο Ιωαννίνων 32 Κινητήριο Παράδειγμα

33 Πανεπιστήμιο Ιωαννίνων 33 Round Robin Βήμα Διαθέσιμες επιλογέςΕπιλογή Next(1) = 22 3 Next(2) = 33 4 Next(3) = 44 5 Next(4) = 55 6 Next(5) = 66 7 Next(6) = 77 8 Next(7) = 88 9 Next(8) = Next(9) = 1010

34 Πανεπιστήμιο Ιωαννίνων 34 Minimum Cost ΒήμαΔιαθέσιμες επιλογέςΕπιλογή 1 1 (R), 2 (R)1 2 1 (R), 2 (R), 3 (100)3 3 1 (R), 2 (R), 5 (90)5 4 1 (R), 2 (R), 6 (80), 8 (80)6 5 1 (R), 2 (R), 8 (80)8 6 1 (R), 2 (R),2 7 1 (R), 2 (R), 4 (100)4 8 1 (R), 2 (R),7 (50)7 9 1 (R), 2 (R), 8 (30), 9 (30) (R), 2 (R), 9 (30)9

35 Πανεπιστήμιο Ιωαννίνων 35 Minimum Memory ΒήμαΔιαθέσιμες επιλογέςΜέγεθος ουράςΕπιλογή 11 (R), 2 (R)1 21 (-0.16)3 (11)3 31 (-0.16) 5 (11) 5 41 (-0.16) 8 (11) 8 51 (-0.16), 8 (0.27) 8 (6), 6 (5) 8 61 (-0.16) 6 (11) 6 71 (-0.16) 1 (R), 2 (R) 1 81 (-0.26), 3 (5.75)3 (23)3 91 (-0.26), 5 (1.3) 5 (23) (-0.26), 6 (1.03), 8 (1.13) 6 (23), 8 (23) (-0.26) 6 (23) 6

36 Πανεπιστήμιο Ιωαννίνων 36 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

37 Πανεπιστήμιο Ιωαννίνων 37 Πειραματική Μεθοδολογία Ελλείψει σχετικής πειραματικής μεθοδολογίας ορίζουμε ένα σύνολο χαρακτηριστικών σεναρίων τύπου πεταλούδας [Tzio06] για να μπορέσουμε να εκτιμήσουμε το σύστημά μας Αναφορικά οι τύποι σεναρίων είναι line, wishbone, primary flow, balanced butterfly, tree and fork

38 Πανεπιστήμιο Ιωαννίνων 38 Ροές Εργασίας Τύπου Πεταλούδα

39 Πανεπιστήμιο Ιωαννίνων 39 Παράμετροι Οι παράμετροι που επηρεάζουν το σύστημά μας είναι:  Μέγεθος Data Queue (DQS)  Μέγεθος Row Pack (RPS)  Μέγεθος χρονοθυρίδας της πολιτικής ρύθμισης (TiSl) Οι τιμές αυτές θα οριστούν σε συγκεκριμένες τιμές για όλη τη διάρκεια των πειραμάτων Για κάθε πολιτική ρύθμισης επιλέγονται οι τιμές που βελτιστοποιούν την απόδοσή τους

40 Πανεπιστήμιο Ιωαννίνων 40 Παράμετροι Οι παράμετροι που θα αλλάζουν κατά τη διάρκεια των πειραμάτων είναι:  Τύπος ροής εργασίας Χρήση τύπων ροών εργασίας από [Tzio06]  Μέγεθος εισόδου Χρήση συνόλων δεδομένων από το TPC-H [TPCH07] SF = {0.1, 0.5, 1.0}  Επιλεκτικότητα ροής εργασιών (selectivity) Ορισμός συνθηκών στα αρχικά φίλτρα των ροών εργασίας, έτσι ώστε να επιτευχθεί η επιθυμητή επιλεκτικότητα Selectivity = {0.5, 0.8, 1.0}

41 Πανεπιστήμιο Ιωαννίνων 41 Ροή Εργασίας Line

42 Πανεπιστήμιο Ιωαννίνων 42 Ροή Εργασίας Line Ο MC έχει καλύτερους χρόνους, και σχετικά καλύτερη μέση μνήμη Ο MM έχει πολύ καλά αποτελέσματα για μέση μνήμη, αλλά για μέγιστη μνήμη όλοι έχουν περίπου ίδια τιμή

43 Πανεπιστήμιο Ιωαννίνων 43 Ροή Εργασίας Wishbone

44 Πανεπιστήμιο Ιωαννίνων 44 Ροή Εργασίας Wishbone Ο MC έχει καλύτερους χρόνους, και ίδια μέση μνήμη με τον RR. Αποδίδει καλύτερα από όλους για μέγιστη μνήμη Ο MM έχει πολύ καλά αποτελέσματα για μέση μνήμη, αλλά για μέγιστη μνήμη έχει ίδια απόδοση με τον RR

45 Πανεπιστήμιο Ιωαννίνων 45 Ροή Εργασίας Primary Flow

46 Πανεπιστήμιο Ιωαννίνων 46 Ροή Εργασίας Primary Flow Ο MC έχει ίδιους χρόνους με RR, επειδή όλοι οι operators μπορούν να εκτελεστούν. Έχει καλύτερες επιδόσεις στη μνήμη Ο MM έχει πολύ καλά αποτελέσματα σε μέση μνήμη, αλλά σε μέγιστη μνήμη είναι καλύτερος μόνο από τον RR

47 Πανεπιστήμιο Ιωαννίνων 47 Ροή Εργασίας Balanced Butterfly

48 Πανεπιστήμιο Ιωαννίνων 48 Ροή Εργασίας Balanced Butterfly Ο MC έχει καλύτερους χρόνους, και οριακά καλύτερη μέση μνήμη από τον RR Ο MM έχει πολύ καλά αποτελέσματα για μέση μνήμη, αλλά για και για μέγιστη μνήμη

49 Πανεπιστήμιο Ιωαννίνων 49 Ροή Εργασίας Tree

50 Πανεπιστήμιο Ιωαννίνων 50 Ροή Εργασίας Tree Ο MC είναι καλύτερος από τον RR, και έχουν ίδιες απαιτήσεις σε μνήμη. Ο MM έχει πολύ καλά αποτελέσματα σε μέση μνήμη, αλλά σε μέγιστη μνήμη όλοι έχουν ίδια τιμή, εκτός από SF=0.1

51 Πανεπιστήμιο Ιωαννίνων 51 Ροή Εργασίας Fork

52 Πανεπιστήμιο Ιωαννίνων 52 Ροή Εργασίας Fork Ο MC είναι καλύτερος από τον RR και έχει καλύτερες επιδόσεις στη μνήμη Ο MM έχει πολύ καλά αποτελέσματα σε μέση μνήμη, αλλά σε μέγιστη μνήμη έχει ίδια συμπεριφορά με τον RR

53 Πανεπιστήμιο Ιωαννίνων 53 Περιεχόμενα Εισαγωγή Σχετική Έρευνα Αρχιτεκτονική Συστήματος Πολιτικές Ρύθμισης Πειράματα Συμπεράσματα & Μελλοντικές Επεκτάσεις

54 Πανεπιστήμιο Ιωαννίνων 54 Συμπεράσματα Ο RR δεν έχει ικανοποιητική απόδοση σε χρόνο αλλά ούτε και σε μνήμη Ο MC είναι σε όλες τις περιπτώσεις πιο γρήγορος, και σε σχέση με τον RR έχει σαφώς καλύτερη απόδοση σε απαιτήσεις μέσης και μέγιστης μνήμης. Ο MM σε όλες τις περιπτώσεις αποδίδει καλύτερα για τη μέση μνήμη, αλλά όχι στη μέγιστη μνήμη  Είναι κατάλληλος σε περιβάλλον όπου πολλά σενάρια εκτελούνται ταυτόχρονα

55 Πανεπιστήμιο Ιωαννίνων 55 Μελλοντικές Προεκτάσεις ETL Σύστημα  Γρήγορες επικοινωνίες  Ικανές activities  Ενσωμάτωση κοινών λειτουργιών, π.χ. sorting Πολιτικές ρύθμισης  Επέκταση του μοντέλου για ρύθμιση ταυτόχρονων εκτελέσεων σεναρίων  Βελτίωση του MM, ώστε να μην εμφανίζει μεγάλες μέγιστες τιμές στη μνήμη

56 Πανεπιστήμιο Ιωαννίνων 56 Αναφορές 1/2 [BBDM03] Brian Babcock, Shivnath Babu, Mayur Datar, Rajeev Motwani, Chain: Operator Scheduling for Memory Minimization in Data Stream Systems, SIGMOD 2003, June 912,2003, San Diego, CA. [CCR+03] Don Carney, Ugur Cetintemel, Alex Rasin, Stan Zdorik, Mitch Cherniack, Mike Stonebraker, Operator Scheduling in a Data Stream Manager, Proceedings of the 29th VLDP Conference, pp. ?-?, Berlin, Germany [Tzio06] Vasiliki Tziovara, Order aware workflows. MSc Thesis, Computer Science, University of Ioannina, Hellas, [UrFr01] Tolga Urhan, Michael J. Franklin, Dynamic Pipeline Scheduling for Improving Interactive Query Performance, Proceedings of the 27th VLDP Conference, pp 1-10, Roma, Italy, [VSG+05] Panos Vassiliadis, Alkis Simitsis, Panos Georgantas, Manolis Terrovitis, Spiros Skiadopoulos. A generic and customizable framework for the design of ETL scenarios. Information Systems, vol. 30, no. 7, pp , November 2005, Elsevier Science Ltd.

57 Πανεπιστήμιο Ιωαννίνων 57 Αναφορές 2/2 [GFSS00] Galhardas, H., Florescu, D., Shasha, D., and Simon, E. (2000). Ajax: An Extensible Data Cleaning Tool. In Proceedings ACM SIGMOD International Conference On the Management of Data, page 590, Dallas, Texas. [RaHe01] Raman, V., and Hellerstein, J. (2001). Potter's Wheel: An Interactive Data Cleaning System. In Proceedings of 27th International Conference on Very Large Data Bases (VLDB), pages , Roma, Italy. [TPCH07] The TPC-H benchmark. Available at:

58 Πανεπιστήμιο Ιωαννίνων 58 Ευχαριστώ Ερωτήσεις..;

59 Πανεπιστήμιο Ιωαννίνων 59 Σύνοψη Πολιτικών Ρύθμισης Μπορούμε να κατηγοριοποιήσουμε τις πολιτικές που μελετήσαμε σε 3 κατηγορίες.  Token-based πολιτικές Λειτουργούν με βάση ένα id, μοναδικό για κάθε operator  Rate-based πολιτικές Λειτουργούν με βάση το rate των λειτουργιών  Memory-based πολιτικές Λειτουργούν με βάση το rate, selectivity ή/και input size των λειτουργιών

60 Πανεπιστήμιο Ιωαννίνων 60 Aurora Stream Manager Ο Aurora Stream Manager [CCR+03] μπορεί και εξυπηρετεί πολλές CQs (Continuous Queries) Γίνεται ορισμός του superbox, που είναι ένα σύνολο operators οι οποίοι δομούν ένα συνεκτικό υπογράφο μιας CQ Ο χρονοπρογραμματισμός γίνεται σε δύο επίπεδα  Επιλογή ενός superbox για εκτέλεση Δυναμικά ή στατικά (εδώ ορίζεται ένα superbox για κάθε CQ)  Χρονοπρογραμματισμός των operators εσωτερικά Υπάρχουν τρεις στρατηγικές για την εκτέλεση των operators

61 Πανεπιστήμιο Ιωαννίνων 61 Aurora Stream Manager Minimum Cost (MC):  Προσπαθεί να μειώσει τον αριθμό κλήσεων ενός operator Minimum Latency (ML):  Μειώνει το χρόνο αναμονής για την παραγωγή αρχικών αποτελεσμάτων. Υπολογίζει το ποσοστό των εγγραφών θα φτάσουν στην τελική έξοδο  o_sel(b) = Π( sel(k) ), kεD(b)  output_cost(b) = Σ( cost(k)/o_sel(k) ), kεD(b) sel(b) εκτίμηση της selectivity του b D(b) το σύνολο operators που βρίσκονται μετά τον b

62 Πανεπιστήμιο Ιωαννίνων 62 Aurora Stream Manager Minimum Memory (MM):  Επιλέγει να εκτελέσει τον operator που θα έχει την μεγαλύτερη κατανάλωση μνήμης Αυτό σημαίνει ότι λαμβάνεται υπόψη το μέγεθος της εισόδου, καθώς και το selectivity του operator  mem_rr(b) = (tsize(b)X(1-selectivity(b))) / cost(b) Όπου tsize(b) είναι το μέγεθος της ουράς εισόδου του b

63 Πανεπιστήμιο Ιωαννίνων 63 Chain Scheduling Strategy Η Chain scheduling policy [BBDM03] επιλέγει μία ακολουθία (chain) από operators από τη ροή εργασίας του stream Εκτελεί το κομμάτι που έχει το μικρότερο selectivity, σε συνδυασμό με το μέγεθος και πλήθος των εγγραφών στην είσοδο Υπολογίζει ένα chart με βάση τις εκτιμήσεις από την τρέχουσα κατάσταση του συστήματος

64 Πανεπιστήμιο Ιωαννίνων 64 Chain Scheduling Strategy

65 Πανεπιστήμιο Ιωαννίνων 65 Pipelined Hash Joins Χρήση της pipelining τεχνικής για απάντηση ερωτήσεων με μικρό χρόνο απόκρισης [UrFr01]  Είναι απαραίτητοι non-blocking τελεστές, όπως το X-Join Επιλογή του stream με το μεγαλύτερο OR global (s)  OR global (s) = O global (s) / C global (s) O global (s) = pr s x pr parent(s) x... pr top O global (s) = Cost(s) + Cost(parent(s) x pr s + Cost(parent(parent(s)) x pr s x pr parent(s) + …

66 Πανεπιστήμιο Ιωαννίνων 66 Pipelined Hash Joins Ο X-Join τελεστής έχει τρία στάδια Υπολογισμός του pr s στα τρία στάδια του X-Join  Regular St:pr s = σ join x CurCard(sibling(s))  Clean-Up St:pr s = Card left X Card right x σ join - N produced  Reactive St:pr s = N probed X N built x σ partition – N produced σ partition = σ join x N partitions Προτείνουν επίσης και δύο τεχνικές όπου στην τελική έξοδο καταλήγουν πρώτα εγγραφές που θεωρούνται πιο σημαντικές (με βάση ένα ORDER BY)

67 Πανεπιστήμιο Ιωαννίνων 67 Token-based Πολιτικές NameDescriptionCriterionSource FIFOEvery operator does a portion of work, until it cannot continue (consumer queue full, producer queue empty, reached end of the time slot). Then the scheduler selects the next operator (based on the operators ID) Δικαιοσύνη[BBDM03], [UrFr01] Round Robin Works the same way as above, but when the selected activity has no processing to do at the time, the next activity that has processing to do is selected Δικαιοσύνη[BBDM03], [UrFr01]

68 Πανεπιστήμιο Ιωαννίνων 68 Rate-based Πολιτικές (1/2) NameDescriptionCriterionSource Cheapest First Every time the operator that is chosen is the one with the smaller processing cost (input rate based) Χρόνος εκτέλεσης [UrFr01] Greedy Scheduler At every time instance the scheduler chooses among the operators that have buffered input data the one with the smallest selectivity (input rate based) Κατανάλωση μνήμης [BBDM03] Chain Scheduler This algorithm groups the operators and selects the group with the smallest productivity (input rate based) Κατανάλωση μνήμης [BBDM03]

69 Πανεπιστήμιο Ιωαννίνων 69 Rate-based Πολιτικές (2/2) NameDescriptionCriterionSource Min Latency Every time the operator that is selected is the one that will have the biggest output data size (in #tuples), (output rate based) Χρόνος απόκρισης [CCR+03] Rate based This algorithm selects the stream that is estimated to produce the most output data. This algorithm can schedule and operators such as X-Join (which is non-blocking). Χρόνος απόκρισης [UrFr01]

70 Πανεπιστήμιο Ιωαννίνων 70 Memory-based Πολιτικές NameDescriptionCriterionSource Min Memory The scheduler selects the operator that has the greatest consumption of data, considering the selectivity and the size of the input data (size in bytes) Κατανάλωση μνήμης [CCR+03] Min CostThe scheduler selects the activity with the biggest input size. Χρόνος εκτέλεσης [CCR+03]

71 Πανεπιστήμιο Ιωαννίνων 71 Ορισμός του προβλήματος 1/4 Consider a graph G(V,E), and V = V A  V R = V A  {V SOURCE  V TARGET  V INTERM }. V A denotes the activities of the graph and V R the recordsets. V R can be further divided into three disjoin sets; for the source, intermediate and target recordsets. Also the set of all the nodes of the graph can be considered as V = {V FINISHED  V CANDIDATES }, where V CANDIDATES is the set of operators that are active and participate in the execution and V FINISHED is the set of nodes that have finished their processing.

72 Πανεπιστήμιο Ιωαννίνων 72 Ορισμός του προβλήματος 2/4 For each activity node v  V A we define:  μ(v), as the consumption rate of node v.  queue(v), as the sum of all input queue sizes of node v  σ v, as the selectivity of node v. For each recordset node v  V R we define:  μ(v), also as the consumption rate of node v. Furthermore, for each source recordset node v  V S we define:  volume(v) as the size of the recordsets input of node v. We consider T as an infinite countable set of timestamps and a scheduler with policy P. The scheduler divides T into disjoint and adjacent intervals T = T 1  T 2  … with:  T i = [T i.first, T i.last]  T i.last = T i+1.first – 1

73 Πανεπιστήμιο Ιωαννίνων 73 Ορισμός του προβλήματος 3/4 Whenever a new interval T i begins, (at timestamp T i.first) the scheduler decides one or some of the following actions; Option (1) is mandatory. 1. active(T i ), the next activity to run. 2. T i.last. This value is the time stamp that the operator active(T i ) will stop executing. In other words it is T i.length(), the schedulers time slot. 3. Status of all queues at T i.last. The operator active(T i ) will stop its processing if one of the following occurs: 1. clock = T i.last. That means that the time slot has exhausted. 2. queue(active(T i )) = 0. This means that the active operator has no more input data to process. 3.  v, v  consumer(active(T i )) such that queue(v) = M(v)max. This means that one of the consumers of the active activity active(T i ) has a full input queue.

74 Πανεπιστήμιο Ιωαννίνων 74 Ορισμός του προβλήματος 4/4 At this point we must check if active(T i ) should be moved to V FINISHED. In order for an operator v to be moved to V FINISHED, both of the following must be valid.   v  producer(active(T i )) v  V FINISHED, and  queue(active(T i )) = 0 or volume(v) = 0, if v  V SOURCE. A workflow G(V, E) ends when V = V FINISHED. The interval during which this event takes place is denoted as T.last. Based on the previous we can implement a scheduling policy P for a scenario G(V, E) such that:  P creates an appropriate division of T into intervals T 1  T 2  … T last   t  T, v  V queue(v)  Max(queue(v)) (i.e., all data are properly processed).  One of the following holds: T last is minimized, T last is the interval where G stops Max Σ queueT i (v) is minimized, t  T, v  V.


Κατέβασμα ppt "Πανεπιστήμιο Ιωαννίνων ΠΟΛΙΤΙΚΕΣ ΡΥΘΜΙΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΤΗΣ ΕΝΗΜΕΡΩΣΗΣ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ Αναστάσιος Καραγιάννης Επιβλέπων καθηγητής: Παναγιώτης Βασιλειάδης."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google