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

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

Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Παράλληλες Βάσεις Δεδομένων.

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


Παρουσίαση με θέμα: "Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Παράλληλες Βάσεις Δεδομένων."— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Παράλληλες Βάσεις Δεδομένων

2 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων 1.Συγκεντρωτικά συστήματα ΒΔ 2.Συστήματα πελάτη - εξυπηρετητή (client-server) 3.Παράλληλα συστήματα ΒΔ 4.Κατανεμημένα συστήματα ΒΔ

3 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Σε τι χρειάζεται ο παραλληλισμός 1 Terabyte 10 MB/s Με 10 MB/s 1.2 μέρες για scan 1 Terabyte 1,000 x parallel 1.5 λεπτά για scan. παραλληλισμός: διάσπαση ενός μεγάλου προβλήματος σε μικρότερα τα οποία θα λυθούν παράλληλα Bandwidth

4 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Παράλληλα Συστήματα  Τα παράλληλα συστήματα ΒΔ αποτελούνται από ένα σύνολο πολλών επεξεργαστών και πολλών δίσκων διασυνδεδεμένων σε ένα γρήγορο δίκτυο.  Μία coarse-grain παράλληλη μηχανή αποτελείται από ένα μικρό αριθμό ισχυρών επεξεργαστών (** χοντρόκοκκοι **)  Μία μαζικά παράλληλη (massively parallel) ή fine grain παράλληλη μηχανή χρησιμοποιεί χιλιάδες μικρότερους επεξεργαστές (** λεπτόκοκκοι **)

5 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Παραδείγματα Δικτύων Διασύνδεσης

6 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Αρχιτεκτονικές Παράλληλων ΣΒΔ  Διαμοιρασμένη μνήμη (shared memory) : οι επεξεργαστές μοιράζονται κοινή μνήμη  Διαμοιρασμένο σύστημα δίσκων (shared disk) : οι επεξεργαστές μοιράζονται κοινό σύστημα δίσκων  «Τίποτα» διαμοιρασμένο (shared nothing) : οι επεξεργαστές ΔΕΝ μοιράζονται ούτε κοινή μνήμη ούτε κοινό δίσκο  Ιεραρχική : υβριδική αρχιτεκτονική – συνδυασμός των ανωτέρω

7 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Αρχιτεκτονικές Παράλληλων ΣΒΔ

8 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) Διαμοιρασμένη μνήμη (shared memory)  Ιδιαίτερα αποδοτική επικοινωνία μεταξύ των επεξεργαστών. Όλοι προσπελαύνουν τα δεδομένα στην (κοινή) μνήμη χωρίς να χρειάζεται να τα μετακινήσουν από εκεί.  Πρόβλημα: δεν κλιμακώνεται πέρα από 32 ή 64 επεξεργαστές καθώς προκαλείται κυκλοφοριακή συμφόρηση (bottleneck) στον δίαυλο μνήμης. Συνήθως χρησιμοποιείται για χαμηλό βαθμό παραλληλισμού (4-8).

9 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) Διαμοιρασμένο σύστημα δίσκων (shared disk)  Ο δίαυλος μνήμης δεν είναι πια πρόβλημα αλλά τώρα η κυκλοφοριακή συμφόρηση συμβαίνει στη σύνδεση με το σύστημα δίσκων  Ανοχή σφαλμάτων (fault-tolerance). Εάν αποτύχει ένας επεξεργαστής, οι υπόλοιποι αναλαμβάνουν τις εργασίες του αφού η ΒΔ είναι αποθηκευμένη σε δίσκους προσπελάσιμους από όλους  Κλιμάκωση σε κάπως μεγαλύτερο αριθμό επεξεργαστών  Τα πρώτα εμπορικά συστήματα: IBM Sysplex και DEC clusters (τώρα Compaq) που έτρεχαν Rdb (τώρα Oracle Rdb)

10 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) «Τίποτα» διαμοιρασμένο (shared nothing) Ένας «κόμβος» αποτελείται από έναν επεξεργαστή, μια μνήμη και ένα σύστημα δίσκων. Οι κόμβοι είναι συνδεδεμένοι μεταξύ τους. Κάθε κόμβος παίζει το ρόλο του εξυπηρετητή για τα δεδομένα που είναι αποθηκευμένα στο σύστημα δίσκων του. Η κλιμάκωση μπορεί να γίνει σε χιλιάδες επεξεργαστές Πρόβλημα: κόστος επικοινωνίας μεταξύ επεξεργαστών και η προσπέλαση δεδομένων σε μη τοπικούς δίσκους (απαιτείται λογισμικό αποστολής δεδομένων από το έναν κόμβο στον άλλο) Εμπορικά συστήματα: Teradata, Tandem, Oracle-n CUBE

11 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) «Ιεραρχική αρχιτεκτονική Το ανώτερο επίπεδο μπορεί να ακολουθεί την αρχιτεκτονική «τίποτα» διαμοιρασμένου ενώ εσωτερικά κάθε κόμβος μπορεί να είναι διαμοιρασμένης μνήμης ή διαμοιρασμένου συστήματος δίσκων (σε πολλά επίπεδα)

12 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Παραδείγματα Παράλληλων Συστημάτων (9/1995) Shared Nothing Teradata: 400 nodes Tandem: 110 nodes IBM / SP2 / DB2: 128 nodes Informix/SP2 48 nodes ATT & Sybase ? nodes Shared Disk Oracle170 nodes DEC Rdb 24 nodes Shared Memory Informix 9 nodes RedBrick ? nodes

13 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Μέτρα Απόδοσης  Δύο κύρια μέτρα απόδοσης:  Ρυθμός εξόδου ή ολοκλήρωσης (throughput): ο αριθμός των εργασιών που μπορούν να ολοκληρωθούν σε συγκεκριμένο χρονικό διάστημα  Χρόνος απόκρισης (response time) : ο χρόνος που απαιτείται για να ολοκληρωθεί μία εργασία από τη στιγμή που θα υποβληθεί

14 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Μέτρα Απόδοσης Επιτάχυνση (Speed-Up) Περισότεροι πόροι σημαίνει αναλογικά λιγότερος χρόνος για ένα δοσμένη ποσότητα δεδομένων degree of ||-ism Xact/sec. (throughput) Ιδανική

15 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Μέτρα Απόδοσης Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός degree of ||-ism Ιδανική Xact/sec. (throughput)

16 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Μέτρα Απόδοσης Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός degree of ||-ism sec./Xact (response time) Ιδανική

17 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Αρχιτεκτονικές Παράλληλων ΣΒΔ Διαμοιραζόμενης Μνήμης Shared Memory (SMP) Διαμοιραζόμενου Δίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) CLIENTS Memory Processors Εύκολο στον προγραμματισμό Ακριβό στην κατασκευή Δύσκολη κλιμάκωση Sequent, SGI, Sun Μια μέση επιβάρυνση 1% για κάθε επιπρόσθετη CPU σημαίνει ότι η μέγιστη επιτάχυνση είναι 37, πρόσθεση νέων CPU οδηγεί σε επιβράδυνση, 1000 CPU Μόνο 4% πιο γρήγορες από ένα σύστημα με 1 CPU

18 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 Αρχιτεκτονικές Παράλληλων ΣΒΔ Διαμοιραζόμενης Μνήμης Shared Memory (SMP) Διαμοιραζόμενου Δίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) CLIENTS Memory Processors Εύκολο στον προγραμματισμό Ακριβό στην κατασκευή Δύσκολη κλιμάκωση Δύσκολο στον προγραμματισμό Οικονομικό στην κατασκευή Εύκολη κλιμάκωση Sequent, SGI, Sun VMScluster, Sysplex Tandem, Teradata, SP2

19 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Τύποι Παραλληλίας  Παραλληλισμός μέσω σωληνωτής εκτέλεσης (pipeline parallelism): πολλές μηχανές που η καθεμία εκτελεί ένα βήμα μιας διαδικασίας πολλών βημάτων  Παραλληλισμός με διάσπαση (partition parallelism): πολλές μηχανές που εκτελούν την ίδια λειτουργία σε διαφορετικά τμήματα των δεδομένων  Και οι δύο τύποι παραλληλισμού είναι δυνατοί στα ΣΔΒΔ Pipeline Partition Any Sequential Program Any Sequential Program Sequential Any Sequential Program Any Sequential Program outputs split N ways, inputs merge M ways

20 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 ΣΔΒΔ: Η επιτυχία του παραλληλισμού zDBMSs are the most (only?) successful application of parallelism. yTeradata, Tandem vs. Thinking Machines, KSR.. yEvery major DBMS vendor has some || server yWorkstation manufacturers now depend on || DB server sales. zReasons for success: yBulk-processing (= partition ||-ism). yNatural pipelining. yInexpensive hardware can do the trick! yUsers/app-programmers don’t need to think in ||

21 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Αυτόματη Διαμέριση Δεδομένων Διαμερισμός ενός πίνακα Ταξινόμηση, επιλογή n περιοχών έτσι ώστε κάθε περιοχή να περιέχει περίπου τον ίδιο αριθμό πλειάδων, πλειάδες στην περιοχή i στον επεξεργαστή i A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z ΠεριοχήκατακερματισμόςRound Robin

22 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Αυτόματη Διαμέριση Δεδομένων A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z περιοχήKατακερματισμόςround robin Μια σύναρτηση κατακερματισμού εφαρμόζεται σε επιλεγμένα γνωρίσματα κάθε πλειάδας και μας δίνει τον αριθμό του επεξεργαστή

23 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Αυτόματη Διαμέριση Δεδομένων A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z περιοχήκατακερματισμόςRound Robin H i-οστή πλειάδα πάει στον i mod n επεξεργαστή

24 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Αυτόματη Διαμέριση Δεδομένων  Round robin καλό για προσπέλαση όλης της σχέσης  Αν μόνο ένα υποσύνολο διαμέριση περιοχής και κατακερματισμού (αν ισότητα) καλύτερα – αν βέβαια η επιλογή αφορά τα ίαδια γνωρίσματα  Επιλογή περιοχής τότε διαμέριση περιοχής καλύτερη  Το data skew πρόβλημα

25 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Αυτόματη Διαμέριση Δεδομένων Shared disk and memory less sensitive to partitioning, Shared nothing benefits from "good" partitioning A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z Καλός για συνενώσεις ισότητας, Ερωτήσεις περιοχής ομαδοποίηση Καλός για συνενώσεις ισότητας Καλός τρόπος για καταμερισμό φορτίου ΠεριοχήΚατακερματισμόςRound Robin

26 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Παραλληλισμός Σειραικού κώδικα  split  merge  δίκτυο ροής δεδομένων (data flow network)

27 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Διαφορετικοί Τύποι Παραλληλισμού σε ΣΔΒΔ zΠαράλληλη εκτέλεση μιας πράξης (Intra-operator parallelism) y όλες οι μηχανές εργάζονται στην εκτέλεση μιας συγκεκριμένης πράξης (scan, sort, join) zΠαράλληλη εκτέλεση πολλών πράξεων (Inter-operator parallelism) y κάθε πράξη μπορεί να εκτελείται ταυτόχρονα σε διαφορετικούς κόμβους (και χρήση σωληνωτής εκτέλεσης) zΠαράλληλη εκτέλεση ερωτήσεων (Inter-query parallelism) y διαφορετικές ερωτήσεις εκτελούνται σε διαφορετικούς κόμβους zΘα επικεντρωθούμε στο πως μπορούμε να εκτελέσουμε παράλληλα μια πράξη (intra-operator ||-ism)

28 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Παράλληλο Scan zScan in parallel, and merge. zSelection may not require all sites for range or hash partitioning. zIndexes can be built at each partition. zQuestion: How do indexes differ in the different schemes? yThink about both lookups and inserts! yWhat about unique indexes?

29 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Παράλληλη Ταξινόμηση zCurrent records: y8.5 Gb/minute, shared-nothing; Datamation benchmark in 2.41 secs (UCB students! zΙδέα 1 zΚαλύτερη ιδέα yScan in parallel, and range-partition as you go. yAs tuples come in, begin “local” sorting on each yResulting data is sorted, and range-partitioned. yProblem: skew! ySolution: “sample” the data at start to determine partition points (splitting vector)

30 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 Jim Gray & Gordon Bell: VLDB 95 Parallel Database Systems Survey Παράλληλες Συναθροιστικές zFor each aggregate function, need a decomposition: ycount(S) = S count(s(i)), ditto for sum() yavg(S) = (S sum(s(i))) / S count(s(i)) yand so on... zFor groups: ySub-aggregate groups close to the source. yPass each sub-aggregate to its group’s site. xChosen via a hash fn.

31 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Παράλληλες Συνενώσεις zNested loop: yEach outer tuple must be compared with each inner tuple that might join. yEasy for range partitioning on join cols, hard otherwise! zSort-Merge (or plain Merge-Join): ySorting gives range-partitioning. xBut what about handling 2 skews? yMerging partitioned tables is local.

32 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Parallel Hash Join zIn first phase, partitions get distributed to different sites: yA good hash function automatically distributes work evenly! zDo second phase at each site. zAlmost always the winner for equi-join. Original Relations (R then S) OUTPUT 2 B main memory buffers Disk INPUT 1 hash function h B-1 Partitions 1 2 B-1... Phase 1

33 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Dataflow Network for || Join zGood use of split/merge makes it easier to build parallel versions of sequential join code.

34 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Παραλληλισμός Πλάνου Εκτέλεσης Ερώτησης zComplex Queries: Inter-Operator parallelism yPipelining between operators: xnote that sort and phase 1 of hash-join block the pipeline!! yBushy Trees A BRS Sites 1-4Sites 5-8 Sites 1-8

35 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Observations zIt is relatively easy to build a fast parallel query executor yS.M.O.P. zIt is hard to write a robust and world- class parallel query optimizer. yThere are many tricks. yOne quickly hits the complexity barrier. yStill open research!

36 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 Parallel Query Optimization zCommon approach: 2 phases yPick best sequential plan (System R algorithm) yPick degree of parallelism based on current system parameters. z“Bind” operators to processors yTake query tree, “decorate” as in previous picture.

37 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 zBest serial plan != Best || plan! Why? zTrivial counter-example: yTable partitioned with local secondary index at two nodes yRange query: all of node 1 and 1% of node 2. yNode 1 should do a scan of its partition. yNode 2 should use secondary index. zSELECT * FROM telephone_book WHERE name < “NoGood”; What’s Wrong With That? N..Z Table Scan A..M Index Scan

38 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Περίληψη z||-ism natural to query processing: yBoth pipeline and partition ||-ism! zShared-Nothing vs. Shared-Mem yShared-disk too, but less standard yShared-mem easy, costly. Doesn’t scaleup. yShared-nothing cheap, scales well, harder to implement. zIntra-op, Inter-op, & Inter-query ||-ism all possible.

39 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Περίληψη zData layout choices important! zMost DB operations can be done partition-|| ySort. ySort-merge join, hash-join. zComplex plans. yAllow for pipeline-||ism, but sorts, hashes block the pipeline. yPartition ||-ism acheived via bushy trees.

40 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Περίληψη zHardest part of the equation: optimization. y2-phase optimization simplest, but can be ineffective. yMore complex schemes still at the research stage. zWe haven’t said anything about Xacts, logging. yEasy in shared-memory architecture. yTakes some care in shared-nothing.


Κατέβασμα ppt "Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Παράλληλες Βάσεις Δεδομένων."

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


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