Docstoc

parallel

Document Sample
parallel Powered By Docstoc
					                                     Παράλληλες
                                Βάσεις Δεδομένων




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




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




Βάσεις Δεδομένων II 2001-2002                        Ευαγγελία Πιτουρά   2
                                                    Σε τι χρειάζεται ο παραλληλισμός

       Με 10 MB/s                                       1,000 x parallel
1.2 μέρες για scan                                      1.5 λεπτά για scan.




     1 Terabyte                                               1 Terabyte




              10 MB/s
                             παραλληλισμός: διάσπαση ενός μεγάλου προβλήματος σε
                             μικρότερα τα οποία θα λυθούν παράλληλα


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



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




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




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



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


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




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


Διαμοιρασμένη μνήμη (shared memory)


       Ιδιαίτερα αποδοτική επικοινωνία μεταξύ των
        επεξεργαστών. Όλοι προσπελαύνουν τα δεδομένα στην
        (κοινή) μνήμη χωρίς να χρειάζεται να τα μετακινήσουν από
        εκεί.

       Πρόβλημα: δεν κλιμακώνεται πέρα από 32 ή 64
        επεξεργαστές καθώς προκαλείται κυκλοφοριακή συμφόρηση
        (bottleneck) στον δίαυλο μνήμης. Συνήθως
        χρησιμοποιείται για χαμηλό βαθμό παραλληλισμού (4-8).




Βάσεις Δεδομένων II 2001-2002                     Ευαγγελία Πιτουρά   8
                                Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.)


 Διαμοιρασμένο σύστημα δίσκων (shared disk)

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



Βάσεις Δεδομένων II 2001-2002                    Ευαγγελία Πιτουρά   9
                                    Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.)


 «Τίποτα» διαμοιρασμένο (shared nothing)

       • Ένας «κόμβος» αποτελείται από έναν επεξεργαστή, μια μνήμη και
         ένα σύστημα δίσκων. Οι κόμβοι είναι συνδεδεμένοι μεταξύ τους.
         Κάθε κόμβος παίζει το ρόλο του εξυπηρετητή για τα δεδομένα που
         είναι αποθηκευμένα στο σύστημα δίσκων του.

       • Η κλιμάκωση μπορεί να γίνει σε χιλιάδες επεξεργαστές

       • Πρόβλημα: κόστος επικοινωνίας μεταξύ επεξεργαστών και η
         προσπέλαση δεδομένων σε μη τοπικούς δίσκους (απαιτείται
         λογισμικό αποστολής δεδομένων από το έναν κόμβο στον άλλο)

       • Εμπορικά συστήματα: Teradata, Tandem, Oracle-n CUBE




Βάσεις Δεδομένων II 2001-2002                          Ευαγγελία Πιτουρά   10
                                  Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.)




  «Ιεραρχική αρχιτεκτονική

        Το ανώτερο επίπεδο μπορεί να ακολουθεί την αρχιτεκτονική
          «τίποτα» διαμοιρασμένου ενώ εσωτερικά κάθε κόμβος
          μπορεί να είναι διαμοιρασμένης μνήμης ή διαμοιρασμένου
          συστήματος δίσκων (σε πολλά επίπεδα)




Βάσεις Δεδομένων II 2001-2002                     Ευαγγελία Πιτουρά   11
                         Παραδείγματα Παράλληλων Συστημάτων (9/1995)


                 Shared Nothing
                    Teradata: 400 nodes
                    Tandem:           110 nodes
                    IBM / SP2 / DB2: 128 nodes
                    Informix/SP2       48 nodes
                    ATT & Sybase        ? nodes

                 Shared Disk
                    Oracle               170 nodes
                    DEC Rdb               24 nodes

                 Shared Memory
                    Informix                 9 nodes
                    RedBrick                 ? nodes



Βάσεις Δεδομένων II 2001-2002                          Ευαγγελία Πιτουρά   12
                                                    Μέτρα Απόδοσης



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




Βάσεις Δεδομένων II 2001-2002                  Ευαγγελία Πιτουρά   13
                                                       Μέτρα Απόδοσης



Επιτάχυνση (Speed-Up)
    Περισότεροι πόροι σημαίνει
     αναλογικά λιγότερος                                       Ιδανική
     χρόνος για ένα δοσμένη




                                 (throughput)
     ποσότητα δεδομένων




                                   Xact/sec.    degree of ||-ism



Βάσεις Δεδομένων II 2001-2002                    Ευαγγελία Πιτουρά   14
                                                    Μέτρα Απόδοσης




Κλιμάκωση (Scale-Up)                                      Ιδανική




                                (throughput)
    Αν οι πόροι αυξάνονται σε




                                  Xact/sec.
     αναλογία με το μέγεθος
     δεδομένων, ο χρόνος
     είναι σταθερός
                                               degree of ||-ism




Βάσεις Δεδομένων II 2001-2002                  Ευαγγελία Πιτουρά    15
                                                       Μέτρα Απόδοσης




                                (response time)
Κλιμάκωση (Scale-Up)




                                   sec./Xact
    Αν οι πόροι αυξάνονται σε
                                                            Ιδανική
     αναλογία με το μέγεθος
     δεδομένων, ο χρόνος
     είναι σταθερός
                                                  degree of ||-ism




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

Διαμοιραζόμενης Μνήμης            Διαμοιραζόμενου Δίσκου       Τίποτα διαμοιρασμένο
   Shared Memory                       Shared Disk               Shared Nothing
        (SMP)                                                       (δικτυακές)


        CLIENTS                     CLIENTS                  CLIENTS

      Processors
       Memory



Εύκολο στον προγραμματισμό       Μια μέση επιβάρυνση 1% για κάθε επιπρόσθετη CPU
Ακριβό στην κατασκευή
                                 σημαίνει ότι η μέγιστη επιτάχυνση είναι 37,
Δύσκολη κλιμάκωση
                                 πρόσθεση νέων CPU οδηγεί σε επιβράδυνση, 1000
Sequent, SGI, Sun                CPU Μόνο 4% πιο γρήγορες από ένα σύστημα με 1
                                 CPU
 Βάσεις Δεδομένων II 2001-2002                             Ευαγγελία Πιτουρά   17
                                                  Αρχιτεκτονικές Παράλληλων ΣΒΔ

Διαμοιραζόμενης Μνήμης            Διαμοιραζόμενου Δίσκου        Τίποτα διαμοιρασμένο
   Shared Memory                       Shared Disk                Shared Nothing
        (SMP)                                                        (δικτυακές)


        CLIENTS                     CLIENTS                   CLIENTS

      Processors
       Memory



Εύκολο στον προγραμματισμό                                  Δύσκολο στον προγραμματισμό
Ακριβό στην κατασκευή                                       Οικονομικό στην κατασκευή
Δύσκολη κλιμάκωση                VMScluster, Sysplex        Εύκολη κλιμάκωση
Sequent, SGI, Sun
                                                           Tandem, Teradata, SP2
 Βάσεις Δεδομένων II 2001-2002                              Ευαγγελία Πιτουρά   18
                                                                          Τύποι Παραλληλίας


     Παραλληλισμός μέσω σωληνωτής εκτέλεσης (pipeline parallelism):
      πολλές μηχανές που η καθεμία εκτελεί ένα βήμα μιας διαδικασίας
      πολλών βημάτων
     Παραλληλισμός με διάσπαση (partition parallelism): πολλές
      μηχανές που εκτελούν την ίδια λειτουργία σε διαφορετικά τμήματα
      των δεδομένων
     Και οι δύο τύποι παραλληλισμού είναι δυνατοί στα ΣΔΒΔ
                                             Any                       Any
                                          Sequential                Sequential
          Pipeline                         Program                   Program




          Partition                        Sequential
                                               Any
                                            Sequential
                                                                          Any
                                             Sequential
                                             Sequential                Sequential
                                                                       Sequential
                                              Program                   Program

                        outputs split N ways, inputs merge M ways
Βάσεις Δεδομένων II 2001-2002                                           Ευαγγελία Πιτουρά   19
                                   ΣΔΒΔ: Η επιτυχία του παραλληλισμού


  DBMSs are the most (only?) successful application of parallelism.
     Teradata, Tandem vs. Thinking Machines, KSR..
     Every major DBMS vendor has some || server
     Workstation manufacturers now depend on || DB server sales.
  Reasons for success:
     Bulk-processing (= partition ||-ism).
     Natural pipelining.
     Inexpensive hardware can do the trick!
     Users/app-programmers don’t need to think in ||




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

Διαμερισμός ενός πίνακα
Περιοχή                 κατακερματισμός                                    Round Robin




A...E F...J K...N O...S T...Z      A...E F...J K...N O...S T...Z    A...E F...J K...N O...S T...Z


                Ταξινόμηση, επιλογή n περιοχών έτσι ώστε κάθε περιοχή
                να περιέχει περίπου τον ίδιο αριθμό πλειάδων, πλειάδες
                στην περιοχή i στον επεξεργαστή i



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



περιοχή                              Kατακερματισμός                        round robin




A...E F...J K...N O...S T...Z      A...E F...J K...N O...S T...Z    A...E F...J K...N O...S T...Z


                Μια σύναρτηση κατακερματισμού εφαρμόζεται σε
                επιλεγμένα γνωρίσματα κάθε πλειάδας και μας δίνει τον
                αριθμό του επεξεργαστή



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



περιοχή                              κατακερματισμός                        Round Robin




A...E F...J K...N O...S T...Z      A...E F...J K...N O...S T...Z    A...E F...J K...N O...S T...Z


                H i-οστή πλειάδα πάει στον i mod n επεξεργαστή




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




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




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


   Περιοχή                              Κατακερματισμός                       Round Robin




 A...E F...J K...N O...S T...Z      A...E F...J K...N O...S T...Z    A...E F...J K...N O...S T...Z

Καλός για συνενώσεις ισότητας, Καλός για                                Καλός τρόπος για
Ερωτήσεις περιοχής             συνενώσεις ισότητας                      καταμερισμό φορτίου
ομαδοποίηση


    Shared disk and memory less sensitive to partitioning,
    Shared nothing benefits from "good" partitioning
    Βάσεις Δεδομένων II 2001-2002                                    Ευαγγελία Πιτουρά      25
                                  Παραλληλισμός Σειραικού κώδικα



  split
  merge
  δίκτυο ροής δεδομένων (data flow network)




Βάσεις Δεδομένων II 2001-2002                  Ευαγγελία Πιτουρά   26
                                 Διαφορετικοί Τύποι Παραλληλισμού σε ΣΔΒΔ




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



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



 Scan in parallel, and merge.
 Selection may not require all sites for range or hash
  partitioning.
 Indexes can be built at each partition.
 Question: How do indexes differ in the different
  schemes?
   Think about both lookups and inserts!
   What about unique indexes?



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




    Current records:
       8.5 Gb/minute, shared-nothing; Datamation benchmark in 2.41 secs
         (UCB students! http://now.cs.berkeley.edu/NowSort/)

    Ιδέα 1
    Καλύτερη ιδέα
       Scan in parallel, and range-partition as you go.
       As tuples come in, begin “local” sorting on each
       Resulting data is sorted, and range-partitioned.
       Problem: skew!
       Solution: “sample” the data at start to determine partition points
         (splitting vector)



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



 Nested loop:
    Each outer tuple must be compared with each inner tuple that might join.
    Easy for range partitioning on join cols, hard otherwise!
 Sort-Merge (or plain Merge-Join):
    Sorting gives range-partitioning.
       But what about handling 2 skews?
    Merging partitioned tables is local.




Βάσεις Δεδομένων II 2001-2002                             Ευαγγελία Πιτουρά     31
Parallel Hash Join


                                                                       Partitions
                                                       OUTPUT
                                                           1                        1
  Phase 1


                                        INPUT             2
                                              hash                                  2
            Original Relations   ...        function
                                               h
                (R then S)                                                          B-1
                                                          B-1
                                 Disk    B main memory buffers           Disk

    In first phase, partitions get distributed to different sites:
      A good hash function automatically distributes work
        evenly!
    Do second phase at each site.
    Almost always the winner for equi-join.



Βάσεις Δεδομένων II 2001-2002                             Ευαγγελία Πιτουρά     32
Dataflow Network for || Join




   Good use of split/merge makes it easier to build parallel
    versions of sequential join code.
Βάσεις Δεδομένων II 2001-2002                    Ευαγγελία Πιτουρά   33
                                Παραλληλισμός Πλάνου Εκτέλεσης Ερώτησης




 Complex Queries: Inter-Operator parallelism
   Pipelining between operators:
      note that sort and phase 1 of hash-join block the
        pipeline!!
   Bushy Trees


                                                Sites 1-8

              Sites 1-4                                                  Sites 5-8

                        A         B              R                   S

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




It is relatively easy to build a fast parallel
 query executor
     S.M.O.P.
It is hard to write a robust and world-
 class parallel query optimizer.
     There are many tricks.
     One quickly hits the complexity barrier.
     Still open research!
Βάσεις Δεδομένων II 2001-2002         Ευαγγελία Πιτουρά   35
Parallel Query Optimization




Common approach: 2 phases
     Pick best sequential plan (System R
      algorithm)
     Pick degree of parallelism based on current
      system parameters.
“Bind” operators to processors
     Take query tree, “decorate” as in previous
      picture.

Βάσεις Δεδομένων II 2001-2002         Ευαγγελία Πιτουρά   36
What’s Wrong With That?



 Best serial plan != Best || plan! Why?
 Trivial counter-example:
   Table partitioned with local secondary index at two nodes
   Range query: all of node 1 and 1% of node 2.
   Node 1 should do a scan of its partition.
   Node 2 should use secondary index.
 SELECT *
   FROM telephone_book
                                                 Table        Index
  WHERE name < “NoGood”;                         Scan         Scan




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




 ||-ism natural to query processing:
   Both pipeline and partition ||-ism!
 Shared-Nothing vs. Shared-Mem
   Shared-disk too, but less standard
   Shared-mem easy, costly. Doesn’t scaleup.
   Shared-nothing cheap, scales well, harder to
     implement.
 Intra-op, Inter-op, & Inter-query ||-ism all possible.



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



 Data layout choices important!
 Most DB operations can be done partition-||
   Sort.
   Sort-merge join, hash-join.
 Complex plans.
   Allow for pipeline-||ism, but sorts, hashes block the pipeline.
   Partition ||-ism acheived via bushy trees.




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



 Hardest part of the equation: optimization.
  2-phase optimization simplest, but can be
    ineffective.
  More complex schemes still at the research stage.
 We haven’t said anything about Xacts, logging.
  Easy in shared-memory architecture.
  Takes some care in shared-nothing.




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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:17
posted:12/12/2011
language:
pages:39