Μετρικές & Επιδόσεις. Κεφάλαιο V

Σχετικά έγγραφα
Μετρικές και Επιδόσεις 6

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

Κατανεμημένα Συστήματα

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

9. Συστολικές Συστοιχίες Επεξεργαστών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Αρχιτεκτονική Υπολογιστών

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια)

Η εντολή «επανέλαβε Χ»

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Κεφάλαιο 3. Διδακτικοί Στόχοι

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αλγόριθμοι και Πολυπλοκότητα

Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων. Αλεξάνδρα Παπανδρεάδη (ΑΜ 362)

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου»

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Εργασία για το μεταπτυχιακό μάθημα Παράλληλοι υπολογισμοί από τον φοιτητή Μουζακίδη Αλέξανδρο AM M 853

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Κατανεμημένα Συστήματα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Κεφάλαιο 2.4 Matrix Algorithms

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Ψευδοκώδικας. November 7, 2011

Γ ΛΥΚΕΙΟΥ ΚΥΜΑΤΑ ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ. Επιμέλεια: ΑΓΚΑΝΑΚΗΣ A.ΠΑΝΑΓΙΩΤΗΣ, Φυσικός.

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

ΑΕΠΠ Ερωτήσεις θεωρίας

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Κύματα και φάσεις. Όταν αναφερόμαστε σε μια απλή αρμονική ταλάντωση, που η απομάκρυνση δίνεται από την εξίσωση x=aημ(ωt+φ 0

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Αμοιβαίος αποκλεισμός

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

Ιστιοφόρο σκάφος και ταξίδεμα στα όρτσα

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Διάλεξη 4: Εκλογή Προέδρου σε Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εμπειρική αποτίμηση παράλληλων προγραμμάτων

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Δυαδικό Σύστημα Αρίθμησης

Παρουσίαση 2 ης Άσκησης:

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

αντίστοιχο γεγονός. Όταν όντως το κουμπί

Κατασκευάστε ένα απλό antenna tuner (Μέρος Α )

Λειτουργικά Συστήματα (ΗΥ321)

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Διάλεξη 04: Παραδείγματα Ανάλυσης

E[ (x- ) ]= trace[(x-x)(x- ) ]

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΑΝΑΛΥΣΗ 1 ΔΩΔΕΚΑΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Λυμένες ασκήσεις. Ηλεκτρική δυναμική ενέργεια

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

Κατανεμημένα Συστήματα Ι

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 5 Μαίου 2012

Pipelining και Παράλληλη Επεξεργασία

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Transcript:

Μετρικές & Επιδόσεις Κεφάλαιο V

Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S Parallel Processig Group 2

Παράδειγμα: πρόσθεση αριθμών Επεξεργαστής: 0 2 3 4 5 6 7 Δεδομένο: x 0 x x 2 x 3 x 4 x 5 x 6 x 7 Βήμα : + + + + y y 3 y 5 y 7 Βήμα 2: + + z 3 z 7 Βήμα 3: + w 7 Parallel Processig Group 3

Παράδειγμα: ανάλυση Κατά το βήμα j κάθε επεξεργαστής i, όπου: i = {2 j-, 32 j-, 52 j-, }, στέλνει τον αριθμό που διαθέτει, στον επεξεργαστή: i+2 j-. Σε κάθε βήμα, οι αριθμοί μειώνονται κατά το ½, άρα: (log) Σειριακός αλγόριθμος για το ίδιο πρόβλημα απαιτεί Τ = Θ() βήματα. Επομένως, S log Parallel Processig Group 4

Ιδεώδης επιτάχυνση & περίεργα Με επεξεργαστές, στην καλύτερη περίπτωση θα χρειαστούμε το / του χρόνου, επομένως το πολύ γραμμική (ιδεώδης) επιτάχυνση: S Έχει, όμως παρατηρηθεί υπεργραμμική (superliear) επιτάχυνση, όπου S > (!) Κυριότεροι λόγοι: Το μέγεθος του συστήματος (π.χ. μνήμη) επηρεάζει την ταχύτητα Η τυχαία φύση του αλγορίθμου Parallel Processig Group 5

Αποδοτικότητα και κόστος Η επιτάχυνση δεν μας λέει τίποτε για το πόσο καλά χρησιμοποιούμε το σύστημα (π.χ. επιτάχυνση 0 με 000 CPUs δεν είναι και τόσο καλό) Αποδοτικότητα S e Αν S = ή ισοδύναμα e = (00%), το πρόγραμμα ονομάζονται εντελώς παραλληλοποιήσιμο. e Στο παράδειγμά μας, S log και άρα e log Parallel Processig Group 6

Αποδοτικότητα και κόστος Κόστος c c Δείχνει αθροιστικά πόσος χρόνος αφιερώθηκε από όλους τους επεξεργαστές Στην ιδεώδη περίπτωση, πρέπει να αφιερωθεί τόσος χρόνος όσο απαιτεί και η σειριακή έκδοση αλλά στην πράξη για διάφορους λόγους χρειαζόμαστε παραπάνω χρόνο Ένα πρόγραμμα θα έχει βέλτιστο κόστος όταν το κόστος του διαιρούμενο με το σειριακό κόστος είναι σταθερός αριθμός: c () Parallel Processig Group 7

Εξάρτηση από την αρχιτεκτονική Σημαντικός χρόνος που πάει χαμένος και δεν εμφανίζεται στη σειριακή εκτέλεση είναι ο χρόνος που σπαταλιέται σε επικοινωνίες / αλληλεπίδραση μεταξύ των επεξεργαστών: για πολυεπεξεργαστές κοινής μνήμης: αμοιβαίος αποκλεισμός και συγχρονισμός για πολυεπεξεργαστές κατανεμημένης μνήμης: αποστολή / λήψη μηνυμάτων Parallel Processig Group 8

Παράδειγμα: πρόσθεση αριθμών σε γραμμικό γράφο Υπενθύμιση: στο βήμα j αν ο επεξεργαστής i συμμετέχει πρέπει να στείλει τον αριθμό του στον επεξεργαστή i+2 j Οι επεξεργαστές i και i+2 j πόσο απέχουν στον γραμμικό γράφο; Απάντηση: 2 j ακμές. Άρα: το οποίο δίνει: log j ( 2 j ) log Προσέξτε ότι Τ > Τ = (!!) Parallel Processig Group 9

Παράδειγμα: πρόσθεση αριθμών σε υπερκύβο 5 5 5 0 4 3 7 3 7 7 2 6 Βήμα Βήμα 2 Βήμα 3 Σε κάθε βήμα, οι επεξεργαστές i και i+2 j είναι γειτονικοί. Άρα έχουν απόσταση και επομένως, σε κάθε βήμα θέλουμε χρονική μονάδα για επικοινωνία και για υπολογισμό: 2log Parallel Processig Group 0

Λίγοι επεξεργαστές αύξηση κόκκου παραλληλίας Συνήθως οι αλγόριθμοι σχεδιάζονται χωρίς να λαμβάνεται υπόψη το μέγεθος του συστήματος που θα φιλοξενήσει το πρόγραμμα. Γίνεται η υπόθεση ότι για οποιοδήποτε μέγεθος προβλήματος / εισόδου (Ν) θα διαθέτουμε όσους επεξεργαστές επιθυμούμε ή «μας βολεύει» Για μέγεθος εισόδου Ν (π.χ. πρόσθεση Ν αριθμών) συνήθως υποθέτουμε ότι υπάρχουν τουλάχιστον Ν επεξεργαστές Όταν φτάσουμε στην πράξη, όμως, διαθέτουμε συνήθως πολύ λιγότερους ( < N)! Πρέπει να ξανασχεδιάσουμε τον αλγόριθμο; Απάντηση: Όχι, υπάρχει απλός τρόπος να το αποφύγουμε. Ας υποθέσουμε ότι μέγεθος εισόδου = Ν και σχεδιάσαμε τον αλγόριθμό μας για Ν επεξεργαστές ενώ στην πράξη διαθέτουμε μόνο < Ν επεξεργαστές. Οι Ν είναι οι εικονικοί επεξεργαστές. Οι είναι οι πραγματικοί επεξεργαστές. Μέθοδος: κάθε πραγματικός επεξεργαστής αναλαμβάνει την εξομοίωση Ν/ εικονικών (αύξηση κόκκου παραλληλίας) Parallel Processig Group

Τι να περιμένουμε από αυτό; Αναμενόμενος χρόνος εκτέλεσης: Χρόνοι υπολογισμών αυξημένοι κατά Ν/ το πολύ Χρόνοι επικοινωνίας αυξημένοι κατά Ν/ το πολύ, άρα: c N N N N ( NN ) ( cn). Συμπέρασμα: δεν μειώνεται η αποδοτικότητα και δεν αυξάνει το κόστος Parallel Processig Group 2

Παράδειγμα: πρόσθεση σε υπερκύβο με κυκλική ανάθεση 0 4 5 0 4 y 5 0 ο βήμα αλγόριθμου (2 πραγματικά βήματα) 2 2 6 3 3 7 2 6 3 y 3 7 0 y y 5 0 y 5 2 ο βήμα αλγόριθμου (2 πραγματικά βήματα) 2 3 y 3 y 7 2 3 z 3 y 7 0 3 ο βήμα αλγόριθμου (μόνο πρόσθεση) 2 3 z 3 z 7 w 7 Parallel Processig Group 3

Παράδειγμα: ανάλυση Για τα πρώτα log βήματα του αρχικού αλγόριθμου, κάθε επεξεργαστής κάνει τη δουλειά Ν/ εικονικών, άρα χρόνος εκτέλεσης: Θ((N/) log) Για τα υπόλοιπα, όλοι οι αριθμοί έχουν μαζευτεί σε έναν επεξεργαστή Άρα χρόνος: Θ(Ν/) Συνολικά: = Θ((N/) log). Κόστος c = = Θ(Nlog), το οποίο δεν είναι βέλτιστο, όπως συνέβαινε και στον αρχικό αλγόριθμο. Parallel Processig Group 4

Λεπτομέρεια Με αυτό που κάναμε, ουσιαστικά αυξήσαμε τον κόκκο παραλληλίας Κάθε επεξεργαστής εκτελεί περισσότερα πράγματα πλέον Ταυτόχρονα όμως, κάποιες επικοινωνίες πλέον δεν χρειάζεται να γίνουν και έτσι κερδίζουμε κάποιο χρόνο Πώς; Περιμέναμε ότι ο χρόνος θα ήταν Θ((N/) ) = Θ((N/) logν). Όμως είδαμε ότι βγήκε μικρότερος = Θ((N/) log). Η αύξηση του κόκκου στην πράξη μειώνει τις επικοινωνίες Έτσι, μπορεί να μειωθεί και το κόστος, και μάλιστα να γίνει βέλτιστο! Parallel Processig Group 5

Παράδειγμα: πρόσθεση σε υπερκύβο με βέλτιστο κόστος Αλλαγή της ανάθεσης: τμηματική αντί κυκλικής 0 y 2 y 3 3 0 η φάση (μόνο τοπικές προσθέσεις) 2 4 5 y 5 3 6 7 y 7 y y 3 z 3 0 0 2 η φάση (αλγόριθμος σε 2-κύβο) 2 3 2 3 y 5 y 7 z 7 Parallel Processig Group 6

Παράδειγμα: ανάλυση Στα πρώτα βήματα προσθέσεις τοπικές Θα μείνει αριθμός σε κάθε πραγματικό επεξεργαστή Θ(Ν/) Στη συνέχεια αλγόριθμος για αριθμούς Θ(log ) Συνολικά, ο απαιτούμενος χρόνος θα διαμορφωθεί ως: = Θ(N/) + Θ(log ) = Θ(N/ + log ). Κόστος c = = Θ(N + log). ΣΥΜΠΕΡΑΣΜΑ: Όσο ο όρος N επικρατεί, δηλαδή Ν = Ω(log), το κόστος είναι c = Θ(N) δηλαδή βέλτιστο! Parallel Processig Group 7

Overheads: επιπρόσθετοι χρόνοι λόγω παραλληλισμού Είναι «άχρηστοι» χρόνοι που δεν εμφανίζονται στη σειριακή εκτέλεση Λόγω επικοινωνιών (Τ comm ) Στο άθροισμα στον υπερκύβο κάθε βήμα του αλγόριθμου είχε και χρονική μονάδα επικοινωνίας, με log μονάδες συνολικά. Άρα σε όλο τον υπερκύβο, ο χρόνος που αφιερώθηκε σε επικοινωνίες ήταν Τ comm = log Λόγω ανισοκατανομής φόρτου ( idle ) Στο άθροισμα των αριθμών, ξεχνώντας τις επικοινωνίες, υπάρχουν log βήματα υπολογισμών. Συνολικά οι επεξεργαστές αφιέρωσαν χρόνο = log. Όμως, έγιναν ακριβώς προσθέσεις και άρα τα υπόλοιπα idle = log + βήματα χάθηκαν λόγω ανισοκατανομής. Parallel Processig Group 8

Υπολογισμοί overheads ovh comm idle. Για καθαρούς υπολογισμούς αφιερώθηκε χρόνος: W ovh Όμως W =. Επομένως, ovh, που δίνει: S e c S ovh ovh ovh / / ovh Parallel Processig Group 9

Κόστος c ovh Αν το πρόγραμμά μας απαιτείται να έχει βέλτιστο κόστος, θα πρέπει: c ovh () που σημαίνει ότι για ένα πρόγραμμα με βέλτιστο κόστος, θα πρέπει να ισχύει: ovh () Parallel Processig Group 20

Παράδειγμα στον υπερκύβο Είδαμε ήδη ότι στον υπερκύβο χρειαζόμαστε χρόνο = 2log, πράγμα που σημαίνει ότι θα πρέπει: Τ ovh = ( ) = 2log +, αφού γνωρίζουμε ότι απαιτούνται συνολικά Τ = προσθέσεις. Παρατηρούμε ότι: Τ ovh / Τ = Θ(log) / Θ() = Θ(log). Ο αλγόριθμος δεν έχει βέλτιστο κόστος Parallel Processig Group 2

Μετρικές & επιδόσεις «Νόμοι» και κλιμακωσιμότητα

Ο νόμος του Amdahl Έστω ότι διαθέτουμε επεξεργαστές και ότι το πρόγραμμά μας έχει τα εξής χαρακτηριστικά: Ένα ποσοστό f των εντολών μπορεί να εκτελεστεί μόνο σειριακά. Το υπόλοιπο ποσοστό (-f) των εντολών είναι εντελώς παραλληλοποιήσιμο. f (-f) Τότε: f ( f ) (-f) / S f ( f) f Parallel Processig Group 23

Ο νόμος του Amdahl γραφικά 967 Αρνητικός «νόμος»! (efficiecy) Parallel Processig Group 24

Ο νόμος του Gustafso Έστω ότι διαθέτουμε επεξεργαστές οι οποίοι εκτελούν ένα πρόγραμμα παράλληλα με τα εξής χαρακτηριστικά: Ένα ποσοστό f των εντολών εκτελείται μόνο του, σειριακά, από έναν μόνο επεξεργαστή. Το υπόλοιπο ποσοστό (-f ) των εντολών εκτελείται εντελώς παράλληλα. Ποια είναι η επιτάχυνση; Απάντηση: Αν κατά την εκτέλεση του παράλληλου προγράμματος τα f βήματα ήταν το ποσοστό του σειριακού κομματιού και το υπόλοιπο f εκτελέστηκε παράλληλα από τους επεξεργαστές, τότε σε έναν σειριακό υπολογιστή θα χρειαζόμασταν χρόνο: Επομένως: ) f' ( f' S f' ( f') ( ) f' Parallel Processig Group 25

Ο νόμος του Gustafso γραφικά S f' ( f') ( ) f' Μπορούμε να επιτύχουμε μεγάλη επιτάχυνση και κατά συνέπεια αποδοτικότητα (ανάλογα βέβαια με την τιμή του f ). Ακόμα και αν f = 50%, πετυχαίνουμε επιτάχυνση > /2! Ο νόμος του Amdahl συνεχίζει να ισχύει (!!??). Parallel Processig Group 26

Σημαντική παρατήρηση Πολλές φορές ενδιαφερόμαστε, με αύξηση των επεξεργαστών, μέσα στον ίδιο χρόνο να εκτελέσουμε το πρόγραμμά μας με μεγαλύτερη ακρίβεια => μεγαλύτερο πρόβλημα Π.χ. πρόγνωση καιρού Πρέπει επομένως να λαμβάνουμε υπόψη μας και το μέγεθος εισόδου του προβλήματος (Ν) λοιπόν Ορθότερη διατύπωση των μέχρι τώρα σχέσεων: S e ( N) ( N) ( N) S( N) ( N) ( N) ( N) c ( N) ( N) S S ( N) f( N) ( f ( N)) ( N) ( ) f'( N) f ( N) (Gustafso) (Amdahl) Parallel Processig Group 27

Κλιμακωμένη επιτάχυνση S ( N) f( N) ( f( N)) e f ( N) ( N) f( N) (Amdahl) Σωστός ο νόμος του Amdahl: όντως, αν το πρόβλημα παραμείνει ίδιο (Ν), όσο αυξάνει ο αριθμός των επεξεργαστών () σίγουρα θα μειώνεται και η αποδοτικότητα Π.χ. πρόσθεση Ν = 00 αριθμών σε = 00000 cores έχει σχεδόν μηδενική αποδοτικότητα Τι γίνεται όμως αν ΜΕΓΑΛΩΣΩ το πρόβλημα (Ν) όταν μου δοθούν παραπάνω επεξεργαστές (), π.χ. για βελτίωση πρόγνωσης καιρού; Συνήθως η αύξηση («κλιμάκωση») του N οδηγεί σε βελτιωμένη παράλληλη εκτέλεση (το σειριακό κομμάτι δεν αλλάζει πολύ, αυξάνει κυρίως το παραλληλοποιήσιμο) και άρα μικραίνει το ποσοστό f του Amdahl, ενώ αυξάνει το ποσοστό f του Gustafso. S ( N) ( ) f'( N) (Gustafso) Gustafso: μπορούμε να επιτύχουμε οποιαδήποτε επιτάχυνση και κατά συνέπεια οποιαδήποτε αποδοτικότητα ρυθμίζοντας κατάλληλα το f (N). Η ρύθμιση αυτή φυσικά γίνεται μέσω του Ν, δηλαδή βρίσκοντας το κατάλληλο μέγεθος εισόδου το οποίο επιφέρει το επιθυμητό αποτέλεσμα. Έτσι αν αυξηθεί ο αριθμός των επεξεργαστών (γίνει κλιμάκωση προς τα πάνω, του ) πρέπει να γίνει κλιμάκωση και του προβλήματος (N) προκειμένου να επιτευχθεί η απαιτούμενη επιτάχυνση. Για το λόγο αυτό η σχέση αναφέρεται και ως κλιμακωμένη επιτάχυνση (scaled speedup). Parallel Processig Group 28

Κλιμάκωση κλπ κλιμάκωση (προς τα πάνω / κάτω) scalig Αύξηση / μείωση κάποιου χαρακτηριστικού (π.χ. # CPUs) Κλιμακωσιμότητα ή ικανότητα κλιμάκωσης (scalability) Ικανότητα να διατηρείται κάποια ιδιότητα σταθερή όταν κλιμακώνεται κάποια άλλη Συστήματα (αλγόριθμος + αρχιτεκτονική) ικανά κλιμάκωσης (scalable systems) Ένα παράλληλο σύστημα (αλγόριθμος + αρχιτεκτονική) είναι ικανό κλιμάκωσης αν για κάθε κλιμάκωση του αριθμού επεξεργαστών υπάρχει κλιμάκωση του μεγέθους εισόδου έτσι ώστε η αποδοτικότητα να παραμένει σταθερή. Parallel Processig Group 29

Παράδειγμα στον υπερκύβο Πρώτη μέθοδος (κυκλική ανάθεση εικονικών επεξεργαστών) Χρόνος εκτέλεσης = Θ((N/)log), Αποδοτικότητα e = Θ(/log). Αν αυξηθεί ο αριθμός των επεξεργαστών, η αποδοτικότητα θα μειωθεί, ανεξάρτητα από οποιαδήποτε αύξηση στο μέγεθος εισόδου. Το σύστημα αυτό ΔΕΝ είναι ικανό κλιμάκωσης. Δεύτερη μέθοδος (τμηματική ανάθεση) Χρόνος εκτέλεσης = Θ(N/ + log ) Αποδοτικότητα e = Θ(Ν / (Ν + log)). Όσο ο όρος N επικρατεί στον παρανομαστή, δηλαδή Ν = Ω(log), η αποδοτικότητα είναι: e = Θ(). Επομένως, για κάθε αριθμό επεξεργαστών (), υπάρχει ένα μέγεθος εισόδου (Ν) έτσι ώστε η αποδοτικότητα να παραμένει σταθερή. Αυτό το σύστημα έχει ικανότητα κλιμάκωσης. Parallel Processig Group 30

Ποιότητα της ικανότητας κλιμάκωσης Χαμηλή ικανότητα κλιμάκωσης (poorly scalable): μικρή αύξηση των επεξεργαστών απαιτεί μεγάλη αύξηση στο μέγεθος εισόδου του προβλήματος προκειμένου να διατηρηθεί σταθερή η αποδοτικότητα. Υψηλή ικανότητα κλιμάκωσης (highly scalable) μικρή αύξηση των επεξεργαστών απαιτεί και μικρή αύξηση στο μέγεθος εισόδου. Parallel Processig Group 3

Βελτιστότητα κόστους και ικανότητα κλιμάκωσης Τα συστήματα που είναι ικανά κλιμάκωσης, μπορούν πάντα να γίνουν βέλτιστου κόστους με κατάλληλη επιλογή των και Ν, αφού σταθερή αποδοτικότητα σημαίνει σταθερός λόγος Τ / Τ, που αντίστοιχα σημαίνει σταθερός λόγος Τ / c, δηλαδή βέλτιστο κόστος. Parallel Processig Group 32