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

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

EXTERNAL MEMORY ALGORITHMS AND DATA STRUCTURES: DEALING WITH MASSIVE DATA Διδάσκοντες:Μακρής Χρήστος Βοηθητικό υλικό: Αντωνέλης Παναγιώτης

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


Παρουσίαση με θέμα: "EXTERNAL MEMORY ALGORITHMS AND DATA STRUCTURES: DEALING WITH MASSIVE DATA Διδάσκοντες:Μακρής Χρήστος Βοηθητικό υλικό: Αντωνέλης Παναγιώτης"— Μεταγράφημα παρουσίασης:

1 EXTERNAL MEMORY ALGORITHMS AND DATA STRUCTURES: DEALING WITH MASSIVE DATA Διδάσκοντες:Μακρής Χρήστος Βοηθητικό υλικό: Αντωνέλης Παναγιώτης e-mail: makri@ceid.upatras.grmakri@ceid.upatras.gr Διδασκαλία:Πέμπτη: 17:00-19:00 Π200

2 ΕΙΣΑΓΩΓΗ Μεγάλες εφαρμογές με μεγάλο όγκο δεδομένων Δεν χωράνε στην κύρια μνήμη (RAM) Αλγόριθμοι για επεξεργασία δεδομένων στην εξωτερική μνήμη (ΕΜ) Δομές δεδομένων, επιστημονικός υπολογισμός, διαχείριση βάσεων δεδομένων, ανάκτηση πληροφορίας, υπολογιστική πολυπλοκότητα κτλ.

3 ΕΙΣΑΓΩΓΗ Είδη προβλημάτων – Batch προβλήματα Δεν γίνεται προεπεξεργασία στα δεδομένα Επεξεργασία σε ένα ή περισσότερα περάσματα στην κύρια μνήμη – Online προβλήματα Ερωτήσεις πάνω στα δεδομένα Διαχωρισμός σε μικρές ομάδες Σε κάθε ερώτηση, μόνο κάποιες ομάδες χρειάζεται να επεξεργασθούν

4 PDM ΜΟΝΤΕΛΟ Για τον έλεγχο της αξιοπιστίας και της απόδοσης των ΕΜ αλγορίθμων χρειάζεται ένα αντίστοιχο μοντέλο Η ανάγνωση / εγγραφή σε μαγνητικούς δίσκους απαιτεί μια σειρά ενεργειών όπως εύρεση του track, περιστροφή του δίσκου κτλ. Επιπλέον, τα δεδομένα δεν μεταφέρονται ένα-ένα αλλά σε blocks με μέγεθος που ποικίλει, αλλά συνήθως είναι γύρω στα 8Κb. Το PDM μοντέλο θα πρέπει να εξομοιώνει όλες αυτές τις συνθήκες και παραμέτρους

5 PDM MONTEΛΟ Παράμετροι: – Ν – Ν. μέγεθος των δεδομένων (σε αντικείμενα) – Μ – Μ. μέγεθος της κύριας μνήμης (σε αντικείμενα) – Β – Β. μέγεθος του block μεταφοράς (σε αντικείμενα) – D. – D. αριθμός των ανεξάρτητων δίσκων – P. – P. αριθμός CPU’s Ισχύει: Μ < Ν και 1 ≤ DB ≤ M/2. Σε online προβλήματα έχουμε άλλες δύο παραμέτρους: – Q. – Q. αριθμός ερωτήσεων – Ζ. – Ζ. μέγεθος της απάντησης σε μια ερώτηση (σε αντικείμενα)

6 PDM ΜΟΝΤΕΛΟ Συνήθως είναι βολικό να αναφερόμαστε σε κάποιες από αυτές τις παραμέτρους σε μονάδες δεδομένων block, οπότε έχουμε – n = N/B – m = M/B – q = Q/B – z = Z/B Αν θεωρήσουμε ότι τα δεδομένα είναι ομοιόμορφα κατανεμημένα σε λωρίδες (stripes) στους δίσκους, τότε Ν δεδομένα μπορούν να αναγνωσθούν ή να εγγραφούν σε Ο(n/D) I/Os που είναι βέλτιστο Τρόποι μέτρησης της απόδοσης – Αριθμός Ι/Οs – Χώρος του δίσκου που χρησιμοποιείται – Χρόνος υπολογισμού που απαιτείται

7 ΒΑΣΙΚΕΣ I/O ΛΕΙΤΟΥΡΓΙΕΣ Βασικές πράξεις – Scan – Scan N αντικειμένων – Ταξινόμηση – Ταξινόμηση ενός αρχείο Ν αντικειμένων – Αναζήτηση – Αναζήτηση online ανάμεσα σε Ν αντικείμενα – Έξοδος – Έξοδος των Ζ απαντήσεων μιας ερώτησης με συγκεκριμένη κατανοητή μορφή

8 ΟΡΙΑ

9 ΕΚΜΕΤΑΛΛΕΥΣΗ ΤΗΣ ΤΟΠΙΚΟΤΗΤΑΣ Το κλειδί για την ανάπτυξη αποδοτικών ΕΜ αλγορίθμων είναι ο σχεδιασμός τους με τέτοιο τρόπο ώστε να προσπελαύνουν τα δεδομένα με μεγάλο βαθμό τοπικότητας Το βέλτιστο είναι και τα B αντικείμενα ενός block που προσπελαύνονται σε ένα Ι/Ο να είναι χρήσιμα και απαραίτητα στον αγλόριθμο

10 ΤΟΠΙΚΟΤΗΤΑ - ΑΠΛΟΣ ΔΙΣΚΟΣ Ας θεωρήσουμε το πρόβλημα της αναζήτησης. Στην κύρια μνήμη απαιτεί Ο(NlogN) CPU χρόνο Αν δεν υπήρχε η τοπικότητα, στους ΕΜ θα απαιτούσε Ο(ΝlogN) I/Os, αλλά με την εκμετάλλευση της τοπικότητα επιδιώκουμε να πετύχουμε Ο(nlog m n) Ι/Οs. Για τα online προβλήματα θέλουμε Ο(log B N+z)

11 DISK STRIPPING Στην περίπτωση ενός δίσκου, ο σχεδιασμός ενός βέλτιστου ΕΜ αλγορίθμου είναι σχετικά εύκολος, σε πολλαπλούς δίσκους όμως η λύση είναι σχετικά δύσκολη Χρήση disk stripping

12 DISK STRIPPING Οι D δίσκοι λειτουργούν ως ένας ενιαίος λογικός δίσκος με μέγεθος block DB Ένας αλγόριθμος σχεδιασμένος για απλό δίσκο με block DB μπορεί να μετατραπεί γρήγορα σε αλγόριθμο για D δίσκους με block B με χρήση disk stripping Η παραπάνω διαδικασία δίνει βέλτιστους αλγόριθμους για όλα τα κύρια προβλήματα που αναφέρθηκαν εκτός από την ταξινόμηση Αν όμως απαιτήσουμε από τους δίσκους να δρουν ανεξάρτητα, ο αλγόριθμος καταντά πολύπλοκος και μερικές φορές δεν αξίζει το κόστος αυτό είναι μεγαλύτερο

13 ΕΞΩΤΕΡΙΚΗ ΤΑΞΙΝΟΜΗΣΗ Τα προβλήματα της ταξινόμησης είναι από τα σημαντικότερα στον τομέα των ΕΜ προβλημάτων Όριο: Οι αλγόριθμοι χωρίζονται σε δύο κατηγορίες: – distribution – merge

14 DISTRIBUTION ΑΛΓΟΡΙΘΜΟΙ Επαναληπτική διαδικασία Σε κάθε βήμα ορίζουμε S-1 σημεία διαχωρισμού και με βάση τα σημεία αυτά χωρίζουμε τα αντικείμενα σε S κάδους Ταξινομούμε επαναληπτικά τους κάδους και στη συνέχεια τους ενώνουμε για να πάρουμε την τελική ταξινομημένη λίστα Πρέπει τα σημεία διαχωρισμού να είναι τέτοια ώστε οι κάδοι να έχουν σχετικά ίδιο μέγεθος Τότε, σε κάθε βήμα το μέγεθος κάθε κάδου μειώνεται κατά ένα παράγοντα Θ(S) και άρα υπάρχουν Ο(log s n) επίπεδα αναδρομής Πρέπει σε κάθε επίπεδο να δημιουργούμε τους κάδους σε Ο(n/D). Άρα αν έχουμε D>1, πρέπει τα δεδομένα να είναι ομοιόμορφα κατανεμημένα στους D δίσκους.

15 DISTRIBUTION ΑΛΓΟΡΙΘΜΟΙ Τεχνική partial stripping. – Οι δίσκοι χωρίζονται σε ομάδες των C δίσκων – Σε κάθε ομάδα δίσκων χρησιμοποιούμε disk stripping Αλγόριθμοι – Vitter & Shriver. Δύο τεχνικές: μία για μεγάλο N και μία για μικρό N. Η πρώτη γράφει με τυχαία σειρά τα blocks. H δεύτερη χρησιμοποιεί diagonal stripe – Nodine & Vitter. Κρατάει στατιστικά στοιχεία για το πώς έχουν κατανεμηθεί οι κάδοι στους δίσκους. Με χρήση τεχνικών εγγυάται ότι τα μεγέθη των κάδων δεν θα διαφέρουν κατά πολύ Πλεονέκτημα disk stripping. Δυνατότητα parity check.

16 MERGING ΑΛΓΟΡΙΘΜΟΙ Διαβάζουμε τα δεδομένα ανά memoryload. Κάθε memoryload το ταξινομούμε σε μια λίστα και την εγγράφουμε σε disk stripping. Άρα μετά το πρώτο πέρασμα έχουμε Ν/Μ λίστες. Φάση συγχώνευσης. Συγχωνεύονται ομάδες από R λίστες. Ο αριθμός των περασμάτων είναι Ο(log m n). Πρέπει κάθε φάση συγχώνευσης να γίνεται σε Ο(n/D). Αν D > 1, είναι δύσκολο γιατί τα όλα τα blocks πρέπει να βρίσκονται σε διαφορετικούς δίσκους. Οι Nodine & Vitter πρότειναν έναν βέλτιστο αλγόριθμο που δημιουργεί περίπου ταξινομημένες λίστες και στη συνέχει εφαρμόζεται ένα επιπλέον πέρασμα για διόρθωση τυχόν λαθών/

17 MERGING ΑΛΓΟΡΙΘΜΟΙ SRM αλγόριθμος. Κάθε λίστα γράφεται σε stripes αλλά με τυχαίο σημείο έναρξης κάθε φορά. Τυχόν blocks που δεν χρειάζονται εξαλείφονται. Στις περισσότερες περιπτώσεις είναι βέλτιστος

18 ΔΙΑΧΕΙΡΙΣΗ ΔΙΠΛΟΤΥΠΩΝ Σε περίπτωση που από τα N αντικείμενα, μόνο Κ < Ν έχουν διαφορετική τιμή, τότε έχουν προταθεί αποδοτικότεροι αλγόριθμοι Ο Arge πρότεινε έναν αλγόριθμο που απαιτεί Όταν τα αντικείμενα έχουν διαφορετική δευτερεύουσα πληροφορία έχουμε το πρόβλημα του bundle sorting. Αλγόριθμους σχετικούς πρότειναν οι Abello και Matias με απόδοση

19 ΑΝΤΙΜΕΤΑΘΕΣΗ & ΜΕΤΑΤΟΠΙΣΗ Η αντιμετάθεση αποτελεί μια ειδική περίπτωση ταξινόμησης όπου τα Ν αντικείμενα είναι στο εύρος 1..Ν Όριο Αντιμετάθεση πίνακα:

20 ΠΛΕΓΜΑΤΑ ΚΑΙ ΠΙΝΑΚΕΣ Οι πυκνοί πίνακες αποθηκεύονται στην κύρια μνήμη συνήθως σε row-major ή σε column-major διάταξη Η αντιμετάθεση ενός πίνακα αφορά στην μετατροπή από την μία αναπαράσταση στην άλλη Για τις περισσότερες λειτουργίες, οι αναπαραστάσεις αυτές είναι αποδοτικές. Για κάποιες άλλες όμως, όπως πολ/μο πινάκων ή διάσπαση LU είναι καλύτερη αναπαράσταση η διάσπαση των πινάκων σε τετραγωνικούς πίνακες διάστασης

21 ΠΛΕΓΜΑΤΑ ΚΑΙ ΠΙΝΑΚΕΣ Πολ/μος : Αν ο πίνακας είναι αραιός, έχει δηλαδή πολλά μηδενικά στοιχεία, τότε μπορεί να αποθηκευτεί και σε αραιή μορφή. Σε τέτοια περίπτωση για την αντιμετάθεση των πινάκων απαιτούνται: Θ(Sort(N z )) I/Os

22 BATCH ΠΡΟΒΛΗΜΑΤΑ ΣΤΗΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΓΕΩΜΕΤΡΙΑ Προβλήματα που περιέχουν μεγάλες ποσότητες γεωμετρικών δεδομένων είναι τα συστήματα GIS, γραφικά, συστήματα εικονικής πραγματικότητας και spatial βάσεις δεδομένων Τα batch γεωμετρικά προβλήματα, μπορούν συνήθως να αναχθούν σε κάποια βασικά γεωμετρικά προβλήματα και να επιλυθούν αναλόγως σε

23 BATCH ΠΡΟΒΛΗΜΑΤΑ ΣΤΗΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΓΕΩΜΕΤΡΙΑ Οι Goodrich et al ανέπτυξαν ΕΜ αλγορίθμους για γεωμετρικά προβλήματα χρησιμοποιώντας τα παρακάτω ΕΜ παραδείγματα για batch προβλήματα – Distribution sweeping – Persistent B-trees – Batched filtering – External fractional cascading – External marriage-before-conquest – Batched incremental construction Σημαντικοί αλγόριθμοι – SSSJ (scalable sweeping-based spatial join) – QPBSM – MPBSM

24 BATCH ΠΡΟΒΛΗΜΑΤΑ ΣΕ ΓΡΑΦΗΜΑΤΑ

25 Ερευνητές που ασχολήθηκαν με το συγκεκριμένο τομέα – Ullman & Yiannakakis (μεταβατική κλειστότητα) – Chiang et Al (ταξινόμηση & αντιμετάθεση) Ο Chiang πρότεινε τη σχεδίαση EM αλγορίθμων εξομοιώνοντας ακολουθιακά τη χρήση ενός παράλληλου αλγορίθμου για το ίδιο πρόβλημα

26 HASHING ΓΙΑ ONLINE ΑΝΑΖΗΤΗΣΗ ΣΕ DICTIONARIES Online δομές δεδομένων που υποστηρίζουν dictionary λειτουργίες όπως εισαγωγή, διαγραφή και αναζήτηση Δύο τύποι ΕΜ dictionaries: hashing και tree- based Πλεονέκτημα hashing: ο αναμενόμενος αριθμός συγκρίσεων ανά λειτουργία είναι σταθερός και ανεξάρτητος του N

27 HASHING Hash συνάρτηση hash : {όλα τα δυνατά κλειδιά} → {0, 1, 2, …, Κ-1} Οι αλγόριθμοι διαφοροποιούνται για το πώς επιλύουν τις συγκρούσεις Στόχος: ανά αναζήτηση, Ο(1) ανά εισαγωγή και διαγραφή Δυναμικές δομές hashing

28 ΔΥΝΑΜΙΚΟ HASHING Δύο κατηγορίες – Directory – Direcotryless Directory – Πίνακας μεγέθους 2 d από κελιά – Τα αντικείμενα αποθηκεύονται σε κελιά ανάλογα με τα d τελευταία bits της hash διεύθυνσής τους – Κάθε κελί έχει ένα δείκτη προς το block που αποθηκεύονται τα αντικείμενα – 2 Ι/Οs ανά αναζήτηση – Διάσπαση και συνένωση κελιών. Κάθε κελί έχει ένα τοπικό βάθος b. Μπορεί να μοιράζεται το ίδιο block με άλλα κελιά – Blocks κατά 67% γεμάτα

29 ΔΥΝΑΜΙΚΟ HASHING Directoryless – Δεν υπάρχει directory – 1 Ι/Ο ανά αναζήτηση – Χρησιμοποιούνται λίστες υπερχείλισης – Τα blocks διασπώνται με προαποφασισμένη σειρά

30 ΔΥΝΑΜΙΚΟ HASHING

31 ΔΕΝΔΡΙΚΕΣ ΔΟΜΕΣ Τα αντικείμενα σε ένα δέντρο είναι ταξινομημένα Επιτρέπεται range αναζήτηση Συνηθισμένες δομές – B-trees και παραλλαγές – Ισοζυγισμένα Β-trees – Buffer trees

32 B-TREES Ένα block ανά κόμβο με Θ(Β) δείκτες ή αντικείμενα Multiway b-tree. – Βαθμός κάθε κόμβου Θ(Β) – Ύψος: – Αναζήτηση σε γραμμικό χρόνο – Εισαγωγή/ διαγραφή σε – Ερώτηση Παραλλαγές – Β + - tree. Αποθήκευση δεδομένων μόνο στα φύλλα – B* - tree. Μοίρασμα δεδομένων με γειτονικό κόμβο

33 SPATIAL ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αποθήκευση και ερώτηση δεδομένων χώρου Δύο είδη χωρικών δομών – Data-driven Βασίζονται στο διαχωρισμό των ίδιων των αντικειμένων Π.χ R-trees, kd-trees – Space-driven Διαχωρισμός του χώρου των αντικειμένων Π.χ quad δέντρα, αρχεία grid Γνωστές δομές – Cross tree D-διάστατη έκδοση του Β-tree Data-driven διαχωρισμός στα πάνω επίπεδα, space-driven κάτω Ερωτήσεις σε Εισαγωγές – διαγραφές σε

34 SPATIAL ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ R-tree – Εσωτερικοί κόμβοι έχουν βαθμό Θ(Β) – Φύλλα : Θ(Β) αντικείμενα – Τα δεδομένα γειτονικών κόμβων επιτρέπεται να επικαλύπτονται

35 ΔΥΝΑΜΙΚΕΣ & ΚΙΝΗΤΙΚΕΣ ΔΟΜΕΣ Ολοένα και περισσότερος αριθμός προβλημάτων με δεδομένα/αντικείμενα που αλλάζουν ή κινούνται Αυτοκίνητα, κινητά τηλέφωνα, αεροπλάνα κτλ. Δύο τεχνικές – Υπάρχουσες δομές δεδομένων και συνεχή ενημέρωση – Αποθήκευση τροχιάς και ταχύτητας κάθε αντικειμένου Ενημέρωση μόνο όταν αλλάζει κάποιο από τα παραπάνω Κάθε στιγμή ξέρουμε τη θέση του αντικειμένου Περισσότερες διαστάσεις - Πολυπλοκότητα

36 ΕΠΕΞΕΡΓΑΣΙΑ STRING Πολλές μέθοδοι – Ανεστραμμένα αρχεία (όπως το ευρετήριο στο τέλος των βιβλίων) – String B-trees Strings στα φύλλα Εσωτερικοί κόμβοι: κλειδιά αναζήτησης – SB-tree

37 ΕΠΕΞΕΡΓΑΣΙΑ STRINGS Suffix tree – Δέντρο προθεμάτων – Γρήγορη αναζήτηση σε γραμμικό χρόνο με το μέγεθος του string αναζήτησης Suffix array – Περιλαμβάνει μόνο τα φύλλα του suffix tree σε συμμετρική σειρά πρόσβασης

38 ΔΥΝΑΜΙΚΗ ΚΑΤΑΝΟΜΗ ΜΝΗΜΗΣ Το μέγεθος της εσωτερικής μνήμης που κατανέμεται σε ένα πρόγραμμα μπορεί να ποικίλλει κατά τη διάρκεια της εκτέλεσης λόγω άλλων απαιτήσεων του συστήματος τη στιγμή εκείνη. Οι ΕΜ αλγόριθμοι θα πρέπει να μπορούν να προσαρμόζονται δυναμικά στους πόρους που είναι διαθέσιμοι ώστε να έχουν καλή απόδοση. Όλοι οι αλγόριθμοι που παρουσιάστηκαν υποθέτουν σταθερό μέγεθος μνήμης.

39 ΔΥΝΑΜΙΚΗ ΚΑΤΑΝΟΜΗ ΜΝΗΜΗΣ Οι Barve και Vitter ασχολούνται με το σχεδιασμό και την ανάλυση ΕΜ αλγορίθμων οι οποίοι προσαρμόζονται σε διαφορετικά μεγέθη μνήμης. Στο μοντέλο τους, σε έναν αλγόριθμο P κατανέμεται η εσωτερική μνήμη σε φάσεις. Κατά τη διάρκεια της i- th φάσης, στον P κατανέμεται mi blocks εσωτερικής μνήμης και η μνήμη αυτή παραμένει κατανεμημένη στον P μέχρι ο P ολοκληρώσει 2mi I/O λειτουργίες, όπου ξεκινά και η επόμενη φάση. Η διαδικασία συνεχίζεται μέχρι ο P να τελειώσει.


Κατέβασμα ppt "EXTERNAL MEMORY ALGORITHMS AND DATA STRUCTURES: DEALING WITH MASSIVE DATA Διδάσκοντες:Μακρής Χρήστος Βοηθητικό υλικό: Αντωνέλης Παναγιώτης"

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


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