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

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

Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παραλληλοποίηση κώδικα.

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


Παρουσίαση με θέμα: "Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παραλληλοποίηση κώδικα."— Μεταγράφημα παρουσίασης:

1 Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παραλληλοποίηση κώδικα

2 Παράλληλες εφαρμογές Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Επιστημονικές εφαρμογές, μεγάλες βάσεις δεδομένων, visualization  Έμφαση στην επεξεργαστική ισχύ  Προβλήματα grand-challenge 2

3 Προβλήματα grand-challenge Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Μεγάλες προκλήσεις της πληροφορικής  3-διάστατη οπτικοποίηση σε πραγματικό χρόνο (3-d rendering). Εφαρμογές: εικονική πραγματικότητα, 3-d graphics, τηλεόραση, κινηματογράφος  Αναζήτηση σε μεγάλες βάσεις δεδομένων. Πχ. Google: 6000 επεξεργαστές, δίσκοι, 1,5 δισεκ. σελίδες  Σχεδιασμός μεγάλων οργανικών μορίων. Εφαρμογές: σχεδιασμός φαρμάκων, βιοχημεία  Εξομοίωση μεγάλων συστημάτων. Εφαρμογές: κίνηση ουράνιων σωμάτων, μελέτη ωκεάνιων ρευμάτων, πρόγνωση καιρού, αεροδυναμική 3

4 Πρόβλημα προγραμματισμού Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Είμαστε συνηθισμένοι/εκπαιδευμένοι σε συγγραφή σειριακού κώδικα  Μεγάλος όγκος σειριακού κώδικα προϋπάρχει  Στόχος μετατροπή σειριακού κώδικα σε παράλληλο 4

5 Μετατροπή σειριακού κώδικα σε παράλληλο Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Σειριακός κώδικας ΕργασίεςΔιεργασίεςΕπεξεργαστές P1P1P2 P3P4 Αποσύνθεση Ανάθεση Χρονοδιάγραμμα 5

6 Παραλληλοποίηση κώδικα Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Αποσύνθεση: κώδικας σε σειριακή μορφή μετατρέπεται σε γράφο εξάρτησης  Ανάθεση: οι κόμβοι του γράφου εξάρτησης ομαδοποιούνται σε διεργασίες και αποφασίζουμε σε ποιον επεξεργαστή θα εκτελεστεί κάθε διεργασία  Χρονοδρομολόγηση: αποφασίζουμε πότε θα εκτελεστεί κάθε διεργασία. Συχνά συνδυάζεται με την ανάθεση και γίνεται μαζί 6

7 Παράλληλοι μεταφραστές Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Παράλληλη Fortran, παράλληλη C, C++  Πλήρης αυτοματοποίηση δύσκολη ιδίως στο επίπεδο αποσύνθεσης σειριακού κώδικα σε εργασίες. Βέλτιστη ομαδοποίηση σε διεργασίες επίσης δύσκολη και με πολλές ελεύθερες ή άγνωστες παραμέτρους 7

8 Αποσύνθεση κώδικα Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας for (i=1 to 6) {/* Φάση 1 */ y[i] = f(x[i]); } sum = 0; for (i=1 to 6) {/*Φάση 2*/ sum = sum + y[i]; } y[1] = f(x[1]); y[2] = f(x[2]);... y[6] = f(x[6]); sum = 0; sum = sum + y[1]; sum = sum + y[2];... sum = sum + y[6]; 8

9 Αποσύνθεση παράδειγμα Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας ffff x[5]x[4]x[3]x[2] f x[1] f x[6] sum Φάση 1 Φάση 2 Αυτόματη αποσύνθεση y[5]y[4]y[3]y[2]y[1]y[6] 9

10 Αποσύνθεση παράδειγμα (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας ffff x[5]x[4]x[3]x[2] f x[1] f x[6] sum Φάση 1 Φάση 2 Βέλτιστη αποσύνθεση + y[5] y[4] y[3] y[2] y[1] y[6] sum1 sum2sum3 sum4 sum1=y[1]+y[2]; sum2=y[3]+y[4]; sum3=y[5]+y[6]; sum4=sum1+sum2; sum=sum3+sum4; 10

11 Αποσύνθεση συμπεράσματα Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Η απλή μηχανική αποσύνθεση σε ΓΕ σχετικά απλή.  Η βελτιστοποίηση του κώδικα ίσως απαιτεί την τροποποίηση του σειριακού κώδικα.  Βελτιστοποίηση δύσκολη 11

12 Ανάθεση εργασιών σε διεργασίες Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Ανάθεση = ομαδοποίηση εργασιών σε ομάδες (διεργασίες). Κάθε διεργασία εκτελείται σε ένα επεξεργαστή.  Στόχοι ανάθεσης  Ίσο μοίρασμα φόρτου εργασίας  Ελαχιστοποίηση επικοινωνίας  Μείωση του χρόνου ανάθεσης 12

13 Εξισορρόπηση φόρτου εργασίας Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Εξισορρόπηση χρήσης CPU  Εξισορρόπηση χρήσης μνήμης  Εξισορρόπηση χρήσης I/O  Εξισορρόπηση επικοινωνίας 13

14 Κακή ανάθεση Φ.Ε. Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Τ σειρ = 30Σειριακός χρόνος εκτέλεσης Τ 3 = 25 Α Β Γ Παράλληλος χρόνος εκτέλεσης Τ παρ = Τ 3 = 25 Τ 1 = 3 Τ 2 = 2 Επιτάχυνση = 30/25 = 1,2 14

15 Βέλτιστη εξισορρόπηση Φ.Ε. Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Τ σειρ = 30Σειριακός χρόνος εκτέλεσης Τ 3 = 10 Α Β Γ Παράλληλος χρόνος εκτέλεσης Τ παρ = Τ 1 = Τ 2 = Τ 3 = 10 Τ 1 = 10 Τ 2 = 10 Επιτάχυνση = 30/10 = 3 15

16 Προβλήματα εξισορρόπησης Φ.Ε. Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Πώς εκτιμάμε το φόρτο εργασίας?  Εκ των προτέρων εκτίμηση (compile-time). Πλεονέκτημα: στατικός αλγόριθμος ανάθεσης. Μειονέκτημα: αγνοεί τις πραγματικές συνθήκες εκτέλεσης, πχ. cache-miss, network-traffic, κλπ  Εν θερμώ εκτίμηση (run-time). Πλεονέκτημα: δυνατότητα βέλτιστης διαχείρισης. Μειονέκτημα: δυναμική αναπροσαρμογή της ανάθεσης 16

17 Ελαχιστοποίηση επικοινωνίας Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Προσπάθεια διατήρησης στην ίδια ομάδα εκείνων των εργασιών που ανταλλάσουν δεδομένα  Ίδια ομάδα = ίδια διεργασία  Όλες οι εργασίες μιας διεργασίας εκτελούνται στον ίδιο επεξεργαστή = ελαχιστοποίηση επικοινωνίας 17

18 Ελαχιστοποίηση επικοινωνίας (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Κακή ανάθεση 18

19 Ελαχιστοποίηση επικοινωνίας (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Καλή ανάθεση 19

20 Μείωση χρόνου ανάθεσης Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Επιλογές διαδικασίας ανάθεσης: 1. Στατική ανάθεση 2. Ημι-στατική ανάθεση 3. Δυναμική ανάθεση 20

21 Στατική ανάθεση Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Γίνεται την ώρα της μετάφρασης (compile-time)  Γρήγοροι ευρηστικοί αλγόριθμοι  Δεν απασχολείται κάποιος διαχειριστής- επεξεργαστής την ώρα της εκτέλεσης  Πρόβλημα: αγνοεί τις πραγματικές συνθήκες εκτέλεσης του παράλληλου προγράμματος. Με αυτή την έννοια, όχι βέλτιστη ανάθεση 21

22 Ημιστατική ανάθεση Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Αρχικά, στατική ανάθεση  Κατόπιν, κατά τακτά χρονικά διαστήματα η ανάθεση τροποποιείται λαμβάνοντας υπ’ όψη τις συνθήκες εκτέλεσης σε κάθε επεξεργαστή μέχρι τώρα. 22

23 Δυναμική ανάθεση Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Οι εργασίες ομαδοποιούνται σε διεργασίες καθώς το πρόγραμμα εκτελείται. Δεν έχει προαποφασιστεί σε ποιον επεξεργαστή θα εκτελεστεί κάθε διεργασία  Ουρές εργασιών 1. Μια κοινή (κεντρική) ουρά 2. Πολλές κατανεμημένες ουρές 23

24 Δυναμική ανάθεση: Μια κεντρική ουρά Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας PU 1 PU 2 PU Ν T4 T3 T2 T ουρά 24

25 Δυναμική ανάθεση: Πολλές κατανεμημένες ουρές Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας PU 1 PU 2 PU Ν T6 T3 T ουρά 2 T9 T8 T5 T1 ουρά 1 T10 T7 T4 ουρά N 25

26 Χρονοδρομολόγηση (scheduling) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Χρονοδιάγραμμα (schedule) : Πότε θα εκτελεστεί η εργασία T? Σε ποιο επεξεργαστή?  Χρονοδρομολογητής (scheduler): πρόγραμμα διαχειριστής του χρονοδιαγράμματος  Συχνά η χρονοδρομολόγηση γίνεται σε συνδυασμό με την ανάθεση 26

27 Χρονοδρομολόγηση (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Ως προς τον αλγόριθμο:  Ντετερμινιστική χ/δ: υποθέτουμε ότι ο χρόνος εκτέλεσης των εργασιών είναι σταθερός και δεδομένος  Μη ντετερμινιστική χ/δ: υποθέτουμε ότι ο χρόνος εκτέλεσης των εργασιών είναι τυχαίος σύμφωνα με κάποια κατανομή  Ως προς την ανάθεση εργασιών σε επεξεργαστές:  στατική χ/δ: απόφαση σε compile-time  δυναμική χ/δ: απόφαση σε run-time 27

28 Ντετερμινιστική χ/δ Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Ντετερμινιστική χ/δ = η πιο απλή περίπτωση. Μακριά από την πραγματικότητα  Δύο είδη ανάλογα με το μοντέλο επικοινωνίας 1. μηδενικός χρόνος επικοινωνίας 2. μη-μηδενικός αλλά σταθερός χρόνος επικοινωνίας 28

29 Ντετερμινιστική χ/δ - μηδενικό κόστος επικοινωνίας Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Τ1 Τ2Τ3Τ4 Τ Παράδειγμα: 29

30 Ντετερμινιστική χ/δ - μηδενικό κόστος επικοινωνίας (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 3 επεξεργαστές Χρονοδιάγραμμα 1, t = 90 PU 1 PU 2 PU 3 T1 T2 T3T4 T

31 Ντετερμινιστική χ/δ - μηδενικό κόστος επικοινωνίας (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 3 επεξεργαστές Χρονοδιάγραμμα 2, t = 70 PU 1 PU 2 PU 3 T1 T2T3 T4 T

32 Ντετερμινιστική χ/δ - μηδενικό κόστος επικοινωνίας (4) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 3 επεξεργαστές Χρονοδιάγραμμα 3, t = 60 PU 1 PU 2 PU 3 T1 T2 T3 T4 T

33 Βέλτιστο χρονοδιάγραμμα Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Η βέλτιστη λύση δύσκολη σε γενικές γραμμές.  Εκθετικά αυξανόμενος αριθμός πιθανών σεναρίων. Πρόβλημα NP-complete  Χρήση ευρηστικών αλγορίθμων  Βέλτιστες λύσεις σε ειδικές περιπτώσεις 33

34 Ειδική περίπτωση 1: Δάσος εισόδου (εξόδου) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Ορισμός:  Δάσος εισόδου (εξόδου) καλείται ένας γράφος όπου κάθε κόμβος έχει μόνο μια ακμή εξόδου (εισόδου) 34

35 Χ/δ: δάσος εισόδου Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας  Υπάρχει η έννοια των επιπέδων  Προτεραιότητα με βάση το επίπεδο  Αναθέτουμε πρώτα τις εργασίες με τη μεγαλύτερη προτεραιότητα στον πρώτο διαθέσιμο επεξεργαστή.  Σεβόμαστε τις ακμές εξάρτησης 35

36 Χ/δ: δάσος εισόδου (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας ΑΒΓ ΔΕ ΗΘ Ζ Ι επίπεδο 4 επίπεδο 3 επίπεδο 2 επίπεδο PU1Α4Α4 Β4Β4 Δ3Δ3 Θ2Θ2 Ι1Ι1 PU2Γ4Γ4 Ε3Ε3 Ζ3Ζ3 Η2Η2 Παράδειγμα PU1Α4Α4 Δ3Δ3 Θ2Θ2 Ι1Ι1 PU2Β4Β4 Ε3Ε3 Η2Η2 PU3Γ4Γ4 Ζ3Ζ3 36

37 Ειδική περίπτωση 2: Δύο επεξεργαστές Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας ΑΒΓ ΔΕ ΗΘ Ζ Ι Παράδειγμα Κ 12 Βήμα 1: δίνουμε αυθαίρετα προτεραιότητα 1, 2 στα φύλλα Ι, Κ ( κόμβους χωρίς παιδιά ) 37

38 Ειδική περίπτωση 2: Δύο επεξεργαστές (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Βήμα 2: δίνουμε προτεραιότητα σε όλους τους κόμβους ( Η, Θ ) που έχουν όλα τα παιδιά τους γκρι Βάφουμε γκρι τα φύλλα που μόλις πήραν προτεραιότητα ΑΒΓ ΔΕ ΗΘ Ζ ΙΚ 38

39 Ειδική περίπτωση 2: Δύο επεξεργαστές (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Βήμα 2: δίνουμε προτεραιότητα σε όλους τους κόμβους ( Δ, Ε, Ζ ) που έχουν όλα τα παιδιά τους γκρι Βάφουμε γκρι τα φύλλα που μόλις πήραν προτεραιότητα ΑΒΓ ΔΕ ΗΘ Ζ ΙΚ 39

40 Ειδική περίπτωση 2: Δύο επεξεργαστές (4) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Βήμα 2: δίνουμε προτεραιότητα σε όλους τους κόμβους ( Α, Β, Γ ) που έχουν όλα τα παιδιά τους γκρι Βάφουμε γκρι τα φύλλα που μόλις πήραν προτεραιότητα ΑΒΓ ΔΕ ΗΘ Ζ ΙΚ 40

41 Ειδική περίπτωση 2: Δύο επεξεργαστές (5) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Βήμα 3: Αναθέτουμε εργασίες στους δύο επεξεργαστές με σειρά προτεραιότητας PU1Γ 10 Α8Α8 Ζ6Ζ6 Θ4Θ4 Κ2Κ2 PU2Β9Β9 Ε7Ε7 Δ5Δ5 Η3Η3 Ι1Ι1 ΑΒΓ ΔΕ ΗΘ Ζ ΙΚ 41


Κατέβασμα ppt "Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παραλληλοποίηση κώδικα."

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


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